CN111108501A - 一种基于上下文的多轮对话方法、装置、设备及存储介质 - Google Patents
一种基于上下文的多轮对话方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN111108501A CN111108501A CN201980003203.7A CN201980003203A CN111108501A CN 111108501 A CN111108501 A CN 111108501A CN 201980003203 A CN201980003203 A CN 201980003203A CN 111108501 A CN111108501 A CN 111108501A
- Authority
- CN
- China
- Prior art keywords
- word
- candidate answer
- historical
- vector
- historical dialogue
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 66
- 239000013598 vector Substances 0.000 claims abstract description 340
- 238000004364 calculation method Methods 0.000 claims abstract description 35
- 238000011176 pooling Methods 0.000 claims description 85
- 238000000605 extraction Methods 0.000 claims description 38
- 230000015654 memory Effects 0.000 claims description 17
- 230000011218 segmentation Effects 0.000 claims description 16
- 238000012549 training Methods 0.000 claims description 12
- 238000004590 computer program Methods 0.000 claims description 9
- 230000006870 function Effects 0.000 claims description 6
- 230000004913 activation Effects 0.000 claims description 5
- 238000010586 diagram Methods 0.000 description 11
- 238000003062 neural network model Methods 0.000 description 6
- 230000002457 bidirectional effect Effects 0.000 description 5
- 239000000126 substance Substances 0.000 description 5
- 238000013459 approach Methods 0.000 description 4
- 238000013528 artificial neural network Methods 0.000 description 4
- 230000008569 process Effects 0.000 description 4
- 230000004044 response Effects 0.000 description 3
- 238000003058 natural language processing Methods 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 230000006403 short-term memory Effects 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 101000928335 Homo sapiens Ankyrin repeat and KH domain-containing protein 1 Proteins 0.000 description 1
- 101000701393 Homo sapiens Serine/threonine-protein kinase 26 Proteins 0.000 description 1
- 102100030617 Serine/threonine-protein kinase 26 Human genes 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 230000000873 masking effect Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000006386 memory function Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000003786 synthesis reaction Methods 0.000 description 1
- 230000017105 transposition Effects 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
- G06F40/00—Handling natural language data
- G06F40/30—Semantic analysis
- G06F40/35—Discourse or dialogue representation
-
- 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/004—Artificial life, i.e. computing arrangements simulating life
- G06N3/006—Artificial life, i.e. computing arrangements simulating life based on simulated virtual individual or collective life forms, e.g. social simulations or particle swarm optimisation [PSO]
-
- 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/044—Recurrent networks, e.g. Hopfield 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/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/048—Activation functions
-
- 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/049—Temporal neural networks, e.g. delay elements, oscillating neurons or pulsed inputs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N5/00—Computing arrangements using knowledge-based models
- G06N5/04—Inference or reasoning models
- G06N5/041—Abduction
-
- 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)
- Artificial Intelligence (AREA)
- General Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- General Engineering & Computer Science (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Mathematical Physics (AREA)
- Data Mining & Analysis (AREA)
- Software Systems (AREA)
- Computing Systems (AREA)
- Molecular Biology (AREA)
- Biophysics (AREA)
- Biomedical Technology (AREA)
- Evolutionary Computation (AREA)
- Life Sciences & Earth Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Human Computer Interaction (AREA)
- Databases & Information Systems (AREA)
- Machine Translation (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明实施例公开了一种基于上下文的多轮对话方法、装置、设备及存储介质。所述方法包括:获取待匹配历史对话信息;根据所述待匹配历史对话信息进行词特征提取,得到历史对话词特征向量;获取候选回答信息;根据所述候选回答信息进行词特征提取,得到候选回答词特征向量;根据所述历史对话词特征向量、所述候选回答词特征向量进行局部语义关系匹配,得到历史对话局部匹配向量、候选回答局部匹配向量;根据所述历史对话局部匹配向量、所述候选回答局部匹配向量进行匹配概率计算,得到候选回答匹配概率;根据所述候选回答信息、所述候选回答匹配概率确定匹配回答信息。本发明实现了上下文与回答的充分匹配,提升了上下文与回答匹配的准确性。
Description
技术领域
本发明涉及自然语言处理技术领域,尤其涉及一种基于上下文的多轮对话方法、装置、设备及存储介质。
背景技术
建立能与人类交互的智能人机对话系统是人工智能领域的一个重要研究方向。对话系统可粗略分为单轮对话系统和多轮对话系统。单轮对话通常不涉及到上下文信息,系统没有记忆功能,轮次与轮次之间是独立的。多轮对话则需要考虑到上下文信息,相比单轮对话,实现多轮对话系统更具有挑战性。
目前,多轮对话系统建模主要有生成和检索式两种方法。基于生成的方法通常是用大量的语料学习出一个包含编码器-解码器框架的回答生成模型;基于检索的方法是指从候选库中为多轮上下文选出最佳的回答。典型的选择回答的方法又可以分为两种:基于层次结构的方法和基于序列的方法。基于序列的方法通常将上下文连成一个长序列,基于层次的方法分别对每句话建模,再显示地对句子之间的交互进行建模。然而现有的模型在上下文和回答序列具有不同特点时,通常存在上下文与回答匹配不充分的问题,从而影响多轮对话选出最佳的回答。因此,开发一种在上下文和回答序列具有不同特点时实现上下文与回答充分匹配的多轮对话方法显得尤为重要。
发明内容
基于此,有必要针对上述问题,提出了一种基于上下文的多轮对话方法、装置、设备及存储介质,用于解决现有技术中在上下文和回答序列具有不同特点时上下文与回答匹配不充分的技术问题。
第一方面,本发明提出了一种基于上下文的多轮对话方法,所述方法包括:
获取待匹配历史对话信息;
根据所述待匹配历史对话信息进行词特征提取,得到历史对话词特征向量;
获取候选回答信息;
根据所述候选回答信息进行词特征提取,得到候选回答词特征向量;
根据所述历史对话词特征向量、所述候选回答词特征向量进行局部语义关系匹配,得到历史对话局部匹配向量、候选回答局部匹配向量;
根据所述历史对话局部匹配向量、所述候选回答局部匹配向量进行匹配概率计算,得到候选回答匹配概率;
根据所述候选回答信息、所述候选回答匹配概率确定匹配回答信息。
第二方面,本发明还提出了一种基于上下文的多轮对话装置,所述装置包括:
历史对话词特征提取模块,用于获取待匹配历史对话信息,所述待匹配历史对话信息中包含多轮对话,根据所述待匹配历史对话信息进行词特征提取,得到历史对话词特征向量;
候选回答特征提取模块,用于获取候选回答信息,根据所述候选回答信息进行词特征提取,得到候选回答词特征向量;
局部语义关系匹配模块,用于根据所述历史对话词特征向量、所述候选回答词特征向量进行局部语义关系匹配,得到历史对话局部匹配向量、候选回答局部匹配向量;
匹配概率计算模块,用于根据所述历史对话局部匹配向量、所述候选回答局部匹配向量进行匹配概率计算,得到候选回答匹配概率;
匹配回答确定模块,用于根据所述候选回答信息、所述候选回答匹配概率确定匹配回答信息。
第三方面,本发明还提出了一种存储介质,存储有计算机指令程序,所述计算机指令程序被处理器执行时,使得所述处理器执行第一方面任一项所述方法的步骤。
第四方面,本发明还提出了一种计算机设备,包括至少一个存储器、至少一个处理器,所述存储器存储有计算机指令程序,所述计算机指令程序被所述处理器执行时,使得所述处理器执行第一方面任一项所述方法的步骤。
综上所述,本发明的基于上下文的多轮对话方法通过对所述待匹配历史对话信息进行词特征提取得到历史对话词特征向量,根据所述候选回答信息进行词特征提取得到候选回答词特征向量,实现了根据上下文的特点提取出历史对话词特征向量和根据回答序列的特点提取出候选回答词特征向量,实现了更好的捕捉了上下文的双向关系及上下文关联信息;再根据所述历史对话词特征向量、所述候选回答词特征向量进行局部语义关系匹配得到历史对话局部匹配向量、候选回答局部匹配向量,实现了上下文与回答的充分匹配。因此,本发明实现了上下文与回答的充分匹配,提升了上下文与回答匹配的准确性。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
其中:
图1为一个实施例中基于上下文的多轮对话方法的流程图;
图2为图1的基于上下文的多轮对话方法的确定待预测历史对话词例的流程图;
图3为图1的基于上下文的多轮对话方法的确定标准历史对话词例的流程图;
图4为图1的基于上下文的多轮对话方法的确定待预测候选回答词例的流程图;
图5为图1的基于上下文的多轮对话方法的确定标准候选回答词例的流程图;
图6为图1的基于上下文的多轮对话方法的匹配局部语义关系的流程图;
图7为图1的基于上下文的多轮对话方法的计算匹配概率的流程图;
图8为一个实施例中基于上下文的多轮对话装置的结构框图;
图9为一个实施例中计算机设备的结构框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
如图1所示,在一个实施例中,提出了一种基于上下文的多轮对话方法,所述方法包括:
S102、获取待匹配历史对话信息;
具体而言,从文本输入设备或数据库或网络中获取历史对话信息,将所述历史对话信息作为所述待匹配历史对话信息,以便基于所述待匹配历史对话信息的上下文检索并确定匹配回答信息,以实现智能的多轮对话。比如,获取历史对话信息包括多轮对话“甲:hi乙:hello甲:may I help you”,在此举例不做具体限定。
S104、根据所述待匹配历史对话信息进行词特征提取,得到历史对话词特征向量;
其中,首先按分词规则对所述待匹配历史对话信息进行分词,由分词得到的词例组成历史对话词例序列,从所述历史对话词例序列中进行提取得到待预测历史对话词例,然后对所述待预测历史对话词例的整个序列中的每个词例进行词特征提取,得到所述历史对话词特征向量。
所述词例是指标记,可以认为是语义处理中的一个有意义的单元,比如,token,在此举例不做具体限定。分词是指计算机科学中将字符序列转换为标记(token)序列的过程,从输入字符流中生成标记的过程叫作标记化(tokenization)。
所述词特征的提取是在读取所述待预测历史对话词例的整个序列后,直接提取具有语境意义的词特征向量,捕捉所述待预测历史对话词中上下文的双向关系和上下文关联信息。
S106、获取候选回答信息;
具体而言,从候选回答数据库中获取回答信息,将所述回答信息作为所述候选回答信息,以便基于所述待匹配历史对话信息的上下文确定每个所述候选回答信息的匹配概率。
可选的,所述候选回答信息包括一句完整的对话信息。比如,从候选回答数据库中获取回答信息“I would like to check in”,在此举例不做具体限定。
S108、根据所述候选回答信息进行词特征提取,得到候选回答词特征向量;
其中,首先对所述候选回答信息按分词规则进行分词,将分词得到的所有词例组成候选回答词例序列,把候选回答词例序列作为待预测候选回答词例,然后对所述待预测候选回答词例的整个序列中的每个词例进行词特征提取,得到所述候选回答词特征向量。
可以理解的是,对所述待预测历史对话词例的整个序列中的每个词例进行词特征提取和对所述待预测候选回答词例的整个序列中的每个词例进行词特征提取的方法或相同的词特征提取神经网络模型。
S110、根据所述历史对话词特征向量、所述候选回答词特征向量进行局部语义关系匹配,得到历史对话局部匹配向量、候选回答局部匹配向量;
具体而言,采用交叉注意力机制对齐所述历史对话词特征向量、所述候选回答词特征向量的词例,在词例级别计算语义关系,在收集局部匹配信息,根据局部匹配信息得到历史对话局部匹配向量、候选回答局部匹配向量,从而使所述历史对话词特征向量与所述候选回答词特征向量建立了局部语义关系。
S112、根据所述历史对话局部匹配向量、所述候选回答局部匹配向量进行匹配概率计算,得到候选回答匹配概率;
可选的,使用BiLSTM(Bi-directional Long Short-Term Memory的缩写,是由前向LSTM与后向LSTM组合而成,在自然语言处理任务中都常被用来建模上下文信息)读取所述历史对话局部匹配向量、所述候选回答局部匹配向量进行合成,再将BiLSTM输出的隐向量通过最大池化、平均池化操作,接着将池化后的结果合并在一起获取固定长度的向量,将该向量馈入多层感知器进行分类,通过以端到端的方式最小化交叉熵损失来训练得到匹配概率计算模型。
LSTM是指Long Short-Term Memory,它是RNN(Recurrent Neural Network)的一种,LSTM由于其设计的特点,非常适合用于对时序数据的建模,如文本数据。
可选的,重复步骤S106至步骤S112直至针对所有候选回答信息都计算出了候选回答匹配概率。
S114、根据所述候选回答信息、所述候选回答匹配概率确定匹配回答信息。
可选的,从所有所述候选回答匹配概率中选择最高概率;当最高概率对应一个所述候选回答信息时,则将最高概率对应的所述候选回答信息作为匹配回答信息;当最高概率对应至少两个所述候选回答信息时则获取对话类型,当所述对话类型为任务型对话时则最高概率对应的所有所述候选回答信息作为匹配回答信息,当所述对话类型为聊天型对话时则将计算最高概率对应的所有所述候选回答信息中词例长度最长的作为匹配回答信息。
本实施例的基于上下文的多轮对话方法通过对所述待匹配历史对话信息进行词特征提取得到历史对话词特征向量,根据所述候选回答信息进行词特征提取得到候选回答词特征向量,实现了根据上下文的特点提取出历史对话词特征向量和根据回答序列的特点提取出候选回答词特征向量,实现了更好的捕捉了上下文的双向关系及上下文关联信息;再根据所述历史对话词特征向量、所述候选回答词特征向量进行局部语义关系匹配得到历史对话局部匹配向量、候选回答局部匹配向量,实现了上下文与回答的充分匹配。
在一个实施例中,所述获取待匹配历史对话信息,包括:获取历史对话信息;按预设词长度从所述历史对话信息中进行往前获取得到所述待匹配历史对话信息。具体而言,从文本输入设备或数据库或网络中获取历史对话信息,再从所述历史对话信息中获取最后一部分作为所述待匹配历史对话信息,所述待匹配历史对话信息的长度与所述预设词长度相同。因越早的对话信息对选择回答的重要性越小,越新的对话信息对选择回答的重要性越大,通过从所述历史对话信息中获取最后一部分作为所述待匹配历史对话信息,在提高匹配效率的同时确保了确定匹配回答信息的准确度。
所述预设词长度是指预设的词的数量。
在一个实施例中,所述根据所述待匹配历史对话信息进行词特征提取,得到历史对话词特征向量,包括:将所述待匹配历史对话信息进行词例序列提取,得到待预测历史对话词例;将所述待预测历史对话词例的整个序列中的每个词例输入预训练模型进行预测,得到所述历史对话词特征向量。具体而言,将所述待匹配历史对话信息进行分词得到词例,将所有词例组成历史对话词例序列,从所述历史对话词例序列中进行提取得到待预测历史对话词例,然后将所述待预测历史对话词例的整个序列中的每个词例输入词特征提取神经网络模型进行词特征提取,得到所述历史对话词特征向量。
所述词特征提取神经网络模型采用transformer作为算法主要框架,使用遮挡语言预测和下一句预测进行预训练,遮挡语言预测和下一句预测是无监督预测任务。
所述遮挡语言预测是指随机掩盖部分词例,然后对被掩盖的词例进行预测。在训练的过程中,随机地掩盖每个词例序列中15%的词例,并不是像其他模型那样对每一个词例都进行预测,从输入中随机地掩盖一些词例,其目标是基于其上下文来预测被掩盖词例的原始词汇,从而使得可以预训练深度双向的Transformer模型。Transformer编码器不知道它将被要求预测哪些单词,或者哪些已经被随机词例替换,因此它必须对每个输入词例保持分布式的上下文表示。此外,在执行掩盖词例序列中15%的词例操作时,并不是始终用[MASK]标记替换要预测的词,而是在80%的情况下用[MASK]替换要预测的词,10%的情况下用一个随机的词替换要预测的词,10%的情况下保持该词不变,由于随机替换在所有词例中只发生1.5%,所以并不会影响模型对于语言的理解。
所述下一句预测,很多句子级别的任务如自动问答(QA)和自然语言推理(NLI)都需要理解两个句子之间的关系,譬如上述的所述遮挡语言预测的任务中,经过第一步的处理,15%的词例被遮盖。那么下一句预测任务的目标就是训练一个理解句子关系的模型,具体来说就是训练一个下一句预测的二分类任务,首先为每个训练前的例子选择两个句子(即句子A和句子B)构成语句对,其中50%的情况下B是真的在A后面的下一个句子,即A与B是连续的;50%的情况是B来自语料库随机句子,即A与B是不连续的。。然后让Transformer模型来识别这些语句对中哪些语句对是连续的及哪些语句对子不连续。
如图2所示,在一个实施例中,所述将所述待匹配历史对话信息进行词例提取,得到待预测历史对话词例,包括:
S202、将所述待匹配历史对话信息用分句符及分轮符进行连接,得到历史对话序列;
具体而言,所述待匹配历史对话信息的每句的末尾嵌入一个分句符,在所述待匹配历史对话信息的每句的末尾嵌入一个分轮符,把加了分句符和分轮符的所述待匹配历史对话信息连接得到作为历史对话序列;其中,当一句话的末尾需要同时嵌入分句符和分轮符时,则把分轮符放在分句符之后。
比如,分句符设为eou(end-of-utterance的缩写),分轮符设为eot(end-of-turn的缩写),历史对话信息包括多轮对话“甲:hi乙:hello甲:may I help you”,则得到所述历史对话序列为“hi<eou><eot>hello<eou><eot>may I help you<eou><eot>”,在此举例不做具体限定。
S204、将所述历史对话序列进行分词,得到待处理历史对话词例;
具体而言,将所述历史对话序列进行分词,将所有词例组成历史对话词例序列,将所述历史对话词例序列作为待处理历史对话词例。
可以理解的是,在对所述历史对话序列进行分词时,可以把步骤S202中加入的每个<eou>当成一个词例、每个<eot>当成一个词例。
S206、按预设历史对话长度从所述待处理历史对话词例中进行提取,得到标准历史对话词例;
具体而言,从所述待处理历史对话词例中获取最后一部分作为所述标准历史对话词例,所述标准历史对话词例的长度与所述预设历史对话长度的数值相同。
所述预设历史对话长度是指词例的数量,在此举例不做具体限定。
比如,所述历史对话序列为“hi<eou><eot>hello<eou><eot>may I help you<eou><eot>”,预设历史对话长度设为10,则所述标准历史对话词例为“<eot>hello<eou><eot>may I help you<eou><eot>”,在此举例不做具体限定。
S208、在所述标准历史对话词例的头端插入分类符及末端插入分隔符,得到所述待预测历史对话词例。
具体而言,在所述标准历史对话词例的头端插入一个分类符,在所述标准历史对话词例的末端插入一个分隔符,将插入分类符和分隔符后的所述标准历史对话词例作为所述待预测历史对话词例。
所述分类符包括[CLS],所述分隔符包括[SEP],在此举例不做具体限定。
比如,所述标准历史对话词例为“<eot>hello<eou><eot>may I help you<eou><eot>”,则所述待预测历史对话词例为“[CLS]<eot>hello<eou><eot>may I help you<eou><eot>[SEP]”,在此举例不做具体限定。
可以理解的是,可以把步骤S208中加入的每个分类符当成一个词例、每个分隔符当成一个词例。
可选的,把所述预设历史对话长度的数值加上加入的所述分类符和所述分隔符的词例长度作为待预测历史对话词例的最大长度。
如图3所示,在一个实施例中,所述按预设历史对话长度从所述待处理历史对话词例中进行提取,得到标准历史对话词例,包括:
S302、获取所述预设历史对话长度;
所述预设历史对话长度可以是用户触发自主输入的,也可以是基于上下文的多轮对话方法设置的。
S304、当所述待处理历史对话词例的词例数量大于所述预设历史对话长度时,则从所述待处理历史对话词例的头端开始删除词例,直至所述待处理历史对话词例的词例数量等于所述预设历史对话长度,将所述待处理历史对话词例留下的词例作为所述标准历史对话词例;
在多轮对话中的待匹配历史对话信息,位于对话末端的词比位于对话前端的词更重要,对回答起到的影响更大;因待匹配历史对话信息可能比较长,从而使待处理历史对话词例也比较长,截取部分提高了匹配效率。
S306、当所述待处理历史对话词例的词例数量小于或等于所述预设历史对话长度时,则将所述待处理历史对话词例作为所述标准历史对话词例。
本实施例通过取待处理历史对话词例最重要的部分作为标准历史对话词例,在提高匹配效率的同时确保了确定匹配回答信息的准确度。
在一个实施例中,所述根据所述候选回答信息进行词特征提取,得到候选回答词特征向量,包括:将所述候选回答信息进行词例提取,得到待预测候选回答词例;将所述待预测候选回答词例的整个序列中的每个词例输入预训练模型进行预测,得到所述候选回答词特征向量。
其中,首先对所述候选回答信息进行分词,将所有词例组成候选回答词例序列,从所述候选回答词例序列进行提取得到待预测候选回答词例,然后将所述待预测候选回答词例的整个序列中的每个词例输入词特征提取神经网络模型进行词特征提取,得到所述候选回答词特征向量。具体而言,提取所述候选回答词特征向量的词特征提取神经网络模型与提取所述历史对话词特征向量的词特征提取神经网络模型结构相同。
如图4所示,在一个实施例中,所述将所述候选回答信息进行词例提取,得到待预测候选回答词例,包括:
S402、将所述候选回答信息进行分词,得到待处理候选回答词例;
具体而言,将所述候选回答信息进行分词,将所有词例组成候选回答词例序列,将所述候选回答词例序列作为待处理候选回答词例。
S404、按预设候选回答长度从待处理候选回答词例中进行提取,得到标准候选回答词例;
具体而言,从所述待处理候选回答词例中获取最开始一部分作为所述标准候选回答词例,所述标准候选回答词例的长度与所述预设候选回答长度的数值相同。
所述预设候选回答长度是指词例的数量,在此举例不做具体限定。
比如,待处理候选回答词例为“I would like to check in”,所述预设候选回答长度为4,则所述标准候选回答词例为“I would like to”,在此举例不做具体限定。
S406、在所述标准候选回答词例的头端插入分类符及末端插入分隔符,得到所述待预测候选回答词例。
具体而言,在所述标准候选回答词例的头端插入一个分类符,在所述标准候选回答词例的末端插入一个分隔符,将插入分类符和分隔符后的所述标准候选回答词例作为所述待预测候选回答词例。
所述分类符包括[CLS],所述分隔符包括[SEP],在此举例不做具体限定。
比如,待处理候选回答词例为“I would like to”,则所述待预测候选回答词例为“[CLS]I would like to[SEP]”,在此举例不做具体限定。
可以理解的是,可以把步骤S406中加入的每个分类符当成一个词例、每个分隔符当成一个词例。
可选的,把所述预设候选回答长度的数值加上加入的所述分类符和所述分隔符的词例长度作为待预测候选回答词例的最大长度。
如图5所示,在一个实施例中,所述按预设候选回答长度从待处理候选回答词例中进行提取,得到标准候选回答词例,包括:
S502、获取所述预设候选回答长度;
所述预设候选回答长度可以是用户触发自主输入的,也可以是基于上下文的多轮对话方法设置的。
S504、当所述待处理候选回答词例的词例数量大于所述预设候选回答长度时,则从所述待处理候选回答词例的末端开始删除词例,直至所述待处理候选回答词例的词例数量等于所述预设候选回答长度,将所述待处理候选回答词例留下的词例作为所述标准候选回答词例;
在多轮对话中的待处理候选回答词例,位于候选回答词例前端的词比位于对话末端的词更重要,对回答起到的影响更大;因所述候选回答信息可能比较长,从而使所述待处理候选回答词例也比较长,截取部分提高了匹配效率。
S506、当所述待处理候选回答词例的词例数量小于或等于所述预设候选回答长度时,则将所述待处理候选回答词例作为所述标准候选回答词例。
本实施例通过取待处理候选回答词例最重要的部分作为标准候选回答词例,在提高匹配效率的同时确保了确定匹配回答信息的准确度。
如图6所示,在一个实施例中,所述根据所述历史对话词特征向量、所述候选回答词特征向量进行局部语义关系匹配,得到历史对话局部匹配向量、候选回答局部匹配向量,包括:
S602、根据所述历史对话词特征向量、所述候选回答词特征向量进行注意力权重计算,得到注意力权重;
注意力权重eij的计算公式如下:
S604、将所述历史对话词特征向量与所述候选回答词特征向量以词例为单元进行对齐;
通过以下公式,对所述历史对话词特征向量与所述候选回答词特征向量以词例为单元进行对齐。
其中,是在候选回答中的相关语义,rj d是rj s在历史对话中的相关语义,exp是指数函数,n是指所述预测候选回答词例中词例的总数,m是指所述待预测历史对话词例中词例的总数,是所述待预测历史对话词例中第i个词例对应的所述历史对话词特征向量,rj s是所述预测候选回答词例中第j个词例对应的所述候选回答词特征向量,eij是注意力权重。
S606、将对齐后的所述历史对话词特征向量及所述候选回答词特征向量以词例为单元进行局部语义关系匹配,得到所述历史对话局部匹配向量、所述候选回答局部匹配向量。
其中,是指向量乘积,F()是指带Relu激活函数的前向神经网络层,是所述待预测历史对话词例中第i个词例对应的所述历史对话词特征向量,是在候选回答中的相关语义,rj s是所述预测候选回答词例中第j个词例对应的所述候选回答词特征向量,rj d是rj s在历史对话中的相关语义。
如图7所示,在一个实施例中,所述根据所述历史对话局部匹配向量、所述候选回答局部匹配向量进行匹配概率计算,得到候选回答匹配概率,包括:
S702、将所述历史对话局部匹配向量输入BiLSTM层进行关键向量辨别,得到历史对话隐向量;
S704、将所述候选回答局部匹配向量输入BiLSTM层进行关键向量辨别,得到候选回答隐向量;
所述候选回答隐向量ri v通过如下公式计算:
S706、将所述历史对话隐向量、所述候选回答隐向量分布进行最大池化,得到历史对话最大池化向量、候选回答最大池化向量;
S708、将所述历史对话隐向量、所述候选回答隐向量分布进行平均池化,得到历史对话平均池化向量、候选回答平均池化向量;
S710、根据所述历史对话最大池化向量、所述历史对话平均池化向量、所述候选回答最大池化向量、所述候选回答平均池化向量进行匹配概率计算,得到所述候选回答匹配概率。
在一个实施例中,所述根据所述历史对话最大池化向量、所述历史对话平均池化向量、所述候选回答最大池化向量、所述候选回答平均池化向量进行匹配概率计算,得到所述候选回答匹配概率,包括:将所述候选回答最大池化向量、所述候选回答平均池化向量、所述历史对话最大池化向量、所述历史对话平均池化向量依次进行拼接,得到待分类向量;将所述待分类向量输入多层感知器进行匹配概率计算,得到所述候选回答匹配概率。
具体而言,将所述历史对话最大池化向量所述历史对话平均池化向量所述候选回答最大池化向量所述候选回答平均池化向量依次进行拼接,得到待分类向量再将所述待分类向量输入多层感知器,通过以端到端的方式最小化交叉熵损失来训练得到匹配概率计算模型y。
其中,MLP()是指多层感知器。
在一个实施例中,所述多层感知器包括隐藏层、tanh激活函数、softmax输出层。
如图8所示,在一个实施例中,提出了一种基于上下文的多轮对话装置,所述装置包括:
历史对话词特征提取模块802,用于获取待匹配历史对话信息,所述待匹配历史对话信息中包含多轮对话,根据所述待匹配历史对话信息进行词特征提取,得到历史对话词特征向量;
候选回答特征提取模块804,用于获取候选回答信息,根据所述候选回答信息进行词特征提取,得到候选回答词特征向量;
局部语义关系匹配模块806,用于根据所述历史对话词特征向量、所述候选回答词特征向量进行局部语义关系匹配,得到历史对话局部匹配向量、候选回答局部匹配向量;
匹配概率计算模块808,用于根据所述历史对话局部匹配向量、所述候选回答局部匹配向量进行匹配概率计算,得到候选回答匹配概率;
匹配回答确定模块810,用于根据所述候选回答信息、所述候选回答匹配概率确定匹配回答信息。
本实施例的基于上下文的多轮对话装置通过对所述待匹配历史对话信息进行词特征提取得到历史对话词特征向量,根据所述候选回答信息进行词特征提取得到候选回答词特征向量,实现了根据上下文的特点提取出历史对话词特征向量和根据回答序列的特点提取出候选回答词特征向量,实现了更好的捕捉了上下文的双向关系及上下文关联信息;再根据所述历史对话词特征向量、所述候选回答词特征向量进行局部语义关系匹配得到历史对话局部匹配向量、候选回答局部匹配向量,实现了上下文与回答的充分匹配。
图9示出了一个实施例中计算机设备的内部结构图。该计算机设备具体可以是终端,也可以是服务器。如图9所示,该计算机设备包括通过系统总线连接的处理器、存储器和网络接口。其中,存储器包括非易失性存储介质和内存储器。该计算机设备的非易失性存储介质存储有操作系统,还可存储有计算机程序,该计算机程序被处理器执行时,可使得处理器实现基于上下文的多轮对话方法。该内存储器中也可储存有计算机程序,该计算机程序被处理器执行时,可使得处理器执行基于上下文的多轮对话方法。本领域技术人员可以理解,图9中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,本申请提供的一种基于上下文的多轮对话方法可以实现为一种计算机程序的形式,计算机程序可在如图9所示的计算机设备上运行。计算机设备的存储器中可存储组成的一种基于上下文的多轮对话装置的各个程序模板。比如,历史对话词特征提取模块802、候选回答特征提取模块804、局部语义关系匹配模块806、匹配概率计算模块808、匹配回答确定模块810。
在一个实施例中,提出了一种存储介质,存储有计算机指令程序,所述计算机指令程序被处理器执行时,使得所述处理器执行时实现如下方法步骤:
获取待匹配历史对话信息;
根据所述待匹配历史对话信息进行词特征提取,得到历史对话词特征向量;
获取候选回答信息;
根据所述候选回答信息进行词特征提取,得到候选回答词特征向量;
根据所述历史对话词特征向量、所述候选回答词特征向量进行局部语义关系匹配,得到历史对话局部匹配向量、候选回答局部匹配向量;
根据所述历史对话局部匹配向量、所述候选回答局部匹配向量进行匹配概率计算,得到候选回答匹配概率;
根据所述候选回答信息、所述候选回答匹配概率确定匹配回答信息。
本实施例的方法执行时通过对所述待匹配历史对话信息进行词特征提取得到历史对话词特征向量,根据所述候选回答信息进行词特征提取得到候选回答词特征向量,实现了根据上下文的特点提取出历史对话词特征向量和根据回答序列的特点提取出候选回答词特征向量,实现了更好的捕捉了上下文的双向关系及上下文关联信息;再根据所述历史对话词特征向量、所述候选回答词特征向量进行局部语义关系匹配得到历史对话局部匹配向量、候选回答局部匹配向量,实现了上下文与回答的充分匹配。
在一个实施例中,所述获取待匹配历史对话信息,包括:获取历史对话信息;按预设词长度从所述历史对话信息中进行往前获取得到所述待匹配历史对话信息。
在一个实施例中,所述根据所述待匹配历史对话信息进行词特征提取,得到历史对话词特征向量,包括:将所述待匹配历史对话信息进行词例序列提取,得到待预测历史对话词例;将所述待预测历史对话词例的整个序列中的每个词例输入预训练模型进行预测,得到所述历史对话词特征向量。
在一个实施例中,所述将所述待匹配历史对话信息进行词例提取,得到待预测历史对话词例,包括:将所述待匹配历史对话信息用分句符及分轮符进行连接,得到历史对话序列;将所述历史对话序列进行分词,得到待处理历史对话词例;按预设历史对话长度从所述待处理历史对话词例中进行提取,得到标准历史对话词例;在所述标准历史对话词例的头端插入分类符及末端插入分隔符,得到所述待预测历史对话词例。
在一个实施例中,所述按预设历史对话长度从所述待处理历史对话词例中进行提取,得到标准历史对话词例,包括:获取所述预设历史对话长度;当所述待处理历史对话词例的词例数量大于所述预设历史对话长度时,则从所述待处理历史对话词例的头端开始删除词例,直至所述待处理历史对话词例的词例数量等于所述预设历史对话长度,将所述待处理历史对话词例留下的词例作为所述标准历史对话词例;当所述待处理历史对话词例的词例数量小于或等于所述预设历史对话长度时,则将所述待处理历史对话词例作为所述标准历史对话词例。
在一个实施例中,所述根据所述候选回答信息进行词特征提取,得到候选回答词特征向量,包括:将所述候选回答信息进行词例提取,得到待预测候选回答词例;将所述待预测候选回答词例的整个序列中的每个词例输入预训练模型进行预测,得到所述候选回答词特征向量。
在一个实施例中,所述将所述候选回答信息进行词例提取,得到待预测候选回答词例,包括:将所述候选回答信息进行分词,得到待处理候选回答词例;按预设候选回答长度从待处理候选回答词例中进行提取,得到标准候选回答词例;在所述标准候选回答词例的头端插入分类符及末端插入分隔符,得到所述待预测候选回答词例。
在一个实施例中,所述按预设候选回答长度从待处理候选回答词例中进行提取,得到标准候选回答词例,包括:获取所述预设候选回答长度;当所述待处理候选回答词例的词例数量大于所述预设候选回答长度时,则从所述待处理候选回答词例的末端开始删除词例,直至所述待处理候选回答词例的词例数量等于所述预设候选回答长度,将所述待处理候选回答词例留下的词例作为所述标准候选回答词例;当所述待处理候选回答词例的词例数量小于或等于所述预设候选回答长度时,则将所述待处理候选回答词例作为所述标准候选回答词例。
在一个实施例中,所述根据所述历史对话词特征向量、所述候选回答词特征向量进行局部语义关系匹配,得到历史对话局部匹配向量、候选回答局部匹配向量,包括:根据所述历史对话词特征向量、所述候选回答词特征向量进行注意力权重计算,得到注意力权重;将所述历史对话词特征向量与所述候选回答词特征向量以词例为单元进行对齐;将对齐后的所述历史对话词特征向量及所述候选回答词特征向量以词例为单元进行局部语义关系匹配,得到所述历史对话局部匹配向量、所述候选回答局部匹配向量。
在一个实施例中,所述根据所述历史对话局部匹配向量、所述候选回答局部匹配向量进行匹配概率计算,得到候选回答匹配概率,包括:将所述历史对话局部匹配向量输入BiLSTM层进行关键向量辨别,得到历史对话隐向量;将所述候选回答局部匹配向量输入BiLSTM层进行关键向量辨别,得到候选回答隐向量;将所述历史对话隐向量、所述候选回答隐向量分布进行最大池化,得到历史对话最大池化向量、候选回答最大池化向量;将所述历史对话隐向量、所述候选回答隐向量分布进行平均池化,得到历史对话平均池化向量、候选回答平均池化向量;根据所述历史对话最大池化向量、所述历史对话平均池化向量、所述候选回答最大池化向量、所述候选回答平均池化向量进行匹配概率计算,得到所述候选回答匹配概率。
在一个实施例中,所述根据所述历史对话最大池化向量、所述历史对话平均池化向量、所述候选回答最大池化向量、所述候选回答平均池化向量进行匹配概率计算,得到所述候选回答匹配概率,包括:将所述候选回答最大池化向量、所述候选回答平均池化向量、所述历史对话最大池化向量、所述历史对话平均池化向量依次进行拼接,得到待分类向量;将所述待分类向量输入多层感知器进行匹配概率计算,得到所述候选回答匹配概率。
在一个实施例中,所述多层感知器包括隐藏层、tanh激活函数、softmax输出层。
在一个实施例中,提出了一种计算机设备,包括至少一个存储器、至少一个处理器,所述存储器存储有计算机指令程序,所述计算机指令程序被所述处理器执行时,使得所述处理器执行时实现如下方法步骤:
获取待匹配历史对话信息;
根据所述待匹配历史对话信息进行词特征提取,得到历史对话词特征向量;
获取候选回答信息;
根据所述候选回答信息进行词特征提取,得到候选回答词特征向量;
根据所述历史对话词特征向量、所述候选回答词特征向量进行局部语义关系匹配,得到历史对话局部匹配向量、候选回答局部匹配向量;
根据所述历史对话局部匹配向量、所述候选回答局部匹配向量进行匹配概率计算,得到候选回答匹配概率;
根据所述候选回答信息、所述候选回答匹配概率确定匹配回答信息。
本实施例的方法执行时通过对所述待匹配历史对话信息进行词特征提取得到历史对话词特征向量,根据所述候选回答信息进行词特征提取得到候选回答词特征向量,实现了根据上下文的特点提取出历史对话词特征向量和根据回答序列的特点提取出候选回答词特征向量,实现了更好的捕捉了上下文的双向关系及上下文关联信息;再根据所述历史对话词特征向量、所述候选回答词特征向量进行局部语义关系匹配得到历史对话局部匹配向量、候选回答局部匹配向量,实现了上下文与回答的充分匹配。
在一个实施例中,所述获取待匹配历史对话信息,包括:获取历史对话信息;按预设词长度从所述历史对话信息中进行往前获取得到所述待匹配历史对话信息。
在一个实施例中,所述根据所述待匹配历史对话信息进行词特征提取,得到历史对话词特征向量,包括:将所述待匹配历史对话信息进行词例序列提取,得到待预测历史对话词例;将所述待预测历史对话词例的整个序列中的每个词例输入预训练模型进行预测,得到所述历史对话词特征向量。
在一个实施例中,所述将所述待匹配历史对话信息进行词例提取,得到待预测历史对话词例,包括:将所述待匹配历史对话信息用分句符及分轮符进行连接,得到历史对话序列;将所述历史对话序列进行分词,得到待处理历史对话词例;按预设历史对话长度从所述待处理历史对话词例中进行提取,得到标准历史对话词例;在所述标准历史对话词例的头端插入分类符及末端插入分隔符,得到所述待预测历史对话词例。
在一个实施例中,所述按预设历史对话长度从所述待处理历史对话词例中进行提取,得到标准历史对话词例,包括:获取所述预设历史对话长度;当所述待处理历史对话词例的词例数量大于所述预设历史对话长度时,则从所述待处理历史对话词例的头端开始删除词例,直至所述待处理历史对话词例的词例数量等于所述预设历史对话长度,将所述待处理历史对话词例留下的词例作为所述标准历史对话词例;当所述待处理历史对话词例的词例数量小于或等于所述预设历史对话长度时,则将所述待处理历史对话词例作为所述标准历史对话词例。
在一个实施例中,所述根据所述候选回答信息进行词特征提取,得到候选回答词特征向量,包括:将所述候选回答信息进行词例提取,得到待预测候选回答词例;将所述待预测候选回答词例的整个序列中的每个词例输入预训练模型进行预测,得到所述候选回答词特征向量。
在一个实施例中,所述将所述候选回答信息进行词例提取,得到待预测候选回答词例,包括:将所述候选回答信息进行分词,得到待处理候选回答词例;按预设候选回答长度从待处理候选回答词例中进行提取,得到标准候选回答词例;在所述标准候选回答词例的头端插入分类符及末端插入分隔符,得到所述待预测候选回答词例。
在一个实施例中,所述按预设候选回答长度从待处理候选回答词例中进行提取,得到标准候选回答词例,包括:获取所述预设候选回答长度;当所述待处理候选回答词例的词例数量大于所述预设候选回答长度时,则从所述待处理候选回答词例的末端开始删除词例,直至所述待处理候选回答词例的词例数量等于所述预设候选回答长度,将所述待处理候选回答词例留下的词例作为所述标准候选回答词例;当所述待处理候选回答词例的词例数量小于或等于所述预设候选回答长度时,则将所述待处理候选回答词例作为所述标准候选回答词例。
在一个实施例中,所述根据所述历史对话词特征向量、所述候选回答词特征向量进行局部语义关系匹配,得到历史对话局部匹配向量、候选回答局部匹配向量,包括:根据所述历史对话词特征向量、所述候选回答词特征向量进行注意力权重计算,得到注意力权重;将所述历史对话词特征向量与所述候选回答词特征向量以词例为单元进行对齐;将对齐后的所述历史对话词特征向量及所述候选回答词特征向量以词例为单元进行局部语义关系匹配,得到所述历史对话局部匹配向量、所述候选回答局部匹配向量。
在一个实施例中,所述根据所述历史对话局部匹配向量、所述候选回答局部匹配向量进行匹配概率计算,得到候选回答匹配概率,包括:将所述历史对话局部匹配向量输入BiLSTM层进行关键向量辨别,得到历史对话隐向量;将所述候选回答局部匹配向量输入BiLSTM层进行关键向量辨别,得到候选回答隐向量;将所述历史对话隐向量、所述候选回答隐向量分布进行最大池化,得到历史对话最大池化向量、候选回答最大池化向量;将所述历史对话隐向量、所述候选回答隐向量分布进行平均池化,得到历史对话平均池化向量、候选回答平均池化向量;根据所述历史对话最大池化向量、所述历史对话平均池化向量、所述候选回答最大池化向量、所述候选回答平均池化向量进行匹配概率计算,得到所述候选回答匹配概率。
在一个实施例中,所述根据所述历史对话最大池化向量、所述历史对话平均池化向量、所述候选回答最大池化向量、所述候选回答平均池化向量进行匹配概率计算,得到所述候选回答匹配概率,包括:将所述候选回答最大池化向量、所述候选回答平均池化向量、所述历史对话最大池化向量、所述历史对话平均池化向量依次进行拼接,得到待分类向量;将所述待分类向量输入多层感知器进行匹配概率计算,得到所述候选回答匹配概率。
在一个实施例中,所述多层感知器包括隐藏层、tanh激活函数、softmax输出层。
需要说明的是,上述一种基于上下文的多轮对话方法、一种基于上下文的多轮对话装置、存储介质及计算机设备属于一个总的发明构思,一种基于上下文的多轮对话方法、一种基于上下文的多轮对话装置、存储介质及计算机设备实施例中的内容可相互适用。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一非易失性计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本申请专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。
Claims (15)
1.一种基于上下文的多轮对话方法,所述方法包括:
获取待匹配历史对话信息;
根据所述待匹配历史对话信息进行词特征提取,得到历史对话词特征向量;
获取候选回答信息;
根据所述候选回答信息进行词特征提取,得到候选回答词特征向量;
根据所述历史对话词特征向量、所述候选回答词特征向量进行局部语义关系匹配,得到历史对话局部匹配向量、候选回答局部匹配向量;
根据所述历史对话局部匹配向量、所述候选回答局部匹配向量进行匹配概率计算,得到候选回答匹配概率;
根据所述候选回答信息、所述候选回答匹配概率确定匹配回答信息。
2.根据权利要求1所述的基于上下文的多轮对话方法,其特征在于,所述获取待匹配历史对话信息,包括:
获取历史对话信息;
按预设词长度从所述历史对话信息中进行往前获取得到所述待匹配历史对话信息。
3.根据权利要求1所述的基于上下文的多轮对话方法,其特征在于,所述根据所述待匹配历史对话信息进行词特征提取,得到历史对话词特征向量,包括:
将所述待匹配历史对话信息进行词例提取,得到待预测历史对话词例;
将所述待预测历史对话词例输入预训练模型进行预测,得到所述历史对话词特征向量。
4.根据权利要求3所述的基于上下文的多轮对话方法,其特征在于,所述将所述待匹配历史对话信息进行词例提取,得到待预测历史对话词例,包括:
将所述待匹配历史对话信息用分句符及分轮符进行连接,得到历史对话序列;
将所述历史对话序列进行分词,得到待处理历史对话词例;
按预设历史对话长度从所述待处理历史对话词例中进行提取,得到标准历史对话词例;
在所述标准历史对话词例的头端插入分类符及末端插入分隔符,得到所述待预测历史对话词例。
5.根据权利要求4所述的基于上下文的多轮对话方法,其特征在于,所述按预设历史对话长度从所述待处理历史对话词例中进行提取,得到标准历史对话词例,包括:
获取所述预设历史对话长度;
当所述待处理历史对话词例的词例数量大于所述预设历史对话长度时,则从所述待处理历史对话词例的头端开始删除词例,直至所述待处理历史对话词例的词例数量等于所述预设历史对话长度,将所述待处理历史对话词例留下的词例作为所述标准历史对话词例;
当所述待处理历史对话词例的词例数量小于或等于所述预设历史对话长度时,则将所述待处理历史对话词例作为所述标准历史对话词例。
6.根据权利要求1所述的基于上下文的多轮对话方法,其特征在于,所述根据所述候选回答信息进行词特征提取,得到候选回答词特征向量,包括:
将所述候选回答信息进行词例提取,得到待预测候选回答词例;
将所述待预测候选回答词例输入预训练模型进行预测,得到所述候选回答词特征向量。
7.根据权利要求6所述的基于上下文的多轮对话方法,其特征在于,所述将所述候选回答信息进行词例提取,得到待预测候选回答词例,包括:
将所述候选回答信息进行分词,得到待处理候选回答词例;
按预设候选回答长度从待处理候选回答词例中进行提取,得到标准候选回答词例;
在所述标准候选回答词例的头端插入分类符及末端插入分隔符,得到所述待预测候选回答词例。
8.根据权利要求7所述的基于上下文的多轮对话方法,其特征在于,所述按预设候选回答长度从待处理候选回答词例中进行提取,得到标准候选回答词例,包括:
获取所述预设候选回答长度;
当所述待处理候选回答词例的词例数量大于所述预设候选回答长度时,则从所述待处理候选回答词例的末端开始删除词例,直至所述待处理候选回答词例的词例数量等于所述预设候选回答长度,将所述待处理候选回答词例留下的词例作为所述标准候选回答词例;
当所述待处理候选回答词例的词例数量小于或等于所述预设候选回答长度时,则将所述待处理候选回答词例作为所述标准候选回答词例。
9.根据权利要求1所述的基于上下文的多轮对话方法,其特征在于,所述根据所述历史对话词特征向量、所述候选回答词特征向量进行局部语义关系匹配,得到历史对话局部匹配向量、候选回答局部匹配向量,包括:
根据所述历史对话词特征向量、所述候选回答词特征向量进行注意力权重计算,得到注意力权重;
将所述历史对话词特征向量与所述候选回答词特征向量以词例为单元进行对齐;
将对齐后的所述历史对话词特征向量及所述候选回答词特征向量以词例为单元进行局部语义关系匹配,得到所述历史对话局部匹配向量、所述候选回答局部匹配向量。
10.根据权利要求1至9任一项所述的基于上下文的多轮对话方法,其特征在于,所述根据所述历史对话局部匹配向量、所述候选回答局部匹配向量进行匹配概率计算,得到候选回答匹配概率,包括:
将所述历史对话局部匹配向量输入BiLSTM层进行关键向量辨别,得到历史对话隐向量;
将所述候选回答局部匹配向量输入BiLSTM层进行关键向量辨别,得到候选回答隐向量;
将所述历史对话隐向量、所述候选回答隐向量分布进行最大池化,得到历史对话最大池化向量、候选回答最大池化向量;
将所述历史对话隐向量、所述候选回答隐向量分布进行平均池化,得到历史对话平均池化向量、候选回答平均池化向量;
根据所述历史对话最大池化向量、所述历史对话平均池化向量、所述候选回答最大池化向量、所述候选回答平均池化向量进行匹配概率计算,得到所述候选回答匹配概率。
11.根据权利要求10所述的基于上下文的多轮对话方法,其特征在于,所述根据所述历史对话最大池化向量、所述历史对话平均池化向量、所述候选回答最大池化向量、所述候选回答平均池化向量进行匹配概率计算,得到所述候选回答匹配概率,包括:
将所述候选回答最大池化向量、所述候选回答平均池化向量、所述历史对话最大池化向量、所述历史对话平均池化向量依次进行拼接,得到待分类向量;
将所述待分类向量输入多层感知器进行匹配概率计算,得到所述候选回答匹配概率。
12.根据权利要求11所述的基于上下文的多轮对话方法,其特征在于,所述多层感知器包括隐藏层、tanh激活函数、softmax输出层。
13.一种基于上下文的多轮对话装置,其特征在于,所述装置包括:
历史对话词特征提取模块,用于获取待匹配历史对话信息,所述待匹配历史对话信息中包含多轮对话,根据所述待匹配历史对话信息进行词特征提取,得到历史对话词特征向量;
候选回答特征提取模块,用于获取候选回答信息,根据所述候选回答信息进行词特征提取,得到候选回答词特征向量;
局部语义关系匹配模块,用于根据所述历史对话词特征向量、所述候选回答词特征向量进行局部语义关系匹配,得到历史对话局部匹配向量、候选回答局部匹配向量;
匹配概率计算模块,用于根据所述历史对话局部匹配向量、所述候选回答局部匹配向量进行匹配概率计算,得到候选回答匹配概率;
匹配回答确定模块,用于根据所述候选回答信息、所述候选回答匹配概率确定匹配回答信息。
14.一种存储介质,存储有计算机指令程序,其特征在于,所述计算机指令程序被处理器执行时,使得所述处理器执行如权利要求1至12中任一项所述方法的步骤。
15.一种计算机设备,其特征在于,包括至少一个存储器、至少一个处理器,所述存储器存储有计算机指令程序,所述计算机指令程序被所述处理器执行时,使得所述处理器执行如权利要求1至12中任一项所述方法的步骤。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/CN2019/128198 WO2021128044A1 (zh) | 2019-12-25 | 2019-12-25 | 一种基于上下文的多轮对话方法、装置、设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111108501A true CN111108501A (zh) | 2020-05-05 |
CN111108501B CN111108501B (zh) | 2024-02-06 |
Family
ID=70427479
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201980003203.7A Active CN111108501B (zh) | 2019-12-25 | 2019-12-25 | 一种基于上下文的多轮对话方法、装置、设备及存储介质 |
Country Status (3)
Country | Link |
---|---|
US (1) | US11941366B2 (zh) |
CN (1) | CN111108501B (zh) |
WO (1) | WO2021128044A1 (zh) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111753074A (zh) * | 2020-06-30 | 2020-10-09 | 贝壳技术有限公司 | 用于实现会话的方法、装置、介质和电子设备 |
CN111858854A (zh) * | 2020-07-20 | 2020-10-30 | 上海汽车集团股份有限公司 | 一种基于历史对话信息的问答匹配方法及相关装置 |
CN112199472A (zh) * | 2020-10-12 | 2021-01-08 | 山东山大鸥玛软件股份有限公司 | 一种基于迁移学习的主观题智能评卷方法、系统及设备 |
CN113111665A (zh) * | 2021-04-16 | 2021-07-13 | 清华大学 | 一种个性化对话改写方法及装置 |
JP2021108178A (ja) * | 2020-06-29 | 2021-07-29 | バイドゥ オンライン ネットワーク テクノロジー (ベイジン) カンパニー リミテッド | マルチラウンド対話の検索方法、装置、記憶媒体および電子機器 |
CN113673257A (zh) * | 2021-08-18 | 2021-11-19 | 山东新一代信息产业技术研究院有限公司 | 一种多轮问答语义生成方法、设备及介质 |
CN116127035A (zh) * | 2023-01-03 | 2023-05-16 | 北京百度网讯科技有限公司 | 对话方法、对话模型的训练方法及装置 |
CN117743559A (zh) * | 2024-02-20 | 2024-03-22 | 厦门国际银行股份有限公司 | 一种基于rag的多轮对话处理方法、装置以及设备 |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11252113B1 (en) * | 2021-06-15 | 2022-02-15 | Drift.com, Inc. | Proactive and reactive directing of conversational bot-human interactions |
CN113569029A (zh) * | 2021-07-28 | 2021-10-29 | 北京小米移动软件有限公司 | 对话应答方法、装置及存储介质 |
US20230055991A1 (en) * | 2021-08-09 | 2023-02-23 | Samsung Electronics Co., Ltd. | System and method for interactive dialogue |
CN114118100A (zh) * | 2021-11-24 | 2022-03-01 | 北京房江湖科技有限公司 | 用于生成对话语句的方法、装置、设备、介质和程序产品 |
CN114547274B (zh) * | 2022-04-26 | 2022-08-05 | 阿里巴巴达摩院(杭州)科技有限公司 | 多轮问答的方法、装置及设备 |
CN115062606B (zh) * | 2022-08-16 | 2022-11-18 | 阿里巴巴(中国)有限公司 | 对话数据分析及其模型训练方法、及电子设备 |
CN116150697A (zh) * | 2023-04-19 | 2023-05-23 | 上海钐昆网络科技有限公司 | 一种异常应用识别方法、装置、设备、存储介质及产品 |
CN116977436B (zh) * | 2023-09-21 | 2023-12-05 | 小语智能信息科技(云南)有限公司 | 基于缅甸语字符簇特征的缅甸语文本图像识别方法及装置 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107562792A (zh) * | 2017-07-31 | 2018-01-09 | 同济大学 | 一种基于深度学习的问答匹配方法 |
CN107578106A (zh) * | 2017-09-18 | 2018-01-12 | 中国科学技术大学 | 一种融合单词语义知识的神经网络自然语言推理方法 |
CN108920654A (zh) * | 2018-06-29 | 2018-11-30 | 泰康保险集团股份有限公司 | 一种问答文本语义匹配的方法和装置 |
US20190005948A1 (en) * | 2017-06-29 | 2019-01-03 | Beijing Baidu Netcom Science And Technology Co., Ltd. | Method and device for managing dialogue based on artificial intelligence |
CN109726396A (zh) * | 2018-12-20 | 2019-05-07 | 泰康保险集团股份有限公司 | 问答文本的语义匹配方法、装置、介质及电子设备 |
CN110309283A (zh) * | 2019-06-28 | 2019-10-08 | 阿里巴巴集团控股有限公司 | 一种智能问答的答案确定方法及装置 |
CN110472035A (zh) * | 2019-08-26 | 2019-11-19 | 杭州城市大数据运营有限公司 | 一种智能应答方法、装置、计算机设备及存储介质 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10091140B2 (en) * | 2015-05-31 | 2018-10-02 | Microsoft Technology Licensing, Llc | Context-sensitive generation of conversational responses |
CN106599196B (zh) * | 2016-12-14 | 2021-07-16 | 竹间智能科技(上海)有限公司 | 一种人工智能对话方法及系统 |
CN108170764B (zh) * | 2017-12-25 | 2022-06-14 | 上海大学 | 一种基于场景上下文的人机多轮对话模型构建方法 |
CN108376144B (zh) * | 2018-01-12 | 2021-10-12 | 上海大学 | 基于深度神经网络的场景自动切换的人机多轮对话方法 |
US20190266286A1 (en) * | 2018-02-28 | 2019-08-29 | Jordi Torras | Method and system for a semantic search engine using an underlying knowledge base |
US11157707B2 (en) * | 2019-07-23 | 2021-10-26 | International Business Machines Corporation | Natural language response improvement in machine assisted agents |
US11379671B2 (en) * | 2019-11-18 | 2022-07-05 | Salesforce, Inc. | Identification of response list |
-
2019
- 2019-12-25 WO PCT/CN2019/128198 patent/WO2021128044A1/zh active Application Filing
- 2019-12-25 CN CN201980003203.7A patent/CN111108501B/zh active Active
-
2020
- 2020-11-23 US US17/102,395 patent/US11941366B2/en active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20190005948A1 (en) * | 2017-06-29 | 2019-01-03 | Beijing Baidu Netcom Science And Technology Co., Ltd. | Method and device for managing dialogue based on artificial intelligence |
CN107562792A (zh) * | 2017-07-31 | 2018-01-09 | 同济大学 | 一种基于深度学习的问答匹配方法 |
CN107578106A (zh) * | 2017-09-18 | 2018-01-12 | 中国科学技术大学 | 一种融合单词语义知识的神经网络自然语言推理方法 |
CN108920654A (zh) * | 2018-06-29 | 2018-11-30 | 泰康保险集团股份有限公司 | 一种问答文本语义匹配的方法和装置 |
CN109726396A (zh) * | 2018-12-20 | 2019-05-07 | 泰康保险集团股份有限公司 | 问答文本的语义匹配方法、装置、介质及电子设备 |
CN110309283A (zh) * | 2019-06-28 | 2019-10-08 | 阿里巴巴集团控股有限公司 | 一种智能问答的答案确定方法及装置 |
CN110472035A (zh) * | 2019-08-26 | 2019-11-19 | 杭州城市大数据运营有限公司 | 一种智能应答方法、装置、计算机设备及存储介质 |
Non-Patent Citations (1)
Title |
---|
QIAN CHEN ET.AL: "Enhanced LSTM for Natural Language Inference", pages 1 - 12 * |
Cited By (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2021108178A (ja) * | 2020-06-29 | 2021-07-29 | バイドゥ オンライン ネットワーク テクノロジー (ベイジン) カンパニー リミテッド | マルチラウンド対話の検索方法、装置、記憶媒体および電子機器 |
EP3862891A3 (en) * | 2020-06-29 | 2021-12-29 | Baidu Online Network Technology (Beijing) Co., Ltd. | Method and apparatus for retrieving multi-turn dialogue, storage medium, and electronic device |
US11947578B2 (en) | 2020-06-29 | 2024-04-02 | Baidu Online Network Technology (Beijing) Co., Ltd. | Method for retrieving multi-turn dialogue, storage medium, and electronic device |
CN111753074B (zh) * | 2020-06-30 | 2021-08-17 | 贝壳找房(北京)科技有限公司 | 用于实现会话的方法、装置、介质和电子设备 |
CN111753074A (zh) * | 2020-06-30 | 2020-10-09 | 贝壳技术有限公司 | 用于实现会话的方法、装置、介质和电子设备 |
CN111858854B (zh) * | 2020-07-20 | 2024-03-19 | 上海汽车集团股份有限公司 | 一种基于历史对话信息的问答匹配方法及相关装置 |
CN111858854A (zh) * | 2020-07-20 | 2020-10-30 | 上海汽车集团股份有限公司 | 一种基于历史对话信息的问答匹配方法及相关装置 |
CN112199472A (zh) * | 2020-10-12 | 2021-01-08 | 山东山大鸥玛软件股份有限公司 | 一种基于迁移学习的主观题智能评卷方法、系统及设备 |
CN113111665A (zh) * | 2021-04-16 | 2021-07-13 | 清华大学 | 一种个性化对话改写方法及装置 |
CN113673257A (zh) * | 2021-08-18 | 2021-11-19 | 山东新一代信息产业技术研究院有限公司 | 一种多轮问答语义生成方法、设备及介质 |
CN113673257B (zh) * | 2021-08-18 | 2024-05-14 | 浪潮智能物联技术有限公司 | 一种多轮问答语义生成方法、设备及介质 |
CN116127035B (zh) * | 2023-01-03 | 2023-12-08 | 北京百度网讯科技有限公司 | 对话方法、对话模型的训练方法及装置 |
CN116127035A (zh) * | 2023-01-03 | 2023-05-16 | 北京百度网讯科技有限公司 | 对话方法、对话模型的训练方法及装置 |
CN117743559A (zh) * | 2024-02-20 | 2024-03-22 | 厦门国际银行股份有限公司 | 一种基于rag的多轮对话处理方法、装置以及设备 |
CN117743559B (zh) * | 2024-02-20 | 2024-06-04 | 厦门国际银行股份有限公司 | 一种基于rag的多轮对话处理方法、装置以及设备 |
Also Published As
Publication number | Publication date |
---|---|
WO2021128044A1 (zh) | 2021-07-01 |
CN111108501B (zh) | 2024-02-06 |
US20210200961A1 (en) | 2021-07-01 |
US11941366B2 (en) | 2024-03-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111108501B (zh) | 一种基于上下文的多轮对话方法、装置、设备及存储介质 | |
JP6818941B2 (ja) | 多言語音声認識ネットワークをトレーニングする方法、音声認識システム及び多言語音声認識システム | |
CN111160017B (zh) | 关键词抽取方法、话术评分方法以及话术推荐方法 | |
CN110825879B (zh) | 判案结果确定方法、装置、设备及计算机可读存储介质 | |
CN109992664B (zh) | 争议焦点的标注分类方法、装置、计算机设备和存储介质 | |
CN110598206A (zh) | 文本语义识别方法、装置、计算机设备和存储介质 | |
CN111046132A (zh) | 一种检索多轮对话的客服问答处理方法及其系统 | |
US7412093B2 (en) | Hybrid apparatus for recognizing answer type | |
CN112464656B (zh) | 关键词抽取方法、装置、电子设备和存储介质 | |
CN112528637B (zh) | 文本处理模型训练方法、装置、计算机设备和存储介质 | |
US9934452B2 (en) | Pruning and label selection in hidden Markov model-based OCR | |
EP1450350A1 (en) | Method for Recognizing Speech with attributes | |
Masumura et al. | Large context end-to-end automatic speech recognition via extension of hierarchical recurrent encoder-decoder models | |
CN109344242B (zh) | 一种对话问答方法、装置、设备及存储介质 | |
KR20200119410A (ko) | 전역 및 지역 문맥 기반 한국어 대화문 감정 인식 시스템 및 방법 | |
CN111223476B (zh) | 语音特征向量的提取方法、装置、计算机设备和存储介质 | |
CN110298041B (zh) | 垃圾文本过滤方法、装置、电子设备及存储介质 | |
CN111858894A (zh) | 语义缺失的识别方法及装置、电子设备、存储介质 | |
CN112464655A (zh) | 中文字符和拼音相结合的词向量表示方法、装置、介质 | |
CN113127604A (zh) | 基于评论文本的细粒度物品推荐方法及系统 | |
CN116702765A (zh) | 一种事件抽取方法、装置及电子设备 | |
Zamora-Martinez et al. | Fast evaluation of connectionist language models | |
CN115994220A (zh) | 一种基于语义挖掘的接触网文本数据缺陷识别方法及设备 | |
CN115495579A (zh) | 5g通信助理文本分类的方法、装置、电子设备及存储介质 | |
CN114254622A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |