CN113254582A - 一种基于预训练模型的知识驱动对话方法 - Google Patents
一种基于预训练模型的知识驱动对话方法 Download PDFInfo
- Publication number
- CN113254582A CN113254582A CN202110575305.5A CN202110575305A CN113254582A CN 113254582 A CN113254582 A CN 113254582A CN 202110575305 A CN202110575305 A CN 202110575305A CN 113254582 A CN113254582 A CN 113254582A
- Authority
- CN
- China
- Prior art keywords
- knowledge
- topic
- model
- sentences
- training
- 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
- 238000012549 training Methods 0.000 title claims abstract description 59
- 238000000034 method Methods 0.000 title claims abstract description 30
- 239000013598 vector Substances 0.000 claims description 18
- 238000004422 calculation algorithm Methods 0.000 claims description 17
- 238000004364 calculation method Methods 0.000 claims description 9
- 238000012163 sequencing technique Methods 0.000 claims description 6
- 230000011218 segmentation Effects 0.000 claims description 4
- 238000002474 experimental method Methods 0.000 description 13
- 238000010586 diagram Methods 0.000 description 12
- 238000012545 processing Methods 0.000 description 7
- 230000009286 beneficial effect Effects 0.000 description 5
- 238000004590 computer program Methods 0.000 description 5
- 230000006870 function Effects 0.000 description 5
- 230000004044 response Effects 0.000 description 4
- 238000012360 testing method Methods 0.000 description 4
- 238000004458 analytical method Methods 0.000 description 2
- 238000013473 artificial intelligence Methods 0.000 description 2
- 238000013145 classification model Methods 0.000 description 2
- 230000000052 comparative effect Effects 0.000 description 2
- 230000007774 longterm Effects 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 102100033814 Alanine aminotransferase 2 Human genes 0.000 description 1
- 101710096000 Alanine aminotransferase 2 Proteins 0.000 description 1
- 241000282412 Homo Species 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 230000007812 deficiency Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 238000002372 labelling Methods 0.000 description 1
- 238000003058 natural language processing Methods 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
- 238000010200 validation analysis Methods 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Images
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/33—Querying
- G06F16/3331—Query processing
- G06F16/334—Query execution
- G06F16/3346—Query execution using probabilistic model
-
- 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/36—Creation of semantic tools, e.g. ontology or thesauri
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)
- Computational Linguistics (AREA)
- Mathematical Physics (AREA)
- Artificial Intelligence (AREA)
- Human Computer Interaction (AREA)
- Probability & Statistics with Applications (AREA)
- Machine Translation (AREA)
Abstract
本发明公开了一种基于预训练模型的知识驱动对话方法,在训练阶段,我们需要训练三个模型:主题预测模型、知识匹配模型和会话生成模型。在训练阶段,我们将数据处理成每个模型所需的标准训练数据,因此在训练时这些模型之间没有联系。通过各个模型一起工作,以产生具有真实知识的回复。所以和传统的多轮对话不同,知识驱动的多轮对话除了对话生成之外,还应该包括知识选择工,基于上述方式,该方案具备根据上下文自己筛选合适知识的能力,同时在KdConv数据集上的表现也好于目前市面上有的其它的模型。
Description
技术领域
本发明涉及人工智能技术领域,具体涉及一种基于预训练模型的知识驱动对话方法。
背景技术
人工智能的长远目标之一是实现与人类正常对话交流,其中背景知识对对话系统的成功起着至关重要的作用。预训练时代的到来,也极大地促进了开放领域对话的发展。例如,CDial-GPT2和OpenAI GPT-2模型已经证明,在大规模数据集上训练的Transformer模型可以捕获文本数据中的长期依赖,并生成流利的文本。这类模型能够捕获粒度较细的文本数据,并产生高分辨率的输出,从而模拟人类编写的文本。如果我们希望这些模型生成包含正确的现实知识或可控内容的文本,我们可以利用额外的知识信息进行生成。
将知识融入到对话生成中可以使生成的结果更加多样化和可控。例如,将搞笑知识融入到生成模型中可以生成幽默的对话。在一个开放域对话系统中,如何利用背景知识进行有效的交互是一个非常重要但又具有挑战性的问题。其中背景知识可以表示为知识图谱、非结构化文本或描述性语料库。
现有的知识驱动对话系统在生回复应时通常假定背景知识已经知道,这与人类真实聊天场景不同,在真实聊天场景中,知识驱动的对话系统需要根据对话上下文选择合适的知识,并生成流畅的回复,就像人类聊天一样。
发明内容
针对现有技术中的上述不足,本发明提供了一种基于预训练模型的知识驱动对话方法。
为了达到上述发明目的,本发明采用的技术方案为:
一种基于预训练模型的知识驱动对话方法,包括如下步骤:
S1、构造基于知识驱动的主题预测模型、知识匹配模型以及对话生成模型的训练数据集,并利用构造的训练数据及对对应模型进行训练得到知识驱动对话系统;
S2、利用步骤S1得到的知识驱动对话系统获取用户语句,并将获取的用户语句拼接在历史语句最后,并根据历史语句对所述用户语句进行主题提取得到相对应的主题知识;
S3、利用主题预测模型根据历史语句对步骤S2所提取的主题进行排序,将排序结果与步骤S2中所提取的主题知识进行比较,选择其中的最佳主题并为最佳主题匹配多个候选主题知识;
S4、将步骤S3中匹配到的候选主题知识和与主题知识对应的历史语句发送至知识匹配模型并对所匹配到的主题知识进行排序,选择其中的最佳主题知识;
S5、将步骤S3获取的最佳主题及其主题知识步骤S4获取的最佳知识以及对应的历史语句一起发送至对话生成模型中生成目标回复,并将生成的目标回复添加到历史语句最后。
上述方案的有益效果是:能有效与用户对话;会根据与用户的对话历史,自己检索贴切的相关对话主题与知识,并生成合乎逻辑且多样性的回复。
进一步的,所述步骤S1中构建的训练数据集分别表示为:
其中,Dcg为对话生成模型训练数据集,N表示有N的训练数据,hi={ui,1,...,ui,n}表示以ui,n为语句的对话上下文,ki为主题知识,ri表示对应的回复采样,pi表示ri是否为正样本的标签,如果pi是正确的回答,则为1,否则为0。
上述进一步方案的有益效果是,构建出训练数据与知识库,训练数据用于训练系统中的各个模型,知识库用于在实际对话中进行主题与知识检索。
进一步的,所述步骤S2中根据历史语句对所述用户语句进行主题提取得到相对应的主题知识的具体方法为:
S21、获取用户对话并利用LAC算法对用户对话进行中文词条分割、语义标记以及专有名词识别;
S22、根据步骤S21的计算结果,将用户对话匹配对应的主题,并以该主题为节点匹配多个主题知识。
上述进一步方案的有益效果是,利用成熟且快速的算法对历史语句进行主题与知识粗召回,这一步使用轻量级算法,先在大量主题与知识中筛选一部分可能性最大主题知识,以便后减轻手续重量级算法的计算开销。
进一步的,所述步骤S3具体包括:
S31、根据历史对话计算用户对话中每个主题的概率值;
S32、选择概率值最大的主题并查询该主题是否在S2提取的主题中,若在则该主题为最佳主题,若不在则根据概率值大小选择下一个主题进行查询;
S33、保留所选择的最佳主题所对应的所有主题知识得到主题知识集合,并去除与之无关的主题知识。
上述进一步方案的有益效果是,对S2粗召回的主题知识进行进一步筛选,选择其中最合乎对话上下文的主题。
进一步的,所述步骤S4具体包括:
S41、将步骤S3匹配到的多个候选主题知识以及历史语句分别进行编码,得到对应的向量;
S42、对步骤S41得到的向量进行拼接计算,得到对应向量所对应的得分,并按照得分结果将所对应的主题知识进行排序;
S43、选择得分超过得分最高的前n条主题知识作为最佳主题知识输出。
上述进一步方案的有益效果是,与S3中召回的最佳主题相关联的知识还有不少,所以需要进一步对这些关联的知识进行相关性排序,以便找出最佳知识。
进一步的,所述步骤S5具体包括:
S51、将历史语句与对应的主题知识进行拼接形成长文本;
S52、将S51中的长文本发送至对话生成模型,计算词典里每个字的条件概率;
S53、根据步骤S52中的条件概率最大的字作为回复字,并拼接到输入历史语句中。
S54、重复S51至S53,直到生成停止符号,即获得一句完整句子。
(此步骤建议审核正确性,原文总结内容感觉有不完善的地方)
上述进一步方案的有益效果是,利用S4找到的最佳知识与历史对话语句,生成相关回复语句。
进一步的,所述步骤S52中条件概率的计算方式为:
P(sn|S)=P(sn|kn,s1,...,si-1);
其中,sn为第n条回复句子,kn为第n条回复句子对应的主题知识集合,s1,...,sn-1为前n-1条历史语句,n为当前回复句子下标,且n∈[2,N],N为长对话中句子总的数量。
上述进一步方案的有益效果是,利用生成句子的理论基础即语言模型进行句子生成。
8.根据权利要求7所述的一种基于预训练模型的知识驱动对话方法,其特征在于,所述步骤S52与S53中计算目标回复句子的生成概率为:
其中,m为目标回复中的字数,ω1,...,ωi-1表示生成当前字ωi的前i-1个字,S为前n-1条历史句子与对应知识集合即S=kn,s1,...,sn-1。
附图说明
图1为本发明一种基于预训练模型的知识驱动对话方法流程示意图。
图2为本发明基于预训练模型的知识驱动对话对话方法中各模块之间的关系示意图。
图3为本发明实施例主题预测模型结构示意图。
图4为本发明实施例知识匹配模型结构示意图。
图5为本发明实施例对话生成模型结构示意图。
图6为本发明实施例粗召回实验对比图。
具体实施方式
下面对本发明的具体实施方式进行描述,以便于本技术领域的技术人员理解本发明,但应该清楚,本发明不限于具体实施方式的范围,对本技术领域的普通技术人员来讲,只要各种变化在所附的权利要求限定和确定的本发明的精神和范围内,这些变化是显而易见的,一切利用本发明构思的发明创造均在保护之列。
一种基于预训练模型的知识驱动对话方法,如图1所示,包括如下步骤:
S1、构造基于知识驱动的主题预测模型、知识匹配模型以及对话生成模型的训练数据集,以便利用构造的训练数据及对对应模型进行训练得到知识驱动对话系统;
在本实施例里,用已经公开的KdConv的数据集和Kkc={kj},其中si={ui,1,...,ui,n}代表一个对话场景,有n轮语句,N表示对话样本的数量,kj代表相关知识库或知识图。我们的目标是利用这些数据来训练系统产生合理的对话回复,并探索影响其性能的因素。
在训练阶段,我们将数据集Dkc和Kkc重构为不同模型的训练数据集Dtopic、Dkg、Dcg,如图2所示,
知识匹配模型:其中N表示有N条训练数据,hi={ui,1,...,ui,n}表示以ui,n为语句的对话上下文,ki是以正负样本1:4的比例采样的知识。而li表示对应的标签,如果ki是要回复的相关知识,那么它就是1,否则就是0。
对话生成模型:其中N表示有N的训练数据,hi={ui,1,...,ui,n}表示以ui,n为语句的对话上下文,ki为知识。而ri表示对应的回复采样,正负样本的比例为1:1。pi表示ri是否为正样本的标签,如果pi是正确的回答,则为1,否则为0。正负样本的回答ri和pi的构造是为了进行多任务训练。
S2、在实际对话中,针对用户的历史语句进行回复时,我们有很多主题与知识可供选择,所以我们需要先对主题与知识进行初召回。
在实际使用时,我们需要对话系统能快速生成回复。在使用预训练模型时,如果把每一个知识都送到模型中进行处理,响应速度无法满足对话要求。所以我们提出使用成熟快速的LAC算法来粗召回主题和知识。
LAC的全称是Lexical Analysis of Chinese,是百度自然语言处理部门联合开发的词汇分析工具,实现了中文词条分割、部分语义标记、专有名词识别等功能。本文利用LAC工具实现了主题粗召回的功能。
我们假设T0是主题的结果集,K0是T0的相关知识集。其中一个主题作为根节点,与多个知识相关联。所以在接下来的步骤中,我们还需要召回相关的主题和知识。
其具体方法为:
S21、获取用户对话并利用LAC算法对用户对话进行中文词条分割、语义标记以及专有名词识别;
S22、根据步骤S21的计算结果,将用户对话匹配对应的主题,并以该主题为节点匹配多个主题知识。
S3、利用主题预测模型根据历史语句对步骤S2所提取的主题进行排序,将排序结果与步骤S2中所提取的主题知识进行比较,选择其中的最佳主题并为最佳主题匹配多个候选主题知识,
在本实施例里,包括如下步骤
S31、根据历史对话计算用户对话中每个主题的概率值;如图3所示,主题预测模型需要根据历史对话输出知识库中每个主题的概率值;
S32、选择概率值最大的主题并查询该主题是否在S2召回的主题中,若是则该主题为最佳主题,若不是则根据概率值大小选择下一个主题进行查询。
本实施例里使用预训练的模型RoBERTa-wwm-ext进行微调,将[CLS]隐藏状态向量放到一个线性层中,该层输出主题最终的分类结果Oe如下所示:
Oe=softmax(linear(Obert)),
其维度为题目数量之和,其中Obert是RoBERTa-wwm-ext的输出。为了计算速度更快,我们也可以不使用softmax函数,直接使用线性层的输出作为结果Oe为所有题目的概率值。
S33、保留所选择的最佳主题所对应的所有主题知识得到主题知识集合,并去除与之无关的主题知识:找到T0中概率值最大的主题,这就是最佳主题。当我们选择最佳主题时,需要在K0中过滤掉与它无关的知识,剩下的与最佳题目相关的知识就是集合K1。
S4、将步骤S3中匹配到的候选主题知识和与主题知识对应的历史语句发送至知识匹配模型并对所匹配到的主题知识进行排序,选择其中的最佳主题知识;
在本实施例里,使用Sentence-Bert作为知识匹配模型,如图4所示,使用预先训练好的RoBERTa-wwm-ext初始化模型里面的Bert模块。Sentence-Bert的孪生BERT分别用来编码历史对话和知识,这样可以容纳较长的数据,减少计算时间。
本实施例里具体包括如下步骤:
S41、将步骤S3匹配到的多个候选主题知识以及历史语句分别进行编码,得到对应的向量。分别将历史语句和知识送入孪生BERT进行编码,用[CLS]隐藏状态向量分别作为向量a和向量b。
S42、对步骤S41得到的向量进行拼接计算,得到对应向量所对应的得分,并按照得分结果将所对应的主题知识进行排序:对向量a和向量b进行相应的拼接计算操作,并将结果向量送入线性层,线性层输出最终的分类结果Sj。
S43、选择得分最高的前n条主题知识作为最佳主题知识输出。
本实施例通过优化交叉熵损失来训练知识排名的模型:
其中sj是K1中每个候选知识独立的得分。Jpos是K1中合适的候选知识的索引集,Jneg是K1中不合适的候选知识的索引集。我们根据得分sj对集合K1中的所有候选知识进行排序,然后选择排序结果中的前n条知识进行对话生成。
S5、将步骤S4获取的最佳知识发送至对话生成模型中生成目标回复,并将生成的目标回复添加到历史语句最后。
在实施例里,方法的核心是语言模型。我们首先将一个多轮对话会话中的n-1条语句(n是语句的数量)拼接处理成历史对话。每个样本都由历史对话和相关主题知识拼接连成一个长文本S=kn,s1,...,sn-1(si是当前回复的历史语句,其中i∈[1,n-1]。kn为回复相关知识)。然后我们将目标句子(真实回复)表示为sn,P(sn|S)的条件概率可以写成一系列条件概率的乘积:
P(sn|S)=P(sn|kn,s1,...,si-1);
其中,sn为目标回复,kn为主题知识集合,s1,...,si-1为历史语句,i为历史语句索引,且i∈[1,n-1],n为当前训练的目标语句索引,且n∈[2,N],N为长文本的数量,即:一个多轮对话共有N句话;我们需要进行n∈[2,N]次训练;当n=2时,我们使用k2s1来计算s2的生成条件概率;当n=3时,我们使用k3s1s2来计算s3的生成条件概率…当n=N时,我们使用kns1s2…sn-1来计算sn的生成条件概率。
sn中每个字的生成条件概率为P(ωi|S,ω1,...,ωi-1),P(sn)的生成条件概率为该句子中所有字的生成条件概率乘积,如下:
其中,m为目标回复句中的词数量,ω1,...,ωi-1表示目标回复句中每个词。
本实施例中采用Bert2Transformer作为对话生成模型,如图5所示,Bert2Transformer模型是基于Transformer框架,但编码器是Bert-base,解码器是12层Transformer的解码器。为了让解码器获得一些先验信息,我们使用Bert的词向量来初始化解码器的词向量和线性输出层。
实验验证:
我们使用数据集KdConv进行实验。KdConv是一个中文多领域知识驱动的对话数据集,它将多轮对话中的话题建立在知识图谱上。语料中包含了来自三个领域(电影、音乐和旅游)的4.5K场话,共86K条语句,平均每场对话19.0轮。
在所有数据集上,我们使用BLEU1、2、3、4-gram的平均分数和Distinct-2来衡量最终的生成质量。其中BLEU衡量生成的句子和标签之间的相似度,Distinct来衡量生成句子的多样性程度。
主题粗召回实验:在粗召回阶段,我们分别对比了TF-IDF、LAC和Aho-Corasick算法。由于它们都是现成的工具,我们直接将所有的训练数据作为测试样本进行测试。对于每个样本,为了控制输入长度,我们最多可以取对话历史中的最后10句作为历史语句。我们用准确率作为衡量标准,比较这三种算法的前n∈[1,50]输出中包含正确主题的准确率,换句话说,每个算法测试50个不同召回个数的准确率。假设有T条评价样本,在本实验中T=62938,具体公式如下:
其中i∈(0,1,2)分别表示采用TF-IDF、LAC和Aho-Corasick算法,kt表示第t条样本的真实标签,即合适的主题。Oit表示第i条算法对应第t条样本预测的结果集,yit是第i条算法计算出的第t条样本的得分,acci是第i条算法的最终准确率,如图6所示,当被召回的主题数量较多时,LAC算法的表现更好,当选择前50个主题时,其准确率可以达到94%。
主题预测模型实验:由于主题有12149个,所以主题预测模型是一个多分类模型,共有12149个分类结果。我们将历史语句作为输入数据,知识图谱中三元组的节点元素为分类标签,即主题。其中,最长的输入数据长度被截断为400,最多使用历史语料的最后10句。同时,使用[SEP]特俗符来分割不同的对话语句。然后,我们分别对基础模型和大模型进行实验,如表1所示,
表1
知识匹配模型实验:知识匹配模型是一个二分类模型,输入知识和对话历史语句,输出二分类概率值。历史语句数据长度和知识长度分别控制在400以内,最多使用历史语料的最后10句作为历史语句数据。我们使用[SEP]特殊符来分割不同的对话语句。在实验中,我们分别比较了Sentence-Bert模型和基于pairwise的Bert模型。由于Sentence-Bert需要分别对历史语句和知识数据进行编码,所以我们还使用孪生Bert和两个不同的Bert对数据进行编码后的效果进行测试。结果如表2所示。我们比较不同模型在验证集和测试集上的准确率。这里的准确率只是模型对数据二元分类的准确率,与最终知识选择的准确率不同。
表2
其中"-diff"是指使用两种不同的Bert来编码知识和历史语句。从结果来看,使用孪生Bert的性能要比使用两个不同的Bert好很多。
最终知识选择的准确性如下表所示。这显示了从粗略召回到最终知识选择的准确率。粗略召回阶段我们使用LAC算法,输入最多10个历史语句,输出50个主题进行后续模型处理。模型分类后我们分别比较了第一个知识是合适知识的准确率,以及前三个知识和前五个知识包含合适知识的准确率。
最终知识选择的准确性如表3所示。该结果为从粗略召回主题到最终知识选择的准确率。粗略召回阶段我们使用LAC算法,输入最多10个历史语句,输出50个主题进行后续模型处理。模型分类后我们分别比较了第一个知识是合适知识的准确率,以及前三个知识和前五个知识包含合适知识的准确率。
表3
其中“No.”表示所选知识点的数量。我们分别显示了排序后前1、3、5条知识中包含的正确知识的准确率。“√”表示本实验中使用该预训练模型进行微调,表示不使用或不测试。我们选择结果最好的模型组合进行后续实验。
对话生成模型实验:我们分别使用CDial-GPT2和Bert2transformer作为生成模型进行对比实验。以最近10个历史语句和m条知识作为输入,生成回复,其中m=1,3,进行对比实验。历史语句数据长度和知识长度之和控制在400以内,并[speaker1][speaker2]特殊符分割不同的历史语句,使用[SEP]特殊符分割不同的知识。
在回复生成阶段,主题预测模型和知识匹配模型分别使用RoBERTa-wwm-ext-large模型和Sentence-Bert base模型,其结果如表4所示。这里分别列出了使用真实知识、召回一条知识和召回三条知识所产生的结果。表4系统的生成结果。“+NSP”表示通过多任务训练的模型。“+1kb”表示模型在训练过程中每个训练样本包含一个知识。“+3kb”表示模型在训练过程中每个训练样本包含三个知识。“+share”表示编码器与解码器共享词向量。“AVG.B”表示取BLEU1、2、3、4的平均平均值作为最终得分。“Dis-2”表示为Distinct-2分数。
表4
从整体结果来看,Bert2transformer模型的性能最好。Bert2Transformer在用三个知识进行训练和生成时可以达到SOTA。而多任务训练并没有提高模型性能,而是降低。
从使用真知识产生的结果来看,选择三个知识进行训练的模型比选择一个知识进行训练的模型具有更大的潜力。
从使用召回知识生成的结果来看,当使用多个知识进行训练和生成时,CDial-GPT2的性能降低,而我们的Bert2transformer的性能得到了提高。多余的知识会变成噪声,影响CDial-GPT2的生成效果。但Bert2transformer可以在多个知识中选择最合适的知识进行生成。可以看出,我们的Bert2transformer在提取关键信息方面更为优秀。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
本发明中应用了具体实施例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
本领域的普通技术人员将会意识到,这里所述的实施例是为了帮助读者理解本发明的原理,应被理解为本发明的保护范围并不局限于这样的特别陈述和实施例。本领域的普通技术人员可以根据本发明公开的这些技术启示做出各种不脱离本发明实质的其它各种具体变形和组合,这些变形和组合仍然在本发明的保护范围内。
Claims (8)
1.一种基于预训练模型的知识驱动对话方法,其特征在于,包括如下步骤:
S1、构造基于知识驱动的主题预测模型、知识匹配模型以及对话生成模型的训练数据集,并利用构造的训练数据及对对应模型进行训练得到知识驱动对话系统;
S2、利用步骤S1得到的知识驱动对话系统获取用户语句,并将获取的用户语句拼接在历史语句最后,并根据历史语句对所述用户语句进行主题提取得到相对应的主题知识;
S3、利用主题预测模型根据历史语句对主题进行排序,将排序结果与步骤S2中所提取的主题知识进行比较,选择其中的最佳主题并为最佳主题匹配多个候选主题知识;
S4、将步骤S3中匹配到的候选主题知识和与主题知识对应的历史语句发送至知识匹配模型并对所匹配到的主题知识进行排序,选择其中的最佳主题知识;
S5、将步骤S3获取的最佳主题及其主题知识步骤S4获取的最佳知识以及对应的历史语句一起发送至对话生成模型中生成目标回复,并将生成的目标回复添加到历史语句最后。
2.根据权利要求1所述的一种基于预训练模型的知识驱动对话方法,其特征在于,所述步骤S1中构建的训练数据集分别表示为:
3.根据权利要求2所述的一种基于预训练模型的知识驱动对话方法,其特征在于,所述步骤S2中根据历史语句对所述用户语句进行主题提取得到相对应的主题知识的具体方法为:
S21、获取用户对话并利用LAC算法对用户对话进行中文词条分割、语义标记以及专有名词识别;
S22、根据步骤S21的计算结果,将用户对话匹配对应的主题,并以该主题为节点匹配多个主题知识。
4.根据权利要求3所述的一种基于预训练模型的知识驱动对话方法,其特征在于,所述步骤S3具体包括:
S31、根据历史对话计算用户对话中每个主题的概率值;
S32、选择概率值最大的主题并查询该主题是否在步骤S2提取的主题中,若在则该主题为最佳主题,若不在则根据概率值大小选择下一个主题进行查询;
S33、保留所选择的最佳主题所对应的所有主题知识得到主题知识集合,并去除与之无关的主题知识。
5.根据权利要求4所述的一种基于预训练模型的知识驱动对话方法,其特征在于,所述步骤S4具体包括:
S41、将步骤S3匹配到的多个候选主题知识以及历史语句分别进行编码,得到对应的向量;
S42、对步骤S41得到的向量进行拼接计算,得到对应向量所对应的得分,并按照得分结果将所对应的主题知识进行排序;
S43、选择得分超过得分阈值的主题知识作为最佳主题知识输出。
6.根据权利要求5所述的一种基于预训练模型的知识驱动对话方法,其特征在于,所述步骤S5具体包括:
S51、将历史语句与对应的主题知识进行拼接形成长文本;
S52、将S51中的长文本发送至对话生成模型,计算词典里每个字的条件概率;
S53、将步骤S52中的条件概率最大的字作为回复字,并拼接到输入历史语句中;
S54、重复S51至S53,直到生成停止符号,得到完整对话语句。
7.根据权利要求6所述的一种基于预训练模型的知识驱动对话方法,其特征在于,所述步骤S52中条件概率的计算方式为:
P(sn|S)=P(sn|kn,s1,...,sn-1);
其中,sn为第n条回复句子,kn为第n条回复句子对应的主题知识集合,s1,...,sn-1为前n-1条历史语句,n为当前回复句子索引,且n∈[2,N],N为长对话中句子总的数量,kn为当前选取主题知识集合,S为前n-1条历史句子与对应主题知识集合即S=kn,s1,...,sn-1。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110575305.5A CN113254582A (zh) | 2021-05-26 | 2021-05-26 | 一种基于预训练模型的知识驱动对话方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110575305.5A CN113254582A (zh) | 2021-05-26 | 2021-05-26 | 一种基于预训练模型的知识驱动对话方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113254582A true CN113254582A (zh) | 2021-08-13 |
Family
ID=77184429
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110575305.5A Pending CN113254582A (zh) | 2021-05-26 | 2021-05-26 | 一种基于预训练模型的知识驱动对话方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113254582A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114138959A (zh) * | 2021-11-30 | 2022-03-04 | 同济大学 | 一种用于固定知识领域检索模型的多轮对话方法 |
CN115048944A (zh) * | 2022-08-16 | 2022-09-13 | 之江实验室 | 一种基于主题增强的开放域对话回复方法及系统 |
CN115048447A (zh) * | 2022-06-27 | 2022-09-13 | 华中科技大学 | 一种基于智能语义补全的数据库自然语言接口系统 |
CN117422118A (zh) * | 2023-11-17 | 2024-01-19 | 中南大学 | 一种面向任务型对话中一致性识别的模型化预训练方法、系统及介质 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111897941A (zh) * | 2020-08-14 | 2020-11-06 | 腾讯科技(深圳)有限公司 | 对话生成方法、网络训练方法、装置、存储介质及设备 |
-
2021
- 2021-05-26 CN CN202110575305.5A patent/CN113254582A/zh active Pending
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111897941A (zh) * | 2020-08-14 | 2020-11-06 | 腾讯科技(深圳)有限公司 | 对话生成方法、网络训练方法、装置、存储介质及设备 |
Non-Patent Citations (2)
Title |
---|
CHENG LUO 等: "Prediction, Selection, and Generation: Exploration of Knowledge-Driven Conversation System", 《ARXIV》 * |
王纯宇: "融合主题预测的多轮对话回复生成", 《中国优秀博硕士学位论文全文数据库(硕士)信息科技辑》 * |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114138959A (zh) * | 2021-11-30 | 2022-03-04 | 同济大学 | 一种用于固定知识领域检索模型的多轮对话方法 |
CN115048447A (zh) * | 2022-06-27 | 2022-09-13 | 华中科技大学 | 一种基于智能语义补全的数据库自然语言接口系统 |
CN115048944A (zh) * | 2022-08-16 | 2022-09-13 | 之江实验室 | 一种基于主题增强的开放域对话回复方法及系统 |
CN115048944B (zh) * | 2022-08-16 | 2022-12-20 | 之江实验室 | 一种基于主题增强的开放域对话回复方法及系统 |
CN117422118A (zh) * | 2023-11-17 | 2024-01-19 | 中南大学 | 一种面向任务型对话中一致性识别的模型化预训练方法、系统及介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Jiao et al. | Higru: Hierarchical gated recurrent units for utterance-level emotion recognition | |
CN109840287B (zh) | 一种基于神经网络的跨模态信息检索方法和装置 | |
CN110781680B (zh) | 基于孪生网络和多头注意力机制的语义相似度匹配方法 | |
CN110532554B (zh) | 一种中文摘要生成方法、系统及存储介质 | |
US11568138B2 (en) | System for entity and evidence-guided relation prediction and method of using the same | |
CN113254582A (zh) | 一种基于预训练模型的知识驱动对话方法 | |
CN109766432B (zh) | 一种基于生成对抗网络的中文摘要生成方法和装置 | |
Sojasingarayar | Seq2seq ai chatbot with attention mechanism | |
US20240005093A1 (en) | Device, method and program for natural language processing | |
CN111414481A (zh) | 基于拼音和bert嵌入的中文语义匹配方法 | |
CN110188195B (zh) | 一种基于深度学习的文本意图识别方法、装置及设备 | |
CN111625634A (zh) | 词槽识别方法及装置、计算机可读存储介质、电子设备 | |
CN111626041A (zh) | 一种基于深度学习的音乐评论生成方法 | |
CN111353040A (zh) | 基于gru的属性级别情感分析方法 | |
CN114818891A (zh) | 小样本多标签文本分类模型训练方法及文本分类方法 | |
May | Kernel approximation methods for speech recognition | |
CN115204143A (zh) | 一种基于prompt的文本相似度计算方法及系统 | |
CN113961706A (zh) | 一种基于神经网络自注意力机制的精确文本表示方法 | |
CN114528835A (zh) | 基于区间判别的半监督专业术语抽取方法、介质及设备 | |
Zhao et al. | Knowledge-aware bayesian co-attention for multimodal emotion recognition | |
Tretyak et al. | Combination of abstractive and extractive approaches for summarization of long scientific texts | |
CN113806543A (zh) | 一种基于残差跳跃连接的门控循环单元的文本分类方法 | |
JP2022067234A (ja) | 回答特定用テキスト分類器及び背景知識表現ジェネレータ及びその訓練装置、並びにコンピュータプログラム | |
CN116860943A (zh) | 对话风格感知与主题引导的多轮对话方法及系统 | |
Shah et al. | A study of various word embeddings in deep 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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20210813 |