首页 专利交易 科技果 科技人才 科技服务 国际服务 商标交易 会员权益 IP管家助手 需求市场 关于龙图腾
 /  免费注册
到顶部 到底部
清空 搜索

一种基于深度学习的对话模型构建方法 

买专利卖专利找龙图腾,真高效! 查专利查商标用IPTOP,全免费!专利年费监控用IP管家,真方便!

申请/专利权人:华东师范大学

摘要:本发明公开了一种基于深度学习的对话模型构建方法,模型由对话动作编码模型,对话历史编码模型,对话动作预测模型以及对话回复生成模型构成。对话动作编码模型以及对话历史编码模型用于对历史对话动作序列以及对话历史进行编码;对话动作预测模型用于预测下一轮的对话动作,最后使用对话回复生成模型来生成回复。对话模型通过对历史对话动作以及下一轮对话动作的预测来提高生成回复的精准性,通过编码对话历史可以避免生成重复冗余的信息,可以有效加快任务型对话系统在实际应用中效率,提高用户体验。

主权项:1.一种基于深度学习的对话模型构建方法,该方法在构建过程中需要使用包含以下内容的对话数据集:包含双方聊天内容的对话历史,T={U1,R1,...,Ut-1,Rt-1,Ut},Ui表示第i轮用户询问的语句,Ri表示第i轮的回复;包含对话历史中每一句对话目的的对话动作序列A={a1,a2,a3,...,an},对于任意一个动作ai中包含任意多个单词;包含完成任务所需信息的对话数据库D={d1,d2,...,dn}表示,用于信息的查询;包含截止目前为止己获取信息的对话信念状态V={v1,v2,v3,...,vn},第i轮的信念状态为vi={s1=p1,s2=p2,...,sk=pk},其中si是完成任务所规定的需要的信息槽,pi是其对应的值;构建过程如下:1对历史对话动作序列进行编码将截止到当前轮数的历史对话动作序列A=a1,a2,a3,...,acur进行拼接,在每个对话动作的前后分别加上独立标签[ACT]、[EOS],并在整个拼接完成的字符序列前加上标签[CLS],得到最后的拼接序列:Acat=[CLS][ACT]a1[EOS][ACT]a2[EOS]...[ACT]acur[EOS];利用TransformerEncoder模型实现对话动作编码模型ACTEncoder,并将Acat进行输入,具体公式如下: ACTEncoderAcat=TransformerEncoderAcat,Acat,AcatTransformerEncoderAcat,Acat,Acat=FFNMultiHeadAcat,Acat,AcatFFNx=LNReluxW1+b1W2+b2+xMultiHeadQ,K,V=Concathead1,...,headhWO+Q 其中ACTEncoder表示对话动作编码模型,TransformerEncoder表示TransformerEncoder模型,FFN表示线性操作,MultiHead是多头注意力机制计算,Attention为注意力机制计算,Q,K,V是注意力机制的输入向量,LN表示LayerNorm,Relu为激活函数,W1,W2,b1,b2,WO,WiQ,是深度学习可训练参数,dk表示在Transformer结构中隐层的维度,Q,K,V表示输入矩阵,KT是K的转置,Concat表示拼接操作;取[CLS]字符通过对话动作编码模型计算的向量作为历史对话动作序列的特征表示,记为作为对话动作编码模型的输出;2将对话历史进行编码将对话历史T={U1,R1,...,Ut-1,Rt-1,Ut}与对话数据库信息D={d1,d2,...,dn}进行拼接,记为E,利用TransformerEncoder模型实现对话历史编码模型HisEncoder,并将E进行输入,具体公式如下:E=concat[T;D]He=HisEncoderEHisEncoderE=TransformerEncoderE,E,E其中Concat表示拼接操作,TransformerEncoder表示TransfromerEncoder模型,HisEncoder代表对话历史编码模型;最后的输出He则是代表对话历史的编码信息,作为对话历史编码模型的输出;3对下一轮的对话动作进行预测使用对话历史的编码信息He、历史对话动作序列的特征表示以及对话信念状态V={v1,v2,v3,...,vn}来预测下一轮的动作,首先将历史对话动作序列A=a1,a2,a3,...,acur与信念状态V来进行结合; 其中代表着对话信念状态第t步的表示向量,通过vt使用独热编码的方式计算得到,代表着对话的动作序列A=a1,a2,a3,...,acur第t步输入单词的嵌入向量,Wb表示可训练参数,每一步的构成矩阵之后利用TransformerDecoder构建对话动作预测模型ActDecoder,输入对话历史的编码信息He、历史对话动作序列编码以及Ua来进行计算:Ca=ActDecoderUa,0,0ActDecoderUa,0,0=TransformerDecoderua,0,0 TransformerDecoderUa,O,O=FFNMultiHeadMultiHeadUa,Ua,Ua,O,O 其中Ca表示对话动作预测模型ActDecoder的输出,TransformerDecoder表示TransformerDecoder模型,表示Ca第t步的向量,concat表示对两个向量进行拼接,通过线性映射FFN与激活函数softmax预测下一个词at,并且将对话动作预测模型每一步的结果组合得到下一轮对话动作的编码信息4生成回复使用下一轮的对话动作信息编码Ha、历史对话动作序列编码与对话历史编码He进行回复生成,使用TransformerDecoder模型构建对话回复生成模型ResDecoder,模型生成过程使用自回归的方法逐步生成,每一步生成一个单词yt,生成的单词组成回复Y={y0,y1,...,yt},第一步初始化的时候Y={[BOS]},其中[BOS]是特殊标签,之后每一步生成的结果将加入到Y中,并且来帮助后续的生成;具体公式如下: Mr=TransformerDecoderGr,Ha,HaCr=TransformerDecoderGr,0,0 其中Mr和Cr是TransfromerDecoder模型输出结果的编码,concat表示拼接操作,0是拼接后的向量结果编码,表示生成结果Y中的第t步生成结果的编码,表示生成结果Y中第1步到第t-1步结果的编码,则表示Mr和Cr中第t步的编码,yt表示第t步生成的单词,y1:t-1表示第1步到第t-1步生成的单词结果;由对话动作编码模型、对话历史编码模型、对话动作预测模型以及对话回复生成模型构成整体的对话模型,在训练过程中的损失函数计算将分为两部分,对话动作生成的损失计算以及对话回复生成的损失计算,分别记为和 其中,θ代表着对话模型的参数,T表示对话历史,D表示对话数据库,V表示信念状态,和分别代表对话动作生成的损失函数以及对话回复生成的损失函数;并且使用如下公式对两个函数进行平衡: 其中σ,σ代表可学习的参数,则为整个对话模型最后是用的损失函数。

全文数据:

权利要求:

百度查询: 华东师范大学 一种基于深度学习的对话模型构建方法

免责声明
1、本报告根据公开、合法渠道获得相关数据和信息,力求客观、公正,但并不保证数据的最终完整性和准确性。
2、报告中的分析和结论仅反映本公司于发布本报告当日的职业理解,仅供参考使用,不能作为本公司承担任何法律责任的依据或者凭证。