CN110096567A - 基于qa知识库推理的多轮对话回复选择方法、系统 - Google Patents
基于qa知识库推理的多轮对话回复选择方法、系统 Download PDFInfo
- Publication number
- CN110096567A CN110096567A CN201910192600.5A CN201910192600A CN110096567A CN 110096567 A CN110096567 A CN 110096567A CN 201910192600 A CN201910192600 A CN 201910192600A CN 110096567 A CN110096567 A CN 110096567A
- Authority
- CN
- China
- Prior art keywords
- similarity
- candidate
- dialog
- context
- turn
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000010187 selection method Methods 0.000 title claims abstract description 22
- 238000004458 analytical method Methods 0.000 title abstract description 3
- 238000000034 method Methods 0.000 claims abstract description 29
- 238000000605 extraction Methods 0.000 claims abstract description 22
- 230000014509 gene expression Effects 0.000 claims description 32
- 238000004364 calculation method Methods 0.000 claims description 23
- 238000013528 artificial neural network Methods 0.000 claims description 13
- 230000000306 recurrent effect Effects 0.000 claims description 12
- 230000011218 segmentation Effects 0.000 claims description 6
- 238000003058 natural language processing Methods 0.000 abstract description 3
- 230000002452 interceptive effect Effects 0.000 abstract 1
- 238000010586 diagram Methods 0.000 description 5
- 230000002457 bidirectional effect Effects 0.000 description 2
- 238000004422 calculation algorithm Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 238000010606 normalization Methods 0.000 description 2
- 238000006467 substitution reaction Methods 0.000 description 2
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 125000004122 cyclic group Chemical group 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000003909 pattern recognition Methods 0.000 description 1
- 238000007781 pre-processing Methods 0.000 description 1
- 238000010845 search algorithm Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/31—Indexing; Data structures therefor; Storage structures
- G06F16/316—Indexing structures
- G06F16/319—Inverted lists
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/33—Querying
- G06F16/332—Query formulation
- G06F16/3329—Natural language query formulation or dialogue systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/33—Querying
- G06F16/3331—Query processing
- G06F16/334—Query execution
- G06F16/3344—Query execution using natural language analysis
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- General Engineering & Computer Science (AREA)
- Mathematical Physics (AREA)
- Computational Linguistics (AREA)
- Artificial Intelligence (AREA)
- Human Computer Interaction (AREA)
- Software Systems (AREA)
- Machine Translation (AREA)
Abstract
本发明属于自然语言处理领域,具体涉及一种基于QA知识库推理的多轮多话回复选择方法、系统,旨在解决人机多轮对话交互系统中回复选择的问题。本发明方法包括:以当前多轮对话提取的关键词、当前输入作为问题从QA知识库中检索出候选问题集合,并获取相应的上下文,构建候选多轮对话集合;计算当前输入与候选问题的语义相似度为第一相似度;计算当前输入的上下文与各候选问题上下文的语义相似度为第二相似度;计算当前多轮对话与各候选多轮对话的摘要信息的相似度为第三相似度;三个相似度加权求和得到各候选问题与当前输入的相似度,将相似度最大的候选问题对应的回复作为输出回复。本发明可以有效提高回复语句的质量,增强用户体验。
Description
技术领域
本发明属于自然语言处理技术领域,具体涉及一种基于QA知识库推理的多轮对话回复选择方法、系统。
背景技术
随着人工智能的快速发展,特别是近年来随着深度学习技术、自然语言处理技术和人工构造的知识库规模的扩大,人机对话系统在智能家居、智能助理以及智能客服等领域得到了长足发展,而用户对于聊天内容的质量要求也越来越高。
目前的聊天机器人,根据回复语句生成策略的不同可分为生成式方法和检索式方法。相比于生成式方法,基于检索式的方法有如下优点:1)模型实现比较简单;2)由于回复的语句都是从数据库中提取的,回复句子自然,符合语法规范;3)可以很容易地扩展新的对话知识。但是目前检索式方法都是利用用户的输入语句来检索答案的,没有考虑当前对话的上下文信息,这就导致很有可能产生错误的回复,大大降低了对话系统的鲁棒性。为了提高回复语句的质量,增强用户体验,如何构建带上下文信息的QA知识库以及如何有效利用当前对话的上下文信息是一个非常值得研究的课题。
发明内容
为了解决现有技术中的上述问题,即为了解决现有回复语句生产方法鲁棒性不足的问题,本发明的第一方面,提供了一种基于QA知识库推理的多轮对话回复选择方法,包括以下步骤:
对当前多轮对话进行关键词提取,获取第一关键词组合;
以所述第一关键词组合、当前输入作为问题,从QA知识库中检索出候选问题集合,并获取各候选问题相应的上下文,构建候选多轮对话集合;所述QA知识库基于预先获取的多轮对话数据集进行构建;
计算所述当前输入与所述候选问题集合中各候选问题的语义相似度,作为对应的候选问题与当前输入的第一相似度;
计算所述当前输入的上下文与所述候选问题集合中各候选问题上下文的语义相似度,作为对应的候选问题与当前输入的第二相似度;
计算当前多轮对话的摘要信息与所述候选多轮对话集合中各候选多轮对话的摘要信息的相似度,作为对应的候选问题与当前输入的第三相似度;
基于第一相似度、第二相似度、第三相似度,通过加权求和的方式计算得到候选问题集合中各候选问题与当前输入的相似度,选取相似度最大的候选问题对应的回复作为当前输入的回复。
在一些优选实施方式中,“对当前多轮对话进行关键词提取”,其方法为:
对当前正在进行的多轮对话进行关键词抽取,并选取其中词性为名词和动词的关键词作为所提取的关键词。
在一些优选实施方式中,“构建候选多轮对话集合”,其方法为:
根据所述第一关键词组合对QA知识库进行检索,获得包含所述第一关键词组合中关键词的多轮对话,作为第一多轮对话集合;
根据当前输入对QA知识库进行检索,得到与当前输入最相似的N个候选句子及包含该句子的多轮对话,作为第二多轮对话集合;
对第一多轮对话集合和第二多轮对话集合取交集,得到候选问题集合和候选多轮对话集。
在一些优选实施方式中,所述第二相似度,其计算方法为:
通过循环神经网络获取当前输入的上下文的语境分布式表达,作为第一语境分布式表达;
通过循环神经网络分别获取所述候选问题集合中各候选问题的上下文的语境分布式表达,作为第二语境分布式表达;
分别计算所述第一语境分布式表达和所述第二语境分布式表达的相似度,作为对应的候选问题与当前输入的第二相似度。
在一些优选实施方式中,所述第三相似度,其计算方法为:
对当前多轮对话进行摘要抽取,获得当前多轮对话的摘要信息;
分别对所述候选多轮对话集合中各候选多轮对话进行摘要抽取,获得每个候选多轮对话的摘要信息;
分别计算当前多轮对话的摘要信息与所述候选多轮对话集合中各候选多轮对话的摘要信息的相似度,作为对应的候选问题与当前输入的第三相似度。
在一些优选实施方式中,“通过加权求和的方式计算得到候选问题集合中各候选问题与当前输入的相似度”,其方法为:
其中,为所计算的候选问题与当前输入的相似度,是候选问题与当前输入的第一相似度,Sim(Ck,Di)是候选问题与当前输入的第二相似度,是候选问题与当前输入的第三相似度,λ1、λ2、λ3分别为预设的加权系数。
在一些优选实施方式中,所述QA知识库,其构建方法为:
对预先获取的多轮对话数据集进行分词、关键词抽取;
使用关键词对多轮对话数据集建立索引,存储关键词及包含该关键词的多轮对话的ID;
对每一个多轮对话,将其中的每一句话建立倒排索引,存储包含该单词的句子、该句子所属多轮对话的ID以及该句子在多轮对话中的位置。
本发明的第二方面,提出了一种基于QA知识库推理的多轮对话回复选择系统,包括第一关键词组合提取单元、候选多轮对话集合获取单元、QA知识库模块、第一相似度计算单元、第二相似度计算单元、第三相似度计算单元、回复选择单元;
所述第一关键词组合提取单元,配置为对当前多轮对话进行关键词提取,获取第一关键词组合;
所述候选多轮对话集合获取单元,配置为以所述第一关键词组合、当前输入作为问题,从QA知识库中检索出候选问题集合,并获取各候选问题相应的上下文,构建候选多轮对话集合;
所述QA知识库基于预先获取的多轮对话数据集进行构建;
所述第一相似度计算单元,配置为计算所述当前输入与所述候选问题集合中各候选问题的语义相似度,作为对应的候选问题与当前输入的第一相似度;
所述第二相似度计算单元,配置为计算所述当前输入的上下文与所述候选问题集合中各候选问题上下文的语义相似度,作为对应的候选问题与当前输入的第二相似度;
所述第三相似度计算单元,配置为计算当前多轮对话的摘要信息与所述候选多轮对话集合中各候选多轮对话的摘要信息的相似度,作为对应的候选问题与当前输入的第三相似度;
所述回复选择单元,配置为基于第一相似度、第二相似度、第三相似度,通过加权求和的方式计算得到候选问题集合中各候选问题与当前输入的相似度,选取相似度最大的候选问题对应的回复作为当前输入的回复。
本发明的第三方面,提出了一种存储装置,其中存储有多条程序,所述程序适于由处理器加载并执行以实现上述的基于QA知识库推理的多轮对话回复选择方法。
本发明的第四方面,提出了一种处理装置,包括处理器、存储装置;处理器,适于执行各条程序;存储装置,适于存储多条程序;所述程序适于由处理器加载并执行以实现上述的基于QA知识库推理的多轮对话回复选择方法。
本发明的有益效果:
基于QA知识库的回复选择方法能够有效利用知识库中的上下文信息以及当前多轮对话的上下文信息进行推理,可以很大程度上提高回复语句的相关性和合理性,提高了正确选择回复语句的鲁棒性,从而大幅提升用户的对话体验。
附图说明
通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本申请的其它特征、目的和优点将会变得更明显:
图1是本发明一种实施例的基于QA知识库推理的多轮对话回复选择方法中的QA知识库的索引示意图;
图2是本发明一种实施例的基于QA知识库推理的多轮对话回复选择方法流程示意图;
图3是本发明一种实施例的基于QA知识库推理的多轮对话回复选择系统框架示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
下面结合附图和实施例对本申请作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释相关发明,而非对该发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与有关发明相关的部分。
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
本发明的基本思想是从句子语义相似度、上下文语境相似度以及多轮对话的全局相关性三个方面对回复语句的质量进行评价,最后通过这三个方面的综合评分选出最适合当前多轮对话的回复语句。图1给出了QA(Question Answering,问答)知识库中多轮对话的索引示意图,图2给出了回复选择的流程示意图。
对当前多轮对话进行关键词提取,获取第一关键词组合;
以所述第一关键词组合、当前输入作为问题,从QA知识库中检索出候选问题集合,并获取各候选问题相应的上下文,构建候选多轮对话集合;所述QA知识库基于预先获取的多轮对话数据集进行构建;
计算所述当前输入与所述候选问题集合中各候选问题的语义相似度,作为对应的候选问题与当前输入的第一相似度;
计算所述当前输入的上下文与所述候选问题集合中各候选问题上下文的语义相似度,作为对应的候选问题与当前输入的第二相似度;
计算当前多轮对话的摘要信息与所述候选多轮对话集合中各候选多轮对话的摘要信息的相似度,作为对应的候选问题与当前输入的第三相似度;
基于第一相似度、第二相似度、第三相似度,通过加权求和的方式计算得到候选问题集合中各候选问题与当前输入的相似度,选取相似度最大的候选问题对应的回复作为当前输入的回复。
本发明方法中第一相似度、第二相似度、第三相似度的计算没有先后顺序的限制,可以根据需要任意调整先后顺序,或者还可以采用并行处理能力的设备进行并行计算。
为了更清晰地对本发明基于QA知识库推理的多轮对话回复选择方法进行说明,下面结合图2对本方发明方法一种实施例中各步骤进行展开详述。该实施例中第一相似度、第二相似度、第三相似度的计算进行顺次设置,仅仅为了更有利于清晰描述,不能理解为对本发明技术方案的限定。同样,将QA知识库的构建添加至本发明的步骤中,仅仅为了更有利于清晰描述,不能理解为对本发明技术方案的限定,在具体实施中,还可以预先进行离线构建,本发明方法中直接运用已构建好的QA知识库即可。
步骤S10,基于预先获取的多轮对话数据集构建QA知识库。
步骤S101,对预先获取的多轮对话数据集进行分词、关键词抽取。
对搜集得到的多轮对话数据集进行预处理,包括分词和关键词抽取。在本实施例中,我们可以使用开源工具来对对话数据集进行预处理。
分词工具可以采用模式识别国家重点实验室开源平台的Urheen词法分析系统。关键词抽取可以采用TextRank算法的中文文本实现模块textrank4zh。
步骤S102,使用关键词对多轮对话数据集建立索引,存储关键词及包含该关键词的多轮对话的ID。
使用关键词对多轮对话数据集建立索引。图1给出了索引示意图。索引是一个Map结构,其中的key保存的是关键词,value保存的是关键词对应的多轮对话的ID。
步骤S103,对每一个多轮对话,将其中的每一句话建立倒排索引,存储包含该单词的句子、该句子所属多轮对话的ID以及该句子在多轮对话中的位置。
对多轮对话中的每一句话建立倒排索引。在实现时,本发明保存三个文件:词典文件、频率文件、位置文件,其中词典文件不仅保存每句话的关键词,还保留了指向频率文件和位置文件的指针。通过指针,可以快速找到该词汇的频率信息和位置信息。位置文件中存储的是该词汇出现的位置,比如第m个多轮对话的第n句。这样通过关键词搜索能够迅速从QA知识库中重组该词汇所在的多轮对话。
步骤S20,对当前多轮对话进行关键词提取,获取第一关键词组合。
对当前正在进行的多轮对话进行关键词抽取,并选取其中词性为名词和动词的关键词作为所提取的关键词。
当前多轮对话进行到第k轮,假设对话的上下文由Ck表示,其中Ck包含了从对话开始到当前轮所有的用户提问和相应的系统回复,即对话上下文其中,分别为第k-1轮的用户的输入语句和系统的回复语句。将上下文Ck中的每一句话拼接在一起形成一篇文档,并使用步骤10中提到的关键词抽取工具进行关键词抽取,并保留其中词性为名词和动词的词汇作为当前多轮对话的关键词。
步骤S30,以所述第一关键词组合、当前输入作为问题,从QA知识库中检索出候选问题集合,并获取各候选问题相应的上下文,构建候选多轮对话集合;所述QA知识库基于预先获取的多轮对话数据集进行构建。
步骤S301,根据所述第一关键词组合对QA知识库进行检索,获得包含所述第一关键词组合中关键词的多轮对话,作为第一多轮对话集合。
根据由步骤20得到的关键词对QA知识库进行检索操作,获得包含该关键词的多轮对话。步骤20对当前多轮对话抽取关键词,可以得到跟当前多轮对话主题高度相关的一个或若干个关键词,首先对这些关键词进行同义词扩展,然后利用抽取的关键词和扩展的关键词对QA知识库进行布尔检索,返回至少包含一个关键词的多轮对话集合。
步骤S302,根据当前输入对QA知识库进行检索,得到与当前输入最相似的N个候选句子及包含该句子的多轮对话,作为第二多轮对话集合。
根据用户的当前输入对QA知识库进行检索操作,得到与当前输入最相似的N个候选句子及包含该句子的多轮对话。用户当前的输入语句为对进行分词,去掉停用词,使用余下的词组成Query(问题)对QA知识库进行检索,获得与当前输入语句最相关的N个候选句子以及包含该句子的多轮对话。检索的算法很多,在本实施例中,使用经典的BM25算法来进行检索。
步骤S303,对第一多轮对话集合和第二多轮对话集合取交集,得到候选问题集合和候选多轮对话集。
对第一多轮对话集合和第二多轮对话集合取交集,从而得到候选问题集合和候选多轮对话集合CDm=(D0,D1,...,Dm-1,Dm),其中,Dm为第m个候选多轮对话,为第m个候选句子,该候选句子出现在第Dm个多轮对话中。
步骤S40,计算所述当前输入与所述候选问题集合中各候选问题的语义相似度,作为对应的候选问题与当前输入的第一相似度。
分别计算用户的当前输入与CSm中每个句子的语义相似度。为了计算语义相似度,首先将与CSm中的每个句子分别编码为向量。具体做法是,对任意一个句子x,我们首先采用一个双向门控循环神经网络单元(bi-GRU)对每个时刻的单词进行编码,如公式(1)、(2)所示:
其中,xn表示该句子中的第n个单词,φemb(xn)表示把这个单词映射为某个维度固定的向量,分别为n时刻的前向和后向隐层向量编码,表示将n+1时刻的隐层向量和第n个单词xn通过门控循环神经网络单元获得n时刻的后向隐层向量编码。最后双向门控循环神经网络的输出是H=(h1,h2,...,hN)。每个时刻网络的输出由两个方向的输出拼接起来,即
为了对句子进行更好地表示,本实施例使用了自注意力机制来捕获句子中重要的词汇信息。具体而言,采用了多层感知机(Multiple Layer Perceptron,MLP)对Bi-GRU每个时刻的输出求一个自注意力打分,然后对其进行概率归一化。如公式(3)、(4)所示:
an=MLP(hn) (3)
pn=softmax(an) (4)
其中,an为n时刻的自注意力打分,pn为归一化后的概率MLP(hn)表示将n时刻的隐层向量通过一个多层感知机得到自注意力打分,softmax(an)表示将n时刻的自注意力打分通过softmax函数进行概率归一化。
最终通过对Bi-GRU每个时刻的输出进行加权求和得到句子的表示,如公式(5)所示:
在得到句子的表示之后,就可以得到与CSm中的每个句子的相似度得分,如公式(6)所示:
其中,x为用户输入的句子,s为CSm集合中的候选句子,E(s)为由公式(5)计算得到的s的向量表示,cosine(E(x),E(s))表示E(x)和E(s)的余弦相似度。
步骤S50,计算所述当前输入的上下文与所述候选问题集合中各候选问题上下文的语义相似度,作为对应的候选问题与当前输入的第二相似度。
步骤S501,通过循环神经网络获取当前输入的上下文的语境分布式表达,作为第一语境分布式表达。
通过循环神经网络获取当前多轮对话中用户当前输入的上下文的语境分布式表达。当前多轮对话的上下文根据步骤40中的方法获得Ck中每个句子的分布式表达,接下来把每个句子的分布式表示输入到另外一个门控循环神经网络单元中得到上下文的语境分布式表示。如公式(7)所示:
步骤S502,通过循环神经网络分别获取所述候选问题集合中各候选问题的上下文的语境分布式表达,作为第二语境分布式表达。
通过循环神经网络获取根据步骤303得到的候选句子的上下文的语境分布式表达。根据步骤303,可以得到候选句子CSm和候选多轮对话集合CDm。我们以为例进行说明,假设是多轮对话D0中的第k个句子,即首先获得前k个句子的分布式表达,然后将每个句子的分布式表达输入到另外一个门控循环神经网络单元中得到上下文的语境分布式表示其他候选句子的上下文的语境分布式表达也使用同样的方法计算。
步骤S503,分别计算第一语境分布式表达和第二语境分布式表达的相似度,作为对应的候选问题与当前输入的第二相似度。
分别计算第一语境分布式表达和第二语境分布式表达的相似度。在得到用户输入的上下文语境分布式表达和候选句子的上下文语境分布式表达后,就可以计算上下文的语境相似度得分,如公式(8)所示:
步骤S60,计算当前多轮对话的摘要信息与所述候选多轮对话集合中各候选多轮对话的摘要信息的相似度,作为对应的候选问题与当前输入的第三相似度。
步骤S601,对当前多轮对话进行摘要抽取,获得当前多轮对话的摘要信息。
对当前多轮对话进行摘要抽取,获得当前多轮对话的摘要信息。对当前多轮对话抽取摘要,从而获得当前多轮对话的关键信息。在本实施例中,采用步骤10中所述的工具TextRank4ZH来抽取摘要,记为Sc。
步骤S602,分别对所述候选多轮对话集合中各候选多轮对话进行摘要抽取,获得每个候选多轮对话的摘要信息。
分别对根据步骤303得到的候选多轮对话集进行摘要抽取,获得每个候选多轮对话的摘要信息。同样使用工具TextRank4ZH对候选多轮对话集合CDm中的每个多轮对话抽取摘要,记为
步骤S603,分别计算当前多轮对话的摘要信息与所述候选多轮对话集合中各候选多轮对话的摘要信息的相似度,作为对应的候选问题与当前输入的第三相似度。
分别计算根据步骤601得到的摘要信息与根据步骤602得到的摘要信息的相似度。使用步骤40中所述的方法分别获取每个摘要的分布式表达,然后计算当前多轮对话摘要信息的分布式表达与候选多轮对话摘要信息的分布式表达的相似度得分,如公式所示(9):
步骤S70,基于第一相似度、第二相似度、第三相似度,通过加权求和的方式计算得到候选问题集合中各候选问题与当前输入的相似度,选取相似度最大的候选问题对应的回复作为当前输入的回复。
根据步骤40、503、603得到的分数对根据步骤303得到的候选句子进行重排序,如公式(10)所示:
其中,为所计算的候选问题与当前输入的相似度,是用户的当前输入与候选问题的语义相似度(第一相似度),Sim(Ck,Di)是用户当前输入的上下文与候选问题的上下文的语境相似度(第二相似度),是当前多轮对话的摘要信息与候选多轮对话的摘要信息的相似度(第三相似度)。最后选择得分最高的候选句子的回复作为当前多轮对话的回复。
本发明第二实施例的一种基于QA知识库推理的多轮对话回复选择系统,如图3所示,包括第一关键词组合提取单元、候选多轮对话集合获取单元、QA知识库模块、第一相似度计算单元、第二相似度计算单元、第三相似度计算单元、回复选择单元;
所述第一关键词组合提取单元,配置为对当前多轮对话进行关键词提取,获取第一关键词组合;
所述候选多轮对话集合获取单元,配置为以所述第一关键词组合、当前输入作为问题,从QA知识库中检索出候选问题集合,并获取各候选问题相应的上下文,构建候选多轮对话集合;
所述QA知识库基于预先获取的多轮对话数据集进行构建;
所述第一相似度计算单元,配置为计算所述当前输入与所述候选问题集合中各候选问题的语义相似度,作为对应的候选问题与当前输入的第一相似度;
所述第二相似度计算单元,配置为计算所述当前输入的上下文与所述候选问题集合中各候选问题上下文的语义相似度,作为对应的候选问题与当前输入的第二相似度;
所述第三相似度计算单元,配置为计算当前多轮对话的摘要信息与所述候选多轮对话集合中各候选多轮对话的摘要信息的相似度,作为对应的候选问题与当前输入的第三相似度;
所述回复选择单元,配置为基于第一相似度、第二相似度、第三相似度,通过加权求和的方式计算得到候选问题集合中各候选问题与当前输入的相似度,选取相似度最大的候选问题对应的回复作为当前输入的回复。
所属技术领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统的具体工作过程及有关说明,可以参考前述方法实施例中的对应过程,在此不再赘述。
需要说明的是,上述实施例提供的基于QA知识库推理的多轮对话回复选择系统,仅以上述各功能模块的划分进行举例说明,在实际应用中,可以根据需要而将上述功能分配由不同的功能模块来完成,即将本发明实施例中的模块或者步骤再分解或者组合,例如,上述实施例的模块可以合并为一个模块,也可以进一步拆分成多个子模块,以完成以上描述的全部或者部分功能。对于本发明实施例中涉及的模块、步骤的名称,仅仅是为了区分各个模块或者步骤,不视为对本发明的不当限定。
本发明第三实施例的一种存储装置,其中存储有多条程序,所述程序适于由处理器加载并执行以实现上述的基于QA知识库推理的多轮对话回复选择方法。
本发明第四实施例的一种处理装置,包括处理器、存储装置;处理器,适于执行各条程序;存储装置,适于存储多条程序;所述程序适于由处理器加载并执行以实现上述的基于QA知识库推理的多轮对话回复选择方法。
所属技术领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的存储装置、处理装置的具体工作过程及有关说明,可以参考前述方法实施例中的对应过程,在此不再赘述。
本领域技术人员应该能够意识到,结合本文中所公开的实施例描述的各示例的模块、方法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,软件模块、方法步骤对应的程序可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。为了清楚地说明电子硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以电子硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。本领域技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
术语“第一”、“第二”等是用于区别类似的对象,而不是用于描述或表示特定的顺序或先后次序。
术语“包括”或者任何其它类似用语旨在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备/装置不仅包括那些要素,而且还包括没有明确列出的其它要素,或者还包括这些过程、方法、物品或者设备/装置所固有的要素。
至此,已经结合附图所示的优选实施方式描述了本发明的技术方案,但是,本领域技术人员容易理解的是,本发明的保护范围显然不局限于这些具体实施方式。在不偏离本发明的原理的前提下,本领域技术人员可以对相关技术特征作出等同的更改或替换,这些更改或替换之后的技术方案都将落入本发明的保护范围之内。
Claims (10)
1.一种基于QA知识库推理的多轮对话回复选择方法,其特征在于,包括以下步骤:
对当前多轮对话进行关键词提取,获取第一关键词组合;
以所述第一关键词组合、当前输入作为问题,从QA知识库中检索出候选问题集合,并获取各候选问题相应的上下文,构建候选多轮对话集合;所述QA知识库基于预先获取的多轮对话数据集进行构建;
计算所述当前输入与所述候选问题集合中各候选问题的语义相似度,作为对应的候选问题与当前输入的第一相似度;
计算所述当前输入的上下文与所述候选问题集合中各候选问题上下文的语义相似度,作为对应的候选问题与当前输入的第二相似度;
计算当前多轮对话的摘要信息与所述候选多轮对话集合中各候选多轮对话的摘要信息的相似度,作为对应的候选问题与当前输入的第三相似度;
基于第一相似度、第二相似度、第三相似度,通过加权求和的方式计算得到候选问题集合中各候选问题与当前输入的相似度,选取相似度最大的候选问题对应的回复作为当前输入的回复。
2.根据权利要求1所述的基于QA知识库推理的多轮对话回复选择方法,其特征在于,“对当前多轮对话进行关键词提取”,其方法为:
对当前正在进行的多轮对话进行关键词抽取,并选取其中词性为名词和动词的关键词作为所提取的关键词。
3.根据权利要求1所述的基于QA知识库推理的多轮对话回复选择方法,其特征在于,“构建候选多轮对话集合”,其方法为:
根据所述第一关键词组合对QA知识库进行检索,获得包含所述第一关键词组合中关键词的多轮对话,作为第一多轮对话集合;
根据当前输入对QA知识库进行检索,得到与当前输入最相似的N个候选句子及包含该句子的多轮对话,作为第二多轮对话集合;
对第一多轮对话集合和第二多轮对话集合取交集,得到候选问题集合和候选多轮对话集。
4.根据权利要求1所述的基于QA知识库推理的多轮对话回复选择方法,其特征在于,所述第二相似度,其计算方法为:
通过循环神经网络获取当前输入的上下文的语境分布式表达,作为第一语境分布式表达;
通过循环神经网络分别获取所述候选问题集合中各候选问题的上下文的语境分布式表达,作为第二语境分布式表达;
分别计算所述第一语境分布式表达和所述第二语境分布式表达的相似度,作为对应的候选问题与当前输入的第二相似度。
5.根据权利要求1所述的基于QA知识库推理的多轮对话回复选择方法,其特征在于,所述第三相似度,其计算方法为:
对当前多轮对话进行摘要抽取,获得当前多轮对话的摘要信息;
分别对所述候选多轮对话集合中各候选多轮对话进行摘要抽取,获得每个候选多轮对话的摘要信息;
分别计算当前多轮对话的摘要信息与所述候选多轮对话集合中各候选多轮对话的摘要信息的相似度,作为对应的候选问题与当前输入的第三相似度。
6.根据权利要求1所述的基于QA知识库推理的多轮对话回复选择方法,其特征在于,“通过加权求和的方式计算得到候选问题集合中各候选问题与当前输入的相似度”,其方法为:
其中,为所计算的候选问题与当前输入的相似度,是候选问题与当前输入的第一相似度,Sim(Ck,Di)是候选问题与当前输入的第二相似度,是候选问题与当前输入的第三相似度,λ1、λ2、λ3分别为预设的加权系数。
7.根据权利要求1-6任一项所述的基于QA知识库推理的多轮对话回复选择方法,其特征在于,所述QA知识库,其构建方法为:
对预先获取的多轮对话数据集进行分词、关键词抽取;
使用关键词对多轮对话数据集建立索引,存储关键词及包含该关键词的多轮对话的ID;
对每一个多轮对话,将其中的每一句话建立倒排索引,存储包含该单词的句子、该句子所属多轮对话的ID以及该句子在多轮对话中的位置。
8.一种基于QA知识库推理的多轮对话回复选择系统,其特征在于,包括第一关键词组合提取单元、候选多轮对话集合获取单元、QA知识库模块、第一相似度计算单元、第二相似度计算单元、第三相似度计算单元、回复选择单元;
所述第一关键词组合提取单元,配置为对当前多轮对话进行关键词提取,获取第一关键词组合;
所述候选多轮对话集合获取单元,配置为以所述第一关键词组合、当前输入作为问题,从QA知识库中检索出候选问题集合,并获取各候选问题相应的上下文,构建候选多轮对话集合;
所述QA知识库基于预先获取的多轮对话数据集进行构建;
所述第一相似度计算单元,配置为计算所述当前输入与所述候选问题集合中各候选问题的语义相似度,作为对应的候选问题与当前输入的第一相似度;
所述第二相似度计算单元,配置为计算所述当前输入的上下文与所述候选问题集合中各候选问题上下文的语义相似度,作为对应的候选问题与当前输入的第二相似度;
所述第三相似度计算单元,配置为计算当前多轮对话的摘要信息与所述候选多轮对话集合中各候选多轮对话的摘要信息的相似度,作为对应的候选问题与当前输入的第三相似度;
所述回复选择单元,配置为基于第一相似度、第二相似度、第三相似度,通过加权求和的方式计算得到候选问题集合中各候选问题与当前输入的相似度,选取相似度最大的候选问题对应的回复作为当前输入的回复。
9.一种存储装置,其中存储有多条程序,其特征在于,所述程序适于由处理器加载并执行以实现权利要求1-7任一项所述的基于QA知识库推理的多轮对话回复选择方法。
10.一种处理装置,包括处理器、存储装置;处理器,适于执行各条程序;存储装置,适于存储多条程序;其特征在于,所述程序适于由处理器加载并执行以实现权利要求1-7任一项所述的基于QA知识库推理的多轮对话回复选择方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910192600.5A CN110096567B (zh) | 2019-03-14 | 2019-03-14 | 基于qa知识库推理的多轮对话回复选择方法、系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910192600.5A CN110096567B (zh) | 2019-03-14 | 2019-03-14 | 基于qa知识库推理的多轮对话回复选择方法、系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110096567A true CN110096567A (zh) | 2019-08-06 |
CN110096567B CN110096567B (zh) | 2020-12-25 |
Family
ID=67443210
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910192600.5A Active CN110096567B (zh) | 2019-03-14 | 2019-03-14 | 基于qa知识库推理的多轮对话回复选择方法、系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110096567B (zh) |
Cited By (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111178062A (zh) * | 2019-12-02 | 2020-05-19 | 云知声智能科技股份有限公司 | 一种面向人机交互多轮对话语料的加速标注方法及装置 |
CN111324712A (zh) * | 2020-02-18 | 2020-06-23 | 山东汇贸电子口岸有限公司 | 对话回复方法及服务端 |
CN111966782A (zh) * | 2020-06-29 | 2020-11-20 | 百度在线网络技术(北京)有限公司 | 多轮对话的检索方法、装置、存储介质及电子设备 |
CN112231457A (zh) * | 2020-10-19 | 2021-01-15 | 北京明略昭辉科技有限公司 | 闲聊机器人多轮对话生成方法、装置和闲聊机器人 |
CN112256856A (zh) * | 2020-11-16 | 2021-01-22 | 北京京东尚科信息技术有限公司 | 机器人对话方法、装置、电子设备及存储介质 |
CN112541059A (zh) * | 2020-11-05 | 2021-03-23 | 大连中河科技有限公司 | 一种应用在税务问答系统的多轮智能问答交互方法 |
CN112925894A (zh) * | 2021-03-26 | 2021-06-08 | 支付宝(杭州)信息技术有限公司 | 对话中标问匹配方法、系统及装置 |
CN113268973A (zh) * | 2021-06-01 | 2021-08-17 | 北京太极华保科技股份有限公司 | 一种人机多轮对话方法及装置 |
WO2021179445A1 (zh) * | 2020-03-13 | 2021-09-16 | 平安科技(深圳)有限公司 | 基于对话状态预测的多轮对话方法、装置和计算机设备 |
CN113656569A (zh) * | 2021-08-24 | 2021-11-16 | 电子科技大学 | 一种基于上下文信息推理的生成式对话方法 |
WO2022036944A1 (zh) * | 2020-08-17 | 2022-02-24 | 广州橙行智动汽车科技有限公司 | 语音交互方法、服务器和语音交互系统 |
CN114117021A (zh) * | 2022-01-24 | 2022-03-01 | 北京数智新天信息技术咨询有限公司 | 一种确定回复内容的方法、装置及电子设备 |
CN111462750B (zh) * | 2020-03-20 | 2023-08-25 | 北京邮电大学 | 语义与知识增强的端到端任务型对话系统及方法 |
CN116756346A (zh) * | 2023-08-17 | 2023-09-15 | 中国标准化研究院 | 一种信息检索方法及装置 |
Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103377245A (zh) * | 2012-04-27 | 2013-10-30 | 腾讯科技(深圳)有限公司 | 一种自动问答方法及装置 |
CN105653671A (zh) * | 2015-12-29 | 2016-06-08 | 畅捷通信息技术股份有限公司 | 相似信息推荐方法及系统 |
CN106227740A (zh) * | 2016-07-12 | 2016-12-14 | 北京光年无限科技有限公司 | 一种面向对话系统的数据处理方法及装置 |
CN106683672A (zh) * | 2016-12-21 | 2017-05-17 | 竹间智能科技(上海)有限公司 | 一种基于情感和语义的智能对话方法及系统 |
CN107798126A (zh) * | 2017-11-13 | 2018-03-13 | 北京邮电大学 | 基于知识库的问答处理方法 |
CN108153902A (zh) * | 2018-01-16 | 2018-06-12 | 和美(深圳)信息技术股份有限公司 | 多轮会话交互方法、装置、计算机设备和存储介质 |
CN108170764A (zh) * | 2017-12-25 | 2018-06-15 | 上海大学 | 一种基于场景上下文的人机多轮对话模型构建方法 |
CN108345672A (zh) * | 2018-02-09 | 2018-07-31 | 平安科技(深圳)有限公司 | 智能应答方法、电子装置及存储介质 |
CN108376144A (zh) * | 2018-01-12 | 2018-08-07 | 上海大学 | 基于深度神经网络的场景自动切换的人机多轮对话方法 |
CN109101537A (zh) * | 2018-06-27 | 2018-12-28 | 北京慧闻科技发展有限公司 | 基于深度学习的多轮对话数据分类方法、装置和电子设备 |
US20190012373A1 (en) * | 2017-07-10 | 2019-01-10 | Microsoft Technology Licensing, Llc | Conversational/multi-turn question understanding using web intelligence |
CN109446306A (zh) * | 2018-10-16 | 2019-03-08 | 浪潮软件股份有限公司 | 一种基于任务驱动的多轮对话的智能问答方法 |
CN109460457A (zh) * | 2018-10-25 | 2019-03-12 | 北京奥法科技有限公司 | 文本语句相似度计算方法、智能政务辅助解答系统及其工作方法 |
-
2019
- 2019-03-14 CN CN201910192600.5A patent/CN110096567B/zh active Active
Patent Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103377245A (zh) * | 2012-04-27 | 2013-10-30 | 腾讯科技(深圳)有限公司 | 一种自动问答方法及装置 |
CN105653671A (zh) * | 2015-12-29 | 2016-06-08 | 畅捷通信息技术股份有限公司 | 相似信息推荐方法及系统 |
CN106227740A (zh) * | 2016-07-12 | 2016-12-14 | 北京光年无限科技有限公司 | 一种面向对话系统的数据处理方法及装置 |
CN106683672A (zh) * | 2016-12-21 | 2017-05-17 | 竹间智能科技(上海)有限公司 | 一种基于情感和语义的智能对话方法及系统 |
US20190012373A1 (en) * | 2017-07-10 | 2019-01-10 | Microsoft Technology Licensing, Llc | Conversational/multi-turn question understanding using web intelligence |
CN107798126A (zh) * | 2017-11-13 | 2018-03-13 | 北京邮电大学 | 基于知识库的问答处理方法 |
CN108170764A (zh) * | 2017-12-25 | 2018-06-15 | 上海大学 | 一种基于场景上下文的人机多轮对话模型构建方法 |
CN108376144A (zh) * | 2018-01-12 | 2018-08-07 | 上海大学 | 基于深度神经网络的场景自动切换的人机多轮对话方法 |
CN108153902A (zh) * | 2018-01-16 | 2018-06-12 | 和美(深圳)信息技术股份有限公司 | 多轮会话交互方法、装置、计算机设备和存储介质 |
CN108345672A (zh) * | 2018-02-09 | 2018-07-31 | 平安科技(深圳)有限公司 | 智能应答方法、电子装置及存储介质 |
CN109101537A (zh) * | 2018-06-27 | 2018-12-28 | 北京慧闻科技发展有限公司 | 基于深度学习的多轮对话数据分类方法、装置和电子设备 |
CN109446306A (zh) * | 2018-10-16 | 2019-03-08 | 浪潮软件股份有限公司 | 一种基于任务驱动的多轮对话的智能问答方法 |
CN109460457A (zh) * | 2018-10-25 | 2019-03-12 | 北京奥法科技有限公司 | 文本语句相似度计算方法、智能政务辅助解答系统及其工作方法 |
Non-Patent Citations (1)
Title |
---|
杨成彪等: "一种基于记忆网络的多轮对话下的意图识别方法", 《电子技术与软件工程》 * |
Cited By (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111178062A (zh) * | 2019-12-02 | 2020-05-19 | 云知声智能科技股份有限公司 | 一种面向人机交互多轮对话语料的加速标注方法及装置 |
CN111178062B (zh) * | 2019-12-02 | 2023-05-05 | 云知声智能科技股份有限公司 | 一种面向人机交互多轮对话语料的加速标注方法及装置 |
CN111324712A (zh) * | 2020-02-18 | 2020-06-23 | 山东汇贸电子口岸有限公司 | 对话回复方法及服务端 |
WO2021179445A1 (zh) * | 2020-03-13 | 2021-09-16 | 平安科技(深圳)有限公司 | 基于对话状态预测的多轮对话方法、装置和计算机设备 |
CN111462750B (zh) * | 2020-03-20 | 2023-08-25 | 北京邮电大学 | 语义与知识增强的端到端任务型对话系统及方法 |
CN111966782A (zh) * | 2020-06-29 | 2020-11-20 | 百度在线网络技术(北京)有限公司 | 多轮对话的检索方法、装置、存储介质及电子设备 |
US11947578B2 (en) | 2020-06-29 | 2024-04-02 | Baidu Online Network Technology (Beijing) Co., Ltd. | Method for retrieving multi-turn dialogue, storage medium, and electronic device |
CN111966782B (zh) * | 2020-06-29 | 2023-12-12 | 百度在线网络技术(北京)有限公司 | 多轮对话的检索方法、装置、存储介质及电子设备 |
WO2022036944A1 (zh) * | 2020-08-17 | 2022-02-24 | 广州橙行智动汽车科技有限公司 | 语音交互方法、服务器和语音交互系统 |
CN112231457A (zh) * | 2020-10-19 | 2021-01-15 | 北京明略昭辉科技有限公司 | 闲聊机器人多轮对话生成方法、装置和闲聊机器人 |
CN112541059A (zh) * | 2020-11-05 | 2021-03-23 | 大连中河科技有限公司 | 一种应用在税务问答系统的多轮智能问答交互方法 |
CN112256856A (zh) * | 2020-11-16 | 2021-01-22 | 北京京东尚科信息技术有限公司 | 机器人对话方法、装置、电子设备及存储介质 |
CN112925894A (zh) * | 2021-03-26 | 2021-06-08 | 支付宝(杭州)信息技术有限公司 | 对话中标问匹配方法、系统及装置 |
CN113268973B (zh) * | 2021-06-01 | 2021-11-16 | 北京太极华保科技股份有限公司 | 一种人机多轮对话方法及装置 |
CN113268973A (zh) * | 2021-06-01 | 2021-08-17 | 北京太极华保科技股份有限公司 | 一种人机多轮对话方法及装置 |
CN113656569A (zh) * | 2021-08-24 | 2021-11-16 | 电子科技大学 | 一种基于上下文信息推理的生成式对话方法 |
CN113656569B (zh) * | 2021-08-24 | 2023-10-13 | 电子科技大学 | 一种基于上下文信息推理的生成式对话方法 |
CN114117021A (zh) * | 2022-01-24 | 2022-03-01 | 北京数智新天信息技术咨询有限公司 | 一种确定回复内容的方法、装置及电子设备 |
CN114117021B (zh) * | 2022-01-24 | 2022-04-01 | 北京数智新天信息技术咨询有限公司 | 一种确定回复内容的方法、装置及电子设备 |
CN116756346A (zh) * | 2023-08-17 | 2023-09-15 | 中国标准化研究院 | 一种信息检索方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN110096567B (zh) | 2020-12-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110096567B (zh) | 基于qa知识库推理的多轮对话回复选择方法、系统 | |
CN108829822B (zh) | 媒体内容的推荐方法和装置、存储介质、电子装置 | |
Cheng et al. | An economical scan design for sequential logic test generation | |
CN109376222B (zh) | 问答匹配度计算方法、问答自动匹配方法及装置 | |
CN109840287A (zh) | 一种基于神经网络的跨模态信息检索方法和装置 | |
CN110795913B (zh) | 一种文本编码方法、装置、存储介质及终端 | |
CN112667794A (zh) | 一种基于孪生网络bert模型的智能问答匹配方法及系统 | |
CN116775847A (zh) | 一种基于知识图谱和大语言模型的问答方法和系统 | |
CN108536807B (zh) | 一种信息处理方法及装置 | |
CN111831789A (zh) | 一种基于多层语义特征提取结构的问答文本匹配方法 | |
CN111414763A (zh) | 一种针对手语计算的语义消歧方法、装置、设备及存储装置 | |
CN112685550B (zh) | 智能问答方法、装置、服务器及计算机可读存储介质 | |
CN118093834B (zh) | 一种基于aigc大模型的语言处理问答系统及方法 | |
CN113392265A (zh) | 多媒体处理方法、装置及设备 | |
CN112581327B (zh) | 基于知识图谱的法律推荐方法、装置和电子设备 | |
CN116541493A (zh) | 基于意图识别的交互应答方法、装置、设备、存储介质 | |
KR20170122755A (ko) | 함의 페어 확장 장치, 그것을 위한 컴퓨터 프로그램, 및 질문 응답 시스템 | |
Lee et al. | Off-Topic Spoken Response Detection Using Siamese Convolutional Neural Networks. | |
CN118051635A (zh) | 基于大语言模型的对话式图像检索方法和装置 | |
Alshammari et al. | TAQS: an Arabic question similarity system using transfer learning of BERT with BILSTM | |
CN113779190B (zh) | 事件因果关系识别方法、装置、电子设备与存储介质 | |
CN114490926A (zh) | 一种相似问题的确定方法、装置、存储介质及终端 | |
CN117494815A (zh) | 面向档案的可信大语言模型训练、推理方法和装置 | |
CN111813916A (zh) | 一种智能问答方法、装置、计算机设备和介质 | |
Alwaneen et al. | Stacked dynamic memory-coattention network for answering why-questions in Arabic |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |