CN116860943A - 对话风格感知与主题引导的多轮对话方法及系统 - Google Patents
对话风格感知与主题引导的多轮对话方法及系统 Download PDFInfo
- Publication number
- CN116860943A CN116860943A CN202310874629.8A CN202310874629A CN116860943A CN 116860943 A CN116860943 A CN 116860943A CN 202310874629 A CN202310874629 A CN 202310874629A CN 116860943 A CN116860943 A CN 116860943A
- Authority
- CN
- China
- Prior art keywords
- dialogue
- window
- loss
- response
- sample
- 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
- 238000000034 method Methods 0.000 title claims abstract description 64
- 230000008447 perception Effects 0.000 title claims abstract description 6
- 230000004044 response Effects 0.000 claims abstract description 101
- 238000012549 training Methods 0.000 claims abstract description 68
- 239000008186 active pharmaceutical agent Substances 0.000 claims abstract description 25
- 238000013135 deep learning Methods 0.000 claims abstract description 22
- 230000008569 process Effects 0.000 claims abstract description 6
- 238000002372 labelling Methods 0.000 claims abstract description 4
- 239000013598 vector Substances 0.000 claims description 65
- 238000012512 characterization method Methods 0.000 claims description 42
- 230000006870 function Effects 0.000 claims description 42
- 230000008859 change Effects 0.000 claims description 12
- 238000013527 convolutional neural network Methods 0.000 claims description 9
- 238000004364 calculation method Methods 0.000 claims description 7
- 230000004913 activation Effects 0.000 claims description 6
- 238000011478 gradient descent method Methods 0.000 claims description 6
- 239000003550 marker Substances 0.000 claims description 6
- 239000011159 matrix material Substances 0.000 claims description 6
- 238000013480 data collection Methods 0.000 claims description 3
- 239000000284 extract Substances 0.000 claims description 3
- 239000000203 mixture Substances 0.000 claims description 3
- 238000012545 processing Methods 0.000 claims description 3
- 230000009286 beneficial effect Effects 0.000 abstract description 3
- 238000011161 development Methods 0.000 description 4
- 238000010586 diagram Methods 0.000 description 3
- 230000002452 interceptive effect Effects 0.000 description 3
- 238000003058 natural language processing Methods 0.000 description 3
- 238000013473 artificial intelligence Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000010801 machine learning Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 241000592183 Eidolon Species 0.000 description 1
- 241000238558 Eucarida Species 0.000 description 1
- 244000141359 Malus pumila Species 0.000 description 1
- 230000004075 alteration Effects 0.000 description 1
- 235000021016 apples Nutrition 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 239000000126 substance Substances 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/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/35—Clustering; Classification
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/214—Generating training patterns; Bootstrap methods, e.g. bagging or boosting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/0464—Convolutional networks [CNN, ConvNet]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/084—Backpropagation, e.g. using gradient descent
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/0985—Hyperparameter optimisation; Meta-learning; Learning-to-learn
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Artificial Intelligence (AREA)
- Mathematical Physics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Computational Linguistics (AREA)
- Evolutionary Computation (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Software Systems (AREA)
- Computing Systems (AREA)
- Molecular Biology (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Databases & Information Systems (AREA)
- Evolutionary Biology (AREA)
- Human Computer Interaction (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Bioinformatics & Computational Biology (AREA)
- Machine Translation (AREA)
Abstract
本发明提出对话风格感知与主题引导的多轮对话方法及系统,所述方法包括以下步骤;步骤A:采集特定场景多轮对话文本,标注每个对话的响应所属的类别,构建带正负类别标签的多轮对话训练集DS;步骤B:使用训练集DS,训练多任务深度学习网络模型,用于多轮对话响应选择;步骤C:将多轮对话上下文及候选响应输入到训练后的深度学习网络模型中,得到对应多轮对话上下文最合适的响应;本发明有利于提高人机对话过程多轮对话响应选择的准确性。
Description
技术领域
本发明涉及自然语言处理领域,尤其是对话风格感知与主题引导的多轮对话方法及系统。
背景技术
随着计算机技术的不断发展,人工智能技术的发展也越来越迅速,人工智能在各个领域都发挥了重要作用。近些年来,随着机器学习和深度学习网络的发展,自然语言处理在人与计算机之间的对话中取得了巨大进步,人机对话系统逐渐成为研究的关键问题。人机对话系统是一种通过自然语言处理,让人和计算机进行对话交流的人机互动系统。人机对话系统有着重要的意义和应用价值,并且可以广泛地应用于多个领域。人机对话系统具有广泛的商业价值,目前有很多商业公司已经推出了和对话系统相关的产品,如苹果的Siri,微软的Cortana与小冰,谷歌的Google Now和阿里巴巴的阿里精灵等。目前的对话系统主要有基于生成和基于检索两种方法,前一种方法旨在给定上下文并根据给定的上下文生成合适的响应,后一种方法旨在从候选响应答案中选择正确的答案。
随着机器学习方法的不断发展,基于生成的方法被不断提出。基于生成的对话系统其生成的响应具有多样性,但往往逻辑性不强,有时还会陷入安全回复的陷阱中。而基于检索的对话系统是根据特定的上下文在语料库里检索最合适的响应,能够挖掘上下文与正确响应之间的关联信息,并根据这些信息推理出合适的响应,相较于生成式对话系统模型更加可靠,更具实用性。
目前基于检索的方法在不断发展,早期基于信息检索的系统主要运用于短文本和单轮的对话,使用简单的文本匹配和规则方法去解决,但是难以将这些方法运用于更贴近实际场景的多轮对话问题,多轮对话需要考虑对话上下文的长期依赖,相较于单轮对话而言更具挑战。深度学习在近年来的飞速发展为多轮对话问题提供了解决思路,Wu等人提出了SMN模型,它将候选的回答和对话上下文的每一句话分别匹配相似度,计算出最终分数。An等人使用了交叉卷积操作拓展了编码器,并且通过从数据集中学习不同的表征向量,来改善稀有词的表示。Dong和Huang提出了通过预训练词向量,来处理超出词汇表以外的词。随着BERT模型的提出,Whang等人提出的BERT-VFT模型,使用了后训练的方法,让预训练语言模型在对话领域的数据集上继续训练,掌握对话的语言风格;由Gu等人提出的SA-BERT模型,在预训练模型的输入中加入了特殊的标记来捕捉不同对话参与者的语言风格,更好的让预训练模型掌握了对话的信息。由TWhang等人提出了辅助任务来改善预训练模型,他们所提出的辅助策略都可以提升性能。由Xu等人提出的BERT-SL模型,设计了四个辅助任务,让模型更好地学习对话信息。由Han Janghoon等人提出的BERT-FP模型,通过生成简短的上下文,引入了细粒度后训练任务,模型的性能进一步提升。Chen Xiuyi等人提出的MDKEMN模型引入知识图谱,在KdConv数据集上取得了SOTA性能。Ma Hui等人提出的GLIMM模型分别从局部和全局角度对话语和响应进行交互。Zhang Wentao等人提出的模型对数据集进行数据增强,并通过有监督的对比学习使模型的性能进一步提升。
发明内容
本发明提出对话风格感知与主题引导的多轮对话方法及系统,有利于提高人机对话过程多轮对话响应选择的准确性。
本发明采用以下技术方案。
对话风格感知与主题引导的多轮对话方法,所述方法包括以下步骤;
步骤A:采集特定场景多轮对话文本,标注每个对话的响应所属的类别,构建带正负类别标签的多轮对话训练集DS;
步骤B:使用训练集DS,训练多任务深度学习网络模型G,用于多轮对话响应选择;
步骤C:将多轮对话上下文及候选响应输入到训练后的深度学习网络模型G中,得到对应多轮对话上下文最合适的响应。
所述步骤B包括以下步骤;
步骤B1:对训练集DS中的每个训练样本根据其轮数抽取单一说话人的历史对话,将正确的候选响应拼接在历史对话后,得到对话历史样本H;随机抽取另一个说话人的一句话语替换响应,得到对话历史负样本H-;对训练集DS中的每个训练样本进行编码,得到上下文和响应的表征向量Ecr;
步骤B2:将步骤B1得到的表征向量Ecr输入到分类层计算得分,根据目标损失函数计算响应选择主任务的损失lossmain;
步骤B3:将步骤B1得到的对话历史样本H进行数据增强,得到增强的对话历史样本H+,与对话历史样本及对话历史负样本构成三元组(H,H+,H-),将得到的三元组(H,H+,H-)进行编码,对得到的表示运用对比学习计算对比损失lossCL;
步骤B4:将步骤B1得到的表征向量Ecr按位置切分出每一个话语的表示EU,通过可变大小的窗口计算当前窗口和相邻窗口的余弦相似度,根据相似度高低将除最后一句外的上下文切分为多个主题窗口W,将各个窗口内的所有话语的表示拼接得到主题窗口的表示将最后一句视为问题q,其表示为Eq;
步骤B5:将步骤B4得到的窗口表示输入到卷积神经网络中,获得窗口的表征向量EW,对Eq和所有窗口的表征向量计算注意力得分,根据得分选择窗口Wq,将Wq、q和响应拼接得到窗口-问题样本;
步骤B6:对步骤B5得到的窗口-问题样本进行编码,得到表征向量EWQ,将表征向量EWQ输入到分类层计算得分,根据目标损失函数计算问题导向窗口选择的损失lossWQ;
步骤B7:将步骤B2中得到的损失lossmain、步骤B3中得到的损失lossCL和步骤B6中得到的损失lossWQ相加得到最终的损失loss,利用反向传播方法计算深度学习网络模型中各参数的梯度,并利用随机梯度下降方法更新各参数;
步骤B8:当深度学习网络模型产生的损失值迭代变化小于所给定阈值、或者达到最大迭代次数,则终止深度学习网络模型的训练过程。
所述步骤B1具体包括以下步骤;
步骤B11:根据对话上下文的轮数抽取单一说话人的所有历史对话h,与响应r构成对话历史样本H,随机选择另一说话人的一句话语uother与对话历史h构成对话历史负样本H-:
H={h,r} 公式二;
H-={h,uother} 公式三;
步骤B12:将对话上下文中的话语和响应进行拼接,得到BERT模型的输入x:
x={[CLS],u1,[EOS],u2,[EOS],…,un,[EOS],[SEP],r,[SEP]} 公式四;
其中,x为拼接得到的长文本,[sEP]为分隔符,[CLS]为BERT模型用于学习全局特征的标记,[EOS]为区分每个话语的特殊标记;
步骤B13:将步骤B12得到的x输入到BERT模型中,得到上下文和响应的表征向量Ecr:
Ecr=BERT(x) 公式五。
所述步骤B2包括以下步骤;
步骤B21:将步骤B13得到的表征向量Ecr输入到分类层中计算得分,计算公式如下:
gmain(c,r)=σ(W1Ecr+b1) 公式六;
其中,W1是可训练的参数矩阵,b1是偏执向量,c是上下文,r是响应,σ(·)是sigmoid激活函数;
步骤B22:目标函数采用交叉熵损失函数计算多轮对话响应选择主任务损失值lossmain:
其中,DS为训练集,y为对应的标签。
所述步骤B3具体包括以下步骤:
步骤B31:将步骤B11中得到的对话历史样本H={h,r}中的h进行数据增强,得到增强后的历史对话h+,数据增强的方法包括:随机打乱、随机交换和交叉,其中,随机打乱为将一个话语的所有标记随机打乱,随机交换为将一个话语中的任意两个标记随机交换,交叉为分别将两个话语分成两半,各自交换后半部分,h+表示为:
其中表示进行数据增强的话语,数据增强的具体做法为:若h中只有一个话语,则随机从随机打乱和随机交换中选择一种方法进行增强,若h中的话语数量大于1,则随机从三种方法中选择一种方法进行增强,进行增强的话语是从h中随机选择的,将增强后的历史对话h+与响应r组成增强的对话历史样本H+;
步骤B32:将步骤B31中得到的增强对话历史样本H+与对话历史样本H及对话历史负样本H-构成三元组(H,H+,H-),对样本中的话语和响应进行拼接,得到BERT模型的输入xh:
公式九;
步骤B33:将步骤B32得到的xh输入到BERT模型中,得到对话历史上下文和响应的表征向量ECL:
ECL=BERT(xh) 公式十;
对得到的特征向量运用对比学习,计算语言风格的对比损失lossCL:
其中sim(·)表示余弦相似度函数,τ是温度系数,用以调整对困难负样本的关注程度。
所述步骤B4具体包括以下步骤:
步骤B41:将步骤B13中得到的上下文和响应的表征向量Ecr按[EOS]的位置切分出每一个话语的表示EU,公式为:
步骤B42:在步骤B41中得到话语表示EU后,设定最大窗口大小M,可变大小窗口Wchange={Wi|i=1,2,...,M},依次通过Wchange从开始切分出M个窗口/>同时切分出每个Wchange后续大小为M的窗口/>将/>与/>
窗口内的所有话语表示拼接并输入到卷积神经网络中,得到代表每个窗口的表示和/>
其中concat(·)表示拼接操作;
步骤B43:将步骤B42得到的和/>按对应位置计算余弦相似度,得到相似度列表similarity:
similarity=[s1,s2,...,sM] 公式十九;
其中sim(·)表示余弦相似度函数,根据相似度列表,选择相似度最低的位置j,用大小为j的窗口将上下文切分出一个主题窗口,然后从该窗口之后继续重复切分除un外的上下文得到多个主题窗口W,将每个主题窗口内的所有话语表示拼接得到主题窗口表示公式如下:
其中concat(·)表示拼接操作,将un视为问题q,其表示为Eq。
所述步骤B5具体包括以下步骤:
步骤B51:将步骤B43得到的主题窗口表示输入到卷积神经网络中,获得主题窗口表征向量EW,对Eq和主题窗口表征向量EW计算注意力得分scoreAtt:
其中W2、W3、W4是可训练参数,根据得分,在主题窗口W中选择得分最高所对应的主题窗口作为问题-主题窗口Wq:
Wq={ui,ui+1,…,ui+l} 公式二十五;
步骤B52:将步骤B51中得到的问题-主题窗口Wq与步骤B43中得到的问题q及响应r进行拼接,并加上特殊标记,得到BERT模型的输入xh,公式为:
xh={[CLS],ui,[EOS],ui+1,[EOS],...,ui+l,[EOS],q,[EOS][SEP],r,[SEP]}公式二十六。
所述步骤B6具体包括以下步骤:
步骤B61:将步骤B52中得到的xh输入到BERT模型中,得到窗口-问题的表征向量EWQ:
EWQ=BERT(xh) 公式二十七;
步骤B62:将步骤B61得到的表征向量EWQ输入到分类层中计算得分,计算公式如下:
gWQ(cq,r)=σ(W5EWQ+b2) 公式二十八;
其中,W5是可训练的参数矩阵,b2是偏执向量,cq是窗口-问题上下文,r是响应,σ(·)是sigmoid激活函数;
步骤B63:目标函数采用交叉熵损失函数计算多轮对话响应选择辅助任务损失值lossWQ:
公式二十八;
其中,DS为训练集,y为对应的标签。
所述步骤B7具体包括以下步骤:
步骤B71:将步骤B22中得到的主任务损失lossmain、步骤B33中得到的语言风格辅助任务损失lossCL和步骤B63中得到的问题导向窗口选择辅助任务损失lossWQ相加得到模型的最终损失函数:
loss=lossmain+αlosscL+βlossWQ 公式二十九;
其中,α和β是超参数,用来控制两个辅助任务对模型的影响力;
步骤B72:利用反向传播方法计算深度学习网络模型中各参数的梯度,并利用随机梯度下降方法更新各参数。
对话风格感知与主题引导的多轮对话系统,为人机对话系统,采用以上所述的对话风格感知与主题引导的多轮方法,对话系统包括的模块及模块功能为;
数据收集模块:用于采集特定场景多轮对话文本,标注每个对话的响应所属的类别,构建带正负类别标签的多轮对话训练集DS;
预训练语言模型训练模块,用于将对话上下文、响应和标签输入到预训练语言模型BERT中,得到上下文和响应的表征向量,通过表征向量计算目标损失函数,并与两个辅助任务的损失相加,以最小化损失为目标来对整个模型进行训练,得到多轮对话响应选择模型,主任务与辅助任务的预训练语言模型共享参数;
语言风格辅助任务模块,对训练集DS中的每个样本抽取单一说话人的历史对话构建对话历史样本,并构建对话历史负样本和增强样本,构成原始样本、增强样本、负样本三元组,使用预训练语言模型对三元组编码,对得到的表示运用对比学习,计算语言风格辅助任务的损失;
问题导向窗口选择辅助任务模块,将除最后一句外的上下文切分为多个主题窗口,将上下文的最后一句视为问题,将问题与每个窗口计算注意力得分,选择得分最高的窗口与问题及响应组成窗口-问题样本,使用预训练语言模型对窗口-问题样本进行编码,对得到的表征向量计算问题导向窗口选择辅助任务的损失;
多轮对话响应选择模块,利用训练好的语言风格与问题导向窗口选择的多轮对话响应选择模型对输入的对话文本进行分析处理,输出当前对话上下文最合适的响应。
本发明有利于提高多轮对话响应选择的准确性。
附图说明
下面结合附图和具体实施方式对本发明进一步详细的说明:
附图1是本发明实施例的方法实现流程示意图;
附图2是本发明实施例中模型架构示意图;
附图3是本发明实施例的系统结构示意图。
具体实施方式
如图所示,对话风格感知与主题引导的多轮对话方法,所述方法包括以下步骤;
步骤A:采集特定场景多轮对话文本,标注每个对话的响应所属的类别,构建带正负类别标签的多轮对话训练集DS;
步骤B:使用训练集DS,训练多任务深度学习网络模型G,用于多轮对话响应选择;
步骤C:将多轮对话上下文及候选响应输入到训练后的深度学习网络模型G中,得到对应多轮对话上下文最合适的响应。
所述步骤B包括以下步骤;
步骤B1:对训练集DS中的每个训练样本根据其轮数抽取单一说话人的历史对话,将正确的候选响应拼接在历史对话后,得到对话历史样本H;随机抽取另一个说话人的一句话语替换响应,得到对话历史负样本H-;对训练集DS中的每个训练样本进行编码,得到上下文和响应的表征向量Ecr;
步骤B2:将步骤B1得到的表征向量Ecr输入到分类层计算得分,根据目标损失函数计算响应选择主任务的损失lossmain;
步骤B3:将步骤B1得到的对话历史样本H进行数据增强,得到增强的对话历史样本H+,与对话历史样本及对话历史负样本构成三元组(H,H+,H-),将得到的三元组(H,H+,H-)进行编码,对得到的表示运用对比学习计算对比损失lossCL;
步骤B4:将步骤B1得到的表征向量Ecr按位置切分出每一个话语的表示EU,通过可变大小的窗口计算当前窗口和相邻窗口的余弦相似度,根据相似度高低将除最后一句外的上下文切分为多个主题窗口W,将各个窗口内的所有话语的表示拼接得到主题窗口的表示将最后一句视为问题q,其表示为Eq;
步骤B5:将步骤B4得到的窗口表示输入到卷积神经网络中,获得窗口的表征向量EW,对Eq和所有窗口的表征向量计算注意力得分,根据得分选择窗口Wq,将Wq、q和响应拼接得到窗口-问题样本;
步骤B6:对步骤B5得到的窗口一问题样本进行编码,得到表征向量EWQ,将表征向量EWQ输入到分类层计算得分,根据目标损失函数计算问题导向窗口选择的损失lossWQ;
步骤B7:将步骤B2中得到的损失lossmain、步骤B3中得到的损失lossCL和步骤B6中得到的损失lossWQ相加得到最终的损失loss,利用反向传播方法计算深度学习网络模型中各参数的梯度,并利用随机梯度下降方法更新各参数;
步骤B8:当深度学习网络模型产生的损失值迭代变化小于所给定阈值、或者达到最大迭代次数,则终止深度学习网络模型的训练过程。
所述步骤B1具体包括以下步骤;
步骤B11:根据对话上下文的轮数抽取单一说话人的所有历史对话h,与响应r构成对话历史样本H,随机选择另一说话人的一句话语uother与对话历史h构成对话历史负样本H-:
H={h,r} 公式二;
H-={h,uother} 公式三;
步骤B12:将对话上下文中的话语和响应进行拼接,得到BERT模型的输入x:
x={[CLS],u1,[EOS],u2,[EOS],...,un,[EOS],[SEP],r,[SEP]} 公式四;
其中,x为拼接得到的长文本,[SEP]为分隔符,[CLS]为BERT模型用于学习全局特征的标记,[EOS]为区分每个话语的特殊标记;
步骤B13:将步骤B12得到的x输入到BERT模型中,得到上下文和响应的表征向量Ecr:
Ecr=BERT(x) 公式五。
所述步骤B2包括以下步骤;
步骤B21:将步骤B13得到的表征向量Ecr输入到分类层中计算得分,计算公式如下:
gmain(c,r)=σ(W1Ecr+b1) 公式六;
其中,W1是可训练的参数矩阵,b1是偏执向量,c是上下文,r是响应,σ(·)是sigmoid激活函数;
步骤B22:目标函数采用交叉熵损失函数计算多轮对话响应选择主任务损失值lossmain:
其中,DS为训练集,y为对应的标签。
所述步骤B3具体包括以下步骤:
步骤B31:将步骤B11中得到的对话历史样本H={h,r}中的h进行数据增强,得到增强后的历史对话h+,数据增强的方法包括:随机打乱、随机交换和交叉,其中,随机打乱为将一个话语的所有标记随机打乱,随机交换为将一个话语中的任意两个标记随机交换,交叉为分别将两个话语分成两半,各自交换后半部分,h+表示为:
其中表示进行数据增强的话语,数据增强的具体做法为:若h中只有一个话语,则随机从随机打乱和随机交换中选择一种方法进行增强,若h中的话语数量大于1,则随机从三种方法中选择一种方法进行增强,进行增强的话语是从h中随机选择的,将增强后的历史对话h+与响应r组成增强的对话历史样本H+;
步骤B32:将步骤B31中得到的增强对话历史样本H+与对话历史样本H及对话历史负样本H-构成三元组(H,H+,H-),对样本中的话语和响应进行拼接,得到BERT模型的输入xh:
公式九;
步骤B33:将步骤B32得到的xh输入到BERT模型中,得到对话历史上下文和响应的表征向量ECL:
ECL=BERT(xh) 公式十;
对得到的特征向量运用对比学习,计算语言风格的对比损失lossCL:
其中sim(·)表示余弦相似度函数,τ是温度系数,用以调整对困难负样本的关注程度。
所述步骤B4具体包括以下步骤:
步骤B41:将步骤B13中得到的上下文和响应的表征向量Ecr按[EOS]的位置切分出每一个话语的表示EU,公式为:
步骤B42:在步骤B41中得到话语表示EU后,设定最大窗口大小M,可变大小窗口Wchange={Wi|i=1,2,...,M},依次通过Wchange从开始切分出M个窗口/>同时切分出每个Wchange后续大小为M的窗口/>将/>与/>
窗口内的所有话语表示拼接并输入到卷积神经网络中,得到代表每个窗口的表示和/>
其中concat(·)表示拼接操作;
步骤B43:将步骤B42得到的和/>按对应位置计算余弦相似度,得到相似度列表similarity:
similarity=[s1,s2,...,sM] 公式十九;
其中sim(·)表示余弦相似度函数,根据相似度列表,选择相似度最低的位置j,用大小为j的窗口将上下文切分出一个主题窗口,然后从该窗口之后继续重复切分除un外的上下文得到多个主题窗口W,将每个主题窗口内的所有话语表示拼接得到主题窗口表示公式如下:
其中concat(·)表示拼接操作,将un视为问题q,其表示为Eq。
所述步骤B5具体包括以下步骤:
步骤B51:将步骤B43得到的主题窗口表示输入到卷积神经网络中,获得主题窗口表征向量EW,对Eq和主题窗口表征向量EW计算注意力得分scoreAtt:
scoreAtt=α(Eq,EW) 公式二十四;
其中W2、W3、W4是可训练参数,根据得分,在主题窗口W中选择得分最高所对应的主题窗口作为问题-主题窗口Wq:
Wq={ui,ui+1,...,ui+l} 公式二十五;
步骤B52:将步骤B51中得到的问题-主题窗口Wq与步骤B43中得到的问题q及响应r进行拼接,并加上特殊标记,得到BERT模型的输入xh,公式为:
xh={[CLS],ui,[EOS],ui+1,[EOS],...,ui+l,[EOS],q,[EOS][SEP],r,[SEP]}公式二十六。
所述步骤B6具体包括以下步骤:
步骤B61:将步骤B52中得到的xh输入到BERT模型中,得到窗口-问题的表征向量EWQ:
EWQ=BERT(xh) 公式二十七;
步骤B62:将步骤B61得到的表征向量EWQ输入到分类层中计算得分,计算公式如下:
gWQ(cq,r)=σ(W5EWQ+b2) 公式二十八;
其中,W5是可训练的参数矩阵,b2是偏执向量,cq是窗口-问题上下文,r是响应,σ(·)是sigmoid激活函数;
步骤B63:目标函数采用交叉熵损失函数计算多轮对话响应选择辅助任务损失值lossWQ:
其中,DS为训练集,y为对应的标签。
所述步骤B7具体包括以下步骤:
步骤B71:将步骤B22中得到的主任务损失lossmain、步骤B33中得到的语言风格辅助任务损失lossCL和步骤B63中得到的问题导向窗口选择辅助任务损失lossWQ相加得到模型的最终损失函数:
loss=lossmain+αlossCL+βlossWQ 公式二十九;
其中,α和β是超参数,用来控制两个辅助任务对模型的影响力;
步骤B72:利用反向传播方法计算深度学习网络模型中各参数的梯度,并利用随机梯度下降方法更新各参数。
对话风格感知与主题引导的多轮对话系统,为人机对话系统,采用以上所述的对话风格感知与主题引导的多轮方法,对话系统包括的模块及模块功能为;
数据收集模块:用于采集特定场景多轮对话文本,标注每个对话的响应所属的类别,构建带正负类别标签的多轮对话训练集DS;
预训练语言模型训练模块,用于将对话上下文、响应和标签输入到预训练语言模型BERT中,得到上下文和响应的表征向量,通过表征向量计算目标损失函数,并与两个辅助任务的损失相加,以最小化损失为目标来对整个模型进行训练,得到多轮对话响应选择模型,主任务与辅助任务的预训练语言模型共享参数;
语言风格辅助任务模块,对训练集DS中的每个样本抽取单一说话人的历史对话构建对话历史样本,并构建对话历史负样本和增强样本,构成原始样本、增强样本、负样本三元组,使用预训练语言模型对三元组编码,对得到的表示运用对比学习,计算语言风格辅助任务的损失;
问题导向窗口选择辅助任务模块,将除最后一句外的上下文切分为多个主题窗口,将上下文的最后一句视为问题,将问题与每个窗口计算注意力得分,选择得分最高的窗口与问题及响应组成窗口-问题样本,使用预训练语言模型对窗口-问题样本进行编码,对得到的表征向量计算问题导向窗口选择辅助任务的损失;
多轮对话响应选择模块,利用训练好的语言风格与问题导向窗口选择的多轮对话响应选择模型对输入的对话文本进行分析处理,输出当前对话上下文最合适的响应。
以上所述,仅是本发明的较佳实施例而已,并非是对本发明作其它形式的限制,任何熟悉本专业的技术人员可能利用上述揭示的技术内容加以变更或改型为等同变化的等效实施例。但是凡是未脱离本发明技术方案内容,依据本发明的技术实质对以上实施例所作的任何简单修改、等同变化与改型,仍属于本发明技术方案的保护范围。
Claims (10)
1.对话风格感知与主题引导的多轮对话方法,其特征在于:所述方法包括以下步骤;
步骤A:采集特定场景多轮对话文本,标注每个对话的响应所属的类别,构建带正负类别标签的多轮对话训练集DS;
步骤B:使用训练集DS,训练多任务深度学习网络模型G,用于多轮对话响应选择;
步骤C:将多轮对话上下文及候选响应输入到训练后的深度学习网络模型G中,得到对应多轮对话上下文最合适的响应。
2.根据权利要求1所述的对话风格感知与主题引导的多轮对话方法,其特征在于:所述步骤B包括以下步骤;
步骤B1:对训练集DS中的每个训练样本根据其轮数抽取单一说话人的历史对话,将正确的候选响应拼接在历史对话后,得到对话历史样本H;随机抽取另一个说话人的一句话语替换响应,得到对话历史负样本H-;对训练集DS中的每个训练样本进行编码,得到上下文和响应的表征向量Ecr;
步骤B2:将步骤B1得到的表征向量Ecr输入到分类层计算得分,根据目标损失函数计算响应选择主任务的损失lossmain;
步骤B3:将步骤B1得到的对话历史样本H进行数据增强,得到增强的对话历史样本H+,与对话历史样本及对话历史负样本构成三元组(H,H+,H-),将得到的三元组(H,H+,H-)进行编码,对得到的表示运用对比学习计算对比损失lossCL;
步骤B4:将步骤B1得到的表征向量Ecr按位置切分出每一个话语的表示EU,通过可变大小的窗口计算当前窗口和相邻窗口的余弦相似度,根据相似度高低将除最后一句外的上下文切分为多个主题窗口W,将各个窗口内的所有话语的表示拼接得到主题窗口的表示将最后一句视为问题q,其表示为Eq;
步骤B5:将步骤B4得到的窗口表示输入到卷积神经网络中,获得窗口的表征向量EW,对Eq和所有窗口的表征向量计算注意力得分,根据得分选择窗口Wq,将Wq、q和响应拼接得到窗口-问题样本;
步骤B6:对步骤B5得到的窗口-问题样本进行编码,得到表征向量EWQ,将表征向量EWQ输入到分类层计算得分,根据目标损失函数计算问题导向窗口选择的损失lossWQ;
步骤B7:将步骤B2中得到的损失lossmain、步骤B3中得到的损失lossCL和步骤B6中得到的损失lossWQ相加得到最终的损失loss,利用反向传播方法计算深度学习网络模型中各参数的梯度,并利用随机梯度下降方法更新各参数;
步骤B8:当深度学习网络模型产生的损失值迭代变化小于所给定阈值、或者达到最大迭代次数,则终止深度学习网络模型的训练过程。
3.根据权利要求2所述的对话风格感知与主题引导的多轮对话方法,其特征在于:所述步骤B1具体包括以下步骤;
步骤B11:根据对话上下文的轮数抽取单一说话人的所有历史对话h,与响应r构成对话历史样本H,随机选择另一说话人的一句话语uother与对话历史h构成对话历史负样本H-:
H={h,r} 公式二;
H-={h,uother} 公式三;
步骤B12:将对话上下文中的话语和响应进行拼接,得到BERT模型的输入x:
x={[CLS],u1,[EOS],u2,[EOS],...,un,[EOS],[SEP],r,[SEP]} 公式四;
其中,x为拼接得到的长文本,[SEP]为分隔符,[CLS]为BERT模型用于学习全局特征的标记,[EOS]为区分每个话语的特殊标记;
步骤B13:将步骤B12得到的x输入到BERT模型中,得到上下文和响应的表征向量Ecr:
Ecr=BERT(x) 公式五。
4.根据权利要求3所述的对话风格感知与主题引导的多轮对话方法,其特征在于:所述步骤B2包括以下步骤;
步骤B21:将步骤B13得到的表征向量Ecr输入到分类层中计算得分,计算公式如下:
gmain(c,r)=σ(W1Ecr+b1) 公式六;
其中,W1是可训练的参数矩阵,b1是偏执向量,c是上下文,r是响应,σ(·)是sigmoid激活函数;
步骤B22:目标函数采用交叉熵损失函数计算多轮对话响应选择主任务损失值lossmain:
其中,DS为训练集,y为对应的标签。
5.根据权利要求4所述的对话风格感知与主题引导的多轮对话方法,其特征在于:所述步骤B3具体包括以下步骤:
步骤B31:将步骤B11中得到的对话历史样本H={h,r}中的h进行数据增强,得到增强后的历史对话h+,数据增强的方法包括:随机打乱、随机交换和交叉,其中,随机打乱为将一个话语的所有标记随机打乱,随机交换为将一个话语中的任意两个标记随机交换,交叉为分别将两个话语分成两半,各自交换后半部分,h+表示为:
其中表示进行数据增强的话语,数据增强的具体做法为:若h中只有一个话语,则随机从随机打乱和随机交换中选择一种方法进行增强,若h中的话语数量大于1,则随机从三种方法中选择一种方法进行增强,进行增强的话语是从h中随机选择的,将增强后的历史对话h+与响应r组成增强的对话历史样本H+;
步骤B32:将步骤B31中得到的增强对话历史样本H+与对话历史样本H及对话历史负样本H-构成三元组(H,H+,H-),对样本中的话语和响应进行拼接,得到BERT模型的输入xh:
公式九;
步骤B33:将步骤B32得到的xh输入到BERT模型中,得到对话历史上下文和响应的表征向量ECL:
ECL=BERT(xh) 公式十;
ECL={EH,EH+,EH-} 公式十一;
对得到的特征向量运用对比学习,计算语言风格的对比损失lossCL:
其中sim(·)表示余弦相似度函数,τ是温度系数,用以调整对困难负样本的关注程度。
6.根据权利要求5所述的对话风格感知与主题引导的多轮对话方法,其特征在于:所述步骤B4具体包括以下步骤:
步骤B41:将步骤B13中得到的上下文和响应的表征向量Ecr按[EOS]的位置切分出每一个话语的表示EU,公式为:
步骤B42:在步骤B41中得到话语表示EU后,设定最大窗口大小M,可变大小窗口Wchange={Wi|i=1,2,...,M},依次通过Wchange从开始切分出M个窗口/>同时切分出每个Wchange后续大小为M的窗口/>将/>与/>窗口内的所有话语表示拼接并输入到卷积神经网络中,得到代表每个窗口的表示/>和/>
其中concat(·)表示拼接操作;
步骤B43:将步骤B42得到的和/>按对应位置计算余弦相似度,得到相似度列表similarity:
similarity=[s1,s2,...,sM] 公式十九;
其中sim(·)表示余弦相似度函数,根据相似度列表,选择相似度最低的位置j,用大小为j的窗口将上下文切分出一个主题窗口,然后从该窗口之后继续重复切分除un外的上下文得到多个主题窗口W,将每个主题窗口内的所有话语表示拼接得到主题窗口表示公式如下:
其中concat(·)表示拼接操作,将un视为问题q,其表示为Eq。
7.根据权利要求6所述的对话风格感知与主题引导的多轮对话方法,其特征在于:所述步骤B5具体包括以下步骤:
步骤B51:将步骤B43得到的主题窗口表示输入到卷积神经网络中,获得主题窗口表征向量EW,对Eq和主题窗口表征向量EW计算注意力得分scoreAtt:
scoreAtt=α(Eq,EW) 公式二十四;
其中W2、W3、W4是可训练参数,根据得分,在主题窗口W中选择得分最高所对应的主题窗口作为问题-主题窗口Wq:
Wq={ui,ui+1,...,ui+l} 公式二十五;
步骤B52:将步骤B51中得到的问题-主题窗口Wq与步骤B43中得到的问题q及响应r进行拼接,并加上特殊标记,得到BERT模型的输入xh,公式为:
xh={[CLS],ui,[EOS],ui+1,[EOS],...,ui+l,[EOS],q,[EOS][SEP],r,[SEP]}
公式二十六。
8.根据权利要求7所述的对话风格感知与主题引导的多轮对话方法,其特征在于:所述步骤B6具体包括以下步骤:
步骤B61:将步骤B52中得到的xh输入到BERT模型中,得到窗口-问题的表征向量EWQ:
EWQ=BERT(xh) 公式二十七;
步骤B62:将步骤B61得到的表征向量EWQ输入到分类层中计算得分,计算公式如下:
gWQ(cq,r)=σ(W5EWQ+b2) 公式二十八;
其中,W5是可训练的参数矩阵,b2是偏执向量,cq是窗口-问题上下文,r是响应,σ(·)是sigmoid激活函数;
步骤B63:目标函数采用交叉熵损失函数计算多轮对话响应选择辅助任务损失值lossWQ:
其中,DS为训练集,y为对应的标签。
9.根据权利要求8所述的对话风格感知与主题引导的多轮对话方法,其特征在于:所述步骤B7具体包括以下步骤:
步骤B71:将步骤B22中得到的主任务损失lossmain、步骤B33中得到的语言风格辅助任务损失lossCL和步骤B63中得到的问题导向窗口选择辅助任务损失lossWQ相加得到模型的最终损失函数:
loss=lossmain+αlossCL+βlossWQ 公式二十九;
其中,α和β是超参数,用来控制两个辅助任务对模型的影响力;
步骤B72:利用反向传播方法计算深度学习网络模型中各参数的梯度,并利用随机梯度下降方法更新各参数。
10.对话风格感知与主题引导的多轮对话系统,为人机对话系统,采用如权利要求1-9任一项所述的对话风格感知与主题引导的多轮方法,其特征在于:对话系统包括的模块及模块功能为;
数据收集模块:用于采集特定场景多轮对话文本,标注每个对话的响应所属的类别,构建带正负类别标签的多轮对话训练集DS;
预训练语言模型训练模块,用于将对话上下文、响应和标签输入到预训练语言模型BERT中,得到上下文和响应的表征向量,通过表征向量计算目标损失函数,并与两个辅助任务的损失相加,以最小化损失为目标来对整个模型进行训练,得到多轮对话响应选择模型,主任务与辅助任务的预训练语言模型共享参数;
语言风格辅助任务模块,对训练集DS中的每个样本抽取单一说话人的历史对话构建对话历史样本,并构建对话历史负样本和增强样本,构成原始样本、增强样本、负样本三元组,使用预训练语言模型对三元组编码,对得到的表示运用对比学习,计算语言风格辅助任务的损失;
问题导向窗口选择辅助任务模块,将除最后一句外的上下文切分为多个主题窗口,将上下文的最后一句视为问题,将问题与每个窗口计算注意力得分,选择得分最高的窗口与问题及响应组成窗口-问题样本,使用预训练语言模型对窗口-问题样本进行编码,对得到的表征向量计算问题导向窗口选择辅助任务的损失;
多轮对话响应选择模块,利用训练好的语言风格与问题导向窗口选择的多轮对话响应选择模型对输入的对话文本进行分析处理,输出当前对话上下文最合适的响应。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310874629.8A CN116860943A (zh) | 2023-07-17 | 2023-07-17 | 对话风格感知与主题引导的多轮对话方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310874629.8A CN116860943A (zh) | 2023-07-17 | 2023-07-17 | 对话风格感知与主题引导的多轮对话方法及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116860943A true CN116860943A (zh) | 2023-10-10 |
Family
ID=88231975
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310874629.8A Pending CN116860943A (zh) | 2023-07-17 | 2023-07-17 | 对话风格感知与主题引导的多轮对话方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116860943A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117932043A (zh) * | 2024-03-22 | 2024-04-26 | 杭州食方科技有限公司 | 对话风格迁移答复信息显示方法、装置、设备和可读介质 |
-
2023
- 2023-07-17 CN CN202310874629.8A patent/CN116860943A/zh active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117932043A (zh) * | 2024-03-22 | 2024-04-26 | 杭州食方科技有限公司 | 对话风格迁移答复信息显示方法、装置、设备和可读介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111897933B (zh) | 情感对话生成方法、装置及情感对话模型训练方法、装置 | |
CN111274398B (zh) | 一种方面级用户产品评论情感分析方法及系统 | |
CN110134946B (zh) | 一种针对复杂数据的机器阅读理解方法 | |
CN112990296B (zh) | 基于正交相似度蒸馏的图文匹配模型压缩与加速方法及系统 | |
CN111966800B (zh) | 情感对话生成方法、装置及情感对话模型训练方法、装置 | |
CN110609891A (zh) | 一种基于上下文感知图神经网络的视觉对话生成方法 | |
CN111444340A (zh) | 文本分类和推荐方法、装置、设备及存储介质 | |
CN111274375B (zh) | 一种基于双向gru网络的多轮对话方法及系统 | |
CN110647612A (zh) | 一种基于双视觉注意力网络的视觉对话生成方法 | |
CN113435211B (zh) | 一种结合外部知识的文本隐式情感分析方法 | |
CN112667818A (zh) | 融合gcn与多粒度注意力的用户评论情感分析方法及系统 | |
CN111782788A (zh) | 一种面向开放域对话系统的情感回复自动生成方法 | |
CN112905772B (zh) | 语义相关性分析方法、装置及相关产品 | |
CN115393933A (zh) | 一种基于帧注意力机制的视频人脸情绪识别方法 | |
CN115238693A (zh) | 一种基于多分词和多层双向长短期记忆的中文命名实体识别方法 | |
CN114385803A (zh) | 一种基于外部知识和片段选择的抽取式阅读理解方法 | |
CN114463688A (zh) | 一种跨模态上下文编码的对话情感识别方法及系统 | |
CN116860943A (zh) | 对话风格感知与主题引导的多轮对话方法及系统 | |
Zhao et al. | Knowledge-aware bayesian co-attention for multimodal emotion recognition | |
CN116701996A (zh) | 基于多元损失函数的多模态情感分析方法、系统、设备及介质 | |
CN110795535A (zh) | 一种深度可分离卷积残差块的阅读理解方法 | |
CN112667788A (zh) | 一种新型的基于bertcontext的多轮对话自然语言理解模型 | |
CN113792550B (zh) | 预测答案的确定方法及装置、阅读理解方法及装置 | |
CN114357166A (zh) | 一种基于深度学习的文本分类方法 | |
Tanaka et al. | End-to-end rich transcription-style automatic speech recognition with semi-supervised learning |
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 |