CN109947779A - 用户输入词汇的存储方法、装置及设备 - Google Patents
用户输入词汇的存储方法、装置及设备 Download PDFInfo
- Publication number
- CN109947779A CN109947779A CN201910248820.5A CN201910248820A CN109947779A CN 109947779 A CN109947779 A CN 109947779A CN 201910248820 A CN201910248820 A CN 201910248820A CN 109947779 A CN109947779 A CN 109947779A
- Authority
- CN
- China
- Prior art keywords
- node
- vocabulary
- phonetic
- pinyin
- tree
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Landscapes
- Document Processing Apparatus (AREA)
- Machine Translation (AREA)
Abstract
本发明提出了一种用户输入词汇的存储方法、装置及设备,其中,方法包括:接收用户选择的待上屏词汇,获取词汇的标识信息;根据标识信息判断词汇是否为历史词;若否,则查询预先建立的拼音树,将词汇的目标拼音与拼音树中历史词的拼音节点进行匹配,若词汇的目标拼音与拼音节点匹配结果不一致,则在拼音树中生成新的拼音节点,并在新的拼音节点中存储词汇的拼音树信息;在用户词库中存储词汇的字节信息。由此,基于拼音树辅助存储的方式,建立了历史词之间的前后关系,提高词汇存储与查找效率,从而提高了输入法的存储和输入效率。
Description
技术领域
本发明涉及输入法技术领域,尤其涉及一种用户输入词汇的存储方法、装置及设备。
背景技术
用户词库是指:当用户开启学词功能时,输入法将记录用户输入过的字词,这些记录下来的字词集合就构成了个性化的用户词库。
随着互联网技术的发展,人们的日常生活交流离不开输入法。输入法对于终端产品和移动应用的重要性不言而喻,用户词库作为输入法中一个重要组成,对评价一款输入法起到至关重要的作用。而一个用户词库的历史结构的词汇存储与查找效率是否更高效是评价用户词库的一个重要因素。
目前,需要一种存储与查找效率更高的词汇存储方式。
发明内容
本发明旨在至少在一定程度上解决相关技术中的技术问题之一。
为此,本发明的第一个目的在于提出一种用户输入词汇的存储方法,基于拼音树辅助存储的方式,建立了历史词之间的前后关系,提高词汇存储与查找效率,从而提高了输入法的存储和输入效率。
本发明的第二个目的在于提出一种用户输入词汇的存储装置。
本发明的第三个目的在于提出一种电子设备。
本发明的第四个目的在于提出一种计算机可读存储介质。
本发明第一方面实施例提出了一种用户输入词汇的存储方法,包括:
接收用户选择的待上屏词汇,获取所述词汇的标识信息;
根据所述标识信息判断所述词汇是否为历史词;
若否,则查询预先建立的拼音树,将所述词汇的目标拼音与所述拼音树中历史词的拼音节点进行匹配,若所述词汇的目标拼音与所述拼音节点匹配结果不一致,则在所述拼音树中生成新的拼音节点,并在所述新的拼音节点中存储所述词汇的拼音树信息;
在用户词库中存储所述词汇的字节信息。
本发明实施例的用户输入词汇的存储方法,通过接收用户选择的待上屏词汇,获取词汇的标识信息,并根据标识信息判断词汇是否为历史词。若否,则查询预先建立的拼音树,将词汇的目标拼音与拼音树中历史词的拼音节点进行匹配,若词汇的目标拼音与拼音节点匹配结果不一致,则在拼音树中生成新的拼音节点,并在新的拼音节点中存储词汇的拼音树信息。进一步,在用户词库中存储词汇的字节信息。由此,通过拼音树结构结合用户词库存储用户输入的词汇,能够动态的添加和存储词汇,提高了输入法的存储和输入效率,通过基于拼音树辅助存储的方式,提高词汇存储与查找效率,并且,建立了历史词之间的前后关系,以及词汇之间的拼音关系。
另外,根据本发明上述实施例的用户输入词汇的存储方法还可以具有如下附加技术特征:
可选地,所述新的拼音节点包括头部节点,所述在所述新的拼音节点中存储所述词汇的拼音树信息包括:在所述新的拼音节点中存储父节点字词偏移量、首个子节点偏移量、拼音标识、子节点个数、字词个数。
可选地,所述新的拼音节点还包括剩余节点,所述在所述新的拼音节点中存储所述词汇的拼音树信息还包括:在所述新的拼音节点中存储兄弟节点偏移量、兄弟节点个数。
可选地,在所述新的拼音节点中存储所述词汇的拼音树信息之后,还包括:若所述新的拼音节点存在相关节点,则更新所述相关节点的首个子节点偏移量、子节点个数、兄弟节点个数中的至少一个,其中,所述相关节点包括所述新的拼音节点的父节点、与所述新的拼音节点具有相同父节点的拼音节点。
可选地,所述字节信息包括起始位置和同音字偏移量,在将所述词汇的目标拼音与所述拼音树中历史词的拼音节点进行匹配之后,还包括:若所述词汇的目标拼音与所述拼音节点匹配结果一致,则更新与所述词汇对应的目标拼音节点中的字词个数,其中,所述目标拼音节点为所述词汇的目标拼音中最后一个拼音对应的拼音节点;在所述用户词库中添加所述词汇的字节信息,并更新目标词汇的同音字偏移量,其中,所述目标词汇为与所述词汇的起始位置最近的同音词汇。
可选地,所述字节信息包括词频,在根据所述标识信息判断所述词汇是否为历史词之后,还包括:若是,则在所述用户词库中更新所述词汇的词频。
本发明第二方面实施例提出了一种用户输入词汇的存储装置,包括:
获取模块,用于接收用户选择的待上屏词汇,获取所述词汇的标识信息;
判断模块,用于根据所述标识信息判断所述词汇是否为历史词;
查询模块,用于若否,则查询预先建立的拼音树,将所述词汇的目标拼音与所述拼音树中历史词的拼音节点进行匹配;
第一处理模块,用于若所述词汇的目标拼音与所述拼音节点匹配结果不一致,则在所述拼音树中生成新的拼音节点,并在所述新的拼音节点中存储所述词汇的拼音树信息;
第一存储模块,用于在用户词库中存储所述词汇的字节信息。
本发明实施例的用户输入词汇的存储装置,通过接收用户选择的待上屏词汇,获取词汇的标识信息,并根据标识信息判断词汇是否为历史词。若否,则查询预先建立的拼音树,将词汇的目标拼音与拼音树中历史词的拼音节点进行匹配,若词汇的目标拼音与拼音节点匹配结果不一致,则在拼音树中生成新的拼音节点,并在新的拼音节点中存储词汇的拼音树信息。进一步,在用户词库中存储词汇的字节信息。由此,通过拼音树结构结合用户词库存储用户输入的词汇,能够动态的添加和存储词汇,提高了输入法的存储和输入效率,通过基于拼音树辅助存储的方式,提高存储与查找效率,并且,建立了历史词之间的前后关系,以及词汇之间的拼音关系。
另外,根据本发明上述实施例的用户输入词汇的存储装置还可以具有如下附加技术特征:
可选地,所述新的拼音节点包括头部节点,所述第一处理模块具体用于:在所述新的拼音节点中存储父节点字词偏移量、首个子节点偏移量、拼音标识、子节点个数、字词个数。
可选地,所述新的拼音节点还包括剩余节点,所述第一处理模块还用于:在所述新的拼音节点中存储兄弟节点偏移量、兄弟节点个数。
可选地,所述的装置还包括:节点更新模块,用于若所述新的拼音节点存在相关节点,则更新所述相关节点的首个子节点偏移量、子节点个数、兄弟节点个数中的至少一个,其中,所述相关节点包括所述新的拼音节点的父节点、与所述新的拼音节点具有相同父节点的拼音节点。
可选地,所述字节信息包括起始位置和同音字偏移量,所述的装置还包括:第二处理模块,用于若所述词汇的目标拼音与所述拼音节点匹配结果一致,则更新与所述词汇对应的目标拼音节点中的字词个数,其中,所述目标拼音节点为所述词汇的目标拼音中最后一个拼音对应的拼音节点;第二存储模块,用于在所述用户词库中添加所述词汇的字节信息,并更新目标词汇的同音字偏移量,其中,所述目标词汇为与所述词汇的起始位置最近的同音词汇。
可选地,所述字节信息包括词频,所述的装置还包括:词库更新模块,用于若所述词汇为历史词,则在所述用户词库中更新所述词汇的词频。
本发明第三方面实施例提出了一种电子设备,包括处理器和存储器;其中,所述处理器通过读取所述存储器中存储的可执行程序代码来运行与所述可执行程序代码对应的程序,以用于实现如第一方面实施例所述的用户输入词汇的存储方法。
本发明第四方面实施例提出了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如第一方面实施例所述的用户输入词汇的存储方法。
本发明附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
图1为本发明实施例所提供的一种用户输入词汇的存储方法的流程示意图;
图2为本发明实施例所提供的另一种用户输入词汇的存储方法的流程示意图;
图3为本发明实施例所提供的一种存储结构的示意图;
图4为本发明实施例所提供的一种拼音树存储结构的示意图;
图5为本发明实施例所提供的一种用户输入词汇的存储装置的结构示意图;
图6为本发明实施例所提供的另一种用户输入词汇的存储装置的结构示意图;
图7示出了适于用来实现本发明实施例的示例性电子设备的框图。
具体实施方式
下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,旨在用于解释本发明,而不能理解为对本发明的限制。
下面参考附图描述本发明实施例的用户输入词汇的存储方法、装置及设备。
图1为本发明实施例所提供的一种用户输入词汇的存储方法的流程示意图,如图1所示,该方法包括:
步骤101,接收用户选择的待上屏词汇,获取词汇的标识信息。
本发明实施例中,在存储用户通过输入法输入的词汇时,可以先提供用户输入的拼音对应的待上屏词汇,并接收用户选择的待上屏词汇,获取该词汇的标识信息。例如,用户输入“wo”,待上屏词汇包括“我,卧,握,窝”等,接收用户选择的词汇“我”,并获取该词汇的标识信息。
其中,标识信息用于标识文字词汇,标识信息的实现形式包括但不限于数字、字母或其他字符的组合。比如“我”的标识信息为2010,“我们”的标识信息为3010。
步骤102,根据标识信息判断词汇是否为历史词。
其中,历史词为用户输入过的词汇。比如,用户通过输入法输入拼音“wo”,并选取文字“我”输入至显示屏幕上,则将“我”记为历史词。
本发明实施例中,在接收用户选择的待上屏词汇后,可以根据该词汇的标识信息判断是否为历史词,以便根据判断结果进行相应的存储操作。
作为一种示例,以标识信息为数字为例,可以预先设置第一信息库和第二信息库,若标识信息位于第一信息库,则确定该词汇为非历史词,若标识信息位于第二信息库,则确定该词汇为历史词。可选地,每个词汇的标识信息初始对应第一信息库中的数字,进而,当该词汇记为历史词时,将该词汇的标识信息更改为第二信息库中的数字。
作为另一种示例,每个词汇对应一个标识信息,可以将历史词对应的标识信息存储在词库中。进而,在获取词汇的标识信息后,可以将该词汇的标识信息与预存的历史词的标识信息进行匹配,若匹配到一致的标识信息,则判断该词汇为历史词,若没有匹配到一致的标识信息,则判断该词汇为非历史词。
步骤103,若否,则查询预先建立的拼音树,将词汇的目标拼音与拼音树中历史词的拼音节点进行匹配,若词汇的目标拼音与拼音节点匹配结果不一致,则在拼音树中生成新的拼音节点,并在新的拼音节点中存储词汇的拼音树信息。
本发明实施例中,若用户选择的待上屏词汇为非历史词,则查询预先建立的拼音树,例如,可以预先建立包括根节点的拼音树,以在该拼音树中生成相应拼音节点并存储拼音树信息。其中,拼音树包括与历史词对应的拼音节点,拼音节点用于存储拼音树信息,每个拼音节点对应一个拼音。可选地,拼音树可以为前缀树结构。
进而,将词汇的目标拼音与拼音树中历史词的拼音节点进行匹配,若词汇的目标拼音与拼音节点匹配结果不一致,则在拼音树中生成新的拼音节点,并在新的拼音节点中存储词汇的拼音树信息。
作为一种示例,当用户初次输入词汇“我”时,根据拼音“wo”与拼音树中的拼音节点进行匹配,匹配到不存在“wo”的拼音节点,则生成一个新的拼音节点“wo”,并存储相应的拼音树信息。
在本发明的一个实施例中,新的拼音节点为头部节点,则在该拼音节点中存储父节点字词偏移量、首个子节点偏移量、拼音标识、子节点个数、字词个数。
在本发明的一个实施例中,新的拼音节点为剩余节点,则在该拼音节点中存储父节点字词偏移量、首个子节点偏移量、拼音标识、子节点个数、字词个数,以及兄弟节点偏移量、兄弟节点个数,其中,兄弟节点偏移量为兄弟节点的位置,例如,兄弟节点为首个子节点的并列节点;再例如,兄弟节点可以为与该拼音节点具有相同父节点的下一个并列节点。
作为一种示例,用户输入词汇“我们”,若该词汇的目标拼音与拼音节点匹配结果不一致,则在拼音树中生成拼音节点“wo”和“men”,其中“wo”为头部节点,“men”为剩余节点。
其中,拼音节点的父节点字词偏移量是指,从相应头部节点至该拼音节点的拼音,所对应的中文词汇里,首个存储在用户词库中的词汇在用户词库中的起始位置。比如,用户词库中依次存入“我”、“卧”和“我们”,则拼音节点“wo”的父节点字词偏移量为“我”在用户词库中的起始位置,“men”的父节点字词偏移量为“我们”在用户词库中的起始位置。再比如,用户词库中只包含“我们”时,“wo”的父节点字词偏移量为0,“men”的父节点字词偏移量为拼音为women的首个词汇“我们”在用户词库中的起始位置。拼音节点“wo”的首个子节点偏移量为首个子节点的位置,即拼音节点“men”的位置,每个拼音节点对应一个位置信息,其中首个节点的位置信息可以为0。拼音标识为该拼音对应的标识,例如“wo”的拼音标识为300。子节点个数为该节点的子节点数量,比如若用户词库中只包含“我们”时,则“wo”的子节点个数为1,若用户词库中包含“我们”和“我去”时,则“wo”的子节点个数为2。字词个数为该节点对应的中文同音词汇的数量,比如对于“我”和“卧”,“wo”的字词个数为2。
其中,兄弟节点偏移量是在相同父节点的前提下,下一个节点的位置,兄弟节点个数为在相同父节点的前提下,其他节点的数量。比如针对“我们”和“我去”,“men”的兄弟节点偏移量为“qu”的位置,“men”的兄弟节点个数为1。由此,建立了历史词之间的前后关系,以及词汇之间的拼音关系。
在本发明的一个实施例中,在新的拼音节点中存储词汇的拼音树信息之后,还可以判断该新的拼音节点是否存在相关的拼音节点,比如父节点、兄弟节点等。进而,若新的拼音节点存在相关节点,则更新相关节点的首个子节点偏移量、子节点个数、兄弟节点个数中的至少一个。
作为一种示例,拼音树中存在“我们”对应的拼音节点“wo”和“men”,用户输入“我去”,则新生成拼音节点“qu”,相关节点为父节点“wo”和兄弟节点“men”,则将“wo”的子节点个数由1更新为2,将“men”的兄弟节点个数由0更新为1,兄弟节点偏移量更新为拼音节点“qu”的位置。
作为另一种示例,拼音树中存在“我”对应的拼音节点“wo”,用户输入“我们”,则生成新的拼音节点“men”,相关节点为父节点“wo”,则将“wo”的子节点个数由0更新为1,首个子节点偏移量更新为拼音节点“men”的位置。
步骤104,在用户词库中存储词汇的字节信息。
本发明实施例中,若用户选择的待上屏词汇为非历史词,还可以在用户词库中存储该词汇的字节信息。也就是说,本实施例中通过拼音树存储用户输入词汇的拼音信息,通过用户词库存储用户输入词汇的字节信息。
其中,字节信息包括但不限于词汇的标识位、词汇长度、拼音标识、词汇内容、标识信息、起始位置、同音字偏移量、词频等。其中,标识位用于表示词汇的状态,拼音标识用于表示该词汇的拼音,起始位置用于表示该词汇字节信息在用户词库中开始存储的位置,同音字偏移量用于记录下一个相同拼音的词汇的起始位置,词频用于表示该词汇被输入的次数,用户词库中存储的词汇的字节信息并不限于上述,可以根据需要进行设置,此处不作限制。
可选地,在根据本实施例中的拼音树和用户词库的字节信息进行查询时,可以根据上述拼音树信息与字节信息进行遍历,以实现对用户输入词汇的拼音信息以及文字信息的存储和查询。
本发明实施例的用户输入词汇的存储方法,通过接收用户选择的待上屏词汇,获取词汇的标识信息,并根据标识信息判断词汇是否为历史词。若否,则查询预先建立的拼音树,将词汇的目标拼音与拼音树中历史词的拼音节点进行匹配,若词汇的目标拼音与拼音节点匹配结果不一致,则在拼音树中生成新的拼音节点,并在新的拼音节点中存储词汇的拼音树信息。进一步,在用户词库中存储词汇的字节信息。由此,通过拼音树结构结合用户词库存储用户输入的词汇,能够动态的添加和存储词汇,提高了输入法的存储和输入效率,通过基于拼音树辅助存储的方式,提高词汇存储与查找效率,并且,根据拼音树建立了历史词之间的前后关系,以及词汇之间的拼音关系。
基于上述实施例,进一步地,下面针对词汇为历史词,或者词汇为非历史词且词汇的目标拼音与拼音节点匹配结果一致的情况进行说明。
图2为本发明实施例所提供的另一种用户输入词汇的存储方法的流程示意图,如图2所示,该方法包括:
步骤201,接收用户选择的待上屏词汇,获取词汇的标识信息。
步骤202,根据标识信息判断词汇是否为历史词。
在本发明的一个实施例中,若判断该词汇为历史词,则表明该词汇已经存储在用户词库中,则根据标识信息在用户词库中搜索该词汇,并更新该词汇的词频,比如词频加一。由此,通过在词汇为历史词时直接更新词频,优化了历史词存储空间。
步骤203,若否,则查询预先建立的拼音树,将词汇的目标拼音与拼音树中历史词的拼音节点进行匹配,若词汇的目标拼音与拼音节点匹配结果一致,则更新与词汇对应的目标拼音节点中的字词个数,其中,目标拼音节点为词汇的目标拼音中最后一个拼音对应的拼音节点。
本发明实施例中,在将非历史词的词汇的目标拼音与拼音树中历史词的拼音节点进行匹配后,若词汇的目标拼音与拼音节点匹配结果一致,则表示该词汇存在相同拼音的历史词,因此无需在拼音树中生成新的拼音节点。
作为一种可能的实现方式,可以维护一个缓冲器,其长度为中文所有的拼音个数(例如为400多个)用于存储拼音标识,其中,每个拼音对应一个拼音标识。根据词汇的目标拼音的拼音标识,索引为当前目标拼音的拼音标识,比如对于首个目标拼音,若该拼音已经存到了头部节点中,则缓冲器中对应的值为该拼音对应的头部节点的位置,若不存在,则值为-1。进而,可以根据该头部节点的拼音树信息进一步进行查询匹配。由此,实现了根据词汇的目标拼音与拼音树中历史词的拼音节点进行匹配。
作为一种示例,拼音树中存在历史词“我们”的拼音节点“wo”和“men”,用户再次输入“我闷”,根据匹配确定该词汇的目标拼音与拼音节点匹配结果一致,则将“men”的字词个数加一。
步骤204,在用户词库中添加词汇的字节信息,并更新目标词汇的同音字偏移量,目标词汇为与词汇的起始位置最近的同音词汇。
本实施例中,字节信息还包括起始位置和同音字偏移量,还可以在用户词库中添加该词汇的字节信息,由于该词汇存在相同拼音的历史词,因此还可以更新目标词汇的同音字偏移量。其中,目标词汇为与该词汇的起始位置最近的前一个相同拼音的词汇。由此,优化了历史词存储空间,使数据更加紧凑。
作为一种示例,针对初次输入的词汇“我”,在用户词库中0-11位存储词汇“我”的标识位,词汇长度1,拼音标识300,词汇内容“我”,起始位置为0,对应前述父节点字词偏移量,同音字偏移量0。其中,同音字偏移量用于记录下一个相同拼音的词汇的位置,比如再次输入词汇“卧”,则“卧”的起始位置为12,并更新“我”的同音字偏移量为12。此外,字节信息还可以包括分值,用于表示该词汇添加时间和添加次数的打分值。由此,可以基于起始位置与同音字偏移量进行存储和查询,优化了历史词的存储空间,使数据更加紧凑。
可选地,还可以根据拼音标识的大小对头部节点进行排序。以及,可以在存储字节信息与拼音树信息后,对本地历史文件进行修改。
本发明实施例的用户输入词汇的存储方法,通过在词汇为历史词时直接更新词频,优化了历史词存储空间。并且,词汇的目标拼音与拼音节点匹配结果一致,则更新与词汇对应的目标拼音节点中的字词个数,以及存储字节信息更新目标词汇的同音字偏移量,实现了基于拼音树结构对用户输入词汇的动态存储和添加,提高了查询和存储的效率。
下面结合实际应用场景进行说明。
参照图3和图4,图3为本发明实施例所提供的一种存储结构的示意图,图4为本发明实施例所提供的一种拼音树存储结构的示意图。当没有添加历史词时,存储结构中包括版本号和词库信息,其中,版本号为当前用户词库的版本信息,词库信息记有当前的历史词个数、占用的总体积等信息。
用户输入拼音“woxihuanni”,选择候选词“我喜欢你。进而,根据标识信息判断该词汇非历史词,则进行历史词的添加。进一步,进行拼音节点状态的查找,若第一次记录该词汇及拼音,则先更新“我”,为该拼音生成一个头部节点,其对应的拼音树信息(顺序如图4所示)分别为0、0、381、1、0。继续进行“喜”的更新,为该节点生成一个剩余节点,其对应的拼音树信息(顺序依次为首个子节点偏移量,父节点字词偏移量,兄弟节点偏移量,拼音标识,子节点个数、字词个数、兄弟节点个数)为1、0、0、383、1、0、0。继续进行“欢”的更新,为该节点生成一个剩余节点,其对应的拼音树信息为2、0、0、156、1、0、0。继续进行“你”的更新,为该节点生成一个剩余节点,其对应的拼音树信息为0、0、0、252、0、1、0。进一步地,添加“我喜欢你”的字节信息,并更新词库信息,至此一个新词添加完毕。需要说明的是,其中父节点字词偏移量等代表位置的0与代表不存在的0可以通过不同的存储缓冲器实现,也可以对位置信息的值进行调整,此处不作限制。
下面结合根据该拼音树与用户词库的存储结构进行查询操作进行说明。
在本发明的一些实施例中,可以在用户输入拼音且未选择待上屏词汇时,通过查询该存储结构,确定候选的待上屏词汇的标识信息。例如,针对每个候选的待上屏词汇,以“我们”为例,在拼音树中先通过拼音标识的索引缓冲器查找头部节点中“wo”的位置,进而基于首个子节点偏移量、子节点个数、兄弟节点偏移量、兄弟节点个数等拼音树信息遍历“wo”的孩子,若子节点中存在“men”,则进一步根据“wo->men”的父节点字词偏移量,在用户词库中基于同音字偏移量遍历字词个数,查看是否存在“我们”,若存在,则确定“我们”的标识信息为历史词的标识信息,若前述步骤中查询不存在,则确定“我们”的标识信息为非历史词的标识信息。由此,根据本发明实施例的用户输入词汇的存储方法,能够提高用户输入词汇的存储效率和查找效率。
为了实现上述实施例,本发明还提出一种用户输入词汇的存储装置。
图5为本发明实施例所提供的一种用户输入词汇的存储装置的结构示意图,如图5所示,该装置包括:获取模块100,判断模块200,查询模块300,第一处理模块400,第一存储模块500。
其中,获取模块100,用于接收用户选择的待上屏词汇,获取词汇的标识信息。
判断模块200,用于根据所述标识信息判断所述词汇是否为历史词。
查询模块300,用于若否,则查询预先建立的拼音树,将词汇的目标拼音与拼音树中历史词的拼音节点进行匹配。
第一处理模块400,用于若词汇的目标拼音与拼音节点匹配结果不一致,则在拼音树中生成新的拼音节点,并在新的拼音节点中存储词汇的拼音树信息。
第一存储模块500,用于在用户词库中存储词汇的字节信息。
在图5的基础上,图6所示的装置还包括:第二处理模块600,第二存储模块700,节点更新模块800,词库更新模块900。
其中,字节信息包括起始位置和同音字偏移量,第二处理模块600,用于若词汇的目标拼音与拼音节点匹配结果一致,则更新与词汇对应的目标拼音节点中的字词个数,其中,目标拼音节点为词汇的目标拼音中最后一个拼音对应的拼音节点。
第二存储模块700,用于在用户词库中添加词汇的字节信息,并更新目标词汇的同音字偏移量,其中,目标词汇为与词汇的起始位置最近的同音词汇。
节点更新模块800,用于若新的拼音节点存在相关节点,则更新相关节点的首个子节点偏移量、子节点个数、兄弟节点个数中的至少一个。
字节信息包括词频,词库更新模块900,用于在根据标识信息判断词汇是否为历史词之后,若是,则在用户词库中更新词汇的词频。
在本发明的一个实施例中,新的拼音节点包括头部节点,第一处理模块400具体用于:在新的拼音节点中存储父节点字词偏移量、首个子节点偏移量、拼音标识、子节点个数、字词个数。
进一步地,新的拼音节点还包括剩余节点,第一处理模块400还用于:在新的拼音节点中存储兄弟节点偏移量、兄弟节点个数。
需要说明的是,前述实施例对用户输入词汇的存储方法的解释说明同样适用于本实施例的用户输入词汇的存储装置,此处不再赘述。
本发明实施例的用户输入词汇的存储装置,通过接收用户选择的待上屏词汇,获取词汇的标识信息,并根据标识信息判断词汇是否为历史词。若否,则查询预先建立的拼音树,将词汇的目标拼音与拼音树中历史词的拼音节点进行匹配,若词汇的目标拼音与拼音节点匹配结果不一致,则在拼音树中生成新的拼音节点,并在新的拼音节点中存储词汇的拼音树信息。进一步,在用户词库中存储词汇的字节信息。由此,通过拼音树结构结合用户词库存储用户输入的词汇,能够动态的添加和存储词汇,提高了输入法的存储和输入效率,通过基于拼音树辅助存储的方式,提高存储与查找效率,并且,建立了历史词之间的前后关系,以及词汇之间的拼音关系。
为了实现上述实施例,本发明还提出一种电子设备,包括处理器和存储器;其中,处理器通过读取存储器中存储的可执行程序代码来运行与可执行程序代码对应的程序,以用于实现如前述任一实施例所述的用户输入词汇的存储方法。
为了实现上述实施例,本发明还提出一种计算机程序产品,当计算机程序产品中的指令被处理器执行时实现如前述任一实施例所述的用户输入词汇的存储方法。
为了实现上述实施例,本发明还提出一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如前述任一实施例所述的用户输入词汇的存储方法。
图7示出了适于用来实现本发明实施例的示例性电子设备的框图。图7显示的电子设备12仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
如图7所示,电子设备12以通用计算设备的形式表现。电子设备12的组件可以包括但不限于:一个或者多个处理器或者处理单元16,系统存储器28,连接不同系统组件(包括系统存储器28和处理单元16)的总线18。
总线18表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器,外围总线,图形加速端口,处理器或者使用多种总线结构中的任意总线结构的局域总线。举例来说,这些体系结构包括但不限于工业标准体系结构(Industry StandardArchitecture;以下简称:ISA)总线,微通道体系结构(Micro Channel Architecture;以下简称:MAC)总线,增强型ISA总线、视频电子标准协会(Video Electronics StandardsAssociation;以下简称:VESA)局域总线以及外围组件互连(Peripheral ComponentInterconnection;以下简称:PCI)总线。
电子设备12典型地包括多种计算机系统可读介质。这些介质可以是任何能够被电子设备12访问的可用介质,包括易失性和非易失性介质,可移动的和不可移动的介质。
存储器28可以包括易失性存储器形式的计算机系统可读介质,例如随机存取存储器(Random Access Memory;以下简称:RAM)30和/或高速缓存存储器32。电子设备12可以进一步包括其它可移动/不可移动的、易失性/非易失性计算机系统存储介质。仅作为举例,存储系统34可以用于读写不可移动的、非易失性磁介质(图7未显示,通常称为“硬盘驱动器”)。尽管图7中未示出,可以提供用于对可移动非易失性磁盘(例如“软盘”)读写的磁盘驱动器,以及对可移动非易失性光盘(例如:光盘只读存储器(Compact Disc Read OnlyMemory;以下简称:CD-ROM)、数字多功能只读光盘(Digital Video Disc Read OnlyMemory;以下简称:DVD-ROM)或者其它光介质)读写的光盘驱动器。在这些情况下,每个驱动器可以通过一个或者多个数据介质接口与总线18相连。存储器28可以包括至少一个程序产品,该程序产品具有一组(例如至少一个)程序模块,这些程序模块被配置以执行本申请各实施例的功能。
具有一组(至少一个)程序模块42的程序/实用工具40,可以存储在例如存储器28中,这样的程序模块42包括但不限于操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。程序模块42通常执行本申请所描述的实施例中的功能和/或方法。
电子设备12也可以与一个或多个外部设备14(例如键盘、指向设备、显示器24等)通信,还可与一个或者多个使得用户能与该计算机系统/服务器12交互的设备通信,和/或与使得该计算机系统/服务器12能与一个或多个其它计算设备进行通信的任何设备(例如网卡,调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口22进行。并且,电子设备12还可以通过网络适配器20与一个或者多个网络(例如局域网(Local Area Network;以下简称:LAN),广域网(Wide Area Network;以下简称:WAN)和/或公共网络,例如因特网)通信。如图所示,网络适配器20通过总线18与电子设备12的其它模块通信。应当明白,尽管图中未示出,可以结合电子设备12使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。
处理单元16通过运行存储在系统存储器28中的程序,从而执行各种功能应用以及数据处理,例如实现前述实施例中提及的方法。
在本发明的描述中,需要理解的是,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。在本发明的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。
Claims (10)
1.一种用户输入词汇的存储方法,其特征在于,包括:
接收用户选择的待上屏词汇,获取所述词汇的标识信息;
根据所述标识信息判断所述词汇是否为历史词;
若否,则查询预先建立的拼音树,将所述词汇的目标拼音与所述拼音树中历史词的拼音节点进行匹配,若所述词汇的目标拼音与所述拼音节点匹配结果不一致,则在所述拼音树中生成新的拼音节点,并在所述新的拼音节点中存储所述词汇的拼音树信息;
在用户词库中存储所述词汇的字节信息。
2.如权利要求1所述的方法,其特征在于,所述新的拼音节点包括头部节点,所述在所述新的拼音节点中存储所述词汇的拼音树信息包括:
在所述新的拼音节点中存储父节点字词偏移量、首个子节点偏移量、拼音标识、子节点个数、字词个数。
3.如权利要求2所述的方法,其特征在于,所述新的拼音节点还包括剩余节点,所述在所述新的拼音节点中存储所述词汇的拼音树信息还包括:
在所述新的拼音节点中存储兄弟节点偏移量、兄弟节点个数。
4.如权利要求3所述的方法,其特征在于,在所述新的拼音节点中存储所述词汇的拼音树信息之后,还包括:
若所述新的拼音节点存在相关节点,则更新所述相关节点的首个子节点偏移量、子节点个数、兄弟节点个数中的至少一个,其中,所述相关节点包括所述新的拼音节点的父节点、与所述新的拼音节点具有相同父节点的拼音节点。
5.如权利要求1所述的方法,其特征在于,所述字节信息包括起始位置和同音字偏移量,在将所述词汇的目标拼音与所述拼音树中历史词的拼音节点进行匹配之后,还包括:
若所述词汇的目标拼音与所述拼音节点匹配结果一致,则更新与所述词汇对应的目标拼音节点中的字词个数,其中,所述目标拼音节点为所述词汇的目标拼音中最后一个拼音对应的拼音节点;
在所述用户词库中添加所述词汇的字节信息,并更新目标词汇的同音字偏移量,其中,所述目标词汇为与所述词汇的起始位置最近的同音词汇。
6.如权利要求1所述的方法,其特征在于,所述字节信息包括词频,在根据所述标识信息判断所述词汇是否为历史词之后,还包括:
若是,则在所述用户词库中更新所述词汇的词频。
7.一种用户输入词汇的存储装置,其特征在于,包括:
获取模块,用于接收用户选择的待上屏词汇,获取所述词汇的标识信息;
判断模块,用于根据所述标识信息判断所述词汇是否为历史词;
查询模块,用于若否,则查询预先建立的拼音树,将所述词汇的目标拼音与所述拼音树中历史词的拼音节点进行匹配;
第一处理模块,用于若所述词汇的目标拼音与所述拼音节点匹配结果不一致,则在所述拼音树中生成新的拼音节点,并在所述新的拼音节点中存储所述词汇的拼音树信息;
第一存储模块,用于在用户词库中存储所述词汇的字节信息。
8.如权利要求7所述的装置,其特征在于,所述新的拼音节点包括头部节点,所述第一处理模块具体用于:
在所述新的拼音节点中存储父节点字词偏移量、首个子节点偏移量、拼音标识、子节点个数、字词个数。
9.如权利要求8所述的装置,其特征在于,所述新的拼音节点还包括剩余节点,所述第一处理模块还用于:
在所述新的拼音节点中存储兄弟节点偏移量、兄弟节点个数。
10.如权利要求9所述的装置,其特征在于,还包括:
节点更新模块,用于若所述新的拼音节点存在相关节点,则更新所述相关节点的首个子节点偏移量、子节点个数、兄弟节点个数中的至少一个,其中,所述相关节点包括所述新的拼音节点的父节点、与所述新的拼音节点具有相同父节点的拼音节点。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910248820.5A CN109947779B (zh) | 2019-03-29 | 2019-03-29 | 用户输入词汇的存储方法、装置及设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910248820.5A CN109947779B (zh) | 2019-03-29 | 2019-03-29 | 用户输入词汇的存储方法、装置及设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109947779A true CN109947779A (zh) | 2019-06-28 |
CN109947779B CN109947779B (zh) | 2021-01-22 |
Family
ID=67012925
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910248820.5A Active CN109947779B (zh) | 2019-03-29 | 2019-03-29 | 用户输入词汇的存储方法、装置及设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109947779B (zh) |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101140585A (zh) * | 2007-09-24 | 2008-03-12 | 腾讯科技(深圳)有限公司 | 用户词库管理系统和管理方法 |
CN101290632A (zh) * | 2008-05-30 | 2008-10-22 | 北京搜狗科技发展有限公司 | 一种用户词参与智能组词输入的方法及一种输入法系统 |
CN102439540A (zh) * | 2009-03-19 | 2012-05-02 | 谷歌股份有限公司 | 输入法编辑器 |
CN102521418A (zh) * | 2011-12-31 | 2012-06-27 | 青岛海信宽带多媒体技术有限公司 | 用于存储拼音的存储结构及拼音输入方法 |
CN102867049A (zh) * | 2012-09-10 | 2013-01-09 | 山东康威通信技术股份有限公司 | 一种基于单词查找树实现的汉语拼音快速分词方法 |
CN103514236A (zh) * | 2012-06-30 | 2014-01-15 | 重庆新媒农信科技有限公司 | 检索应用中基于拼音的检索条件纠错提示处理方法 |
US20160224533A1 (en) * | 2015-01-29 | 2016-08-04 | Sunil Gopalchandra Samanta | Search engine buttons matrix interface |
CN106371624A (zh) * | 2016-09-23 | 2017-02-01 | 百度在线网络技术(北京)有限公司 | 一种用于提供输入候选项的方法与装置 |
-
2019
- 2019-03-29 CN CN201910248820.5A patent/CN109947779B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101140585A (zh) * | 2007-09-24 | 2008-03-12 | 腾讯科技(深圳)有限公司 | 用户词库管理系统和管理方法 |
CN101290632A (zh) * | 2008-05-30 | 2008-10-22 | 北京搜狗科技发展有限公司 | 一种用户词参与智能组词输入的方法及一种输入法系统 |
CN102439540A (zh) * | 2009-03-19 | 2012-05-02 | 谷歌股份有限公司 | 输入法编辑器 |
CN102521418A (zh) * | 2011-12-31 | 2012-06-27 | 青岛海信宽带多媒体技术有限公司 | 用于存储拼音的存储结构及拼音输入方法 |
CN103514236A (zh) * | 2012-06-30 | 2014-01-15 | 重庆新媒农信科技有限公司 | 检索应用中基于拼音的检索条件纠错提示处理方法 |
CN102867049A (zh) * | 2012-09-10 | 2013-01-09 | 山东康威通信技术股份有限公司 | 一种基于单词查找树实现的汉语拼音快速分词方法 |
US20160224533A1 (en) * | 2015-01-29 | 2016-08-04 | Sunil Gopalchandra Samanta | Search engine buttons matrix interface |
CN106371624A (zh) * | 2016-09-23 | 2017-02-01 | 百度在线网络技术(北京)有限公司 | 一种用于提供输入候选项的方法与装置 |
Non-Patent Citations (2)
Title |
---|
张强: "多媒体数据库检索技术研究与应用", 《中国优秀硕士学位论文全文数据库 信息科技辑》 * |
李纲: "PocketPC手机输入法软件设计与实现", 《中国优秀硕士学位论文全文数据库 信息科技辑》 * |
Also Published As
Publication number | Publication date |
---|---|
CN109947779B (zh) | 2021-01-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8117026B2 (en) | String matching method and system using phonetic symbols and computer-readable recording medium storing computer program for executing the string matching method | |
US9223779B2 (en) | Text segmentation with multiple granularity levels | |
US7979268B2 (en) | String matching method and system and computer-readable recording medium storing the string matching method | |
US8041560B2 (en) | System for adaptive multi-cultural searching and matching of personal names | |
JP4301515B2 (ja) | 文章表示方法、情報処理装置、情報処理システム、プログラム | |
CN109887497A (zh) | 语音识别的建模方法、装置及设备 | |
CN110046350A (zh) | 文法错误识别方法、装置、计算机设备及存储介质 | |
CN101815996A (zh) | 检测名称实体和新词 | |
CN110377884A (zh) | 文档解析方法、装置、计算机设备及存储介质 | |
CN110196929A (zh) | 问答对的生成方法和装置 | |
JP5323652B2 (ja) | 類似語決定方法およびシステム | |
JP3022539B1 (ja) | 文書検索装置 | |
CN110020163A (zh) | 基于人机交互的搜索方法、装置、计算机设备和存储介质 | |
Nguyen et al. | Text normalization for named entity recognition in Vietnamese tweets | |
US8793271B2 (en) | Searching documents using a dynamically defined ignore string | |
CN109947779A (zh) | 用户输入词汇的存储方法、装置及设备 | |
JP5257189B2 (ja) | 検索結果出力プログラム、検索結果出力装置、および検索結果出力方法 | |
JPH0778183A (ja) | デ−タベ−ス検索システム | |
JP2009104475A (ja) | 類似文書検索装置、類似文書検索方法およびプログラム | |
JP3082890B2 (ja) | 書き言葉テキストに対する話題構造認識方法および装置 | |
JP4289891B2 (ja) | 情報検索装置、情報検索方法およびプログラム | |
CN103678467A (zh) | 信息显示控制装置、信息显示控制方法以及系统 | |
JP7485986B2 (ja) | 情報処理方法、情報処理装置、及びプログラム | |
CN108052508B (zh) | 一种信息抽取方法及装置 | |
JP5297234B2 (ja) | 日本語エイリアスデータベースを利用して長音及び促音に対するエラーを減らし、日本語入力機の使用の際に単字検索機能を提供する方法及びシステム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |