文本相似度计算方法与流程

文档序号:12863798阅读:456来源:国知局
文本相似度计算方法与流程
本发明涉及一种文本相似度计算方法,特别涉及利用意图识别分类模型的文本相似度计算方法。
背景技术
:文本相似度,即计算两个问题是否相似的算法,其作为一种最基础的算法有着广泛的应用,同时也是搜索引擎、文本排序、关联问题挖掘等一系列问题的核心。如果能有效地计算两两文本之间的相似度,一系列的问题也能随之解决。意图识别,即识别一种行为的意图。例如,在问答对话中,提问者每句话都带有一定的意图,应答方根据对方的意图进行回答。相关问题在搜索引擎、聊天机器人等场景下有广泛的应用。尤其,在聊天机器人中,意图识别是整个系统的核心模块。在回答用户的问题时,事先将所有问题划分为一个个主题即按用户的意图进行分类的分类主题(以公司客服与用户对话为例,一个主题就是一个业务点。例如,有关退换货、有关发货地址等)。用户每次提问,都将问题映射到某个主题中,之后给出特定主题对应的答案。机器学习就是一门人工智能的科学,该领域的主要研究对象是人工智能,特别是如何在经验学习中改善具体算法的性能。常见的机器学习方法可以分为监督学习、半监督学习和无监督学习。所谓监督学习,就是从给定的训练数据集中学习出一个函数,当新的数据到来时,可以根据该函数来预测结果。监督学习的训练集要求是包括输入和输出,也可以说是特征和目标。训练集中的目标是可以预先标注的。所谓主题模型就是对文本隐含主题进行建模的方法。给定训练语料,自动地将训练语料划分为不同的主题,用于预测新的语料属于哪个主题。lr(logisticregression)即逻辑回归算法,是一种常用的监督学习 算法。bagofwords(词袋),是一种文本表示方法。例如,有一个词典:{″john″:1,″likes″:2,″to″:3,″watch″:4,″movies″:5,″also″:6,″football″:7,″games″:8,″mary″:9,″too″:10}一个文本:johnlikestowatchmovies.marylikestoo.根据已有的词典,可以将该文本转换成如下向量:[1,1,1,1,1,0,0,0,1,1]其中,1表明词典中的词出现过,0表示没有出现。现有计算文本相似度的方法很多,例如,将文本转化为词向量后求向量的cos(余弦)夹角,或bm25(bmstandsforbestmatching,最佳匹配准则)、lcs(longestcommonsubsequence,最长公共子序列)等等一系列算法。然而,现有计算文本相似度的算法往往只能从某一个方面反映文本的相似度,而且算法基本都是与文本字面强(紧密)相关。一方面,当两个文本匹配到核心词或匹配到一般的无用词时,算法给出的相似度是相同的,无法进行区分;另一方面,如果两个文本含有同义词,虽然表达的是一个意思,但是由于字面不一致而导致相似度很低。一般的主题模型由于各个主题是程序自动聚类生成的,因此,一方面,生成的主题常常是人们无法理解的,另一方面,会将不相关的一些问题划分到一个主题中而使得效果很难达到预期。另外,在实际使用中往往需要同时对多个相似度算法进行融合。而且,效果也很难令人满意。技术实现要素:本发明是鉴于现有技术的基本都与文本的字面有较强的相关性而无法真正从文本的语义级别来判断文本相似度等上述这样的问题而做出的, 其目的在于提供一种避免了现有技术中完全根据字面来计算相似度的弊端的准确度更高且效果更好的文本相似度计算方法。本发明的一个方面的文本相似度计算方法,步骤(s1),按照预设的基于用户意图而分类的分类主题,根据历史文本,创建针对所述历史文本中的词组的意图识别分类模型,该意图识别分类模型反映了所述词组在所述分类主题下的概率;步骤(s2),将作为相似度计算对象的对象文本分割为与上述意图识别分类模型中的所述词组对应的对象词组,基于所述意图识别分类模型,对所述对象词组的所述概率进行相加并归一,获得所述对象文本的意图分类向量,该意图分类向量反映了所述对象文本在所述分类主题下的概率;以及步骤(s3),根据所述意图分类向量,利用余弦法求取两个所述对象文本的相似度。根据本发明的一个方面的文本相似度计算方法,所述余弦法的公式为:其中,cosθ表示相似度,i表示所述意图分类向量的分类主题数,其值是1至n的正整数,a表示第一对象文本,b表示第二对象文本,ai、bi分别表示所述第一对象文本或所述第二对象文本在当前分类主题下的所述概率。根据本发明的一个方面的文本相似度计算方法,所述意图识别分类模型的创建是通过词袋法并结合逻辑回归算法来实现的。根据本发明的一个方面的文本相似度计算方法,所述分类主题是客服与用户对话的业务点。根据本发明的一个方面的文本相似度计算方法,所述历史文本是客服与用户对话的历史咨询日志中的文本。根据本发明的一个方面的文本相似度计算方法,所述词组是根据需要从所述历史文本中筛选出的一部分词组。根据本发明的一个方面的文本相似度计算方法,所述分类主题数是所 述意图分类向量的维度。根据本发明的一个方面的文本相似度计算方法,所述概率是所述意图分类向量的数值。综上所述,根据本发明的文本相似度计算方法的上述技术方案,实现了一种准确度更高且效果更好的文本相似度计算方法,避免了现有技术中完全根据字面来计算相似度的弊端。附图说明图1是本发明的文本相似度计算方法的概要框图。图2是本发明的文本相似度计算方法的创建意图识别分类模型的步骤s1的流程图。图3是本发明的智能终端设备接入智点网络的控制方法的有关旧设备接入时的工序示意图。具体实施方式本发明是利用了意图识别分类模型的文本相似度计算方法,按照事先划分好的各个分类主题,意图识别分类模型可以将文本映射到对应的分类主题上从而从中获取其语义级别的信息。在此基础上进行文本相似度计算,从而能够取得更好的效果。为使本发明的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本发明进行详细说明。图1是本发明的文本相似度计算方法的概要框图。如图1所示,上述文本相似度计算方法包括:创建意图识别分类模型的步骤s1;获取对象文本的意图识别分类向量的步骤s2;以及计算相似度的步骤s3。图2是本发明的文本相似度计算方法的创建意图识别分类模型的步骤s1的流程图。如图2所示,在创建意图识别分类模型的步骤s1中,首先,预先设定按用户的意图进行分类的分类主题(步骤s1-1)。以公司客服与用户对话为例,一个分类主题就是一个业务点,用户的每个问题(文本)可以与这些业务点中的相应业务点对应。例如,在此假设划分为3种分类主题: “有关运费”、“有关退换货”、“有关发货地址”。接着,获取历史文本(以公司客服与用户对话为例,则为历史咨询日志中的文本),并将历史文本进行切词,以确定建模用词组(步骤s1-2)。即,以上述bagofwords(词袋)法为例,可以切分成与词袋中的词典数据对应的一个个词组,作为建模用词组。在此,可以不是所有词组都作为建模用词组,而是可以根据需要来筛选出真正有用的一部分词组作为建模用词组。然后,针对所确定的各个建模用词组,按照上述预设的分类主题,利用公知的算法(例如,利用bagofwords(词袋)法,将每句文本转换为向量,然后,利用lr(logisticregression)即逻辑回归算法进行模型训练),创建针对各个词组的意图识别分类模型(步骤s1-3)。在此,意图识别分类模型的输出是一个向量(也称作主题向量),向量的维度与上述划分的分类主题数是一致的(本例中,为“3”),每一维的数值代表了文本或词组属于所对应的分类主题的概率,概率越大代表文本或词组越有可能属于当前分类主题,向量的所有维度相加为1。下列【表1】,表示出所创建的针对词组的意图识别分类模型的一个示例。(这里,表1指示一个示例,数值并非实际数值。而且,该意图识别分类模型是一种现有的机器学习算法,不止一种,不同的算法其算法逻辑是不同的)【表1】有关运费有关退换货有关发货地址东西0.330.330.33发货0.450.100.45包邮0.800.100.10哪里0.150.050.80运费0.800.100.10············图3是本发明的文本相似度计算方法的获取对象文本的意图识别分类向量的步骤s2的流程图。如图3所示,在获取对象文本的意图识别分类向量的步骤s2中,首先,获取作为进行相似度评估的对象的对象文本(步骤s2-1)。接着,利用上述创建的意图识别分类模型,获取该对象文本的意图识 别向量(步骤s2-2)。具体而言,意图识别分类模型的输入是该对象文本,意图识别分类模型的输出是一个向量(也称作主题向量),向量的维度与上述划分的分类主题数是一致的(本例中,为“3”),每一维的数值代表了文本或词组属于所对应的分类主题的概率,概率越大代表文本或词组越有可能属于当前分类主题,向量的所有维度相加为1。例如,假设对象文本为“东西发货运费谁出”,则按照bagofwords(词袋)法进行切词,切词为“东西”、“发货”、“运费”、“谁出”。然后,根据上述【表1】的针对词组的意图识别分类模型,利用相加并归一的方法来获取该对象文本的意图识别向量,即对象文本属于所对应的各分类主题下的概率。例如,具体计算(相加并归一算法)如下。第一步,计算文本属于各个分类的概率:属于分类主题1(例如“有关运费”)的概率p1=0.33+0.45+0.80;属于分类主题2(例如“有关退换货”)的概率p2=0.33+0.10+0.10;·····属于分类主题n的概率pn=xxx+xxx+xxx;第二步,归一化各个概率:属于分类主题1的最终概率=p1/(p1+p2+···+pn);属于分类主题2的最终概率=p2/(p1+p2+···+pn);·····属于分类主题n的最终概率=pn/(p1+p2+···+pn);这里,也只是一个示例,数值并非实际数值。而且,这也并非唯一算法。然后,判断要进行相似评估的对象文本是否获取完毕,在判断为未完毕(“否”)时,返回步骤s2-1,获取下一对象文本;在判断为完毕(“是”)时,进入步骤s3。下列【表2】,表示出所获取的对象文本的意图分类向量的一个示例。(这里,表2也只是一个示例,数值并非实际数值,与上述【表1】并非完全匹配)【表2】在计算相似度的步骤s3中,根据下列余弦公式(式1)来求取两个文本的相似度。其中,cosθ表示相似度,i表示向量的维度即分类主题数,其值是1至n的正整数(本例中,n=3),a表示第一对象文本,b表示第二对象文本,ai、bi分别表示第一对象文本或第二对象文本在当前分类主题下的向量数值即概率。这样,根据上述【表2】,通过以上公式求得“东西发货运费谁出”与“商品包邮吗”的相似度为0.9967,而“东西发货运费谁出”与“东西从哪里发货”的相似度为0.0819。可见,当文本表达为同一个意图时就能够较好的反映出其相似度也较为接近。反之,当意图相差较远时,文本相似度也低。而且,相似度与字面关系不大,并不是字面越接近就越相似。由此,本发明通过上述方法计算而求得的相似度是对文本语义级别的理解,较一般的相似度计算方法抽象级别更高。其不是简单的根据文本的字面是否一致求相似度,而是根据文本真正的意图来看两个文本是否在表述同一个含义。相比于一般的字面相似度算法,避免了上文中提到的完全根据字面计算相似度的弊端。对于一般的主题模型,由于意图识别分类模型有更高的准确率,效果也更为优异。以上所述的具体实施例,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体示例而已,并不用于限制本发明。凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1