本申请涉及输入法
技术领域:
:,尤其涉及一种输入法多元词发现方法及装置。
背景技术:
::随着社会经济、文化和科技水平的不断发展和提高,人们日常使用的词汇和专业领域的词汇也在不断的发展。这导致了新词的迅速涌现与快速迭代发展。快速发现人们日常中使用的新词,将极大的提高拼音输入法的准确性和及时性。现有技术中,新词发现的方法可以分为两类。一种是基于语言规则的方法,另外一种是基于统计学习的方法。在实现现有技术的过程中,发明人发现:传统的基于语言规则的方法,主要是通过语言学家,构建相关领域的新词发现规则,同时也需要语言学家对于这些相关领域的规则进行维护。这种方法需要耗费大量的时间与金钱,同时也导致这些规则难以迁移到别的领域当中,限制了该类方法的泛用性。基于统计学习的方法。该方法是通过从大量语料数据中,统计成字概率、字频和字左右信息熵,从而实现新词的发现。而该方法需要大量语料数据作为支持。由于该方法基于字为单位进行统计学分析,其分析速度相对较慢。此外,很多基于统计学习的方法,只能用于统计二元词之间的关系,而无法统计多元词之间的关系。因此,需要提供一种输入法多元词发现方法及装置,用以解决输入法发现多元词效率低的技术问题。技术实现要素:本申请实施例提供一种输入法多元词发现方法及装置,用以解决输入法发现多元词效率低的技术问题。具体的,一种输入法多元词发现方法,包括以下步骤:获取语料数据;通过分词模型,对所述语料数据进行分词,生成若干分词单元;以wfp数据结构存储分词单元;通过读取wfp数据结构,比较分词单元与分词单元的关联性,确定分词单元组合;添加所述分词单元组合至词库。进一步的,所述以wfp数据结构存储分词单元,具体包括:构建字符索引表和频次特征树,生成初始wfp数据结构;将若干分词单元构成的语句逻辑体导入初始wfp数据结构,生成最终wfp数据结构;其中,频次特征树由若干个节点构成,所述频次特征树用于描述分词单元在语料数据的词频信息;所述节点存在前项索引集合、后项索引集合、当前节点的分词单元,以及当前节点词频;字符索引表由若干个字符索引组成,单个字符索引代表唯一对应的一个分词单元;字符索引用于记录节点在的频次特征树中的位置信息。进一步的,所述将若干分词单元构成的语句逻辑体导入初始wfp数据结构,生成最终wfp数据结构,具体包括:初始wfp数据结构获取语句逻辑体中第一分词单元;查找对应第一分词单元的前项分词单元的节点nodepre;判断第一分词单元是否在前项分词单元节点nodepre的后项索引集合postset中;当第一分词单元在前项分词单元节点nodepre的后项索引集合postset中,将前项分词单元节点nodepre的后项索引集合postset中第一分词单元所在的nodepre->p节点的频次增加1;获取语句逻辑体中第一分词单元的后项分词单元,重复判断后项分词单元是否在第一分词单元节点的后项索引集合中,直至初始wfp数据结构存储若干分词单元构成的语句逻辑体,生成最终wfp数据结构。进一步的,所述将若干分词单元构成的语句逻辑体导入初始wfp数据结构,生成最终wfp数据结构,具体包括:初始wfp数据结构存储若干分词单元构成的语句逻辑体;初始wfp数据结构获取语句逻辑体中第一分词单元;查找对应第一分词单元的前项分词单元的节点nodepre;判断第一分词单元是否在前项分词单元节点nodepre的后项索引集合postset中;当第一分词单元不在前项分词单元节点nodepre的后项索引集合postset中,判断第一分词单元是否在字符索引表wtable中;当第一分词单元在字符索引表wtable中,将第一分词单元在字符索引表wtable中对应的字符索引windex中添加一个记录wkposp;获取语句逻辑体中第一分词单元的后项分词单元,重复判断后项分词单元是否在在字符索引表wtable中,直至初始wfp数据结构存储若干分词单元构成的语句逻辑体,生成最终wfp数据结构。进一步的,所述将若干分词单元构成的语句逻辑体导入初始wfp数据结构,生成最终wfp数据结构,具体包括:初始wfp数据结构存储若干分词单元构成的语句逻辑体;初始wfp数据结构获取语句逻辑体中第一分词单元;查找对应第一分词单元的前项分词单元的节点nodepre;判断第一分词单元是否在前项分词单元节点nodepre的后项索引集合postset中;当第一分词单元不在前项分词单元节点nodepre的后项索引集合postset中,判断第一分词单元是否在字符索引表wtable中;当第一分词单元不在字符索引表wtable中,基于第一分词单元在字符索引表wtable中添加一个新的字符索引windex;将第一分词单元在字符索引表wtable中对应的字符索引windex中添加一个记录wkposp;获取语句逻辑体中第一分词单元的后项分词单元,重复判断后项分词单元是否在在字符索引表wtable中,直至初始wfp数据结构存储若干分词单元构成的语句逻辑体,生成最终wfp数据结构。进一步的,所述通过读取wfp数据结构,比较分词单元与分词单元的关联性,确定分词单元组合,具体包括:根据wfp数据结构,构建多元词关系表;通过扫描多元词关系表,计算分词单元与分词单元的扩充信息熵;当所述分词单元与分词单元的扩充信息熵小于或等于第一预设阈值,确定分词单元组合;其中,所述多元词关系表描述分词单元组合关联性。进一步的,所述根据wfp数据结构,构建多元词关系表,具体包括:通过扫描字符索引表,计算第一分词单元所在频次特征树节点的频次和第一分词单元所在频次特征树指向位置信息总和;当第一分词单元所在频次特征树指向位置信息总和大于第二预设阈值,将第一分词单元存储至一元词关系表;基于一元词关系表,通过一元词关系表中的分词单元序列信息、词频信息,扩充至k元词关系表;其表示如下:式中,为扩充到k元词的关系,nodei和nodej为尝试扩充添加关系的新词;rtable1为一元词关系表;noder,p,k-1,1为第r个关系中第p个组合对应的节点,post_noder,p,k-1,k-1为其noder,p,k-1,k-1节点中的后项索引集合。进一步的,所述通过扫描多元词关系表,计算分词单元组合的扩充信息熵,具体表现为:其中,ae为扩充熵;c(nodei)为统计节点nodei所代表的分词单元在语料数据中出现的次数;c(pre_noder,p,k-1,1)为统计noder,p,k-1,1前项索引集合中节点所代表的分词单元在语料数据中出现的次数;为统计noder,p,k-1,k-1的后项索引集合中节点所代表的分词单元在语料数据中出现的次数;为的多元词扩充信息熵,为的多元词扩充信息熵;当计算得到的大于第三预设阈值,则放弃扩充为本申请实施例还提供一种输入法新词发现装置。具体的,一种输入法多元词发现装置,包括:获取模块,用于获取语料数据;分词模块,用于通过分词模型,对所述语料数据进行分词,生成若干分词单元;存储模块,用于以wfp数据结构存储分词单元;比较模块,用于通过读取wfp数据结构,比较分词单元与分词单元的关联性,确定分词单元组合;输出模块,用于添加所述分词单元组合至词库。进一步的,所述存储模块用于以wfp数据结构存储分词单元,具体用于:构建字符索引表和频次特征树,生成初始wfp数据结构;将若干分词单元构成的语句逻辑体导入初始wfp数据结构,生成最终wfp数据结构;其中,频次特征树由若干个节点构成,所述频次特征树用于描述分词单元在语料数据的词频信息;所述节点存在前项索引集合、后项索引集合、当前节点的分词单元,以及当前节点词频;字符索引表由若干个字符索引组成,单个字符索引代表唯一对应的一个分词单元;字符索引用于记录节点在的频次特征树中的位置信息。本申请实施例提供的技术方案,至少具有如下有益效果:通过驱动深度学习模型,对获取到的语料数据进行分词后,对生成若干分词单元进行分词单元组合判断,提高了发现多元词的准确率、效率。附图说明此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:图1为本申请实施例提供的一种输入法多元词发现方法的流程图。图2为本申请实施例提供的一种构建wfp数据结构的流程图。图3为本申请实施例提供的一种输入法多元词发现装置的结构示意图。100输入法多元词发现装置11获取模块12分词模块13存储模块14比较模块15输出模块具体实施方式为使本申请的目的、技术方案和优点更加清楚,下面将结合本申请具体实施例及相应的附图对本申请技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。随着社会经济、文化和科技水平的不断发展和提高,人们日常使用的词汇和专业领域的词汇也在不断的发展。这导致了新词的迅速涌现与快速迭代发展。快速发现人们日常中使用的新词,将极大的提高拼音输入法的准确性和及时性。但现有技术中基于统计学习的方法,通常以字为单位进行统计学分析,分析速度相对较慢。因此,需要一种输入法多元词发现方案,用于解决输入法发现多元词效率低的技术问题。请参照图1,本申请公开一种输入法多元词发现方法,包括以下步骤:s110:获取语料数据。可以理解的是,所述语料数据可以理解为包括字、词、句、文档中的至少一种文本组合。视频网站中的视频标题、视频网站中的评论、资料网站中的文档等数据均可以是本申请文件所述的语料数据。s120:通过分词模型,对所述语料数据进行分词,生成若干分词单元。可以理解的是,所述分词模型可以是一种基于语言语法规则的神经网络算法模型,用于识别语料数据语法成分或语料数据词组词性,并根据语法成分或语料数据词组词性对语料数据进行分词,生成若干分词单元。其中,所述语料数据语法成分可以表现为句子中的主语、谓语、宾语、动语、定语、状语、补语、表语、同位语等语法成分。所述语料数据词组词性可以表现为名词、代词、动词、介词、数词等词组词性。因此步骤s120可以表现为:输入语料数据至分词模型;之后,所述分词模型根据句子中的名词、代词、动词、介词、数词等词组词性,对语料数据进行分词;最后分词模型将所述语料数据拆分成若干分词单元。或者步骤s120还可以表现为:输入语料数据至分词模型;之后,所述分词模型根据句子中的主语、谓语、宾语、动语、定语、状语、补语、表语、同位语等语法成分,对语料数据进行分词;最后分词模型将所述语料数据拆分成若干分词单元。s130:以wfp数据结构存储分词单元。需要指出的是,在实现存储分词单元的过程中,发明人发现使用不同数据结构存储分词单元,导致系统读取、扫描、处理速度也不同。为了能够优化系统处理效率和运行空间消耗,本申请优选采用wfp数据结构存储分词单元,便于系统快速读取,从而加快数据的处理速度。具体的,在本申请提供的一种具体实施方式中,以wfp数据结构存储分词单元具体可以表现为:系统构建字符索引表和频次特征树,生成初始wfp数据结构。然后系统将若干分词单元构成的语句逻辑体导入初始wfp数据结构,生成最终wfp数据结构。其中,频次特征树由若干个节点构成,所述频次特征树用于描述分词单元在语料数据的词频信息;所述节点存在前项索引集合、后项索引集合、当前节点的分词单元,以及当前节点词频。所述字符索引表由若干个字符索引组成,单个字符索引代表唯一对应的一个分词单元;字符索引用于记录节点在的频次特征树中的位置信息。需要指出的是,系统可以将若干分词单元构成语句逻辑体。所述语句逻辑体可以理解为,是由若干的分词单元以语言逻辑所构成的句子。因此所述语句逻辑体也可以理解为,分词单元根据其在语料数据的位置信息排列构成语句逻辑体。可以理解的是,以wfp数据结构存储语句逻辑体比以wfp数据结构直接存储无序的分词单元更侧重于分词单元间的联系。又比以wfp数据结构直接存储语料数据计算量更快速,且分词单元间的联系更紧密。下面揭示初始wfp数据结构的构建过程。当语料数据通过分词模型进行分词,生成若干分词单元。分词单元用表示。其中,s为语料数据集合,由n条语句逻辑体组成。si表示为第i个语句逻辑体,由m个分词单元组成。表示的是第i条语句逻辑体的第j个分词单元。对于si(i∈n),以root为start初始点集合,构建wfp数据结构。wfp数据结构主要由两部分组成,分别是字符索引表wtable和频次特征树fptree。其中,频次特征树由若干个节点node构成。所述节点node存在前项索引集合preset、后项索引集合postset、当前节点的词组w,以及当前节点词频freq。字符索引表wtable由若干个字符索引windex组成,单个字符索引windex代表着唯一对应的一个分词单元uniq_wk。所述字符索引windex记录着对应的分词单元uniq_wk在频次特征树fptree中node节点的位置信息wkpos,wkpos={wkpos1,wkpos2,...,wkposp}。请参照图2,在本申请提供的一种具体实施方式中,对于将若干分词单元构成的语句逻辑体导入初始wfp数据结构,生成最终wfp数据结构,可以表现为:初始wfp数据结构获取语句逻辑体中第一分词单元后,查找对应第一分词单元的前项分词单元的节点nodepre。然后判断第一分词单元是否在前项分词单元节点nodep作的后项索引集合postset中。当第一分词单元在前项分词单元节点nodepre的后项索引集合postset中,将前项分词单元节点nodepre的后项索引集合postset中第一分词单元所在的nodepre->p节点的频次增加1。之后获取语句逻辑体中第一分词单元的后项分词单元,即重复判断后项分词单元是否在第一分词单元节点的后项索引集合中,直至初始wfp数据结构存储若干分词单元构成的语句逻辑体,生成最终wfp数据结构。在本申请提供的另一种具体实施方式中,将若干分词单元构成的语句逻辑体导入初始wfp数据结构,生成最终wfp数据结构,还可以表现为:初始wfp数据结构获取语句逻辑体中第一分词单元后,查找对应第一分词单元的前项分词单元的节点nodepre。然后判断第一分词单元是否在前项分词单元节点nodepre的后项索引集合postset中。当第一分词单元不在前项分词单元节点nodepre的后项索引集合postset中,判断是否在字符索引表wtable中。当第一分词单元在字符索引表wtable中,将第一分词单元在字符索引表wtable中对应的字符索引windex中添加一个记录wkposp。之后获取语句逻辑体中第一分词单元的后项分词单元,即重复判断后项分词单元是否在第一分词单元节点的后项索引集合中,直至初始wfp数据结构存储若干分词单元构成的语句逻辑体,生成最终wfp数据结构。在本申请提供的又一种具体实施方式中,将若干分词单元构成的语句逻辑体导入初始wfp数据结构,生成最终wfp数据结构,还可以表现为:初始wfp数据结构获取语句逻辑体中第一分词单元后,查找对应第一分词单元的前项分词单元的节点nodepre。然后判断第一分词单元是否在前项分词单元节点nodep作的后项索引集合postset中。当第一分词单元不在前项分词单元节点nodepre的后项索引集合postset中,判断是否在字符索引表wtable中。当第一分词单元不在字符索引表wtable中,基于第一分词单元在字符索引表wtable中添加一个新的字符索引windex。然后将第一分词单元在字符索引表wtable中对应的字符索引windex中添加一个记录wkposp。之后获取语句逻辑体中第一分词单元的后项分词单元,即重复判断后项分词单元是否在第一分词单元节点的后项索引集合中,直至初始wfp数据结构存储若干分词单元构成的语句逻辑体,生成最终wfp数据结构。需要强调的是,通过wfp数据结构存储分词单元,能够使系统快速读取分词单元信息,从而加快数据的处理速度。并且字符索引表wtable和频次特征树fptree也使得系统可以不局限于确定一元词、二元词。通过字符索引表wtable和频次特征树fptree可以分析出多元词关系,从而使输入法更为准确。s140:通过读取wfp数据结构,比较分词单元与分词单元的关联性,确定分词单元组合。需要指出的是,所述通过读取wfp数据结构,比较分词单元与分词单元的关联性,确定分词单元组合,具体可以表现为:系统根据wfp数据结构,构建多元词关系表。之后,系统通过扫描多元词关系表,计算分词单元与分词单元的扩充信息熵。当所述分词单元与分词单元的扩充信息熵小于或等于第一预设阈值,确定分词单元组合。需要注意的是,在步骤s130完成wfp数据结构的构建后,系统还需要根据wfp数据结构构建多元词关系表multi-rtable。具体的,所述多元词关系表multi-rtable由若干个子表构成,用于描述分词单元组合关联性。分别是一元词关系子表(rtable1)、k-1元词关系子表(rtablek-1)、k元词关系子表(rtablek)构成。所述k元词关系子表可以表示为存在其中而构建多元词关系表multi-rtable至少需要构建一元词关系子表(rtable1),表示如下:系统通过扫描字符索引表wtable,对于任意一个uniq_wk,计算其wkpos中所指向的node节点的频次和sum(wkpos)。如果sum(wkpos)大于第二预设阈值freq_threshold,则将uniq_wk放入一元词关系表中。之后需要基于k-1元词表,扩充得到k元词表。而所述的k元词表的k值至少为2。例如,当k为2时,二元词关系子表(rtable2)就可以根据一元词关系子表(rtable1)构建。需要指出的是,基于k-1元词表扩充得到k元词表,可以如下表示为:令为k-1元词表中第r个关系中第p个组合,pre_noder,p,k-1,1为其noder,p,k-1,1节点中的前项索引集合,post_noder,p,k-1,k-1为其noder,p,k-1,k-1节点中的后项索引集合。之后根据下列公式,推理得到k元词表中的关系。公式中,为扩充到k元词的关系,nodei和nodej为尝试扩充添加关系的新词;rtable1为一元词关系表;noder,p,k-1,1为第r个关系中第p个组合对应的节点,post_noder,p,k-1,k-1为其noder,p,k-1,k-1节点中的后项索引集合。之后计算的多元词扩充信息熵其计算公式如下:其中ae为扩充熵;c(nodei)为统计节点nodei所代表的分词单元在语料数据中出现的次数;c(pre_noder,p,k-1,1)为统计noder,p,k-1,1前项索引集合中节点所代表的分词单元在语料数据中出现的次数;为统计noder,p,k-1,k-1的后项索引集合中节点所代表的分词单元在语料数据中出现的次数;为的多元词扩充信息熵,为的多元词扩充信息熵。如果计算得到的大于第三预设阈值,则放弃扩充为最后重复上述步骤,直至得到k元词关系表。通过上述的构建wfp数据结构与构建k元词关系表,可以获取到1到k的多元词关系表。而表中的多元词关系可以认为是从语料数据中分词单元与分词单元的多元词关系。将分词单元与分词单元的多元词关系进行哈希判重后,可以确定分词单元组合关系。需要强调的是,由于k元词关系表的建立,可以使得系统发现的分词单元组合不局限于一元词、二元词。系统通过扫描k元词关系表可以分析出多元词关系。将确定的多元词关系对应的分词单元与分词单元组合,保存至词库,可以使输入法的词库更丰富,并使得输入更为准确。s150:添加所述分词单元组合至词库。可以理解的是,当所述多元词确定为分词单元组合后可以视为新词组。从而添加所述分词单元组合至词库。在本申请提供的一种具体实施方式中,通过所述输入法多元词发现方法发现新词。系统在获取语料数据“因covid19病毒大流行”后,通过基于深度学习的分词模型,可以得到分词单元。分词单元表现为“因”、“covid”、“19”、“病毒”、“大流行”。同时也能得到分词单元的词性。比如“因”的词性是介词,“covid”是英文,“19”是数字,“病毒”是名词。将所述分词单元的词性、分词单元与分词单元的连接频次作为分词单元属性,以wfp数据结构进行存储。通过对于wfp树进行扫描,可以确定符合预设阈值要求的分词单元与分词单元的关联关系。例如通过计算可以确定,“covid”后接“19”的信息熵、与“19”前接“covid”的信息熵,均小于第一预设阈值。因此判定结果是“covid19”作为新词组。进而将“covid19”作为新词组加入词库,完成输入法对于新词的发现、记录。输入法多元词发现方法通过驱动深度学习模型对获取到的语料数据进行分词后,对生成若干分词单元进行分词单元组合判断,提高了发现新词的准确率、效率。请参照图3,为支持输入法多元词发现方法,本申请还提供一种输入法多元词发现装置100,包括:获取模块11,用于获取语料数据;分词模块12,用于通过分词模型,对所述语料数据进行分词,生成若干分词单元;存储模块13,用于以wfp数据结构存储分词单元;比较模块14,用于通过读取wfp数据结构,比较分词单元与分词单元的关联性,确定分词单元组合;输出模块15,用于添加所述分词单元组合至词库。可以理解的是,获取模块11获取到的语料数据可以理解为包括字、词、句、文档中的至少一种文本组合。例如所述语料数据可以是视频网站中的视频摘要、图片网站中的评论、资料网站中的文档等。分词模块12调用的分词模型可以是一种基于语言语法规则的神经网络算法模型,用于识别语料数据语法成分或语料数据词组词性,并根据语法成分或语料数据词组词性对语料数据进行分词,生成若干分词单元。例如,所述分词模型可以根据语料数据中的名词、代词、动词、介词、数词等词组词性,对语料数据进行分词,将所述语料数据拆分成若干分词单元。或者所述分词模型还可以根据语料数据中的主语、谓语、宾语、动语、定语、状语、补语、表语、同位语等语法成分,对语料数据进行分词,将所述语料数据拆分成若干分词单元。需要指出的是,为了能够优化系统处理效率和运行空间消耗,存储模块13采用wfp数据结构存储分词单元,便于输入法多元词发现装置100快速读取,从而加快数据的处理速度。具体的,在本申请提供的一种具体实施方式中,存储模块13用于以wfp数据结构存储分词单元具体可以表现为:存储模块13构建字符索引表和频次特征树,生成初始wfp数据结构。然后系统将若干分词单元构成的语句逻辑体导入初始wfp数据结构,生成最终wfp数据结构。其中,频次特征树由若干个节点构成,所述频次特征树用于描述分词单元在语料数据的词频信息;所述节点存在前项索引集合、后项索引集合、当前节点的分词单元,以及当前节点词频。所述字符索引表由若干个字符索引组成,单个字符索引代表唯一对应的一个分词单元;字符索引用于记录节点在的频次特征树中的位置信息。需要指出的是,存储模块13可以将若干分词单元构成语句逻辑体。所述语句逻辑体可以理解为,是由若干的分词单元以语言逻辑所构成的句子。因此所述语句逻辑体也可以理解为,分词单元根据其在语料数据的位置信息排列构成语句逻辑体。可以理解的是,以wfp数据结构存储语句逻辑体比以wfp数据结构直接存储无序的分词单元更侧重于分词单元间的联系。又比以wfp数据结构直接存储语料数据计算量更快速,且分词单元问的联系更紧密。下面揭示存储模块13构建初始wfp数据结构的过程。当语料数据通过分词模型进行分词,生成若干分词单元。分词单元用表示。其中,s为语料数据集合,由n条语句逻辑体组成。si表示为第i个语句逻辑体,由m个分词单元组成。表示的是第i条语句逻辑体的第j个分词单元。对于si(i∈n),以root为start初始点集合,构建wfp数据结构。wfp数据结构主要由两部分组成,分别是字符索引表wtable和频次特征树fptree。其中,频次特征树由若干个节点node构成。所述节点node存在前项索引集合preset、后项索引集合postset、当前节点的词组w,以及当前节点词频freq。字符索引表wtable由若干个字符索引windex组成,单个字符索引windex代表着唯一对应的一个分词单元uniq_wk。所述字符索引windex记录着对应的分词单元uniq_wk在频次特征树fptree中node节点的位置信息wkpos,wkpos={wkpos1,wkpos2,...,wkposp}。对于存储模块13将若干分词单元构成的语句逻辑体导入初始wfp数据结构,生成最终wfp数据结构,可以表现为:存储模块13获取语句逻辑体中第一分词单元后,查找对应第一分词单元的前项分词单元的节点nodepre。然后判断第一分词单元是否在前项分词单元节点nodepre的后项索引集合postset中。当第一分词单元在前项分词单元节点nodepre的后项索引集合postset中,将前项分词单元节点nodepre的后项索引集合postset中第一分词单元所在的nodepre->p节点的频次增加1。之后获取语句逻辑体中第一分词单元的后项分词单元,即重复判断后项分词单元是否在第一分词单元节点的后项索引集合中,直至初始wfp数据结构存储若干分词单元构成的语句逻辑体,生成最终wfp数据结构。在本申请提供的另一种具体实施方式中,存储模块13将若干分词单元构成的语句逻辑体导入初始wfp数据结构,生成最终wfp数据结构,还可以表现为:存储模块13获取语句逻辑体中第一分词单元后,查找对应第一分词单元的前项分词单元的节点nodepre。然后判断第一分词单元是否在前项分词单元节点nodepre的后项索引集合postset中。当第一分词单元不在前项分词单元节点nodepre的后项索引集合postset中,判断是否在字符索引表wtable中。当第一分词单元在字符索引表wtable中,将第一分词单元在字符索引表wtable中对应的字符索引windex中添加一个记录wkposp。之后获取语句逻辑体中第一分词单元的后项分词单元,即重复判断后项分词单元是否在第一分词单元节点的后项索引集合中,直至初始wfp数据结构存储若干分词单元构成的语句逻辑体,生成最终wfp数据结构。在本申请提供的又一种具体实施方式中,存储模块13将若干分词单元构成的语句逻辑体导入初始wfp数据结构,生成最终wfp数据结构,还可以表现为:存储模块13获取语句逻辑体中第一分词单元后,查找对应第一分词单元的前项分词单元的节点nodepre。然后判断第一分词单元是否在前项分词单元节点nodepre的后项索引集合postset中。当第一分词单元不在前项分词单元节点nodepre的后项索引集合postset中,判断是否在字符索引表wtable中。当第一分词单元不在字符索引表wtable中,基于第一分词单元在字符索引表wtable中添加一个新的字符索引windex。然后将第一分词单元在字符索引表wtable中对应的字符索引windex中添加一个记录wkposp。之后获取语句逻辑体中第一分词单元的后项分词单元,即重复判断后项分词单元是否在第一分词单元节点的后项索引集合中,直至初始wfp数据结构存储若干分词单元构成的语句逻辑体,生成最终wfp数据结构。需要强调的是,存储模块13通过wfp数据结构存储分词单元,能够使输入法多元词发现装置100快速读取分词单元信息,从而加快数据的处理速度。并且字符索引表wtable和频次特征树fptree也使得输入法多元词发现装置100可以不局限于确定一元词、二元词。输入法多元词发现装置100通过字符索引表wtable和频次特征树fptree可以分析出多元词关系,从而使输入法更为准确。需要注意的是,在存储模块13完成wfp数据结构的构建后,比较模块14还需要根据wfp数据结构构建多元词关系表multi-rtable,才能比较分词单元与分词单元的关联性。具体的,比较模块14可以根据wfp数据结构,构建多元词关系表。之后,比较模块14可以通过扫描多元词关系表,计算分词单元与分词单元的扩充信息熵。当所述分词单元与分词单元的扩充信息熵小于或等于第一预设阈值,确定分词单元组合。所述多元词关系表multi-rtable由若干个子表构成,用于描述分词单元组合关联性。多元词关系表multi-rtable可以由一元词关系子表(rtable1)、k-1元词关系子表(rtablek-1)、k元词关系子表(rtablek)构成。所述k元词关系子表可以表示为存在其中而构建多元词关系表multi-rtable至少需要构建一元词关系子表(rtable1),表示如下:比较模块14通过扫描字符索引表wtable,对于任意一个uniq_wk,计算其wkpos中所指向的node节点的频次和sum(wkpos)。如果sum(wkpos)大于第二预设阈值freq_threshold,则将uniq_wk放入一元词关系表中。之后,比较模块14需要基于k-1元词表,扩充得到k元词表。而所述的k元词表的k值至少为2。例如,当k为2时,二元词关系子表(rtable2)就可以根据一元词关系子表(rtable1)构建。需要指出的是,基于k-1元词表扩充得到k元词表,可以如下表示为:令为k-1元词表中第r个关系中第p个组合,pre_noder,p,k-1,1为其noder,p,k-1,1节点中的前项索引集合,post_noder,p,k-1,k-1为其noder,p,k-1,k-1节点中的后项索引集合。之后,比较模块14根据下列公式,推理得到k元词表中的关系。公式中,为扩充到k元词的关系,nodei和nodej为尝试扩充添加关系的新词;rtable1为一元词关系表;noder,p,k-1,1为第r个关系中第p个组合对应的节点,post_noder,p,k-1,k-1为其noder,p,k-1,k-1节点中的后项索引集合。之后比较模块14计算的多元词扩充信息熵其计算公式如下:其中ae为扩充熵;c(nodei)为统计节点nodei所代表的分词单元在语料数据中出现的次数;c(pre_noder,p,k-1,1)为统计noder,p,k-1,1前项索引集合中节点所代表的分词单元在语料数据中出现的次数;为统计noder,p,k-1,k-1的后项索引集合中节点所代表的分词单元在语料数据中出现的次数;为的多元词扩充信息熵,为的多元词扩充信息熵。如果计算得到的大于第三预设阈值,则放弃扩充为最后重复上述步骤,直至得到k元词关系表。通过上述的构建wfp数据结构与构建k元词关系表,比较模块14将获取到1到k的多元词关系表。而表中的多元词关系可以认为是从语料数据中分词单元与分词单元的多元词关系。将分词单元与分词单元的多元词关系进行哈希判重后,可以确定分词单元组合关系。需要强调的是,由于k元词关系表的建立,可以使得比较模块14发现的分词单元组合不局限于一元词、二元词。比较模块14通过扫描k元词关系表可以分析出多元词关系。比较模块14将确定的多元词关系对应的分词单元与分词单元组合,保存至词库,可以使输入法的词库更丰富,并使得输入更为准确。当分词单元组合关系被确定,则分词单元组合可以视为新词组。从而被输出模块15添加所述分词单元组合至词库。在本申请提供的一种具体实施方式中,输入法多元词发现装置100用于发现新词。在获取模块11获取语料数据“因covid19病毒大流行”后,分词模块12通过基于深度学习的分词模型,对所述语料数据进行分词,得到分词单元。分词单元表现为“因”、“covid”、“19”、“病毒”、“大流行”。同时也能得到分词单元的词性。比如“因”的词性是介词,“covid”是英文,“19”是数字,“病毒”是名词。之后,存储模块13将所述分词单元的词性、分词单元与分词单元的连接频次作为分词单元属性,以wfp数据结构进行存储。比较模块14通过对于wfp树进行扫描,可以确定符合预设阈值要求的分词单元与分词单元的关联关系。例如通过计算可以确定,“covid”后接“19”的信息熵、与“19”前接“covid”的信息熵,均小于第一预设阈值。因此比较模块14判定结果是“covid19”作为新词组。进而输出模块15将“covid19”作为新词组加入词库,完成输入法对于新词的发现、记录。输入法多元词发现装置100通过驱动深度学习模型对获取到的语料数据进行分词后,对生成若干分词单元进行分词单元组合判断,提高了发现新词的准确率、效率。需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,有语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。本领域技术人员应明白,本申请的实施例可提供为方法、系统或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。以上所述仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。当前第1页1 2 3 当前第1页1 2 3 
技术特征:1.一种输入法多元词发现方法,其特征在于,包括以下步骤:
获取语料数据;
通过分词模型,对所述语料数据进行分词,生成若干分词单元;
以wfp数据结构存储分词单元;
通过读取wfp数据结构,比较分词单元与分词单元的关联性,确定分词单元组合;
添加所述分词单元组合至词库。
2.如权利要求1所述的输入法多元词发现方法,其特征在于,所述以wfp数据结构存储分词单元,具体包括:
构建字符索引表和频次特征树,生成初始wfp数据结构;
将若干分词单元构成的语句逻辑体导入初始wfp数据结构,生成最终wfp数据结构;
其中,频次特征树由若干个节点构成,所述频次特征树用于描述分词单元在语料数据的词频信息;所述节点存在前项索引集合、后项索引集合、当前节点的分词单元,以及当前节点词频;
字符索引表由若干个字符索引组成,单个字符索引代表唯一对应的一个分词单元;字符索引用于记录节点在的频次特征树中的位置信息。
3.如权利要求2所述的输入法多元词发现方法,其特征在于,所述将若干分词单元构成的语句逻辑体导入初始wfp数据结构,生成最终wfp数据结构,具体包括:
初始wfp数据结构获取语句逻辑体中第一分词单元;
查找对应第一分词单元的前项分词单元的节点nodepre;
判断第一分词单元是否在前项分词单元节点nodepre的后项索引集合postset中;
当第一分词单元在前项分词单元节点nodepre的后项索引集合postset中,将前项分词单元节点nodepre的后项索引集合postset中第一分词单元所在的nodepre->p节点的频次增加1;
获取语句逻辑体中第一分词单元的后项分词单元,重复判断后项分词单元是否在第一分词单元节点的后项索引集合中,直至初始wfp数据结构存储若干分词单元构成的语句逻辑体,生成最终wfp数据结构。
4.如权利要求2所述的输入法多元词发现方法,其特征在于,所述将若干分词单元构成的语句逻辑体导入初始wfp数据结构,生成最终wfp数据结构,具体包括:
初始wfp数据结构存储若干分词单元构成的语句逻辑体;
初始wfp数据结构获取语句逻辑体中第一分词单元;
查找对应第一分词单元的前项分词单元的节点nodepre;
判断第一分词单元是否在前项分词单元节点nodepre的后项索引集合postset中;
当第一分词单元不在前项分词单元节点nodepre的后项索引集合postset中,判断第一分词单元是否在字符索引表wtable中;
当第一分词单元在字符索引表wtable中,将第一分词单元在字符索引表wtable中对应的字符索引windex中添加一个记录wkposp;
获取语句逻辑体中第一分词单元的后项分词单元,重复判断后项分词单元是否在在字符索引表wtable中,直至初始wfp数据结构存储若干分词单元构成的语句逻辑体,生成最终wfp数据结构。
5.如权利要求2所述的输入法多元词发现方法,其特征在于,所述将若干分词单元构成的语句逻辑体导入初始wfp数据结构,生成最终wfp数据结构,具体包括:
初始wfp数据结构存储若干分词单元构成的语句逻辑体;
初始wfp数据结构获取语句逻辑体中第一分词单元;
查找对应第一分词单元的前项分词单元的节点nodepre;
判断第一分词单元是否在前项分词单元节点nodepre的后项索引集合postset中;
当第一分词单元不在前项分词单元节点nodepre的后项索引集合postset中,判断第一分词单元是否在字符索引表wtable中;
当第一分词单元不在字符索引表wtable中,基于第一分词单元在字符索引表wtable中添加一个新的字符索引windex;
将第一分词单元在字符索引表wtable中对应的字符索引windex中添加一个记录wkposp;
获取语句逻辑体中第一分词单元的后项分词单元,重复判断后项分词单元是否在在字符索引表wtable中,直至初始wfp数据结构存储若干分词单元构成的语句逻辑体,生成最终wfp数据结构。
6.如权利要求3至5中任意一项权利要求所述的输入法多元词发现方法,其特征在于,所述通过读取wfp数据结构,比较分词单元与分词单元的关联性,确定分词单元组合,具体包括:
根据wfp数据结构,构建多元词关系表;
通过扫描多元词关系表,计算分词单元与分词单元的扩充信息熵;
当所述分词单元与分词单元的扩充信息熵小于或等于第一预设阈值,确定分词单元组合;
其中,所述多元词关系表描述分词单元组合关联性。
7.如权利要求6所述的输入法多元词发现方法,其特征在于,所述根据wfp数据结构,构建多元词关系表,具体包括:
通过扫描字符索引表,计算第一分词单元所在频次特征树节点的频次和第一分词单元所在频次特征树指向位置信息总和;
当第一分词单元所在频次特征树指向位置信息总和大于第二预设阈值,将第一分词单元存储至一元词关系表;
基于一元词关系表,通过一元词关系表中的分词单元序列信息、词频信息,扩充至k元词关系表;其表示如下:
式中,为扩充到k元词的关系,nodei和nodej为尝试扩充添加关系的新词;rtable1为一元词关系表;noder,p,k-1,1为第r个关系中第p个组合对应的节点,post_noder,p,k-1,k-1为其noder,p,k-1,k-1节点中的后项索引集合。
8.如权利要求7所述的输入法多元词发现方法,其特征在于,所述通过扫描多元词关系表,计算分词单元组合的扩充信息熵,具体表现为:
其中,ae为扩充熵;c(nodei)为统计节点nodei所代表的分词单元在语料数据中出现的次数;c(pre_noder,p,k-1,1)为统计noder,p,k-1,1前项索引集合中节点所代表的分词单元在语料数据中出现的次数;为统计noder,p,k-1,k-1的后项索引集合中节点所代表的分词单元在语料数据中出现的次数;为的多元词扩充信息熵,为的多元词扩充信息熵;
当计算得到的大于第三预设阈值,则放弃扩充为
9.一种输入法多元词发现装置,其特征在于,包括:
获取模块,用于获取语料数据;
分词模块,用于通过分词模型,对所述语料数据进行分词,生成若干分词单元;
存储模块,用于以wfp数据结构存储分词单元;
比较模块,用于通过读取wfp数据结构,比较分词单元与分词单元的关联性,确定分词单元组合;
输出模块,用于添加所述分词单元组合至词库。
10.如权利要求9所述的输入法多元词发现装置,其特征在于,所述存储模块用于以wfp数据结构存储分词单元,具体用于:
构建字符索引表和频次特征树,生成初始wfp数据结构;
将若干分词单元构成的语句逻辑体导入初始wfp数据结构,生成最终wfp数据结构;
其中,频次特征树由若干个节点构成,所述频次特征树用于描述分词单元在语料数据的词频信息;所述节点存在前项索引集合、后项索引集合、当前节点的分词单元,以及当前节点词频;
字符索引表由若干个字符索引组成,单个字符索引代表唯一对应的一个分词单元;字符索引用于记录节点在的频次特征树中的位置信息。
技术总结本申请提供一种输入法多元词发现方法及装置,用于解决输入法发现多元词效率低的技术问题。其中,一种输入法多元词发现方法,包括以下步骤:获取语料数据;通过分词模型,对所述语料数据进行分词,生成若干分词单元;以WFP数据结构存储分词单元;通过读取WFP数据结构,比较分词单元与分词单元的关联性,确定分词单元组合;添加所述分词单元组合至词库。相对于现有技术,所述输入法多元词发现方法能实现多元词关系的发现,并且提高了发现多元词的准确率、效率。
技术研发人员:沈哲吉;贾昌鑫;鲍宁;孙明东
受保护的技术使用者:北京华宇信息技术有限公司
技术研发日:2021.05.07
技术公布日:2021.08.03