法律状态公告日
法律状态信息
法律状态
2020-06-23
专利权的恢复 IPC(主分类):G06F17/30 原决定名称:未缴年费专利权终止 原决定公告日:20200424 申请日:20130508
专利申请或者专利权的恢复
2020-04-24
未缴年费专利权终止 IPC(主分类):G06F17/30 授权公告日:20161130 终止日期:20190508 申请日:20130508
专利权的终止
2016-11-30
授权
授权
2014-01-15
实质审查的生效 IPC(主分类):G06F17/30 申请日:20130508
实质审查的生效
2013-12-18
公开
公开
技术领域
本发明涉及计算机及问答系统的知识库领域,尤其涉及基于历史咨询数据构建知识库的方法。
背景技术
在自动问答系统中,知识库是问答系统的重要数据来源,它在整个系统中起到了非常重要的作用,一个高质量的知识库能够大大提高问答系统的效率与准确率。
目前业内对知识库的建设一般有2种方式:
第一种是知识库建设还停留在手工建设阶段,由于行业领域限制的原因,所以很多知识都是纯手工构建,而且手工构建一般都是某行业特殊的技术人员来完成,其工作效率低、质量不高,维护难度大。
第二种是采用语义匹配度,进行构建知识库。问答系统中通常是使用知网(How-net)或近义词表来实现,但是知网(How-net)和近义词表都是靠人工整理,实现起来工作量相当庞大,而且覆盖范围窄。
假设自动问答系统知识库中存在以下多对一的问答集,并且包括一个用户输入自然语言句子(以下简称问句)和系统应答(以下简称答案句),如以下例子:
在淘宝网的服装行业中常见的问答句:
问句:这件牛仔裤会不会褪色?
问句:这件宝贝会不会褪色啊?
问句:真的不会褪色吗?
问句:牛仔裤洗几次会褪色吗?
问句:你们卖的牛仔裤是褪色吗?
。。。。。。
答案句:不会褪色的,亲。
当用户输入“牛仔裤洗几次会褪色吗”的时候,系统会找到这组问答集,并将该答案句返回给用户。但是,当用户输入“这件宝贝洗了几次会掉色吗?”的时候,技术人员必须手工在知网(How-net)或近义词表中设置“宝贝”(电商行业通常用“宝贝”来代替商品名)与“牛仔裤”关联,“褪色”与“掉色”关联。系统才能准确把答案句返回给用户,不然系统无法计算出真实的答案。以上不光技术人员要设置近义词的关联,还有把答案句“不会褪色的,亲。”对应n种问法都收集起来,此种做法,无论是从工作量还是系统效率的角度来看,都是不可接受的。
发明内容
本发明的目的在于,提供一种基于历史咨询数据构建知识库的方法,解决现有知识库构建效率低下的问题。
为了实现上述目的,本发明提供一种基于历史咨询数据构建知识库的方法,其包括以下步骤:
1)读取历史咨询数据;
2)切分咨询场景;
3)提取每个场景的问答对;
4)计算答案相似度;
5)过滤相似答案频率低的答案;
6)提取高频率答案对应的问句;
7)提取问句集的核心关键字顺序规则;
8)存储知识。
其中,在所述步骤2)中,根据咨询者进行切分场景,切成多组单个客服与单个咨询者的咨询场景。
其中,在所述步骤3)中,根据客服与咨询者的身份来提取问答对,客服说的内容设为答案,咨询者说的内容设为问句。
其中,在所述步骤4)中,计算答案相似度是计算所有场景的问答对中的答案相似值,首先对答案句进行分词,其次过滤停用词,最后计算每句答案句之间的相似值。
其中,所述答案句的相似度包括词的相似度、句子长度相似度、及词序相似度,其之间的关系为
SentenceSim(X,Y)=λ1*WordSim(X,Y)+λ2*LenSim(x,y)+λ3*OrderSim(X,Y),SentenceSim(X,Y)表示答案句X及答案句Y的相似度,WordSim(X,Y)表示答案句X的词与答案句Y的词之间的相似度,LenSim(X,Y)表示答案句X的句子长度与答案句Y的句子长度之间的相似度,OrderSim(X,Y)表示答案句X的词序与答案句Y的词序之间的相似度,λ1、λ2、λ3分别是常数,且满足λ1+λ2+λ3=1。
其中,所述WordSim(X,Y)的计算公式为:
>
所述LenSim(X,Y)计算公式为:
>
所述词序相似度计算公式为:
其中,SameWC(X,Y)表示答案句X与答案句Y之间相同词的个数,Len(X),Len(X)分别表示答案句x和答案句Y的长度,abs表示计算结果去绝对值,Onews(x,y)表示:答案句X及答案句Y中都出现且都只出现一次的词的集合,Reword(X,Y),表示各相邻词之间的逆序数。
其中,在所述步骤5)中,相似答案频率是指每句答案句在整个历史咨询数据中所占的比率,然后根据阈值过滤低频率的答案,高于阈值认定为高频率答案即高质量答案。
其中,所述步骤6)依据高频率答案,查找每句答案相对应的问句。
其中,所述步骤7)采用统计学的原理,通过对问句集进行分词,提取频率大于阈值且有顺序规则的关键字。
其中,所述步骤8)存储的内容包括答案、问句、核心关键字顺序规则,该括答案、问句、及核心关键字顺序规则之间的关系是多对多的关系。
本发明的有益效果:本发明以历史咨询数据为基础,可以很快的构建出知识库,并且该知识库不仅包含了多对多的问答集,而且包含了核心的关键字顺序集,在以历史咨询数据为前提下,此种构建方法不仅能替换了传统的知网(Hownet)和近义词表,而且节约了大批的人力维护成本,方便技术人员快速建设知识库。
为了能更进一步了解本发明的特征以及技术内容,请参阅以下有关本发明的详细说明与附图,然而附图仅提供参考与说明用,并非用来对本发明加以限制。
附图说明
下面结合附图,通过对本发明的具体实施方式详细描述,将使本发明的技术方案及其它有益效果显而易见。
附图中,
图1为本发明的流程示意图;
图2是本发明的历史咨询数据场景格式。
具体实施方式
为更进一步阐述本发明所采取的技术手段及其效果,以下结合本发明的优选实施例及其附图进行详细描述。
本发明的实施环境采用淘宝网的购物咨询做案例分析,用买卖双方咨询数据作为构建问答系统知识库的数据来源。
请参考图1,为本发明实施例提供的一种基于历史咨询数据构建知识库方法。该方法通过对购物历史数据的分析,提取出买卖双方的一问一答,并存储为问答集;对问答集中的答案句,采用相似度计算,当相似值达到某个阈值时,断定为相似答案,并且统计相似答案频率。当相似答案频率达到某个阈值时,提取答案对应的问句集合。最后通过问句分词,提取频率高的关键字串。以下结合图1详细描述该方法。
步骤101,开始。
步骤102,读取历史咨询数据。
历史咨询数据一般都是由客服系统提供,通常是通过API或导入的形式读取。
步骤103,切分咨询场景。
历史咨询数据一般都是多个客服对应多个咨询者掺杂在一起,故必须根据咨询者进行切分场景,这里场景的定义是指单个客服与单个咨询者双方一个完整的对话,例如:图2中“买家abc”和“女装客服”双方的完整对话被成为一个场景。
步骤104,提取每个场景中的问句和答案句。
每个场景一般都包含了多个问句和答案句,故必须根据客服与咨询者的身份来提取问答对,通常客服说的内容为答案,咨询者说的内容为问句。
步骤105,计算答案相似度。
通常3个月以上的咨询数据都包含了n个咨询场景,每个场景包含了m个问答对,通过提取n*m的问答对中的答案集,计算答案集中答案句与答案句之间的相似度,此相似度计算先对答案句进行分词及过滤停用词,然后计算相似度,句子相似度由词的相似度、句子长度相似度、词序相似度决定的,其中词形相似度起着主要作用,句子长度相似度起次要作用,词序相似度的作用最小。当相似值大于阈值r(例如本实施例中r的值可设定为0.9)时,认定为相似答案。
具体相似度算法如下:
词的相似度:一个句子(sentence),S可看作词和特殊符号(以下简称单字)的一个有序集合。S的长度即是S中词的个数,此处用Len(S)表示,SameWC(X,Y)表示答案句X,Y中相同词的个数, 当一个词在X,Y中出现的次数不同时以出现次数少的计数。答案句X,Y的词形相似度WordSim(X,Y)由下述公式决定:
>
其中:WordSim(X,Y)∈[0,1];意义:两个答案句相同的字数越多,两个答案句就越相似。
句子长度相似度:Len(X),Len(Y)分别表示答案句x和答案句Y的长度即两个答案句中词的个数。则答案句长度相似度LenSim(X,Y)由下述公式决定:
其中:Lensim(x,y)∈[0,1];意义:两个语句的长度越接近,两个语句越相似。
词序的相似度:Onews(x,y)表示:X,Y中都出现且都只出现一次的单词的集合。Reword(X,Y),表示各相邻词之间的逆序数。Ordersim(x,y)
其中:OrderSim(X,Y)∈[0,1],这样定义词序相似度的优点是:当一个分句或短语整体发生长距离移动后,仍与原来的语句很相似。实现快捷,算法复杂度为0(m),其中m=|Onews(X,Y)|.
句子X,Y的相似度SentenceSim(X,Y)由下述公式决定:
SentenceSim(X,Y)=λ1*WordSim(X,Y)+λ2*LenSim(x,y)+λ3*OrderSim(X,Y)
其中,λ1,λ2,λ3分为是常数,且满足λ1+λ2+λ3=1,显然SentenceSim(X,Y)∈[0,1]。在句子相似度中词形相似度起着主要作用,语句长度相似度和词序相似度起着次要的作用,因此λ1,λ2,λ3,取值时应该有λ1>λ2>λ3,当前默认取λ1=0.8,λ2=0.15,λ3=0.05。由此在计算中可设置一个阈值做为相似的一个条件,当两个语句的相似度高于这个阈值时,就认为这两个语句相似,例如在本实施例中阈值设定为0.9,高于0.9则认定为相似答案。
步骤106,过滤相似答案频率低的答案。
相似答案频率是指通过相似度计算后,该答案句在历史咨询数据的所有答案中出现的频率次数。相似答案频率的过滤是以阈值R(R可以根据具体情况而设置,例如在本实施例中可设定为2),小于认定为低频率答案,例如:图2中“亲,我们是购买于下午17点前的当日发货,17点后的次日发出,谢谢。”和“不会褪色的,亲”出现的频率次数就为2.
步骤107,提取高频率答案对应的问句。
经过步骤106的过滤后剩下的就是高频率的答案,高频率答案相对应的问句,通常都是高质量的问句,这些问句通常都包含近义词,例如:图2中答案句:“不会褪色的,亲”,对应的问句分别为“这件衣服会褪色吗?”和“这件宝贝会掉色吗?”只有存储多对一的问答集,就能废掉庞大近义词表。
步骤108,提取问句集的核心关键字顺序规则。
问句集是指答案对应的问句群,它包含了若干问句。核心关键字顺序规则是指问句集中包含了多个核心关键字集,并且该关键字集有一定的语序。本方法先通过对所有的问句进行分词,然后采用统计学的原理,提取频率大于r2(在本实施例中r2大于1)且有顺序规则的关键字。
例如:图2中答案句:“亲,我们是购买于下午17点前的当日发货,17点后的次日发出,谢谢。”对应的问句集.
你们什么时候能发货呢?
那到底什么时候可以给我发货呢?
通过分词及过滤停用词后,得出以下分词结果:
你们什么时候能发货
那到底什么时候可以给我发货
从分词后,根据一定的算法可以很快的统计出频率大于2且有顺序规则的关键字为“什么时候…发货”。
步骤109,存储知识。
知识库的存储格式按编号、答案、问句、核心关键字顺序规则存储,其中答案与问句之间是多对多的关系,问句与核心关键字顺序规则是多对多的关系;如下表1:
表1
步骤110结束。
通过以上的步骤,以历史咨询数据为基础,可以很快的构建出知识库,并且该知识库不仅包含了多对多的问答集,而且包含了核心的关键字顺序集,在以历史咨询数据为前提下,此种构建方法不仅能替换了传统的知网(Hownet)和近义词表,而且节约了大批的人力维护成本,方便技术人员快速建设知识库。
以上实施例提供了自动构建知识库,上述实施例主要以中文为目标语言,也可以适用于其他语言。本实施例提供的自动构建知识库方法,是以淘宝为代表的电子商务行业进行描述的,但不局限于电子商务行业,可以适用于其他行业实现该方法,并且本案例中的相似度计算不局限于此算法,可以采用其他相似度计算方式来实现。
以上所述,对于本领域的普通技术人员来说,可以根据本发明的技术方案和技术构思作出其他各种相应的改变和变形,而所有这些改变和变形都应属于本发明权利要求的保护范围。
机译: 知识数据库管理设备,用于使用电子表格文档中包含的表构建知识库,并使用户访问知识库数据库及其操作方法
机译: 用于确定是否可以在基于历史数据确定的时间段内构建虚拟机的计算机可读介质,方法和管理设备
机译: 基于语义角色标记的基于本体的知识库构建方法