CN110362651A - 检索和生成相结合的对话方法、系统、装置和存储介质 - Google Patents
检索和生成相结合的对话方法、系统、装置和存储介质 Download PDFInfo
- Publication number
- CN110362651A CN110362651A CN201910501324.6A CN201910501324A CN110362651A CN 110362651 A CN110362651 A CN 110362651A CN 201910501324 A CN201910501324 A CN 201910501324A CN 110362651 A CN110362651 A CN 110362651A
- Authority
- CN
- China
- Prior art keywords
- return information
- retrieval
- corpus
- result
- model
- 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.)
- Pending
Links
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
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Artificial Intelligence (AREA)
- Human Computer Interaction (AREA)
- Computational Linguistics (AREA)
- Machine Translation (AREA)
Abstract
本发明公开了一种检索和生成相结合的对话方法,包括以下步骤:将用户输入内容与预设语料库进行检索匹配,得到匹配结果;根据匹配结果调用生成模型得到初级回复信息,或者,根据预设语料库进行处理得到初级回复信息;通过dual LSTM模型对初级回复信息进行评分,得到评分结果;根据评分结果输出最终回复信息。本发明得到的最终回复信息与用户输入的匹配度更高,灵活性高、错误率低。本发明作为一种检索和生成相结合的对话方法、系统、装置和存储介质,可广泛应用于信息处理技术领域。
Description
技术领域
本发明涉及信息处理技术,尤其是一种检索和生成相结合的对话方法、系统、装置和存储介质。
背景技术
随着人类进入信息时代,信息技术的发展,为了调高效率、降低成本和减少人力,市面上逐渐出现了非任务型的开放域对话系统,该系统能自动根据系统本身的设置而无需通过人工操作即能自动且快速对用户输入的内容进行回复。然而,目前大部分的非任务型的开放域对话系统是基于单一的检索模型或单一的生成模型的方法,而基于单一的检索模型的非任务型的开放域对话系统的回复十分依赖原有的语料库,很容易导致检索失败,无法回复语料库不存在的问题;基于单一的生成模型的非任务型的开放域对话系统则很容易产生前后不一致和没有意义的回复,最终导致的结果是并未为用户提供有用的回复,灵活性低、错误率高。
发明内容
有鉴于此,为了解决上述技术问题,本发明的目的是提供具有灵活性高、错误率低的一种检索模型与生成模型相结合以提高回复与用户输入内容匹配度的对话方法、系统、装置和存储介质。
本发明采用的技术方案是:检索和生成相结合的对话方法,包括以下步骤:将用户输入内容与预设语料库进行检索匹配,得到匹配结果;根据匹配结果及预设语料库调用生成模型得到初级回复信息,或者,根据匹配结果及预设语料库处理得到初级回复信息;通过dual LSTM模型对初级回复信息进行评分,得到评分结果;根据评分结果输出最终回复信息。
进一步,所述将用户输入内容与预设语料库进行检索匹配,得到匹配结果的步骤中,包括以下步骤:收集语料资源,对语料资源进行预处理,得到预设语料库;为预设语料库构建倒排索引,得到预设语料库中关键词的倒排记录表;将用户输入内容与所述关键词进行匹配,得到所述匹配结果;其中,预设语料库包括问题和问题对应的回复。
进一步,所述对语料资源进行预处理的步骤中,包括以下步骤:对语料资源进行格式转换,所述格式转换的处理结果的形式包括一问一答的形式;对语料资源进行格式处理、过滤处理、分词处理和向量化处理。
进一步,所述为预设语料库构建倒排索引,得到关键词的倒排记录表的步骤中,包括以下步骤:从预设语料库的问题中获取所述关键词形成词库;根据词库中的所述关键词确定检索词列表;根据检索词列表遍历预设语料库的问题得到所述关键词的倒排记录表。
进一步,所述根据预设语料库进行处理得到初级回复信息步骤中,包括以下步骤:对所述关键词的倒排记录表进行拼接以及去重,获得候选问题集,获得候选问题集;计算候选问题集中的句子与用户输入内容句子的句子相似度,得到计算结果,若计算结果小于或等于设置的第一阈值,调用生成模型生成初级回复信息;若计算结果大于设置的第一阈值,将计算结果中句子相似度最高的候选问题对应的回复作为初级回复信息输出。
进一步,所述根据评分结果输出最终回复信息的步骤中,包括以下步骤:若评分结果大于设置的第二阈值,将初级回复信息直接作为最终回复信息输出;若评分结果小于或等于设置的第二阈值,输出预设的回复信息作为最终回复信息输出。
进一步,根据评分结果输出最终回复信息的步骤中,还包括以下步骤:若评分结果小于或等于设置的第二阈值,返回所述调用生成模型得到初级回复信息。
本发明还提供,检索和生成相结合的对话系统,包括:检索模型模块,用于将用户输入内容与预设语料库进行检索匹配,得到匹配结果;以及根据匹配结果和预设语料库进行处理得到初级回复信息;生成模型模块,用于根据匹配结果及预设语料库生成初级回复信息;评分模型模块,用于通过dual LSTM模型对初级回复信息进行评分,得到评分结果;结合模型模块,用于根据评分结果输出最终回复信息。
本发明还提供,检索和生成相结合的对话装置,包括:至少一处理器;至少一存储器,用于存储至少一程序;当所述至少一程序被所述至少一处理器执行,使得所述至少一处理器实现所述检索和生成相结合的对话方法。
本发明还提供,存储介质,存储有处理器可执行的指令,处理器执行所述处理器可执行的指令时执行所述检索和生成相结合的对话方法。
本发明的有益效果是:首先将用户输入内容与预设语料库进行检索匹配,然后调用生成模型得出初级回复信息,或者,根据预设语料库进行处理得出初级回复信息,采用了检索模型与生成模型相结合的方法,汲取检索模型回复流畅和生成模型创造出新的回答的优点,且灵活性高、错误率低;另外,通过dual LSTM模型评分,根据评分结果输出最终回复信息,减少检索模型过于依赖知识库和生成模型输出过多无意义回复,保证得到的回复与用户输入有更高的匹配度。
附图说明
图1为本发明检索和生成相结合的对话方法的步骤流程示意图;
图2为本发明具体实施例的步骤流程示意图;
图3本发明预设语料库建立的步骤流程示意图;
图4为本发明评分模型的结构图;
图5为本发明检索和生成相结合的对话系统的结构框图;
图6为本发明生成模型的结构图。
具体实施方式
下面结合说明书附图和具体实施例对本发明作进一步解释和说明。对于本发明实施例中的步骤编号,其仅为了便于阐述说明而设置,对步骤之间的顺序不做任何限定,实施例中的各步骤的执行顺序均可根据本领域技术人员的理解来进行适应性调整。
如图1所示,检索和生成相结合的对话方法,包括以下步骤:
将用户输入内容与预设语料库进行检索匹配,得到匹配结果;
根据匹配结果及预设语料库调用生成模型得到初级回复信息,或者,根据匹配结果及预设语料库处理得到初级回复信息;
通过dual LSTM模型对初级回复信息进行评分,得到评分结果;
根据评分结果输出最终回复信息。
如图2所示,在本实施例中,将用户输入内容与预设语料库进行检索匹配、根据预设语料库进行处理得到初级回复信息均为检索模型所进行的处理。
如图3所示,进一步作为优选的实施方式,所述将用户输入内容与预设语料库进行检索匹配,得到匹配结果的步骤中,包括以下步骤:
收集语料资源,对语料资源进行预处理,得到预设语料库;
为预设语料库构建倒排索引,得到预设语料库中关键词的倒排记录表;
将用户输入内容与所述关键词进行匹配,得到所述匹配结果;
其中,预设语料库包括问题和问题对应的回复。
具体地,本实施例中的预设语料库包括问题库和回复库。
进一步作为优选的实施方式,所述对语料资源进行预处理的步骤中,包括以下步骤:
对语料资源进行格式转换,所述格式转换的处理结果的形式包括一问一答的形式;
对语料资源进行格式处理、过滤处理、分词处理和向量化处理。
在本实施例中,使用网络爬虫和人工收集的方法从互联网获取符合对话系统要求的语料资源,其中网络爬虫的原理是:爬虫请求访问一个链接,若能够访问则下载保存指定的内容,通过解析得到已爬取网页中的其他网页链接作为接下来要爬取的目标直至条件语句结束。具体实现是采用Scrapy框架编写程序或脚本对网页内容进行自动爬取。
为了便于后续处理,对收集到的数据进行分析之前,需要将语料资源数据进行格式处理,将语料资源数据统一为同一种格式,具体地:本实施例将数据的字符统一为Python3默认的utf-8编码,然后将数据处理(转换)成一问一答的形式后进行拼接,得到总的“一问一答”的对话语料,接着通过过滤处理过滤掉“一问一答”的对话语料中的特殊字符,如表情符号、html字符等等。本实施例中使用Python内置的正则表达式模块re,通过预先定义好正则表达式将数据中的噪音字符去除。
而分词处理则采用结巴分词工具进行结巴分词,为了提高分词精度,在进行分词处理前自定义结巴词典、词性以及添加停用词表。例如:在构建成语类型回复语句时,通过添加自定义词典以防止“天王盖地虎”、“明月几时有”等专有名词被分开,从而将其视为单独词语来进行后续的词向量训练。分词完成后,对应的问题为q={b1,b2,...,bn},对应的答案(回复)为a={c1,c2,...,cn},其中q指的是预设语料库中的任意一个问题(句子),而q中的bn为词语,n代表该句子分词后该词语为第n个,例如:问题为“你的爱好是什么”,b1为“你的”,b2为“爱好”b3为“是什么”;同理a为预设语料库中对应q的一个回复(或句子),当回答为“我喜欢阅读”,c1为“我”,c2为“喜欢”,c3为“阅读”。其中,在训练生成模型时,由于运用过长的训练语句容易导致模型鲁棒性较差,因此需要筛选合适长度的对话作为模型的训练语料。首先通过Counter(Q),Counter(A)分别统计问题Q和回复A两端文本序列中各个句子的长度,其中Q为预设语料库中所有问题的集合,包含q在内,A为预设语料库中对应Q的所有回复,包含a在内;然后使用过滤器filter分别保留长度在一定范围内的对话语料对filter(Q)、filter(A),filter(Q)、filter(A)即为符合生成模型训练要求的语料对,后续再对该些语料对进行处理。
在分词后分别使用词向量工具和句向量工具表示词向量和句向量,分别记为WordEmbedding及Sentence Embedding,具体嵌入方法表示如下:
1)Word Embedding:用于生成模型,将文本中的语料对进行词向量表示。考虑到情景语料中往往存在上下文关系,选用考虑了全局词频统计信息的GloVe方法表示词向量;
2)Sentence Embedding:用于检索模型,将索引词所对应的问题集合进行句向量表示。考虑到使用的语料大部分是日常情景对话,为了更好的反应上下文之间的联系,选用Doc2Vec的方式进行编码表示句向量。
进一步作为优选的实施方式,所述为预设语料库构建倒排索引,得到关键词的倒排记录表的步骤中,包括以下步骤:
从预设语料库的问题中获取所述关键词形成词库;
根据词库中的所述关键词确定检索词列表;
根据检索词列表遍历预设语料库的问题得到所述关键词的倒排记录表。
在本实施例中以上步骤均通过检索模型实现,其中预设语料库的内容通过处理、格式转换后,已变为“一问一答”的形式,即每一问题对应有一个回复。为了避免每次都要遍历整个语料库而降低检索模型的对话效率,通过预先构建倒排索引来召回一些候选问题。
具体地,构建倒排索引分两步:
第一步是确定检索词列表:本实施例采用词频统计的方法并结合人工筛选从语料库的问题Q={q1,q2,...,qn}中选出n个关键词(即图2中的候选词)W={w1,w2,...,wn}形成词库(即图2中的候选词文件),根据词库中的关键词确定检索词列表,其中集合W中的wi是为第i个关键词,qi为第i个问题句子。
第二步是完成倒排记录表:根据检索词列表,遍历对话语料库中的每一个问题qi,如问题qi包含关键词wi,则获取这个问题的索引号i记录在关键词wi的倒排记录表,最后得到了关键词W的倒排记录表TableW2D。
进一步作为优选的实施方式,所述根据预设语料库进行处理得到初级回复信息步骤中,包括以下步骤:
将所述关键词的倒排记录表进行拼接并去重,获得候选问题集;
计算候选问题集中的句子与用户输入内容句子的句子相似度,得到计算结果,
若计算结果小于或等于设置的第一阈值,调用生成模型生成初级回复信息;
若计算结果大于设置的第一阈值,将计算结果中句子相似度最高的候选问题对应的回复作为初级回复信息输出。
在本实施例,将用户输入的句子queryuser通过语义解析模型进行中文分词和去除停用词,将剩下的词语和词库中的n个关键词进行匹配,若匹配,将匹配到的关键词的倒排记录表全部拼接以及去重,在本实施例中先进行拼接再进行去重,得到该用户输入的候选问题集。对句子queryuser通过Doc2Vec进行向量化表示,按顺序计算候选问题集中的每一个句子与用户输入内容句子的句子相似度,句子相似度的计算可以用过BM25算法、TF-IDF算法或余弦相似度等方法,在本实施例中采用余弦相似度的计算方法。余弦相似度计算结果的取值范围为[0,1],取值为0代表两个句子完全不相同,取值为1代表两个句子完全相同,因此该处取0和1的中位值0.5作为第一阈值,即图2中的阈值1,当然根据不同的需求可以选取除中位值以外的其他数值作为第一阈值,只要能通过该第一阈值的设置执行不同的步骤即可。在本实施例中,若余弦相似度的计算结果小于或等于0.5,则调用生成模型生成初级回复信息;若大于0.5,将余弦相似度计算结果最大的候选问题对应的回复作为初级回复信息输出。
进一步作为优选的实施方式,所述根据评分结果输出最终回复信息的步骤中,包括以下步骤:
若评分结果大于设置的第二阈值,将初级回复信息直接作为最终回复信息输出;
若评分结果小于或等于设置的第二阈值,输出预设的回复信息作为最终回复信息输出。
在本实施例中,对用户输入与初级回复信息通过评分模型处理得到评分结果,而评分结果指的是初级回复信息与用户输入内容两者的匹配度。借鉴dual encoder模型(由对偶的RNN模型组成,分别把上下文context和回复response编码成语义向量,然后通过矩阵变换计算上下文和回复的语义相似度)的思想,通过encoder编码层对给定相关问题集Q={q1,q2,...,qn}与回复集A={a1,a2,...,an}进行抽象学习及特征抽取,将q={b1,b2,...,bn}转换为特征矩阵cinput,将a={c1,c2,...,cn}转换为特征矩阵rinput,使用sigmoid函数归一化输出值,使用二元交叉熵损失函数Loss作为模型训练阶段的损失函数。模型输出为评分模型训练阶段的参数矩阵M以及问题与回复的分数即匹配度的取值范围同样为[0,1],取值为0代表完全不匹配,取值为1代表完全匹配,因此该处取0和1的中值0.5作为第二阈值,即图2中的阈值2,当然根据不同的需求可以选取除中位值以外的其他数值作为第二阈值,在本实施例中,当评分结果即匹配度的值大于0.5,直接将初级回复信息作为最终回复信息输出;当匹配度的值小于或等于0.5,调用安全回复模型输出预设的回复信息作为最终回复信息输出。所述预设的回复信息是事先预设好的句子,该句子与用户输入不匹配但不出错,避免出现既不匹配又出错的结果。
如图4所示,本实施例评分模型由输入层、词嵌入层以及一个两层Encoder的LSTM编码器组成(下称Dual LSTM),其中输入层与词嵌入层完成输入文本到词向量的映射,通过embedding_lookup的方式将文本序列转换成矩阵形式输入到LSTM层,embedding_lookup即查表,将句子中的词用向量的方式进行表示。LSTM层将词向量转换为特征矩阵,序列中最后一个词T输入LSTM所得到的隐藏层状态hT作为当前序列的向量表示。记双编码器上层LSTM的输出为c(输入为cinput),双编码下层LSTM的输出记为r(输入为rinput),r与c分别是以矩阵的形式进行表示。评分模型将c与r分别做一个加权点积来计算回复r是上下文c的真实回复的概率,计算公式如下:
p(flag=1|c,r,M)=σ(cTMr+b)
公式中M是要学习的参数矩阵,σ是sigmoid函数,b为常数。模型训练使用二元交叉熵函数作为损失函数,训练目标是将(c,r)上下文和回复的交叉熵最小化。模型的损失函数如下:Loss=-y*ln(y')-(1-y)*ln(1-y'),上下文问题和回复的真实标注为y,y可以是1(实际答复)或者0(不正确答案),公式σ(cTMr+b)算出来的概率记作y'。交叉熵损失函数公式中,当y为1,Loss=-ln(y'),则惩罚了那些预测值远离1的情况。反之,当y为0时,Loss=-ln(1-y'),则惩罚了那些预测值远离0的情况。综上所述,根据Dual-LSTM训练得到评分模型后,可以分别对问题与检索模型输出的回复、问题与生成模型输出的回复,输入到评分模型,得到一个分数作为评价结果,评定输入与输出的准确性。
进一步作为优选的实施方式,根据评分结果输出最终回复信息的步骤中,还包括以下步骤:
若评分结果小于或等于设置的第二阈值,返回所述调用生成模型得到初级回复信息。
当初级回复信息由检索模型得出且评分结果小于等于第二阈值(即图2中的阈值2)时,返回所述调用生成模型得到初级回复信息,再通过与上述相同的方法得出该初级回复信息与用户输入内容两者的匹配度即评分结果,若评分结果大于第二阈值,将该初级回复信息作为最终回复信息输出;若评分结果小于或等于第二阈值,调用安全回复模型输出预设的回复信息作为最终回复信息输出。
参照图3所示,综上所述,使用检索模型和生成模型相结合的对话系统及方法从用户输入到输出最终回复信息的文字描述如下:
1)用户的原始输入,进入语义解析模块,包括中文分词、生成词向量等处理;
2)判断用户输入内容是否含有预设语料库中候选的关键词;
若不含有,则直接调用生成模型生成初级回复信息;
若含有,则通过检索模型计算用户输入和候选问题集中每一个句子的相似度,取相似度最高的句子的余弦相似度与设定的第一阈值进行比较:
低于或等于第一阈值,调用生产模型生成初级回复信息;
若高于第一阈值,则将相似度最高的句子对应的回复作为初级回复信息连同用户输入一起输入评分模型得出评分结果,如果评分结果高于第二阈值,则作为最终回复信息输出;否则,返回所述调用生成模型生成初级回复信息;
3)其中,由生成模型得出的初级回复信息也需要和用户输入一起输入评分模型进行评分得出评分结果,如果评分结果高于第二阈值,则作为最终回复信息输出;否则,调用安全回复模型输出预设的回复信息作为最终回复信息输出。
在本实施例中,初级回复信息指的是需要输入评分模型中进行评分的信息,可以由检索模型产生,亦可以通过生成模型生成。
参照图5,本发明还提供一种检索和生成相结合的对话系统,包括:
检索模型模块,用于将用户输入内容与预设语料库进行检索匹配,得到匹配结果;以及根据匹配结果和预设语料库进行处理得到初级回复信息;
生成模型模块,用于根据匹配结果及预设语料库生成初级回复信息;
评分模型模块,用于通过dual LSTM模型对初级回复信息进行评分,等到评分结果;
结合模型模块,用于根据评分结果输出最终回复信息。
上述方法实施例中的内容均适用于本系统实施例中,本系统实施例所具体实现的功能与上述方法实施例相同,并且达到的有益效果与上述方法实施例所达到的有益效果也相同。
在本实施例中,检索模型模块能够实现倒排索引的构建、候选问题集的构建和句子相似度的计算的作用;另外,检索模型模块除了通过上述方法实施例中的方法找到对应答复之外,还可以使用Elasticsearch搜索引擎对所有语料进行粗粒度筛选来获得候选答案。
在本实施例生成模型模块在已有的基于RNN的Seq2Seq模型基础上进行改进,Seq2Seq模型指的是由编码器(Encoder)-解码器(Decoder)组成,编码器和解码器分别是RNN网络,也可以是RNN的变体;编码器将一个不定长的输入序列变换成一个定长的背景变量,解码器将该背景变量解码出输出序列。在本实施例中在Encoder编码部分采用Bi-LSTM代替原有的RNN(在其他实施例中可以采用其他的RNN变体),在Decoder解码部分采用LSTM;同时,将注意力机制添加到对话生成中,解决了循环神经网络随时间增长信息丢失的问题。
如图6所示,生成模型包括两大核心部分,分别是Encoder编码部分和Decoder解码部分。1)Encoder编码部分由输入层、词嵌入层和一个2层栈式双向长短期记忆网络组成。输入层和词嵌入层负责将文本序列输入模型,并将序列中的词用向量{v1,v2,...,vt}的形式表示。考虑到情景语料中任何一个时刻单词信息都与周围上下文有着相关联系,因此在编码阶段使用Bi-LSTM(双向长短期记忆网络,将原来按序的输入转化成一正一反两个方向的输入,通过两个LSTM组成一个新的双向LSTM,充分考虑上下文信息对当前状态的影响),分别从文本序列的两个方向(正序和倒序)进行学习。编码阶段得到序列{x1,x2,x3,...,xt}的隐藏状态值{h1,h2,h3,...,ht}。在Bi-LSTM中,编码阶段在时间步t的隐藏状态ht由正向隐藏状态和反向隐藏状态作向量拼接得到。Seq2Seq模型中引入注意力机制是通过将时间步t的编码部分隐藏状态ht和注意力权重系数作加权平均得到解码部分时间步t'的不同的语义编码变量ct':
αt't是编码部分时间步t的输入对解码部分时间步t'的输出的一个权重:
上式中的et't以解码部分时间步t'的隐藏状态st'与编码部分时间步t的隐藏状态ht为输入,通过函数a计算
et't:et't=a(st',ht),
上式中的函数a有多种选择,本实施例采用了论文Luong M T等人在《Effectiveapproaches to attention-based neural machine translation》中的实现方式。
而2)Decoder解码部分由一个2层栈式长短期记忆网络组成,接收编码阶段输出的语义向量ct'作为解码阶段的输入。解码阶段当前时间步t'的隐藏状态st'由上一时间步t'-1的输出yt'-1,隐藏状态st'-1和当前时间步的ct'决定:
st'=g(yt'-1,ct',st'-1)
g指一个LSTM,长短期记忆网络,通过ct'和st'可以得到Attention的隐藏状态并求出概率分布:
Wc是计算隐藏状态时的一个权重参数,用于调节权重;Ws是计算概率分布p时的一个权重参数,用于调节权重,最终得到使得P(y1,...,yt'|x1,...,xt}概率最大化的结果序列{y1,y2,y3,...,yt'}。在本实施例中生成模型训练过程和预测过程中,Decoder解码部分的设置略有些不同。其中,在生成模型训练的过程中,Decoder解码部分引用了teachingforcing机制,将上一节点应当预测出的词作为输入进行训练,减少错误预测对模型造成的影响。在生成模型预测的过程中,Decoder解码部分采用束搜索(Beam Search)方法,通过指定beam_width的大小提升了回复的合理性和多样性。
在本实施例,结合模型模块通过设置模型间的两个阈值(包括第一阈值和第二阈值)将检索模型模块、生成模型模块和评分模型模块三者进行结合。
进一步作为优选的实施方式,还包括:
语料收集模块,用于使用网络爬虫技术和手工收集方法从互联网获取符合对话要求的中语料资源;
语料预处理模块,将收集到的语料资源数据统一为同一格式、将数据处理成一问一答的形式、过滤特殊字符、进行分词处理、将数据表示词向量和句向量。
本发明实施例还提供了检索和生成相结合的对话装置,包括:
至少一处理器;
至少一存储器,用于存储至少一程序;
当所述至少一程序被所述至少一处理器执行,使得所述至少一处理器实现所述检索和生成相结合的对话方法。
上述方法实施例中的内容均适用于本装置实施例中,本装置实施例所具体实现的功能与上述方法实施例相同,并且达到的有益效果与上述方法实施例所达到的有益效果也相同。
综上所述,相较于现有技术,本发明一种检索和生成相结合的对话方法具有以下优点:
1)、采用了检索模型与生成模型相结合的方法,汲取检索模型回复流畅和生成模型创造出新的回答的优点,且灵活性高、错误率低;
2)、通过dual LSTM模型评分,根据评分结果输出最终回复信息,减少检索模型过于依赖知识库和生成模型输出过多无意义回复,保证得到的回复与用户输入有更高的匹配度。
3)同时通过dual LSTM模型评分和安全回复模型的设置,使得对话系统在最坏情况下回复一个“不匹配但不出错”的结果,避免回复一个“既不匹配又出错”的结果。
4)为预设语料库构建倒排索引,通过预先构建倒排索引来召回一些候选问题,从而避免用户输入内容时每次都要遍历整个语料库,提高了检索模型的对话效率。
在一些可选择的实施例中,在方框图中提到的功能/操作可以不按照操作示图提到的顺序发生。例如,取决于所涉及的功能/操作,连续示出的两个方框实际上可以被大体上同时地执行或所述方框有时能以相反顺序被执行。此外,在本发明的流程图中所呈现和描述的实施例以示例的方式被提供,目的在于提供对技术更全面的理解。所公开的方法不限于本文所呈现的操作和逻辑流程。可选择的实施例是可预期的,其中各种操作的顺序被改变以及其中被描述为较大操作的一部分的子操作被独立地执行。
此外,虽然在功能性模块的背景下描述了本发明并且采用方块图的形式举例说明,但应当理解的是,除非另有相反说明,所述的功能和/或特征中的一个或多个可以被集成在单个物理装置和/或软件模块中,或者一个或多个功能和/或特征可以在单独的物理装置或软件模块中被实现。还可以理解的是,有关每个模块的实际实现的详细讨论对于理解本发明是不必要的。更确切地说,考虑到在本文中公开的装置中各种功能模块的属性、功能和内部关系的情况下,在工程师的常规技术内将会了解该模块的实际实现。因此,本领域技术人员运用普通技术就能够在无需过度试验的情况下实现在权利要求书中所阐明的本发明。还可以理解的是,所公开的特定概念仅仅是说明性的,并不意在限制本发明的范围,本发明的范围由所附权利要求书及其等同方案的全部范围来决定。
本发明实施例还提供了一种存储介质,存储有处理器可执行的指令,处理器执行所述处理器可执行的指令时执行所述检索和生成相结合的对话方法。
同样可见,上述方法实施例中的内容均适用于本存储介质实施例中,实现的功能和有益效果与方法实施例相同。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。就本说明书而言,“计算机可读介质”可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。
计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(RAM),只读存储器(ROM),可擦除可编辑只读存储器(EPROM或闪速存储器),光纤装置,以及便携式光盘只读存储器(CDROM)。另外,计算机可读介质甚至可以是可在其上打印所述程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器中。
在本说明书的描述中,参考术语“一个实施例”、“本实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
以上是对本发明的较佳实施进行了具体说明,但本发明并不限于所述实施例,熟悉本领域的技术人员在不违背本发明精神的前提下还可做作出种种的等同变形或替换,这些等同的变形或替换均包含在本申请权利要求所限定的范围内。
Claims (10)
1.检索和生成相结合的对话方法,其特征在于,包括以下步骤:
将用户输入内容与预设语料库进行检索匹配,得到匹配结果;
根据匹配结果及预设语料库调用生成模型得到初级回复信息,或者,根据匹配结果及预设语料库处理得到初级回复信息;
通过dual LSTM模型对初级回复信息进行评分,得到评分结果;
根据评分结果输出最终回复信息。
2.根据权利要求1所述的检索和生成相结合的对话方法,其特征在于:所述将用户输入内容与预设语料库进行检索匹配,得到匹配结果的步骤中,包括以下步骤:
收集语料资源,对语料资源进行预处理,得到预设语料库;
为预设语料库构建倒排索引,得到预设语料库中关键词的倒排记录表;
将用户输入内容与所述关键词进行匹配,得到所述匹配结果;
其中,预设语料库包括问题和问题对应的回复。
3.根据权利要求2所述的检索和生成相结合的对话方法,其特征在于:所述对语料资源进行预处理的步骤中,包括以下步骤:
对语料资源进行格式转换,所述格式转换的处理结果的形式包括一问一答的形式;
对语料资源进行格式处理、过滤处理、分词处理和向量化处理。
4.根据权利要求2所述的检索和生成相结合的对话方法,其特征在于:所述为预设语料库构建倒排索引,得到关键词的倒排记录表的步骤中,包括以下步骤:
从预设语料库的问题中获取所述关键词形成词库;
根据词库中的所述关键词确定检索词列表;
根据检索词列表遍历预设语料库的问题得到所述关键词的倒排记录表。
5.根据权利要求2所述的检索和生成相结合的对话方法,其特征在于:所述根据预设语料库进行处理得到初级回复信息步骤中,包括以下步骤:
对所述关键词的倒排记录表进行拼接以及去重,获得候选问题集;
计算候选问题集中的句子与用户输入内容句子的句子相似度,得到计算结果,
若计算结果小于或等于设置的第一阈值,调用生成模型生成初级回复信息;
若计算结果大于设置的第一阈值,将计算结果中句子相似度最高的候选问题对应的回复作为初级回复信息输出。
6.根据权利要求1所述的检索和生成相结合的对话方法,其特征在于:所述根据评分结果输出最终回复信息的步骤中,包括以下步骤:
若评分结果大于设置的第二阈值,将初级回复信息直接作为最终回复信息输出;
若评分结果小于或等于设置的第二阈值,输出预设的回复信息作为最终回复信息输出。
7.根据权利要求6所述的检索和生成相结合的对话方法,其特征在于:根据评分结果输出最终回复信息的步骤中,还包括以下步骤:
若评分结果小于或等于设置的第二阈值,返回所述调用生成模型得到初级回复信息。
8.检索和生成相结合的对话系统,其特征在于,包括:
检索模型模块,用于将用户输入内容与预设语料库进行检索匹配,得到匹配结果;以及
根据匹配结果和预设语料库进行处理得到初级回复信息;
生成模型模块,用于根据匹配结果及预设语料库生成初级回复信息;
评分模型模块,用于通过dual LSTM模型对初级回复信息进行评分,得到评分结果;
结合模型模块,用于根据评分结果输出最终回复信息。
9.检索和生成相结合的对话装置,其特征在于,包括:
至少一处理器;
至少一存储器,用于存储至少一程序;
当所述至少一程序被所述至少一处理器执行,使得所述至少一处理器实现如权利要求1-7任一项所述检索和生成相结合的对话方法。
10.存储介质,存储有处理器可执行的指令,其特征在于:处理器执行所述处理器可执行的指令时执行如权利要求1-7任一项所述检索和生成相结合的对话方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910501324.6A CN110362651A (zh) | 2019-06-11 | 2019-06-11 | 检索和生成相结合的对话方法、系统、装置和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910501324.6A CN110362651A (zh) | 2019-06-11 | 2019-06-11 | 检索和生成相结合的对话方法、系统、装置和存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110362651A true CN110362651A (zh) | 2019-10-22 |
Family
ID=68217063
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910501324.6A Pending CN110362651A (zh) | 2019-06-11 | 2019-06-11 | 检索和生成相结合的对话方法、系统、装置和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110362651A (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110990555A (zh) * | 2020-03-05 | 2020-04-10 | 中邮消费金融有限公司 | 端到端检索式对话方法与系统及计算机设备 |
CN111708863A (zh) * | 2020-06-02 | 2020-09-25 | 上海硬通网络科技有限公司 | 基于doc2vec的文本匹配方法、装置及电子设备 |
CN112417125A (zh) * | 2020-12-01 | 2021-02-26 | 南开大学 | 基于深度强化学习的开放域对话回复方法及系统 |
CN112988956A (zh) * | 2019-12-17 | 2021-06-18 | 北京搜狗科技发展有限公司 | 自动生成对话的方法及装置、信息推荐效果检测方法及装置 |
CN113220856A (zh) * | 2021-05-28 | 2021-08-06 | 天津大学 | 一种基于中文预训练模型的多轮对话系统 |
CN113239169A (zh) * | 2021-06-01 | 2021-08-10 | 平安科技(深圳)有限公司 | 基于人工智能的回答生成方法、装置、设备及存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070299824A1 (en) * | 2006-06-27 | 2007-12-27 | International Business Machines Corporation | Hybrid approach for query recommendation in conversation systems |
CN101373532A (zh) * | 2008-07-10 | 2009-02-25 | 昆明理工大学 | 旅游领域faq中文问答系统实现方法 |
CN108280218A (zh) * | 2018-02-07 | 2018-07-13 | 逸途(北京)科技有限公司 | 一种基于检索和生产混合问答的流程系统 |
CN108399169A (zh) * | 2017-02-06 | 2018-08-14 | 阿里巴巴集团控股有限公司 | 基于问答系统的对话处理方法、装置和系统及移动设备 |
-
2019
- 2019-06-11 CN CN201910501324.6A patent/CN110362651A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070299824A1 (en) * | 2006-06-27 | 2007-12-27 | International Business Machines Corporation | Hybrid approach for query recommendation in conversation systems |
CN101373532A (zh) * | 2008-07-10 | 2009-02-25 | 昆明理工大学 | 旅游领域faq中文问答系统实现方法 |
CN108399169A (zh) * | 2017-02-06 | 2018-08-14 | 阿里巴巴集团控股有限公司 | 基于问答系统的对话处理方法、装置和系统及移动设备 |
CN108280218A (zh) * | 2018-02-07 | 2018-07-13 | 逸途(北京)科技有限公司 | 一种基于检索和生产混合问答的流程系统 |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112988956A (zh) * | 2019-12-17 | 2021-06-18 | 北京搜狗科技发展有限公司 | 自动生成对话的方法及装置、信息推荐效果检测方法及装置 |
CN110990555A (zh) * | 2020-03-05 | 2020-04-10 | 中邮消费金融有限公司 | 端到端检索式对话方法与系统及计算机设备 |
CN110990555B (zh) * | 2020-03-05 | 2020-06-12 | 中邮消费金融有限公司 | 端到端检索式对话方法与系统及计算机设备 |
CN111708863A (zh) * | 2020-06-02 | 2020-09-25 | 上海硬通网络科技有限公司 | 基于doc2vec的文本匹配方法、装置及电子设备 |
CN111708863B (zh) * | 2020-06-02 | 2024-03-15 | 上海硬通网络科技有限公司 | 基于doc2vec的文本匹配方法、装置及电子设备 |
CN112417125A (zh) * | 2020-12-01 | 2021-02-26 | 南开大学 | 基于深度强化学习的开放域对话回复方法及系统 |
CN112417125B (zh) * | 2020-12-01 | 2023-03-24 | 南开大学 | 基于深度强化学习的开放域对话回复方法及系统 |
CN113220856A (zh) * | 2021-05-28 | 2021-08-06 | 天津大学 | 一种基于中文预训练模型的多轮对话系统 |
CN113239169A (zh) * | 2021-06-01 | 2021-08-10 | 平安科技(深圳)有限公司 | 基于人工智能的回答生成方法、装置、设备及存储介质 |
CN113239169B (zh) * | 2021-06-01 | 2023-12-05 | 平安科技(深圳)有限公司 | 基于人工智能的回答生成方法、装置、设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110362651A (zh) | 检索和生成相结合的对话方法、系统、装置和存储介质 | |
CN108549658B (zh) | 一种基于语法分析树上注意力机制的深度学习视频问答方法及系统 | |
CN109840287A (zh) | 一种基于神经网络的跨模态信息检索方法和装置 | |
CN108829667A (zh) | 一种基于记忆网络的多轮对话下的意图识别方法 | |
CN109948152A (zh) | 一种基于lstm的中文文本语法纠错模型方法 | |
CN112989796B (zh) | 一种基于句法指导的文本命名实体信息识别方法 | |
CN113051374B (zh) | 一种文本匹配优化方法及装置 | |
CN108170848B (zh) | 一种面向中国移动智能客服的对话场景分类方法 | |
CN114722839B (zh) | 人机协同对话交互系统及方法 | |
CN110852089B (zh) | 基于智能分词与深度学习的运维项目管理方法 | |
CN109992788A (zh) | 基于未登录词处理的深度文本匹配方法及装置 | |
CN109033073B (zh) | 基于词汇依存三元组的文本蕴含识别方法及装置 | |
CN115545041B (zh) | 一种增强医疗语句语义向量表示的模型构造方法及系统 | |
CN112364167A (zh) | 基于深度学习的意图识别方法、系统、设备及存储介质 | |
CN112287106A (zh) | 一种基于双通道混合神经网络的在线评论情感分类方法 | |
CN111666752A (zh) | 一种基于关键词注意力机制的电路教材实体关系抽取方法 | |
CN113239690A (zh) | 基于Bert与全连接神经网络融合的中文文本意图识别方法 | |
CN112434514A (zh) | 基于多粒度多通道的神经网络的语义匹配方法、装置及计算机设备 | |
CN114638228A (zh) | 一种基于词集自注意力的中文命名实体识别方法 | |
Ung et al. | A transformer-based math language model for handwritten math expression recognition | |
CN112015760B (zh) | 基于候选答案集重排序的自动问答方法、装置和存储介质 | |
CN112579739A (zh) | 基于ELMo嵌入与门控自注意力机制的阅读理解方法 | |
CN113486174A (zh) | 模型训练、阅读理解方法、装置、电子设备及存储介质 | |
Han et al. | Generative adversarial networks for open information extraction | |
CN115204143B (zh) | 一种基于prompt的文本相似度计算方法及系统 |
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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20191022 |