[发明专利]一种基于自构建多场景的对话追踪方法在审
| 申请号: | 202111150461.3 | 申请日: | 2021-09-29 |
| 公开(公告)号: | CN114003773A | 公开(公告)日: | 2022-02-01 |
| 发明(设计)人: | 李青;胡萌;李立力 | 申请(专利权)人: | 西北工业大学 |
| 主分类号: | G06F16/901 | 分类号: | G06F16/901;G06F16/9032;G06F40/211;G06F40/284;G06F40/35;B25J11/00 |
| 代理公司: | 北京科亿知识产权代理事务所(普通合伙) 11350 | 代理人: | 李越 |
| 地址: | 710072 *** | 国省代码: | 陕西;61 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 基于 构建 场景 对话 追踪 方法 | ||
1.一种基于自构建多场景的对话追踪方法,其特征在于:包括以下步骤:
S1:首先对用户输入的问句进行特征工程处理以满足后续模块处理的需要;
S2:将经过处理的问句送入多层级问答处理模块;
S3:进入图谱检索模块;
S4:在问题检索模块会利用倒排索引,根据问题的余弦相似度在问答库中查询相似问题从而筛选出答案;
S5:在模型预测模块启动时,需要加载已经预训练过的seq2seq模型;
S6:最后一个模块为联网搜索模块,当问题送入联网搜索模块即意味着本地语料库没有匹配到答案,因此将会调用搜狗问问提供的接口获取相似问题的链接,再通过从搜索结果页面中收集答案,并输出给用户。
2.根据权利要求1所述的一种基于自构建多场景的对话追踪方法,其特征在于:所述步骤S1包括以下步骤:
语句清洗:去除空格、去除标点、去除停用词;
中文分词:按照不同模式进行分词;
文本标注:词性标注、语义角色标注、命名实体识别;
语义分析:依存句法分析、语义依存树图分析;
文本过滤:剔除敏感词汇、剔除不雅词汇;
文本数值化:构建词向量、生成句子向量;
特征提取:提取关键词、判断主题类型、构建其他特征;
句子长度约束:补全短句,删减长句。
3.根据权利要求1所述的一种基于自构建多场景的对话追踪方法,其特征在于:所述步骤S2多层级问答处理模块整体结构为一个多层级的线性过滤器,通过该层级过滤器控制各子模块的顺序运行。其将问题先后通过模板匹配、图谱检索、问题检索、模型预测、联网搜索多个模块进行处理,这些模块负责不同类型的问答,其中模板匹配负责回答聊天机器人自身相关的问题,图谱检索负责专利性强的领域问题,问题检索负责常见的聊天问题,模型预测则负责日常聊天,最后如果都无法匹配答案则调用外部接口进行联网搜索。如果某一模块搜索到答案,则返回给用户答案不再继续向下执行,如果没有获得答案,则交给下一层继续处理,如果最终没有获得相关答案则返回默认答案。
4.根据权利要求1所述的一种基于自构建多场景的对话追踪方法,其特征在于:所述步骤S3图谱检索模块主要负责回答专业领域内的相关问题,在该模块启动后首先会加载知识图谱,随后通过LTP云平台对问句进行分词、词性标注以及句法分析等处理,根据问题中的关键词与知识图谱中的节点进行匹配从而查询得到结果,最后再将查询到的结果根据问题类别套入不同的模板中返回。若未查询到结果,问题则会被送入问题检索模块。
5.根据权利要求1所述的一种基于自构建多场景的对话追踪方法,其特征在于:所述步骤S4中余弦相似度是n维空间中两个n维向量之间角度的余弦,余弦值越接近1,就表明夹角越接近0度,也就是两个向量越相似,这就叫余弦相似性,而由于语句也可以用向量来表示,因此余弦相似性可以用来表示两个句子的相似程度。具体的计算公式为:
问题检索模块需要预先设置一个阈值,该阈值用来判断两个句子计算出来的余弦相似度是否足够相似,若余弦相似度大于阈值即说明足够相似,从而可以得到返回结果,若小于阈值则认定为并未检索到结果;当问题检索模块没有得到答案时,问题将被送入模型预测模块。
6.根据权利要求1所述的一种基于自构建多场景的对话追踪方法,其特征在于:所述步骤S5中Seq2Seq模型属于encoder-decoder结构的一种,基本思想就是利用两个RNN,一个RNN作为encoder,另一个RNN作为decoder;encoder负责将输入序列压缩成指定长度的向量,这个向量就可以看成是这个序列的语义,这个过程称为编码;而decoder则负责根据语义向量生成指定的序列,这个过程也称为解码;对于RNN,对于某个序列,对于时刻t,它的词向量输出概率为P(xt|x1,x2,…,xt-1),则softmax层每个神经元的计算为:
其中ht是隐含状态,它与上一时刻的状态及当前输入有关,即ht=f(ht-1,xt),那么整个序列的概率就为而对于encoder-decoder模型,设有输入序列x1,x2,…,xT,输出序列y1,y2,…,yT,输入序列和输出序列的长度可能不同;那么其实就需要根据输入序列去得到输出序列可能输出的词概率,于是有下面的条件概率,在x1,x2,…,xT发生的情况下,y1,y2,…,yT发生的概率等于p(yt|v,y1,y2,…,yt-1)连乘,如下公式所示:
其中v表示对应的隐含状态向量,它其实可以等同表示输入序列;
此时,ht=f(ht-1,yt-1,v),decode编码器中隐含状态与上一时刻状态、上一时刻输出和状态v都有关,于是decoder的某一时刻的概率分布可表示为p(yt|v,y1,y2,…,yt-1)=g(ht,yt-1,v);
所以对于训练样本,我们要做的就是在整个训练样本下,所有样本的p(y1,y2,…,yT|x1,…,xT)概率之和最大;对应的对数似然条件概率函数为使之最大化,θ则是待确定的模型参数;
在使用模型预测模块时,加载的预训练过的模型将会对于输入的问题进行预测从而得到答案,如果在模型预测模块也没有匹配到答案则会进入最后一个模块。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于西北工业大学,未经西北工业大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202111150461.3/1.html,转载请声明来源钻瓜专利网。





