一种提升句向量语义的方法、系统及存储介质与流程

文档序号:17001147发布日期:2019-03-02 01:48阅读:186来源:国知局
一种提升句向量语义的方法、系统及存储介质与流程

本发明涉及自然语言处理技术领域,特别是一种提升句向量语义的方法及其应用该方法的系统和存储介质。



背景技术:

在自然语言处理(naturallanguageprocessing,nlp)领域,句向量一直不能十分准确的表达一个句子所要表达的意思,特别是上下文中的句子,其意思根据上下文而变化,各个不同的上下文情景当中,句向量的表达效果不是那么准确,在这方面一直都没有较好的解决办法。



技术实现要素:

本发明为解决上述问题,提供了一种提升句向量语义的方法、系统及存储介质,通过增加上下文词语的权重来得到当前句子的向量,从而提升句向量对句子语义的表达效果。

为实现上述目的,本发明采用的技术方案为:

一种提升句向量语义的方法,其包括以下步骤:

a.对当前句子进行上下文扩展,得到扩展文本;

b.对所述扩展文本进行命名实体识别,得到所述扩展文本的实体词;

c.对所述扩展文本进行分词处理,并对分词结果去除所述实体词和去除停用词,得到非实体词;

d.对所述实体词和所述非实体词分别计算词向量,并且,对所述实体词的词向量赋予第一权重,对所述非实体词的词向量赋予第二权重;

e.根据所述实体词和所述非实体词的词向量及对应的权重,计算所有词向量的加权平均值,作为当前句子的句向量。

优选的,所述的步骤a中,对当前句子进行上下文扩展,是指将当前句子向上和/或向下扩展至三个句子以上。

具体的,所述的步骤a中,若当前句子为文本的中间句子,则所述扩展文本包括当前句子、当前句子的上一个句子、当前句子的下一个句子;若当前句子为文本的第一个句子,则所述扩展文本包括当前句子和当前句子的下两个句子;若当前句子为文本的最后一个句子,则所述扩展文本包括当前句子和当前句子的上两个句子。

优选的,所述的步骤b中,对所述扩展文本进行命名实体识别,是采用实体词典库对所述扩展文本进行匹配处理以获取所述扩展文本的实体词,和/或,采用统计机器学习的方法进行识别所述扩展文本的实体词;其中,所述统计机器学习的方法包括:隐马尔可夫模型hmm、最大熵me、支持向量机svm、条件随机场crf。

其中,所述的步骤b中,进一步对所述实体词进行基于tf-idf算法提取关键词,得到关键实体词;并对所述关键实体词赋予第三权重,且所述第三权重大于所述第一权重或所述第二权重。

优选的,所述的步骤c中,去除停用词,是通过查找停用词表,并将分词结果中存在于所述停用词表中的词语作为停用词去除;并且,进一步将去除停用词后的词语进行词性还原。

优选的,所述的步骤d中,所述第一权重大于所述第二权重。

对应的,本发明还提供一种提升句向量语义的系统,其包括:

文本扩展模块,用于对当前句子进行上下文扩展,得到扩展文本;

实体识别模块,用于对所述扩展文本进行命名实体识别,得到所述扩展文本的实体词;

分词处理模块,用于对所述扩展文本进行分词处理,并对分词结果去除所述实体词和去除停用词,得到非实体词;

词向量计算模块,用于对所述实体词和所述非实体词分别计算词向量,并且,对所述实体词的词向量赋予第一权重,对所述非实体词的词向量赋予第二权重;

句向量计算模块,其根据所述实体词和所述非实体词的词向量及对应的权重,计算所有词向量的加权平均值,作为当前句子的句向量。

另外,本发明还提供一种计算机可读存储介质,所述计算机可读存储介质存储计算机指令,所述计算机指令被处理器执行时实现上述任一项所述的提升句向量语义的方法。

本发明的有益效果是:

本发明的一种提升句向量语义的方法和系统,其通过对当前句子进行上下文扩展,得到扩展文本;并对所述扩展文本进行命名实体识别,得到所述扩展文本的实体词;以及对所述扩展文本进行分词处理,并对分词结果去除所述实体词和去除停用词,得到非实体词;然后对所述实体词和所述非实体词分别计算词向量,并且,对所述实体词的词向量赋予第一权重,对所述非实体词的词向量赋予第二权重;最后根据所述实体词和所述非实体词的词向量及对应的权重,计算所有词向量的加权平均值,作为当前句子的句向量;从而提升句向量对句子语义的表达效果。

附图说明

此处所说明的附图用来提供对本发明的进一步理解,构成本发明的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:

图1为本发明一种提升句向量语义的方法的流程简图;

图2为本发明一种提升句向量语义系统的结构示意图。

具体实施方式

为了使本发明所要解决的技术问题、技术方案及有益效果更加清楚、明白,以下结合附图及实施例对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。

如图1所示,本发明的一种提升句向量语义的方法,其包括以下步骤:

a.对当前句子进行上下文扩展,得到扩展文本;

b.对所述扩展文本进行命名实体识别,得到所述扩展文本的实体词;

c.对所述扩展文本进行分词处理,并对分词结果去除所述实体词和去除停用词,得到非实体词;

d.对所述实体词和所述非实体词分别计算词向量,并且,对所述实体词的词向量赋予第一权重,对所述非实体词的词向量赋予第二权重;

e.根据所述实体词和所述非实体词的词向量及对应的权重,计算所有词向量的加权平均值,作为当前句子的句向量。

所述的步骤a中,对当前句子进行上下文扩展,是指将当前句子向上和/或向下扩展至三个句子以上。具体的,本实施例中,若当前句子为文本的中间句子,则所述扩展文本包括当前句子、当前句子的上一个句子、当前句子的下一个句子;若当前句子为文本的第一个句子,则所述扩展文本包括当前句子和当前句子的下两个句子;若当前句子为文本的最后一个句子,则所述扩展文本包括当前句子和当前句子的上两个句子。

所述的步骤b中,对所述扩展文本进行命名实体识别,是采用实体词典库对所述扩展文本进行匹配处理以获取所述扩展文本的实体词,;所述实体词典库是指从原始数据库(如音乐曲库)接收到的结构化数据(源数据),对于音乐曲库而言,所述源数据可以包括歌曲名、歌手名、专辑名、播放量、流行度、歧义度等各种信息。其中,歌曲名、歌手名以及专辑名为实体词;为了匹配高效,可采用双数组(doublearraytrie,dat)进行匹配。dat是trie树的一种变形,它是在保证trie树检索速度的前提下,提高空间利用率而提出的一种数据结构,本质上是一个确定有限自动机(deterministicfiniteautomaton,dfa)。所谓的dfa就是一个能实现状态转移的自动机。对于一个给定的属于该自动机的状态和一个属于该自动机字母表σ的字符,它都能根据事先给定的转移函数转移到下一个状态。对于dat,每个节点代表自动机的一个状态,根据变量的不同,进行状态转移,当到达结束状态或者无法转移的时候,完成查询。

和/或,还可以采用统计机器学习的方法进行识别所述扩展文本的实体词;其中,所述统计机器学习的方法包括:隐马尔可夫模型(hiddenmarkovmode,hmm)、最大熵模型(maxmiumentropy,me)、支持向量机(supportvectormachine,svm)、条件随机场(conditionalrandomfields,crf)等。其中,最大熵模型结构紧凑,具有较好的通用性,主要缺点是训练时间复杂性非常高,有时甚至导致训练代价难以承受。条件随机场为命名实体识别提供了一个特征灵活、全局最优的标注框架,但同时存在收敛速度慢、训练时间长的问题。一般说来,最大熵和支持向量机在正确率上要比隐马尔可夫模型高一些,但是隐马尔可夫模型在训练和识别时的速度要快一些,主要是由于在利用viterbi算法求解命名实体类别序列的效率较高。隐马尔可夫模型更适用于一些对实时性有要求以及像信息检索这样需要处理大量文本的应用,如短文本命名实体识别。本领域技术人员可根据实际需要进行选择任一种模型或两种以上模型的结合。

本实施例中,进一步对所述实体词进行基于tf-idf算法提取关键词,得到关键实体词;并对所述关键实体词赋予第三权重,且所述第三权重大于所述第一权重或所述第二权重。tf/idf(termfrequency/inversedocumentfrequency)是一种用于资讯检索与文本挖掘的加权技术,用以评估一个字词对于一个文件集或一个语料库中的其中一份文件的重要程度。字词的重要性随着它在文件中出现的次数成正比增加,但同时会随着它在语料库中出现的频率成反比下降。tf/idf加权的各种形式常被应用于关键字提取技术,作为文件与用户查询之间相关程度的度量或评级。tf/idf算法的基本原理如下:在一份给定的文件里,词频(termfrequency,tf)指的是某一个给定的词语在该文件中出现的次数。这个数字通常会被正规化,以防止它偏向长的文件。(同一个词语在长文件里可能会比短文件有更高的词频,而不管该词语重要与否。)对于在某一特定文件里的词语来说,它的tf值可表示为:tf=该词在此文件中的出现次数/此文件中所有字词的出现字数之和。这样,就得到了每个字词对于该文件是否重要的值tf。逆向文件频率(inversedocumentfrequency,idf)是一个词语普遍重要性的度量。某一特定词语的idf,可以由总文件数目除以包含该词语之文件的数目,再将得到的商取对数得到。idf的值可以表示为:idf=log(语料库中的文件总数/包含该词的文件数目)。最后,tf/idf值就是tf*idf。它的依据就是某一特定文件内的高词语频率,以及该词语在整个文件集合中的低文件频率,可以产生出高权重的tf/idf。因此,tf/idf倾向于过滤掉常见的词语,保留重要的词语。

所述的步骤c中,分词处理就是把一段文字中的词语通过程序划分出来的过程,通常采用从一段文字中提取空格、标点符号以及字符串作为分词的标记。去除停用词(stopwords),是通过查找停用词表,并将分词结果中存在于所述停用词表中的词语作为停用词去除;并且,进一步将去除停用词后的词语进行词性还原,例如可采用porter词干分析算法将词语还原成词干原型。

所述的步骤d中,所述第一权重大于所述第二权重。即,实体词的权重大于非实体词的权重。实体词通常包括名词和代词,不同的实体词的权重可设置为不同,例如,关键实体词的权重>普通实体词的权重>非实体词的权重。

所述的步骤e中,所述加权平均值是将各个词向量乘以相应的权重,然后加总求和得到总体值,再除以总的个数,得到平均向量。平均向量的大小不仅取决于总体中各个词向量的大小,而且取决于各个词向量出现的次数(频数),且各个词向量出现的次数对其在平均数中的影响起着权衡轻重的作用。其中,所述权重是一个相对的概念,是针对某一指标而言。某一指标的权重是指该指标在整体评价中的相对重要程度。权重表示在评价过程中,是被评价对象的不同侧面的重要程度的定量分配。

如图2所示,本发明还提供一种提升句向量语义的系统,其包括:

文本扩展模块,用于对当前句子进行上下文扩展,得到扩展文本;

实体识别模块,用于对所述扩展文本进行命名实体识别,得到所述扩展文本的实体词;

分词处理模块,用于对所述扩展文本进行分词处理,并对分词结果去除所述实体词和去除停用词,得到非实体词;

词向量计算模块,用于对所述实体词和所述非实体词分别计算词向量,并且,对所述实体词的词向量赋予第一权重,对所述非实体词的词向量赋予第二权重;

句向量计算模块,其根据所述实体词和所述非实体词的词向量及对应的权重,计算所有词向量的加权平均值,作为当前句子的句向量。

另外,本发明还提供一种计算机可读存储介质,所述计算机可读存储介质存储计算机指令,所述计算机指令被处理器执行时实现上述任一项所述的提升句向量语义的方法。

需要说明的是,本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。对于系统实施例和存储介质实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。

并且,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。另外,本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。

上述说明示出并描述了本发明的优选实施例,应当理解本发明并非局限于本文所披露的形式,不应看作是对其他实施例的排除,而可用于各种其他组合、修改和环境,并能够在本文发明构想范围内,通过上述教导或相关领域的技术或知识进行改动。而本领域人员所进行的改动和变化不脱离本发明的精神和范围,则都应在本发明所附权利要求的保护范围内。

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