智能问答方法及系统与流程

文档序号:11234058阅读:502来源:国知局
智能问答方法及系统与流程

本发明涉及自然语言处理技术领域,尤其涉及一种智能问答方法及系统。



背景技术:

智能问答系统是基于海量互联网数据推理和对语言深度语义理解的智能系统。智能问答机器系统不仅可以回答知识类的问题,还可用于医疗、教育、生活、科技等各种与人们生活息息相关的领域,大幅提升人们获取信息的效率。

现有的智能问答系统主要是基于社区的问答,通过对历史用户问题/回答数据进行挖掘,计算用户问题与问答站点中已有的问题之间的相似度,返回相似度高的用户回答。

上述智能问答系统存在的缺陷在于:语句被当成词袋模型进行处理,导致缺乏对句法结构的理解;对一些特殊情况缺乏有效的处理能力,使得系统缺乏鲁棒性。



技术实现要素:

针对现有技术中的缺陷,本发明提供一种智能问答方法及系统,通过对字词进行处理可以提高对特殊情况的处理能力,提高方法的鲁棒性。

第一方面,本发明提供了一种智能问答方法,包括:

从用户终端获取用户输入的问题并使用分词器对其分词;

将分词后的用户输入的问题与问答库中的每个问题依次比较,以获取所述问答库中的每个问题的相似度;所述问答库通过选取预设数量的由一一对应的问题与答案构成的问答对构建;

对所述问答库中的每个问题的相似度进行排序,将相似度排序靠前的n个问答对传输至所述用户终端,n为正整数。

可选地,所述相似度是通过对词义相似度、语序相似度和句子长度维数加权求和所得到的数值。

可选地,所述将分词后的用户输入的问题与问答库中的每个问题依次比较,以获取所述问答库中的每个问题的相似度的步骤包括:

根据所述分词在所述问答库中检索候选问题,并对所述候选问题进行排序;

从排序后的候选问题中取前m个问答对与所输入的问题进行相似度计算,m>n。

可选地,使用分词器对所述输入的问题进行分词的步骤之后,所述方法还包括:

将所述输入的问题的分词与停用表进行匹配,去除上述分词中的停用词。

可选地,采用tf-idf算法检索候选问答对并对候选问答对进行排序。

可选地,所述从排序后的候选问题中取前m个问答对与所输入的问题进行相似度计算的步骤包括:

从输入的问题与问答库中每个问题选择连续出现的至少两个分词;

计算所述至少两个分词的内聚程度;所述内聚程度innerlevel通过以下公式计算:

式中,p(a)表示分词a出现的概率;p(b)表示分词b出现的概率;p(ab)表示分词a与分词b同时出现的概率;

将内聚程度超过预设内聚程度值的分词进行合并。

可选地,所述将内聚程度超过预设内聚程度值的分词进行合并的步骤之后,所述方法还包括:

采用tf-idf算法对m个问答对进行排序,并且每个分词的得分作为词语相似度权重。

可选地,本发明实施例提供的智能问答方法还包括:

当从所述问题库中找到的候选问答对为n1个时,n1<n,采用拒绝算法对该n1个问答对进行剔除;

所述拒绝算法为:

除去形容词与副词后,若第一候选问答对中不包含词语动态权重排序靠前的前n2个分词及其扩展词时,拒绝该问答对;

或者,

计算该n1个候选问答对中前面一个与后面一个候选问答对的得分差值百分比;

当该得分差值百分比小于预设得分差值百分比时,则拒绝后面一个候选问答对以其之后的所有问答对。

第二方面,本发明实施例还提供了一种智能问答系统,基于上文所述的智能问答方法实现,所述系统包括:

问答库构建模块,用于选取预设数量的由一一对应的问题与答案构成的问答对构建问答库;

分词获取模块,用于从用户终端获取用户输入的问题并使用分词器对其分词;

相似度计算模块,用于将分词后的用户输入的问题与问答库中的每个问题依次比较,以获取所述问答库中的每个问题的相似度;

问答对返回模块,用于对所述问答库中的每个问题的相似度进行排序,将相似度排序靠前的n个问答对传输至所述用户终端。

可选地,所述相似度计算模块用于执行以下步骤:

根据所述分词在所述问答库中检索候选问题,并对所述候选问题进行排序;

从排序后的候选问题中取前m个问答对与所输入的问题进行相似度计算,m<n。

由上述技术方案可知,本发明通过对用户输入问题的语句进行分词,然后利用分词与问答库中的每个问题依次比较,计算问题的相似度;根据相似对每个问题进行排序,返回排序靠前的n个问答对作为最终结果。本发明能够适应不同的专业领域,可以解决现有技术中利用词袋模型进行处理时缺乏对句法结构理解的情况,以及一些特殊情况下无法有效处理的情况。

附图说明

通过参考附图会更加清楚的理解本发明的特征和优点,附图是示意性的而不应理解为对本发明进行任何限制,在附图中:

图1是本发明实施例提供的一种智能问答方法框图;

图2是本发明实施例提供的拒绝算法流程示意图;

图3是本发明实施例提供的一种智能问答方法处理流程示意图;

图4是本发明实施例提供的一种智能问答系统框图。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

第一方面,本发明提供了一种智能问答方法,如图1所示,包括:

s1、从用户终端获取用户输入的问题并使用分词器对其分词;

s2、将分词后的用户输入的问题与问答库中的每个问题依次比较,以获取所述问答库中的每个问题的相似度;所述问答库通过选取预设数量的由一一对应的问题与答案构成的问答对构建;

s3、对所述问答库中的每个问题的相似度进行排序,将相似度排序靠前的n个问答对传输至所述用户终端,n为正整数。

需要说明的是,上述语句是本发明提供的方法处理的对象。本发明实施例中用户输入的问题是以语句的形式呈现的,问答库的问题与答案是以语句或者分词的形式呈现的。本领域技术人员应该知道,至于用户开始时以例如文字、图片还是音频等不同形式输入的问题最后都需要转换成语句的形式呈现。

下面结合实施例与附图对本发明提供的智能问答方法各步骤作进一步说明。

本发明实施例中需要先构建问答库,采集来自某个领域的预设数量的一一对应的问题与答案形成的问答对,构建上述问答库。需要说明的是,上述问答对中的问题语句已经分词,可以方便的根据每个词进行检索。还需要说明的是,上述问答库中问答对的预设数量越大越好,检索所得的结果也就越接近用户所需要的答案。

本发明实施例获取用户输入的问题后,使用分词器对该输入的问题进行分词。需要说明的是,由于有些分词会停止使用或者使用的频率极低,优选地,本发明将所述输入的问题的分词与停用表进行匹配,去除上述分词中的停用词。

将该输入的问题的分词与问答库中的每个问题依次比较,以获取问答库中每个问题的相似度。优选地,本发明中计算相似度采用以下步骤:

根据所述分词在所述问答库中检索候选问题,并对所述候选问题进行排序;

从排序后的候选问题中取前m个问答对与所输入的问题进行相似度计算,m<n。

优选地,本发明采用tf-idf算法在该问答库中检索候选问题。需要说明的是,由于tf-idf算法是现有技术中常用的信息检索与数据挖掘方法,本领域技术人员可以根据具体情况进行选择,本发明不作限定。

本发明中,相似度是通过对词义相似度、语序相似度和句子长度维数加权求和所得到的数值,包括:

1、词义相似度计算。在分词的层次上对输入的问题的语句与问答库中的每一个问题的相似度进行打分。两个语句中的词语相似度越高,那么两个语句的语义越相近。

实际应用中,分词器因为缺乏专业领域知识,在对输入的问题进行分词时往往倾向于细粒度分词。细粒度分词是指,将语句按照尽可能小的词语进行分词。例如专业词汇“中国银行”被分为“中国”和“银行”两个词。本发明实施例中,对类似上述的专业词词汇进行合并,包括:

从输入的问题与问答库中每个问题选择连续出现的至少两个分词;例如分词后的两个语句:

a:(中国)(银行)(提供)(哪些)(种类)(的)(贷款);

b:(中国)(银行)(有)(什么)(类别)(的)(贷款);

(中国)(银行)和(的)(贷款)都作为合并候选集。

计算上述至少两个分词的内聚程度;其中内聚程度通过以下公式计算:

式中,p(a)表示分词a出现的概率;p(b)表示分词b出现的概率;p(ab)表示分词a与分词b同时出现的概率;

将内聚程度超过预设内聚程度值的分词进行合并。

需要说明的是,上述预设内聚程度值可以根据具体使用场合进行设置,本发明不作限定。

本发明实施例中,对获取的前m个问答对中的连续分词进行合并后,继续采用tf-idf算法对该前m个候选问答对检索与排序。并且将本次tf-idf算法所计算的词语得分作为词语相似度的权重。

需要说明的是,输入的问题中部分分词有可能存在近义词。优选地,本发明实施例中还对合并后的输入的问题进行近义词扩展。然后利用哈工大词林扩展版计算所选取的m个候选问答对的词义相似度,计算方式如下:

2、语序相似度计算。计算两个语句中对应分词出现的顺序。分词顺序相似度越高,则两个语句相似度得分越高。计算公式如下:

如s1:“我借你钱”和s2:“你借我钱”两句话的顺序相似度为:

3、语句长度的维度。当相似度一样的时候,往往较短的句子对原问题的匹配度越高,所以本发明中优先选择较短的句子。

句子长度得分为:e-length,length为句子长度。

实际应用中,本发明提供的方法有可能会出现针对用户所提问题在问答库中没有合适的答案,或者合适的答案不足n个,此时本发明采用拒绝算法,将前n1个候选问答对进行剔除返回给用户。本发明主要分为两种拒绝方案,即全拒绝和部分拒绝,如图2所示:

1、当出现以下情况时,包括:(1)句长小于等于15个分词数:除去形容词和副词后,第一候选问题中不包含词语动态权重最高的那个词及其扩展词;(2)句长大于15个分词数:除去形容词和副词后,第一候选问题中不包含词语动态权重最高的前三个词及其扩展词;拒绝该n1个候选问答对。

2、当计算前n1个候选问答对中后面一个与前面一个得分差值的百分比;当该得分差值百分比小于预设得分差值百分比时,则拒绝后面一个候选问答对以其之后的所有问答对。

为说明本发明实施例提供的智能问答方法的优越性以及通用性,将该方法应用于金融领域中进行验证。

首先,在金融领域中,选取20万条问答对构建金融领域的问答库。该问答对来源于新浪爱问中的银行保险等与金融领域相关的问答对板块。

如图3所示,用户输入“银行卡密码设置如何更安全”,对该语句进行分词得到表达式(1):(银行)(卡)(密码)(如何)(设置)(更)(安全)。

在本金融领域的问答库中利用tf-idf算法匹配上述语句的分词,并将排序靠前的500个问答对作为候选问答对。

结合上述500个候选问答对对表示式(1)中分词进行细粒度合并得到表达式(2):(银行卡)(密码)(如何)(设置)(更)(安全)。

根据近义词典对表达式(2)中的分词进行近义词扩展得到表达式(3):(银行卡-借记卡-信用卡)(密码)(如何)(设置)(更)(安全-保险)。

对表达式(3)利用tf-idf算法计算上述各个分词的词语权重得到表达式(4):(银行卡-借记卡-信用卡0.7)(密码0.9)(如何0.3)(设置0.2)(更0.05)(安全-保险0.7)。

对上述500个候选问答对进行语句相似度计算。

根据上述词语权重系统、语句相似度以及句子长度维数获取用户输入的问题的相似度得到排序靠前的5个候选问答句。对该5个候选问答句采用拒绝算法得到最终结果反馈给用户。

表1本实施例用户输入问题的反馈结果

第二方面,本发明实施例还提供了一种智能问答系统,基于权利上文所述的智能问答方法实现,如图4所示,所述系统包括:

问答库构建模块,用于选取预设数量的由一一对应的问题与答案构成的问答对构建问答库;

分词获取模块,用于将用户输入的问题进行分词;

相似度计算模块,用于将分词后的用户输入的问题与所述问答库中的每个问题依次比较,以获取所述问答库中的每个问题的相似度;

问答对返回模块,用于对所述问答库中的每个问题的相似度进行排序,返回相似度排序靠前的n个问答对,n为正整数。

用于权利所述相似度计算模块用于执行以下步骤:

根据所述分词在所述问答库中检索候选问题,并对所述候选问题进行排序;

从排序后的候选问题中取前m个问答对与所输入的问题进行相似度计算,m<n。

由上可以看出,本发明实施例提供的智能问答系统基于上文所述的智能问答方法实现,因而可以解决同样的技术问题,并取得相同的技术效果,在此不再一一赘述。

综上所述,本发明实施例提供的智能问答方法及系统,通过对用户输入的问题进行分词、细粒度合并、近义词扩展以及两次tfidf计算等过程,并对所获取的候选问答对采用拒绝算法从而得到最终结果。本发明可以提高对特殊情况的处理能力,提高方法的鲁棒性。

本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(dsp)来实现根据本发明实施例的一种浏览器终端的设备中的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。

应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。

最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围,其均应涵盖在本发明的权利要求和说明书的范围当中。

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