词库的生成方法、装置及电子设备与流程

文档序号:11729318阅读:209来源:国知局
词库的生成方法、装置及电子设备与流程

本发明涉及智能词库技术领域,尤其是涉及一种词库的生成方法、装置及电子设备。



背景技术:

在电子商务领域中,商品名称是最重要的基础数据,商品名称具有结构性明显,成词率高,含义丰富,长度有限等特点。

另一方面,词库是对商品进行下一步操作的关键,而商品名称是一个专业性极强,更新频率极高的领域。又由于商品名称的词汇量大,如果由人工维护词库,需要付出庞大且重复枯燥的工作量。

但是,现有的基于通用词库进行匹配分词的方式效果较差,通常是在n-gram的基础上通过词频-逆向文件频率(termfrequency-inversedocumentfrequency,简称tf-idf)对原始语句进行第一次分词,随后再根据现有分词器对原始语句进行第二次分词,然后将两次分词结果进行合并生成词典。其中的n-gram语言模型具有较高的时间复杂度和空间复杂度,并且tf-idf的文本关键字提取算法,需要维护一个较大的语料库,同时又很难发现新出现的频率较低的品牌和商品等词,不适用于商品名称等成词率较高的领域。

对于商品名称等更新频率高的领域,现有技术难以实现准确的切词,因此难以生成有效的词库。



技术实现要素:

有鉴于此,本发明的目的在于提供一种词库的生成方法、装置及电子设备,能够在商品名称等更新频率高的领域,实现准确的切词,并生成有效的词库。

第一方面,本发明实施例提供了一种词库的生成方法,包括:

切词步骤,根据候选词条中的字符和字符组合在字典模块中的频率,确定初始词库中的词条;其中,所述字典模块中存储有若干单字词片及其频率,和若干双字词片及其频率;

聚合步骤,遍历所述初始词库内的词条,将满足聚合条件的多个词条合并为一个词条,生成最终词库。

结合第一方面,本发明实施例提供了第一方面的第一种可能的实施方式,其中,所述切词步骤,具体为:

遍历所述候选词条中的相邻的字符a和字符b,以及字符a和字符b的字符组合ab;

获取字符a、字符b和字符组合ab在字典模块中的频率;

当字符a的频率、字符b的频率和字符组合ab的频率满足切词条件时,将所述字符组合ab作为初始词库中的词条或词条的一部分。

结合第一方面,本发明实施例提供了第一方面的第二种可能的实施方式,其中,所述聚合步骤,具体为:

遍历所述初始词库内的词条;

当词条p被包含在词条q之内时,获取词条p和词条q在所述初始词库中的频率;

当词条p的频率与词条q的频率满足聚合条件时,将词条p替换为词条q,或者将词条q替换为词条p。

结合第一方面,本发明实施例提供了第一方面的第三种可能的实施方式,其中,在所述切词步骤之前,还包括:

预处理步骤,对输入词条进行预处理,生成候选词条。

结合第一方面,本发明实施例提供了第一方面的第四种可能的实施方式,其中,所述预处理步骤,具体为:

排除输入词条中的无用字符;

合并输入词条中的重复词条,生成候选词条。

结合第一方面,本发明实施例提供了第一方面的第五种可能的实施方式,其中,该方法还包括:

从排除了无用字符后的输入词条中提取单字词片;

在所述字典模块中更新所述单字词片的频率;

从排除了无用字符后的输入词条中提取双字词片;

在所述字典模块中更新所述双字词片的频率。

结合第一方面,本发明实施例提供了第一方面的第六种可能的实施方式,其中,在所述字典模块中更新所述单字词片的频率之前,还包括:

当单字词片为降频字符集中的词片时,对该单字词片进行频率降低处理。

结合第一方面,本发明实施例提供了第一方面的第七种可能的实施方式,其中,该方法还包括:

加权步骤,遍历所述最终词库内的词条,当具有包含关系的两个词条的频率满足加权条件时,将所述两个词条的频率之和作为被包含词条的频率。

第二方面,本发明实施例还提供一种词库的生成装置,包括:

切词模块,用于根据候选词条中的字符和字符组合在字典模块中的频率,确定初始词库中的词条;其中,所述字典模块中存储有若干单字词片及其频率,和若干双字词片及其频率;

聚合模块,用于遍历所述初始词库内的词条,将满足聚合条件的多个词条合并为一个词条。

第三方面,本发明实施例还提供一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述的方法的步骤。

第四方面,本发明实施例还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器运行时执行上述的方法的步骤。

本发明实施例带来了以下有益效果:本发明实施例提供的词库的生成方法中,主要包括切词步骤和聚合步骤。在切词步骤中,根据候选词条中的字符和字符组合在字典模块中的频率,确定初始词库中的词条,由于字典模块中存储的是单字词片和双字词片,以及各自的频率,因此能够以低复杂度的统计方式实现准确切词。在聚合步骤中,通过将满足聚合条件的多个词条合并为一个词条,实现具有高相似度的词条的合并,并生成最终词库。因此,本发明实施例提供的技术方案,能够在商品名称等更新频率高的领域,实现准确的切词,并生成有效的词库。

本发明的其他特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点在说明书、权利要求书以及附图中所特别指出的结构来实现和获得。

为使本发明的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。

附图说明

为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本发明实施例一提供词库的生成方法的流程图;

图2为本发明实施例二提供词库的生成方法的流程图;

图3为本发明实施例二中步骤s201的详细流程图;

图4为本发明实施例二中步骤s202的详细流程图;

图5为本发明实施例二中步骤s203的详细流程图;

图6为本发明实施例二中步骤s204的详细流程图;

图7为本发明实施例三提供词库的生成装置的示意图。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合附图对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

目前对于商品名称等更新频率高的领域,现有技术难以实现准确的切词,因此难以生成有效的词库。基于此,本发明实施例提供的一种词库的生成方法、装置及电子设备,能够实现准确的切词,并生成有效的词库。

实施例一:

本发明实施例提供了一种词库的生成方法,可应用于商品名称等更新频率高的领域。如图1所示,该词库的生成方法包括:

s101切词步骤:根据候选词条中的字符和字符组合在字典模块中的频率,确定初始词库中的词条。

其中,字典模块中存储有若干单字词片及其频率,和若干双字词片及其频率。

s102聚合步骤:遍历初始词库内的词条,将满足聚合条件的多个词条合并为一个词条,生成最终词库。

在切词步骤中,根据候选词条中的字符和字符组合在字典模块中的频率,确定初始词库中的词条,由于字典模块中存储的是单字词片和双字词片,以及各自的频率,因此能够以低复杂度的统计方式实现准确切词。在聚合步骤中,通过将满足聚合条件的多个词条合并为一个词条,实现具有高相似度的词条的合并,并生成最终词库。因此,本发明实施例提供的词库的生成方法,能够在商品名称等更新频率高的领域,实现准确的切词,并生成有效的词库。

实施例二:

本发明实施例提供了一种词库的生成方法,可应用于商品名称等更新频率高的领域。如图2所示,该词库的生成方法包括以下步骤:

s201预处理步骤:对输入词条进行预处理,生成候选词条。

如图3所示,本实施例中的预处理步骤具体为:

s2011:排除输入词条中的无用字符。

可以通过预先设置无用字符集的方式,辅助排除输入词条中的无用字符,无用字符集内一般预存有商品的类型、型号、规格等相关字符。

例如,输入词条为“光明畅优酸奶(苹果味)”,其中的“味”是无用字符集中的字符,那么通过本步骤就会将“味”删除,输入词条变为“光明畅优酸奶(苹果)”。

s2012:根据业务场景处理输入词条。

在实际应用中,不同的业务场景会有不同的应用需要。例如,在一个业务场景中,不需要考虑食品的口味,则对于输入词条“光明畅优酸奶(苹果)”,就可以将“(苹果)”删除,输入词条变为“光明畅优酸奶”。

s2013:合并输入词条中的重复词条,生成候选词条。

对于重复出现的输入词条,对其进行合并,生成候选词条,而多个候选词条组成候选词条库。

此外,本身不同的两个词条,也有可能在经过上述步骤s2011、s2012之后变为重复词条。例如,两个输入词条分别是“光明畅优酸奶(苹果味)”和“光明畅优酸奶(草莓味)”,这两个输入词条经过上述步骤s2011、s2012之后就会变为相同的“光明畅优酸奶”,对于此种情况也应当进行合并。

进一步,在上述的预处理过程中,还可以实现对字典模块的维护,具体包括以下步骤:

s2014:从输入词条中提取单字词片。

优选的,本步骤是从排除了无用字符后,以及经过业务场景处理后的输入词条中提取单字词片和该单字词片的频率,以减少维护字典模块的工作量。

进一步的是,本步骤应当在步骤s2012处理后的输入词条的基础上进行,以保证单字词片的频率的准确性。

s2015:判断是否存在降频字符集中的词片。

当单字词片为降频字符集中的词片时,对该单字词片进行频率降低处理。可以预先设置降频字符集,其中一般预存有描述商品的单位、大小、数量词等相关字符。例如,输入词条“开瓶器”,其中的字符“瓶”是降频字符集中的字符,所以对字符“瓶”进行频率降低处理。

通常可以采用做除法的方式进行频率降低处理。例如字符“瓶”出现的频率为200次,则将该频率除以50(或其他数值),降低频率后的字符“瓶”的频率为4次。以上降低频率的过程表示,在出现的200次字符“瓶”中,约有196次是以量词的形式出现的(如一瓶啤酒),其余4次是以商品名称的形式出现(如开瓶器),因此保证了字符频率统计的准确度。

s2016:更新单字字典。

本实施例中的字典模块中包括单字字典和双子字典,其内容是在本实施例的执行过程中不断丰富的。也就是说,在本实施例提供的词库的生成方法执行之初,字典模块是空的,没有任何词片记录。

本步骤是在字典模块中更新单字词片的频率。也就是,将所提取的单字词片以及该单字词片的频率,更新至字典模块的单字字典中。

s2017:从输入词条中提取双字词片;

与步骤s2014相同,本步骤也是从排除了无用字符后,以及经过业务场景处理后的输入词条中提取双字词片和双字词片的频率,以减少维护字典模块的工作量。

例如,输入词条“光明畅优酸奶”,则提取“光明”“明畅”“畅优”“优酸”“酸奶”共五个双字词片。

s2018:更新双字字典。

将所提取的双字词片以及该双字词片的频率,更新至字典模块的双字字典中。

s202切词步骤:根据候选词条中的字符和字符组合在字典模块中的频率,确定初始词库中的词条。

如图4所示,本步骤具体过程如下:

s2021:遍历候选词条中的字符和字符组合,设置s=1。

s2021a:设置a=s。

s2021b:设置b=a+1。

其中,参数s代表遍历的进度,s=1表示从候选词条的第一个字开始遍历,a=s表示当前进行判断的起始字符a,b=a+1表示字符a相邻的后一个字符b,以及当前进行判断的字符组合ab。

例如候选词条“光明畅优酸奶”,首先判断“光”“明”和“光明”。

s2022:获取字符a、字符b和字符组合ab在字典模块中的频率。

s2023:判断字符a、字符b和字符组合ab是否切词条件。

本实施例采用切词公式pa·pb/(pab2(pa+pb+pab))的计算结果是否大于切词阈值进行判断,其中pa为字符a的频率,pb为字符b的频率,pab为字符组合ab的频率,切词阈值通常可以取值为1.0。

如果计算结果小于或等于1.0,即字符a的频率、字符b的频率和字符组合ab的频率满足切词条件,表示字符组合ab(“光明”)经常连用在一个词条中,可以作为初始词库中的双字词条,或作为多字词条的一部分。

此时执行步骤s2023a,将参数a的值加1(a++),并返回步骤s2021b,然后获取下一个字符组合ab(“明畅”)以及字符a(“明”)、字符b(“畅”)的频率,并利用切词公式进行计算,直至出现计算结果大于1.0的情况。

如果计算结果大于1.0,则表示字符组合ab很少连用在一个词条中,应当在字符a与字符b之间断开,进行步骤s2024。

通过上述方式进行切词,即可确定放入初始词库中的词条。

s2024:截取s至a的词条放入初始词库。

在“光明畅优酸奶”的示例中,则截取词条“光明”放入初始词库。在其他示例中,如果在步骤s2021b至步骤s2023之间循环了多次,则会截取出三个字以上的词条。

s2025:判断该候选词条是否已遍历完。

如果没有遍历完,则执行步骤s2025a,设置s=a+1,并返回步骤s2021a,继续对字符组合“畅优”进行判断。如果已遍历完,则结束本步骤,生成初始词库。

通过切词步骤,能够完全不依赖现有词库和任何分词器,仅根据统计学相关算法来实现初始词库的自动建立。并且,采用统计方式在线性阶o(n)时间复杂度实现准确切词,同时仅需维护单字字典和双字字典就可以为切词统计提供基础。另外,通过切词公式可以准确迅速的发现新出现的频率较低的品牌或者商品等词片,从而在商品名称等更新频率高的领域,实现准确的切词,并生成有效的词库。

s203聚合步骤:遍历初始词库内的词条,将满足聚合条件的多个词条合并为一个词条,生成最终词库。

如图5所示,本步骤具体过程如下:

s2031:遍历初始词库内的词条。

s2032:判断是否存在具有包含关系的词条。

本步骤中,通常只对字数相差一个字的词条进行判断。如果存在,则继续进行步骤s2033;如果不存在,则结束本步骤。

s2033:获取具有包含关系的词条在初始词库中的频率。

当词条p被包含在词条q之内时,获取词条p和词条q在初始词库中的频率。例如,词条p“开瓶”被包含在词条q“开瓶器”之内,则获取这两个词条在初始词库中的频率。

s2034:判断词条p的频率与词条q的频率是否满足聚合条件。

本实施例采用聚合公式d=pp/(pp+pq)与聚合阈值的关系进行判断,其中pp为词条p的频率,pq为词条q的频率,优选的,聚合阈值为两个值,分别为0.9和0.1。

当d的值位于两个聚合阈值之间时,表示不满足聚合条件;当d小于0.1或大于0.9时,表示满足聚合条件。

具体的,如果d<0.1,则表示词条p的频率远低于词条q的频率,执行步骤s2034a,将词条p替换为词条q,比如将“开瓶”替换为“开瓶器”。如果d>0.9,则表示词条p的频率远高于词条q的频率,执行步骤s2034b,则将词条q替换为词条p。

如果0.1≤d≤0.9,则结束本步骤。

s2035:生成最终词库。

本实施例提供的词库的生成方法是随着每一批次的输入词条循环进行的,所以本步骤通常是对已生成的最终词库进行更新,以生成更为完善的最终词库。如果本批次的输入词条是首次输入的,则本步骤是首次生成最终词库。

在聚合步骤中,通过采用聚合公式,将满足聚合条件的多个词条合并为一个词条,实现具有高相似度的词条的合并,并生成最终词库,使最终词库中的词条更加精炼、准确。

作为一个优选方案,本发明实施例提供的词库的生成方法,还包括s204加权步骤:遍历最终词库内的词条,当具有包含关系的两个词条的频率满足加权条件时,将两个词条的频率之和作为被包含词条的频率。

如图6所示,本步骤具体过程如下:

s2041:遍历最终词库内的词条。

s2042:判断是否存在具有包含关系的词条。

如果存在,则继续进行步骤s2043;如果不存在,则结束本步骤。

s2043:获取具有包含关系的词条在最终词库中的频率。

当词条x被包含在词条y之内时,获取词条x和词条y在最终词库中的频率。例如,词条“百事”被包含在“百事可乐”之内,则获取这两个词条在最终词库中的频率。

s2044:判断词条x的频率与词条y的频率是否满足加权条件。

本实施例采用加权公式e=px/(px+py)与加权阈值的关系进行判断,其中px为词条x的频率,py为词条y的频率,加权阈值通常可以取值为0.7。

如果e≥0.7,则为满足加权条件,执行步骤s2045。如果e<0.7,则不满足加权条件,结束本步骤。

s2045:频率加权。

将词条x与词条y的频率之和作为词条x在最终词库的频率。例如,将“百事”与“百事可乐”的频率之和作为“百事”在最终词库的频率。之后,继续执行步骤s2046。

s2046:更新最终词库。

通过加权步骤,可以使具有包含关系的两个词条同时存在,并且对其中较短的品牌类词条的频率进行加权,能够更客观的体现该词条的频率,提供最终词库的准确度。

实施例三:

如图7所示,本发明实施例还提供一种词库的生成装置,其中包括预处理模块10、字典模块20、切词模块30和聚合模块40。

预处理模块10用于对输入词条进行预处理,生成候选词条。具体的,预处理模块10中包括无用字符集101,预处理模块10根据无用字符集101排除输入词条中的无用字符,根据业务场景处理输入词条,然后合并输入词条中的重复词条,生成候选词条。

字典模块20中包括单字字典201和双子字典202,单字字典存储有若干单字词片及其频率,双子字典存储有若干双字词片及其频率。

字典模块20还包括提取更新单元203,用于从排除了无用字符后的输入词条中提取单字词片,并更新单字词片的频率。提取更新单元203还用于从排除了无用字符后的输入词条中提取双字词片,并更新双字词片的频率。

字典模块20中还包括降频单元204,且预处理模块10中还包括降频字符集102。在更新单字词片的频率之前,降频单元204用于在单字词片为降频字符集102中的词片时,对该单字词片进行频率降低处理。

切词模块30用于根据候选词条中的字符和字符组合在字典模块20中的频率,确定初始词库中的词条。具体的,切词模块30首先遍历候选词条中相邻的字符a和字符b,以及字符a和字符b的字符组合ab。然后获取字符a、字符b和字符组合ab在字典模块20中的频率,当字符a的频率、字符b的频率和字符组合ab的频率满足切词条件时,将字符组合ab作为初始词库中的词条或词条的一部分。

聚合模块40用于遍历初始词库内的词条,将满足聚合条件的多个词条合并为一个词条。具体的,聚合模块40首先遍历初始词库内的词条。当词条p被包含在词条q之内时,获取词条p和词条q在初始词库中的频率。当词条p的频率与词条q的频率满足聚合条件时,将词条p替换为词条q,或者将词条q替换为词条p。

进一步,本发明实施例提供的词库的生成装置还包括加权模块50,用于遍历最终词库内的词条,当具有包含关系的两个词条的频率满足加权条件时,将两个词条的频率之和作为被包含词条的频率。

具体的,加权模块50首先遍历最终词库内的词条。当词条x被包含在词条y之内时,获取词条x和词条y在最终词库中的频率。当词条x的频率与词条y的频率满足加权条件时,将词条x与词条y的频率之和作为词条x在最终词库的频率。

所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的装置的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

本发明实施例提供的词库的生成装置,与上述实施例提供的词库的生成方法具有相同的技术特征,所以也能解决相同的技术问题,达到相同的技术效果。

本发明实施例还提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现上述实施例一或实施例二提供的词库的生成方法的步骤。

本发明实施例还提供一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序被处理器运行时执行上述实施例一或实施例二提供的词库的生成方法的步骤。

所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、磁碟或者光盘等各种可以存储程序代码的介质。

最后应说明的是:以上所述实施例,仅为本发明的具体实施方式,用以说明本发明的技术方案,而非对其限制,本发明的保护范围并不局限于此,尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本发明实施例技术方案的精神和范围,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1