一种计算句子语义向量的方法技术

技术编号:24251572 阅读:73 留言:0更新日期:2020-05-22 23:35
本发明专利技术提供了一种计算句子语义向量的方法,包括以下步骤:A、将语料库中的各句子样本进行分词得到词集合,采用词向量生成工具训练得到每个词的词向量,构成词向量集合;B、通过所述词向量集合对待计算句子进行词向量均值计算,得到待计算句子的句子向量;C、在所述词集合中找出与待计算句子的各构成词相似度最高的若干个词,分别组成候选集;D、计算候选集中每个词与所述句子向量的距离,以该距离为权重,乘以候选集的词向量,得到待计算句子的语义向量。本方法通过结合句子中每个构成词的临近词的词向量,进行句子语义向量的计算,充分使用了所有词的语义信息,使表达更为合理。

A method of calculating sentence semantic vector

【技术实现步骤摘要】
一种计算句子语义向量的方法
本专利技术涉及文本信息处理
,具体涉及一种计算句子语义向量的方法。
技术介绍
互联网逐渐成为记录人们生活和工作的信息载体,给人们的生活和工作带来了获取信息的便利,同时在被使用的过程中产生了大量的文本数据,从复杂的文本数据中及时有效的提取出重要信息,需要依赖人工智能对自然语言(NaturalLanguage)的有效处理,而在自然语言处理(NaturalLanguageProcessing,NLP)领域中,句子语义的计算是一种基础语义表达,合理的句子语义表达方式能够对下游应用效果提供有利支持。传统的句子语义生成通常是对词向量的再计算,最常用的方式是对句子中的词向量求均值,或者将神经网络训练中生成中间结果作为句子向量,然而由于句子的构成词有时会出现用词不准确或者表达方式有误的情况,此时,现有的句子语义表达方式也会出现不准确的结果,无法为下游应用提供有利的支持。
技术实现思路
有鉴于此,本专利技术的主要目的在于提供一种计算句子语义向量的方法,本方法通过结合句子中每个构成词的临近词的词向量,进行句子语义向量的计算,充分使用了所有词的语义信息,具有实现方式简单,表达更为合理等优点,可解决因句子构成词或表达方式有误而造成的句子语义表达有误的情况,为下游的应用效果提供有利支持。本专利技术采用的技术方案为,一种计算句子语义向量的方法,包括以下步骤:A、将语料库中的各句子样本进行分词得到词集合,采用词向量生成工具训练得到每个词的词向量,构成词向量集合;B、通过所述词向量集合对待计算句子进行词向量均值计算,得到待计算句子的句子向量;C、在所述词集合中找出与待计算句子的各构成词相似度最高的若干个词,分别组成候选集;D、计算候选集中每个词与所述句子向量的距离,以该距离为权重,乘以候选集的词向量,得到待计算句子的语义向量。由上,通过将现有语料库中的各句子样本进行分词,得到词集合,并利用词向量生成工具得到每个词的词向量,将词向量代入句子样本中,进行向量均值,从而可得到句子向量。然而由于句子的词构成有时候会存在错误或者表达方式不固定,因此,可选取与句子的每个构成词最邻近的若干个词组成候选集,并以候选集中的这些词与该句子向量的距离为权重,与候选集的词向量相乘,将相邻词的向量引入到句子中,以得到一种句子语义更为合理的表达方式,失误率较低,可解决因句子构成词或表达方式有误而造成的句子语义表达有误的情况,为下游的应用效果提供有利支持。其中,所述步骤B包括:从所述词向量集合中提取待计算句子的各构成词的词向量;将提取的词向量进行均值计算,得到待计算句子的句子向量。由上,通过对组成句子的各个构成词的词向量的获取,并进行均值计算,从而得到待计算句子的句子向量,此句子向量仅为基础向量,不是所计算的最终句子向量。其中,所述步骤C包括:通过邻近算法计算词集合中与待计算句子的各构成词的相似度;选取相似度最高的若干个词组成候选集,且候选集的个数与待计算句子的构成词个数相同;从所述词向量集合中挑选候选集中的每个词向量,组成候选集的词向量集合。由上,通过对比待计算句子的构成词与词集合中其他词的相似度,并选取相似度最高的若干个词组成候选集,句子有几个构成词,则会相应生成数量相同的候选集。其中,所述步骤D包括:计算候选集中每个词与所述句子向量的每个距离;将所述每个距离与候选集中每个词的词向量对应相乘,并将相乘后的结果进行均值计算,得到待计算句子的语义向量。由上,由于候选集中的每个词与句子构成词的相似度不一样,每个词与句子向量的距离也会不同,将每个词与句子向量的距离作为比重,再乘以候选集中的词向量,并将相乘后的结果进行均值计算,从而可得到待计算句子的最终语义向量,为下游应用提供更好的支持。附图说明图1为本专利技术计算句子语义向量的方法的流程图。具体实施方式下面参照如图1对本专利技术所述的计算句子语义向量的方法进行详细说明,具体包括如下步骤:S100:将语料库中的各句子样本进行分词得到词集合,采用词向量生成工具训练得到每个词的词向量,构成词向量集合;设语料样本集S1,该集合S1中包含多个句子样本Si,i为大于或等于1的自然数,对所述多个句子样本Si进行分词,得到分词结果Wij,所述分词结果Wij得到词集合S2。通过对所述词集合S2进行无监督词向量训练,得到词向量集合Wij_vec。所述词向量具有良好的语义特性,是表示词语特征的常用方式。词向量的每一维的值代表一个具有一定的语义和语法上解释的特征,故可以将词向量的每一维称为一个词语特征。本实施例中,可采用Word2vec模型对词集合中的词向量进行训练,该Word2vec模型是Google公司在2013年开放的一款用于训练词向量的软件工具。它根据给定的语料库,通过优化后的训练模型快速有效的将一个词语表达成向量形式。S200:通过所述词向量集合对待计算句子进行词向量均值计算,得到待计算句子的句子向量;本步骤首先需要将待计算句子进行分词,并从所述词向量集合Wij_vec中提取待计算句子的各构成词的词向量,将提取的词向量进行均值计算,得到待计算句子的句子向量。具体为,设待计算句子对应的句子向量为W1,则W1=sum(Wij_vec),其中j属于1~k,k为待计算句子中构成词的个数。S300:在所述词集合中找出与待计算句子的各构成词相似度最高的若干个词,分别组成候选集并训练候选集每个词的词向量;词语相似度是对词语间复杂关系的数量化,是词语间语义相似紧密程度的一种定量度量,具体计算过程为:通过邻近算法计算词集合W2中与待计算句子的各构成词的相似度;在本专利技术的实施例中,邻近相似度的算法可选用通用的余弦相似度公式或欧式距离公式进行计算,其中,余弦相似度用向量空间中两个向量的夹角的余弦值来衡量两个文本间的相似度,相比距离度量,余弦相似度更加注重两个向量在方向上的差异,一般情况下,用嵌入方法得到两个文本的向量表示之后,可以使用余弦相似度计算两个文本之间的相似度;欧式距离也称欧几里得距离,是最常见的距离度量,指在多维空间中两个点之间的真实距离,或者向量的自然长度(即该点到原点的距离),在二维和三维空间中的欧氏距离就是两点之间的实际距离。例如,“我喜欢吃苹果”和“我喜欢苹果手机”,两个句子样本中“苹果”一词分别属于水果领域和手机领域,此时通过对临近词相似度的计算,如果“苹果”与“桔子”、“香蕉”等水果词汇具有更高的词向量相似度时,代表该词汇属于水果领域,若“苹果”与“三星”、“小米”等手机词汇具有更高的词向量相似度时,代表该词汇属于手机领域。根据相似度高低的排行,选取相似度最高的若干个词分别组成候选集TSet,其中,候选集TSet的个数与待计算句子的构成词个数相同,即对待计算句子的每个构成词都选择相似度最高的若干个词组成候选集TSet,采用Word2vec模型对候选集T本文档来自技高网...

【技术保护点】
1.一种计算句子语义向量的方法,其特征在于,包括以下步骤:/nA、将语料库中的各句子样本进行分词得到词集合,采用词向量生成工具训练得到每个词的词向量,构成词向量集合;/nB、通过所述词向量集合对待计算句子进行词向量均值计算,得到待计算句子的句子向量;/nC、在所述词集合中找出与待计算句子的各构成词相似度最高的若干个词,分别组成候选集;/nD、计算候选集中每个词与所述句子向量的距离,以该距离为权重,乘以候选集的词向量,得到待计算句子的语义向量。/n

【技术特征摘要】
1.一种计算句子语义向量的方法,其特征在于,包括以下步骤:
A、将语料库中的各句子样本进行分词得到词集合,采用词向量生成工具训练得到每个词的词向量,构成词向量集合;
B、通过所述词向量集合对待计算句子进行词向量均值计算,得到待计算句子的句子向量;
C、在所述词集合中找出与待计算句子的各构成词相似度最高的若干个词,分别组成候选集;
D、计算候选集中每个词与所述句子向量的距离,以该距离为权重,乘以候选集的词向量,得到待计算句子的语义向量。


2.根据权利要求1所述的方法,其特征在于,所述步骤B包括:
从所述词向量集合中提取待计算句子的各构成词的词向量;

【专利技术属性】
技术研发人员:罗立刚刘辉张正宽张天泽常涛王玲
申请(专利权)人:零氪科技天津有限公司
类型:发明
国别省市:天津;12

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1