CN112417117B - 会话消息生成方法、装置及设备 - Google Patents
会话消息生成方法、装置及设备 Download PDFInfo
- Publication number
- CN112417117B CN112417117B CN202011299005.0A CN202011299005A CN112417117B CN 112417117 B CN112417117 B CN 112417117B CN 202011299005 A CN202011299005 A CN 202011299005A CN 112417117 B CN112417117 B CN 112417117B
- Authority
- CN
- China
- Prior art keywords
- session
- conversation
- message
- role
- reference information
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 204
- 230000008569 process Effects 0.000 claims abstract description 152
- 238000012545 processing Methods 0.000 claims description 114
- 230000004927 fusion Effects 0.000 claims description 41
- 238000007499 fusion processing Methods 0.000 claims description 13
- 238000012795 verification Methods 0.000 claims description 4
- 238000001514 detection method Methods 0.000 claims 1
- 238000013473 artificial intelligence Methods 0.000 abstract description 12
- 238000005516 engineering process Methods 0.000 abstract description 12
- 238000003058 natural language processing Methods 0.000 abstract description 9
- 230000000875 corresponding effect Effects 0.000 description 133
- 230000006870 function Effects 0.000 description 49
- 238000010586 diagram Methods 0.000 description 21
- 230000003993 interaction Effects 0.000 description 11
- 238000004590 computer program Methods 0.000 description 9
- 238000011156 evaluation Methods 0.000 description 6
- 238000011160 research Methods 0.000 description 6
- 230000000694 effects Effects 0.000 description 5
- 238000006243 chemical reaction Methods 0.000 description 4
- 230000007246 mechanism Effects 0.000 description 4
- 231100000614 poison Toxicity 0.000 description 4
- 239000002574 poison Substances 0.000 description 4
- 208000013738 Sleep Initiation and Maintenance disease Diseases 0.000 description 2
- 238000013528 artificial neural network Methods 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 201000010099 disease Diseases 0.000 description 2
- 208000037265 diseases, disorders, signs and symptoms Diseases 0.000 description 2
- 206010022437 insomnia Diseases 0.000 description 2
- 238000012549 training Methods 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- NAWXUBYGYWOOIX-SFHVURJKSA-N (2s)-2-[[4-[2-(2,4-diaminoquinazolin-6-yl)ethyl]benzoyl]amino]-4-methylidenepentanedioic acid Chemical compound C1=CC2=NC(N)=NC(N)=C2C=C1CCC1=CC=C(C(=O)N[C@@H](CC(=C)C(O)=O)C(O)=O)C=C1 NAWXUBYGYWOOIX-SFHVURJKSA-N 0.000 description 1
- 206010050296 Intervertebral disc protrusion Diseases 0.000 description 1
- 241000270666 Testudines Species 0.000 description 1
- 206010003246 arthritis Diseases 0.000 description 1
- 238000012550 audit Methods 0.000 description 1
- 238000012790 confirmation Methods 0.000 description 1
- 230000001276 controlling effect Effects 0.000 description 1
- 230000002596 correlated effect Effects 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 230000007812 deficiency Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 239000003814 drug Substances 0.000 description 1
- 210000000245 forearm Anatomy 0.000 description 1
- 235000003642 hunger Nutrition 0.000 description 1
- 208000017169 kidney disease Diseases 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 230000002107 myocardial effect Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 230000004622 sleep time Effects 0.000 description 1
- 201000005671 spondyloarthropathy Diseases 0.000 description 1
- 208000024891 symptom Diseases 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 231100000765 toxin Toxicity 0.000 description 1
- 239000003053 toxin Substances 0.000 description 1
- 108700012359 toxins Proteins 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/33—Querying
- G06F16/332—Query formulation
- G06F16/3329—Natural language query formulation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/12—Use of codes for handling textual entities
- G06F40/126—Character encoding
-
- 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
-
- 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
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N5/00—Computing arrangements using knowledge-based models
- G06N5/02—Knowledge representation; Symbolic representation
- G06N5/022—Knowledge engineering; Knowledge acquisition
- G06N5/025—Extracting rules from data
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Artificial Intelligence (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Software Systems (AREA)
- Health & Medical Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- General Health & Medical Sciences (AREA)
- Databases & Information Systems (AREA)
- Evolutionary Computation (AREA)
- Human Computer Interaction (AREA)
- Computing Systems (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Medical Informatics (AREA)
- Machine Translation (AREA)
- Information Transfer Between Computers (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明实施例公开了一种会话消息生成方法、装置及设备,涉及人工智能中的自然语言处理技术,其中方法可包括:当检测到当前人机会话过程中存在触发事件时,获取当前人机会话过程中会话机器人与目标用户之间的历史会话消息以及与会话主题相关的会话参考信息集;根据所述历史会话消息和所述会话参考信息集,确定所述会话机器人在执行消息输入操作时所处的目标会话角色;基于所述历史会话消息和所述会话参考信息集生成与所述目标会话角色对应的目标会话消息,并输出所述目标会话消息。采用本发明实施例,可以丰富人机会话形式,增加人机会话兴趣。
Description
技术领域
本申请涉及人工智能领域,尤其涉及一种会话消息生成方法、装置及设备。
背景技术
人机会话是指让机器理解和运用自然语言实现人机交互,自动人机会话处于自然语言处理和人工智能的核心,长久以来,众多的研究者开发了多种人机会话系统。大多数人机会话系统中会话机器人被设定为被动的回答用户提出的问题,这样的被动的、相对单一的对话聊天机制很快消耗掉用户的兴趣,难以保证人机会话的持久性。因此,在自然语言处理领域中,如何有效地进行人机会话已成为当前研究的热点问题。
发明内容
本发明实施例提供了一种会话消息生成方法、装置及设备,实现了在当前会话过程中,根据会话机器人执行消息输入操作时所处的会话角色,生成会话机器人输入的会话消息,使得人机会话更接近真实用户与真实用户之间的会话,丰富了人机会话形式,从而可提高人机会话的趣味性。
一方面,本发明实施例提供了一种会话消息生成方法,包括:
当检测到当前人机会话过程中存在触发事件时,获取所述当前会话过程中会话机器人与目标用户之间的历史会话消息以及与会话主题相关的会话参考信息集,所述触发事件用于触发所述会话机器人在所述当前会话过程中执行消息输入操作,所述历史会话消息包括:在所述当前会话过程中所述会话机器人处于主动会话角色时输入的会话消息、和/或在所述当前会话过程中所述会话机器人处于被动会话角色时输入的会话消息;
根据所述历史会话消息和所述会话参考信息集,确定所述会话机器人在执行所述消息输入操作时所处的目标会话角色,所述目标会话角色为主动会话角色或被动会话角色;
基于所述历史会话消息和所述会话参考信息集,生成与所述目标会话角色对应的目标会话消息,并输出所述目标会话消息。
一方面,本发明实施例提供了一种会话消息生成装置,包括:
获取单元,用于当检测到当前人机会话过程中存在触发事件时,获取所述当前会话过程中会话机器人与目标用户之间的历史会话消息以及与会话主题相关的会话参考信息集,所述触发事件用于触发所述会话机器人在所述当前会话过程中执行消息输入操作,所述历史会话消息包括:在所述当前会话过程中所述机器人处于主动会话角色时输入的会话消息、和/或在所述当前会话过程中所述会话机器人处于被动会话角色时输入的会话消息;
处理单元,用于根据所述历史会话消息和所述会话参考信息集,确定所述会话机器人在执行所述消息输入操作时所处的目标会话角色,所述目标会话角色为主动会话角色或被动会话角色;
所述处理单元,用于基于所述历史会话消息和所述会话参考信息集,生成与所述目标会话角色对应的目标会话消息,并输出所述目标会话消息。
一方面,本发明实施例提供了一种会话消息生成设备,其特征在于,包括:
处理器,适于实现一条或多条指令,以及
计算机存储介质,所述计算机存储介质存储有一条或多条指令,所述一条或多条指令适于由所述处理器加载并执行:
当检测到当前人机会话过程中存在触发事件时,获取所述当前会话过程中会话机器人与目标用户之间的历史会话消息以及与会话主题相关的会话参考信息集,所述触发事件用于触发所述会话机器人在所述当前会话过程中执行消息输入操作,所述历史会话消息包括:在所述当前会话过程中所述会话机器人处于主动会话角色时输入的会话消息、和/或在所述当前会话过程中所述会话机器人处于被动会话角色时输入的会话消息;根据所述历史会话消息和所述会话参考信息集,确定所述会话机器人在执行所述消息输入操作时所处的目标会话角色,所述目标会话角色为主动会话角色或被动会话角色;基于所述历史会话消息和所述会话参考信息集生成与所述目标会话角色对应的目标会话消息,并输出所述目标会话消息。
一方面,本发明实施例提供了一种计算机存储介质,其特征在于,所述计算机存储介质中存储有计算机程序指令,所述计算机程序指令被处理器执行时,用于执行:
当检测到当前人机会话过程中存在触发事件时,获取所述当前会话过程中会话机器人与目标用户之间的历史会话消息以及与会话主题相关的会话参考信息集,所述触发事件用于触发所述会话机器人在所述当前会话过程中执行消息输入操作,所述历史会话消息包括:在所述当前会话过程中所述会话机器人处于主动会话角色时输入的会话消息、和/或在所述当前会话过程中所述会话机器人处于被动会话角色时输入的会话消息;根据所述历史会话消息和所述会话参考信息集,确定所述会话机器人在执行所述消息输入操作时的目标会话角色,所述目标会话角色为主动会话角色或被动会话角色;基于所述历史会话消息和所述会话参考信息集生成与所述目标会话角色对应的目标会话消息,并输出所述目标会话消息。
一方面,本发明实施例提供了一种计算机程序产品或计算机程序,所述计算机程序产品或所述计算机程序包括计算机指令,所述计算机指令存储在计算机可读存储介质中;会话消息生成设备的处理器从所述计算机存储介质中读取所述计算机指令执行:
当检测到当前人机会话过程中存在触发事件时,获取所述当前会话过程中会话机器人与目标用户之间的历史会话消息以及与会话主题相关的会话参考信息集,所述触发事件用于触发所述会话机器人在所述当前会话过程中执行消息输入操作,所述历史会话消息包括:在所述当前会话过程中所述会话机器人处于主动会话角色时输入的会话消息、和/或在所述当前会话过程中所述会话机器人处于被动会话角色时输入的会话消息;根据所述历史会话消息和所述会话参考信息集,确定所述会话机器人在执行所述消息输入操作时所处的目标会话角色,所述目标会话角色为主动会话角色或被动会话角色;基于所述历史会话消息和所述会话参考信息集生成与所述目标会话角色对应的目标会话消息,并输出所述目标会话消息。
本发明实施例中,在会话机器人与目标用户进行人机会话的过程中,当检测到当前人机会话过程中存在触发会话机器人执行消息输入操作的触发事件时,会话消息生成设备获取当前会话过程中会话机器人与目标用户之间的历史会话消息集以及与人机会话主题相关的会话参考信息集;进一步的,根据历史会话消息集和会话参考信息集,确定会话机器人在执行消息输入操作时所处的目标会话角色,目标会话角色可以为主动会话角色或者被动会话角色;然后基于历史会话消息集和会话参考信息集生成与目标会话角色对应的目标会话消息,并输出目标会话消息。由此可见,在当前人机会话过程中,会话消息生成设备会生成符合会话机器人角色的会话消息,与现有技术中会话机器人一味的被动回复用户消息以及单一推荐参考会话信息集中信息的会话形式相比,丰富了人机会话方式,提高了人机交互的精准性,也可提高用户的会话兴趣。
附图说明
为了更清楚地说明本发明实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的一种会话中会话参与者的会话角色转换示意图;
图2是本发明实施例提供的一种会话处理模型的结构示意图;
图3a是本发明实施例提供的一种会话参考信息集的示意图;
图3b是本发明实施例提供的一种目标用户与会话机器人进行人机会话的示意图;
图4是本发明实施例提供的一种会话消息生成方法的流程示意图;
图5a是为本发明实施例提供的一种创建人机会话的示意图;
图5b是为本发明实施例提供的另一种创建人机会话的示意图;
图6是本发明实施例提供的另一种会话消息生成方法的流程示意图;
图7是本发明实施例提供的第一关联向量和第二关联向量融合的示意图;
图8是本发明实施例提供的一种确定预测字词的示意图;
图9是本发明实施例提供的又一种会话消息生成方法的流程示意图;
图10是本发明实施例提供的一种会话消息生成装置的结构示意图;
图11是本发明实施例提供的一种会话消息生成设备的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。
人工智能(Artificial Intelligence,AI)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。换句话说,人工智能是计算机科学的一个综合技术,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器。人工智能也就是研究各种智能机器的设计原理与实现方法,使机器具有感知、推理与决策的功能。
人工智能技术是一门综合学科,涉及领域广泛,既有硬件层面的技术也有软件层面的技术。人工智能基础技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理技术、操作/交互系统、机电一体化等技术。人工智能软件技术主要包括计算机视觉技术、语音处理技术、自然语言处理技术以及机器学习/深度学习等几大方向。
其中,自然语言处理(Nature Language processing,NLP)是计算机科学领域与人工智能领域中的一个重要方向。它研究能实现人与计算机之间用自然语言进行有效通信的各种理论和方法。自然语言处理是一门融语言学、计算机科学、数学于一体的科学。因此,这一领域的研究将涉及自然语言,即人们日常使用的语言,所以它与语言学的研究有着密切的联系。自然语言处理技术通常包括文本处理、语义理解、机器翻译、机器人问答(也可以理解为人机会话)、知识图谱等技术。
人机会话作为自然语言处理的核心,长久以来成为众多人工智能研究者的研究重点。本发明实施例在人机会话的研究过程中发现,被动对话系统是目前较为常见的人机会话系统,所谓被动对话就是指会话机器人在人机会话过程中的会话角色始终为被动会话角色,在被动对话系统中会话机器人只能被动地回答用户所提出的问题。可见,被动对话系统下聊天机制相对比较单一,用户在被动对话系统下与会话机器人进行会话,很快会失去会话兴趣。
为解决此问题,本发明发现可以使用一些外部知识(后续可以简称为会话参考信息)来赋予会话机器人主动表达的能力,这种基于外部知识赋予会话机器人主动表达能力的对话系统可以称为主动对话系统。在主动对话系统中,会话机器人在人机会话过程中的会话角色始终为主动会话角色,主动对话系统下会话机器人根据外部知识主动引导会话,主动向用户传递外部知识包括的一些信息。在实践中发现,主动对话系统确实可以解决会话机器人被动回复用户的会话消息这一问题,但是又出现了新的问题:由于外部知识中可能包括较多信息,为了把外部知识中的信息传递给用户,会话机器人往往会忽略用户的会话消息,继续自我表达,这种现象也可以称为会话机器人自顾自话。这样一来,导致在人机会话过程中,用户参与度较低,也不能达到较好的人机会话效果。
换句话说,在主动对话系统中,导致会话机器人忽略用户的会话消息的一个原因是会话机器人需要传递的外部知识太多,也就是说会话机器人需要传递的外部知识越多,会话机器人在会话中越主动,也即越容易成为会话引导者(会话引导者在会话过程中会话角色为主动会话角色),可见外部知识的多少与会话角色表现为正相关。
经试验观察,在会话过程中,当其中一个会话参与者引导会话主题时(该会话参与者在会话中的会话角色可以称为主动会话角色),其需要传递更多的信息,需要掌握更多的知识;会话中的另外一个会话参与者作为聆听者(该会话参与者在会话中的会话角色可以称为被动会话角色),则不需要过多的知识,只需要保有基础的会话能力即可。也就是说,在一个会话过程中,不同会话角色对于知识的掌握程度的要求是不同的。
另外,通过对多个会话场景研究发现,一个会话参与者在会话过程中的会话角色是随着会话进行会发生转变的,参见图1,为本发明实施例提供的一种会话过程中两个用户的会话角色转换图。由图1可见,会话参与者1和会话参与者2在整个会话的不同会话轮次中,轮流作为会话引导者,使会话不断进行下去。一个会话轮次可以理解为两个会话参与者各自发送了几条会话消息来讨论同一个内容。
基于上述,本申请提出一种会话消息生成方案,具体地,在当前人机会话过程中,当检测到触发会话机器人执行消息输入操作的触发事件时,根据当前人机会话过程中的历史会话消息和参考会话信息集确定会话机器人在执行消息输入操作时所处的会话角色,然后根据历史会话消息和参考会话信息集生成符合该会话角色的会话消息,这样一来,即向用户传达了信息,又保证了用户在会话过程中的参与者度,提升人机交互体验。
基于上述的会话消息生成方案,本发明实施例提供了一种会话处理模型(又可以称为Initiative-Imitate模型),上述会话消息生成方案可以是会话消息生成设备调用所述会话处理模型执行的。参见图2,为本发明实施例提供的一种会话处理模型的结构示意图。图2所示的会话处理模型可包括三部分,分别为:编码器(encoder)201、知识融合模块(knowledge fusion)202以及会话消息生成模块(generator)203。
在一个实施例中,编码器201可包括历史会话编码器(encoder)2010和参考信息编码器(knowledge encoder)2011,所述历史会话编码器2010和参考信息编码器2011具有相同的结构,但是两者之间的参数不共享。所述历史会话编码器2010的作用是将变长的历史会话消息进行编码处理,转换为定长的向量表示;所述参考信息编码器2011的作用是将会话参考信息集中每个变长的会话消息进行编码处理,转换为相应的定长的向量表示。具体地,历史会话编码器2010对历史会话消息进行编码处理后,得到第一编码结果,参考信息编码器2011对各个会话参考信息进行编码处理后得到每个会话参考信息对应的第二编码结果。
在一个实施例中,知识融合模块202分别与历史会话编码器2010和参考信息编码器2011连接,所述知识融合模块202用于根据第一编码结果和每个会话参考信息对应的第二编码结果进行所述历史会话消息和会话参考信息集的融合,以及确定角色预测参数。
在一个实施例中,知识融合模块202还与会话消息生成模块203连接,所述会话消息生成模块203用于根据角色预测参数确定会话机器人在执行消息输入操作时所处的目标会话角色,进一步的,根据目标会话角色和知识融合模块202对历史会话消息和会话参考信息集的融合结果,生成与目标角色对应的目标会话消息,然后可以输出目标会话消息。
在当前人机会话过程中,采用上述会话处理模型实时生成会话机器人对应的目标会话消息,实现了更符合角色状态的表达回复,增加用户在人机会话过程中的参与度,提高人机会话的智能性。
为了测试上述会话处理模型在人机会话中的优势,本发明实施例将会话处理模型和其他几个人机会话模型进行比较,例如将本发明实施例中的会话处理模型与seq2seq、seq2seqattn、CopyNet、Generative-base、DeepCopy等几个用在人机会话中的常用模型进行比较。
可选的,比较的自动指标可包括F1、BELU-1、BELU-2、Distinct-1以及Distinct-2,比较结果可如下表1所示:
表1会话处理模型与其他模型的比较
模型名称 | F1 | BELU-1 | BELU-2 | Distinct-1 | Distinct-2 |
seq2seq | 37.60 | 0.265 | 0.265 | 0.265 | 0.189 |
seq2seqattn | 38.26 | 0.264 | 0.173 | 0.085 | 0.192 |
CopyNet | 39.01 | 0.229 | 0.154 | 0.132 | 0.307 |
Generative-base | 35.98 | 0.341 | 0.189 | 0.062 | 0.178 |
DeepCopy | 43.31 | 0.308 | 0.213 | 0.129 | 0.311 |
Initiative-Imitate | 44.11 | 0.335 | 0.231 | 0.127 | 0.319 |
通过上述对比可见,本发明实施例提出的会话处理模型Initiative-Imitate在其中三个指标上均获得了最优的结果,并且在另外的两个指标也与最优结果差距较少。特别的,Initiative-Imitate模型继承了DeepCopy模型,并且在其中增加了角色状态控制和会话参考信息,相关的结果表明,对于角色状态的建模能够进一步提高模型的效果。
上述的各个指标均是自动指标,自动指标的评估反映了各种人机会话模型在词级别的整体效果,下面通过人工评估结果对上述各个模型进行评估。人工评估结果则更多的反映在实际的人机会话过程中句子级别的整体效果,为了反映人机会话过程中用户参与度,本发明实施例在人工评估指标中加入了参与度Engagement指标,人工评估其他指标还包括流利度(fluency)和一致性(coherence),上述各个模型在人工评估指标方面的对比可如下表2所示:
表2会话处理模型与其他模型的比较
模型名称 | 流利度 | 一致性 | 参与度 |
seq2seq | 1.40 | 1.05 | 0.25 |
seq2seqattn | 0.45 | 1.10 | 0.50 |
CopyNet | 1.75 | 1.30 | 0.15 |
Generative-base | 0.95 | 0.80 | 0.40 |
DeepCopy | 1.8 | 1.68 | 0.30 |
Initiative-Imitate | 1.8 | 1.75 | 0.70 |
从表2的对比结果发现,拥有Copy机制的人机会话模型,如CopyNet,DeepCopy,Initiative-Imitate获取了更好的流利度和一致性,但是由于过多的会话参考信息,导致相应的用户参与度有所降低,其实际会话表现为会话机器人忽略用户表达的内容,自说自话,对用户提出的问题不予理睬。此外,注意力机制能够使得模型整体有较大的提升,主要是考虑了用户的表达内容,也即历史会话消息,根据用户的表达内容为会话机器人生成相应的会话消息更为精准。
综合表1和表2的对比结果,本发明实施例提出的会话处理模型在各个指标上均名列前茅,而且极大提升了用户在人机会话过程中的参与度,实现了更佳体验的人机交互。
上述会话处理模型可以应用在诸多人机会话系统中,如闲聊型会话聊天和知识推荐型会话中。也可以应用到多种会话式聊天服务的产品中,参见图3a为本发明实施例提供的一种会话参考信息集的示意图。图3b为本发明实施例提供的一种目标用户与会话机器人进行人机会话的示意图。
在图3b所示的会话参考信息集中,300表示会话参考信息集,会话参考信息集中包括多个会话参考信息。假设图3b所示的人机会话属于闲聊型会话,则在图3b中每个会话参考信息可以是与闲聊主题相关的信息。比如闲聊主题是电影毒战,会话参考信息集中包括的会话参考信息是与电影毒战相关。比如会话参考信息311是毒战中主要演员郝平的身高介绍,322是对高姝瑶的学历介绍,高姝瑶是与毒战中主要演员郝平一同参演了电影“约会专家”。
在图3b中301表示目标用户与会话机器人进行人机会话的会话界面,31表示会话机器人的标识信息,32表示目标用户的标识信息,在图3a所示的会话界面中,会话机器人输入的会话消息均是会话消息生成设备调用上述会话处理模型生成的、与会话机器人每次输入会话消息时的会话角色对应的。
通过图3a可见,会话机器人在与目标用户的会话过程中,会话机器人的会话角色是不断切换的。比如会话机器人在会话界面中输入“毒战看过吗?”这句会话消息时如图3a所示,会话机器人是为了引导目标用户参与到对毒战这部电影的讨论中来,因此会话机器人此时的会话角色为主动会话角色;当目标用户回复了会话机器人的第一句会话消息如图3a中3B所示“看过的,……是吧”,此时会话消息生成设备根据当前人机会话过程中的历史会话消息和会话参考信息集确定出此时会话机器人需要回答目标用户提出的问题,因此会话机器人的会话角色需要由上一次的主动会话角色,切换到被动会话角色,所以会话消息生成设备生成与被动会话角色对应的会话消息,如图3a中3C所示。
再接着,目标用户针对会话机器人输入的会话消息3C,输入了回复会话消息3D,从3D中可见,目标用户输入的会话消息只是对3C会话消息的附和,并为引出新的会话内容,也就是说目标用户处于被动会话角色。此时,会话机器人为了让会话继续下去,会话机器人需要输入一些会话消息来引出更多的会话内容,所以会话消息设备在生成会话消息3E之前,确定出会话机器人处于主动会话角色,进而根据会话过程中的所有历史会话消息和会话参考信息集生成与主动会话角色对应的会话消息3E。
综上所述,在人机会话过程中基于会话处理模型生成会话机器人输入的会话消息,可以使得会话机器人在会话过程中在主动会话角色和被动会话角色之间不断切换,以达到会话机器人既能够主动地向用户推荐会话参考信息集中的会话参考信息,又能够回答目标用户提出的问题的目的。
图3b只是本发明实施例提供的一种会话处理模型的应用场景,会话处理模型还可以应用在其他场景中,比如在医疗问答中,会话消息生成设备调用会话处理模型以利用医保知识库中的知识,主动性地向用户传达相应的知识,又能够对用户提出的问题作出回应。比如医保知识库中存储有关睡眠的知识为:{“正常人睡眠时间8-10小时。”,“过度劳累会导致关节炎,脊椎病,腰间盘突出等,内科上可能有肾病,心肌劳损等一些疾病”,“过少的睡眠会让你感觉比平时更饥饿”……}。在用户咨询相关的睡眠问题时,会话机器人基于上述的知识回答用户的相关问题,并主动向用户推荐一些睡眠相关的小知识,使得整个会话更加有趣。
基于上述的会话处理模型,本发明实施例提供了一种会话消息生成方法,参见图4,为本发明实施例提供的一种会话消息生成方法的流程示意图。图4所述的会话消息生成方法可由会话消息生成设备执行,具体可由会话消息生成设备的处理器执行。图4所示的会话消息生成方法可包括如下步骤:
步骤S401、当检测到当前人机会话过程中存在触发事件时,获取当前人机会话过程中会话机器人与目标用户之间的历史会话消息以及与会话主题相关的会话参考信息集。
在一个实施例中,会话机器人与目标用户之间的当前人机会话可以是会话消息显示设备在检测到创建当前人机会话的会话创建事件时创建的。所述会话创建事件可以包括目标用户在会话消息显示设备中输入的创建会话操作。其中,所述会话消息显示设备与会话消息生成设备可以是同一个设备,均可以包括:智能手机、平板电脑、笔记本电脑、台式计算机、智能音箱、智能手表、智能车载、智能电视等设备。或者,所述会话消息显示设备可以是上述任意一种设备,会话消息生成设备可以是为会话消息显示设备中的人机会话提供支持的服务器,具体地可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN、以及大数据和人工智能平台等基础云计算服务的云服务器。
作为一种可选的实施方式,目标用户可以通过会话消息显示设备浏览任意信息,比如电影推荐信息以及医疗知识等。会话消息显示设备在显示电影推荐信息以及医疗知识等信息时,可以同时显示创建人机会话的触发控件;当目标用户对所述触发控件进行选中时,表明目标用户输入了创建会话操作,此时会话消息显示设备创建目标用户与会话机器人之间的当前人机会话。
例如,参见图5a,为本发明实施例提供的一种创建人机会话的示意图,假设501表示目标用户正在浏览的电影推荐信息的浏览界面,浏览界面中可包括创建人机会话的触发控件502;当目标用户对所述触发控件502输入了触发操作时,则会话消息显示设备创建目标用户与会话机器人之间的人机会话,同时可以将人机会话窗口显示在浏览界面中,如图5a中503所示。
作为另一种可选的实施方式,会话消息显示设备可以预先指定一些目标信息,当目标用户浏览这些目标信息时,弹出创建人机会话的提示窗口;当目标用户触发了提示窗口中的确认按钮时,则确定目标用户输入了创建会话操作,响应于所述创建会话操作创建目标用户与会话机器人之间的当前人机会话。其中,目标信息可以指任意目标用户可以浏览的信息,比如需要目标用户注册后浏览的信息,需要目标用户成为某个平台的会员后可浏览的信息以及一些包括特定词汇的信息,比如包括演员张某某名字的信息、包括XX疾病名字的信息。
例如,参见图5b,为本发明实施例提供的另一种创建人机会话的示意图,假设51表示目标用户正在浏览目标信息的浏览界面,会话显示设备检测到目标用户正在浏览目标信息,则在显示目标信息的浏览界面中弹出创建人机会话的提示窗口如52所示,该提示窗口52中包括提示目标用户创建人机会话的提示信息,比如“您感兴趣的电影,XX可以给出您更加具体的介绍哦,是否立即开始会话”,该提示窗口52中还可以包括确定按钮53;如果目标用户触发了确定按钮53,则确定目标用户输入了创建会话操作,此时会话消息显示设备创建目标用户与会话机器人之间的人机会话。
在其他实施例中,所述会话创建事件还可以包括会话消息显示设备检测到目标用户浏览一些指定信息。具体实现中,当会话消息显示设备检测到目标用户在浏览指定信息时,直接创建并显示会话机器人与目标用户之间的当前人机会话。
会话消息显示设备创建了目标用户与会话机器人之间的当前人机会话后,目标用户与会话机器人开始进行人机会话。在当前人机会话过程中,会话消息生成设备当检测到存在触发事件时,则通过步骤S401获取当前人机会话过程中所述会话机器人与目标用户之间的历史会话消息以及会话主题相关的会话参考信息集。其中,触发事件用于触发所述会话机器人在所述当前会话过程中执行消息输入操作。
会话消息显示设备创建了会话机器人与目标用户之间的当前人机会话后,检测当前人机会话过程,当检测到当前人机会话过程中存在触发事件时,获取当前人机会话过程中会话机器人和目标用户之间的历史会话消息。其中,触发事件是用于触发会话机器人在当前会话过程中执行消息输入操作,简单来说,就是用于表示在当前人机会话过程中,轮到会话机器人发言了。
在一个实施例中,所述触发事件可以指:目标用户在当前人机会话过程中输入了会话消息。比如,目标用户在当前人机会话过程中输入的会话消息为“最近有什么评分高的电影推荐下”,再如,目标用户在当前人机会话过程中输入的会话消息为“睡眠不足对身体有哪些影响?”。此时,需要会话机器人对目标用户输入的会话消息进行答复,此时可以认为在当前人机会话过程中存在触发事件。
另一个实施例中,所述触发事件还可以指:会话机器人输入一个会话消息后,在预设时间内目标用户未输入新的会话消息。比如目标用户输入了会话消息“最近有什么评分高的电影推荐下”,会话机器人针对该会话消息回复了答复的会话消息为“XXX主演的毒战不错”。会话机器人在输入了这句会话消息后,如果在预设时间段内比如2分钟,或者1分钟未检测到目标用户输入的会话消息,则会话机器人可以继续执行会话消息输入操作,比如可以输入一个会话消息来简单介绍一下电影主题等。
在步骤S401中所述历史会话消息是从目标用户与会话机器人之间的当前人机会话被创建开始到检测到触发事件时当前人机会话中产生的所有会话消息,这些会话消息可以包括目标用户输入的会话消息,也可以包括会话机器人输入的会话消息。具体地可以包括会话机器人处于主动会话角色时输入的会话消息,和/或会话机器人处于被动角色时输入的会话消息。例如,参见图3b中,3A、3B、3C、3D以及3E均为当前人机会话过程中的历史会话消息,其中,3B和3D是目标用户输入的,3A和3E是会话机器人处于主动会话角色时输入的会话消息,3B是会话机器人处于被动会话角色时输入的会话消息。
可选的,本发明实施例获取到历史会话消息后,可以将历史会话消息按照生成的时间顺序进行拼接,可以通过下述公式(1)表示拼接后的历史会话消息:
在公式(1)中,x表示历史会话消息,x1表示历史会话消息中的第一个字词,x2表示历史会话消息中的第二个字词,以此类推,表示历史会话消息中的最后一个字词,nx表示历史会话消息中包括的字词总数量。
在一个实施例中,所述会话主题相关的会话参考信息集(也可以称为知识信息)可以是根据会话消息生成设备预先设置的多组会话参考信息集与会话主题之间的对应关系获取到的。比如会话消息生成设备预先设定了:医疗类会话主题与第一会话参考信息集对应,电影推荐类会话主题与第二会话参考信息集对应;购物咨询类会话主题与第三类会话参考信息对应。会话消息生成设备响应于触发事件,判断会话机器人与目标用户之间的当前人机会话的会话主题;从上述多组对应关系中选取与人机会话的会话主题对应的会话参考信息集。
在一个实施例中,会话参考信息集中可包括多个会话参考信息,每个会话参考信息中可包括多个字词。可选的,本发明实施例中可以通过下述公式(2)表示会话参考信息集:
在公式(2)中,k1表示会话参考信息集包括的第一个会话参考信息,k2表示会话参考信息集包括的第二个会话参考信息,以此类推,会话参考信息集包括的最后一个会话参考信息,nk表示会话参考信息集中包括的会话参考信息总数量。
每一个会话参考信息是由多个字词组成的,下面通过公式(3)表示任意一个会话参考信息:
在公式(3)中,ki表示会话参考信息集中包括的任意一个会话参考信息,表示任意一个会话参考信息中包括的第一个字词,表示任意一个会话参考信息中包括的第二个字词,以此类推可知,表示任意一个会话参考信息中包括的字词的总数量。
步骤S402、根据历史会话消息和会话参考信息集,确定会话机器人在执行消息输入操作时所处的目标会话角色。
由前述可知,在任意一个会话中,处于不同会话角色的会话参与者在会话中所起的作用不同,其所输入的会话消息中包括的信息也不同。比如,在任意一个会话中,处于主动会话角色的会话参与者,其作用是为了抛出更多会话信息,以引导其他会话参与者在会话中输入会话消息,从而保证会话持续进行下去。因此,主动会话角色输入的会话消息中需要包括更多的信息;再如,在任意一个会话中,处于被动会话角色的会话参与者,其作用是为了附和会话引导者输入的会话消息,那么其输入的会话消息中可不必包括太多的信息,只需要达到回答或者附和主动会话角色的会话消息的目的即可。
上述规律在人机会话也不例外,本发明实施例中,为了在当前人机会话过程中既保证目标用户具有足够的参与感,又要保证会话机器人输入的会话消息不是简单的无趣的,则在会话机器人执行消息输入操作时,可以生成与会话机器人当前所处的目标会话角色对应的会话消息。
为了达到上述目的,首先需要通过步骤S402根据历史会话消息和会话参考信息集确定会话机器人在执行消息输入操作时所处的目标会话角色。其中,所述目标会话角色可以为主动会话角色或者被动会话角色。
在一个实施例中,所述根据历史会话消息和会话参考信息集确定会话机器人在执行所述消息输入操作时所处的目标会话角色包括:根据所述历史会话消息和所述会话参考信息集确定用于预测会话机器人的会话角色状态的角色预测参数;将所述角色预测参数输入至会话角色状态预测规则中进行运算,得到会话角色状态,并将所述会话角色状态所指示的会话角色作为所述会话机器人的目标会话角色。
在一个实施例中,上述根据历史会话消息和会话参考信息集确定会话机器人在执行所述消息输入操作时所处的目标会话角色可以是会话消息生成设备调用会话处理模型执行的。由前述可知,所述会话处理模型可以包括知识融合模块和会话消息生成模块,具体地,所述根据历史会话消息和所述会话参考信息集确定用于预测会话机器人的会话角色的角色预测参数是调用所述知识融合模块执行的;所述将所述角色预测参数输入至会话角色状态预测规则中进行运算,得到会话角色状态,并将所述会话角色状态所指示的会话角色作为所述会话机器人的目标会话角色,这一步骤是会话消息生成设备调用所述会话消息生成模块执行的。
可选的,所述根据所述历史会话消息和所述会话参考信息集确定用于预测会话角色状态的角色预测参数,可包括:对所述历史会话消息进行编码处理,得到第一编码结果;根据所述第一编码结果为所述会话参考信息集中每个会话参考信息设置对应的权重值,以及基于所述每个会话参考信息对应的权重值对会话参考信息集中每个会话参考信息进行编码处理,得到每个会话参考信息对应的第二编码结果;基于每个会话参考信息对应的第二编码结果和角色预测参数确定规则得到角色预测参数。
在一个实施例中,所述会话消息处理模型还可以包括编码器,所述编码器包括历史会话编码器和参考信息编码器,所述对历史会话消息进行编码处理得到第一编码结果是调用所述历史会话编码器执行的;所述基于所述每个会话参考信息对应的权重值对会话参考信息集中每个会话参考信息进行编码处理得到每个会话参考信息对应的第二编码结果是调用参考信息编码器执行的。
其中,所述历史会话编码器可以是RNN类型的神经网络,所述第一编码结果可以是一个隐状态集合,隐状态集合中包括多个隐状态,多个隐状态的总数量等于历史会话消息中包括的字词总数量,比如历史会话消息中包括5个字词,那么隐状态集合中包括5个隐状态。
举例来说,假设第一编码结果可以通过如下公式(4)表示,在公式(4)中C表示第一编码结果,h1表示第一个隐状态,表示最后一个隐状态:
在采用历史会话编码器对历史会话消息进行编码时,是一个字词一个字词进行的,具体地:历史会话编码器对第一个字词进行编码处理,得到第一个隐状态;然后,将第二个字词和第一个隐状态进行编码处理,得到第二个隐状态;以此类推得到多个隐状态。由此可见,第一编码结果中包括的多个隐状态中,后一个隐状态是基于与该隐状态对应的字词和前一个隐状态进行编码得到的,该过程可以表示为公式(5):
ht=f(xt,ht-1) (5)
在公式(5)中,f表示编码处理,ht表示多个隐状态中第t个隐状态,ht-1表示第t-1个隐状态,xt表示历史会话消息中的第t个字词。
在一个实施例中,参考信息编码器可以是与历史会话编码器具有相同结构不同参数的RNN类型的神经网络。参考信息编码器基于每个会话参考信息对应的权重值对相应的会话参考信息进行编码处理过程也可以是逐词处理的,与上述历史会话编码器对历史会话消息的编码过程相同。对每个会话参考信息编码处理后,可以得到每个会话参考信息对应的第二编码结果,每个第二编码结果也可以是一个隐状态集合。
举例来说,第i个会话参考信息对应的第二编码结果可以表示为其中,t大于等于1,小于等于第i个会话参考信息中包括的字词总数量
会话消息生成设备获取到第二编码结果后,可以基于每个会话参考信息对应的第二编码结果和角色预测参数确定规则得到角色预测参数。具体实现中,基于所述每个会话参考信息对应的第二编码结果确定第一联合上下文向量;将第一联合上下文向量输入到角色预测参数确定规则中进行运算,并将运算结果确定为角色预测参数。可选的,基于所述每个会话参考信息对应的第二编码结果确定第一联合上下文向量,可以包括:将每个第二编码结果中的最后一个隐向量进行相加处理,相加处理的结果可以作为第一联合上下文向量。
举例来说,假设第i个会话参考信息对应的第二编码结果中的最后一个隐状态表示为则将所有会话参考信息对应的第二编码结果中最后一个隐状态进行相加处理得到第一联合上下文向量,可以通过如下公式(6)表示:
在公式(6)中,表示第二联合上下文向量,nk表示会话参考信息集中包括的会话参考信息的总数量。
得到第一联合上下文向量后,将第一联合上下文向量以及其他模型参数带入到角色预测参数确定规则中进行运算,便可得到角色预测参数。该过程可通过下述公式(7)表示:
在公式(7)中,fk表示角色预测参数,σ、以及表示模型参数。
由前述可知,得到角色预测参数后,可以将所述角色预测参数输入至会话角色状态预测规则中进行运算得到会话角色状态,该步骤可以通过下述公式(8)表示:
rolep=σ(Wfk+b) (8)
在公式(8)中,rolep表示会话角色状态,W和b表示模型参数。根据公式(8)得到会话角色状态后,将会话角色状态所指示的会话角色确定为会话机器人在执行消息输入操作时的目标会话角色。可选的,会话角色状态可以包括0和1,0指示的会话角色可以是被动会话角色;1,指示的会话角色可以是主动会话角色;或者0指示的会话角色为主动会话角色,1表示的会话角色为被动会话角色。
步骤S403、基于历史会话消息和会话参考信息集生成与目标会话角色对应的目标会话消息,并输出目标会话消息。
由步骤S401和步骤S402确定出会话机器人在当前人机会话过程中执行消息输入操作时所处的目标会话角色后,可以根据历史会话消息和会话参考信息集生成符合目标会话角色的目标会话消息,作为会话机器人在当前人机会话过程中执行消息输入操作所产生的会话消息。
在一个实施例中,所述根据历史会话消息和会话参考信息集生成符合目标会话角色的目标会话消息可以是:根据历史会话消息了解当前人机会话过程中沟通了哪些信息;结合会话参考信息集明确可以根据会话参考信息集中的哪些会话参考信息来回复目标用户在历史会话消息中提出的问题,或者向目标用户传递哪些会话参考信息。
在一个实施例中,所述根据历史会话消息和会话参考信息集生成符合目标会话角色的目标会话消息可以是会话消息生成设备调用会话处理模型中的会话消息生成模块执行的。
在一个实施例中,如果会话消息生成设备和会话消息显示设备不是同一个设备,则所述输出目标会话消息可以指:会话消息生成设备将目标会话消息发送给会话显示设备,由会话显示设备向目标用户展示;如果会话消息生成设备和会话消息显示设备是同一个设备,则输出目标会话消息可以指:将目标会话消息显示在目标用户与会话机器人进行当前人机会话的窗口中。
本发明实施例中,在会话机器人与目标用户进行当前人机会话的过程中,当检测到当前人机会话过程中存在触发会话机器人在当前会话过程中执行消息输入操作的触发事件时,会话消息生成设备获取当前人机会话中的目标用户与会话机器人之间的历史会话消息以及与当前人机会话主题相关的会话参考信息集;进一步的,根据历史会话消息集和会话参考信息集确定会话机器人在执行消息输入操作时所处的目标会话角色;然后基于历史会话消息和会话参考信息集生成与目标会话角色对应的目标会话消息,并输出目标会话消息。由此可见,在当前人机会话过程中,会话消息生成设备会实时生成符合会话机器人角色的会话消息,与现有技术中会话机器人一味的被动回复用户消息相比,丰富了人机会话方式,提高了人机交互的精准性,也可提高用户的会话兴趣。
基于上述的会话消息生成方法以及会话处理模型,本发明实施例提供了另一种会话消息生成方法,参见图6,为本发明实施例提供的另一种会话消息生成方法的流程示意图。图6所示的会话消息生成方法可由会话消息生成设备执行,具体可由会话消息生成设备的处理器调用会话处理模型执行的。图6所示的会话消息生成设备可包括如下步骤:
步骤S601、当检测到当前人机会话过程中存在触发事件时,获取当前人机会话过程中的会话机器人与目标用户之间的历史会话消息以及与会话主题相关的会话参考信息集。步骤S602、调用历史会话编码器对历史会话消息进行编码处理得到第一编码结果。
步骤S603、调用参考信息编码器根据第一编码结果为会话参考信息集中每个会话参考信息设置对应的权重值,以及与每个会话参考信息对应的权重值对相应的会话参考信息进行编码处理得到每个会话参考信息对应的第二编码结果。
步骤S604、调用知识融合模块基于每个会话参考信息对应的第二编码结果和角色预测参数确定规则得到角色预测参数。
步骤S605、调用会话消息生成模块将所述角色预测参数输入至会话角色状态预测规则中进行运算,得到会话角色状态,并将所述会话角色状态所指示的会话角色作为所述会话机器人在执行消息输入操作时所处的目标会话角色。
在一个实施例中,步骤S601-步骤S605中包括的一些可行的实施方式可参见图4实施例中相关步骤的描述,在此不再赘述。
由前述可知,历史会话编码器、参考信息编码器、知识融合模块以及会话消息生成模块均是会话处理模型包括的模块,会话处理模型的结构可参见图1所示。会话处理模型是基于样本信息集以及目标损失函数训练得到的;其中,样本信息集包括样本历史会话消息、样本会话参考信息集以及预置的所述会话机器人对应的监督会话消息。
可选的,目标损失函数可以包括第一子损失函数、第二子损失函数以及第三子损失函数。在一种实施方式中,目标损失函数可以为第一子损失函数、第二子损失函数以及第三子损失函数相加得到的。例如,目标损失函数可以通过如下公式(9)表示:
LOSS=LNLL+LBOW+LRole (9)
在公式(9)中,LOSS表示目标损失函数,LNLL表示第一子损失函数,LBOW表示第二子损失函数,LRole表示第三子损失函数。
在一个实施例中,第一子损失函数可以基于监督会话消息和样本会话消息确定的,所述样本会话消息是所述会话处理模型基于所述样本历史会话消息和所述样本会话参考信息集生成的,与所述会话机器人的样本会话角色对应的会话消息,会话机器人的样本会话角色是基于样本历史会话消息和样本会话参考信息集预测得到的。
应当理解的,会话处理模型基于样本历史会话消息和样本会话参考信息集预测得到所述会话机器人的实施方式,与图4所示的实施例中步骤S402中包括的一些实施方式是相同的;另外,会话处理模型基于所述样本历史会话消息和所述样本会话参考信息集生成的,与所述会话机器人的样本会话角色对应的会话消息的实施方式,与图4所示的实施例中步骤S403中包括的实施方式是相同的。
在一个实施例中,所述第一子损失函数可以是负对数似然损失,通过如下公式(10)表示:
在公式(10)中LNLL表示第一子损失函数,yt表示监督会话消息中的第t个字词,|y|表示监督会话消息包括的字词总数量,x′表示样本历史会话消息,k′表示样本会话参考信息集,pt表示小于t位置的已生成内容下对于t位置的输出yt的条件概率。
在一个实施例中,第二子损失函数是基于所述监督会话消息和所述样本会话参考信息集之间的相关性确定的。引入第二子损失函数的目的是为了使会话处理模型尽可能地考虑相对应的知识的影响。可选的,第二子损失函数可以是较为经典的词袋损失函数,可以表示为如下公式(11)所示:
在公式(11)中,表示在对会话处理模型训练过程中,产生的第二联合上下文向量,的求解方式可如公式(12)所示:
在公式(12)中MLP函数的作用是将转换成长度等于目标词汇长度的向量,softmax函数表示获取转换后的分布。
在一个实施例中,第三子损失函数是基于所述会话机器人的样本会话角色对应的会话角色状态确定的,由于本发明实施例中在生成会话机器人的会话消息时,引入了角色状态的建模,因此为了提高会话生成模块在角色状态建模方面的准确性,有必要将会话角色状态考虑到会话生成模型的训练损失函数中。可选的,第三子损失函数可以是一个交叉熵损失函数,可通过公式(13)表示:
LRole=BCE(rolep,role) (13)
在公式(13)中rolep表示样本会话角色对应的会话角色状态,role表示会话机器人的真实会话角色对应的会话角色状态。BCE表示二进制交叉熵函数。
在一个实施例中,通过步骤S602-步骤S605确定所述会话机器人在人机会话过程中的目标会话角色的可行实施方式,可参见图4实施例中相关步骤的描述,在此不再赘述。
步骤S606、调用知识融合模块根据第一编码结果确定第二联合上下文向量,以及基于每个会话参考信息对应的第二编码结果确定第一联合上下文向量。
在一个实施例中,通过步骤S601-步骤S605确定了会话机器人在人机会话过程中的目标会话角色后,进一步的,通过步骤S606-步骤608生成与目标会话角色对应的目标会话消息。
通过步骤S606-步骤S608生成目标会话消息的主要思路是:将历史会话消息和会话参考信息集进行融合;然后基于融合处理的结果与会话角色状态进行拼接处理,进一步根据拼接处理的结果进行字词预测,得到多个预测的字词;最后将各个预测得到的字词按序拼接,组成了目标会话消息。
具体实现中,将历史会话消息和会话参考信息集进行融合实质是根据历史编码器对历史会话消息进行编码到的第一编码结果,以及参考信息编码器对各个会话参考信息编码得到的多个第二编码结果执行的。具体地,在步骤S606中,调用知识融合模块根据第一编码结果确定第二联合上下文向量,以及基于每个会话参考信息对应的第二编码结果确定第一联合上下文向量。
由前述可知,第一编码结果中包括对历史会话消息编码所得的多个隐状态,所述根据第一编码结果确定第二联合上下文向量,可以包括:将第一编码结果中的最后一个隐状态作为第二联合上下文向量。例如,第二联合上下文向量可以表示为如下公式(14):
在公式(14)中,表示第二联合上下文向量,表示第一编码结果中包括的最后一个隐状态。
每个参考会话信息对应的第二编码结果包括对相应参考会话信息进行编码所得的多个隐状态,所述根据每个参考会话信息对应的第二编码结果确定第一联合上下文向量,可包括:将每个第二编码结果包括的最后一个隐状态进行相加运算,相加运算的结果作为第一联合上下文向量。
可选的,根据每个会话参考信息对应的第二编码结果确定第一联合上下文向量,可以通过上述公式(6)表示。
步骤S607、将第一联合上下文向量对应的第一关联向量,以及第二联合上下文向量对应的第二关联向量进行融合处理,得到融合关联向量,并将会话角色状态与所述融合关联向量进行拼接处理。
在一个实施例中,第一联合上下文向量对应的第一关联向量可以是通过对第一联合上下文向量进行预设运算处理得到的,同理的,第二联合上下文向量对应的第二关联向量是通过对第二联合上下文向量进行预设运算处理得到的。假设第一联合上下文向量表示为第一联合上下文向量对应的第一关联向量表示为假设第二联合上下文向量表示为第二联合上下文向量对应的第一关联向量表示为第一联合上下文向量和第一关联向量之间的关系,以及第二联合上下文向量和第二关联向量之间的关系,均可以通过如下公式(15)表示:
在公式(15)中表示一个联合上下文向量,表示与联合上下文向量对应的一个关联向量;i的取值为x和h,当i取x时表示第二联合上下文向量,表示与第二联合上下文向量对应的第二关联向量;当i取h时表示第一联合上下文向量,表示与第一联合上下文向量对应的第一关联向量。
在一个实施例中,所述将第一联合上下文向量对应的第一关联向量,以及第二联合上下文向量对应的第二关联向量进行融合处理,得到融合关联向量,包括:将角色预测参数作为会话参考信息集在生成目标会话消息时的第一参考权重,以及将所述第二联合上下文向量输入至参考权重确定规则中进行运算,得到所述历史会话消息在生成所述目标会话消息时的第二参考权重;将所述第一参考权重与所述第一关联向量进行相乘运算得到第一运算结果,以及将所述第二关联向量与所述第二参考权重进行相乘运算得到第二运算结果;基于所述第一运算结果和所述第二运算结果进行融合处理,得到所述融合向量。
应当理解的,根据会话机器人的角色预测参数来控制在生成目标会话消息时对会话参考信息的第一参考权重,第一参考权重值越大那么在生成目标会话消息时对会话参考信息集的参考多与对历史会话消息的参考;反之,对历史会话消息的参考多与对会话参考信息集的参考。可以知道的,如果会话机器人的目标会话角色为主动会话角色,那么会话机器人需要引导当前人机会话,因此在生成会话机器人的目标会话消息时对会话参考信息集中的参考就更多一些,相反,如果会话机器人的会话角色为被动会话角色,那么会话机器人更多的需要针对目标用户输入的会话消息进行回复或者附和,因此在生成会话机器人的目标会话消息时对历史会话消息的参考就更多一些。可见,本发明实施例实现了通过会话机器人在当前人机会话过程中所处的会话角色,控制在生成会话机器人输入的会话消息时对会话参考信息的融合的多少。避免了现有技术中会话机器人一味地作为主动会话角色,忽略目标用户的会话消息,这一现象的出现,实现了会话机器人的会话角色智能切换,提高了目标用户在当前人机会话过程中的参与感。
在一个实施例中,上述将所述第二联合上下文向量输入至参考权重确定规则中进行运算,得到历史会话消息在生成目标会话消息时的第二参考权重,可以通过如下公式(16)表示。假设第二参考权重表示为fk,参考权重确定规则如公式(16):
在公式(16)中,和均表示计算fx时所需的模型参数。
在一个实施例中,所述将第一参考权重与第二关联向量进行相乘运算得到第一运算结果,以及将第二关联向量与所述第二参考权重进行相乘运算得到第二运算结果,以及基于第一运算结果和第二运算结果进行融合处理得到所述融合关联向量,可以通过下述公式(17)表示:
在公式(17)中,C表示融合关联向量,fx表示第二参考权重,表示第二关联向量,由前述可知,fk表示角色预测参数,也即第一参考权重,表示第一关联向量。i和u是根据会话处理模型的模型参数计算得到的。
参数i是根据第一联合上下文向量、第二联合上下文向量以及一些其他模型参数确定的,例如参数i的运算可如下通过公式(18)表示,在公式(18)中,σ、 以及bi均表示计算i时所需要的模型参数。
参数u可以是通过下述公式(19)计算得到的,在公式(19)中,以及bu均表示计算u时所需的模型参数。
基于上述描述,将所述第一关联向量以及第二关联向量进行融合处理,得到融合关联向量的过程,可参见图7所示。由图7可见,在将第一关联向量和第二关联向量融合的过程中,将第一联合上下文向量第一联合上下文向量对应的第一关联参向量第二联合上下文向量以及第二联合上下文向量对应的第二关联向量输入到知识融合模块701,知识融合模块701获取参数i、u、fx以及fk;然后将i和u进行相乘运算、将fx与进行相乘运算,将fk与进行相乘运算;将三个相乘运算的结果进行相加,融合关联向量C。
在一个实施例中,得到关联融合向量后,还可以通过公式(20)得到第一联合上下文向量和第二联合上下文向量进行融合得到的融合向量h:
h=o⊙tanh(c) (20)
在公式(20)中,o的计算方式可为:其中,以及bo均表示计算o时所需的模型参数。
步骤S608、基于拼接处理得到的向量进行字词预测处理,得到多个预测字词,并将多个预测字词按序拼接得到目标会话消息。
可选的,通过步骤S607得到关联融合向量C后,可以将C与会话角色状态进行拼接处理,并根据拼接处理的结果进行字词预测,得到多个预测字词,并将多个预测字词按序拼接便可得到目标会话消息。
在一个实施例中,所述基于拼接得到的向量进行字词预测处理,得到多个预测字词,并将所述多个预测字词按序拼接得到目标会话消息,可包括:获取至少一个候选字词,以及基于拼接处理得到的向量获取至少一个候选字词中每个候选字词作为第N个预测字词的预测概率,N为大于等于1的整数;从所述至少一个候选字词中选择预测概率最大的候选字词作为第N个预测字词;若由前N个预测字词按序拼接得到的会话消息满足会话消息生成条件,则将所述由前N个预测字词按序拼接到的会话消息作为目标会话消息,并停止上述过程;若由前N个预测字词按序拼接到的会话消息不满足会话消息生成条件,则对N执行加1操作,并重复执行上述过程。
可选的,获取至少一个候选字词,包括:将预置字词表包括的第一字词集中的多个字词、所述历史会话消息包括的第二字词集中的多个字词以及每个参考会话消息包括的第三字词集中的多个字词进行去重处理,得到多个候选字词;所述基于拼接处理得到的向量获取所述至少一个候选字词中每个候选字词作为第N个预测字词的预测概率,包括:确定所述至少一个候选字词中任一候选字词所属字词集,并基于拼接处理结果确定所述任一候选字词在所属字词集中作为第N个预测字词的第一概率;基于所述任一候选字词在所属字词集中的第一概率确定所述任一候选字词作为第N个预测字词的预测概率。
具体实现中,所述基于所述任一候选字词在所属字词集中的第一概率确定所述任一候选字词作为第N个预测字词的预测概率,包括:若所述任一候选字词所属字词集的数量为一个,则将所述任一候选字词在所属字词集中的第一概率确定为所述任一候选字词作为第N个预测字词的预测概率;若所述任一候选字词所属字词集的数量为至少两个,则将所述任一候选字词在每个所属字词集中的第一概率进行相加运算,得到的运算结果确定为所述任一候选字词作为第N个预测字词的预测概率。
简单来说,本发明实施例中目标会话消息中包括各个预测字词的确定方式可以包括两种模式,一种是生成模式,一种是粘贴模式;生成模式是指从预置字词表中选取预测字词,粘贴模式是指从历史会话消息和会话参考信息集中确定预测字词。
基于此,结合上述描述可知,生成各个预测字词的步骤可以概括为:将预置字词表包括的第一字词集中多个字词,历史会话消息包括的第二字词集中的多个字词以及每个参考会话信息包括的第三字词集中的多个字词去重后组成至少一个候选字词;对于任意一个候选字词,如果该候选字词只属于第一字词集、第二字词集以及第三字词集中的任意一个,则把该候选字词在对应字词集中的概率作为该候选字词作为第N个预测字词的预测概率;如果该候选字词属于第一字词集、第二字词集以及第三字词集中的任意两个,则将该候选字词在对应的两个字词集中的概率进行相加处理,相加的结果作为该候选字词可以作为第N个预测字词的预测概率。
进一步的,根据各个字词对应的预测概率,可以从中选择预测概率最大的字词作为第N个预测字词。
举例来说,参加图8,为本发明实施例提供的一种确定预测字词的示意图。假设历史会话消息如图8中800所示,可包括Alice输入的会话消息“Do you like pet turtles?”以及Bob输入的会话消息“I have a dog,do you have pets too?”;参考会话信息集可如图8中801所示,可包括k个参考会话信息,比如“I have a pet named Sillvy”,以及“I ama swim coach at local pool”。假设根据历史会话消息和参考会话信息集已经预测出的预测字词包括My cat named,接下来要预测第4个预测字词,此时可见,会话消息生成设备计算历史会话消息包括的第二字词集中每个字词作为第4个预测字词的概率如图8中803所示,第二字词集中每个字词作为第4预测字词的概率表示为γ×(1-Pgen),以及计算参考会话信息集中包括的第三字词集中每个字词作为第4个预测字词的概率如图8中804所示,第三字词集中每个字词作为第4预测字词的概率可以表示为(1-γ)×(1-Pgen);会话消息生成设备还计算预置字词表包括的第一字词集中的每个字词作为第4个预测字词的概率,可以表示为Pgen;最后将来自三部分的字词进行合并,并将该字词在不同字词表中的概率进行合并,生成每个字词对应的预测概率如图8中805所示。
在805中81所指示的预测概率对应的字词只在第一字词集中出现,该字词的预测概率等于其在第一字词集中的概率,82所指示的预测概率对应的字词在第一字词集和第三字词集中均出现,该字词的预测概率等于其在第一字词集中的概率加上其在第三字词集中的概率;83所指示的预测概率对应的字词在第一字词集、第二字词集以及第三字词集中均出现,因此该字词的预测概率等于其在第一字词集的概率加上其在第二字词集的概率,再加上其在第三字词集的概率。
本发明实施例中,在会话机器人与目标用户进行人机会话的过程中,当检测到需要会话机器人输入会话消息时,会话消息生成设备获取人机会话中的历史会话消息集以及与人机会话主题相关的会话参考信息集;进一步的,调用历史会话编码器对所述历史会话消息进行编码处理,得到第一编码结果;调用所述参考信息编码器根据所述第一编码结果为所述会话参考信息集中每个会话参考信息设置对应的权重值,以及基于所述每个会话参考信息对应的权重值对相应的会话参考信息进行编码处理,得到每个会话参考信息对应的第二编码结果。调用所述知识融合模块基于每个会话参考信息对应的第二编码结果和角色预测参数确定规则得到角色预测参数。
然后,调用所述会话消息生成模块将所述角色预测参数输入至会话角色状态预测规则中进行运算,得到会话角色状态,并将所述会话角色状态所指示的会话角色作为所述会话机器人在所述人机会话过程中的目标会话角色。
最后,调用所述知识融合模块根据所述第一编码结果确定第一联合上下文向量,以及基于每个会话参考信息对应的第二编码结果确定第二联合上下文向量;将第一联合上下文向量对应的第一关联向量,以及第二联合上下文向量对应的第二关联向量进行融合处理,得到融合关联向量;将所述会话角色状态与所述融合关联向量进行拼接处理;基于拼接处理得到的向量进行字词预测处理,得到多个预测字词,并将所述多个预测字词按序拼接得到目标会话消息。
与现有技术中会话机器人一味的被动回复用户消息相比,丰富了人机会话方式,提高了人机交互的精准性,也可提高用户的会话兴趣。
基于上述的会话消息生成方法,本发明实施例提供了另一种会话消息生成方法,参见图9,为本发明实施例的又一种会话消息生成方法的流程示意图。图9所示的会话消息生成方法可由会话消息生成设备执行,具体可由会话消息生成设备的处理器执行。图9所述的会话消息生成方法可包括如下步骤:
步骤S901、当检测到当前人机会话过程中存在第二类触发事件时,获取创建当前人机会话的会话创建事件以及参考会话信息集。
在一个实施例中,第二类触发事件可以指当前人机会话被创建。为了提高用户的使用体验,当会话消息生成设备检查到当前人机会话被创建,通常情况下,需要会话机器人可以立即在当前人机会话过程中执行消息输入操作以开启与目标用户之间的会话。
为了提高用户体验以及引起目标用户对当前人机会话的兴趣,当检测到当前人机会话被创建时,需要确定出会话机器人在执行消息输入操作时所处的首次会话角色,以生成符合会话机器人的会话角色的首次会话消息。
步骤S902、根据会话创建事件确定会话机器人执行消息输入操作时所处的首次会话角色,并基于会话参考信息集生成与首次会话角色对应的首次会话消息。
在一个实施例中,由前述可知,会话创建事件可以包括目标会话在会话消息显示设备中输入了创建会话操作;或者,所述会话创建事件还可以包括会话消息显示设备检查到目标用户正在浏览一些指定信息,比如正在浏览关于失眠症状的信息,正在浏览关于电影毒战的一些评论信息等等。
在一个实施例中,本发明实施例可以根据会话创建事件确定会话机器人在执行消息输入操作时所处的首次会话角色。具体实现中,会话消息生成设备可以预先设置会话创建事件与会话机器人的首次会话角色之间的对应关系;然后从预先设置的对应关系中找出与该会话创建事件对应的首次会话角色。
比如,会话消息显示设备预先设置了:如果会话创建事件为目标用户在会话消息显示设备中输入了创建会话操作,则与该会话创建事件对应的首次会话角色为被动会话角色。应当理解的,目标用户在会话消息显示设备中输入了创建会话操作表明目标用户想要主动向会话机器人咨询一些问题,则此时会话机器人可以以被动会话角色向目标用户发送一些打招呼会话消息以及简单的问好会话消息即可。
如果会话创建事件为检测到目标用户正在浏览一些指定信息,则与还会话创建事件对应的首次会话角色为主动会话角色。应当理解的,当检测到目标用户正在浏览一些指定信息,便创建目标用户与会话机器人之间的当前人机会话,表明当前人机会话可以相当于会话机器人主动创建的,那么此时会话机器人的首次会话角色可以是一个主动会话角色,需要以主动会话角色输入会话消息,以告知目标用户建立当前人机会话的目的,比如告知用户通过当前人机会话可以回答目标用户更多有关失眠的知识,或者可以向目标用户推荐一些与电影毒战相关的电影。
进一步的,确定出会话机器人的首次会话角色后,可以基于会话参考信息集生成与首次会话角色对应的首次会话消息。
步骤S903、当检测到当前人机会话过程中存在第一类触发事件时,获取当前人机会话过程中会话机器人与目标用户之间的历史会话消息以及与会话主题相关的会话参考信息集。
步骤S904、根据历史会话消息和会话参考信息集,确定会话机器人在执行消息输入操作时所处的目标会话角色。
步骤S905、基于历史会话消息和会话参考信息集,生成与目标会话角色对应的目标会话消息,并输出目标会话消息。
在一个实施例中,步骤S903-步骤S905包括的一些可行的实施方式可参见图4和图6实施例中相关步骤的描述,在此不再赘述。
在一个实施例中,会话消息生成设备在根据历史会话消息和会话参考信息集确定所述会话机器人在执行消息输入操作时所处的目标会话角色后,还可以:将所述目标会话角色与所述会话机器人上一次执行消息输入操作时所处的历史会话角色相比较;若所述目标会话角色与历史会话角色不相同,则生成会话角色切换记录,以便于后续根据所述会话角色切换记录对会话角色切换的准确度进行验证,并在验证所述会话角色切换的准确度低于准确度阈值时对所述会话处理模型进行优化。
简单来说,如果检测到目标会话角色与历史会话角色不相同,则会话消息生成设备生成会话角色切换记录,以记录会话机器人的会话角色发生了改变;该会话角色切换记录中包括由历史会话角色切换到目标会话角色。后续审核人工可以根据当前会话过程中的会话角色切换记录进行审核,来确定会话角色切换的准确度,比如在会话角色切换记录中记录了在会话机器人执行某次消息输入操作时,发现会话机器人的会话角色由主动会话角色切换到被动会话角色,但是审核人员在审核时发现会话机器人在执行此次消息输入操作时应该还是主动角色,不应该切换到被动角色。
会话角色切换的准确度可以用于表示在多次会话角色切换中有多少次是正确的会话角色切换。通过对整个当前人机会话过程中的会话角色切换记录审核后,如果发现在当前人机会话过程中,会话角色切换的准确度低于准确度阈值,则表明会话处理模型在确定会话机器人的会话角色时不够准确,需要对会话处理模型进行优化处理。
本发明实施例中,当检测到当前人机会话过程中存在第一类触发事件时,通过当前人机会话过程中的历史会话消息和会话参考信息集确定会话机器人在执行第一类触发事件所触发的消息输入事件时所处的目标会话角色,进一步的,根据历史会话消息和会话参考信息集生成与目标会话角色对应的目标会话消息;当检测到当前人机会话过程中存在第二类触发事件时,通过会话创建事件确定会话机器人在执行第二类触发事件所触发的消息输入事件时所处的首次会话角色,进一步地根据会话参考信息生成与首次会话角色对应的首次会话消息。在上述人机会话过程中,实现了根据触发会话机器人执行消息输入操作的触发事件所属类型不同,采用不同的方式确定会话机器人执行消息输入操作时的会话角色,可提高确定会话机器人的会话角色的准确性。另外,本发明实施例中无论采用哪种方式确定出会话机器人的会话角色后,生成与会话角色对应的会话消息,此种方式丰富了人机会话方式,提高了人机交互的精准性,也可提高用户的会话兴趣。
基于上述的会话消息生成方法的实施例,本发明实施例还提供了一种会话消息生成装置,参见图10,为本发明实施例提供的一种会话消息生成装置的结构示意图。图10所示的会话消息生成装置可运行如下单元:
获取单元1001,用于当检测到当前人机会话过程中存在触发事件时,获取所述当前人机会话过中会话机器人与目标用户之间的历史会话消息以及与会话主题相关的会话参考信息集,所述触发事件用于触发所述会话机器人在所述当前会话过程中执行消息输入操作,所述历史会话消息包括:在所述当前会话过程中所述会话机器人处于主动会话角色时输入的会话消息、和/或在所述当前会话过程中所述会话机器人处于被动会话角色时输入的会话消息;
处理单元1002,用于根据所述历史会话消息和所述会话参考信息集,确定所述会话机器人在执行所述消息输入操作时所处的目标会话角色,所述目标会话角色为主动会话角色或被动会话角色;
所述处理单元1002,用于基于所述历史会话消息和所述会话参考信息集生成与所述目标会话角色对应的目标会话消息,并输出所述目标会话消息。
在一个实施例中,所述处理单元1002在根据所述历史会话消息和所述会话参考信息集,确定所述会话机器人在执行所述消息输入操作时所处的目标会话角色时,执行如下步骤:
根据所述历史会话消息和所述会话参考信息集确定用于预测所述会话机器人的会话角色状态的角色预测参数;将所述角色预测参数输入至会话角色状态预测规则中进行运算,得到会话角色状态,并将所述会话角色状态所指示的会话角色作为所述会话机器人在执行所述消息输入操作时所处的目标会话角色。
在一个实施例中,所述处理单元1002在根据所述历史会话消息集和所述会话参考信息集,确定所述用于预测所述会话机器人的会话角色状态的角色预测参数时,执行如下步骤:
对所述历史会话消息进行编码处理,得到第一编码结果;根据所述第一编码结果为所述会话参考信息集中每个会话参考信息设置对应的权重值,以及基于所述每个会话参考信息对应的权重值对相应的会话参考信息进行编码处理,得到每个会话参考信息对应的第二编码结果;基于每个会话参考信息对应的第二编码结果和角色预测参数确定规则得到角色预测参数。
在一个实施例中,所述处理器1002在基于每个会话参考信息对应的第二编码结果和角色预测参数确定规则得到所述角色预测参数时,执行如下步骤:基于所述每个会话参考信息对应的第二编码结果确定第一联合上下文向量;将所述第一联合上下文向量输入到所述角色预测参数确定规则中进行运算,并将运算结果确定为所述角色预测参数。
在一个实施例中,所述处理单元1002在所述基于所述历史会话消息和所述会话参考信息集生成与所述目标会话角色对应的目标会话消息时,执行如下步骤:根据所述第一编码结果确定第二联合上下文向量;将所述第一联合上下文向量对应的第一关联向量,以及第二联合上下文向量对应的第二关联向量进行融合处理,得到融合关联向量;将所述会话角色状态与所述融合关联向量进行拼接处理;基于拼接处理得到的向量进行字词预测处理,得到多个预测字词,并将所述多个预测字词按序拼接得到目标会话消息。
在一个实施例中,所述处理器1002在将所述第一联合上下文向量对应的第一关联向量,以及所述第二联合上下文向量对应的第二关联向量进行融合处理,得到融合关联向量时,执行如下步骤:
将所述角色预测参数作为所述会话参考信息集在生成所述目标会话消息时的第一参考权重,以及将所述第二联合上下文向量输入至参考权重确定规则中进行运算,得到所述历史会话消息在生成所述目标会话消息时的第二参考权重;
将所述第一参考权重与所述第一关联向量进行相乘运算得到第一运算结果,以及将所述第二关联向量与所述第二参考权重进行相乘运算得到第二运算结果;基于所述第一运算结果和所述第二运算结果进行融合处理,得到所述融合关联向量。
在一个实施例中,所述处理单元1002在基于拼接处理得到的向量进行字词预测处理,得到多个预测字词,并将所述多个预测字词按序拼接得到目标会话消息时,执行如下步骤:
获取至少一个候选字词,以及基于拼接处理得到的向量获取所述至少一个候选字词中每个候选字词作为第N个预测字词的预测概率,N为大于等于1的整数;从所述至少一个候选字词中选择预测概率最大的候选字词作为所述第N个预测字词;若由前N个预测字词按序拼接得到的会话消息满足会话消息生成条件,则将所述由前N个预测字词按序拼接得到的会话消息作为目标会话消息,并停止上述过程;若由前N个预测字词按序拼接到的会话消息不满足会话消息生成条件,则对N执行加1操作,并重复执行上述过程。
在一个实施例中,所述处理单元1002在获取至少一个候选字词时,执行如下步骤:将预置字词表包括的第一字词集中的多个字词、所述历史会话消息包括的第二字词集中的多个字词以及每个参考会话消息包括的第三字词集中的多个字词进行去重处理,得到多个候选字词;
在一个实施例中,所述处理单元1002在基于拼接处理得到的向量获取所述至少一个候选字词中每个候选字词作为第N个预测字词的预测概率时,执行如下步骤:确定所述至少一个候选字词中任一候选字词所属字词集,并基于拼接处理结果确定所述任一候选字词在所属字词集中作为第N个预测字词的第一概率;基于所述任一候选字词在所属字词集中的第一概率确定所述任一候选字词作为第N个预测字词的预测概率。
在一个实施例中,所述处理单元1002在基于所述任一候选字词在所属字词集中的第一概率确定所述任一候选字词作为第N个预测字词的预测概率时,执行如下步骤:若所述任一候选字词所属字词集的数量为一个,则将所述任一候选字词在所属字词集中的第一概率确定为所述任一候选字词作为第N个预测字词的预测概率;若所述任一候选字词所属字词集的数量为至少两个,则将所述任一候选字词在每个所属字词集中的第一概率进行相加运算,得到的运算结果确定为所述任一候选字词作为第N个预测字词的预测概率。
在一个实施例中,所述根据所述历史会话消息和所述会话参考信息集确定所述会话机器人在执行所述消息输入操作时所处的目标会话角色是所述处理单元1002调用会话处理模型包括的编码器和知识融合模块执行的;所述基于所述历史会话消息和所述会话参考信息集生成与所述目标会话角色对应的目标会话消息是所述处理单元1002调用所述会话处理模型包括的会话消息生成模型执行的;所述会话处理模型是基于样本信息集以及目标损失函数训练得到的;所述样本信息集包括样本历史会话消息、样本会话参考信息集,以及预置所述会话机器人对应的监督会话消息;
所述目标损失函数包括第一子损失函数、第二子损失函数以及第三子损失函数;所述第一子损失函数是基于所述监督会话消息和样本会话消息确定的,所述样本会话消息是所述会话处理模型基于所述样本历史会话消息和所述样本会话参考信息集生成的,与所述会话机器人的样本会话角色对应的会话消息,所述样本会话角色是所述会话处理模型基于所述样本历史会话消息和所述样本会话参考信息集预测得到的;所述第二子损失函数是基于所述监督会话消息和所述样本会话参考信息集之间的相关性确定的;所述第三子损失函数是基于所述会话机器人的样本会话角色对应的会话角色状态确定的。
在一个实施例中,所述处理单元1002还用于:将所述目标会话角色与所述会话机器人上一次执行消息输入操作时所处的历史会话角色相比较;若所述目标会话角色与所述历史会话角色不相同,则生成会话角色切换记录,以便于后续根据所述会话角色切换记录对会话角色切换的准确度进行验证,并在验证所述会话角色切换的准确度低于准确度阈值时对所述会话处理模型进行优化。
在一个实施例中,所述触发事件包括第一类触发事件,所述第一类触发事件包括以下任意一种:所述目标用户在所述当前人机会话过程中输入了会话消息;以及,在所述当前人机会话过程中所述会话机器人输入了会话消息后,在预设时间内所述目标用户未输入新的会话消息。
在一个实施例中,所述触发事件还包括第二类触发事件,所述第二类触发事件是指检测到当前人机会话被创建;所述处理单元1002还用于:当检测到所述当前人机会话被创建,获取创建所述当前人机会话的会话创建事件以及所述参考会话信息集;根据所述会话创建事件确定所述会话机器人执行所述消息输入操作时所处的首次会话角色;基于所述参考会话信息集生成与所述首次会话角色对应的首次会话消息。
根据本发明的一个实施例,图4、图6以及图9所示的会话消息生成方法所涉及各个步骤可以是由图10所示的会话消息生成装置中的各个单元来执行的。例如,图4所述的步骤S401可由图10所示的会话消息生成装置中的获取单元1001来执行,步骤S402和步骤S403可由图10所示的会话消息生成装置中的处理单元1002来执行;再如,图6所示的会话消息生成方法中步骤S601可由图10所示的会话消息生成装置中的获取单元1001来执行,步骤S602-步骤S608可由图10所示的会话消息生成装置中的处理单元1002来执行;又如,图9所示的会话消息生成方法中步骤S901和步骤S903可由图10所示的会话消息生成装置中的获取单元1001来执行;步骤S902、步骤S904-步骤S905可由图10所示的会话消息生成装置中的处理单元1002来执行。
根据本发明的另一个实施例,图10所示的会话消息生成装置中的各个单元可以分别或全部合并为一个或若干个另外的单元来构成,或者其中的某个(些)单元还可以再拆分为功能上更小的多个单元来构成,这可以实现同样的操作,而不影响本发明的实施例的技术效果的实现。上述单元是基于逻辑功能划分的,在实际应用中,一个单元的功能也可以由多个单元来实现,或者多个单元的功能由一个单元实现。在本发明的其它实施例中,基于会话消息生成装置也可以包括其它单元,在实际应用中,这些功能也可以由其它单元协助实现,并且可以由多个单元协作实现。
根据本发明的另一个实施例,可以通过在包括中央处理单元(CPU)、随机存取存储介质(RAM)、只读存储介质(ROM)等处理元件和存储元件的例如计算机的通用计算设备上运行能够执行如图4、图6以及图9所示的相应方法所涉及的各步骤的计算机程序(包括程序代码),来构造如图10中所示的会话消息生成装置,以及来实现本发明实施例会话消息生成方法。所述计算机程序可以记载于例如计算机可读存储介质上,并通过计算机可读存储介质装载于上述计算设备中,并在其中运行。
本发明实施例中,在会话机器人与目标用户进行人机会话的过程中,当检测到当前人机会话过程中存在触发事件时,会话消息生成设备获取当前人机会话中的历史会话消息集以及与人机会话主题相关的会话参考信息集,其中,所述触发事件用于触发所述会话机器人在当前人机会话过程中执行消息输入操作;进一步的,根据历史会话消息集和会话参考信息集,确定会话机器人在执行罅隙输入操作时所处的目标会话角色;然后基于历史会话消息集和会话参考信息集生成与目标会话角色对应的目标会话消息,并输出目标会话消息。由此可见,在人机会话过程中,会话消息生成设备会生成符合会话机器人角色的会话消息,与现有技术中会话机器人一味的被动回复用户消息相比,丰富了人机会话方式,提高了人机交互的精准性,也可提高用户的会话兴趣。
基于上述方法以及装置实施例,本发明实施例提供了一种会话消息生成设备。参见图11,为本发明实施例提供的一种会话消息设备的结构示意图。图11所示的会话消息生成设备可至少包括处理器1101、输入接口1102、输出接口1103以及计算机存储介质1104。其中,处理器1101、输入接口1102、输出接口1103以及计算机存储介质1104可通过总线或其他方式连接。
计算机存储介质1104可以存储在会话消息生成设备的存储器中,所述计算机存储介质1101用于存储计算机程序,所述计算机程序包括程序指令,所述处理器1201用于执行所述计算机存储介质1104存储的程序指令。处理器1101(或称CPU(Central ProcessingUnit,中央处理器))是会话消息生成设备的计算核心以及控制核心,其适于实现一条或多条指令,具体适于加载并执行:
当检测到当前人机会话过程中存在触发事件时,获取所述当前人机会话中会话机器人与目标用户之间的历史会话消息以及与会话主题相关的会话参考信息集,所述触发事件用于触发所述会话机器人在所述当前会话过程中执行消息输入操作,所述历史会话消息包括:在所述当前会话过程中所述会话机器人处于主动会话角色时输入的会话消息、和/或在所述当前会话过程中所述会话机器人处于被动会话角色时输入的会话消息;根据所述历史会话消息和所述会话参考信息集,确定所述会话机器人在执行所述消息输入操作时所处的目标会话角色;基于所述历史会话消息和所述会话参考信息集生成与所述目标会话角色对应的目标会话消息,并输出所述目标会话消息。
本发明实施例还提供了一种计算机存储介质(Memory),所述计算机存储介质是会话消息生成设备中的记忆设备,用于存放程序和数据。可以理解的是,此处的计算机存储介质既可以包括会话消息生成设备的内置存储介质,当然也可以包括会话消息生成设备所支持的扩展存储介质。计算机存储介质提供存储空间,该存储空间存储了会话消息生成设备的操作系统。并且,在该存储空间中还存放了适于被处理器1101加载并执行的一条或多条的指令,这些指令可以是一个或一个以上的计算机程序(包括程序代码)。需要说明的是,此处的计算机存储介质可以是高速RAM存储器,也可以是非不稳定的存储器(non-volatilememory),例如至少一个磁盘存储器;可选的还可以是至少一个位于远离前述处理器的计算机存储介质。
在一个实施例中,所述计算机存储介质可由处理器1101加载并执行计算机存储介质中存放的一条或多条指令,以实现上述有关图4、图6以及图9所示的会话消息生成方法的相应步骤。具体实现中,计算机存储介质中的一条或多条指令由处理器1101加载并执行如下步骤:
当检测到当前人机会话过程中存在触发事件时,获取所述当前人机会话过程中会话机器人与目标用户之间的历史会话消息以及与会话主题相关的会话参考信息集,所述触发事件用于触发所述会话机器人在所述当前会话过程中执行消息输入操作,所述历史会话消息包括:在所述当前会话过程中所述会话机器人处于主动会话角色时输入的会话消息、和/或在所述当前会话过程中所述会话机器人处于被动会话角色时输入的会话消息;根据所述历史会话消息和所述会话参考信息集,确定所述会话机器人在执行所述消息输入操作时所处的目标会话角色;基于所述历史会话消息和所述会话参考信息集生成与所述目标会话角色对应的目标会话消息,并输出所述目标会话消息。
在一个实施例中,所述处理器1101在根据所述历史会话消息和所述会话参考信息集,确定所述会话机器人在执行所述消息输入操作时所处的目标会话角色时,执行如下步骤:
根据所述历史会话消息和所述会话参考信息集确定用于预测所述会话机器人的会话角色状态的角色预测参数;将所述角色预测参数输入至会话角色状态预测规则中进行运算,得到会话角色状态,并将所述会话角色状态所指示的会话角色作为所述会话机器人在执行所述消息输入操作时所处的目标会话角色。
在一个实施例中,所述处理器1101在根据所述历史会话消息集和所述会话参考信息集确定所述用于预测所述会话机器人的会话角色状态的角色预测参数时,执行如下步骤:
对所述历史会话消息进行编码处理,得到第一编码结果;根据所述第一编码结果为所述会话参考信息集中每个会话参考信息设置对应的权重值,以及基于所述每个会话参考信息对应的权重值对相应的会话参考信息进行编码处理,得到每个会话参考信息对应的第二编码结果;调用所述知识融合模块基于每个会话参考信息对应的第二编码结果和角色预测参数确定规则得到角色预测参数。
在一个实施例中,所述处理器1101在基于每个会话参考信息对应的第二编码结果和角色预测参数确定规则得到所述角色预测参数时,执行如下步骤:基于所述每个会话参考信息对应的第二编码结果确定第一联合上下文向量;将所述第一联合上下文向量输入到所述角色预测参数确定规则中进行运算,并将运算结果确定为所述角色预测参数。
在一个实施例中,所述处理器1101在基于所述历史会话消息和所述会话参考信息集生成与所述目标会话角色对应的目标会话消息时,执行如下步骤:
根据所述第一编码结果确定第二联合上下文向量;将所述第一联合上下文向量对应的第一关联向量,以及所述第二联合上下文向量对应的第二关联向量进行融合处理,得到融合关联向量;将所述会话角色状态与所述融合关联向量进行拼接处理;基于拼接处理得到的向量进行字词预测处理,得到多个预测字词,并将所述多个预测字词按序拼接得到目标会话消息。
在一个实施例中,所述处理器1101在将所述第一联合上下文向量对应的第一关联向量,以及所述第二联合上下文向量对应的第二关联向量进行融合处理,得到融合关联向量时,执行如下步骤:
将所述角色预测参数作为所述会话参考信息集在生成所述目标会话消息时的第一参考权重,以及将所述第二联合上下文向量输入至参考权重确定规则中进行运算,得到所述历史会话消息在生成所述目标会话消息时的第二参考权重;将所述第一参考权重与所述第一关联向量进行相乘运算得到第一运算结果,以及将所述第二关联向量与所述第二参考权重进行相乘运算得到第二运算结果;基于所述第一运算结果和所述第二运算结果进行融合处理,得到所述融合关联向量。
在一个实施例中,所述处理器1101在基于拼接处理得到的向量进行字词预测处理,得到多个预测字词,并将所述多个预测字词按序拼接得到目标会话消息时,执行如下步骤:
获取至少一个候选字词,以及基于拼接处理得到的向量获取所述至少一个候选字词中每个候选字词作为第N个预测字词的预测概率,N为大于等于1的整数;从所述至少一个候选字词中选择预测概率最大的候选字词作为所述第N个预测字词;若由前N个预测字词按序拼接得到的会话消息满足会话消息生成条件,则将所述由前N个预测字词按序拼接得到的会话消息作为目标会话消息,并停止上述过程;若由前N个预测字词按序拼接到的会话消息不满足会话消息生成条件,则对N执行加1操作,并重复执行上述过程。
在一个实施例中,所述处理器1101在获取至少一个候选字词时,执行如下步骤:将预置字词表包括的第一字词集中的多个字词、所述历史会话消息包括的第二字词集中的多个字词以及每个参考会话消息包括的第三字词集中的多个字词进行去重处理,得到多个候选字词;
在一个实施例中,所述处理器1101在基于拼接处理得到的向量获取所述至少一个候选字词中每个候选字词作为第N个预测字词的预测概率时,执行如下步骤:
确定所述至少一个候选字词中任一候选字词所属字词集,并基于拼接处理结果确定所述任一候选字词在所属字词集中作为第N个预测字词的第一概率;基于所述任一候选字词在所属字词集中的第一概率确定所述任一候选字词作为第N个预测字词的预测概率。
在一个实施例中,所述处理器1101在基于所述任一候选字词在所属字词集中的第一概率确定所述任一候选字词作为第N个预测字词的预测概率时,执行如下步骤:
若所述任一候选字词所属字词集的数量为一个,则将所述任一候选字词在所属字词集中的第一概率确定为所述任一候选字词作为第N个预测字词的预测概率;若所述任一候选字词所属字词集的数量为至少两个,则将所述任一候选字词在每个所属字词集中的第一概率进行相加运算,得到的运算结果确定为所述任一候选字词作为第N个预测字词的预测概率。
在一个实施例中,所述根据所述历史会话消息和所述会话参考信息集确定所述会话机器人在执行所述消息输入操作时所处的目标会话角色是处理器1101调用会话处理模型包括的编码器和知识融合模块执行的;所述基于所述历史会话消息和所述会话参考信息集生成与所述目标会话角色对应的目标会话消息是处理器1101调用所述会话处理模型包括的会话消息生成模型执行的;
所述会话处理模型是基于样本信息集以及目标损失函数训练得到的;所述样本信息集包括样本历史会话消息、样本会话参考信息集,以及预置所述会话机器人对应的监督会话消息;
所述目标损失函数包括第一子损失函数、第二子损失函数以及第三子损失函数;所述第一子损失函数是基于所述监督会话消息和样本会话消息确定的,所述样本会话消息是所述会话处理模型基于所述样本历史会话消息和所述样本会话参考信息集生成的,与所述会话机器人的样本会话角色对应的会话消息,所述样本会话角色是所述会话处理模型基于所述样本历史会话消息和所述样本会话参考信息集预测得到的;
所述第二子损失函数是基于所述监督会话消息和所述样本会话参考信息集之间的相关性确定的;
所述第三子损失函数是基于所述会话机器人的样本会话角色对应的会话角色状态确定的。
在一个实施例中,根据所述历史会话消息和所述会话参考信息集确定所述会话机器人在执行消息输入操作时所处的目标会话角色之后,所述处理器1101还用于:将所述目标会话角色与所述会话机器人上一次执行消息输入操作时所处的历史会话角色相比较;若所述目标会话角色与所述历史会话角色不相同,则生成会话角色切换记录,以便于后续根据所述会话角色切换记录对会话角色切换的准确度进行验证,并在验证所述会话角色切换的准确度低于准确度阈值时对所述会话处理模型进行优化。
在一个实施例中,所述触发事件包括第一类触发事件,所述第一类触发事件包括以下任意一种:所述目标用户在所述当前人机会话过程中输入了会话消息;以及,在所述当前人机会话过程中所述会话机器人输入了会话消息后,在预设时间内所述目标用户未输入新的会话消息。
在一个实施例中,所述触发事件还包括第二类触发事件,所述第二类触发事件是指检测到当前人机会话被创建;所述处理器1101还用于:
当检测到所述当前人机会话被创建,获取创建所述当前人机会话的会话创建事件以及所述参考会话信息集;根据所述会话创建事件确定所述会话机器人执行所述消息输入操作时所处的首次会话角色;基于所述参考会话信息集生成与所述首次会话角色对应的首次会话消息。
本发明实施例中,在会话机器人与目标用户进行人机会话的过程中,当检测到当前人机会话过程中存在触发会话机器人执行消息输入操作的触发事件时,会话消息生成设备获取当前人机会话中会话机器人与目标用户之间的历史会话消息集以及与人机会话主题相关的会话参考信息集;进一步的,根据历史会话消息集和会话参考信息集,确定会话机器人在执行消息输入操作时所处的目标会话角色;然后基于历史会话消息集和会话参考信息集生成与目标会话角色对应的目标会话消息,并输出目标会话消息。由此可见,在人机会话过程中,会话消息生成设备会生成符合会话机器人角色的会话消息,与现有技术中会话机器人一味的被动回复用户消息相比,丰富了人机会话方式,提高了人机交互的精准性,也可提高用户的会话兴趣。
根据本申请的一个方面,本发明实施例还提供了一种计算机产品或计算机程序,该计算机产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。处理器1101从计算机可读存储介质中读取该计算机指令,处理器1101执行该计算机指令,使得会话消息生成设备执行图4、图6以及图9所示的会话消息生成方法,具体地:
当检测到当前人机会话过程中存在触发事件时,获取所述当前人机会话中会话机器人与目标用户之间的历史会话消息以及与会话主题相关的会话参考信息集,所述触发事件用于触发所述会话机器人在所述当前会话过程中执行消息输入操作,所述历史会话消息包括:在所述当前会话过程中所述会话机器人处于主动会话角色时输入的会话消息、和/或在所述当前会话过程中所述会话机器人处于被动会话角色时输入的会话消息;根据所述历史会话消息和所述会话参考信息集,确定所述会话机器人在执行消息输入操作时所处的目标会话角色;基于所述历史会话消息和所述会话参考信息集生成与所述目标会话角色对应的目标会话消息,并输出所述目标会话消息。
本发明实施例中,在会话机器人与目标用户进行人机会话的过程中,当检测到当前人机会话过程中存在触发会话机器人执行消息输入操作的触发事件时,会话消息生成设备获取当前人机会话中的历史会话消息集以及与人机会话主题相关的会话参考信息集;进一步的,根据历史会话消息集和会话参考信息集确定会话机器人在执行所述消息输入操作时所处的目标会话角色;然后基于历史会话消息集和会话参考信息集生成与目标会话角色对应的目标会话消息,并输出目标会话消息。由此可见,在人机会话过程中,会话消息生成设备会生成符合会话机器人角色的会话消息,与现有技术中会话机器人一味的被动回复用户消息相比,丰富了人机会话方式,提高了人机交互的精准性,也可提高用户的会话兴趣。
Claims (13)
1.一种会话消息生成方法,其特征在于,包括:
当检测到当前人机会话过程中存在触发事件时,获取所述当前人机会话过程中会话机器人与目标用户之间的历史会话消息以及与会话主题相关的会话参考信息集,所述触发事件用于触发所述会话机器人在所述当前人机会话过程中执行消息输入操作,所述历史会话消息包括:在所述当前人机会话过程中所述会话机器人处于主动会话角色时输入的会话消息、和/或在所述当前人机会话过程中所述会话机器人处于被动会话角色时输入的会话消息;
对所述历史会话消息进行编码处理,得到第一编码结果;根据所述第一编码结果为所述会话参考信息集中每个会话参考信息设置对应的权重值,以及基于所述每个会话参考信息对应的权重值对相应的会话参考信息进行编码处理,得到每个会话参考信息对应的第二编码结果;
基于每个会话参考信息对应的第二编码结果和角色预测参数确定规则得到角色预测参数;将所述角色预测参数输入至会话角色状态预测规则中进行运算,得到会话角色状态,并将所述会话角色状态所指示的会话角色作为所述会话机器人在执行所述消息输入操作时所处的目标会话角色;所述目标会话角色为主动会话角色或被动会话角色;
基于所述历史会话消息和所述会话参考信息集,生成与所述目标会话角色对应的目标会话消息,并输出所述目标会话消息。
2.如权利要求1所述的方法,其特征在于,所述基于每个会话参考信息对应的第二编码结果和角色预测参数确定规则得到所述角色预测参数,包括:基于所述每个会话参考信息对应的第二编码结果确定第一联合上下文向量;
将所述第一联合上下文向量输入到所述角色预测参数确定规则中进行运算,并将运算结果确定为所述角色预测参数。
3.如权利要求2所述的方法,其特征在于,所述基于所述历史会话消息和所述会话参考信息集生成与所述目标会话角色对应的目标会话消息,包括:
根据所述第一编码结果确定第二联合上下文向量;
将所述第一联合上下文向量对应的第一关联向量,以及所述第二联合上下文向量对应的第二关联向量进行融合处理,得到融合关联向量;
将所述会话角色状态与所述融合关联向量进行拼接处理;
基于拼接处理得到的向量进行字词预测处理,得到多个预测字词,并将所述多个预测字词按序拼接得到目标会话消息。
4.如权利要求3所述的方法,其特征在于,所述将所述第一联合上下文向量对应的第一关联向量,以及所述第二联合上下文向量对应的第二关联向量进行融合处理,得到融合关联向量,包括:
将所述角色预测参数作为所述会话参考信息集在生成所述目标会话消息时的第一参考权重,以及将所述第二联合上下文向量输入至参考权重确定规则中进行运算,得到所述历史会话消息在生成所述目标会话消息时的第二参考权重;
将所述第一参考权重与所述第一关联向量进行相乘运算得到第一运算结果,以及将所述第二关联向量与所述第二参考权重进行相乘运算得到第二运算结果;
基于所述第一运算结果和所述第二运算结果进行融合处理,得到所述融合关联向量。
5.如权利要求3所述的方法,其特征在于,所述基于拼接处理得到的向量进行字词预测处理,得到多个预测字词,并将所述多个预测字词按序拼接得到目标会话消息,包括:
获取至少一个候选字词,以及基于拼接处理得到的向量获取所述至少一个候选字词中每个候选字词作为第N个预测字词的预测概率,N为大于等于1的整数;
从所述至少一个候选字词中选择预测概率最大的候选字词作为所述第N个预测字词;
若由前N个预测字词按序拼接得到的会话消息满足会话消息生成条件,则将所述由前N个预测字词按序拼接得到的会话消息作为目标会话消息,并停止上述过程;
若由前N个预测字词按序拼接到的会话消息不满足会话消息生成条件,则对N执行加1操作,并重复执行上述过程。
6.如权利要求5所述的方法,其特征在于,所述获取至少一个候选字词,包括:
将预置字词表包括的第一字词集中的多个字词、所述历史会话消息包括的第二字词集中的多个字词以及每个参考会话消息包括的第三字词集中的多个字词进行去重处理,得到多个候选字词;
所述基于拼接处理得到的向量获取所述至少一个候选字词中每个候选字词作为第N个预测字词的预测概率,包括:
确定所述至少一个候选字词中任一候选字词所属字词集,并基于拼接处理结果确定所述任一候选字词在所属字词集中作为第N个预测字词的第一概率;
基于所述任一候选字词在所属字词集中的第一概率确定所述任一候选字词作为第N个预测字词的预测概率。
7.如权利要求6所述的方法,其特征在于,所述基于所述任一候选字词在所属字词集中的第一概率确定所述任一候选字词作为第N个预测字词的预测概率,包括:
若所述任一候选字词所属字词集的数量为一个,则将所述任一候选字词在所属字词集中的第一概率确定为所述任一候选字词作为第N个预测字词的预测概率;
若所述任一候选字词所属字词集的数量为至少两个,则将所述任一候选字词在每个所属字词集中的第一概率进行相加运算,得到的运算结果确定为所述任一候选字词作为第N个预测字词的预测概率。
8.如权利要求1所述的方法,其特征在于,所述根据所述历史会话消息和所述会话参考信息集确定所述会话机器人在执行所述消息输入操作时所处的目标会话角色是调用会话处理模型包括的编码器和知识融合模块执行的;所述基于所述历史会话消息和所述会话参考信息集生成与所述目标会话角色对应的目标会话消息是调用所述会话处理模型包括的会话消息生成模型执行的;
所述会话处理模型是基于样本信息集以及目标损失函数训练得到的;所述样本信息集包括样本历史会话消息、样本会话参考信息集,以及预置所述会话机器人对应的监督会话消息;
所述目标损失函数包括第一子损失函数、第二子损失函数以及第三子损失函数;所述第一子损失函数是基于所述监督会话消息和样本会话消息确定的,所述样本会话消息是所述会话处理模型基于所述样本历史会话消息和所述样本会话参考信息集生成的,与所述会话机器人的样本会话角色对应的会话消息,所述样本会话角色是所述会话处理模型基于所述样本历史会话消息和所述样本会话参考信息集预测得到的;
所述第二子损失函数是基于所述监督会话消息和所述样本会话参考信息集之间的相关性确定的;
所述第三子损失函数是基于所述会话机器人的样本会话角色对应的会话角色状态确定的。
9.如权利要求8所述的方法,其特征在于,所述根据所述历史会话消息和所述会话参考信息集确定所述会话机器人在执行消息输入操作时所处的目标会话角色之后,所述方法还包括:
将所述目标会话角色与所述会话机器人上一次执行消息输入操作时所处的历史会话角色相比较;
若所述目标会话角色与所述历史会话角色不相同,则生成会话角色切换记录,以便于后续根据所述会话角色切换记录对会话角色切换的准确度进行验证,并在验证所述会话角色切换的准确度低于准确度阈值时对所述会话处理模型进行优化。
10.如权利要求1-8任一项所述的方法,其特征在于,所述触发事件包括第一类触发事件,所述第一类触发事件包括以下任意一种:所述目标用户在所述当前人机会话过程中输入了会话消息;以及,在所述当前人机会话过程中所述会话机器人输入了会话消息后,在预设时间内所述目标用户未输入新的会话消息。
11.如权利要求1所述的方法,其特征在于,所述触发事件还包括第二类触发事件,所述第二类触发事件是指检测到当前人机会话被创建;所述方法还包括:
当检测到所述当前人机会话被创建,获取创建所述当前人机会话的会话创建事件以及所述会话参考信息集;
根据所述会话创建事件确定所述会话机器人执行所述消息输入操作时所处的首次会话角色;
基于所述会话参考信息集生成与所述首次会话角色对应的首次会话消息。
12.一种会话消息生成装置,其特征在于,包括:
获取单元,用于当检测到当前人机会话过程中存在触发事件时,获取所述当前人机会话过程中会话机器人与目标用户之间的历史会话消息以及与会话主题相关的会话参考信息集,所述触发事件用于触发所述会话机器人在所述当前人机会话过程中执行消息输入操作,所述历史会话消息包括:在所述当前人机会话过程中所述会话机器人处于主动会话角色时输入的会话消息、和/或在所述当前人机会话过程中所述会话机器人处于被动会话角色时输入的会话消息;
处理单元,用于对所述历史会话消息进行编码处理,得到第一编码结果;根据所述第一编码结果为所述会话参考信息集中每个会话参考信息设置对应的权重值,以及基于所述每个会话参考信息对应的权重值对相应的会话参考信息进行编码处理,得到每个会话参考信息对应的第二编码结果;基于每个会话参考信息对应的第二编码结果和角色预测参数确定规则得到角色预测参数;将所述角色预测参数输入至会话角色状态预测规则中进行运算,得到会话角色状态,并将所述会话角色状态所指示的会话角色作为所述会话机器人在执行所述消息输入操作时所处的目标会话角色;所述目标会话角色为主动会话角色或被动会话角色;
所述处理单元,用于基于所述历史会话消息和所述会话参考信息集生成与所述目标会话角色对应的目标会话消息,并输出所述目标会话消息。
13.一种会话消息生成设备,其特征在于,包括:
处理器,适于实现一条或多条指令,以及
计算机存储介质,所述计算机存储介质存储有一条或多条指令,所述一条或多条指令适于由所述处理器加载并执行如权利要求1-11任一项所述的会话消息生成方法。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011299005.0A CN112417117B (zh) | 2020-11-18 | 2020-11-18 | 会话消息生成方法、装置及设备 |
PCT/CN2021/124825 WO2022105515A1 (zh) | 2020-11-18 | 2021-10-20 | 会话消息生成方法、装置及设备 |
US17/983,556 US20230081741A1 (en) | 2020-11-18 | 2022-11-09 | Session message generation method, apparatus and storage medium and device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011299005.0A CN112417117B (zh) | 2020-11-18 | 2020-11-18 | 会话消息生成方法、装置及设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112417117A CN112417117A (zh) | 2021-02-26 |
CN112417117B true CN112417117B (zh) | 2024-07-23 |
Family
ID=74773420
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011299005.0A Active CN112417117B (zh) | 2020-11-18 | 2020-11-18 | 会话消息生成方法、装置及设备 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20230081741A1 (zh) |
CN (1) | CN112417117B (zh) |
WO (1) | WO2022105515A1 (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112417117B (zh) * | 2020-11-18 | 2024-07-23 | 腾讯科技(深圳)有限公司 | 会话消息生成方法、装置及设备 |
CN114970666B (zh) * | 2022-03-29 | 2023-08-29 | 北京百度网讯科技有限公司 | 一种口语处理方法、装置、电子设备及存储介质 |
US20240292059A1 (en) * | 2023-02-27 | 2024-08-29 | Disney Enterprises, Inc. | Session type classification for modeling |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106649704A (zh) * | 2016-12-20 | 2017-05-10 | 竹间智能科技(上海)有限公司 | 一种智能对话控制方法和系统 |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104598443B (zh) * | 2013-10-31 | 2018-05-18 | 腾讯科技(深圳)有限公司 | 语言服务提供方法、装置及系统 |
US10157350B2 (en) * | 2015-03-26 | 2018-12-18 | Tata Consultancy Services Limited | Context based conversation system |
US10636418B2 (en) * | 2017-03-22 | 2020-04-28 | Google Llc | Proactive incorporation of unsolicited content into human-to-computer dialogs |
CN107452378A (zh) * | 2017-08-15 | 2017-12-08 | 北京百度网讯科技有限公司 | 基于人工智能的语音交互方法和装置 |
CN110188177A (zh) * | 2019-05-28 | 2019-08-30 | 北京搜狗科技发展有限公司 | 对话生成方法及装置 |
CN110265021A (zh) * | 2019-07-22 | 2019-09-20 | 深圳前海微众银行股份有限公司 | 个性化语音交互方法、机器人终端、装置及可读存储介质 |
CN110851575B (zh) * | 2019-09-23 | 2022-09-16 | 深思考人工智能科技(上海)有限公司 | 一种对话生成系统及对话实现方法 |
CN110704703A (zh) * | 2019-09-27 | 2020-01-17 | 北京百度网讯科技有限公司 | 人机对话方法及装置 |
CN112417117B (zh) * | 2020-11-18 | 2024-07-23 | 腾讯科技(深圳)有限公司 | 会话消息生成方法、装置及设备 |
-
2020
- 2020-11-18 CN CN202011299005.0A patent/CN112417117B/zh active Active
-
2021
- 2021-10-20 WO PCT/CN2021/124825 patent/WO2022105515A1/zh active Application Filing
-
2022
- 2022-11-09 US US17/983,556 patent/US20230081741A1/en active Pending
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106649704A (zh) * | 2016-12-20 | 2017-05-10 | 竹间智能科技(上海)有限公司 | 一种智能对话控制方法和系统 |
Also Published As
Publication number | Publication date |
---|---|
WO2022105515A1 (zh) | 2022-05-27 |
CN112417117A (zh) | 2021-02-26 |
US20230081741A1 (en) | 2023-03-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109460463B (zh) | 基于数据处理的模型训练方法、装置、终端及存储介质 | |
Kandpal et al. | Contextual chatbot for healthcare purposes (using deep learning) | |
CN111897940B (zh) | 视觉对话方法、视觉对话模型的训练方法、装置及设备 | |
CN111897941A (zh) | 对话生成方法、网络训练方法、装置、存储介质及设备 | |
CN112417117B (zh) | 会话消息生成方法、装置及设备 | |
CN111966800B (zh) | 情感对话生成方法、装置及情感对话模型训练方法、装置 | |
CN112214591B (zh) | 一种对话预测的方法及装置 | |
CN112069302A (zh) | 会话意图识别模型的训练方法、会话意图识别方法及装置 | |
CN111104512A (zh) | 游戏评论的处理方法及相关设备 | |
Kao et al. | Model of multi-turn dialogue in emotional chatbot | |
CN114168707A (zh) | 一种面向推荐的情绪型对话方法 | |
CN110795549A (zh) | 短文本对话方法、装置、设备及存储介质 | |
CN112364148A (zh) | 一种基于深度学习方法的生成型聊天机器人 | |
CN113761156A (zh) | 人机交互对话的数据处理方法、装置、介质及电子设备 | |
CN117271745A (zh) | 一种信息处理方法、装置及计算设备、存储介质 | |
Jhan et al. | CheerBots: Chatbots toward empathy and emotionusing reinforcement learning | |
CN111046157B (zh) | 一种基于平衡分布的通用英文人机对话生成方法和系统 | |
CN112035633A (zh) | 数据处理方法、装置、对话设备及存储介质 | |
Wen et al. | Personality-affected Emotion Generation in Dialog Systems | |
CN115378890B (zh) | 信息输入方法、装置、存储介质及计算机设备 | |
CN113590800B (zh) | 图像生成模型的训练方法和设备以及图像生成方法和设备 | |
Lee | Building multimodal ai chatbots | |
CN116361423A (zh) | 语句生成方法、装置以及计算机可读存储介质 | |
Ribeiro et al. | HOTSPOT: An ad hoc teamwork platform for mixed human-robot teams | |
CN115470325B (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 | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 40038849 Country of ref document: HK |
|
GR01 | Patent grant | ||
GR01 | Patent grant |