本发明涉及自动问答技术领域,尤其涉及一种领域新词发现的方法及装置。
背景技术:
新词抽取主要是基于统计和规则的方法。基于规则的方法通常是新词的内部构成语法规则或者新词的前后缀规则,以此为准则发现新词。基于统计方法一般是寻找描述新词特征的统计量抽取候选词串,计算其内部聚合度和自由度,在此基础上确定阈值,寻找聚合度和自由度最大的字符串组合。但阈值的确定是个难题,必然存在抽取的新词并非新词的问题,因此,新词候选词中包含垃圾词串、通用词、通用新词和领域新词,其中通用新词属于通用词的一部分。之后,需要大量人工参与新词过滤。而领域新词发现通常是在通用新词发现的基础上,经过人工过滤并分类实现的,工作量大且人工成本非常高。
技术实现要素:
本发明要解决的技术问题是,提供一种领域新词发现的方法及装置,能够从领域新词候选词中自动过滤掉部分垃圾词串和通用词,有效地获得更加准确的领域新词候选词。
本发明采用的技术方案是,所述领域新词发现的方法,包括:
获取通用新词候选词串;
根据预先设定的领域类别及对应的领域语料,采用统计的方法判断所述通用新词候选词串是否为领域新词候选词串;
当所述新词候选词串为领域新词候选词串时,通过相似度计算判断所述领域新词候选词串是否为领域新词。
进一步的,所述获取通用新词候选词串采用以下一种或多种方法的结合:内部构成语法规则方法、前后缀规则方法和特征统计方法。
进一步的,采用统计的方法判断所述通用新词候选词串是否为领域新词候选词串包括:
采用包括所述通用新词候选词串的词典对每个所述领域语料进行分词处理,得到各领域的词语集;
计算所述通用新词候选词串在每个领域的词语集中出现概率,并将最大的所述出现概率对应的领域类别作为目标领域类别;
计算所述通用新词候选词串在至少部分预先设定的领域类别中分布的信息熵,当所述信息熵小于或等于信息熵阈值时,所述通用新词候选词串为所述目标领域类别的领域新词候选词串。
进一步的,所述信息熵阈值的取值范围为:1.5~2.5。
进一步的,设a为所述通用新词候选词串,所述通用新词候选词串在至少部分预先设定的领域类别中分布的信息熵H(a)=-p1×log2(p1)-p2×log2(p2)-…-pn×log2(pn),其中,n为所述至少部分预先设定的领域类别的个数,p1、p2、…、pn为所述通用新词候选词串a在n个所述领域语料的出现概率。
进一步的,所述方法还包括:在采用统计的方法判断所述通用新词候选词串是否为领域新词候选词串之前,对所述预先设定的领域类别的领域语料进行如下预处理:
将所述预先设定的领域类别的领域语料的格式统一为文本格式;
去除含有敏感词的领域语料,根据剩余的领域语料中所含有的断句标点将所述剩余的领域语料分割成句。
进一步的,所述通过相似度计算判断所述领域新词候选词串是否为领域新词包括:
从所述领域新词候选词串对应的领域语料中选择全部或部分的其他词串作为种子词串;
计算所述领域新词候选词串与每个所述种子词串的相似度;
当最大所述相似度大于相似度阈值时,所述领域新词候选词串为领域新词。
进一步的,所述相似度阈值的取值范围为0.6-0.8。
进一步的,判定为领域新词的领域新词候选词串也作为相应领域的种子词串。
进一步的,所述方法还包括:
在得到多个所述领域新词后,进行人工审核,得到领域新词的发现准确率;
当所述发现准确率小于或等于准确率阈值时,调整所述信息熵阈值和/或所述相似度阈值,直至根据调整后的所述信息熵阈值和/或所述相似度阈值得到的发现准确率大于准确率阈值为止。
本发明还提供一种领域新词发现的装置,包括:
获取模块,用于获取通用新词候选词串;
存储模块,用于存储预先设定的领域类别及对应的领域语料;
统计模块,用于根据预先设定的领域类别及对应的领域语料,采用统计的方法判断所述通用新词候选词串是否为领域新词候选词串;
相似度计算模块,用于当所述新词候选词串为领域新词候选词串时,通过相似度计算判断所述领域新词候选词串是否为领域新词。
进一步的,所述获取模块,用于采用以下一种或多种方法的结合获取通用新词候选词串:内部构成语法规则方法、前后缀规则方法和特征统计方法。
进一步的,所述统计模块,包括:
分词单元,用于采用包括所述通用新词候选词串的词典对每个所述领域语料进行分词处理,得到各领域的词语集;
概率计算单元,用于计算所述通用新词候选词串在每个领域的词语集中出现概率;
目标领域确定单元,用于将最大的所述出现概率对应的领域类别作为目标领域类别;
信息熵计算单元,用于计算所述通用新词候选词串在至少部分预先设定的领域类别中分布的信息熵;
新词确认单元,用于当所述信息熵小于或等于信息熵阈值时,确认所述通用新词候选词串为所述目标领域类别的领域新词候选词串。
进一步的,所述统计模块,还包括:
预处理单元,用于在采用统计的方法判断所述通用新词候选词串是否为领域新词候选词串之前,将所述预先设定的领域类别的领域语料的格式统一为文本格式;去除含有敏感词的领域语料,根据剩余的领域语料中所含有的断句标点将所述剩余的领域语料分割成句。
进一步的,所述信息熵阈值的取值范围为:1.5~2.5。
进一步的,所述信息熵计算单元采用以下公式进行计算:设a为所述通用新词候选词串,所述通用新词候选词串在至少部分预先设定的领域类别中分布的信息熵H(a)=-p1×log2(p1)-p2×log2(p2)-…-pn×log2(pn),其中,n为所述至少部分预先设定的领域类别的个数,p1、p2、…、pn为所述通用新词候选词串a在n个所述领域语料的出现概率。
进一步的,所述相似度计算模块,包括:
种子词串选择单元,用于从所述领域新词候选词串对应的领域语料中选择全部或部分的其他词串作为种子词串;
相似运算单元,用于计算所述领域新词候选词串与每个所述种子词串的相似度;
判定单元,用于当最大所述相似度大于相似度阈值时,所述领域新词候选词串为领域新词。
进一步的,所述相似度阈值的取值范围为0.6-0.8。
进一步的,所述相似度计算模块,还包括:
种子词串更新单元,用于将判定为领域新词的领域新词候选词串也作为相应领域的种子词串。
进一步的,所述装置还包括:
准确率确定模块,用于在得到多个所述领域新词后,进行人工审核,得到领域新词的发现准确率;
校正模块,用于当所述发现准确率小于或等于准确率阈值时,调整所述信息熵阈值和/或所述相似度阈值,直至根据调整后的所述信息熵阈值和/或所述相似度阈值得到的发现准确率大于准确率阈值为止。
采用上述技术方案,本发明至少具有下列优点:
作为自动问答领域的基础技术和重要的步骤,本发明所述领域新词发现的方法及装置为领域新词候选词的过滤提供了新的思路,本发明能够简便且有效地过滤掉部分垃圾词串和通用词,筛选出领域新词从而减少了工作量,降低了人工成本。以爬取的百度知道语料为例,领域新词的准确率为91.5%左右。
附图说明
图1为本发明第一实施例的领域新词发现的方法流程图;
图2为本发明第二实施例的领域新词发现的方法流程图;
图3为本发明第三实施例的领域新词发现的方法流程图;
图4为本发明第四实施例的领域新词发现的装置组成结构示意图;
图5为本发明第五实施例的领域新词发现的装置组成结构示意图;
图6为本发明第六实施例的领域新词发现的装置组成结构示意图;
图7为本发明第七实施例的各领域语料的获取及预处理流程图;
图8为本发明第七实施例的领域新词候选词串的筛选流程图;
图9为本发明第七实施例的领域新词的筛选流程图。
具体实施方式
为更进一步阐述本发明为达成预定目的所采取的技术手段及功效,以下结合附图及较佳实施例,对本发明进行详细说明如后。
本发明第一实施例,一种领域新词发现的方法,如图1所示,包括以下具体步骤:
步骤S101,获取通用新词候选词串。
具体的,所述获取通用新词候选词串采用以下一种或多种方法的结合:内部构成语法规则方法、前后缀规则方法和特征统计方法。
步骤S102,根据预先设定的领域类别及对应的领域语料,采用统计的方法判断所述通用新词候选词串是否为领域新词候选词串。
具体的,预先设定的领域类别及对应的领域语料可以基于网络爬虫获得的新语料设定,通常语料的领域有14个大的领域。
需要说明的是,本发明不限定领域类别及每个领域类别对应的领域语料。
在步骤S102中,采用统计的方法判断所述通用新词候选词串是否为领域新词候选词串包括:
采用包括所述通用新词候选词串的词典对每个所述领域语料进行分词处理,得到各领域的词语集;
计算所述通用新词候选词串在每个领域的词语集中出现概率,并将最大的所述出现概率对应的领域类别作为目标领域类别;
计算所述通用新词候选词串在至少部分预先设定的领域类别中分布的信息熵,当所述信息熵小于或等于信息熵阈值时,所述通用新词候选词串为所述目标领域类别的领域新词候选词串。
其中,所述信息熵阈值的取值范围可以为:1.5~2.5,如:1.5、2.0或2.5等。
进一步的,设a为所述通用新词候选词串,所述通用新词候选词串在至少部分预先设定的领域类别中分布的信息熵H(a)=-p1×log2(p1)-p2×log2(p2)-…-pn×log2(pn),其中,n为所述至少部分预先设定的领域类别的个数,p1、p2、…、pn为所述通用新词候选词串a在n个所述领域语料的出现概率。由于新词候选词中的垃圾词串、通用词通常出现概率较高,并且垃圾词串和通用词均在各个领域出现频率相近,而领域新词出现的概率较小,并且领域新词会在不同的领域有明显的偏重,甚至只出现在对应领域。本发明实施例根据这一原理,在现有的通用新词发现方法发现的通用新词候选词的基础上,将得到的通用新词候选词串进一步处理,通过计算各个通用新词候选词串在所有领域类别中分布上的信息熵,信息熵越大表明该通用新词候选词串在各个领域上的分布越平衡,反之,表明该通用新词候选词串的分布偏重某领域。之后,通过确定一个合适的信息熵阈值h过滤掉部分垃圾词串和通用词串,若H(a)>h时,则通用新词候选词串a为垃圾词串或通用词,反之,则通用新词候选词串a为对应出现概率最大的领域的领域新词候选词串,从而筛选出领域新词候选词串。
步骤S103,当所述新词候选词串为领域新词候选词串时,通过相似度计算判断所述领域新词候选词串是否为领域新词。
具体的,在步骤S103中,通过相似度计算判断所述领域新词候选词串是否为领域新词,包括:
从所述领域新词候选词串对应的领域语料中选择全部或部分的其他词串作为种子词串;
计算所述领域新词候选词串与每个所述种子词串的相似度;进一步的,可以将领域新词候选词输入到word2vec模型得到领域新词候选词串的词向量,将每个所述种子词串输入到word2vec模型得到相应的每个所述种子词串的词向量,再计算该领域新词候选词串的词向量与每个所述种子词串的词向量的语义相似度。
当最大所述相似度大于相似度阈值时,所述领域新词候选词串为领域新词。所述相似度阈值的取值范围可以为0.6-0.8,如:0.6、0.7或0.8等。优选的,判定为领域新词的领域新词候选词串后续也可以作为相应领域的种子词串,这样做可以对每个领域的语料进行及时的完善。
本发明实施例的步骤S102是基于统计的思想寻找领域新词候选词串,而未考虑词与领域的语义关系,为了提高确定领域新词的准确度,步骤S103是在语义层面进一步筛选出领域新词。即,将利用word2vec模型计算该领域新词候选词串与某一领域语料中的各词串之间的语义相似度,相似度越大越则越有可能是对应领域的领域新词。之后,领域新词逐渐增加,可以逐渐完善领域词典。
本发明第二实施例,一种领域新词发现的方法,如图2所示,包括以下具体步骤:
步骤S201,获取通用新词候选词串。
具体的,所述获取通用新词候选词串采用以下一种或多种方法的结合:内部构成语法规则方法、前后缀规则方法和特征统计方法。
步骤S202,对预先设定的领域类别的领域语料进行预处理。
具体的,步骤S202包括:
将所述预先设定的领域类别的领域语料的格式统一为文本格式;
去除含有敏感词的领域语料,根据剩余的领域语料中所含有的断句标点将所述剩余的领域语料分割成句。
需要说明的是,本发明实施例与第一实施例的区别就在于,本实施例的所述方法在步骤S203采用统计的方法判断所述通用新词候选词串是否为领域新词候选词串之前,还要通过步骤S202对所述预先设定的领域类别的领域语料进行预处理,由于已对领域语料统一格式并去除敏感词和断句,这样做便于步骤S203中对每个领域的语料进行分词处理,提高分词处理的效率和准确率。
步骤S203,根据预先设定的领域类别及对应的经过预处理后的领域语料,采用统计的方法判断所述通用新词候选词串是否为领域新词候选词串。
具体的,在步骤S203中,采用统计的方法判断所述通用新词候选词串是否为领域新词候选词串包括:
采用包括所述通用新词候选词串的词典对每个所述领域语料进行分词处理,得到各领域的词语集;
计算所述通用新词候选词串在每个领域的词语集中出现概率,并将最大的所述出现概率对应的领域类别作为目标领域类别;
计算所述通用新词候选词串在至少部分预先设定的领域类别中分布的信息熵,当所述信息熵小于或等于信息熵阈值时,所述通用新词候选词串为所述目标领域类别的领域新词候选词串。所述信息熵阈值的取值范围为:1.5~2.5。
进一步的,设a为所述通用新词候选词串,所述通用新词候选词串在至少部分预先设定的领域类别中分布的信息熵H(a)=-p1×log2(p1)-p2×log2(p2)-…-pn×log2(pn),其中,n为所述至少部分预先设定的领域类别的个数,p1、p2、…、pn为所述通用新词候选词串a在n个所述领域语料的出现概率。
步骤S204,当所述新词候选词串为领域新词候选词串时,通过相似度计算判断所述领域新词候选词串是否为领域新词。
具体的,在步骤S204中,通过相似度计算判断所述领域新词候选词串是否为领域新词,包括:
从所述领域新词候选词串对应的领域语料中选择全部或部分的其他词串作为种子词串;
计算所述领域新词候选词串与每个所述种子词串的相似度;
当最大所述相似度大于相似度阈值时,所述领域新词候选词串为领域新词。所述相似度阈值的取值范围为0.6-0.8。优选的,判定为领域新词的领域新词候选词串也作为相应领域的种子词串,这样做可以对每个领域的语料进行及时的完善。
本发明第三实施例,一种领域新词发现的方法,如图3所示,包括以下具体步骤:
步骤S301,获取通用新词候选词串。
具体的,所述获取通用新词候选词串采用以下一种或多种方法的结合:内部构成语法规则方法、前后缀规则方法和特征统计方法。
步骤S302,对预先设定的领域类别的领域语料进行预处理。
具体的,步骤S302包括:
将所述预先设定的领域类别的领域语料的格式统一为文本格式;
去除含有敏感词的领域语料,根据剩余的领域语料中所含有的断句标点将所述剩余的领域语料分割成句。
步骤S303,根据预先设定的领域类别及对应的经过预处理后的领域语料,采用统计的方法判断所述通用新词候选词串是否为领域新词候选词串。
具体的,在步骤S303中,采用统计的方法判断所述通用新词候选词串是否为领域新词候选词串包括:
采用包括所述通用新词候选词串的词典对每个所述领域语料进行分词处理,得到各领域的词语集;
计算所述通用新词候选词串在每个领域的词语集中出现概率,并将最大的所述出现概率对应的领域类别作为目标领域类别;
计算所述通用新词候选词串在至少部分预先设定的领域类别中分布的信息熵,当所述信息熵小于或等于信息熵阈值时,所述通用新词候选词串为所述目标领域类别的领域新词候选词串。所述信息熵阈值的取值范围为:1.5~2.5。
进一步的,设a为所述通用新词候选词串,所述通用新词候选词串在至少部分预先设定的领域类别中分布的信息熵H(a)=-p1×log2(p1)-p2×log2(p2)-…-pn×log2(pn),其中,n为所述至少部分预先设定的领域类别的个数,p1、p2、…、pn为所述通用新词候选词串a在n个所述领域语料的出现概率。
步骤S304,当所述新词候选词串为领域新词候选词串时,通过相似度计算判断所述领域新词候选词串是否为领域新词。
具体的,在步骤S304中,通过相似度计算判断所述领域新词候选词串是否为领域新词,包括:
从所述领域新词候选词串对应的领域语料中选择全部或部分的其他词串作为种子词串;
计算所述领域新词候选词串与每个所述种子词串的相似度;
当最大所述相似度大于相似度阈值时,所述领域新词候选词串为领域新词。所述相似度阈值的取值范围为0.6-0.8。
优选的,判定为领域新词的领域新词候选词串也作为相应领域的种子词串。
步骤S305,在得到多个所述领域新词后,进行人工审核,得到领域新词的发现准确率;
步骤S306,当所述发现准确率小于或等于准确率阈值时,调整所述信息熵阈值和/或所述相似度阈值,直至根据调整后的所述信息熵阈值和/或所述相似度阈值得到的发现准确率大于准确率阈值为止。
本发明实施例与第二实施例的区别在于,本实施例在确定出领域新词之后,还要审核领域新词的发现准确率,并据此对在领域新词确定过程中所用到的所述信息熵阈值和/或所述相似度阈值进行调整,以通过逐渐优化的方式进一步提高领域新词发现的准确率。之后,领域新词在人工参与后逐渐增加,逐渐完善领域词典。
本发明第四实施例,与第一实施例对应,本实施例介绍一种领域新词发现的装置,如图4所示,包括以下组成部分:
1)获取模块100,用于获取通用新词候选词串。
具体的,获取模块100,用于采用以下一种或多种方法的结合获取通用新词候选词串:内部构成语法规则方法、前后缀规则方法和特征统计方法。
2)存储模块200,用于存储预先设定的领域类别及对应的领域语料。
3)统计模块300,用于根据预先设定的领域类别及对应的领域语料,采用统计的方法判断所述通用新词候选词串是否为领域新词候选词串。
具体的,统计模块300,包括:
分词单元301,用于采用包括所述通用新词候选词串的词典对每个所述领域语料进行分词处理,得到各领域的词语集。
概率计算单元302,用于计算所述通用新词候选词串在每个领域的词语集中出现概率。
目标领域确定单元303,用于将最大的所述出现概率对应的领域类别作为目标领域类别。
信息熵计算单元304,用于计算所述通用新词候选词串在至少部分预先设定的领域类别中分布的信息熵。信息熵计算单元304采用以下公式进行计算:设a为所述通用新词候选词串,所述通用新词候选词串在至少部分预先设定的领域类别中分布的信息熵H(a)=-p1×log2(p1)-p2×log2(p2)-…-pn×log2(pn),其中,n为所述至少部分预先设定的领域类别的个数,p1、p2、…、pn为所述通用新词候选词串a在n个所述领域语料的出现概率。
新词确认单元305,用于当所述信息熵小于或等于信息熵阈值时,确认所述通用新词候选词串为所述目标领域类别的领域新词候选词串。所述信息熵阈值的取值范围为:1.5~2.5。
4)相似度计算模块400,用于当所述新词候选词串为领域新词候选词串时,通过相似度计算判断所述领域新词候选词串是否为领域新词。
具体的,相似度计算模块400,包括:
种子词串选择单元401,用于从所述领域新词候选词串对应的领域语料中选择全部或部分的其他词串作为种子词串;
相似运算单元402,用于计算所述领域新词候选词串与每个所述种子词串的相似度;
判定单元403,用于当最大所述相似度大于相似度阈值时,所述领域新词候选词串为领域新词。所述相似度阈值的取值范围为0.6-0.8。
优选的,相似度计算模块400,还包括:
种子词串更新单元404,用于将判定为领域新词的领域新词候选词串也作为相应领域的种子词串。
本发明第五实施例,与第二实施例对应,本实施例介绍一种领域新词发现的装置,如图5所示,包括以下组成部分:
1)获取模块100,用于获取通用新词候选词串。
具体的,获取模块100,用于采用以下一种或多种方法的结合获取通用新词候选词串:内部构成语法规则方法、前后缀规则方法和特征统计方法。
2)存储模块200,用于存储预先设定的领域类别及对应的领域语料。
3)统计模块300,用于根据预先设定的领域类别及对应的领域语料,采用统计的方法判断所述通用新词候选词串是否为领域新词候选词串。
具体的,统计模块300,包括:
预处理单元306,用于将所述预先设定的领域类别的领域语料的格式统一为文本格式;去除含有敏感词的领域语料,根据剩余的领域语料中所含有的断句标点将所述剩余的领域语料分割成句。
分词单元301,用于采用包括所述通用新词候选词串的词典对预处理单元306输出的每个所述领域语料进行分词处理,得到各领域的词语集。
概率计算单元302,用于计算所述通用新词候选词串在每个领域的词语集中出现概率。
目标领域确定单元303,用于将最大的所述出现概率对应的领域类别作为目标领域类别。
信息熵计算单元304,用于计算所述通用新词候选词串在至少部分预先设定的领域类别中分布的信息熵。信息熵计算单元304采用以下公式进行计算:设a为所述通用新词候选词串,所述通用新词候选词串在至少部分预先设定的领域类别中分布的信息熵H(a)=-p1×log2(p1)-p2×log2(p2)-…-pn×log2(pn),其中,n为所述至少部分预先设定的领域类别的个数,p1、p2、…、pn为所述通用新词候选词串a在n个所述领域语料的出现概率。
新词确认单元305,用于当所述信息熵小于或等于信息熵阈值时,确认所述通用新词候选词串为所述目标领域类别的领域新词候选词串。所述信息熵阈值的取值范围为:1.5~2.5。
4)相似度计算模块400,用于当所述新词候选词串为领域新词候选词串时,通过相似度计算判断所述领域新词候选词串是否为领域新词。
具体的,相似度计算模块400,包括:
种子词串选择单元401,用于从所述领域新词候选词串对应的领域语料中选择全部或部分的其他词串作为种子词串;
相似运算单元402,用于计算所述领域新词候选词串与每个所述种子词串的相似度;
判定单元403,用于当最大所述相似度大于相似度阈值时,所述领域新词候选词串为领域新词。所述相似度阈值的取值范围为0.6-0.8。
优选的,相似度计算模块400,还包括:
种子词串更新单元404,用于将判定为领域新词的领域新词候选词串也作为相应领域的种子词串。
本发明实施例与第四实施例的区别在于,本实施例的所述装置的统计模块300中还包括预处理单元306,用于在采用统计的方法判断所述通用新词候选词串是否为领域新词候选词串之前,对所述预先设定的领域类别的领域语料进行预处理,由于已对领域语料统一格式并去除敏感词和断句,这样做便于分词单元301对每个领域的语料进行分词处理,提高分词处理的效率和准确率。
本发明第六实施例,与第三实施例对应,本实施例介绍一种领域新词发现的装置,如图6所示,包括以下组成部分:
1)获取模块100,用于获取通用新词候选词串。
具体的,获取模块100,用于采用以下一种或多种方法的结合获取通用新词候选词串:内部构成语法规则方法、前后缀规则方法和特征统计方法。
2)存储模块200,用于存储预先设定的领域类别及对应的领域语料。
3)统计模块300,用于根据预先设定的领域类别及对应的领域语料,采用统计的方法判断所述通用新词候选词串是否为领域新词候选词串。
具体的,统计模块300,包括:
预处理单元306,用于将所述预先设定的领域类别的领域语料的格式统一为文本格式;去除含有敏感词的领域语料,根据剩余的领域语料中所含有的断句标点将所述剩余的领域语料分割成句。
分词单元301,用于采用包括所述通用新词候选词串的词典对预处理单元306输出的每个所述领域语料进行分词处理,得到各领域的词语集。
概率计算单元302,用于计算所述通用新词候选词串在每个领域的词语集中出现概率。
目标领域确定单元303,用于将最大的所述出现概率对应的领域类别作为目标领域类别。
信息熵计算单元304,用于计算所述通用新词候选词串在至少部分预先设定的领域类别中分布的信息熵。信息熵计算单元304采用以下公式进行计算:设a为所述通用新词候选词串,所述通用新词候选词串在至少部分预先设定的领域类别中分布的信息熵H(a)=-p1×log2(p1)-p2×log2(p2)-…-pn×log2(pn),其中,n为所述至少部分预先设定的领域类别的个数,p1、p2、…、pn为所述通用新词候选词串a在n个所述领域语料的出现概率。
新词确认单元305,用于当所述信息熵小于或等于信息熵阈值时,确认所述通用新词候选词串为所述目标领域类别的领域新词候选词串。所述信息熵阈值的取值范围为:1.5~2.5。
4)相似度计算模块400,用于当所述新词候选词串为领域新词候选词串时,通过相似度计算判断所述领域新词候选词串是否为领域新词。
具体的,相似度计算模块400,包括:
种子词串选择单元401,用于从所述领域新词候选词串对应的领域语料中选择全部或部分的其他词串作为种子词串;
相似运算单元402,用于计算所述领域新词候选词串与每个所述种子词串的相似度;
判定单元403,用于当最大所述相似度大于相似度阈值时,所述领域新词候选词串为领域新词。所述相似度阈值的取值范围为0.6-0.8。
优选的,相似度计算模块400,还包括:
种子词串更新单元404,用于将判定为领域新词的领域新词候选词串也作为相应领域的种子词串。
5)准确率确定模块500,用于在得到多个所述领域新词后,进行人工审核,得到领域新词的发现准确率;
6)校正模块600,用于当所述发现准确率小于或等于准确率阈值时,调整新词确认单元305中用到的信息熵阈值和/或判定单元403中用到的相似度阈值,直至根据调整后的所述信息熵阈值和/或所述相似度阈值得到的发现准确率大于准确率阈值为止。
本发明实施例与第五实施例的区别在于,本实施例在确定出领域新词之后,还要通过准确率确定模块500审核领域新词的发现准确率,并通过校正模块600根据准确率确定模块500审核的结果,对在领域新词确定过程中所用到的所述信息熵阈值和/或所述相似度阈值进行调整,以通过逐渐优化的方式进一步提高领域新词发现的准确率。
本发明第七实施例,本实施例是在上述实施例的基础上,结合附图7~9介绍一个本发明的应用实例。
本发明实施例提出一种自动问答领域内领域新词的过滤方法,其基本思想是:在所有语料(通过网络爬虫获得的新语料,14个大领域)中,新词候选词中的垃圾词串、通用词通常出现概率较高,并且垃圾词串和通用词均在各个领域出现频率相近,而领域新词和通用词中的通用新词出现的概率较小,并且领域新词会在不同的领域有明显的偏重,甚至只出现在对应领域。根据这一原理,在现有的通用新词发现方法发现的通用新词候选词串的基础上,将得到的通用新词候选词串进一步处理,通过计算各个通用新词候选词串在14个领域中分布上的信息熵,筛选出领域新词候选词串。即,将通用新词候选词串加入到分词词典后,基于该分词词典对所有领域即14个领域的语料分别进行分词,并分别计算每个通用新词候选词串在各个领域出现的概率;然后计算每个通用新词候选词串在14个领域中分布上的信息熵,例如:通用新词候选词串a,其在各个领域出现的概率归一化后为:p1,p2,…,p14,则通用新词候选词串a在14个领域中分布上的信息熵信息熵为H(a)=(-p1*log2(p1)-p2*log2(p2)-…-p14*log2(p14))。信息熵越大表明该通用新词候选词串在各个领域上的分布越平衡,反之,表明该通用新词候选词串的分布偏重某领域。之后,通过确定一个合适的信息熵阈值h过滤掉部分垃圾词串和通用词串,若H(a)>h时,则通用新词候选词串a为垃圾词串或通用词,反之,则通用新词候选词串a为对应出现概率最大的领域的领域新词候选词串,从而筛选出领域新词候选词串。
以上是基于统计的思想寻找领域新词候选词串,而未考虑词与领域的语义关系,因此,为了提高确定领域新词的准确度,优选的,可以在语义层面进一步筛选出领域新词。即,将利用word2vec模型计算该领域新词候选词串与某一领域语料中的各词串之间的语义相似度,相似度越大越则越有可能是对应领域的领域新词。之后,领域新词在人工参与后逐渐增加,逐渐完善领域词典。
本实施例的所述自动问答领域内领域新词的过滤方法,具体包括如果三个流程:
如图7所示,各领域语料的获取及预处理流程包括:
步骤S1:利用网络爬虫获得所有14个领域的领域语料。
步骤S2:将获取的所有领域的语料格式统一为文本格式,过滤无效的格式,去除含有敏感词的文档,并对处理后的语料按大标点,比如:“?”和“!”,分割成句后保存。
步骤S3:将采用通用新词发现方法获得的通用新词候选词串加载到分词词典后,基于该分词词典对预处理后的语料分别进行分词并过滤停用词后,按领域类别分别保存;
现有的通用新词发现方法一般采用基于统计或规则的方法或者两者结合的方法。基于规则的方法通常是新词的内部构成语法规则或者新词的前后缀规则,以此为准则发现新词。基于统计方法一般是寻找描述新词特征的统计量来抽取候选词串,常用统计量如成词概率、互信息、刚性等等。
如图8所示,领域新词候选词串的筛选流程包括:
步骤A1:采用通用新词发现方法获得的通用新词候选词串。
步骤A2:针对通用新词候选侧串x,分别计算通用新词候选侧串x在各个领域出现的概率,计算方法是:在某一领域的概率=通用新词候选侧串x串出现的次数÷某一领域的总词数,某一领域的总词数可以由步骤S3得出。若通用新词候选词串在某一领域的语料中没出现,则概率为0。之后将结果存放到列表p_list=[p1,p2,…,p14];然后对该通用新词候选侧串x的概率列表值进行归一化,即p_list_1=[p1/sum(p_list),p2/sum(p_list),…,p14/sum(p_list)]。
步骤A3:求通用新词候选侧串x在所有14个领域中分布上的信息熵H(x)=-p1/sum(p_list)*log2(p1/sum(p_list))-p2/sum(p_list)*log2(p2/sum(p_list))-…-p14/sum(p_list)*log2(p14/sum(p_list))。
步骤A4:若H(x)大于阈值h,则该通用新词候选侧串x是通用词串或垃圾词串,反之,为领域新词候选词串。阈值h需要根据具体情况进行调优,以爬取的百度知道语料为例,h取值2.0较合适。
如图9所示,领域新词的筛选流程包括:
步骤B1:将步骤S3中的分词结果输入到word2vec模型,得到所有词的词向量。
步骤B2:针对通用新词候选侧串x对应的领域,选取部分领域词作为种子(领域词典较大的情况下,为了减少计算的复杂度,未选取全部领域词作为种子),计算领域新词候选词x的词向量和对应领域的各种子向量的语义相似度的最大值sim,并设定特定的阈值p。语义相似度越大越可能是对应领域的领域新词,因此,sim大于阈值p时,就进一步认为该是领域新词,并且将该词加入到对应的种子中使其动态更新,否则,不是领域新词。阈值p需要根据具体情况进行调优,以爬取的百度知道语料为例,p取值0.71较合适。
步骤B3:将人工过滤后的领域新词加载到对应领域新词词典,不断完善领域词典。
通过具体实施方式的说明,应当可对本发明为达成预定目的所采取的技术手段及功效得以更加深入且具体的了解,然而所附图示仅是提供参考与说明之用,并非用来对本发明加以限制。