新词召回方法和领域词向量表生成方法及其装置与流程

文档序号:29038282发布日期:2022-02-25 19:46阅读:134来源:国知局
新词召回方法和领域词向量表生成方法及其装置与流程

1.本技术涉及自然语言处理的技术领域,更具体地,涉及新词召回方法和领域词向量表生成方法及其装置。


背景技术:

2.词向量可以理解为是词嵌入式自然语言处理中的一组语言建模和特征学习技术的统称。词向量包括对词汇表中的单词或短语进行向量化表征,以将其转换成模型可以计算的数值形式。词的向量化编码和句子分词一样,是构建整个自然语言处理模型最底层也是最关键的一个环节。向量化表征将会对整个自然语言处理模型的性能产生重要影响。
3.为了实现对每个词的向量化表征,通常有两种表示方式。一类是单热表示(one-hot representation),这种方法把每个词表示为一个长向量,这个向量的维度是词表大小,向量中只有一个维度的值为1,其余维度为0,这个向量就代表了当前的词,相当于给每个词分配一个id。这就导致这种表示方式不能展示词与词之间的关系,同时导致特征空间非常大。
4.为了解决上述问题,另一类方式出现了,称为词嵌入(word embedding)或词向量化,其将词转化成一种分布式表示,编码成一个定长的连续的稠密向量。通过这种方法能够表征词之间存在的相似关系,同时包含更多信息。该稠密向量的维度数量与单热表示的维度数量相比小得多,通常具有约50-100个维度,并且每一维都有特定的含义。
5.在实际的自然语言文本处理过程中,要处理的文档常常会不断出现新的词语,导致语言模型不能准确识别文档。
6.因此,需要提出一种新的技术来解决上述现有技术中的一个或多个问题。


技术实现要素:

7.根据本公开的一个方面,提供了一种新词召回方法,包括:接收特定领域的一个或多个文档;对所述一个或多个文档中的每个文档进行分词;计算通过分词发现的新词的左右熵和互信息熵,并基于左右熵和互信息熵获得新词的信息熵得分;针对所述一个或多个文档,基于所述一个或多个文档以及通用文档,计算每个新词在所述每个文档中的词频以及在所述一个或多个文档和通用文档中的逆文档频率,并基于所述词频和逆文档频率获得每个新词在所述每个文档中的词频-逆文档频率得分;计算每个新词在所述一个或多个文档中的所有文档中的总词频-逆文档频率得分;基于每个新词的信息熵得分和总词频-逆文档频率得分,获得每个新词的领域词得分;以及根据领域词得分对所有新词进行排序,将领域词得分最高的预定数量的新词确定为新的领域词。
8.根据本公开的一个方面,提供了一种领域词向量表生成方法,包括:将使用上述方法获得的新的领域词并入领域词库中;接收特定领域的一个或多个文档;使用所述领域词库对所述一个或多个文档中的每个文档进行分词,获得词序列;使用所述词序列对基于神经网络的模型进行训练,并获得领域词向量表。
9.根据本公开的一个方面,提供了一种文档编解码方法,包括:接收特定领域的一个或多个文档;使用通过上述领域词向量表生成方法生成的领域词向量表对所述一个或多个文档进行编解码,从而获得编解码后的一个或多个文档,其中,在编解码的过程中,对于所述一个或多个文档中的未登录词,在同近义词表中搜索所述未登录词的同近义词,并使用搜索到的同近义词替换所述未登录词。
10.根据本公开的一个方面,提供了一种新词召回装置,包括:一个或多个处理器;和存储器,其上存储有可执行指令,所述可执行指令在由所述一个或多个处理器执行时使得所述一个或多个处理器:接收特定领域的一个或多个文档;对所述一个或多个文档中的每个文档进行分词;计算通过分词发现的新词的左右熵和互信息熵,并基于左右熵和互信息熵获得新词的信息熵得分;针对所述一个或多个文档,基于所述一个或多个文档以及通用文档,计算每个新词在所述每个文档中的词频以及在所述一个或多个文档和通用文档中的逆文档频率,并基于所述词频和逆文档频率获得每个新词在所述每个文档中的词频-逆文档频率得分;计算每个新词在所述一个或多个文档中的所有文档中的总词频-逆文档频率得分;基于每个新词的信息熵得分和总词频-逆文档频率得分,获得每个新词的领域词得分;以及根据领域词得分对所有新词进行排序,将领域词得分最高的预定数量的新词确定为新的领域词。
11.根据本公开的一个方面,提供了一种领域词向量表生成装置,包括:一个或多个处理器;和存储器,其上存储有可执行指令,所述可执行指令在由所述一个或多个处理器执行时使得所述一个或多个处理器:将使用上述新词召回装置获得的新的领域词并入领域词库中;接收特定领域的一个或多个文档;使用所述领域词库对所述一个或多个文档中的每个文档进行分词,获得词序列;使用所述词序列对基于神经网络的模型进行训练,并获得领域词向量表。
12.根据本公开的一个方面,提供了一种文档编解码装置,包括:一个或多个处理器;和存储器,其上存储有可执行指令,所述可执行指令在由所述一个或多个处理器执行时使得所述一个或多个处理器:接收特定领域的一个或多个文档;使用由上述领域词向量表生成装置生成的领域词向量表对所述一个或多个文档进行编解码,从而获得编解码后的一个或多个文档,其中,在编解码的过程中,对于所述一个或多个文档中的未登录词,在同近义词表中搜索所述未登录词的同近义词,并使用搜索到的同近义词替换所述未登录词。
13.根据本公开的一个方面,提供了一种计算机可读存储介质,包括可执行指令,当所述可执行指令由信息处理装置执行时,使所述信息处理装置执行根据上述多种方法中的一个方法。
附图说明
14.图1是说明根据本公开的一个实施例的新词召回方法的流程图。
15.图2是说明根据本公开的一个实施例的领域词向量表生成方法的流程图。
具体实施方式
16.现在将参照附图来详细描述本公开的各种示例性实施例。应注意到:除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对布置、数字表达式和数值不限制本
公开的范围。
17.以下对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为对本公开及其应用或使用的任何限制。
18.对于相关领域普通技术人员已知的技术、方法和设备可能不作详细讨论,但在适当情况下,所述技术、方法和设备应当被视为说明书的一部分。
19.在这里示出和讨论的所有示例中,任何具体值应被解释为仅仅是示例性的,而不是作为限制。因此,示例性实施例的其它示例可以具有不同的值。
20.如上所述,在自然语言文本处理领域中,要处理的文档常常会包含新的词语。文档中存在的新的词语往往会影响处理模型的处理准确性。
21.本公开中的“文档”是指要由基于神经网络的处理模型进行诸如识别、分类、摘要生成、信息抽取之类的各种处理的自然语言的文本。例如,本公开中的“文档”可以是电信运营商网络运营过程中接收的不同类型的工单,也可以是电商、银行、在线教育机构等任意公司或机构接收的用户的诸如订购、咨询、投诉、反馈之类的订单或工作任务单。实际上,本公开中的“文档”可以是要处理的任何领域的自然语言的一段任意长短的文本。
22.例如,在电信领域中,运营商网络在运营过程中每天都有大量不同类型的工单需要流转处理,传统的方式都是通过人工审阅后,进行判别决策,决定工单的分发途径。随着工单量的急剧增加,这种方式已不能满足生产需求。因此,在最近几年通过自动化+智能化的方式对整个工单处理系统进行升级。由于工单处理涉及多个环节,仍有部分环节需要转人工才能正确处理完成,人工完成的重复性基础维护工作占比仍较大,数据智能化生产还需进一步深入。通过深入分析工单的整个流转过程,发现造成这种现象很大程度是因为语言模型识别结果不准确导致的,因此如何提升语言模型的判别准确性是急需攻坚的一个方向。进一步分析发现网络运营工单领域存在大量专业词汇,同时每隔一段时间都会有新的词汇产生,由于网络运营领域专业词库积累量不足,分词经常发生错分的情况。此外,由于没有针对网络运营领域词训练的词向量表,导致在词向量编码的过程中存在大量的未登录词(out-of-vocabulary,oov)。这些问题使得深度学习在实际建模中的效果大打折扣,严重影响了语言模型的识别准确度。
23.以上以电信领域为例描述了现有技术中存在的问题。显然,其他领域的自然语言处理技术存在类似的技术问题。
24.为了解决现有技术中存在的上述技术问题中的一个或多个,本技术的发明人提出了一种新的技术构思:通过基于信息熵和词频-逆文档频率得分识别文档中的新的领域词。
25.图1是说明根据本公开的一个实施例的新词召回方法100的流程图。该方法100用于发现特定领域的文档中的新词,并将其中的一部分新词提取出来,作为新的领域词。在本公开中,“特定领域”可以包括特定的一个或多个领域。
26.在方法100中,首先,接收特定领域的一个或多个文档(步骤101)。
27.在步骤101之后,可以对所述一个或多个文档中的每个文档进行分词(步骤102)。在分词过程中,可以使用任何分词算法、模型或工具。例如,可以使用诸如jieba分词之类的算法。在一些实施例中,在分词之前或分词过程中,还可以使用领域停用词库过滤掉文档中的停用词。
28.在一些实施例中,在步骤102之前,还可以通过清洗过滤规则过滤掉文档中存在的
乱码数据和领域无关数据,以避免噪声数据的干扰。此外,还可以通过标准化规则对过滤后的文档进行规范化处理,包括工单号、文档号、日期以及地名等信息的统一化,以避免无关信息对领域词发现效果的影响。
29.在步骤102之后,可以计算通过分词发现的新词的左右熵和互信息熵,并基于左右熵和互信息熵获得新词的信息熵得分(步骤103)。左右熵可以表征新词与其它词之间的松散程度。互信息熵可以表征新词内部的符号、标记或字符(token)之间的紧密度或凝聚度。
30.在一些实施例中,在信息熵得分的计算过程中,可以使用词查找树,利用词汇的公共前缀来缩短词的查找时间,最大限度地减少无关词的比较。
31.在一些实施例中,新词的信息熵得分可以是左右熵和互信息熵的加权和,也可以是以左右熵和互信息熵为变量的任何适当的函数形式,只要信息熵得分能够体现左右熵和互信息熵的各自的贡献值即可。例如,信息熵得分也可以是左右熵和互信息熵之积。
32.在一些实施例中,左右熵和互信息熵在所述任何函数形式中的权重因子可以根据经验来设定,也可以作为模型的参数在训练过程中学习得到。
33.信息熵得分表征了新词能够作为新词的可能性,信息熵得分越高的新词,能够作为新词可能性就越高。本公开通过这种信息熵得分,能够提升新词的召回率。
34.在步骤103之后,可以针对所述一个或多个文档,基于该一个或多个文档以及通用文档,计算每个新词在每个文档中的词频以及在该一个或多个文档和通用文档中的逆文档频率,并基于词频和逆文档频率获得每个新词在每个文档中的词频-逆文档频率得分(步骤104)。
35.在本公开中,通用文档是指不限于特定领域的任意文档,其用于进行逆文档频率的计算。
36.在一些实施例中,词频-逆文档频率得分可以是词频和逆文档频率的加权和,也可以是以词频和逆文档频率为变量的任何适当的函数形式,只要词频-逆文档频率得分能够体现词频和逆文档频率的各自的贡献值即可。例如,词频-逆文档频率得分也可以是词频和逆文档频率之积。
37.在一些实施例中,词频和逆文档频率在以上任何函数形式中的权重因子可以根据经验来设定,也可以作为模型的参数在训练过程中学习得到。
38.在一些实施例中,可以如下计算词频-逆文档频率得分:
39.tf-idf=(1-β)tf+β
·
idf
ꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(1)
40.其中,tf-idf表示词频-逆文档频率得分,tf表示词频,idf表示逆文档频率,β表示逆文档频率权重因子。
41.上述(1)仅仅是词频-逆文档频率得分的一种函数形式,还可以构造出任何其他适当的函数形式。此外,除了逆文档频率权重因子以外,词频也可以有自己的词频权重因子,即,词频的权重因子可以与逆文档频率权重因子相互独立。
42.在一些实施例中,可以根据通用文档与所述一个或多个文档之间的比例,自适应地调节逆文档频率权重因子和/或词频权重因子。在一些实施例中,可以由基于神经网络的模型来实现所述的自适应调节。
43.在步骤104之后,可以计算每个新词在所述一个或多个文档中的所有文档中的总词频-逆文档频率得分(步骤105)。
44.在一些实施例中,总词频-逆文档频率得分可以是每个新词在特定领域的各个文档中的词频-逆文档频率得分之和。
45.在一些实施例中,步骤105还可以包括计算文档-词矩阵,并对文档-词矩阵中属于特定领域的所述一个或多个文档的部分进行切片,并按列求和,以获得总词频-逆文档频率得分。
46.新词的总词频-逆文档频率得分可以表征新词能够作为领域词的可能性。本公开通过总词频-逆文档频率得分,能够提升领域词的命中率。
47.在步骤105之后,可以基于每个新词的信息熵得分和总词频-逆文档频率得分,获得每个新词的领域词得分(步骤106)。
48.在一些实施例中,领域词得分可以是信息熵得分和总词频-逆文档频率得分的加权和,也可以是以信息熵得分和总词频-逆文档频率得分为变量的任何适当的函数形式,只要领域词得分能够体现信息熵得分和总词频-逆文档频率得分的各自的贡献值即可。例如,领域词得分也可以是信息熵得分和总词频-逆文档频率得分之积。
49.在一些实施例中,信息熵得分和总词频-逆文档频率得分在以上任何函数形式中的权重因子可以根据经验来设定,也可以作为模型的参数在训练过程中学习得到。
50.在一些实施例中,可以如下计算领域词得分:
51.fws=α
·
ies+(1-α)stf-idf
ꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(2)
52.其中,fws表示领域词得分,ies表示信息熵得分,stf-idf表示总词频-逆文档频率得分,α表示信息熵得分权重因子。
53.上述(2)仅仅是领域词得分的一种函数形式,还可以构造出任何其他适当的函数形式。此外,除了信息熵得分权重因子以外,总词频-逆文档频率得分也可以有自己的权重因子,即,总词频-逆文档频率得分的权重因子可以与信息熵得分权重因子相互独立。
54.在一些实施例中,可以根据通用文档与所述一个或多个文档之间的比例,自适应地调节信息熵得分权重因子和/或总词频-逆文档频率得分权重因子。在一些实施例中,可以由基于神经网络的模型来实现所述的自适应调节。
55.在步骤106之后,可以根据领域词得分对所有新词进行排序,将领域词得分最高的预定数量的新词确定为新的领域词(步骤107)。
56.通过上述方法,可以提取出文档中的新的领域词,并且可以同时提升新词的召回率和领域词的命中率。
57.在一些实施例中,上述方法可以由基于神经网络的模型来执行,并且上述方法中的使用的一部分或全部参数和因子(包括权重因子等)可以被设定为该模型的参数,并在模型的训练过程中学习这些参数。
58.在一些实施例中,步骤103还可以包括:根据信息熵得分对发现的新词进行排序,并将信息熵得分较低的一部分新词丢弃,从而不对该一部分新词进行后续步骤中的处理。由此,可以减少计算负荷。
59.通过上述方法,可以自动发现高质量的新领域词,由此可以不断更新领域词库。
60.图2是说明根据本公开的一个实施例的领域词向量表生成方法200的流程图。
61.在方法200中,首先,可以将根据上述方法获得的新的领域词并入领域词库中(步骤201)。
62.在步骤201之后,可以接收特定领域的一个或多个文档(步骤202)。“文档”具有与以上针对方法100描述的含义相同的含义。
63.在步骤202之后,可以使用领域词库对所述一个或多个文档中的每个文档进行分词,以获得词序列(步骤203)。
64.在步骤203之后,可以使用所获得的词序列对基于神经网络的模型进行训练,并获得领域词向量表(步骤204)。在一些实施例中,该模型可以是诸如glove(global vectors)模型之类的任意模型。
65.通过上述方法200,可以在获得的能够自动更新的领域词库的基础上自动生成领域词向量表,从而可以有助于提升各种自然语言处理模型的性能。
66.根据本公开的另一方面,还可以包括一种文档编解码方法。在该方法中,首先,可以接收特定领域的一个或多个文档。然后,可以使用如上所述地生成的领域词向量表对该一个或多个文档进行编解码,从而获得编解码后的一个或多个文档。在所述的编解码过程中,对于所述一个或多个文档中的未登录词,可以在同近义词表中搜索未登录词的同近义词,并且可以使用搜索到的同近义词替换未登录词。
67.同近义词表可以是包含特定领域的同近义词的词表,比如“板卡”的同近义词为“板”。
68.可以将通过上述文档编解码方法获得的编解码后的一个或多个文档输入给语言模型,从而由语言模型对该一个或多个文档进行识别、分类、摘要生成、信息抽取等处理。通过上述文档编解码方法,可以最大程度地减少未登录词对所述语言模型产生的不利影响,从而提升语言模型的性能。
69.在一些实施例中,可以在新词召回装置中实现本公开的上述新词召回处理。该新词召回装置可以包括处理电路,该处理电路可以被配置成执行上述新词召回方法。
70.在一些实施例中,新词召回装置可以包括一个或多个处理器和存储器,在该存储器上可以存储可执行指令,该可执行指令在由所述一个或多个处理器执行时使得所述一个或多个处理器执行上述新词召回方法。
71.在一些实施例中,可以提供一种领域词向量表生成装置,包括:一个或多个处理器;和存储器,其上存储有可执行指令,所述可执行指令在由所述一个或多个处理器执行时使得所述一个或多个处理器执行上述领域词向量表生成方法。
72.在一些实施例中,可以提供一种文档编解码装置,包括:一个或多个处理器;和存储器,其上存储有可执行指令,所述可执行指令在由所述一个或多个处理器执行时使得所述一个或多个处理器执行上述文档编解码方法。
73.在一个实施例中,本公开可以提供一种计算机可读存储介质,其包括可执行指令,当所述可执行指令由信息处理装置(例如,诸如计算机、智能电话之类的装置)执行时,使该信息处理装置执行上述新词召回方法、领域词向量表生成方法或文档编解码方法。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1