CN112527986A - 多轮对话文本生成方法、装置、设备及存储介质 - Google Patents
多轮对话文本生成方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN112527986A CN112527986A CN202011432574.8A CN202011432574A CN112527986A CN 112527986 A CN112527986 A CN 112527986A CN 202011432574 A CN202011432574 A CN 202011432574A CN 112527986 A CN112527986 A CN 112527986A
- Authority
- CN
- China
- Prior art keywords
- historical
- information
- turn
- word vector
- preset
- 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
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
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
- G06F17/18—Complex mathematical operations for evaluating statistical data, e.g. average values, frequency distributions, probability functions, regression analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/279—Recognition of textual entities
- G06F40/284—Lexical analysis, e.g. tokenisation or collocates
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- Artificial Intelligence (AREA)
- Computational Linguistics (AREA)
- Software Systems (AREA)
- Computational Mathematics (AREA)
- Databases & Information Systems (AREA)
- Pure & Applied Mathematics (AREA)
- Mathematical Optimization (AREA)
- Mathematical Analysis (AREA)
- General Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Health & Medical Sciences (AREA)
- Biomedical Technology (AREA)
- Probability & Statistics with Applications (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Evolutionary Biology (AREA)
- Biophysics (AREA)
- Evolutionary Computation (AREA)
- Operations Research (AREA)
- Bioinformatics & Computational Biology (AREA)
- Computing Systems (AREA)
- Algebra (AREA)
- Molecular Biology (AREA)
- Human Computer Interaction (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Machine Translation (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明涉及人工智能领域,公开了一种多轮对话文本生成方法、装置、设备及存储介质。该方法包括:获取历史多轮对话文本和当前对话文本并分别进行词向量转换,得到第一词向量和第二词向量;将第一词向量输入预置HRED模型进行处理,得到相关度,将第一词向量输入BTM模型进行处理并采用Attention算法对提取的历史话题进行权重赋值,得到历史话题分布权重并和相关度进行归一化,得到历史多轮对话信息;将第二词向量输入BTM模型对提取到的话题进行捕捉,得到当前语境下的话题分布信息;拼接话题分布信息和历史多轮对话信息并输入对话文本生成器,以生成与当前对话文本构成的新一轮对话文本。本发明将历史话题的上下文关系引入下一轮对话生成,生成的文本更准确。
Description
技术领域
本发明涉及人工智能领域,尤其涉及一种多轮对话文本生成方法、装置、设备及存储介质。
背景技术
随着人工智能技术的发展,利用机器人与用户在对话中直接完成业务流程处理,可以大大减少人工成本,提高问题处理的效率。例如客服聊天的对话系统,从过去的对话均由人工问答完成,到如今先由智能客服解答常见问题再由人工解决复杂问题。人机对话中关键的核心技术是多轮对话生成,这是人工智能发展水平的标志,也是目前自然语言处理领域的研究热点,受到越来越多科研人员的关注。
多轮对话生成文本时需要根据前面多个对话来进行后文生成,但是当前面多个对话中的话题发生迁移时,生成的文本往往会因为不能灵活的应对话题的变化,而导致错误的产生。
发明内容
本发明的主要目的在于解决现有多轮对话生成文本在面对话题迁移时生成的文本效果不佳的问题。
本发明第一方面提供了一种多轮对话文本生成方法,所述多轮对话文本生成包括:
获取历史多轮对话文本并进行词向量转换,得到第一词向量,以及获取当前对话文本并进行词向量转换,得到第二词向量;
将所述第一词向量输入预置HRED模型进行信息提取,得到各历史对话语句之间相关度,以及将所述第一词向量输入预置BTM模型进行话题提取,并采用预置Attention算法对提取的历史话题进行权重赋值,得到历史话题分布权重;
调用预置归一化函数,对所述各历史对话语句之间相关度和所述历史话题分布权重进行归一化运算,得到历史多轮对话信息;
将所述第二词向量输入所述BTM模型进行当前对话语境下的话题提取,并调用预置捕捉函数对提取到的当前话题进行信息捕捉,得到当前语境下的话题分布信息;
拼接当前语境下的话题分布信息和所述历史多轮对话信息,得到多轮对话融合信息,并将所述多轮对话融合信息输入预置对话文本生成器进行解码,生成与当前对话文本构成的新一轮对话文本。
可选的,在本发明第一方面的第一种实现方式中,所述HRED模型包括Word RNN网络和Sentence RNN网络,所述将所述第一词向量输入预置HRED模型进行信息提取,得到各历史对话语句之间相关度包括:
将所述第一词向量输入所述Word RNN网络,通过所述Word RNN网络对所述第一词向量进行语句信息提取,得到各历史对话语句信息;
将所述各历史对话语句信息输入所述Sentence RNN网络,通过所述Sentence RNN网络对所述各历史对话语句信息进行相关度计算,得到各历史对话语句之间相关度。
可选的,在本发明第一方面的第二种实现方式中,所述将所述第一词向量输入预置BTM模型进行话题提取,得到多个历史话题包括:
将所述第一词向量输入预置BTM模型,通过所述BTM模型对所述第一词向量进行topic-Biterm概率分布计算,得到第一话题分布信息,其中,所述第一话题分布信息包括多个历史话题。
可选的,在本发明第一方面的第三种实现方式中,所述采用预置Attention算法对提取的历史话题进行权重赋值,得到历史话题分布权重包括:
采用预置Attention算法,计算所述第一话题分布信息中各历史话题与历史语境的相似度;
对所述相似度进行Softmax运算,得到历史话题分布权重。
可选的,在本发明第一方面的第四种实现方式中,所述调用预置归一化函数,对所述各历史对话语句之间相关度和所述历史话题分布权重进行归一化运算,得到历史多轮对话信息包括:
对所述各历史对话语句之间相关度和所述历史话题分布权重进行乘积运算,得到历史多轮对话文本中各轮对话的历史信息;
调用预置归一化函数对所述历史多轮对话文本中各轮对话的历史信息进行求和运算,得到历史多轮对话信息。
可选的,在本发明第一方面的第五种实现方式中,所述将所述第二词向量输入所述BTM模型进行当前对话语境下的话题提取,并调用预置捕捉函数对提取到的当前话题进行信息捕捉,得到当前语境下的话题分布信息包括:
将所述第二词向量输入预置BTM模型,通过所述BTM模型对所述第二词向量进行topic-Biterm概率分布计算,得到第二话题分布信息;
采用预置捕捉函数对所述第二话题分布信息进行信息捕捉,得到当前语境下的话题分布信息。
可选的,在本发明第一方面的第六种实现方式中,所述对话文本生成器包括Self-attention层、Encoder-decoder attention层和FNN层,所述将所述多轮对话融合信息输入预置对话文本生成器进行解码,生成与当前对话文本构成的新一轮对话文本包括:
将所述多轮对话融合信息输入所述Self-attention层进行Mask转换,得到query向量;
将所述query向量输入所述Encoder-decoder attention层进行特征提取,得到特征向量;
将所述特征向量输入所述FNN层进行概率分布运算,得到词概率分布;
将所述词概率分布中概率值最大的词作为生成词,并对所述生成词进行拼接得到与当前对话文本构成的新一轮对话文本。
本发明第二方面提供了一种多轮对话文本生成装置,所述多轮对话文本生成装置包括:
获取模块,用于获取历史多轮对话文本并进行词向量转换,得到第一词向量,以及获取当前对话文本并进行词向量转换,得到第二词向量;
提取模块,用于将所述第一词向量输入预置HRED模型进行信息提取,得到各历史对话语句之间相关度,以及将所述第一词向量输入预置BTM模型进行话题提取,得到多个历史话题;
处理模块,用于采用预置Attention算法对提取的历史话题进行权重赋值,得到历史话题分布权重,并调用预置归一化函数,对所述各历史对话语句之间相关度和所述历史话题分布权重进行归一化运算,得到历史多轮对话信息;
捕捉模块,用于将所述第二词向量输入所述BTM模型进行当前对话语境下的话题提取,并调用预置捕捉函数对提取到的当前话题进行信息捕捉,得到当前语境下的话题分布信息;
生成模块,用于拼接当前语境下的话题分布信息和所述历史多轮对话信息,得到多轮对话融合信息,并将所述多轮对话融合信息输入预置对话文本生成器进行解码,生成与当前对话文本构成的新一轮对话文本。
可选的,在本发明第二方面的第一种实现方式中,所述HRED模型包括Word RNN网络和Sentence RNN网络,所述提取模块包括第一提取单元,所述第一提取单元具体用于:
将所述第一词向量输入所述Word RNN网络,通过所述Word RNN网络对所述第一词向量进行语句信息提取,得到各历史对话语句信息;
将所述各历史对话语句信息输入所述Sentence RNN网络,通过所述Sentence RNN网络对所述各历史对话语句信息进行相关度计算,得到各历史对话语句之间相关度。
可选的,在本发明第二方面的第二种实现方式中,所述提取模块包括第二提取单元,所述第二提取单元具体用于:
将所述第一词向量输入预置BTM模型,通过所述BTM模型对所述第一词向量进行topic-Biterm概率分布计算,得到第一话题分布信息,其中,所述第一话题分布信息包括多个历史话题。
可选的,在本发明第二方面的第三种实现方式中,所述处理模块包括第一处理单元,所述第一处理单元具体用于:
采用预置Attention算法,计算所述第一话题分布信息中各历史话题与历史语境的相似度;对所述相似度进行Softmax运算,得到历史话题分布权重。
可选的,在本发明第二方面的第四种实现方式中,所述处理模块包括第二处理单元,所述第二处理单元具体用于:
对所述各历史对话语句之间相关度和所述历史话题分布权重进行乘积运算,得到历史多轮对话文本中各轮对话的历史信息;
调用预置归一化函数对所述历史多轮对话文本中各轮对话的历史信息进行求和运算,得到历史多轮对话信息。
可选的,在本发明第二方面的第五种实现方式中,所述捕捉模块具体用于:
将所述第二词向量输入预置BTM模型,通过所述BTM模型对所述第二词向量进行topic-Biterm概率分布计算,得到第二话题分布信息;
采用预置捕捉函数对所述第二话题分布信息进行信息捕捉,得到当前语境下的话题分布信息。
可选的,在本发明第二方面的第六种实现方式中,所述对话文本生成器包括Self-attention层、Encoder-decoder attention层和FNN层,所述生成模块包括:
拼接单元,用于拼接当前语境下的话题分布信息和所述历史多轮对话信息,得到多轮对话融合信息;
生成单元,用于将所述多轮对话融合信息输入所述Self-attention层进行Mask转换,得到query向量;将所述query向量输入所述Encoder-decoderattention层进行特征提取,得到特征向量;将所述特征向量输入所述FNN层进行概率分布运算,得到词概率分布;将所述词概率分布中概率值最大的词作为生成词,并对所述生成词进行拼接得到与当前对话文本构成的新一轮对话文本。
本发明第三方面提供了一种多轮对话文本生成设备,包括:存储器和至少一个处理器,所述存储器中存储有指令;所述至少一个处理器调用所述存储器中的所述指令,以使得所述多轮对话文本生成设备执行上述的多轮对话文本生成方法。
本发明的第四方面提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述的多轮对话文本生成方法。
本发明提供的技术方案中,鉴于现有多轮对话文本生成模型在面对多轮对话话题发生迁移时的表现效果不佳,因此采用多个机器学习模型对话题进行捕捉,首先利用HRED模型来提取历史多轮对话文本中的上下文信息,得到各历史对话语句之间相关度,再利用BTM模型与Attention算法来对话题进行提取与强化,得到历史话题分布权重和当前语境下的话题分布信息,并将相关度、历史话题分布权重和当前语境下的话题分布信息输入文本生成器中生成下文。本发明能更精准的找到文本应该由哪些话题来生成,从而更精确地生成后文,使得文本更符合多轮对话的逻辑。
附图说明
图1为本发明实施例中多轮对话文本生成方法的第一个实施例示意图;
图2为本发明实施例中多轮对话文本生成方法的第二个实施例示意图;
图3为本发明实施例中多轮对话文本生成装置的一个实施例示意图;
图4为本发明实施例中多轮对话文本生成设备的一个实施例示意图。
具体实施方式
本发明实施例提供了一种多轮对话文本生成方法、装置、设备及存储介质。本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。此外,术语“包括”或“具有”及其任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
为便于理解,下面对本发明实施例的具体流程进行描述,请参阅图1,本发明实施例中多轮对话文本生成方法的第一个实施例包括:
101、获取历史多轮对话文本并进行词向量转换,得到第一词向量,以及获取当前对话文本并进行词向量转换,得到第二词向量;
可以理解的是,本发明的执行主体可以为多轮对话文本生成装置,还可以是终端或者服务器,具体此处不做限定。本发明实施例以服务器为执行主体为例进行说明。
本实施例中,历史多轮对话文本包括最后一轮对话之前的所有历史对话的文本,当前对话文本包括最后一轮对话的文本。
例如:我爱篮球。我爱祖国。我爱北京。历史多轮对话文本为:我爱篮球。我爱祖国。当前对话文本为:我爱北京。
本实施例中,词向量是将文本中的词语表示为向量,利用one-hotrepresentation把每个词表示为一个长向量。这个向量的维度是词表大小,向量中只有一个维度的值为1,其余维度为0,这个维度就代表了当前的词。
例如:苹果[0,0,0,1,0,0,0,0,0,……]。
102、将所述第一词向量输入预置HRED模型进行信息提取,得到各历史对话语句之间相关度,以及将所述第一词向量输入预置BTM模型进行话题提取,得到多个历史话题;
本实施例中,HRED模型包括Word RNN网络和Sentence RNN网络,Word RNN网络用于提取多个句子信息,Sentence RNN网络用于提取多轮对话中句子与句子之间的相关信息得到各历史对话语句之间相关度。
本实施例中,BTM模型包括α,β,θ,w1,w2,其中,α和β是给定的超参数,θ为主题分布,为词分布,w1代表单词1,w2代表单词2,z表示主题z。BTM模型是基于词对的主题模型,通过最大化在不同的话题中提取词对的概率,实现对短文本的主体分布预测。
可选的,在一实施例中,所述HRED模型包括Word RNN网络和Sentence RNN网络,所述将所述第一词向量输入预置HRED模型进行信息提取,得到各历史对话语句之间相关度包括:
将所述第一词向量输入所述Word RNN网络,通过所述Word RNN网络对所述第一词向量进行语句信息提取,得到各历史对话语句信息;
将所述各历史对话语句信息输入所述Sentence RNN网络,通过所述Sentence RNN网络对所述各历史对话语句信息进行相关度计算,得到各历史对话语句之间相关度。
本实施例中,Word RNN网络主要用于对输入句子进行编码,编码整个对话的状态、意图等对话层面的信息,RNN的隐藏层向量就可以记住之前的对话信息,Word RNN网络采用双向RNN可以有效地引入额外的短期依赖性。然后,将该编码了之前对话信息的向量作为Sentence RNN网络的输入向量,使得在解码过程中除了使用回答句子本身信息还会结合对话上下文信息。
可选的,在一实施例中,所述将所述第一词向量输入预置BTM模型进行话题提取,得到多个历史话题包括:
将所述第一词向量输入预置BTM模型,通过所述BTM模型对所述第一词向量进行topic-Biterm概率分布计算,得到第一话题分布信息,其中,所述第一话题分布信息包括多个历史话题。
本实施例中,对所述第一词向量进行topic-Biterm概率分布计算,得到第一话题分布信息,其中,所述第一话题分布信息包括多个历史话题,topic-Biterm概率分布计算,首先从词向量中抽取所有的二元词组,即抽取Biterm对。例如:“I visit apple store”,去除I停用词后,抽取的二元词组包括{visit apple},{visit store},{apple store}。对于每个话题z抽取话题-词分布,从Dirichlet先验中获取话题的分布θ,对于二元词组集合B中的每个二元词b:抽取一个主题z,抽取两个单词w1和w2,最后得到第一话题分布信息包括多个历史话题。
103、采用预置Attention算法对提取的历史话题进行权重赋值,得到历史话题分布权重,并调用预置归一化函数,对所述各历史对话语句之间相关度和所述历史话题分布权重进行归一化运算,得到历史多轮对话信息;
本实施例中,Attention算法为:
其中,αi表示相似度,ci表示语境数据,ti表示句子i的主题,E(ti,ci)表示对于主题ti的词分布和投影到语境ci的词分布之和。将求得的多个相似度进行softmax运算,得到历史话题分布权重,softmax运算为:
其中,αi'为历史话题分布权重,αi为相似度,αj为相似度的和。
本实施例中,归一化函数为:
其中,SN为历史多轮对话信息,N为共有N句话,αi'为历史话题分布权重,si为各历史对话语句之间相关度。
可选的,在一实施例中,所述采用预置Attention算法对提取的历史话题进行权重赋值,得到历史话题分布权重包括:
采用预置Attention算法,计算所述第一话题分布信息中各历史话题与历史语境的相似度;
对所述相似度进行Softmax运算,得到历史话题分布权重。
本实施例中,将Attention机制运用在BTM模型提取的话题分布和HRED模型提取的句信息上,从而获取话题在其中的比重,得到话题转移的信息,从而更精确地生成后文,使得文本更符合多轮对话的逻辑。
可选的,在一实施例中,所述调用预置归一化函数,对所述各历史对话语句之间相关度和所述历史话题分布权重进行归一化运算,得到历史多轮对话信息包括:
对所述各历史对话语句之间相关度和所述历史话题分布权重进行乘积运算,得到历史多轮对话文本中各轮对话的历史信息;
调用预置归一化函数对所述历史多轮对话文本中各轮对话的历史信息进行求和运算,得到历史多轮对话信息。
本实施例中,SN因为含括了第i句的词汇信息,涵盖了第i句话的主题分布情况,将两者结合就能得到第i句的信息,而对所有句子进行求和就能得到之前多轮对话的所有语句的信息。
104、将所述第二词向量输入所述BTM模型进行当前对话语境下的话题提取,并调用预置捕捉函数对提取到的当前话题进行信息捕捉,得到当前语境下的话题分布信息;
本实施例中,利用BTM模型提取当前对话语境下的话题,因为输入只有当前语境下的对话文本,所以输出为当前语境下的话题。捕捉函数为E(tN,cN),表示第N个句子的一个综合分布值,因为是对当前对话语境求得综合分布值,所以得到当前语境下的话题分布信息。
可选的,在一实施例中,所述将所述第二词向量输入所述BTM模型进行当前对话语境下的话题提取,并调用预置捕捉函数对提取到的当前话题进行信息捕捉,得到当前语境下的话题分布信息包括:
将所述第二词向量输入预置BTM模型,通过所述BTM模型对所述第二词向量进行topic-Biterm概率分布计算,得到第二话题分布信息;
采用预置捕捉函数对所述第二话题分布信息进行信息捕捉,得到当前语境下的话题分布信息。
本实施例中,对所述第二词向量进行topic-Biterm概率分布计算,得到第二话题分布信息,其中,所述第二话题分布信息包括多个历史话题,topic-Biterm概率分布计算,首先从词向量中抽取所有的二元词组,即抽取Biterm对。例如:“我爱北京”,去除“我”停用词后,抽取的二元词组包括{爱北},{北京},{爱京}。对于每个话题z抽取话题-词分布,从Dirichlet先验中获取话题的分布,对于二元词组集合B中的每个二元词b:抽取一个主题z,抽取两个单词w1和w2,最后得到第二话题分布信息。
本实施例中,捕捉函数计算出E(tN,cN),得到第N个句子的一个综合分布值,即为当前语境下的话题分布信息。
105、拼接当前语境下的话题分布信息和所述历史多轮对话信息,得到多轮对话融合信息,并将所述多轮对话融合信息输入预置对话文本生成器进行解码,生成与当前对话文本构成的新一轮对话文本。
本实施例中,拼接当前语境下的话题分布信息和所述历史多轮对话信息,得到多轮对话融合信息。
例如:将两个分离的信息拼接成一整个。如:[[1,3,4],[1,1,1]]和[2,1,3]拼接为[[1,3,4],[1,1,1],[2,1,3]]。
本实施例中,对话文本生成器包括Self-attention层、Encoder-decoderattention层和FNN层,文本生成器根据FNN层输出的词概率分布,将所述词概率分布中概率值最大的词作为生成词,并对所述生成词进行拼接得到与当前对话文本构成的新一轮对话文本。
本发明实施例中,鉴于现有多轮对话文本生成模型在面对多轮对话话题发生迁移时的表现效果不佳,因此采用多个机器学习模型对话题进行捕捉,首先利用HRED模型来提取历史多轮对话文本中的上下文信息,得到各历史对话语句之间相关度,再利用BTM模型与Attention算法来对话题进行提取与强化,得到历史话题分布权重和当前语境下的话题分布信息,并将相关度、历史话题分布权重和当前语境下的话题分布信息输入文本生成器中生成下文。本发明能更精准的找到文本应该由哪些话题来生成,从而更精确地生成后文,使得文本更符合多轮对话的逻辑。
请参阅图2,本发明实施例中多轮对话文本生成方法的第四个实施例包括:
201、获取历史多轮对话文本并进行词向量转换,得到第一词向量,以及获取当前对话文本并进行词向量转换,得到第二词向量;
202、将所述第一词向量输入预置HRED模型进行信息提取,得到各历史对话语句之间相关度,以及将所述第一词向量输入预置BTM模型进行话题提取,得到多个历史话题;
203、采用预置Attention算法对提取的历史话题进行权重赋值,得到历史话题分布权重,并调用预置归一化函数,对所述各历史对话语句之间相关度和所述历史话题分布权重进行归一化运算,得到历史多轮对话信息;
204、将所述第二词向量输入所述BTM模型进行当前对话语境下的话题提取,并调用预置捕捉函数对提取到的当前话题进行信息捕捉,得到当前语境下的话题分布信息;
205、拼接当前语境下的话题分布信息和所述历史多轮对话信息,得到多轮对话融合信息;
206、将所述多轮对话融合信息输入所述Self-attention层进行Mask转换,得到query向量;
本实施例中,Self-attention层是将句子中的每一个词都和该句子当中的所有词进行一个attention计算,其作用是学习句子内部的词依赖关系,获取词的内部结构。因此,Self-attention计算的信息来源都是来源于其句子本身。Mask在进行attention的计算过程中,通过Mask的操作,使得补全位置上的值成为一个非常大的负数,以此操作就相当于把补全位置的无用信息给遮蔽掉了,从而得到query向量。
207、将所述query向量输入所述Encoder-decoder attention层进行特征提取,得到特征向量;
本实施例中,Encoder-decoder attention层中的Encoder由6个相同的层堆叠在一起,每一层又有两个支层,第一个支层是一个多头的自注意机制,第二个支层是一个简单的全连接前馈网络,在两个支层外面都添加了一个residual的连接,然后进行了layernomalization的操作。decoder也是堆叠了六个相同的层。不过每层除了Encoder中那两个支层,解码器还加入了第三个支层,decoder用了residual以及layer normalization。Encoder-decoder attention层用于文本生成任务,表现极好,可并行化,并且大大减少训练时间。通过Encoder-decoder对query向量进行特征提取,得到特征向量。
208、将所述特征向量输入所述FNN层进行概率分布运算,得到词概率分布;
本实施例中,FNN层为多次线性变换并通过激活函数进行非线性变换。激活函数在这里主要起到非线性变换的作用。虽然每一层网络的进行的非线性变换相对简单,但是经过多次变换后产生的非线性决策曲面将变得非常复杂,从而可以胜任复杂的分类和回归问题,本实施例FNN层通过对特征向量进行概率分布运算,得到词概率分布。
209、将所述词概率分布中概率值最大的词作为生成词,并对所述生成词进行拼接得到与当前对话文本构成的新一轮对话文本。
本实施例中,根据词概率分布中概率最大的词作为生成词,随后将这些词进行拼接就是最后生成的文本。例如:词概率分布中概率最大的词分别是:我,也,爱,北,京。即生成当前对话文本构成的新一轮对话文本为:我也爱北京。
本发明实施例中,文本生成器的作用是将历史多轮对话信息和当前语境下的话题分布信息进行解码操作,从而生成当前对话文本构成的新一轮对话文本,依据历史多轮对话信息和当前语境下的话题分布信息来进行文本生成,增加了生成文本的准确度。
上面对本发明实施例中多轮对话文本生成方法进行了描述,下面对本发明实施例中多轮对话文本生成装置进行描述,请参阅图3,本发明实施例中多轮对话文本生成装置一个实施例包括:
获取模块301,用于获取历史多轮对话文本并进行词向量转换,得到第一词向量,以及获取当前对话文本并进行词向量转换,得到第二词向量;
提取模块302,用于将所述第一词向量输入预置HRED模型进行信息提取,得到各历史对话语句之间相关度,以及将所述第一词向量输入预置BTM模型进行话题提取,得到多个历史话题;
处理模块303,用于采用预置Attention算法对提取的历史话题进行权重赋值,得到历史话题分布权重,并调用预置归一化函数,对所述各历史对话语句之间相关度和所述历史话题分布权重进行归一化运算,得到历史多轮对话信息;
捕捉模块304,用于将所述第二词向量输入所述BTM模型进行当前对话语境下的话题提取,并调用预置捕捉函数对提取到的当前话题进行信息捕捉,得到当前语境下的话题分布信息;
生成模块305,用于拼接当前语境下的话题分布信息和所述历史多轮对话信息,得到多轮对话融合信息,并将所述多轮对话融合信息输入预置对话文本生成器进行解码,生成与当前对话文本构成的新一轮对话文本。
可选的,在一实施例中,所述HRED模型包括Word RNN网络和Sentence RNN网络,所述提取模块302包括第一提取单元3021,所述第一提取单元3021具体用于:
将所述第一词向量输入所述Word RNN网络,通过所述Word RNN网络对所述第一词向量进行语句信息提取,得到各历史对话语句信息;
将所述各历史对话语句信息输入所述Sentence RNN网络,通过所述Sentence RNN网络对所述各历史对话语句信息进行相关度计算,得到各历史对话语句之间相关度。
可选的,在一实施例中,所述提取模块302包括第二提取单元3022,所述第二提取单元3022具体用于:
将所述第一词向量输入预置BTM模型,通过所述BTM模型对所述第一词向量进行topic-Biterm概率分布计算,得到第一话题分布信息,其中,所述第一话题分布信息包括多个历史话题。
可选的,在一实施例中,所述处理模块303包括第一处理单元3031,所述第一处理单元3031具体用于:
采用预置Attention算法,计算所述第一话题分布信息中各历史话题与历史语境的相似度;对所述相似度进行Softmax运算,得到历史话题分布权重。
可选的,在一实施例中,所述处理模块303包括第二处理单元3032,所述第二处理单元3032具体用于
对所述各历史对话语句之间相关度和所述历史话题分布权重进行乘积运算,得到历史多轮对话文本中各轮对话的历史信息;
调用预置归一化函数对所述历史多轮对话文本中各轮对话的历史信息进行求和运算,得到历史多轮对话信息。
可选的,在一实施例中,所述捕捉模块304具体用于:
将所述第二词向量输入预置BTM模型,通过所述BTM模型对所述第二词向量进行topic-Biterm概率分布计算,得到第二话题分布信息;
采用预置捕捉函数对所述第二话题分布信息进行信息捕捉,得到当前语境下的话题分布信息。
可选的,在一实施例中,所述对话文本生成器包括Self-attention层、Encoder-decoder attention层和FNN层,所述生成模块305包括:
拼接单元3051,用于拼接当前语境下的话题分布信息和所述历史多轮对话信息,得到多轮对话融合信息;
生成单元3052,用于将所述多轮对话融合信息输入所述Self-attention层进行Mask转换,得到query向量;将所述query向量输入所述Encoder-decoder attention层进行特征提取,得到特征向量;将所述特征向量输入所述FNN层进行概率分布运算,得到词概率分布;将所述词概率分布中概率值最大的词作为生成词,并对所述生成词进行拼接得到与当前对话文本构成的新一轮对话文本。
本发明实施例中,鉴于现有多轮对话文本生成模型在面对多轮对话话题发生迁移时的表现效果不佳,因此采用多个机器学习模型对话题进行捕捉,首先利用HRED模型来提取历史多轮对话文本中的上下文信息,得到各历史对话语句之间相关度,再利用BTM模型与Attention算法来对话题进行提取与强化,得到历史话题分布权重和当前语境下的话题分布信息,并将相关度、历史话题分布权重和当前语境下的话题分布信息输入文本生成器中生成下文。本发明能更精准的找到文本应该由哪些话题来生成,从而更精确地生成后文,使得文本更符合多轮对话的逻辑。
上面图3从模块化功能实体的角度对本发明实施例中的多轮对话文本生成装置进行详细描述,下面从硬件处理的角度对本发明实施例中多轮对话文本生成设备进行详细描述。
图4是本发明实施例提供的一种多轮对话文本生成设备的结构示意图,该多轮对话文本生成设备400可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上处理器(central processing units,CPU)410(例如,一个或一个以上处理器)和存储器420,一个或一个以上存储应用程序433或数据432的存储介质430(例如一个或一个以上海量存储设备)。其中,存储器420和存储介质430可以是短暂存储或持久存储。存储在存储介质430的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对多轮对话文本生成设备400中的一系列指令操作。更进一步地,处理器410可以设置为与存储介质430通信,在多轮对话文本生成设备400上执行存储介质430中的一系列指令操作。
多轮对话文本生成设备400还可以包括一个或一个以上电源440,一个或一个以上有线或无线网络接口450,一个或一个以上输入输出接口460,和/或,一个或一个以上操作系统431,例如Windows Serve,Mac OS X,Unix,Linux,FreeBSD等等。本领域技术人员可以理解,图4示出的多轮对话文本生成设备结构并不构成对多轮对话文本生成设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
本发明还提供一种多轮对话文本生成设备,所述多轮对话文本生成设备包括存储器和处理器,存储器中存储有计算机可读指令,计算机可读指令被处理器执行时,使得处理器执行上述各实施例中的所述多轮对话文本生成方法的步骤。
本发明还提供一种计算机可读存储介质,该计算机可读存储介质可以为非易失性计算机可读存储介质,该计算机可读存储介质也可以为易失性计算机可读存储介质,所述计算机可读存储介质中存储有指令,当所述指令在计算机上运行时,使得计算机执行所述多轮对话文本生成方法的步骤。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(read-only memory,ROM)、随机存取存储器(random access memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (10)
1.一种多轮对话文本生成方法,其特征在于,所述多轮对话文本生成方法包括:
获取历史多轮对话文本并进行词向量转换,得到第一词向量,以及获取当前对话文本并进行词向量转换,得到第二词向量;
将所述第一词向量输入预置HRED模型进行信息提取,得到各历史对话语句之间相关度,以及将所述第一词向量输入预置BTM模型进行话题提取,得到多个历史话题;
采用预置Attention算法对提取的历史话题进行权重赋值,得到历史话题分布权重,并调用预置归一化函数,对所述各历史对话语句之间相关度和所述历史话题分布权重进行归一化运算,得到历史多轮对话信息;
将所述第二词向量输入所述BTM模型进行当前对话语境下的话题提取,并调用预置捕捉函数对提取到的当前话题进行信息捕捉,得到当前语境下的话题分布信息;
拼接当前语境下的话题分布信息和所述历史多轮对话信息,得到多轮对话融合信息,并将所述多轮对话融合信息输入预置对话文本生成器进行解码,生成与当前对话文本构成的新一轮对话文本。
2.根据权利要求1所述的多轮对话文本生成方法,其特征在于,所述HRED模型包括WordRNN网络和Sentence RNN网络,所述将所述第一词向量输入预置HRED模型进行信息提取,得到各历史对话语句之间相关度包括:
将所述第一词向量输入所述Word RNN网络,通过所述Word RNN网络对所述第一词向量进行语句信息提取,得到各历史对话语句信息;
将所述各历史对话语句信息输入所述Sentence RNN网络,通过所述Sentence RNN网络对所述各历史对话语句信息进行相关度计算,得到各历史对话语句之间相关度。
3.根据权利要求1所述的多轮对话文本生成方法,其特征在于,所述将所述第一词向量输入预置BTM模型进行话题提取,得到多个历史话题包括:
将所述第一词向量输入预置BTM模型,通过所述BTM模型对所述第一词向量进行topic-Biterm概率分布计算,得到第一话题分布信息,其中,所述第一话题分布信息包括多个历史话题。
4.根据权利要求3所述的多轮对话文本生成方法,其特征在于,所述采用预置Attention算法对提取的历史话题进行权重赋值,得到历史话题分布权重包括:
采用预置Attention算法,计算所述第一话题分布信息中各历史话题与历史语境的相似度;
对所述相似度进行Softmax运算,得到历史话题分布权重。
5.根据权利要求1或3所述的多轮对话文本生成方法,其特征在于,所述调用预置归一化函数,对所述各历史对话语句之间相关度和所述历史话题分布权重进行归一化运算,得到历史多轮对话信息包括:
对所述各历史对话语句之间相关度和所述历史话题分布权重进行乘积运算,得到历史多轮对话文本中各轮对话的历史信息;
调用预置归一化函数对所述历史多轮对话文本中各轮对话的历史信息进行求和运算,得到历史多轮对话信息。
6.根据权利要求1所述的多轮对话文本生成方法,其特征在于,所述将所述第二词向量输入所述BTM模型进行当前对话语境下的话题提取,并调用预置捕捉函数对提取到的当前话题进行信息捕捉,得到当前语境下的话题分布信息包括:
将所述第二词向量输入预置BTM模型,通过所述BTM模型对所述第二词向量进行topic-Biterm概率分布计算,得到第二话题分布信息;
采用预置捕捉函数对所述第二话题分布信息进行信息捕捉,得到当前语境下的话题分布信息。
7.根据权利要求1或6所述的多轮对话文本生成方法,其特征在于,所述对话文本生成器包括Self-attention层、Encoder-decoder attention层和FNN层,所述将所述多轮对话融合信息输入预置对话文本生成器进行解码,生成与当前对话文本构成的新一轮对话文本包括:
将所述多轮对话融合信息输入所述Self-attention层进行Mask转换,得到query向量;
将所述query向量输入所述Encoder-decoder attention层进行特征提取,得到特征向量;
将所述特征向量输入所述FNN层进行概率分布运算,得到词概率分布;
将所述词概率分布中概率值最大的词作为生成词,并对所述生成词进行拼接得到与当前对话文本构成的新一轮对话文本。
8.一种多轮对话文本生成装置,其特征在于,所述多轮对话文本生成装置包括:
获取模块,用于获取历史多轮对话文本并进行词向量转换,得到第一词向量,以及获取当前对话文本并进行词向量转换,得到第二词向量;
提取模块,用于将所述第一词向量输入预置HRED模型进行信息提取,得到各历史对话语句之间相关度,以及将所述第一词向量输入预置BTM模型进行话题提取,得到多个历史话题;
处理模块,用于采用预置Attention算法对提取的历史话题进行权重赋值,得到历史话题分布权重,并调用预置归一化函数,对所述各历史对话语句之间相关度和所述历史话题分布权重进行归一化运算,得到历史多轮对话信息;
捕捉模块,用于将所述第二词向量输入所述BTM模型进行当前对话语境下的话题提取,并调用预置捕捉函数对提取到的当前话题进行信息捕捉,得到当前语境下的话题分布信息;
生成模块,用于拼接当前语境下的话题分布信息和所述历史多轮对话信息,得到多轮对话融合信息,并将所述多轮对话融合信息输入预置对话文本生成器进行解码,生成与当前对话文本构成的新一轮对话文本。
9.一种多轮对话文本生成设备,其特征在于,所述多轮对话文本生成设备包括:存储器和至少一个处理器,所述存储器中存储有指令;
所述至少一个处理器调用所述存储器中的所述指令,以使得所述多轮对话文本生成设备执行如权利要求1-7中任一项所述的多轮对话文本生成方法。
10.一种计算机可读存储介质,所述计算机可读存储介质上存储有指令,其特征在于,所述指令被处理器执行时实现如权利要求1-7中任一项所述的多轮对话文本生成方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011432574.8A CN112527986A (zh) | 2020-12-10 | 2020-12-10 | 多轮对话文本生成方法、装置、设备及存储介质 |
PCT/CN2021/083336 WO2022121161A1 (zh) | 2020-12-10 | 2021-03-26 | 多轮对话文本生成方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011432574.8A CN112527986A (zh) | 2020-12-10 | 2020-12-10 | 多轮对话文本生成方法、装置、设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112527986A true CN112527986A (zh) | 2021-03-19 |
Family
ID=74998773
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011432574.8A Pending CN112527986A (zh) | 2020-12-10 | 2020-12-10 | 多轮对话文本生成方法、装置、设备及存储介质 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN112527986A (zh) |
WO (1) | WO2022121161A1 (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113672714A (zh) * | 2021-08-20 | 2021-11-19 | 上海大参林医疗健康科技有限公司 | 一种多轮对话装置及方法 |
CN113761157A (zh) * | 2021-05-28 | 2021-12-07 | 腾讯科技(深圳)有限公司 | 应答语句生成方法和装置 |
WO2022121161A1 (zh) * | 2020-12-10 | 2022-06-16 | 平安科技(深圳)有限公司 | 多轮对话文本生成方法、装置、设备及存储介质 |
CN115169367A (zh) * | 2022-09-06 | 2022-10-11 | 杭州远传新业科技股份有限公司 | 对话生成方法及装置、存储介质 |
CN113761157B (zh) * | 2021-05-28 | 2024-05-24 | 腾讯科技(深圳)有限公司 | 应答语句生成方法和装置 |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116628179B (zh) * | 2023-05-30 | 2023-12-22 | 道有道科技集团股份公司 | 一种用户操作数据的可视化与人机交互推荐方法 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106776578B (zh) * | 2017-01-03 | 2020-03-17 | 竹间智能科技(上海)有限公司 | 用于提升对话系统对话性能的方法及装置 |
CN107480143B (zh) * | 2017-09-12 | 2020-05-29 | 山东师范大学 | 基于上下文相关性的对话话题分割方法和系统 |
US10861456B2 (en) * | 2018-09-17 | 2020-12-08 | Adobe Inc. | Generating dialogue responses in end-to-end dialogue systems utilizing a context-dependent additive recurrent neural network |
CN110032633B (zh) * | 2019-04-17 | 2021-03-23 | 腾讯科技(深圳)有限公司 | 多轮对话处理方法、装置和设备 |
CN110222155B (zh) * | 2019-06-13 | 2020-10-02 | 北京百度网讯科技有限公司 | 知识选择策略的对话生成方法、装置以及终端 |
CN112527986A (zh) * | 2020-12-10 | 2021-03-19 | 平安科技(深圳)有限公司 | 多轮对话文本生成方法、装置、设备及存储介质 |
-
2020
- 2020-12-10 CN CN202011432574.8A patent/CN112527986A/zh active Pending
-
2021
- 2021-03-26 WO PCT/CN2021/083336 patent/WO2022121161A1/zh active Application Filing
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2022121161A1 (zh) * | 2020-12-10 | 2022-06-16 | 平安科技(深圳)有限公司 | 多轮对话文本生成方法、装置、设备及存储介质 |
CN113761157A (zh) * | 2021-05-28 | 2021-12-07 | 腾讯科技(深圳)有限公司 | 应答语句生成方法和装置 |
CN113761157B (zh) * | 2021-05-28 | 2024-05-24 | 腾讯科技(深圳)有限公司 | 应答语句生成方法和装置 |
CN113672714A (zh) * | 2021-08-20 | 2021-11-19 | 上海大参林医疗健康科技有限公司 | 一种多轮对话装置及方法 |
CN115169367A (zh) * | 2022-09-06 | 2022-10-11 | 杭州远传新业科技股份有限公司 | 对话生成方法及装置、存储介质 |
CN115169367B (zh) * | 2022-09-06 | 2022-12-09 | 杭州远传新业科技股份有限公司 | 对话生成方法及装置、存储介质 |
Also Published As
Publication number | Publication date |
---|---|
WO2022121161A1 (zh) | 2022-06-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112000791B (zh) | 一种电机故障知识抽取系统及方法 | |
US11210306B2 (en) | Dialogue system, a method of obtaining a response from a dialogue system, and a method of training a dialogue system | |
CN112527986A (zh) | 多轮对话文本生成方法、装置、设备及存储介质 | |
CN111581229B (zh) | Sql语句的生成方法、装置、计算机设备及存储介质 | |
JP7441864B2 (ja) | 多音字の発音を予測する方法、装置、設備、および記憶媒体 | |
CN112100354B (zh) | 人机对话方法、装置、设备及存储介质 | |
CN111475655B (zh) | 一种基于配电网知识图谱的电力调度文本实体链接方法 | |
CN110990555B (zh) | 端到端检索式对话方法与系统及计算机设备 | |
CN108763535A (zh) | 信息获取方法及装置 | |
CN111767375A (zh) | 语义召回方法、装置、计算机设备及存储介质 | |
CN116304748B (zh) | 一种文本相似度计算方法、系统、设备及介质 | |
CN115795038B (zh) | 基于国产化深度学习框架的意图识别方法和装置 | |
CN112989829B (zh) | 一种命名实体识别方法、装置、设备及存储介质 | |
Wang et al. | Effective utilization of external knowledge and history context in multi-turn spoken language understanding model | |
CN113065352B (zh) | 一种电网调度工作文本的操作内容识别方法 | |
CN111723583B (zh) | 基于意图角色的语句处理方法、装置、设备及存储介质 | |
Wang et al. | Deep Semantics Sorting of Voice-Interaction-Enabled Industrial Control System | |
CN111400340A (zh) | 一种自然语言处理方法、装置、计算机设备和存储介质 | |
CN116186219A (zh) | 一种人机对话交互方法方法、系统及存储介质 | |
CN113342964B (zh) | 一种基于移动业务的推荐类型确定方法及系统 | |
CN112949410B (zh) | 人工智能理科文字题解题方法、装置、设备及存储介质 | |
CN115309865A (zh) | 基于双塔模型的交互式检索方法、装置、设备及存储介质 | |
CN110347813B (zh) | 一种语料处理方法、装置、存储介质及电子设备 | |
CN114611529A (zh) | 意图识别方法和装置、电子设备及存储介质 | |
CN113392190A (zh) | 一种文本识别方法、相关设备及装置 |
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 |