一种分类词库实现的方法和输入法客户端的制作方法

文档序号:6579981阅读:206来源:国知局

专利名称::一种分类词库实现的方法和输入法客户端的制作方法
技术领域
:本发明涉及输入法领域,特别涉及一种分类词库实现的方法和输入法客户端。
背景技术
:用户借助中文输入软件,可以实现将汉字输入到计算机,该软件可以把键盘输入的编码或其他非键盘输入的媒体数据转换成汉字输入到计算机中。中文输入软件可分为键盘输入和非键盘输入,其中,非^r建盘中文输入软件包括手写输入软件、语音输入软件、OCR(OpticalCharacterRecognition,光学字符识别技术)输入软件等。其中,中文输入软件在实现汉字的生成时,根据用户输入的字符串,查找中文输入软件自带的系统词库生成候选词,然后将查找到的候选词提供给用户,由用户进行选择确认后,将用户所期望获取的词输入到计算机。随着信息化的迅猛发展,信息的种类越来越多,新兴热门词越来越多,也被人们越来越多的使用,原有中文输入软件自带的系统词库已经不能满足用户的个性化输入的需求,于是在系统词库的基础上出现了分类词库。所谓分类词库,是指由某一特定应用范围下会使用到的词的相关信息组成的词库,例如,分类词库为电影名称词库,即该词库中只记录关于电影名称的词的相关信息;再如股票基金词库,该词库中只记录关于股票基金相关的词的相关信息。为了便于查询,该分类词库中还保存有各词的索引等信息,相应地,中文输入软件在根据用户输入的字符串进行候选词生成时,会依次遍历当前可用的各分类词库,从而形成候选词,供用户进行选^^确认。发明人在实现本发明的过程中发现,现有技术在对当前分类词库进行遍历,进行匹配的候选词查找时,如果分类词库数目较多时,需要对分类词库依照顺序进行遍历,大大影响了单词的输入速度,输入效率降低,从而导致用户体验下降。
发明内容为了提高输入法的速度,提高用户的使用体验,本发明实施例提供了一种分类词库实现的方法和输入法客户端。所述技术方案如下一方面,本发明实施例提供了一种分类词库实现的方法,所述方法包括输入法客户端获得分类词库文件;根据所述获得的所述分类词库文件,生成合并词库文件;接收用户输入的字符串,在所述合并词库文件中查找与所述字符串匹配的候选词;将查找到的候选词提供给所述用户,当接收到用户的选择确认后,将所述用户选择的候选词输入到计算机。其中,所述输入法客户端获得分类词库文件的步骤之前,所述方法还包括根据用户选择的分类词库的词库名称,向分类词库服务器发起获取分类词库的请求,所述请求中携带所述分类词库的词库标识;所述分类词库服务器接收所述获取分类词库的请求,根据所述词库标识,向所述输入法客户端下发所述词库标识对应的分类词库文件;或,所述输入法客户端向所述分类词库服务器发生更新请求,所述更新请求中携带分类词库标识,所述分类词库服务器接收所迷更新请求,一艮据所述分类词库标识,向所述输入法客户端返回所述分类词库标识对应的版本标识,当所述输入法客户端判断所述接收的版本标识高于本地保存的所述分类词库自身的版本标识时,向所述分类词库服务器请求所述接收的版本标识对应的分类词库文件;或,所述分类词库服务器主动向所述输入法客户端推送分类词库文件;或,所述输入法客户端接收用户添加的文本格式的词库文件,对所述接收的用户添加的文本格式的词库文件进行转换得到分类词库文件。其中,所述生成合并词库文件的步骤之前,所述方法还包括为所述分类词库文件分配启用标识位;根据所述分类词库文件的启用标识位,从所述获得的所述分类词库文件中选择出启用的分类词库文件;相应地,所述生成合并词库文件的步骤,包括根据所述选择出的启用的分类词库文件,生成合并词库文件。其中,任一所述分类词库文件携带拼音、词以及词频,所述根据所述获得的所述分类词库文件,生成合并词库文件的步骤,包括在所述获取的所述分类词库文件中,根据所述拼音、词以及词频,得到所述词在所述合并词库文件中的相关信息;根据得到的所述词在所述合并词库文件中的相关信息,生成合并词库文件。其中,所述根据所述拼音、词以及词频,得到所述词在所述合并词库文件中的相关信息的步骤,包括根据所述拼音和词,判断所述当前分类词库中的当前词是否在其他分类词库中存在相同的词,如果是,则对所述当前词在不同分类词库中的词频进行叠加或对所述当前词在不同分类词库中的词频取大,得到所述当前词在所述合并词库文件中的词频;根据所述得到的当前词在所述合并词库文件中的词频、所述当前词的拼音以及所述当前词,生成所述当前词所述合并词库文件中的相关信息;如果否,则将所述当前分类词库中的当前词的词频、拼音以及所述当前词,作为所述当前词所述合并词库文件中的相关信息。其中,所述根据得到的所述词在所述合并词库文件中的相关信息,生成合并词库文件的步骤,包括生成合并词库文件。其中,所述生成合并词库文件的步骤之后,所述方法还包括为所述生成的合并词库文件分配文件名称;相应地,所述在所述合并词库文件中查找与所述字符串匹配的候选词的步骤,包括根据所述文件名称,在所述文件名称对应的合并词库文件中查找与所述字符串匹配的候选词。其中,所述在所述合并词库文件中查找与所述字符串匹配的候选词的步骤之前,所述方法还包括根据预设的共享内存标志位,判断是否存在新的合并词库文件,如果是,则在所述新的合并词库文件中查找与所述字符串匹配的候选词。其中,所述判断是否存在新的合并词库文件的步骤之前,所述方法包括生成新的合并词库文件,为所述新的合并词库文件分配新的文件名称,将所述生并词库文件中查找与所述字符串匹配的候选词的步骤,包括根据所述新的文件名称,在所述新的文件名称对应的新的合并词库文件中查找与所述字符串匹配的候选词。其中,所述合并词库文件格式和所述输入法客户端的系统词库格式相同。再一方面,本发明实施例提供了一种输入法客户端,所述输入法客户端包括获得模块,用于获得分类词库文件;生成模块,用于根据所述获得模块获得的所述分类词库文件,生成合并词库文件;查找模块,用于接收用户输入的字符串,在所述生成模块生成的合并词库文件中查找与所述字符串匹配的候选词;输入模块,用于将所述查找模块查找到的候选词提供给所述用户,当接收到用户的选择确认后,将所述用户选择的候选词输入到计算机。其中,所述获得模块包括第一获得子模块,用于接收分类词库服务器下发的分类词库文件,其中,根据用户选择的分类词库的词库名称,向分类词库服务器发起获取分类词库的请求,所述请求中携带所述分类词库的词库标识;所述分类词库服务器接收所述获取分类词库的请求,根据所述词库标识,下发所述词库标识对应的分类词库文件;或,第二获得子模块,用于向所述分类词库服务器发生更新请求,所述更新请求中携带分类词库标识,所述分类词库服务器接收所述更新请求,根据所述分类词库标识,返回所述分类词库标识对应的版本标识,当所述输入法客户端判断所述接收的版本标识高于本地保存的所述分类词库自身的版本标识时,向所述分类词库服务器请求所述接收的版本标识对应的分类词库;或,第三获得子模块,用于接收所述分类词库服务器主动向所述输入法客户端推送的分类词库文件;或,第四获得子模块,用于接收用户添加的文本格式的词库文件,对所述接收的用户添加的文本格式的词库文件进行格式转换,得到所述分类词库文件。其中,输入法客户端还包括选择模块,用于为所述分类词库文件分配启用标识位,根据所述分类词库文件的启用标识位,从所述获得模块获得的所述分类词库文件中选择出启用的分类词库文件;相应地,所述生成模块,用于根据所述选择模块选择出的启用的分类词库文件,生成合并词库文件。其中,任一所述分类词库文件携带拼音、词以及词频,所述生成模块,包括获取子模块,用于在所述获取的所述分类词库文件中,根据所述拼音、词以及词频,得到所述词在所述合并词库文件中的相关信息,生成子模块,用于根据得到的所述词在所述合并词库文件中的相关信息,生成合并词库文件。其中,所述生成子模块,包括判断单元,用于根据所述拼音和词,判断所述当前分类词库中的当前词是否在其他分类词库中存在相同的词;第一处理单元,用于当所述判断单元判断的结果为是,则对所述当前词在不同分类词库中的词频进行叠加或对所述当前词在不同分类词库中的词频取大,得到所述当前词在所述合并词库文件中的词频;根据所述得到的当前词在所述合并词库文件中的词频、所述当前词的4并音以及所述当前词,生成所述当前词所述合并词库文件中的相关信息;第二处理单元,用于当所述判断单元判断的结果为否,则将所述当前分类词库中的当前词的词频、拼音以及所述当前词,作为所述当前词所述合并词库文件中的相关信息。其中,所述生成子模块具体用于根据字典顺序以及所述词在所述合并词库文件中的词频、4并音以及所述词,生成合并词库文件。其中,所述输入法客户端还包括分配模块,用于为所述生成模块生成的合并词库文件分配文件名称;所述生成模块,用于根据所述文件名称,在所述文件名称对应的合并词库文件中查找与所述字符串匹配的候选词。其中,所述输入法客户端还包括判断模块,用于根据预设的共享内存标志位,判断是否存在新的合并词库文件,如果是,则在所述查找模块在所述新的合并词库文件中查找与所述字符串匹配的候选词。其中,所述合并词库文件格式和所述输入法客户端的系统词库格式相同。本发明实施例提供的技术方案的有益效果是通过对各分类词库文件进行合并得到合并词库文件,进行候选词查找时,只需要查找该合并词库文件,且提供的分类词库文件格式简单,从而有效避免了传统的分类词库系统中,分类词库数目较大时对输入法效率的影响,提高输入法的速度,提高用户的使用体验。为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1是本发明实施例1提供的分类词库实现的方法流程图;图2是本发明实施例2提供的分类词库实现的方法流程图;图3是本发明实施例2提供的基于合并词库的架构示意图;图4是本发明实施例2提供的分类词库更新器进行分类词库更新的方法流程图5是本发明实施例2提供的分类词库合并器进行分类词库合并的方法流程图6是本发明实施例3提供的输入法客户端的示意图。具体实施例方式为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。实施例1为了提高输入法的速度,提高用户的使用体验,本发明实施例提供了一种分类词库实现的方法,参见图1,该方法内容如下101:输入法客户端获得分类词库文件。102:根据获得的分类词库文件,生成合并词库文件。其中,合并词库文件的格式和分类词库文件的格式不同,本发明实施例提供的分类词库文件中只记录了词的相关信息(如词、词的拼音以及词频),不需要携带索引等信息;而合并词库文件中除了包含有词相关信息外,为了实现查找功能,还携带了索引等利于查找的信息。103:接收用户输入的字符串,在合并词库文件中查找匹配的候选词。104:将查找到的候选词提供给用户,当接收到用户的选择确认后,将用户选择的候选词输入到计算机。可选地,当计算机接收到用户选择的候选词后,将该候选词进行输出并显示,属于现有技术,不再赘述。进一步地,在步骤101所涉及的输入法客户端获得分类词库文件的步骤之前,方法还包4舌1、根据用户选择的分类词库的词库名称,向分类词库服务器发起获取分类词库的请求,请求中携带分类词库的词库标识;分类词库服务器接收获取分类词库的请求,根据词库标识,向输入法客户端下发词库标识对应的分类词库文件;或,2、输入法客户端向分类词库服务器发生更新请求,更新请求中携带分类词库标识,分类词库服务器接收更新请求,根据分类词库标识,向输入法客户端返回分类词库标识对应的版本标识,当输入法客户端判断接收的版本标识高于本地保存的分类词库自身的版本标识时,向分类词库服务器请求接收的版本标识对应的分类词库文件;或,3、分类词库服务器主动向输入法客户端推送分类词库文件;或,4、输入法客户端冲矣收用户添加的文本才各式的词库文件,才艮据对用户添加的文本格式的词库文件进行转换得到分类词库文件。进一步地,在步骤102所涉及的生成合并词库文件的步骤之前,该方法还包括为分类词库文件设置启用标识位;根据启用标识位,从获得的分类词库文件中选择出用户所启用的分类词库文件;相应地,生成合并词库文件的步骤,包括根据选^^出的启用的分类词库文件,生成合并词库文件。其中,任一分类词库文件携带拼音、词以及词频,根据获得的分类词库文件,生成合并词库文件的步骤,包括在获取的分类词库文件中,根据拼音、词以及词频,得到词在合并词库文件中的相关信息;根据得到的词在合并词库文件中的相关信息,生成合并词库文件。其中,上述根据拼音、词以及词频,得到词在合并词库文件中的相关信息的步骤,包括根据拼音、词,判断当前分类词库中的当前词是否在其他分类词库中存在相同的词,如果是,则对当前词在不同分类词库中的词频进行叠加或对当前词在不同分类词库中的词频取大,得到当前词在合并词库文件中的词频;根据得到的当前词在合并词库文件中的词频、当前词的4并音以及当前词,生成当前词合并词库文件中的相关信息;如果否,则将当前分类词库中的当前词的词频、拼音以及当前词,作为当前词合并词库文件中的相关信息。其中,上述根据得到的词在合并词库文件中的相关信息,生成合并词库文件的步骤,包括根据字典顺序以及词在合并词库文件中的词频、拼音以及词,生成合并词库文件。进一步地,在步骤102所涉及的生成合并词库文件之后,方法包括为生成的合并词库文件分配文件名称;相应地,在合并词库文件中查找匹配的候选词的步骤,包括根据文件名称,在文件名称对应的合并词库文件中查找匹配的^美选词。进一步地,在步骤103所涉及的在合并词库文件中查找匹配的候选词的步骤之前,方法还包括根据预设的共享内存标志位,判断是否存在新的合并词库文件,如果是,则在新的合并词库文件中查找匹配的候选词。进一步地,当判断是否存在新的合并词库文件之前,包括生成新的合并词库文件,为新的合并词库文件分配新的文件名称,将生成新的合并词库文件写入新的文件名称对应的文件;相应地,新的合并词库文件中查找匹配的候选词,包括根据新的文件名称,在新的文件名称对应的新的合并词库文件中查找匹配的^f'美选词。优选地,本发明实施例提供的合并词库文件格式和输入法客户端的系统词库格式相同。综上所述,本发明实施例提供的方法,通过对各分类词库文件进行合并得到合并词库文件,进行候选词查找时,只需要查找该合并词库文件,且分类词库格式筒单,从而有效避免了传统的分类词库系统中,分类词库数目较大时对输入法效率的影响,提高了输入法的速度,提高了用户的使用体验。为了对上述本发明实施例提供的方法进行详细说明,请参见如下实施例实施例2为了提高输入法的速度,提高用户的使用体验,本发明实施例提供了一种分类词库实现的方法,参见图2,该方法内容如下201:输入法客户端获得分类词库文件。分类词库文件是输入法在生成候选词时所需要读取的文件,各分类词库文件中保存了属于某应用范围下的词的信息。其中,每一个分类词库文件拥有词库标识,用于唯一标识一个分类词库文件;词库名称,用于标识该分类词库文件的词的相关信息,便于用户在获取分类词库时,可以依据自己的需求,根据该词库名称进行有针对性的获取,例如,用户A希望获取到聊天短语类的词,则可以去查找词库名称为常用聊天短语的分类词库;再如,用户B希望获取到与时政相关的词,则可以去查找词库名称为时政要闻的分类词库,从而提高了用户使用的便捷性;词库类型,用于标识该分类词库文件的类型,^^于用户获知该分类词库所属类型属性。版本标识,用于标识当前分类词库文件的版本,便于后续对某一类分类词库进行更新、扩展和向前兼容。优选地,该版本标记为不断递增的整数,其中,数字越大表示该分类词库文件的版本越高。进一步地,现有技术中为了实现匹配词的查找,现有技术所提供的各分类词库内的词需要以一定的顺序进行排列(如字典顺序),于是该分类词库文件中除了包含有必要的词的信息外,还需要有索引等信息,导致分类词库文件格式复杂,分类词库文件较大;当用户需要从网上(或其他方式)下载分类词库时,会造成下载速度过慢,降低用户的使用体验。而本发明实施例提供的分类词库文件只需携带词的信息,参见表l,本发明实施例提供了分类词库文件中携带的词的信息示意表。表1<table>tableseeoriginaldocumentpage15</column></row><table><table>tableseeoriginaldocumentpage16</column></row><table>如表1所示,分类词库文件中只需记录词的相关信息,包括拼音、词以及词频,而不需要记录额外的索引等信息,因此该分类词库文件的格式较为筒单,且文件较小,特别是,当分类词库的获取方式为通过网络下载时,该特点使得下载速度提高,用户体验提高。其中,本步骤201所涉及的输入法客户端获得分类词库文件的方式,可以为由用户依照自己的需要,根据分类词库文件的名称,向分类词库更新服务器发起请求,从而实现用户主动进行分类词库文件的下载;也可以为由分类词库服务器主动向输入法客户端推送分类词库,本发明实施例对此不做限制,仅作示例说明。例如,当分类词库更新服务器根据分类词库文件版本标识,发现对于某一分类词库文件出现了新的版本时,则主动向输入法客户端下发新的版本分类词库文件,再如,当分类词库在奥运期间,可以主动向输入法客户端推送一个专属的奥运词库文件,从而使得用户不需要自己去添加,为用户提供了一种更便捷的使用方式,提高了用户的体验,本发明实施例对输入法客户端获得分类词库文件的方式不做限制。202:输入法客户端保存获得的分类词库文件。其中,本实施例仅作示例说明,假设输入法客户端获得了6个分类词库文件,其中,如表2所示,表2<table>tableseeoriginaldocumentpage16</column></row><table>203:输入法客户端为保存的分类词库文件,配置启用标识位,该启用标识位用于标识该分类词库文件是否被用户启用。其中,仍参见表2,假设用户启用某分类词库文件,则其相应的启用标识位被置为1;反之,对于用户未启用的分类词库文件,其相应的启用标识位被置为0.204:输入法客户端根据启用标识位,获取用户所启用的分类词库文件。205:输入法客户端依次读入用户所启用的分类词库文件,生成合并词库文件,并为该合并词库文件分配合并词库名称。其中,输入法客户端依次读入用户所启用的分类词库文件,生成合并词库文件时,具体参考如下假设,用户启用了2个分类词库X、Y,则根据各词的拼音、词以及词频信息,进行合并词库文件的生成,示例如下205A:根据分类词库X和分类词库Y,判断分类词库X中的当前词是否在分类词库Y中存在相同(即拼音相同、词相同)词,如果是;则执行步骤20SB;否则,执行步骤205C。205B:将当前词在分类词库A中的词频和在分类词库B中的词频,进行相加,得到该词在合并词库文件中的相关信息,当将分类词库X和分类词库Y中的所有词进行合并后,执行步骤205D。例如,若当前词为weixiao微笑,其在分类词库A中的词频为200,在分类词类B中的词频为20,则在合并词库中该词的相关信息为weixiao孩i笑220。该步骤205B还可以为将当前词在分类词库A中的词频和在分类词库B中的词频中选择出最大的词频,从而得到该词的在合并词库文件中的相关信息,当将分类词库X和分类词库Y中的所有词进行合并后,执行步骤205D。例如,若当前词为weixiao孩£笑,其在分类词库A中的词频为200,在分类词类B中的词频为20,则在合并词库中该词的相关信息为weixiao微笑200。本实施例对此不做限制。205C:对当前词的相关信息作为该词的在合并词库文件中的相关信息;当将分类词库X和分类词库Y中的所有词进行合并后,执行步骤205D。例如,若分类词库X中的当前词为weixiao微小50;且在分类词库Y中不存在与该当前词相同的词,仅存在weixiao卫校20,则将该weixiao微小50作为在该合并词库文件中的相关信息。205D:将合并词库文件中的词相关信息,按照字典顺序以及词的词频信息,进行排序处理,得到最终的合并词库文件,并为该分类词库文件分配合并词库文件名称(如mergecell.diet)。其中,为了便于后续查找,合并后的分类词库文件与本发明实施例提供的分类词库文件具有不同的文件格式,需要携带用于进行查询的索引等信息,供下载的分类词库要求文件比较小并且易于扩展,因此格式比较简单,而合并后的分类词库要求输入核心模块能快速的对词典进行查找,因此格式比较复杂。优选地,合并词库文件一4殳和输入法自带的系统词库才各式相同。206:输入法客户端接收用户输入的字符串,查找合并词库名称对应的合并词库文件,获取候选词;将获取到的候选词,提供给用户,当接收到用户的选择确认后,将用户选择的词输入到计算机中。其中,该步骤206所涉及内容为现有技术,不再赘述。进一步地,在实际应用时,如果当前的合并词库正在^皮其他程序(如计算机内存等)占用时,而由于某原因触发得到了新的合并词库文件(且拥有其自身的合并词库名称,如mergece11—l.dict),其中,上述原因包括^旦不限于用户又启用一新的分类词库文件,则会进行更新合并的词库文件;或,由于原有某一分类词库文件被删除,则会进行更新合并的词库文件等等。为了实现对用户所使用的合并词库进行及时的更新,为用户提供最新的合并词库,提高用户的使用体验,相应地,在步骤206所涉及的查找合并词库名称对应的合并词库文件,获取候选词之前,本发明实施例提供的方法还包括输入法客户端查看共享内存标志位,根据该共享内存标志位,获知是否存在新的合并词库文件,如果是,则查找该新的合并词库文件,获取候选词。其中,本发明实施例提供了共享内存标志位,输入法客户端查看该共享内存标志位,如果共享内存标志位被置1,则表示相对于当前的合并词库而言,存在最新的合并词库文件,输入法在生成候选词时,需要查找该最新的合并词库文件;否则,如果共享内存标志位被置0,则输入法在生成候选词时,需要查找当前的合并词库文件。可选地,为了节约输入法客户端的内存,如果出现最新的合并词库文件,则可以将当前的合并词库文件进行删除,从而释放资源。本发明实施例4是供的分类词库实现的方法,具体应用时可以采用如图3所示的基于合并词库架构实现,参见图3,该架构包括输入法核心处理器、分类词库管理器、分类词库更新器、以及分类词库合并器,其中,1、输入法核心处理器,负责实现输入法的最基本功能,包括对用户的输入进行音节划分,候选词生成,智能组词等。简单地讲,输入法核心处理器根据用户的输入生成候选词列表。输入法核心处理器在候选词生成之前需要根据分类词库列表中记录的合并后分类词库文件名加载合并后的分类词库文件。2、分类词库管理器,负责用于对分类词库列表进行管理,包括添加词库,删除词库,启用词库,禁用词库,更新词库等。其中更新词库功能调用分类词库更新器实现。其他操作都由分类词库管理器实现,这些操作都会对分类词库列表文件进行读写操作。其中,用户添加的分类词库可以从网上下载,也可以由用户自己添加一个文本格式的词库文件,分类词库管理器会把文本格式的文件转换为分类词库格式文件。3、分类词库更新器,负责对启用的分类词库进行更新,既可以手动触发更新,也可以是自动更新,如每天执行一次分类词库更新。需要有一个分类词库更新服务器来提供需要更新的词库的信息和分类词库文件,服务器包含一个存放分类词库的相关信息(包括分类词库的ID,版本等)的数据库,并存储着每个分类词库的最新版本。分类词库更新服务器不仅可以对用户请求更新的词库进行更新,还可以主动推荐词库到客户端,本发明实施例对该更新过程不做限制,仅作示例说明。参见图4,该分类词库更新器进行分类词库更新时,其流程如下:401:输入法更新器读取分类词库列表,构造请求更新的分类词库标识列表的列表信息,将该列表信息发送给分类词库更新服务器;其中,该输入法更新器位于输入法客户端。402:分类词库更新服务器,根据列表信息中携带的分类词库标识,在数据库中查找请求更新的分类词库的相关信息,将查找到的相关信息返回给输入法客户端。进一步地,如果该分类词库更新服务器有需要向输入法客户端推送的分类词库时,则相应地,在步骤402还包括输入法客户端返回该分类词库更新服务器希望推送的分类词库的相关信息。403:输入法更新器接收分类词库更新服务器返回的分类词库的相关信息,对每个分类词库而言,根据版本标识,得到待更新的分类词库列表。其中,具体为输入法更新器根据分类词库标识,对比分类词库更新服务器返回的版本标识和本地保存的分类词库的版本标识,如果返回的版本标识大于本地保存的版本标识,则将该分类词库标识添加至待进行更新的分类词库列表中;根据分类词库标识,如果在本地不存在该分类词库更新服务器的返回的分类词库,则将该分类词库标识添加至待进行更新的分类词库列表中。404:输入法更新器遍历上述得到的待更新的分类词库列表,依次向更新服务器发起请求,下载每个待更新的分类词库文件,并覆盖本地的分类词库文件。405:当所有待更新的分类词库都下载完毕后,将共享内存标志位置l。其中,将共享内存标志位置1表示分类词库更新完毕,需要对分类词库进行重新合并,且输入法客户端在进行候选词生成前需要重新加载新的合并词库文件。4、分类词库合并器,负责根据分类词库列表文件,依次读入用户启用的分类词库文件,然后生成新的合并词库文件。如果当前的合并后分类词库正在被其他程序占用,则为该新的合并词库文件生成一个新的文件名,如mergecell_l.dict,并4巴此文件名写到分类词库列表文件中。后续的应用程序将加载这个新的文件。在词库合并操作完成后,需要通知输入法核心处理器加载新的合并词库文件。为了使输入法核心处理器在进行候选词生成,能够及时查找最新的合并词库文件,本发明实施例提供的办法是设置共享内存标志位,初始时该共享内存标志位为0,表示不需要重新加载分类词库。当分类词库合并操作后,需要将此标志位置为1。输入法核心处理器在每次候选词生成之前,都检查一次这个标志位,如果标志位为1,则先根据分类词库列表重新加载分类词库,然后再进行正常的候选词生成。参见图5,本发明实施例提供的分类词库合并的流程如下501:分类词库合并器读取分类词库列表,根据该分类词库列表,得到该分类词库列表中记录的分类词库列表信息,将该分类词库列表中对应的分类词库的词的相关信息读入内存。502:根据步骤501读入的全部的词的相关信息,生成新的合并词库文件。503:判断当前的合并词库文件是否被占用,如果是,则执行步骤504;否则,执行步骤506。504:为步骤502得到的新的合并词库文件生成新的文件名,并将步骤502生成新的合并词库文件写入该新文件名对应的文件中,然后执行步骤505。505:将新的文件名写入分类词库列表文件,然后执行步骤507。506:用新的合并词库文件将当前的合并词库文件进行覆盖,然后执行步骤507。507:将共享内存标志位置1。综上所述,本发明实施例提供了一种分类词库实现的方法,由于本发明实施例提供的分类词库文件格式筒单,因此下载速度快,通过对本发明实施例提供的各分类词库文件进行合并得到合并词库文件,进行候选词查找时,只需要查找该合并词库文件,从而有效避免了传统的分类词库系统中,分类词库数目较大时对输入法效率的影响,提高输入法的速度,提高用户的使用体验。实施例3与上述方法实施例相应地,本发明实施例提供了一种输入法客户端,参见图6,输入法客户端包括获得模块601,用于获得分类词库文件;生成模块602,用于根据获得模块601获得的分类词库文件,生成合并词库文件;其中,合并词库文件的格式和分类词库文件的格式不同。本发明实施例提供的分类词库文件中只记录了词的相关信息(如词、词的拼音以及词频),不需要携带索引等信息;而合并词库文件中除了包含有词的相关信息外,为了实现查找功能,还携带了索引等利于查找的信息。查找模块603,用于接收用户输入的字符串,在生成模块602生成的合并词库文件中查找与字符串匹配的^f'美选词;输入模块604,用于将查找模块603查找到的候选词提供给用户,当接收到用户的选择确认后,将用户选择的候选词输入到计算机。其中,获得模块601包括第一获得子模块,用于接收分类词库服务器下发的分类词库文件,其中,当用户根据分类词库的词库名称后,则根据用户所选择的词库名称向分类词库服务器发起获取分类词库的请求,请求中携带分类词库的词库标识;分类词库服务器接收获取分类词库的请求,根据词库标识,下发词库标识对应的分类词库文件;或,第二获得子模块,用于向分类词库服务器发生更新请求,更新请求中携带分类词库标识,分类词库服务器接收更新请求,根据分类词库标识,返回分类词库标识对应的版本标识,当输入法客户端判断4妄收的版本标识高于本地保存的分类词库自身的版本标识时,向分类词库服务器请求接收的版本标识对应的分类词库;或,第三获得子模块,用于接收分类词库服务器主动向输入法客户端推送分类词库文件;或,第四获得子模块,用于接收用户添加的文本格式的词库文件,将接收的用户添加的文本^"式的词库文件进行格式转换,得到分类词库文件。进一步地,本发明实施例提供的输入法客户端还包括选择模块,用于为分类词库文件设置启用标识位,根据启用标识位,>火获得;漠块601获得的分类词库文件中选才奪出启用的分类词库文件;相应地,生成^f莫块602,用于才艮据选择模块选择出的启用的分类词库文件,生成合并词库文件。其中,任一分类词库文件携带拼音、词以及词频,相应地,生成模块602,包括获取子模块,用于在获取的分类词库文件中,根据拼音、词以及词频,得到词在合并词库文件中的相关信息,生成子模块,用于根据得到的词在合并词库文件中的相关信息,生成合并词库文件。其中,生成子模块,包括判断单元,用于根据拼音和词,判断当前分类词库中的当前词是否在其他分类词库中存在相同的词;第一处理单元,用于当判断单元判断的结果为是,则对当前词在不同分类词库中的词频进行叠加或对当前词在不同分类词库中的词频取大,得到当前词在合并词库文件中的词频;根据得到的当前词在合并词库文件中的词频、当前词的拼音以及当前词,生成当前词合并词库文件中的相关信息;第二处理单元,用于当判断单元判断的结果为否,则将当前分类词库中的当前词的词频、拼音以及当前词,作为当前词合并词库文件中的相关信息。22其中,生成子模块具体用于根据字典顺序以及词在合并词库文件中的词频、拼音以及词,生成合并词库文件。进一步地,本发明实施例提供的输入法客户端还包括分配模块,用于为生成模块602生成的合并词库文件分配文件名称;生成模块602,用于根据文件名称,在文件名称对应的合并词库文件中查找匹配的候选词。进一步地,本发明实施例提供的输入法客户端还包括判断模块,用于根据预设的共享内存标志位,判断是否存在新的合并词库文件,如果是,则在查找模块603在新的合并词库文件中查找匹配的候选词。优选地,合并词库文件;格式和输入法客户端的系统词库才各式相同。综上所述,本发明实施例提供了输入法客户端,可以借助本发明实施例提供的格式简单的分类词库文件,实现对各分类词库文件进行合并得到合并词库文件,进行候选词查找时,只需要查找该合并词库文件,从而有效避免了传统的分类词库系统中,分类词库数目较大时对输入法效率的影响,提高输入法的速度,提高用户的使用体验。并且,由于分类词库格式筒单,因此在获取时,方便快捷,方式多种多样。本发明实施例中的"接收"一词可以理解为主动从其他模块获取也可以是接收其他模块发送来的信息。本领域技术人员可以理解附图只是一个优选实施例的示意图,附图中的模块或流程并不一定是实施本发明所必须的。本领域技术人员可以理解实施例中的装置中的模块可以按照实施例描述分布于实施例的装置中,也可以进行相应变化位于不同于本实施例的一个或多个装置中。上述实施例的模块可以合并为一个模块,也可以进一步拆分成多个子模块。上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。本发明实施例中的部分步骤,可以利用软件实现,相应的软件程序可以存储在可读取的存储介质中,如光盘或硬盘等。以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。权利要求1、一种分类词库实现的方法,其特征在于,所述方法包括输入法客户端获得分类词库文件;根据所述获得的所述分类词库文件,生成合并词库文件;接收用户输入的字符串,在所述合并词库文件中查找与所述字符串匹配的候选词;将查找到的候选词提供给所述用户,当接收到用户的选择确认后,将所述用户选择的候选词输入到计算机。2、如权利要求l所述的方法,其特征在于,所述输入法客户端获得分类词库文件的步骤之前,所述方法还包括根据用户选择分类词库的词库名称,向分类词库服务器发起获取分类词库的请求,所述请求中携带所述分类词库的词库标识;所述分类词库服务器接收所述获取分类词库的请求,根据所述词库标识,向所述输入法客户端下发所述词库标识对应的分类词库文件;或,所述输入法客户端向所述分类词库服务器发生更新请求,所述更新请求中携带分类词库标识,所述分类词库服务器接收所述更新请求,纟艮据所述分类词库标识,向所述输入法客户端返回所述分类词库标识对应的版本标识,当所述输入法客户端判断所述接收的版本标识高于本地保存的所述分类词库自身的版本标识时,向所述分类词库服务器请求所述接收的版本标识对应的分类词库文件;或,所述输入法客户端接收用户添加的文本才各式的词库文件,对所述4矣收的用户添加的文本^"式的词库文件进行转换得到分类词库文件。3、如权利要求l所述的方法,其特征在于,所述生成合并词库文件的步骤之前,所述方法还包括为所述分类词库文件分配启用标识位;根据所述分类词库文件的启用标识位,从所述获得的所述分类词库文件中选择出启用的分类词库文件;相应地,所述生成合并词库文件的步骤,包括根据所述选择出的启用的分类词库文件,生成合并词库文件。4、如权利要求l所述的方法,其特征在于,任一所述分类词库文件携带拼音、词以及词频,所述根据所述获得的所述分类词库文件,生成合并词库文件的步骤,包括在所述获取的所述分类词库文件中,根据所述拼音、词以及词频,得到所述词在所述合并词库文件中的相关信息;根据得到的所述词在所述合并词库文件中的相关信息,生成合并词库文件。5、如权利要求4所述的方法,其特征在于,所述才艮据所述拼音、词以及词频,得到所述词在所述合并词库文件中的相关信息的步骤,包括根据所述拼音和词,判断所述当前分类词库中的当前词是否在其他分类词库中存在相同的词,如果是,则对所述当前词在不同分类词库中的词频进行叠加或对所述当前词在不同分类词库中的词频取大,得到所述当前词在所述合并词库文件中的词频;根据所述得到的当前词在所述合并词库文件中的词频、所述当前词的拼音以及所述当前词,生成所述当前词所述合并词库文件中的相关信息;如果否,则将所述当前分类词库中的当前词的词频、拼音以及所述当前词,作为所述当前词所述合并词库文件中的相关信息。6、如权利要求4或5所述的方法,其特征在于,所述根据得到的所述词在所述合并词库文件中的相关信息,生成合并词库文件的步骤,包括根据字典顺序以及所述词在所述合并词库文件中的词频、拼音以及所述词,生成合并词库文件。7、如权利要求l所述的方法,其特征在于,所述生成合并词库文件的步骤之后,所述方法还包括为所述生成的合并词库文件分配文件名称;相应地,所述在所述合并词库文件中查找与所述字符串匹配的候选词的步骤,包括根据所述文件名称,在所述文件名称对应的合并词库文件中查找与所述字符串匹配的候选词。8、如权利要求l所述的方法,其特征在于,所述在所述合并词库文件中查找与所述字符串匹配的候选词的步骤之前,所述方法还包括根据预设的共享内存标志位,判断是否存在新的合并词库文件,如果是,则在所述新的合并词库文件中查找与所述字符串匹配的候选词。9、如权利要求8所述的方法,其特征在于,所述判断是否存在新的合并词库文件的步骤之前,所述方法包括生成新的合并词库文件,为所述新的合并词库文件分配新的文件名称,将所述生成新的合并词库文件写入所述新的文件名称对应的文件;相应地,所述新的合并词库文件中查找与所述字符串匹配的候选词的步骤,包括根据所述新的文件名称,在所述新的文件名称对应的新的合并词库文件中查找与所述字符串匹配的候选词。10、如权利要求1所述的方法,其特征在于,所述合并词库文件格式和所述输入法客户端的系统词库格式相同。11、一种输入法客户端,其特征在于,所述输入法客户端包括获得模块,用于获得分类词库文件;生成模块,用于根据所述获得模块获得的所述分类词库文件,生成合并词库文件;查找模块,用于接收用户输入的字符串,在所述生成模块生成的合并词库文件中查找与所述字符串匹配的候选词;输入模块,用于将所述查找模块查找到的候选词提供给所述用户,当接收到用户的选择确认后,将所述用户选择的候选词输入到计算机。12、如权利要求11所述的输入法客户端,其特征在于,所述获得^^莫块包括第一获得子模块,用于接收分类词库服务器下发的分类词库文件,其中,根据用户选择的分类词库的词库名称,向分类词库服务器发起获取分类词库的请求,所述请求中携带所述分类词库的词库标识;所述分类词库服务器接收所述获取分类词库的请求,根据所述词库标识,下发所述词库标识对应的分类词库文件;或,第二获得子模块,用于向所述分类词库服务器发生更新请求,所述更新请求中携带分类词库标识,所述分类词库服务器接收所述更新请求,根据所述分类词库标识,返回所述分类词库标识对应的版本标识,当所述输入法客户端判断所述接收的版本标识高于本地保存的所述分类词库自身的版本标识时,向所述分类词库服务器请求所述接收的版本标识对应的分类词库;或,第三获得子模块,用于接收所述分类词库服务器主动向所述输入法客户端推送的分类词库文件;或,第四获得子模块,用于接收用户添加的文本格式的词库文件,对所述接收的用户添加的文本格式的词库文件进行格式转换,得到所述分类词库文件。13、如权利要求11所述的输入法客户端,其特征在于,输入法客户端还包括选择模块,用于为所述分类词库文件分配启用标识位,根据所述分类词库文件的启用标识位,从所述获得模块获得的所述分类词库文件中选择出启用的分类词库文件;相应地,所述生成模块,用于根据所述选择模块选择出的启用的分类词库文件,生成合并词库文件。14、如权利要求11所述的输入法客户端,其特征在于,任一所述分类词库文件携带拼音、词以及词频,所述生成模块,包括获取子模块,用于在所述获取的所述分类词库文件中,根据所述拼音、词以及词频,得到所述词在所述合并词库文件中的相关信息,生成子模块,用于根据得到的所述词在所述合并词库文件中的相关信息,生成合并词库文件。15、如权利要求14所述的输入法客户端,其特征在于,所述生成子模块,包括判断单元,用于^^艮据所述拼音和词,判断所述当前分类词库中的当前词是否在其他分类词库中存在相同的词;第一处理单元,用于当所述判断单元判断的结果为是,则对所述当前词在不同分类词库中的词频进行叠加或对所述当前词在不同分类词库中的词频取大,得到所述当前词在所述合并词库文件中的词频;根据所述得到的当前词在所述合并词库文件中的词频、所述当前词的4并音以及所述当前词,生成所述当前词所述合并词库文件中的相关信息;第二处理单元,用于当所述判断单元判断的结果为否,则将所述当前分类词库中的当前词的词频、拼音以及所述当前词,作为所述当前词所述合并词库文件中的相关信息。16、如权利要求14或15所述的输入法客户端,其特征在于,所述生成子模块具体用于根据字典顺序以及所述词在所述合并词库文件中的词频、拼音以及所述词,生成合并词库文件。17、如权利要求11所述的输入法客户端,其特征在于,所述输入法客户端还包括分配模块,用于为所述生成模块生成的合并词库文件分配文件名称;所述生成模块,用于根据所述文件名称,在所述文件名称对应的合并词库文件中查找与所述字符串匹配的候选词。18、如权利要求11所述的输入法客户端,其特征在于,所述输入法客户端还包括判断模块,用于根据预设的共享内存标志位,判断是否存在新的合并词库文件,如果是,则在所述查找模块在所述新的合并词库文件中查找与所述字符串匹配的候选词。19、如权利要求11所述的输入法客户端,其特征在于,所述合并词库文件格式和所述输入法客户端的系统词库格式相同。全文摘要本发明公开了一种分类词库实现的方法和输入法客户端,属于输入法领域。方法包括输入法客户端获得分类词库文件;根据获得的分类词库文件,生成合并词库文件;接收用户输入的字符串,在合并词库文件中查找匹配的候选词;将查找到的候选词提供给用户,当接收到用户的选择确认后,将用户选择的候选词输入到计算机。装置包括获得模块、生成模块、查找模块以及输入模块。本发明实施例提供的分类词库文件格式简单,通过对各分类词库文件进行合并得到合并词库文件,进行候选词查找时,只需要查找该合并词库文件,从而有效避免了传统的分类词库系统中,分类词库数目较大时对输入法输入效率的影响,提高了输入法的输入速度,提高了用户的使用体验。文档编号G06F17/30GK101645093SQ200910167300公开日2010年2月10日申请日期2009年9月2日优先权日2009年9月2日发明者张会鹏申请人:腾讯科技(深圳)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1