一种短文本间相似度计算方法技术

技术编号:14765970 阅读:550 留言:0更新日期:2017-03-08 10:20
本发明专利技术公开了一种短文本间相似度计算方法,获取语料数据,对语料数据进行预处理,得到训练语料;根据训练语料,得到关键词提取模型,利用分词工具对训练语料分词,并用word2vec训练获得词向量集;获得用户输入文本和候选问答对的问题,分别得到分词结果和关键词提取结果;根据分词结果和关键词提取结果,通过词向量集计算出候选问答对的问题和用户输入文本的词向量,通过词向量获得句向量,计算两个句向量间的相似度;通过用户输入的文本和候选问答对的问题中包含的信息进行相似度的修正,得到修正后的相似度。本发明专利技术通过对用户输入和候选问答对的问题句向量间的余弦相似度计算,并通过句子的句型、命名实体和代词修正相似度。

【技术实现步骤摘要】

本专利技术涉及互联网
,尤其涉及智能人机对话领域。
技术介绍
随着人类社会信息化的不断演进以及人工服务成本的不断上升,人们越来越希望通过自然语言与计算机进行交流,人机智能聊天系统成为这样的历史背景下诞生的产物。在现有的人机对话系统主要有两种实现方法,一种是检索模型,另一种是生成模型。检索模型把一轮人机对话当成是一次信息检索的过程,通过事先准备好一定数据量问答对,并将问答对(它由一个问题和若干个答案组成)中的问题建立好索引。当用户输入一句或若干句话时,就把它当成一次检索,在所有候选问答对中找到与它语义最相近的问题,然后将该问题的答案返回给该用户,完成一轮人机对话。因此要想获得较合适的答案关键就在于如何找到与用户的输入语义最相似的问题。由于在人机对话系统中用户输入和候选问答对中的问题通常是由一句或若干短句组成的短文本,所以就将问题落在了短文本间相似度计算上。现有技术中,计算短文本间相似度的方法就是将用户输入和候选问答对的问题各自转换相同维数的句子向量,向量的每个维度值是该用户输入或者候选问答对的问题中各自的词语(或称为分词)的TF*IDF值,然后通过如计算余弦相似度来衡量两者之间的相似性来对所有候选问答对排序,该方法是搜索引擎中常见的方法。但使用向量的TF*IDF计算余弦相似度来找最相似的问题的方法只考虑了句子之间的文本相似度,即字面上有多少重复的分词来判断句子间相似度,这显然是不够的,比如“我很困”与“我想睡觉”语义是一样的但字面上几乎没有太多重复的词,该方法就无法应对这种情况。另外,由于人机对话系统通常使用的是短句,因此TF基本上为1,无太大作用,这也会影响该方法的效果。因此现有技术中的缺陷是,通过分词的TF*IDF值计算用户输入与候选问答对的问题的词向量的余弦相似度,只考虑了句子之间的文本相似度,即只可以通过字面上有多少重复的分词来判断句子的相似度,这样会使相似度的判断十分不准确,直接导致人机对话系统中回复用户的信息是不准确的。
技术实现思路
本专利技术要解决的技术问题是提供一种短文本间相似度计算方法,采用了对用户输入或者候选问答对的问题进行分词和关键词提取,获得对应的词向量,根据词向量,计算获得对应的句向量,然后计算得到两个句向量间的相似度,最后通过句子的句型、命名实体和代词对相似度进行修正,使相似度变得更准确,进而提高了人机对话系统中回复用户的准确性。为解决上述技术问题,本专利技术提供的技术方案是:本专利技术提供一种短文本间相似度计算方法,包括:步骤S1,获取语料数据,对所述语料数据进行预处理,得到训练语料;步骤S2,根据所述训练语料,得到关键词提取模型,利用分词工具对所述训练语料分词,并用word2vec训练获得词向量集;步骤S3,获得用户输入文本和候选问答对的问题,对所述候选问答对的问题和所述用户输入文本通过所述分词工具分别进行分词,对所述候选问答对的问题和所述用户输入文本分别通过所述关键词提取模型进行关键词提取,得到所述候选问答对的问题的分词结果和关键词提取结果,及所述用户输入文本的分词结果和关键词提取结果;步骤S4,根据所述候选问答对的问题的分词结果和关键词提取结果,通过所述词向量集获得所述候选问答对的问题的词向量,根据所述用户输入文本的分词结果和关键词提取结果,通过所述词向量集获得所述用户输入文本的词向量;步骤S5,根据所述候选问答对的问题的词向量,计算获得所述候选问答对的问题的句向量,根据所述用户输入文本的词向量,计算获得所述用户输入文本的句向量;步骤S6,根据所述候选问答对的问题的句向量和所述用户输入文本的句向量,计算两个句向量间的相似度;步骤S7,根据所述句向量间的相似度,通过所述用户输入的文本和所述候选问答对的问题中包含的信息进行相似度的修正,得到修正后的相似度。本专利技术是一种短文本间相似度计算方法的技术方案为先获取语料数据,对所述语料数据进行预处理,得到训练语料,根据所述训练语料,得到关键词提取模型,利用分词工具对所述训练语料分词,并用word2vec训练获得词向量集;获得用户输入文本和候选问答对的问题,对所述候选问答对的问题和所述用户输入文本通过所述分词工具分别进行分词,对所述候选问答对的问题和所述用户输入文本分别通过所述关键词提取模型进行关键词提取,得到所述候选问答对的问题的分词结果和关键词提取结果,及所述用户输入文本的分词结果和关键词提取结果;接着根据所述候选问答对的问题的分词结果和关键词提取结果,通过所述词向量集获得所述候选问答对的问题的词向量,根据所述用户输入文本的分词结果和关键词提取结果,通过所述词向量集获得所述用户输入文本的词向量;根据所述候选问答对的问题的词向量,计算获得所述候选问答对的问题的句向量,根据所述用户输入文本的词向量,计算获得所述用户输入文本的句向量;根据两个句向量,计算两个句向量间的相似度;最后根据所述句向量间的相似度,通过所述用户输入的文本和所述候选问答对的问题中包含的信息进行相似度的修正,得到修正后的相似度。本专利技术是一种短文本间相似度计算方法采用了对用户输入文本和候选问答对的问题进行分词和提取关键词的处理,然后根据分词和关键词计算用户输入文本和候选问答对的问题的词向量,然后分别计算这两个词向量,得到用户输入文本和候选问答对的问题的句向量,最后通过计算得到两个句向量间的余弦相似度,进一步通过用户输入的文本和候选问答对的问题中包含的信息对相似度进行修正,得到更加准确的相似度,使人机对话系统中,回复用户的回答更准确。进一步地,所述用户输入的文本和所述候选问答对的问题中包含的信息为文本句型、命名实体和人称代词,所述命名实体包括地名和机构名称。根据用户输入的文本和候选问答对的问题的句向量,计算两个句向量间的相似度,这种方法获得的相似度在多数情况下是准确的,但在需要考虑句型、命名实体及人称代词等情况下只根据两个句向量间的相似度作为判断文本的语义是否相似的依据仍不够准确,因此要对相似度进行修正,本专利技术还分析用户输入的文本和候选问答对的问题的信息,就是对文本中的句型,命名实体和人称代词进行分析,进一步修正相似度,进而提高人就对话系统回复用户问题的准确性。进一步地,所述步骤S2中,获得所述关键词提取模型包括:步骤S21,获得关键词训练语料,根据所述关键词训练语料,进行分词,得到分词结果;步骤S22,根据所述分词结果,通过人工标注的方式标注所述分词结果中的关键词,得到人工标注后的关键词训练语料;步骤S23,根据所述人工标注后的关键词训练语料,通过最大熵训练得到关键词提取模型。通过关键词提取模型可以提取分词中的关键词,即分词包含关键词,因为关键词更能代表文本的语义,所以提取分词中的关键词,结合关键词会比只使用分词计算的相似度更加精确。为了训练关键词提取模型,先获得关键词训练语料,这些关键词语料可以和词向量的训练语料不同,然后通过人工标注的方法在分词中标注出关键词,通过最大熵的方法建立训练模型,任何新的未标注的文本输入到这个模型中,该模型会自动输出哪些是关键词哪些不是关键词,以此获得关键词集,以帮助提高句向量间的相似度。进一步地,所述关键词提取模型为一个2分类的分类器。上述提取关键词的模型是一个2分类的分类器,通过这个分类器可以预测句子中哪些词为关键词,提高提取关键本文档来自技高网
...
一种短文本间相似度计算方法

【技术保护点】
一种短文本间相似度计算方法,其特征在于,包括:步骤S1,获取语料数据,对所述语料数据进行预处理,得到训练语料;步骤S2,根据所述训练语料,得到关键词提取模型,利用分词工具对所述训练语料分词,并用word2vec训练获得词向量集;步骤S3,获得用户输入文本和候选问答对的问题,对所述候选问答对的问题和所述用户输入文本通过所述分词工具分别进行分词,对所述候选问答对的问题和所述用户输入文本分别通过所述关键词提取模型进行关键词提取,得到所述候选问答对的问题的分词结果和关键词提取结果,及所述用户输入文本的分词结果和关键词提取结果;步骤S4,根据所述候选问答对的问题的分词结果和关键词提取结果,通过所述词向量集获得所述候选问答对的问题的词向量,根据所述用户输入文本的分词结果和关键词提取结果,通过所述词向量集获得所述用户输入文本的词向量;步骤S5,根据所述候选问答对的问题的词向量,计算获得所述候选问答对的问题的句向量,根据所述用户输入文本的词向量,计算获得所述用户输入文本的句向量;步骤S6,根据所述候选问答对的问题的句向量和所述用户输入文本的句向量,计算两个句向量间的相似度;步骤S7,根据所述句向量间的相似度,通过所述用户输入的文本和所述候选问答对的问题中包含的信息进行相似度的修正,得到修正后的相似度。...

【技术特征摘要】
1.一种短文本间相似度计算方法,其特征在于,包括:步骤S1,获取语料数据,对所述语料数据进行预处理,得到训练语料;步骤S2,根据所述训练语料,得到关键词提取模型,利用分词工具对所述训练语料分词,并用word2vec训练获得词向量集;步骤S3,获得用户输入文本和候选问答对的问题,对所述候选问答对的问题和所述用户输入文本通过所述分词工具分别进行分词,对所述候选问答对的问题和所述用户输入文本分别通过所述关键词提取模型进行关键词提取,得到所述候选问答对的问题的分词结果和关键词提取结果,及所述用户输入文本的分词结果和关键词提取结果;步骤S4,根据所述候选问答对的问题的分词结果和关键词提取结果,通过所述词向量集获得所述候选问答对的问题的词向量,根据所述用户输入文本的分词结果和关键词提取结果,通过所述词向量集获得所述用户输入文本的词向量;步骤S5,根据所述候选问答对的问题的词向量,计算获得所述候选问答对的问题的句向量,根据所述用户输入文本的词向量,计算获得所述用户输入文本的句向量;步骤S6,根据所述候选问答对的问题的句向量和所述用户输入文本的句向量,计算两个句向量间的相似度;步骤S7,根据所述句向量间的相似度,通过所述用户输入的文本和所述候选问答对的问题中包含的信息进行相似度的修正,得到修正后的相似度。2.根据权利要求1所述短文本间相似度计算方法,其特征在于,所述用户输入的文本和所...

【专利技术属性】
技术研发人员:简仁贤陈秀龙
申请(专利权)人:竹间智能科技上海有限公司
类型:发明
国别省市:上海;31

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

1