CN111191016A - 一种多轮对话处理方法、装置及计算设备 - Google Patents
一种多轮对话处理方法、装置及计算设备 Download PDFInfo
- Publication number
- CN111191016A CN111191016A CN201911378321.4A CN201911378321A CN111191016A CN 111191016 A CN111191016 A CN 111191016A CN 201911378321 A CN201911378321 A CN 201911378321A CN 111191016 A CN111191016 A CN 111191016A
- Authority
- CN
- China
- Prior art keywords
- intention
- entity
- conversation
- round
- prediction
- 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
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/35—Clustering; Classification
-
- 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/08—Learning methods
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Data Mining & Analysis (AREA)
- Computational Linguistics (AREA)
- Artificial Intelligence (AREA)
- Biophysics (AREA)
- Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biomedical Technology (AREA)
- Databases & Information Systems (AREA)
- Evolutionary Computation (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Software Systems (AREA)
- Human Computer Interaction (AREA)
- Machine Translation (AREA)
Abstract
本发明公开了一种多轮对话处理方法、装置及计算设备,方法包括:对首轮对话的用户语句进行实体识别和意图识别,得到实体识别结果和目标意图;判断实体识别结果中的实体内容是否满足目标意图,若否,将实体内容和目标意图输入到意图预测模型,生成首轮对话的预测意图,基于预测意图构造回复语句后进入下一轮对话;对当前轮对话中的用户语句进行实体识别,并将到当前轮对话为止的所有实体识别结果中的实体内容、上一轮对话的预测意图和目标意图输入到意图预测模型,以生成当前预测意图;判断当前预测意图是否与目标意图相同,若是,基于所有实体识别结果中的实体内容构造回复语句后结束对话,否则,基于当前预测意图构造回复语句后进入下一轮对话。
Description
技术领域
本发明涉及自然语言处理领域,具体涉及一种在人机对话中的多轮对话处理方法、装置及计算设备。
背景技术
人机对话技术中的多轮对话技术是实现智能人机交互系统的核心技术之一,具有广泛的应用场景,并且可以直接使用在具体的业务处理中,例如,酒店预订服务、航班预订服务和火车票预订服务等。
现有的多轮对话的一种实现方式为:接收用户输入的文本信息;对所述文本信息进行话题识别,获取当前话题;将所述当前话题映像到话题图谱上,其中所述话题图谱为图形结构的话题关系图,所述话题图谱上的话题点表征话题及其喜好程度,话题点之间的线表征话题之间的关联强度;对所述话题图谱上的话题的喜好程度进行更新;根据所述话题图谱,对用户下一次输入的文本信息的话题进行预测,得到预测话题;根据所述当前话题和所述预测话题,生成响应策略;根据所述响应策略,对用户做出回应。
现有技术虽然是经过了多次话题识别处理,但是并没有根据上下文进行多轮意图识别和继承,使得在多轮对话管理中的意图识别准确率不高,进而使得对话效率低下。
发明内容
鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的多轮对话处理方法、装置及计算设备。
根据本发明的一个方面,提供一种多轮对话处理方法,在计算设备中执行,所述方法包括:
对第一轮对话中的用户语句进行实体识别和意图识别,得到实体识别结果和目标意图;
判断所述实体识别结果中的实体内容是否满足所述目标意图,若否,将所述实体识别结果中的实体内容和所述目标意图输入到意图预测模型,以生成第一轮对话的预测意图,并基于所述预测意图构造回复语句后,进入下一轮对话;
对当前轮对话中的用户语句进行实体识别,并将到当前轮对话为止的所有实体识别结果中的实体内容、上一轮对话的的预测意图和所述目标意图输入到所述意图预测模型,以生成当前轮对话的预测意图;
判断当前轮对话的预测意图是否与所述目标意图相同,若是,则基于所有实体识别结果中的实体内容构造回复语句后,结束对话,否则,基于当前轮对话的预测意图构造回复语句后,进入下一轮对话。
可选地,根据本发明的多轮对话处理方法,还包括:若所述实体识别结果中的实体内容满足所述目标意图,则基于所述实体识别结果中的实体内容构造回复语句后,结束对话。
可选地,根据本发明的多轮对话处理方法,还包括:判断所述目标意图是否存在于预设的意图集合中,若是,则执行从判断所述实体识别结果中的实体内容是否满足所述目标意图开始的步骤。
可选地,在根据本发明的多轮对话处理方法中,当到当前轮为止的所有实体识别结果中的实体内容数量大于预设数量时,则输入到所述意图预测模型中的实体内容为最新的预设数量个实体内容。
可选地,在根据本发明的多轮对话处理方法中,当到当前轮为止的所有实体识别结果中的实体内容数量小于预设数量时,则通过补充零向量的方式将实体内容的数量扩充为预设数量后,输入到所述意图预测模型。
可选地,在根据本发明的多轮对话处理方法中,所述意图预测模型为BERT模型。
可选地,根据本发明的多轮对话处理方法,还包括,按照如下方式训练所述意图预测模型:获取包括多条样本数据的训练数据集,每条样本数据包括到当前轮对话为止的所有用户语句中的实体内容、上一轮对话的意图和目标意图,以及关联的意图标签;对于每条样本数据,将该样本数据中的到当前轮对话为止的所有用户语句中的实体内容、上一轮对话的意图和目标意图进行向量化处理,并将所有向量拼接成一个固定长度的向量,输入到待训练的意图预测模型;根据意图预测模型的输出以及所述样本数据的意图标签的差别,调整所述意图预测模型的参数。
可选地,在根据本发明的多轮对话处理方法中,利用词典匹配和/或命名实体识别模型来对用户语句进行实体识别。
可选地,在根据本发明的多轮对话处理方法中,所述命名实体识别模型采用BERT+CRF模型。
可选地,在根据本发明的多轮对话处理方法中,利用TextCNN模型来对第一轮对话中的用户语句进行意图识别。
根据本发明的另一方面,提供一种对话多轮对话处理装置,驻留在计算设备中,所述装置包括:
第一处单元,适于对第一轮对话中的用户语句进行实体识别和意图识别,得到实体识别结果和目标意图;
第二处理单元,适于判断所述实体识别结果中的实体内容是否满足所述目标意图,若否,将所述实体识别结果中的实体内容和所述目标意图输入到意图预测模型,以生成第一轮对话的预测意图,并基于所述预测意图构造回复语句后,进入下一轮对话;
第三处理单元,适于对当前轮对话中的用户语句进行实体识别,并将到当前轮对话为止的所有实体识别结果中的实体内容、上一轮对话的的预测意图和所述目标意图输入到所述意图预测模型,以生成当前轮对话的预测意图;
第四处理单元,适于判断当前轮对话的预测意图是否与所述目标意图相同,若是,则基于所有实体识别结果中的实体内容构造回复语句后,结束对话,否则,基于当前轮对话的预测意图构造回复语句后,进入下一轮对话。
根据本发明的又一个方面,提供一种计算设备,包括:至少一个处理器;和存储有程序指令的存储器,其中,所述程序指令被配置为适于由所述至少一个处理器执行,所述程序指令包括用于执行上述方法的指令。
根据本发明的又一个方面,提供一种存储有程序指令的可读存储介质,当所述程序指令被计算设备读取并执行时,使得所述计算设备执行上述的方法。
本发明通过在多轮对话中预测用户的潜在意图,实现了系统主导的对话方式,高效、自然和有序的完成用户的需求,避免了重复、无用沟通,提高了对话效率和返回答案的准确率。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1示出了根据本发明一个实施例的多轮对话处理系统100的示意图;
图2示出了根据本发明一个实施例的计算设备200的示意图;
图3示出了根据本发明一个实施例的多轮对话处理方法300的流程图;
图4示出了根据本发明一个实施例的多轮对话处理装置400的示意图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
图1示出了根据本发明一个实施例的多轮对话处理系统100的示意图。如图1所示,多轮对话处理系统100包括用户终端110和计算设备200。
用户终端110即用户所使用的终端设备,其具体可以是桌面电脑、笔记本电脑等个人计算机,也可以是手机、平板电脑、多媒体设备、智能音箱、智能可穿戴设备等,但不限于此。计算设备200用于向用户终端110提供服务,其可以实现为服务器,例如应用服务器、Web服务器等;也可以实现为桌面电脑、笔记本电脑、处理器芯片、平板电脑等,但不限于此。
根据一种实施例,计算设备200可以提供人机对话服务,终端设备110可以经由互联网与计算设备200建立连接,从而使得用户可以经由终端设备110与计算设备200进行人机对话。用户在终端设备110上打开浏览器或者人机对话类应用(APP),例如人工智能助手,并通过输入用户语句(文本),由终端设备110将用户语句发送到计算设备200。计算设备200接收到用户语句后,对用户语句进行语义识别,根据语义识别结果,向终端设备110返回合适的响应语句,从而实现人机对话。
在一种实现方式中,终端设备110还可以采集用户的语音数据,并对语音数据进行语音识别处理,得到用户语句,或者,终端设备也可以将语音数据发送到计算设备200,由计算设备200对语音数据进行语音识别处理,得到用户语句。
人机对话的过程通常有多轮,计算设备200需要对人机对话中各轮对话的用户潜在意图,以便根据用户的潜在意图对用户语句进行准确的响应,从而使得对话能够流畅进行。
在一个实施例中,多轮对话处理系统100还包括数据存储装置120。数据存储装置120可以是关系型数据库例如MySQL、ACCESS等,也可以是非关系型数据库例如NoSQL等;可以是驻留于计算设备200中的本地数据库,也可以作为分布式数据库例如HBase等设置于多个地理位置处,总之,数据存储装置120用于存储数据,本发明对数据存储装置120的具体部署、配置情况不做限制。计算设备200可以与数据存储装置120连接,并获取数据存储装置120中所存储的数据。例如,计算设备200可以直接读取数据存储装置120中的数据(在数据存储装置120为计算设备200的本地数据库时),也可以通过有线或无线的方式接入互联网,并通过数据接口来获取数据存储装置120中的数据。
在本发明的实施例中,数据存储装置120适于存储各种实体识别模型、实体词典、意图识别模型、意图预测模型、问题库、答案库、话术模板等,这样,计算设备200就可以基于存储的数据来相应地提供多种对话服务。
本发明的多轮对话处理方法可以在计算设备200中执行。图2示出了根据本发明一个实施例的计算设备200的结构图。如图2所示,在基本的配置202中,计算设备200典型地包括系统存储器206和一个或者多个处理器204。存储器总线208可以用于在处理器204和系统存储器206之间的通信。
取决于期望的配置,处理器204可以是任何类型的处理,包括但不限于:微处理器(μP)、微控制器(μC)、数字信息处理器(DSP)或者它们的任何组合。处理器204可以包括诸如一级高速缓存210和二级高速缓存212之类的一个或者多个级别的高速缓存、处理器核心214和寄存器216。示例的处理器核心214可以包括运算逻辑单元(ALU)、浮点数单元(FPU)、数字信号处理核心(DSP核心)或者它们的任何组合。示例的存储器控制器218可以与处理器204一起使用,或者在一些实现中,存储器控制器218可以是处理器204的一个内部部分。
取决于期望的配置,系统存储器206可以是任意类型的存储器,包括但不限于:易失性存储器(诸如RAM)、非易失性存储器(诸如ROM、闪存等)或者它们的任何组合。系统存储器106可以包括操作系统220、一个或者多个应用222以及程序数据224。应用222实际上是多条程序指令,其用于指示处理器204执行相应的操作。在一些实施方式中,应用222可以布置为在操作系统上使得处理器204利用程序数据224进行操作。
计算设备200还可以包括有助于从各种接口设备(例如,输出设备242、外设接口244和通信设备246)到基本配置202经由总线/接口控制器230的通信的接口总线240。示例的输出设备242包括图形处理单元248和音频处理单元250。它们可以被配置为有助于经由一个或者多个A/V端口252与诸如显示器或者扬声器之类的各种外部设备进行通信。示例外设接口244可以包括串行接口控制器254和并行接口控制器256,它们可以被配置为有助于经由一个或者多个I/O端口258和诸如输入设备(例如,键盘、鼠标、笔、语音输入设备、触摸输入设备)或者其他外设(例如打印机、扫描仪等)之类的外部设备进行通信。示例的通信设备246可以包括网络控制器260,其可以被布置为便于经由一个或者多个通信端口264与一个或者多个其他计算设备262通过网络通信链路的通信。
网络通信链路可以是通信介质的一个示例。通信介质通常可以体现为在诸如载波或者其他传输机制之类的调制数据信号中的计算机可读指令、数据结构、程序模块,并且可以包括任何信息递送介质。“调制数据信号”可以这样的信号,它的数据集中的一个或者多个或者它的改变可以在信号中编码信息的方式进行。作为非限制性的示例,通信介质可以包括诸如有线网络或者专线网络之类的有线介质,以及诸如声音、射频(RF)、微波、红外(IR)或者其它无线介质在内的各种无线介质。这里使用的术语计算机可读介质可以包括存储介质和通信介质二者。
在根据本发明的计算设备200中,应用222包括多轮对话处理装置400,装置400包括多条程序指令,这些程序指令可以指示处理器104执行多轮对话处理方法300。
图3示出了根据本发明一个实施例的多轮对话处理方法300的流程图。方法300适于在计算设备(例如前述计算设备200)中执行。
如图3所示,方法300始于步骤S302。在步骤S302中,对第一轮对话中的用户语句进行实体识别和意图识别,得到实体识别结果和目标意图。所谓多轮对话,是指用户和人机对话系统之间进行了多个轮次的对话,每个轮次的对话语句包括用户输入的用户语句以及系统(例如人机对话服务端)针对该用户语句的回复语句。
命名实体(简称实体),是文本中具有特别意义或者指代性较强的以名称为标识的实体,实体包括实体值(本发明中称为实体内容)和该实体值对应的实体类型。例如,命名实体包括人名、地名、歌曲名等实体类型。另外,在不同的领域,还有该领域的命名实体类型,例如,在汽车领域,则有车型、车系、价格、排量、车的部件、车身配置等命名实体类型。
在本发明实施例中,可以利用词典匹配的方式来对用户语句进行实体识别,也可以利用命名实体识别模型来对用户语句进行实体识别,还可以采用这两种方式的结合。
在词典匹配方式中,会设置一实体词典,例如,汽车领域的实体词典,将用户语句与实体词典进行匹配,就能获取到用户语句中包括的实体。
命名实体识别模型(Named Entity Recognition,NER),是从自然语言文件中找出相关命名实体的模型,直接将用户语句输入到命名实体模型,就会输出该用户语句中包括的实体。命名实体识别模型可以采用现有的各种神经网络模型,例如采用BERT+CRF模型,本发明实施例对具体采用何种模型不做限制,本领域技术人员可以根据需要进行合理选择,并且,还可以根据现有方法对特定领域的命名实体模型进行训练。
根据本发明的一个实施例,采用词典匹配和命名实体识别模型的结合来对用户语句进行实体识别。具体地,利用词典匹配从用户语句中匹配出第一实体集合,利用命名实体模型从用户语句中识别出第二实体集合,然后,去除第一实体集合与第二实体集合中存在冲突的实体,将第一实体集合与第二实体集合中剩余的实体(即二者的并集去掉冲突实体)作为最后的识别结果。
例如,对于第一轮对话中的用户语句,首先利用词典匹配和BERT+CRF模型分别进行实体识别,其中词典匹配获取所有可能出现的汽车领域的实体,其覆盖率较高,BERT+CRF模型可处理存在冲突的实体,其准确率较高,将二者结合使用可提升汽车领域的实体识别的准确率和覆盖率。
例如:“宝马2017款2.0L”,词典匹配可得到四个实体,即“宝马”、“宝马2”、“2017款”和“2.0L”,而BERT+CRF模型得到“宝马”、“2017款”两个实体;结合使用可得到最终实体为“宝马”、“2017款”和“2.0L”三个实体。
意图,是希望达到某种目的的打算。意图识别,是将文本所代表的希望达到的某种目的识别处理。意图识别模型实际上是一种文本分类模型,其训练数据就是用户输入的文本,文本的类别标签即为该输入对应的意图。意图识别模型可以采用神经网络模型,例如采用TextCNN模型。当然,本发明实施例对具体采用何种意图识别模型不做限制,本领域技术人员可以根据需要进行合理选择,并且,还可以根据现有方法对特定领域的意图识别模型进行训练。
在本发明实施例中,将对话数据中的用户语句输入到意图识别模型进行处理,从而识别出该用户语句的意图,其中,第一轮的意图即为最终意图(目标意图)。
在获取到第一轮对话的实体识别结果和目标意图之后,方法进入步骤S304。在步骤S304中,判断实体识别结果中的实体内容是否满足所述目标意图,若是,进入步骤S306,若否,进入步骤S308。
可选地,在执行步骤S304之前,还判断目标意图是否存在于预设的意图集合中,若是,则执行从步骤S304开始的步骤;否则,不执行步骤S304及其后续步骤,可以直接结束对话。
其中,预设的意图集合中包括多个意图,这些意图是客服(人机对话服务端)主导的意图。可以根据人机对话的答案库,确定客服主导的意图。
例如,在汽车领域中,主要包含选车、口碑、贷款、对比、保养、试驾等跟车相关的意图。当用户问“秋天哪里好玩”,该意图为“旅行”,跟车不相关,则可以向客户回复该问题不是本人机对话系统能够回答的问题,并结束对话。
在本发明实施例中,可以根据意图集合中每个意图下搜索答案时对实体的需求制定匹配规则:即对于一个意图,该意图会有关联的一个或多个实体类型,根据这些(个)实体类型能够从答案库中搜索到针对该意图的答案。相应地,根据匹配规则来判断实体内容是否满足目标意图。
在步骤S306中,实体识别结果中的实体内容满足目标意图,则基于目标意图以及所述实体识别结果中的实体内容构造回复语句,将该回复语句发送给用户,结束对话。具体地,可以基于目标意图以及实体内容,从答案库中获取答案,根据获取的答案构造回复语句。
例如:当用户问“如何贷款买宝马3系?”,意图为“贷款买车”,实体为“宝马3系”,可以直接给出答案,不用进一步进行意图预测。
在步骤S308中,实体识别结果中的实体内容不满足目标意图,则将所述实体识别结果中的实体内容和所述目标意图输入到意图预测模型,以生成第一轮对话的预测意图,并基于所述预测意图构造回复语句并发送给用户后,进入下一轮即第二轮对话。具体地,得到预测意图后,可以获取与该预测意图关联的话术,并基于该话术构造回复语句。在人机对话中,每个意图通常关联一个不同的话术,如何根据意图以及话术构造回复语句,是本领域的公知技术,这里不做赘述。这样,用户语句和回复语句就构成了一个轮次的对话,这里,是第一轮对话。后续,用户针对该回复语句,继续输入用户语句,进入第二轮对话。
例如,当用户问“想贷款买个车?”,意图同样为“贷款买车”,但缺失车系实体,则需要进一步进行意图预测来引导用户进行选车,以获取用户更多的信息。这个例子中,预测意图为“买什么车”,则可以改根据意图来构造回复语句“想买个什么车?”。
另外,意图预测模型可以是基于神经网络的模型,该模型的具体构造以及训练过程,参见后文的描述。
在步骤S310中,针对后续的每一轮对话,对该轮(即当前轮)对话中的用户语句进行实体识别,得到当前轮的实体识别结果。实体识别的方法与步骤S302中的实体识别相同,具体可参见步骤S302。
这样,从第一轮对话开始到当前轮对话,每轮对话都对应一个实体识别结果,可以将这些实体识别结果进行汇总,并按照识别的时间顺序进行排序,得到汇总的实体识别结果,即到目前为止,用户提到了哪些实体。
在步骤S312中,将到当前轮对话为止的所有实体识别结果中的实体内容、上一轮对话的的预测意图和所述目标意图输入到意图预测模型,以生成当前轮对话的预测意图。
预测意图的实现原理如下:
假设共有n个意图,Pi(Ik)表示第i轮为第k个意图的概率,假设最终意图为IK(K<=n),其他各轮用户意图分别为I1,I2,…,IK-1。则需满足的目标函数为:
P(I1I2…IK-1}=max{P1(Ij)P2(Il)…P3(Im):j,l,m=1,2,3…,n},
即需要满足整个意图组合的概率最大,而由于每一轮都是独立根据上一轮的意图、到上一轮为止的实体以及最终的意图(目标意图)进行预测的,故只需要每一轮都是选择概率最大的意图即可,则目标函数可转为:
Pi(Ik)=max{Pi(Ij),j=1,2,3…,n}
根据上述公式,可以知道,所有轮都可以根据上一轮的意图、到上一轮为止的实体以及最终的意图进行预测,故可以训练同一个意图预测模型(当预测到的意图与目标意图相同时,预测结束)。
在本发明实施例中,意图预测模型可以采用神经网络模型,例如,采用基于BERT的模型。其中,BERT(Bidirectional Encoder Representations from Transformers,基于Transformer的双向编码器表征)是一种通过在大规模语料上预训练从而学习语义表示的语言模型,通过BERT可以对短语、语句等文本得到高质量的语义表示特征。
在本发明实施例中,意图预测模型的输入为:到当前轮对话为止的所有实体识别结果中的实体内容、上一轮对话的的预测意图和目标意图(或者是它们的向量化表示)。具体地,可以将到当前轮对话为止的所有用户语句中的实体内容、上一轮对话的意图和目标意图分别进行向量化处理(Embedding),并将所有向量拼接成一个固定长度的向量,作为意图预测模型的输入。需要说明的是,为了使拼接结果是固定长度的向量,还会进行如下处理:
1)当到当前轮为止的所有实体识别结果中的实体内容数量大于预设数量时,则取其中的最新的(最近识别得到的)预设数量个实体内容;
2)当到当前轮为止的所有实体识别结果中的实体内容数量小于预设数量时,则通过补充零向量的方式得到固定长度的向量。
另外需要说明的是,在步骤S308中(第一轮对话),也使用到了意图预测模型,而第一轮对话没有“上一轮对话的的预测意图”,则可以将目标意图作为第一轮对话的“上一轮对话的的预测意图”。这样,意图预测模型的输入则为:第一轮对话中用户语句的实体内容+目标意图+目标意图。
意图预测模型的训练过程如下:
获取包括多条样本数据的训练数据集,每条样本数据包括到当前轮对话为止的所有用户语句中的实体内容、上一轮对话的意图和目标意图,以及关联的意图标签;
对于每条样本数据,将该样本数据中的到当前轮对话为止的所有用户语句中的实体内容、上一轮对话的意图和目标意图进行向量化处理,并将所有向量拼接成一个固定长度的向量,输入到待训练的意图预测模型;
根据意图预测模型的输出以及所述样本数据的意图标签的差别,调整所述意图预测模型的参数。
当采用BERT模型时,意图预测模型的训练过程即为BERT微调过程(预训练的BERT模型为Google发布的预训练BERT中文词向量模型):
1)Embedding
将上一轮意图、到当前轮的所有实体和目标意图分别进行向量化,然后将所有向量进行拼接成一个固定长度的向量,由于意图的向量长度固定,故只需要将实体数量设置为固定数即可,训练过程中设置10个实体数(超过10的按出现的时间倒取,即现取最新出现的实体,不足10个,补充0向量);
2)将客服主导意图作为分类目标,将1)中Embedding数据作为输入,训练模型,输出为各客服主导意图的概率;
3)参数设置
Batch尺寸为32,学习率为0.0005,梯度下降方法为Adam,损失函数为交叉熵,dropout设置为0.5,激活函数为RELU,epoch为5,迭代步数为10万。
在获取到当前轮对话的预测意图后,方法300进入步骤S314。在步骤S314中,判断当前轮对话的预测意图是否与目标意图相同,若是,进入步骤S316。若当前轮对话的预测意图与目标意图不同,则基于当前轮对话的预测意图构造回复语句发送给用户后,进入下一轮对话,并返回步骤S310。具体地,得到预测意图后,可以获取与该预测意图关联的话术,并基于该话术构造回复语句。在人机对话中,每个意图通常关联一个不同的话术,如何根据意图以及话术构造回复语句,是本领域的公知技术,这里不做赘述。这样,用户语句和回复语句就构成了一个轮次的对话,后续,用户针对该回复语句,继续输入用户语句,进入下一轮对话。
在步骤S316中,由于当前轮对话的预测意图与目标意图相同,则基于到当前轮为止的所有实体识别结果中的实体内容构造回复语句,将该回复语句发送给用户,结束对话。具体地,可以基于目标意图以及所有实体内容,从答案库中获取答案,根据获取的答案构造回复语句。
以下给出本发明的一个多轮对话示例。
问:想贷款买个车。
答:请问您想买一辆怎么样的车呢,例如(比较火的车推荐)。
问:30万以内的轿车吧,不要日本车。
答:返回一堆车系提供选择。
问:那就要宝马3系吧。
答:为您推荐以下宝马三系的贷款方案(提供贷款计算器)
图4示出了根据本发明一个实施例的多轮对话处理装置400的示意图,装置400驻留在计算设备中。参照图4,装置400包括:
第一处单元410,适于对第一轮对话中的用户语句进行实体识别和意图识别,得到实体识别结果和目标意图;
第二处理单元420,适于判断所述实体识别结果中的实体内容是否满足所述目标意图,若否,将所述实体识别结果中的实体内容和所述目标意图输入到意图预测模型,以生成第一轮对话的预测意图,并基于所述预测意图构造回复语句后,进入下一轮对话;
第三处理单元430,适于对当前轮对话中的用户语句进行实体识别,并将到当前轮对话为止的所有实体识别结果中的实体内容、上一轮对话的的预测意图和所述目标意图输入到所述意图预测模型,以生成当前轮对话的预测意图;
第四处理单元440,适于判断当前轮对话的预测意图是否与所述目标意图相同,若是,则基于所有实体识别结果中的实体内容构造回复语句后,结束对话,否则,基于当前轮对话的预测意图构造回复语句后,进入下一轮对话。
第一处理单元410、第二处理单元420、第三处理单元430和第四单元440所执行的具体处理,可参照上述方法300,这里不做赘述。
本发明人还公开了:
A8、如A1至A7中任一项所述的方法,其中,利用词典匹配和/或命名实体识别模型来对用户语句进行实体识别。A9、如A8所述的方法,其中,所述命名实体识别模型采用BERT+CRF模型。A10、如A1至A9中任一项所述的方法,其中,利用TextCNN模型来对第一轮对话中的用户语句进行意图识别。
综上所述,本发明通过在多轮对话中预测用户的潜在意图,实现了系统主导的对话方式,高效、自然和有序的完成用户的需求,避免了重复、无用沟通,提高了对话效率和返回答案的准确率。
在此提供的算法和显示不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与基于在此的示教一起使用。根据上面的描述,构造这类系统所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
Claims (10)
1.一种多轮对话处理方法,在计算设备中执行,所述方法包括:
对第一轮对话中的用户语句进行实体识别和意图识别,得到实体识别结果和目标意图;
判断所述实体识别结果中的实体内容是否满足所述目标意图,若否,将所述实体识别结果中的实体内容和所述目标意图输入到意图预测模型,以生成第一轮对话的预测意图,并基于所述预测意图构造回复语句后,进入下一轮对话;
对当前轮对话中的用户语句进行实体识别,并将到当前轮对话为止的所有实体识别结果中的实体内容、上一轮对话的的预测意图和所述目标意图输入到所述意图预测模型,以生成当前轮对话的预测意图;以及
判断当前轮对话的预测意图是否与所述目标意图相同,若是,则基于所有实体识别结果中的实体内容构造回复语句后,结束对话,否则,基于当前轮对话的预测意图构造回复语句后,进入下一轮对话。
2.如权利要求1所述的方法,还包括:
若所述实体识别结果中的实体内容满足所述目标意图,则基于所述实体识别结果中的实体内容构造回复语句后,结束对话。
3.如权利要求1或2所述的方法,还包括:
判断所述目标意图是否存在于预设的意图集合中,若是,则执行从判断所述实体识别结果中的实体内容是否满足所述目标意图开始的步骤。
4.如权利要求1至3中任一项所述的方法,其中,当到当前轮为止的所有实体识别结果中的实体内容数量大于预设数量时,则输入到所述意图预测模型中的实体内容为最新的预设数量个实体内容。
5.如权利要求4所述所述的方法,其中,当到当前轮为止的所有实体识别结果中的实体内容数量小于预设数量时,则通过补充零向量的方式将实体内容的数量扩充为预设数量后,输入到所述意图预测模型。
6.如权利要求1至5中任一项所述的方法,其中,所述意图预测模型为BERT模型。
7.如权利要求1至6中任一项所述的方法,还包括,按照如下方式训练所述意图预测模型:
获取包括多条样本数据的训练数据集,每条样本数据包括到当前轮对话为止的所有用户语句中的实体内容、上一轮对话的意图和目标意图,以及关联的意图标签;
对于每条样本数据,将该样本数据中的到当前轮对话为止的所有用户语句中的实体内容、上一轮对话的意图和目标意图进行向量化处理,并将所有向量拼接成一个固定长度的向量,输入到待训练的意图预测模型;
根据意图预测模型的输出以及所述样本数据的意图标签的差别,调整所述意图预测模型的参数。
8.一种多轮对话处理装置,驻留在计算设备中,所述装置包括:
第一处单元,适于对第一轮对话中的用户语句进行实体识别和意图识别,得到实体识别结果和目标意图;
第二处理单元,适于判断所述实体识别结果中的实体内容是否满足所述目标意图,若否,将所述实体识别结果中的实体内容和所述目标意图输入到意图预测模型,以生成第一轮对话的预测意图,并基于所述预测意图构造回复语句后,进入下一轮对话;
第三处理单元,适于对当前轮对话中的用户语句进行实体识别,并将到当前轮对话为止的所有实体识别结果中的实体内容、上一轮对话的的预测意图和所述目标意图输入到所述意图预测模型,以生成当前轮对话的预测意图;
第四处理单元,适于判断当前轮对话的预测意图是否与所述目标意图相同,若是,则基于所有实体识别结果中的实体内容构造回复语句后,结束对话,否则,基于当前轮对话的预测意图构造回复语句后,进入下一轮对话。
9.一种计算设备,包括:
至少一个处理器;和
存储有程序指令的存储器,其中,所述程序指令被配置为适于由所述至少一个处理器执行,所述程序指令包括用于执行如权利要求1-7中任一项所述方法的指令。
10.一种存储有程序指令的可读存储介质,当所述程序指令被计算设备读取并执行时,使得所述计算设备执行如权利要求1-7中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911378321.4A CN111191016B (zh) | 2019-12-27 | 2019-12-27 | 一种多轮对话处理方法、装置及计算设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911378321.4A CN111191016B (zh) | 2019-12-27 | 2019-12-27 | 一种多轮对话处理方法、装置及计算设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111191016A true CN111191016A (zh) | 2020-05-22 |
CN111191016B CN111191016B (zh) | 2023-06-02 |
Family
ID=70705975
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911378321.4A Active CN111191016B (zh) | 2019-12-27 | 2019-12-27 | 一种多轮对话处理方法、装置及计算设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111191016B (zh) |
Cited By (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111723559A (zh) * | 2020-06-19 | 2020-09-29 | 苏州思必驰信息科技有限公司 | 一种实时信息抽取方法及装置 |
CN111737442A (zh) * | 2020-08-13 | 2020-10-02 | 北京福佑多多信息技术有限公司 | 智能客服多轮会话管理的方法和装置 |
CN111785266A (zh) * | 2020-05-28 | 2020-10-16 | 博泰车联网(南京)有限公司 | 一种语音交互方法及系统 |
CN111931507A (zh) * | 2020-08-21 | 2020-11-13 | 贝壳技术有限公司 | 获取用于实现会话的多元组集合方法、装置、介质及设备 |
CN112100328A (zh) * | 2020-08-31 | 2020-12-18 | 广州探迹科技有限公司 | 一种基于多轮对话的意向判断方法 |
CN112100339A (zh) * | 2020-11-04 | 2020-12-18 | 北京淇瑀信息科技有限公司 | 用于智能语音机器人的用户意图识别方法、装置和电子设备 |
CN112100368A (zh) * | 2020-07-21 | 2020-12-18 | 深思考人工智能科技(上海)有限公司 | 对话交互意图的识别方法和装置 |
CN112100353A (zh) * | 2020-09-15 | 2020-12-18 | 京东方科技集团股份有限公司 | 人机对话方法及系统、计算机设备及介质 |
CN112183098A (zh) * | 2020-09-30 | 2021-01-05 | 完美世界(北京)软件科技发展有限公司 | 会话的处理方法和装置、存储介质、电子装置 |
CN112256825A (zh) * | 2020-10-19 | 2021-01-22 | 平安科技(深圳)有限公司 | 医疗领域多轮对话智能问答方法、装置和计算机设备 |
CN112380875A (zh) * | 2020-11-18 | 2021-02-19 | 杭州大搜车汽车服务有限公司 | 对话标签跟踪方法、装置、电子装置及存储介质 |
CN112417107A (zh) * | 2020-10-22 | 2021-02-26 | 联想(北京)有限公司 | 一种信息处理方法及装置 |
CN112732911A (zh) * | 2020-12-30 | 2021-04-30 | 平安科技(深圳)有限公司 | 基于语义识别的话术推荐方法、装置、设备及存储介质 |
CN112749267A (zh) * | 2021-01-21 | 2021-05-04 | 青牛智胜(深圳)科技有限公司 | 一种多业务场景对话方法及系统 |
CN113157893A (zh) * | 2021-05-25 | 2021-07-23 | 网易(杭州)网络有限公司 | 多轮对话中意图识别的方法、介质、装置和计算设备 |
CN113515604A (zh) * | 2021-05-12 | 2021-10-19 | 山东浪潮科学研究院有限公司 | 一种闲聊机器人实体跟踪方法 |
CN113761183A (zh) * | 2020-07-30 | 2021-12-07 | 北京汇钧科技有限公司 | 意图识别方法和意图识别装置 |
JP2022031109A (ja) * | 2020-08-07 | 2022-02-18 | ベイジン バイドゥ ネットコム サイエンス テクノロジー カンパニー リミテッド | ニューラルネットワークに基づくマンマシンインタラクション方法、装置、及び媒体 |
CN114218392A (zh) * | 2022-02-22 | 2022-03-22 | 浙商期货有限公司 | 面向期货问答的用户意图识别方法和系统 |
TWI776296B (zh) * | 2020-11-30 | 2022-09-01 | 中華電信股份有限公司 | 語音應答系統和語音應答方法 |
CN115033676A (zh) * | 2022-06-22 | 2022-09-09 | 支付宝(杭州)信息技术有限公司 | 一种意图识别模型训练及用户意图识别方法及装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2018036555A1 (zh) * | 2016-08-25 | 2018-03-01 | 腾讯科技(深圳)有限公司 | 会话处理方法及装置 |
CN109727041A (zh) * | 2018-07-03 | 2019-05-07 | 平安科技(深圳)有限公司 | 智能客服多轮问答方法、设备、存储介质及装置 |
WO2019119916A1 (zh) * | 2017-12-22 | 2019-06-27 | 科沃斯商用机器人有限公司 | 人机交互方法、系统及其电子设备 |
CN110442676A (zh) * | 2019-07-02 | 2019-11-12 | 北京邮电大学 | 基于多轮对话的专利检索方法及装置 |
-
2019
- 2019-12-27 CN CN201911378321.4A patent/CN111191016B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2018036555A1 (zh) * | 2016-08-25 | 2018-03-01 | 腾讯科技(深圳)有限公司 | 会话处理方法及装置 |
WO2019119916A1 (zh) * | 2017-12-22 | 2019-06-27 | 科沃斯商用机器人有限公司 | 人机交互方法、系统及其电子设备 |
CN109727041A (zh) * | 2018-07-03 | 2019-05-07 | 平安科技(深圳)有限公司 | 智能客服多轮问答方法、设备、存储介质及装置 |
CN110442676A (zh) * | 2019-07-02 | 2019-11-12 | 北京邮电大学 | 基于多轮对话的专利检索方法及装置 |
Non-Patent Citations (2)
Title |
---|
刘继明;孟亚磊;万晓榆;: "基于小样本机器学习的跨任务对话系统" * |
杨成彪;吕荣荣;吴刚;: "一种基于记忆网络的多轮对话下的意图识别方法" * |
Cited By (34)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111785266A (zh) * | 2020-05-28 | 2020-10-16 | 博泰车联网(南京)有限公司 | 一种语音交互方法及系统 |
CN111723559A (zh) * | 2020-06-19 | 2020-09-29 | 苏州思必驰信息科技有限公司 | 一种实时信息抽取方法及装置 |
CN111723559B (zh) * | 2020-06-19 | 2023-06-23 | 思必驰科技股份有限公司 | 一种实时信息抽取方法及装置 |
CN112100368B (zh) * | 2020-07-21 | 2024-01-26 | 深思考人工智能科技(上海)有限公司 | 对话交互意图的识别方法和装置 |
CN112100368A (zh) * | 2020-07-21 | 2020-12-18 | 深思考人工智能科技(上海)有限公司 | 对话交互意图的识别方法和装置 |
CN113761183A (zh) * | 2020-07-30 | 2021-12-07 | 北京汇钧科技有限公司 | 意图识别方法和意图识别装置 |
JP7204801B2 (ja) | 2020-08-07 | 2023-01-16 | ベイジン バイドゥ ネットコム サイエンス テクノロジー カンパニー リミテッド | ニューラルネットワークに基づくマンマシンインタラクション方法、装置、及び媒体 |
JP2022031109A (ja) * | 2020-08-07 | 2022-02-18 | ベイジン バイドゥ ネットコム サイエンス テクノロジー カンパニー リミテッド | ニューラルネットワークに基づくマンマシンインタラクション方法、装置、及び媒体 |
CN111737442A (zh) * | 2020-08-13 | 2020-10-02 | 北京福佑多多信息技术有限公司 | 智能客服多轮会话管理的方法和装置 |
CN111931507A (zh) * | 2020-08-21 | 2020-11-13 | 贝壳技术有限公司 | 获取用于实现会话的多元组集合方法、装置、介质及设备 |
CN112100328A (zh) * | 2020-08-31 | 2020-12-18 | 广州探迹科技有限公司 | 一种基于多轮对话的意向判断方法 |
CN112100353B (zh) * | 2020-09-15 | 2024-06-07 | 京东方科技集团股份有限公司 | 人机对话方法及系统、计算机设备及介质 |
CN112100353A (zh) * | 2020-09-15 | 2020-12-18 | 京东方科技集团股份有限公司 | 人机对话方法及系统、计算机设备及介质 |
CN112183098A (zh) * | 2020-09-30 | 2021-01-05 | 完美世界(北京)软件科技发展有限公司 | 会话的处理方法和装置、存储介质、电子装置 |
CN112183098B (zh) * | 2020-09-30 | 2022-05-06 | 完美世界(北京)软件科技发展有限公司 | 会话的处理方法和装置、存储介质、电子装置 |
WO2021189921A1 (zh) * | 2020-10-19 | 2021-09-30 | 平安科技(深圳)有限公司 | 医疗领域多轮对话智能问答方法、装置和计算机设备 |
CN112256825A (zh) * | 2020-10-19 | 2021-01-22 | 平安科技(深圳)有限公司 | 医疗领域多轮对话智能问答方法、装置和计算机设备 |
CN112417107A (zh) * | 2020-10-22 | 2021-02-26 | 联想(北京)有限公司 | 一种信息处理方法及装置 |
CN112100339A (zh) * | 2020-11-04 | 2020-12-18 | 北京淇瑀信息科技有限公司 | 用于智能语音机器人的用户意图识别方法、装置和电子设备 |
CN112380875A (zh) * | 2020-11-18 | 2021-02-19 | 杭州大搜车汽车服务有限公司 | 对话标签跟踪方法、装置、电子装置及存储介质 |
CN112380875B (zh) * | 2020-11-18 | 2024-07-16 | 杭州大搜车汽车服务有限公司 | 对话标签跟踪方法、装置、电子装置及存储介质 |
TWI776296B (zh) * | 2020-11-30 | 2022-09-01 | 中華電信股份有限公司 | 語音應答系統和語音應答方法 |
CN112732911A (zh) * | 2020-12-30 | 2021-04-30 | 平安科技(深圳)有限公司 | 基于语义识别的话术推荐方法、装置、设备及存储介质 |
CN112732911B (zh) * | 2020-12-30 | 2023-10-10 | 平安科技(深圳)有限公司 | 基于语义识别的话术推荐方法、装置、设备及存储介质 |
CN112749267B (zh) * | 2021-01-21 | 2024-03-19 | 青牛智胜(深圳)科技有限公司 | 一种多业务场景对话方法及系统 |
CN112749267A (zh) * | 2021-01-21 | 2021-05-04 | 青牛智胜(深圳)科技有限公司 | 一种多业务场景对话方法及系统 |
CN113515604B (zh) * | 2021-05-12 | 2023-06-20 | 山东浪潮科学研究院有限公司 | 一种闲聊机器人实体跟踪方法 |
CN113515604A (zh) * | 2021-05-12 | 2021-10-19 | 山东浪潮科学研究院有限公司 | 一种闲聊机器人实体跟踪方法 |
CN113157893A (zh) * | 2021-05-25 | 2021-07-23 | 网易(杭州)网络有限公司 | 多轮对话中意图识别的方法、介质、装置和计算设备 |
CN113157893B (zh) * | 2021-05-25 | 2023-12-15 | 网易(杭州)网络有限公司 | 多轮对话中意图识别的方法、介质、装置和计算设备 |
CN114218392B (zh) * | 2022-02-22 | 2022-06-03 | 浙商期货有限公司 | 面向期货问答的用户意图识别方法和系统 |
CN114218392A (zh) * | 2022-02-22 | 2022-03-22 | 浙商期货有限公司 | 面向期货问答的用户意图识别方法和系统 |
CN115033676A (zh) * | 2022-06-22 | 2022-09-09 | 支付宝(杭州)信息技术有限公司 | 一种意图识别模型训练及用户意图识别方法及装置 |
CN115033676B (zh) * | 2022-06-22 | 2024-04-26 | 支付宝(杭州)信息技术有限公司 | 一种意图识别模型训练及用户意图识别方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN111191016B (zh) | 2023-06-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111191016B (zh) | 一种多轮对话处理方法、装置及计算设备 | |
CN112100349B (zh) | 一种多轮对话方法、装置、电子设备及存储介质 | |
JP7066349B2 (ja) | 翻訳方法、翻訳装置及びコンピュータプログラム | |
CN110516253B (zh) | 中文口语语义理解方法及系统 | |
US20240153489A1 (en) | Data driven dialog management | |
US10482876B2 (en) | Hierarchical speech recognition decoder | |
CN106782560A (zh) | 确定目标识别文本的方法及装置 | |
CN111090728A (zh) | 一种对话状态跟踪方法、装置及计算设备 | |
CN111062217A (zh) | 语言信息的处理方法、装置、存储介质及电子设备 | |
CN113505591A (zh) | 一种槽位识别方法及电子设备 | |
CN111581375A (zh) | 对话意图类型识别方法、多轮对话方法、装置及计算设备 | |
CN114596844B (zh) | 声学模型的训练方法、语音识别方法及相关设备 | |
CN110807333A (zh) | 一种语义理解模型的语义处理方法、装置及存储介质 | |
CN112562640B (zh) | 多语言语音识别方法、装置、系统及计算机可读存储介质 | |
US11132994B1 (en) | Multi-domain dialog state tracking | |
CN112543932A (zh) | 语义分析方法、装置、设备及存储介质 | |
Karunanayake et al. | Sinhala and tamil speech intent identification from english phoneme based asr | |
CN113326702A (zh) | 语义识别方法、装置、电子设备及存储介质 | |
CN111508497B (zh) | 语音识别方法、装置、电子设备及存储介质 | |
US11615787B2 (en) | Dialogue system and method of controlling the same | |
CN112487813B (zh) | 命名实体识别方法及系统、电子设备及存储介质 | |
CN112927695A (zh) | 语音识别方法、装置、设备及存储介质 | |
CN116522905B (zh) | 文本纠错方法、装置、设备、可读存储介质及程序产品 | |
CN112818096A (zh) | 对话生成方法及其装置 | |
US20230317066A1 (en) | Shared encoder for natural language understanding processing |
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 |