CN111737411B - 人机对话中的响应方法、对话系统及存储介质 - Google Patents
人机对话中的响应方法、对话系统及存储介质 Download PDFInfo
- Publication number
- CN111737411B CN111737411B CN202010431996.7A CN202010431996A CN111737411B CN 111737411 B CN111737411 B CN 111737411B CN 202010431996 A CN202010431996 A CN 202010431996A CN 111737411 B CN111737411 B CN 111737411B
- Authority
- CN
- China
- Prior art keywords
- user
- intention
- target
- intent
- sentence
- 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
- 230000004044 response Effects 0.000 title claims abstract description 376
- 238000000034 method Methods 0.000 title claims abstract description 179
- 230000002452 interceptive effect Effects 0.000 claims description 106
- 230000003993 interaction Effects 0.000 claims description 44
- 238000012545 processing Methods 0.000 abstract description 34
- 230000008569 process Effects 0.000 abstract description 27
- 238000013473 artificial intelligence Methods 0.000 abstract description 2
- 230000014509 gene expression Effects 0.000 description 35
- 238000012549 training Methods 0.000 description 29
- 230000015654 memory Effects 0.000 description 25
- 238000013479 data entry Methods 0.000 description 22
- 238000004891 communication Methods 0.000 description 21
- 241000282693 Cercopithecidae Species 0.000 description 13
- 238000010586 diagram Methods 0.000 description 13
- 238000000605 extraction Methods 0.000 description 13
- 239000000284 extract Substances 0.000 description 12
- 230000006870 function Effects 0.000 description 11
- 238000004590 computer program Methods 0.000 description 8
- 230000003287 optical effect Effects 0.000 description 7
- 230000000295 complement effect Effects 0.000 description 6
- 238000003058 natural language processing Methods 0.000 description 6
- 238000012216 screening Methods 0.000 description 6
- 238000013528 artificial neural network Methods 0.000 description 5
- 238000013145 classification model Methods 0.000 description 5
- 230000007547 defect Effects 0.000 description 5
- 238000011161 development Methods 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 5
- 238000010801 machine learning Methods 0.000 description 5
- 230000036651 mood Effects 0.000 description 4
- 230000003068 static effect Effects 0.000 description 4
- 241001465754 Metazoa Species 0.000 description 3
- 230000009471 action Effects 0.000 description 3
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000001514 detection method Methods 0.000 description 3
- 230000009191 jumping Effects 0.000 description 3
- 238000004458 analytical method Methods 0.000 description 2
- 238000013459 approach Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 2
- 238000005352 clarification Methods 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 230000000977 initiatory effect Effects 0.000 description 2
- 238000002372 labelling Methods 0.000 description 2
- 238000007726 management method Methods 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000007115 recruitment Effects 0.000 description 2
- 230000026676 system process Effects 0.000 description 2
- 241000086550 Dinosauria Species 0.000 description 1
- 241000283973 Oryctolagus cuniculus Species 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 230000001427 coherent effect Effects 0.000 description 1
- 239000013078 crystal Substances 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000007477 logistic regression Methods 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 239000000047 product Substances 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000012163 sequencing technique Methods 0.000 description 1
- 230000006403 short-term memory Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 239000013589 supplement Substances 0.000 description 1
- 238000012706 support-vector machine Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/08—Speech classification or search
- G10L15/18—Speech classification or search using natural language modelling
- G10L15/1815—Semantic context, e.g. disambiguation of the recognition hypotheses based on word meaning
-
- 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
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/33—Querying
- G06F16/3331—Query processing
- G06F16/334—Query execution
- G06F16/3344—Query execution using natural language analysis
-
- 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
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/279—Recognition of textual entities
- G06F40/289—Phrasal analysis, e.g. finite state techniques or chunking
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/30—Semantic analysis
-
- 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
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/06—Creation of reference templates; Training of speech recognition systems, e.g. adaptation to the characteristics of the speaker's voice
- G10L15/063—Training
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/22—Procedures used during a speech recognition process, e.g. man-machine dialogue
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/06—Creation of reference templates; Training of speech recognition systems, e.g. adaptation to the characteristics of the speaker's voice
- G10L15/063—Training
- G10L2015/0635—Training updating or merging of old and new templates; Mean values; Weighting
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/06—Creation of reference templates; Training of speech recognition systems, e.g. adaptation to the characteristics of the speaker's voice
- G10L15/063—Training
- G10L2015/0638—Interactive procedures
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/22—Procedures used during a speech recognition process, e.g. man-machine dialogue
- G10L2015/223—Execution procedure of a spoken command
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- Artificial Intelligence (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Health & Medical Sciences (AREA)
- Human Computer Interaction (AREA)
- General Health & Medical Sciences (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Mathematical Physics (AREA)
- Acoustics & Sound (AREA)
- Multimedia (AREA)
- Machine Translation (AREA)
Abstract
本申请提供了一种人机对话中的响应方法、对话系统及存储介质,属于人工智能技术领域。本申请能够应用在对话机器人上,例如儿童陪伴教育机器人上。本申请在用户和机器进行对话的过程中,会根据上一轮对话中机器回答用户的语句所关联的预期用户意图,确定本轮对话中用户的意图,进而进行响应。由于引入了预期用户意图的处理逻辑,因此提高了生成的响应语句的准确性。
Description
技术领域
本申请涉及人工智能技术领域,特别涉及一种人机对话中的响应方法、对话系统及存储介质。
背景技术
在日常对话中,指代和省略是常见的语言现象。在人机对话中,当用户使用指代和省略时,对话系统需要结合上下文来理解用户的真实用户意图,从而保证人机对话更加流畅自然。
时下,对话系统可以利用上一轮对话关联的用户意图理解本轮对话的用户意图。具体地,开发者在为一轮对话配置用户意图A和用户意图A对应的回复A时,还会配置下一轮对话中期望的用户对于交互设备的回复语句B和用户对于交互设备的回复语句B对应的用户意图B。当用户发起对话时,若用户当前的回复语句与回复语句B匹配,则用户当前的回复语句会命中用户意图B,那么对话系统会根据用户意图B确定响应语句,通过该回复语句回复用户对于交互设备的回复语句。
同一个用户意图通常会具有各种表达方式,而开发者在配置用户对于交互设备的回复语句和对应的用户意图时,无法全面覆盖用户的表达方式。因此采用上述方法时,会出现由于当前的用户对于交互设备的回复语句的表达方式未被预先配置,导致根据用户对于交互设备的回复语句无法命中上一轮对话关联的用户意图的情况,造成对话的连贯性差,对话系统生成的响应语句的准确性低。
发明内容
本申请实施例提供了一种人机对话中的响应方法、对话系统及存储介质,能够提高人机对话的连贯性。所述技术方案如下:
第一方面,提供了一种人机对话中的响应方法,在该方法中,获取用户对于交互设备的回复语句;对所述回复语句进行意图识别,得到候选用户意图;获取历史对话中与所述回复语句相邻的交互设备的历史响应语句;从与所述历史响应语句关联的多个预期用户意图中,确定与所述候选用户意图匹配的目标预期用户意图,所述预期用户意图用于表示用户对所述历史响应语句的预期回复的类别;根据所述目标预期用户意图和所述历史响应语句,确定所述交互设备对于所述回复语句的目标响应。
例如,预期用户意图表示肯定回复,例如预期用户意图是“是”,又如,预期用户意图表示否定回复。又如,预期用户意图表示喜欢,又如,预期用户意图表示不喜欢。
以上方法通过将交互设备发出的响应语句与预期用户意图关联起来,当用户发起一轮对话时,对话系统在从本轮对话的候选用户意图中筛选用户意图的过程中,会优先考虑历史响应语句匹配的目标预期用户意图,对话系统会利用目标预期用户意图确定响应语句。由于引入了预期用户意图的处理逻辑,将历史对话的预期用户意图传递至本轮对话使用,因此实现了历史对话和本轮对话之间的用户意图关联,提高了对话系统生成的响应语句的准确性,有助于提高对话系统的上下文衔接能力,提高了人机对话的连贯性。
可选地,目标响应是输出响应语句,或者,目标响应是执行对应的指令,例如播放歌曲。
可选地,所述根据所述目标预期用户意图和所述历史响应语句,确定所述交互设备对于所述回复语句的目标响应,包括:
根据所述历史响应语句和所述目标预期用户意图,确定跳转用户意图;
根据所述跳转用户意图,确定所述跳转用户意图对应的指令;
执行所述跳转用户意图对应的指令。
可选地,所述从与所述历史响应语句关联的多个预期用户意图中,确定与所述候选用户意图匹配的目标预期用户意图,包括:
从与所述历史响应语句关联的多个预期用户意图中,确定与所述候选用户意图相同的预期用户意图,作为所述目标预期用户意图。
第二方面,提供了一种人机对话中的响应方法,所述方法包括:
获取用户对于交互设备的回复语句;
对所述回复语句进行意图识别,得到候选用户意图;
获取历史对话中与所述回复语句相邻的交互设备的历史响应语句;
从与所述历史响应语句关联的多个预期用户意图中,确定与所述候选用户意图匹配的目标预期用户意图,所述预期用户意图用于表示用户对所述历史响应语句的预期回复的内容;
根据所述目标预期用户意图,确定所述交互设备对于所述回复语句的目标响应语句。
例如,预期用户意图是“询问北京的天气”,又如,预期用户意图是“询问深圳的路线”。
可选地,所述根据所述目标预期用户意图和所述历史响应语句,确定所述交互设备对于所述回复语句的目标响应语句,包括:
根据历史响应语句和至少一个候选响应语句模板之间的对应关系,获取所述历史响应语句对应的所述至少一个候选响应语句模板,所述候选响应语句模板用于表示所述目标响应语句的句式;
根据所述目标预期用户意图与目标响应语句模板之间的对应关系,从所述至少一个候选响应语句模板中,获取与所述目标预期用户意图匹配的所述目标响应语句模板;
根据所述目标响应语句模板和所述历史响应语句,确定所述交互设备对于所述回复语句的目标响应语句。
可选地,所述根据所述目标响应语句模板和所述历史响应语句,确定所述交互设备对于所述回复语句的目标响应语句,包括:
获取目标关键词,所述目标关键词用于表示所述历史对话的会话关键内容;
识别所述目标关键词的类型;
将所述目标关键词填充至所述目标响应语句模板中所述类型对应的第一目标槽位中,得到所述目标响应语句。
可选地,所述获取目标关键词包括:
提取所述历史响应语句中的所述目标关键词;或者,
从所述历史对话中所述用户对于所述交互设备的历史回复语句中,提取所述目标关键词;或者,
查询配置信息,得到所述历史响应语句关联的所述目标关键词,所述配置信息包括预先设置的所述历史响应语句与所述目标关键词之间的关联关系。
可选地,所述提取所述历史响应语句中的所述目标关键词,包括:对所述历史响应语句进行命名实体识别,将得到的公共命名实体作为所述目标关键词。
可选地,所述从所述历史对话中所述用户对于所述交互设备的历史回复语句中,提取所述目标关键词,包括:对所述历史回复语句进行命名实体识别,将得到的公共命名实体作为所述目标关键词。
可选地,所述对所述回复语句进行意图识别,得到候选用户意图之后,所述方法还包括:
当识别到所述候选用户意图缺失确定所述目标响应语句所需的信息时,执行所述根据所述目标预期用户意图,确定所述交互设备对于所述回复语句的目标响应语句的步骤。
可选地,所述从与所述历史响应语句关联的多个预期用户意图中,确定与所述候选用户意图匹配的目标预期用户意图,包括:
从与所述历史响应语句关联的多个预期用户意图中,确定包括所述候选用户意图的预期用户意图,作为所述目标预期用户意图。
第三方面,提供了一种对话系统,该对话系统包括:
获取模块,用于获取用户对于交互设备的回复语句;
识别模块,用于对所述回复语句进行意图识别,得到候选用户意图;
所述获取模块,还用于获取历史对话中与所述回复语句相邻的交互设备的历史响应语句;
确定模块,用于从与所述历史响应语句关联的多个预期用户意图中,确定与所述候选用户意图匹配的目标预期用户意图,所述预期用户意图用于表示用户对所述历史响应语句的预期回复的类别;
所述确定模块,还用于根据所述目标预期用户意图和所述历史响应语句,确定所述交互设备对于所述回复语句的目标响应。
可选地,所述确定模块,用于根据所述历史响应语句和所述目标预期用户意图,确定跳转用户意图;根据所述跳转用户意图,确定所述跳转用户意图对应的指令;
所述对话系统还包括:执行模块,用于执行所述跳转用户意图对应的指令。
可选地,所述确定模块,用于从与所述历史响应语句关联的多个预期用户意图中,确定与所述候选用户意图相同的预期用户意图,作为所述目标预期用户意图。
可选地,所述对话系统是终端。例如,对话系统是手机、智能音箱、聊天机器人等。
可选地,所述对话系统是云端设备,例如,对话系统是服务器。
第四方面,提供了一种对话系统,所述对话系统包括:
获取模块,用于获取用户对于交互设备的回复语句;
识别模块,用于对所述回复语句进行意图识别,得到候选用户意图;
所述获取模块,还用于获取历史对话中与所述回复语句相邻的交互设备的历史响应语句;
确定模块,用于从与所述历史响应语句关联的多个预期用户意图中,确定与所述候选用户意图匹配的目标预期用户意图,所述预期用户意图用于表示用户对所述历史响应语句的预期回复的内容;
所述确定模块,还用于根据所述目标预期用户意图,确定所述交互设备对于所述回复语句的目标响应语句。
可选地,所述确定模块,用于根据所述目标预期用户意图与候选响应语句模板之间的对应关系,从所述至少一个候选响应语句模板中,获取与所述目标预期用户意图匹配的所述目标响应语句模板;根据所述目标响应语句模板和所述历史响应语句,确定所述交互设备对于所述回复语句的目标响应语句。
可选地,所述确定模块,用于获取目标关键词,所述目标关键词用于表示所述历史对话的会话关键内容;识别所述目标关键词的类型;将所述目标关键词填充至所述目标响应语句模板中所述类型对应的第一目标槽位中,得到所述目标响应语句。
可选地,所述获取模块,用于提取所述历史响应语句中的所述目标关键词;或者,从所述历史对话中所述用户对于所述交互设备的历史回复语句中,提取所述目标关键词;或者,查询配置信息,得到所述历史响应语句关联的所述目标关键词,所述配置信息包括预先设置的所述历史响应语句与所述目标关键词之间的关联关系。
可选地,所述获取模块,用于对所述历史响应语句进行命名实体识别,将得到的公共命名实体作为所述目标关键词。
可选地,所述获取模块,用于对所述历史回复语句进行命名实体识别,将得到的公共命名实体作为所述目标关键词。
可选地,所述确定模块,用于当识别到所述候选用户意图缺失时,执行所述根据所述目标预期用户意图,确定所述交互设备对于所述回复语句的目标响应语句的步骤。
可选地,所述确定模块,用于从与所述历史响应语句关联的多个预期用户意图中,确定包括所述候选用户意图的预期用户意图,作为所述目标预期用户意图。
可选地,所述对话系统是终端。例如,对话系统是手机、智能音箱、聊天机器人等。
可选地,所述对话系统是云端设备,例如,对话系统是服务器。
第五方面,提供了一种对话系统,该对话系统包括处理器,该处理器用于执行指令,使得该对话系统执行上述第一方面或第一方面任一种可选方式所提供的人机对话中的响应方法。第三方面提供的对话系统的具体细节可参见上述第一方面或第一方面任一种可选方式,此处不再赘述。
第六方面,提供了一种对话系统,该对话系统包括处理器,该处理器用于执行指令,使得该对话系统执行上述第二方面或第二方面任一种可选方式所提供的人机对话中的响应方法。第六方面提供的对话系统的具体细节可参见上述第二方面或第二方面任一种可选方式,此处不再赘述。
第七方面,提供了一种计算机可读存储介质,该存储介质中存储有至少一条指令,该指令由处理器读取以使对话系统执行上述第一方面或第一方面任一种可选方式所提供的人机对话中的响应方法。
第八方面,提供了一种计算机可读存储介质,该存储介质中存储有至少一条指令,该指令由处理器读取以使对话系统执行上述第二方面或第二方面任一种可选方式所提供的人机对话中的响应方法。
第九方面,提供了一种计算机程序产品,当该计算机程序产品在对话系统上运行时,使得对话系统执行上述第一方面或第一方面任一种可选方式所提供的人机对话中的响应方法。
第十方面,提供了一种计算机程序产品,当该计算机程序产品在对话系统上运行时,使得对话系统执行上述第二方面或第二方面任一种可选方式所提供的人机对话中的响应方法。
第十一方面,提供了一种芯片,当该芯片在对话系统上运行时,使得对话系统执行上述第一方面或第一方面任一种可选方式所提供的人机对话中的响应方法。
第十二方面,提供了一种芯片,当该芯片在对话系统上运行时,使得对话系统执行上述第二方面或第二方面任一种可选方式所提供的人机对话中的响应方法。
附图说明
图1是本申请实施例提供的一种系统架构100的示意图;
图2是本申请实施例提供的一种系统架构200的示意图;
图3是本申请实施例提供的一种对话系统的上下文的配置方法的流程图;
图4是本申请实施例提供的一种对话系统的配置界面的示意图;
图5是本申请实施例提供的一种对话系统的配置界面的示意图;
图6是本申请实施例提供的一种对话系统的配置界面的示意图;
图7是本申请实施例提供的一种对话系统的配置界面的示意图;
图8是本申请实施例提供的一种对话系统的配置界面的示意图;
图9是本申请实施例提供的一种对话系统的配置界面的示意图;
图10是本申请实施例提供的一种用于人机对话的模型训练方法的流程图;
图11是本申请实施例提供的一种人机对话中的响应方法的流程图;
图12是本申请实施例提供的一种人机对话中的响应方法的流程图;
图13是本申请实施例提供的一种人机对话中的响应方法的流程图;
图14是本申请实施例提供的一种人机对话中的响应方法的流程图;
图15是本申请实施例提供的一种多轮人机对话的示意图;
图16是本申请实施例提供的一种多轮人机对话的示意图;
图17是本申请实施例提供的一种对话系统500的结构示意图;
图18是本申请实施例提供的一种对话系统600的结构示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
以下示例性介绍本申请的应用场景。
本申请实施例提供的方法及装置能够应用在自然语言处理(Natural LanguageProcessing,NLP)技术中人机对话的场景。具体而言,本申请实施例能够应用在构建对话机器人并向最终用户提供语义理解和对话服务的场景中。通过在对话系统中结合上下文实现了信息补全,支持闲聊上下文、主动推荐上下文、话题跳转上下文、指令控制上下文等功能,使得设备与用户能够连贯地进行主动推荐、任务型或闲聊型的多轮对话。其中,对话机器人例如是儿童陪伴教育机器人、售后自动回答应用、售前咨询机器人等。
为了便于理解,下面对人机对话领域中实现上下文的技术进行简单的介绍。
自然语言对话中,指代和省略是常见的语言现象。在口语对话系统或交互式问答对话系统中,通过指代和省略,用户不用每次使用包含完整语义的句子,表达更加简洁和自然。但对于自然语言理解来说,指代和省略的使用会造成语法或语义成分的缺失,理解语义缺失情况下用户的完整真实意图,对于构建一个交互流畅自然的对话系统来说非常重要。
例如,用户先是输入了语句“北京天气怎么样?”,之后用户输入了语句“那上海呢?”,最后用户输入了语句“后天呢”,在这个例子中,对话系统可以在领域内补全缺失信息。又如,用户先是输入了语句“告白气球是周杰伦唱的吗?”,之后用户输入了语句“他演过什么电影?”,在这个例子中,对话系统可以在领域间补全缺失信息。又如,用户先是输入了语句“唱首歌吧”,之后用户输入了语句“再来一个”,在这个例子中,对话系统可以针对通用请求来明确用户具体用户意图。
除此之外,在人与人之间的交流中,互相问答是一种普遍的对话形式。因此,对话系统进行主动提问和推荐对于提升用户体验是非常关键的。另外,为提升对话体验,同一个用户意图可能会设置不同的交互设备的响应语句,如果交互设备的响应语句中涉及主动推荐/提问,就需要进行用户意图的关联和上下文的衔接,使对话流程正常进行下去。
在一种可能的实现中,利用指代消解和省略补全技术处理对话中指代和省略。具体地,使用预先配置的规则或机器学习算法,基于本轮对话的输入和前N轮对话历史,补全缺失语义成分得到完整的语句,再进行意图识别。例如,对话历史包括“告白气球是周杰伦唱的吗?”,本轮对话中用户输入的语句为“他演过什么电影?”,最终补全成“周杰伦演过什么电影”。但是,这种方法难度较大,最好的综合评价指标(F-Measure,F值)在70%左右,而且在补全错误的情况下,会导致后续的对话流程严重出错。
在另一种可能的实现中,使用对话状态跟踪(Dialog State Tracking,DST)技术和对话策略(Policy)来管理对话流程。具体地,使用机器学习算法,对大量的特定垂域(有限个数的领域,有限个槽位变量)的对话历史进行学习。其中,DST是指利用语音识别(Automatic Speech Recognition,ASR)、自然语言理解(Natural LanguageUnderstanding,NLU)模块的N条最优(N-Best)输出结果和前轮的系统动作,预测当前的对话状态(各槽位的关键词分布)。对话策略是指基于对话状态决策下一步的系统动作。然而,这种方式局限性较多,需使用大量的多轮对话数据进行训练,并且要限定在有限的领域和较少数量的槽位变量的情况,否则模型复杂度高。其中,N表示正整数。
在另一种可能的实现中,利用聊天机器人(bot)平台中技能、用户意图和槽位模型的功能处理对话中指代和省略。具体地,开发者需要在bot平台的用户意图(模板)中同时录入完整表达和非完整(上下文)表达的语句或模板,并设置槽位是否必选,对于缺失必选槽位的情况进行追问或澄清。例如,用户输入的语句为“天气怎么样?”,对话系统要追问“麻烦说一下你所在城市?”,以便明确询问天气用户意图对应的地点。然而,目前的bot平台主要支持快速开发一个特定领域的bot,只能在领域内支持用户的指代或省略表述。此外,bot平台在用户意图层面未区分进入说法和上下文说法,导致不同用户意图对应的同一种上下文说法会被重复录入。例如,两轮对话中用户输入的语句分别为“上海天气怎样”和“北京呢”,另外两轮对话中用户输入的语句分别为“去上海的机票还有吗?”和“北京呢”。“上海天气怎样”和“去上海的机票还有吗?”分别是问天气和订机票的不同用户意图,而对应于同一种上下文说法“北京呢”,导致上下文说法“北京呢”重复录入。此外,上下文说法可能会触发澄清。例如命中天气用户意图的上下文说法“今天”会触发响应语句“麻烦说一下你所在的城市”。此外,重复录入上下文说法可能导致对话系统筛选结果时无法判断选取哪个上下文说法对应的用户意图。例如,用户输入语句“北京呢”时,可能导致对话系统无法判断到底返回哪一个用户意图。此外,对话系统的回复模板或者生成的响应语句可以包含主动对话逻辑,例如,对话系统输出的响应语句为“你喜欢恐龙吗?”,下一轮对话中用户输入的语句为“喜欢”,在这种情况下无法控制下一轮对话的流程。此外,bot平台无法实现通用的用户意图向特定用户意图的跳转。例如,对话系统输出的响应语句为“给你唱首歌好不好?”,下一轮对话中用户输入的语句为“好的”,对话系统从“好的”可以得出表示肯定的通用的用户意图,需要从表示肯定的通用的用户意图跳转至播放歌曲的用户意图,才能更流畅地进行对话。
在另一种可能的实现中,对于用户意图提供了输入上下文(input context)和输出上下文(output context)两个接口,用于控制对话流程。具体地,控制对话流程的步骤包括以下步骤(1)至步骤(3)。
步骤(1)开发者对用户意图A绑定output context,为上下文标志(context_flag);开发者对用户意图B绑定input context,也为context_flag。
步骤(2)用户发起请求,若用户输入的语句命中用户意图A,对话系统会激活output context,则当前上下文状态中包含context_flag。
步骤(3)用户再次发起请求,则对话系统会优先命中用户意图B,并且context_flag可以从用户意图A传递参数至用户意图B。
然而,采用上述方法时,存在以下缺点(1)至缺点(3)。
缺点(1)如果要实现上下文,配置复杂繁琐,需要开发者具体设计和实现相应的机制。
缺点(2)相同的不完整用户说法和表达会有不同的含义,该方法需要为每个重复录入的用户说法和表述定义不同的用户意图,导致冗余。例如,用户表达“再来一个”,可能是再来一个歌曲或者再来一个舞蹈,该方法就需要重复录入“再来一个”,并且分别创建两个用户意图“再来一个歌曲”和“再来一个舞蹈”。
缺点(3)无法直接关联现有用户意图来串联对话,需要改写现有用户意图,导致无法有效利用已经录入的语料,盘活对话资源。
在另一种可能的实现中,对于某个用户意图的答复可以设置为引导至别的对话用户意图。其控制对话流程的步骤a至步骤b。
步骤a、开发者将用户意图A的回复设置为引导至别的对话用户意图,配置期望下轮用户请求内容为content_B及对应的用户意图B。
步骤b、用户发起请求,若请求内容与content_B匹配,则会命中用户意图B。
然而,采用上述方法时,存在以下缺点(a)至缺点(b)。
缺点(a)开发者在配置期望的下轮用户请求内容时,无法全面覆盖用户的表达方式,导致无法命中用户意图。例如,期望用户请求内容为“是的”,而用户实际表达内容可能是“好的”、“嗯”、“YES”等。
缺点(b)不同的用户意图会配置相同的期望下轮用户请求内容,导致配置冗余。例如,用户意图“唱首歌”配置期望下轮用户请求内容“再来一个”及对应的用户意图“唱首歌”,用户意图“跳个舞”配置期望下轮用户请求内容“再来一个”及对应的用户意图“跳个舞”。
结合以上背景,本申请的一些实施例中,考虑到在bot平台的基础上,需要实现一定的上下文理解能力,包含以下(1)至(3)这几个方面。
(1)需要支持用户说法和表达不完整的情况下理解用户意图。说法不完整的情况通常由于使用指代/省略引起。
(2)需要支持命中用户意图后对话系统的回复的多样性。此外,如果回复中涉及话题推荐和话题跳转,如何关联下一轮的用户意图,实现槽位的继承。
(3)对话历史中存在的一些通用的命名实体,需要作为槽位跨用户意图共享使用。
有鉴于此,本申请的一些实施例提供了一种对话系统上下文的配置方法和装置,能够在bot平台层面解决上述几个需求,可以实现多轮对话的用户意图关联和上下文衔接,提升对话机器人的交互体验。本申请的一些实施例所要解决的技术问题包括以下(1)至(6)。
(1)针对实现上下文配置复杂繁琐的问题,设计了一套上下文配置方案,简单便捷。
(2)支持不完整表达的录入和解析:解决了现有方案同类表达需重复录入,同类表达无法判断返回哪个用户意图的问题,即上述缺点(2)。
(3)支持用户意图的响应语句关联下一轮对话的预期用户意图,以及下一轮对话的预期用户意图可能对应的跳转用户意图。具体地,将配置下一轮对话中配置期望的用户对于交互设备的回复语句改为配置预期用户意图和跳转用户意图,解决了缺点(a)和缺点(b)同时解决了上述缺点(3)。
(4)复用对话历史中的公共命名实体槽位来填充用户的不完整表达所缺失的槽位,从而解决了目前的bot平台无法(跨用户意图)复用对话历史中公共命名实体槽位的问题。
(5)可以利用对话系统中已录入的槽位和用户意图进行继承和跳转,大大减少重复开发量。
(6)摆脱了只能在同一个领域内支持指代或省略说法的限制,有助于轻松实现垮域上下文。
在下面的一些实施例中,首先提供一种用户意图回复的配置方法,包括为用户意图的响应语句配置预期用户意图和跳转用户意图,以及配置需要传递给下轮对话使用的关键词。通过获取并处理配置信息实现了本轮对话和下轮对话的用户意图关联和槽位继承。
其次提供一种用户意图的类型及用户意图关联的配置方法,用户意图的类型分为入口意图和上下文意图:入口意图为用户描述某个特定需求的完整表达,上下文意图为用户对某个特定需求的不完整的表达,并支持获取为用户意图配置的类型以及与用户意图关联的其他用户意图。通过这种方式实现了领域内的多轮对话连续性以及避免了在没有上下文的情况下命中上下文意图的错误。
最后为用户意图提供了一种是否使用公共命名实体的配置。通过获取并处理配置信息实现了公共命名实体槽位的跨用户意图共享。
通过以上几个技术要点,提供了一种全新的上下文开发装置,有助于在内容开发平台上轻松实现上下文控制、对话流程控制、主动推荐,任务型与闲聊型的多轮对话。
由于本申请实施例涉及NLP技术的应用,为了便于理解,下面先对本申请实施例涉及的NLP技术中的术语相关概念进行介绍。
用户意图(intent)用于描述用户和机器进行语音交互的目的,例如订机票,问天气,话题交流,比如聊动物。
槽位(slot)用于描述用户意图中的一些参数信息,例如订机票的出发时间,出发地,目的地等。
槽位提取:在NLP任务中,对于输入的文本内容,对话系统根据既定的一些结构化字段,可以将文本内容包含的结构化信息提取出来。比如,文本内容是“今天的天气如何”,对话系统可以提取出一个表示时间的关键词:“今天”。比如,文本内容是“我要去深圳”,对话系统可以提取一个表示地点的关键词:“深圳”。
待补充槽位:是指对话系统需要返回的响应语句中空缺的槽位,向待补充的槽位添加关键词的过程称为槽位填充(Slot filling,也称填槽)。槽位填充能够补全信息,从而有助于将用户意图转化为用户明确的指令。
bot指Chatbot,即智能对话机器人,也称VA(Virtual Assistant虚拟助理)。bot的核心是基于自然语言理解的智能对话系统,整合了知识管理和学习、智能语音、图像识别等人工智能技术。bot平台是当前较流行的构建对话机器人的框架或工具。开发者通过在bot平台定义用户意图和槽位,添加对话语料并进行简单标注,随后bot平台训练好模型就可以为用户(对话机器人的服务对象)提供NLU和对话能力。
下面介绍本申请实施例提供的系统架构。
参见附图1,本申请实施例提供了一种系统架构100。系统架构100包括数据录入设备103、客户端访问设备104、服务器105。可选地,数据录入设备103和客户端访问设备104为终端,终端例如是智能手机、台式计算机、平板电脑或笔记本电脑等。服务器105包括一台服务器、多台服务器、云计算平台和虚拟化中心中的至少一种。
开发者101通过数据录入设备103录入用户意图、响应语句和槽位数据,数据录入设备103将录入的数据传输至服务器105,服务器105对录入的数据进行数据存储、进行模型训练并提供语义理解或人机对话的能力。用户102通过客户端访问设备104向服务器105发送语义理解或人机对话请求,服务器105向客户端访问设备104回复语义理解的结果或对话响应语句。
数据录入设备103安装和运行有支持bot平台的应用程序,该应用程序可以是bot平台的客户端。该应用程序可以提供bot平台的配置界面,以便开发者在配置界面上录入用户意图、响应语句和槽位数据。
服务器105用于为bot平台提供后台服务,换句话说,服务器105可以是bot平台的后台服务器。可选地,在bot平台处理业务的过程中,服务器105承担主要处理工作,数据录入设备103承担次要处理工作;或者,服务器105承担次要处理工作,数据录入设备103承担主要处理工作;或者,服务器105或数据录入设备103分别可以单独承担处理工作。或者,服务器105和数据录入设备103两者之间采用分布式计算架构进行协同计算。
bot平台可以用于提供、部署和运行人机对话应用,该人机对话应用例如是对话机器人应用。人机对话应用可以是客户端应用或网页应用。人机对话应用可以是独立的应用程序,也可以是嵌入至即时通讯应用、购物应用等应用客户端中的小程序或服务,例如,人机对话应用可以是购物应用中的智能客服、招聘网站中的招聘助手等。
客户端访问设备104安装和运行有人机对话应用,用户可以通过客户端访问设备104输入语句。可选地,在人机对话的过程中,服务器105承担主要处理工作,例如服务器105承担根据用户对于交互设备的回复语句生成响应语句的任务,而客户端访问设备104承担次要处理工作,例如客户端访问设备104承担采集用户的输入的语句、播放包含响应语句的语音或者在屏幕中显示响应语句;或者,服务器105承担次要处理工作,客户端访问设备104承担主要处理工作;或者,服务器105或客户端访问设备104分别可以单独承担处理工作。或者,服务器105和客户端访问设备104两者之间采用分布式计算架构进行协同计算。
以上系统架构100从硬件的角度介绍了整体的逻辑功能架构,以下通过系统架构200,对下述方法实施例涉及的功能模块进行介绍,系统架构200中的不同功能模块可以位于系统架构100中相同或不同的设备上。
参见图2,系统架构200包括数据录入模块201、模型训练模块202和结果生成模块203。
数据录入模块201用于接收开发者在界面上配置的用户意图和关键词。本申请的一些实施例支持开发者在界面上配置入口意图和上下文意图,数据录入模块201可以接收入口意图和上下文意图。本申请的一些实施例支持用户意图使用系统抽取的公共命名实体槽位,数据录入模块201可以接公共命名实体槽位。本申请的一些实施例支持开发者在用户意图的响应语句中指定预期用户意图和跳转用户意图,数据录入模块201可以接收预期用户意图和跳转用户意图,保存响应语句、预期用户意图和跳转用户意图之间的关联关系。数据录入模块201可以位于系统架构100中的数据录入设备103或服务器105上。数据录入模块201可以将开发者录入的数据提供给模型训练模块202。
模型训练模块202用于使用开发者录入的数据,采用机器学习算法训练出意图识别模型。模型训练模块202可以将训练得到的意图识别模型提供给结果生成模块203。模型训练模块202可以位于系统架构100中的服务器105上。
结果生成模块203用于从客户端访问设备104接收请求报文,解析请求报文得到本轮对话的用户输入的语句,使用模型训练模块202得到的意图识别模型进行预测,结合对话历史、预期用户意图或跳转用户意图来产生最终的语义解析结果或对话回复。
上述数据录入模块201、模型训练模块202和结果生成模块203采用软件实现,具体通过程序代码,指令等编程方式实现,其中数据和指令可以存储在各类型存储器上,例如只读存储器(read-only memory,ROM)或可存储静态信息和指令的其他类型的静态存储设备,随机存取存储器(random access memory,RAM)或者可存储信息和指令的其他类型的动态存储设备,也可以是电可擦可编程只读存储器(electrically erasable programmableread-only Memory,EEPROM)、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由案例的查找装置存取的任何其他介质。指令或功能模块的执行可以由处理器或者控制器实现,例如可以是中央处理器(central processing unit,CPU)、数字信号处理(digital signal processor,DSP)。
以上通过系统架构100和系统架构200,从硬件的角度和软件的角度分别介绍了系统架构,下面从配置方面、模型训练方面和回复生成方面,示例性介绍基于上文提供的系统架构提供人机对话服务的方法流程。具体地,本申请实施例提供的对话系统的上下文的配置方法300涉及数据录入和存储方面的流程,主要介绍对话系统中如何配置用户说法、各种用户意图、用户意图的响应语句、槽位等数据,最终得到响应语句、用户意图与槽位数据之间的关联关系。本申请实施例提供的用于人机对话的模型训练方法400涉及模型训练方面的流程,主要介绍对话系统中如何训练出意图识别模型和槽位抽取模型。本申请实施例提供的人机对话中的响应方法410涉及回复生成方面的流程,主要介绍人机对话过程中对话系统中如何生成响应语句。需要说明的是,本申请实施例提供的方法300、方法400和方法410是基于同一个构思产生的发明,也可以理解为一个对话系统中的三个部分,或一个整体流程的三个阶段:如提供人机对话服务的配置阶段、提供人机对话服务的模型训练阶段和提供人机对话服务的回复生成阶段。方法300、方法400和方法410可互相参考,其中一个实施例未示出的细节可参考其他实施例。
参见图3,图3是本申请实施例提供的一种对话系统的上下文的配置方法300的流程图。
可选地,方法300由系统架构100中的服务器105执行,方法300中的用户意图、响应语句和槽位数据可以由数据录入设备103发送至服务器105。可选地,方法300由系统架构200中的数据录入模块201执行。可选的,方法300由CPU处理。
示例性地,方法300包括S31至S34。
S31、对话系统接收开发者在界面上配置的用户意图信息。
可选地,对话系统是闲聊型的对话系统。例如,对话系统是聊天机器人对应的机器人平台,比如说对话系统是bot平台。当然,对话系统也可以是任务型对话系统或问答型对话系统。
用户意图信息包括用户意图的意图名称、用户意图类型、用户说法、响应语句中的至少一项。
具体来讲,本实施例为对话系统引入了入口意图和上下文意图的逻辑,将用户意图的类型分为入口意图和上下文意图。开发者在配置一个用户意图时,可以从入口意图和上下文意图中选择一种类型,将其配置为该用户意图的类型。在一种可能的实现中,对话系统可以通过用户界面(User Interface,UI)允许开发者录入用户意图和对应的用户意图类型。例如,请参见图4,对话系统可以提供新建用户意图界面,新建用户意图界面包括用户意图类型菜单,用户意图类型菜单包括入口意图选项和上下文意图选项,开发者对其中一个选项触发选择操作后,可以将当前新建的用户意图的类型配置为选中的选项对应的类型。
入口意图为通过完整语句表达的用户意图。换句话说,入口意图为用户描述某个需求的完整表达。例如,入口意图是“今天深圳天气”、“播放王菲的歌曲”、“跳个舞”等。当用户输入语句(即后文中的回复语句)后,如果用户输入的语句匹配入口意图,对话系统可以从入口意图对应的响应语句中选择一个响应语句,使用选择的响应语句回复用户输入的语句,从而可以直接返回结果。为了简明起见,本申请实施例后续在不至于引入理解困难的情况下用“意图名称+entrance”的形式来简化表示具体的入口意图,如具体的入口意图为“get_weather_entrance”等。
上下文意图为通过不完整语句表达的用户意图。具体地,上下文意图对应的表达方式为描述某个需求的不完整的表达。例如,上下文意图对应的用户说法使用了指代或和省略的表达方式。在用户的输入对应于上下文意图的情况下,通常要结合历史对话来明确用户的需求。例如,上下文意图是“明天呢”、“小白兔”、“那北京呢”或“再来一个”。为了简明起见,本申请实施例后续在不至于引入理解困难的情况下用“context+意图名称”的形式来简化表示具体的上下文意图,如具体的上下文意图为“context_yes”等。
可选地,在建立上下文意图的过程中,开发者可以为上下文意图配置不完整语句表达的用户说法,对话系统可以接收通过不完整语句表达的用户说法和上下文意图,后续通过不完整语句表达的用户说法和上下文意图训练意图识别模型。可选地,为同一个上下文意图录入语义相同的多个不完整语句,例如,为context_yes录入“好的”、“嗯”、“YES”等用户说法,其中context_yes为表示肯定的上下文意图。
在一些实施例中,为上下文意图的命中引入了限制性的条件。具体地,在默认情况下,本轮对话中用户输入的语句(例如用户对于交互设备的回复语句)不会匹配到上下文意图;而在用户输入的语句(例如用户对于交互设备的回复语句)对应的用户意图满足预设条件的情况下,用户输入的语句对应的用户意图会匹配到上下文意图。换句话说,上下文意图在满足预设条件的情况下才能命中,从而避免在没有上下文的情况下命中上下文意图的错误。
其中,该预设条件包括预设条件(1)或预设条件(2)中的至少一项。
预设条件(1):上下文意图关联的入口意图在上一轮对话中命中。换句话说,如果上下文意图A与入口意图B建立了关联关系,且历史对话(例如上一轮对话)中用户输入的语句(例如用户对于交互设备的回复语句)与入口意图B匹配,则本轮对话中用户输入的语句(例如用户对于交互设备的回复语句)对应的候选用户意图能够匹配到上下文意图A。
预设条件(2):上下文意图属于上一轮对话的响应语句对应的预期用户意图,或者上下文意图属于本轮对话的用户输入的语句(例如用户对于交互设备的回复语句)所指定的用户意图。
如图4所示,在新建用户意图界面,开发者可以命名“询问天气”的用户意图为get_weather_entrance。并且,开发者可以选择“入口意图”,作为“询问天气”的用户意图的类型。开发者录入“询问天气”的用户意图对应的用户说法。用户说法例如是”北京今天的天气”或”今天深圳会下雨吗?”。开发者使用”新增”按钮,将“询问天气”的用户意图添加到用户说法训练语料中,以便后续使用该用户意图训练用户意图分类模型。此外,开发者为“询问天气”的用户意图添加对话的响应语句。对话的响应语句例如是“下面为您播报北京的天气:”、“深圳的天气是:”。
可选地,在人机对话中,对话的响应语句的内容包括以下使用方式(1)至使用方式(3)中的至少一项。为了区分用户发出的语句与机器发出的语句,将用户发出的语句称为回复语句,将机器发出的语句称为响应语句。
使用方式(1)对话系统直接使用预先配置的响应语句,对本轮对话中用户输入的语句(例如用户对于交互设备的回复语句)进行回复。
例如,本轮对话中用户输入的语句(例如用户对于交互设备的回复语句)是“你心情如何?”,开发者为该用户对于交互设备的回复语句配置的响应语句是“我的心情很不错。”。在这个例子中,对话系统可以直接使用“我的心情很不错。”回复“你心情如何?”。
使用方式(2)对话系统以预先配置的响应语句为前缀,对用户对于交互设备的回复语句进行回复。
具体地,对话系统基于预先配置的响应语句以及其他内容,生成最终的响应语句。例如,开发者为该用户对于交互设备的回复语句配置的响应语句是“北京的天气是:XX”。在这个例子中,对话系统可以将“北京的天气是”作为前缀,基于用户意图和关键词生成“XX”的具体内容。例如,如果关键词是北京,则对话系统根据“北京”调用天气服务,得到北京的天气是“小雨”,将配置的响应语句中的XX替换为“小雨”,生成的最终的响应语句是“北京的天气是:小雨”。
可选地,预先配置的响应语句中的公共命名实体或者其他关键词根据用户对于交互设备的回复语句中的参数替换。例如,开发者为该用户对于交互设备的回复语句配置的响应语句是“北京的天气是:XX”,这个例子中的地名“北京”也可以根据用户对于交互设备的回复语句中的参数来替换。比如说,如果用户对于交互设备的回复语句是“那深圳的天气呢?”,对话系统可以将“北京的天气是:XX”中的“北京”替换为“深圳”,并根据“深圳”调用天气服务,得到深圳的天气是“小雨”,将XX替换为“小雨”,向用户回复“深圳的天气是:小雨”。
使用方式(3)对话系统不使用预先配置的响应语句。
在这种使用方式下,预先配置的响应语句的内容可以为空或某个特殊文本如NO_REPLY(表示没有回复)。对话系统进行用户意图理解和槽位抽取,而不产生具体的回复。例如,对话系统不使用NO_REPLY的信息进行回复即可。
例如,请参见附图5,图5示出了一个上下文意图的新建界面。在该新建界面,开发者可以新建一个用户意图,将意图名称配置为location_again(表示再次询问地点)。并且,开发者可以选择“上下文意图”,作为“location_again”的用户意图的类型。开发者添加“location_again”的用户意图对应的用户说法。用户说法例如是“北京呢”,“那北京呢”。开发者添加“location_again”对应的响应语句。其中,如果“location_again”这个上下文意图的响应语句不会被对话系统使用到,开发者可以将“location_again”的响应语句设置为空,或者将“location_again”的响应语句设置为特殊字符,特殊字符例如是NO_REPLY。
上述步骤S31提供了一种用户意图的类型及用户意图关联的配置方法。其中,用户意图的类型是指入口意图和上下文意图。用户意图关联的配置是指将用户意图A与用户意图B关联起来,该用户意图B为用户意图A的预期用户意图。通过执行步骤S31,开发者在对话系统上定义了入口意图和上下文意图。通过入口意图和上下文意图的引入及处理方式,可以方便开发者在对话系统上快速构建一个多轮对话的技能,省去复杂的上下文(用户意图和槽位)关联和管理的工作,降低开发难度。此外,由于开发者可以为同一类说法录入一个上下文意图,使得同一类说法的每种表达方式具有公共的上下文意图,因此可以省去开发者对同类说法的重复录入,从而减少开发者为同类说法中的每种表达方式分别录入上下文意图带来的工作量,因此提高了录入用户意图的效率。并且,通过该配置方式,允许开发者在对话系统上将入口意图和上下文意图关联起来,并允许将多个上下文意图关联到同一个入口意图,因此当多轮对话都落在入口意图和上下文意图的关联用户意图集中时,能实现上下文意图与对应的入口意图之间的自动关联,并实现上下文意图与对应的入口意图之间槽位的自动继承和接续,从而减少开发者的上下文维护工作。其中,上下文意图和入口意图之间的关联可以通过预期用户意图的逻辑实现,具体请参见下述方法410。
在一些实施例中,开发者可以在对话系统上添加槽位。例如,对话系统的UI界面允许开发者录入槽位名称和关键词。请参考附图6,图6示出了新建槽位的界面示意图。每个槽位都包含一个槽位名称,槽位名称例如是user_def_location(表示用户自定义的地点)。开发者可以使用系统词典或内建词典中的词语,作为关键词。例如,开发者可以使用系统词典中的地名(sys_place),人名(sys_people)和时间(sys_time)等。此外,开发者可以指定关键词中包含的词语。另外,对话系统支持使用同义词作为关键词。例如,深圳和鹏城这一对同义词可以作为关键词。此外,如果开发者发现系统词典中某个词语不合适,可以将不合适的词语排除。
在一些实施例中,对话系统中引入了跨用户意图槽位共享的逻辑。具体地,入口意图与入口意图关联的上下文意图维护同一份上下文状态,该上下文状态是指关键词。非同名槽位的关键词可以自动继承。具体地,如果入口意图和上下文意图具有槽位名称不同的槽位,上下文意图中的关键词可以继承入口意图的关键词。同名槽位的取值自动覆盖。具体地,如果入口意图和上下文意图具有槽位名称相同的槽位,上下文意图中的关键词可以保持为上下文意图本身的关键词。
例如,上一轮对话的用户对于交互设备的回复语句A是“今天北京天气怎么样?”,用户对于交互设备的回复语句A具有两个槽位,槽位名称为“loc”的关键词为北京,槽位名称为“date”的关键词为今天。本轮对话的用户对于交互设备的回复语句B是“那明天呢”,用户对于交互设备的回复语句B具有一个槽位,槽位名称为“date”的关键词为明天。在这个例子中,用户对于交互设备的回复语句A的用户意图为入口意图,用户对于交互设备的回复语句B的用户意图为上下文意图。用户对于交互设备的回复语句A和用户对于交互设备的回复语句B具有非同名槽位“loc”,用户对于交互设备的回复语句B可以继承用户对于交互设备的回复语句A中槽位“loc”的关键词“北京”。用户对于交互设备的回复语句A和用户对于交互设备的回复语句B具有同名槽位“date”,用户对于交互设备的回复语句B中“date”的关键词“明天”可以自动覆盖用户对于交互设备的回复语句A中“date”的关键词“今天”。通过执行槽位共享后,用户对于交互设备的回复语句B的槽位“loc”的关键词为“北京”,用户对于交互设备的回复语句B的槽位“date”的关键词为“明天”。
此外,当上一轮对话的用户对于交互设备的回复语句和本轮对话的用户对于交互设备的回复语句均缺失必选槽位时,对话系统可以触发澄清逻辑。例如,上一轮对话的用户对于交互设备的回复语句a是“订电影票”,用户对于交互设备的回复语句a缺失了电影名称和观看时间,对于对话系统而言,用户对于交互设备的回复语句a中槽位“name”的关键词是缺失(missing)的,槽位“time”的关键词也是缺失的。对话系统可以对用户对于交互设备的回复语句a回复“你想看什么电影呢?”以便澄清电影名称或者说槽位“name”的关键词。对话系统回复后,用户发起本轮对话的用户对于交互设备的回复语句b“战狼”,用户对于交互设备的回复语句b中槽位“name”的关键词是战狼,而槽位“time”的关键词仍是缺失的,对话系统可以对用户对于交互设备的回复语句b回复“想订几点的场次呢?”以便澄清观看时间或者说槽位“time”的关键词。
在一些实施例中,在对话系统中引入了全局共享槽位集合。全局共享槽位集合存储了对话系统自动抽取的共享槽位集合或通过应用程序接口(Application ProgrammingInterface,API)更新的共享槽位集合。可选地,全局共享槽位集合为公共命名实体集合,全局共享槽位集合包括至少一个公共命名实体,比如说全局共享槽位集合包含但不限于:时间、地点或人名等公共命名实体。使用全局共享槽位集合的情况包括多种。例如,对于部分上下文意图,开发者指定该上下文意图对应的用户说法中必须包含某个全局槽位,才能触发该上下文意图,在这种情况下,对话系统接收到该用户说法对应的用户对于交互设备的回复语句时,会使用全局共享槽位集合,从而触发上下文意图。例如,上下文意图的意图名称为“context.age”,为该上下文意图配置的用户说法是“他年纪多大了”,为该上下文意图指定了全局槽位PEOPLE@global.slots。采用这种配置后,当用户输入语句“他年纪多大了”,且全局槽位包含变量PEOPLE时,会匹配上下文意图“context.age”。此外,调用对话系统的业务调用方可以通过API访问全局共享槽位集合。
S32、对话系统接收开发者在界面上配置的公共命名实体信息。
具体地,开发者可以配置一个用户意图使用公共命名实体信息,公共命名实体信息可以跨用户意图共享使用。例如,参见图7,图7示出了用户意图使用公共命名实体的示例。对于部分用户意图,如果对话系统需要引用跨用户意图共享的公共命名实体,开发者可以在新建用户意图的界面上配置开启使用公共命名实体,并配置公共命名实体引用的槽位名。例如,上下文意图表示“询问景点”,该上下文意图支持的用户说法中包含代词“那里”。开发者可以在新建该用于表示“询问景点”的上下文意图的过程中,配置使用公共命名实体,该公共命名实体例如是地名信息(global_place)。在人机对话的过程中,对话系统根据用户对于交互设备的回复语句得到候选用户意图后,如果得到的候选用户意图是使用公共命名实体的用户意图,当用户意图分类的结果和指定的引用槽位都满足条件时,对话系统将会把候选用户意图添加到最终的候选用户意图集合中。
通过步骤S32,在用户意图层面,提供了一种用户意图是否使用公共命名实体的配置方法。
S33、对话系统接收开发者在界面上配置的响应语句。
开发者可以为每个用户意图配置至少一个响应语句,对话系统会接收配置的用户意图和至少一个响应语句,建立并保存用户意图和至少一个响应语句之间的关联关系。在人机对话的过程中,对话系统获取到用户对于交互设备的回复语句后,会根据用户对于交互设备的回复语句对应的候选用户意图,从预先配置的用户意图中找到和候选用户意图匹配的目标用户意图,从为目标用户意图预先配置的响应语句中选择最终的响应语句。
本实施例中,为对话系统中引入了预期用户意图和用户意图跳转的逻辑。每一条响应语句可以指定下一轮对话的预期用户意图。此外,可选地,每一条响应语句可以指定命中预期用户意图后的跳转用户意图和需要传递的槽位,以实现本轮对话和下轮对话的用户意图关联和槽位接续。
预期用户意图用于表示用户对响应语句的预期回复,例如表示预期回复的类型或预期回复的内容。对话系统可以利用上一轮对话的预期用户意图,在下一轮对话中筛选候选用户意图。预期用户意图也可以简称为预期意图。具体地,在一轮对话中,当对话系统提供一个响应语句时,对话系统对用户的回答是有一定预期的,而用户对响应语句的回答就是下一轮对话的用户对于交互设备的回复语句,因此下一轮对话的用户对于交互设备的回复语句可能命中的用户意图也是能预期的。本实施例中,允许开发者在录入用户意图对应的响应语句时,指定下一轮对话中可能命中的用户意图。在配置用户意图的过程中,开发者对每一个可以预期下一轮对话中用户意图的响应语句,均可以配置用户意图的响应语句对应的一个或多个预期用户意图。对话系统会获取为用户意图的响应语句配置的一个或多个预期用户意图,建立并保存用户意图的响应语句与配置的一个或多个预期用户意图之间的关联关系。将响应语句与预期用户意图关联后,对话系统在筛选候选用户意图时,会优先考虑上一轮对话的响应语句中配置的预期用户意图。如候选用户意图集合中有满足预期用户意图的候选用户意图,则对话系统会优先返回满足预期用户意图的候选用户意图。此外,对话系统业务调用方也可以在发送NLU解析请求时,指定本轮可能命中的预期用户意图。
可选地,预期用户意图为上下文意图。或者,预期用户意图为入口意图。
可选地,预期用户意图包括表示肯定回复的用户意图、表示否定回复的用户意图、表示喜欢的用户意图、表示不喜欢的用户意图中的至少一项。其中,表示肯定回复的用户意图例如是通用的用户意图,可以对应于表示肯定的一类说法中的多种表达方式。例如,表示肯定回复的用户意图可以涵盖“是的”、“好的”、“OK”、“可以”、“嗯嗯”、“行呀”等说法。表示否定回复的用户意图例如是通用的用户意图,可以对应于表示否定的一类说法中的多种表达方式。例如,表示否定回复的用户意图可以涵盖“不好”,“不要”等说法。同理地,表示喜欢回复的用户意图例如是通用的用户意图,可以对应于表示喜欢的一类说法中的多种表达方式。表示不喜欢回复的用户意图例如是通用的用户意图,可以对应于表示不喜欢的一类说法中的多种表达方式。可选地,表示肯定回复的用户意图的意图名称为context_yes,表示否定回复的用户意图的意图名称为context_no,表示喜欢回复的用户意图的意图名称为context_like,表示不喜欢回复的用户意图的意图名称为context_dislike。
例如,参见图8,图8示出了为用户意图ability配置预期用户意图的示例,其中,用户意图ability表示询问能力。开发者将用户意图ability的用户意图类型配置为入口意图。开发者将用户意图ability的用户说法配置为“你会聊啥?”和“你有啥技能”。并且,开发者将用户意图ability的响应语句配置为“我是中华小曲库。给你唱首小星星好吗?”和“那咱聊猴子吧,你喜欢猴子吗?”。并且,开发者将“我是中华小曲库。给你唱首小星星好吗?”的响应语句配置了预期用户意图“context_yes”和“context_no”,将“那咱聊猴子吧,你喜欢猴子吗?”的响应语句配置了预期用户意图“context_yes”、“context_no”、“context_like”和“context_dislike”。
在一些实施例中,在支持预期用户意图的基础上,对话系统还支持用户意图的自动跳转。具体地,如果预期用户意图只是一个中间状态,比如预期用户意图是某个上下文意图,可以利用预期用户意图对应的跳转用户意图来回复用户对于交互设备的回复语句以及执行其他任务。具体地,对于需要使用跳转用户意图的响应语句,开发者在为用户意图的响应语句配置对应的预期用户意图的基础上,还可以添加对应的跳转用户意图。其中,跳转用户意图也可以简称为跳转意图。例如,参见图8,用户意图ability的响应语句包括“你喜欢猴子吗?”,开发者不仅为“你喜欢猴子吗?”配置了表示通用肯定的预期用户意图context_yes、表示通用喜欢的预期用户意图context_like、表示通用否定的预期用户意图context_no,并且为预期用户意图context_yes添加了对应的跳转用户意图like_animal,为预期用户意图context_like添加了对应的跳转用户意图like_animal,为预期用户意图context_no添加了对应的跳转用户意图general_dislike。其中,like_animal为用于表示喜欢某类动物的用户意图,general_dislike为表示不喜欢某个物品的通用的用户意图。开发者配置跳转用户意图后,对话系统会获取为用户意图的响应语句配置的一个或多个跳转用户意图,建立并保存用户意图的响应语句、预期用户意图与跳转用户意图之间的关联关系。可选地,跳转用户意图和对应的预期用户意图具有不同的用户意图类型,例如,预期用户意图为上下文意图,跳转用户意图为入口意图。
以上介绍了预期用户意图和跳转用户意图,在一些实施例中,开发者在配置用户意图的响应语句时,可以不仅指定下一轮对话可能命中的预期用户意图和跳转用户意图,还指定并配置下一轮对话待添加的关键词,以便将上一轮对话中指定的关键词传递到下一轮对话。具体地,本实施例允许开发者在编辑响应语句的过程中,添加待传递给预期用户意图或跳转用户意图的关键词。对话系统会获取为用户意图的响应语句配置的关键词,建立并保存用户意图的响应语句、预期用户意图与关键词之间的关联关系。或者,在预期用户意图具有跳转用户意图的情况下,建立并保存用户意图的响应语句、预期用户意图、跳转用户意图与关键词之间的关联关系。当对话系统将预期用户意图或跳转用户意图作为目标用户意图时,会确定响应语句对应的关键词,使用确定的关键词,对预期用户意图对应的响应语句或跳转用户意图对应的响应语句进行槽位填充,因此对话系统在返回命中的预期用户意图的最终结果时,会将开发者配置的关键词一并返回给用户。
例如,请参考图8,“我是中华小曲库。给你唱首小星星好吗?”这条响应语句包括槽位名为song(歌曲)的槽位,该槽位的关键词为“小星星”。开发者在配置这条响应语句时,不仅配置了跳转用户意图play_song,还配置了关键词“小星星”,在对话过程中,槽位信息song:小星星会被传递给用户意图play_song。
又如,请参考图8,“那咱聊猴子吧,你喜欢猴子吗?”这条响应语句包括槽位名为animal(动物)的槽位,该槽位的关键词为“猴子”。开发者在配置这条响应语句时,不仅配置了跳转用户意图like_animal,还配置了关键词“猴子”,在对话过程中,槽位信息animal:猴子会被传递给用户意图like_animal。
本实施例中,通过为对话系统引入了预期用户意图和跳转用户意图及这两种用户意图的处理方式,可以提供为一种在对话系统上实现多轮对话用户意图关联和用户意图跳转的方法,用户意图跳转的功能包括意图名称改写、获取目标用户意图的响应语句、添加指定的槽位等。本实施例支持用户在对话系统的用户意图回复模块指定下轮对话的预期用户意图以及预期用户意图可能对应的跳转用户意图。通过预期用户意图和跳转用户意图,可以帮助开发者在对话系统轻松地控制多轮对话的流程,实现话题的自动跳转,复用已录入其他用户意图的回复模板。
S34、对话系统接收开发者在界面上配置的入口意图和上下文意图之间的关联关系。
开发者可以为入口意图配置对应的上下文意图,对话系统会建立入口意图上下文意图之间的关联关系。可选地,一个入口意图关联多个上下文意图,具体可以使用预期用户意图逻辑来实现关联。此外,开发者在配置关联用户意图时,可以增加需要传递的关键词,以实现上下文意图和入口意图的用户意图关联和槽位接续。
如图9所示,开发者之前录入了一个上下文意图context_more,context_more表示询问更多的上下文意图,context_more涵盖了“还有吗”,“还有什么?”等用户说法。在入口意图ability的界面下,开发者可以配置入口意图ability的关联用户意图为上下文意图context_more,对话系统会接收并保存入口意图ability与上下文意图context_more之间的关联关系,从而将上下文意图context_more关联到入口意图ability下。此外,如果需要对关联用户意图添加特定的关键词,开发者也可以在界面上配置关键词。例如,如图9所示,为关联用户意图添加一个槽位,槽位名为action(动作),关键词为more(更多),则对话系统会接收并保存上下文意图context_more与关键词more之间的关联关系。通过配置后,在人机对话过程中,当上下文意图context_more被命中时,对话系统可以找到用户意图context_more的关联用户意图ability,以便结合入口意图ability关联的信息进行回复,此外对话系统还会找到用户意图context_more关联的关键词more,将关键词more随用户意图context_more返回给用户。
如何保存入口意图和上下文意图之间的关联关系包括多种实现方式。在一种可能的实现中,对话系统在完成用户意图关联后,将入口意图和上下文意图之间的关联关系存储在用户意图关联表中。可选地,用户意图关联表以被关联用户意图为键(key),关联用户意图为值(value)。例如,用户意图ability为key,用户意图context_more为value。
本实施例提供的方法,通过为每个用户意图的响应语句配置对应的预期用户意图和跳转用户意图,有助于将上一轮对话的用户意图与下一轮对话的用户意图关联起来,帮助对话系统通过预期用户意图和跳转用户意图明确下一轮对话中的用户意图。此外,通过为每个用户意图的响应语句配置槽位名和关键词,有助于将上一轮对话关联的槽位信息传递给下一轮对话使用,帮助对话系统自动补全下一轮对话中缺失的信息。此外,通过为不完整表达方式定义了上下文意图,开发者为同一类不完整表达方式录入一个上下文意图即可,而无需为每个重复录入的用户说法定义不同的用户意图,因此降低了配置复杂度。
以上方法300描述了对话系统中配置各种用户意图、槽位数据以及各种用户说法的流程。以下通过方法400介绍意图识别模型和槽位抽取模型的训练过程。换句话说,方法400描述的方法流程关于对话系统如何基于开发者录入的数据训练出意图识别模型和槽位抽取模型。
参见图10,图10是本申请实施例提供的一种用于人机对话的模型训练方法400的流程图。
可选地,方法400由系统架构100中的服务器105执行,方法400中的样本数据可以由数据录入设备103发送至服务器105,可选的,方法400由系统架构200中的模型训练模块200执行。可选的,方法400由CPU处理,也可以由CPU和图形处理器(英文:GraphicsProcessing Unit,简称:GPU)共同处理,也可以不用GPU,而使用其他适合用于神经网络计算的处理器,本申请不做限制。例如,CPU用于承担S41对应的处理工作,GPU用于承担S42对应的处理工作。
示例性地,方法400包括S41至S42。
S41、对话系统获取对话语料。
对话语料包括多个样本,每个样本包括用户意图和表示意图的至少一种用户说法。例如,将预先配置的入口意图和入口意图对应的每个用户说法组合为一个样本,将预先配置的上下文意图和上下文意图对应的每个用户说法组合为一个样本。例如,样本1包括入口意图get_weather_entrance、用户说法“今天深圳会下雨吗?”和用户说法“北京今天天气?”;样本2包括上下文意图context_spots、用户说法“那里有什么景点?”和用户说法“那里有什么好玩的?”。
S42、对话系统使用对话语料进行模型训练,得到意图识别模型和槽位抽取模型。
在模型训练的过程中,对话系统可以将用户说法作为意图识别模型的输入参数,将用户说法对应的用户意图的意图名称作为意图识别模型的输出参数。
意图识别模型包括而不限于用户意图分类模型或用户意图匹配模型。用户意图分类模型用于根据每一个用户输入的语句预测用户对于交互设备的回复语句对应的用户意图。对话系统可以使用机器学习算法进行模型训练,得到用户意图分类模型。机器学习算法包括但不限于支持向量机、逻辑回归以及深层的神经网络等算法。在训练用户意图分类模型的过程中,对话系统可以将开发者录入的用户说法数据作为正样本,随机采样一些其他的对话语料数据作为负样本。对话系统在训练用户意图匹配模型的过程中,可以将开发者录入的用户说法数据建立索引,通过检索的方式获得多个候选用户意图,之后通过进一步的排序得到最可能的匹配结果。排序算法可以利用更多的词义,语义特征,排序模型可以选择一些基于神经网络的深度排序模型。在数据量不大的情况下,亦可以直接使用排序模型对所有的候选用户意图排序,省去第一步检索的过程。
槽位抽取模型用于根据用户输入的语句抽取用语句中的槽位和关键词。槽位抽取模型例如是序列标注模型。序列标注模型包括但不限于条件随机场(conditional randomfield,CRF)模型及长短期记忆网络(Long Short-Term Memory,LSTM)相关变种。
本实施例提供的方法,通过利用对话语料训练出意图识别模型,意图识别模型能够在模型训练过程中通过对话语料学习出用户说法和用户意图之间的映射关系,因此在人机对话过程中,对话系统利用意图识别模型,能够依据用户输入的语句预测出较为准确的候选用户意图。
以上方法400介绍了模型训练的流程,以下通过方法410,对人机对话中回复生成的流程进行举例说明。换句话说,方法410描述的方法流程关于对话系统收到用户对于交互设备的回复语句时,如何利用方法300中开发者的配置、对话历史以及方法400中训练出的意图识别模型生成响应语句。应理解,方法410与方法300和方法400同理的特征还请参见方法300和方法400,在方法410中不做赘述。
为了便于理解,以下对方法410的一个示例性应用场景进行介绍。
在一轮对话中,用户说“好的”,对话系统从对话历史中,找到机器在上一轮对话中说了“给你唱首小星星好吗?”,从而确定用户本轮的预期意图是机器是否唱小星星。对话系统根据“给你唱首小星星好吗?”关联的预期意图“是”和“否”,可以找到和预期意图匹配的目标预期意图是“是”,因此会基于“唱小星星”和“是”,播放小星星这首歌曲,从而对“好的”进行响应。
参见图11,图11是本申请实施例提供的一种人机对话中的响应方法410的流程图。方法410的流程也可以参考图13和图14和图16所示的流程图。
方法410具体可以由系统架构100中的服务器105执行,方法410中的对话的用户对于交互设备的回复语句可以是系统架构100中的客户端访问设备104给出的输入数据。可选的,方法410可以由CPU处理,也可以由CPU和GPU共同处理,也可以不用GPU,而使用其他适合用于神经网络计算的处理器,本申请不做限制。
示例性地,方法410包括S51至S511。
S51、对话系统获取用户对于交互设备的回复语句。
交互设备例如是客户端访问设备104。例如,交互设备是终端。例如,交互设备是运行有语音助手的手机、智能音箱等。回复语句例如是用户在本轮对话中输入的语句,即用户说的话。具体地,在人机对话的过程中,用户102在客户端访问设备104上通过语音或者打字的方式,输入本轮对话的用户对于交互设备的回复语句,客户端访问设备104会根据用户对于交互设备的回复语句生成用于请求人机对话的请求报文,向对话系统发送请求报文,对话系统接收请求报文,从请求报文获取用户对于交互设备的回复语句,预处理回复语句,再对预处理后的回复语句执行后续流程。其中,对话中用户输入的语句也称为用户的查询(query)。
可选地,对话系统对回复语句进行预处理。如何预处理用户对于交互设备的回复语句包括多种实现方式。在一种可能的实现中,对于请求报文中指定了本轮对话的预期用户意图的场景,对话系统会进行预期用户意图或跳转用户意图的抽取和存储。此外,对于请求报文中指定了本轮对话待补充槽位的场景,对话系统会从请求报文中抽取关键词,保存请求报文携带的关键词。具体来讲,由于对话系统对用户query(即用户对于交互设备的回复语句)的预测存在不确定性,假设根据用户对于交互设备的回复语句预测出的两个候选用户意图的分值相近,如果对话系统仅根据候选用户意图的分值选择目标用户意图,再根据目标用户意图确定响应语句,可能导致返回的响应语句不是用户最终期望的响应语句。有鉴于此,本实施例允许用户指定预期用户意图,指定的预期用户意图供对话系统对候选用户意图进行筛选时参考使用。
如何允许用户指定预期用户意图包括多种实现方式。可选地,在用户指定预期用户意图的情况下,客户端访问设备104会在请求报文中携带预期用户意图参数,对话系统接收到请求报文后,会判断请求报文是否包括预期用户意图参数,如果请求报文包括预期用户意图参数,对话系统会对预期用户意图进行解析和参数的抽取。如何携带预期用户意图参数包括多种实现方式,例如,请求报文的统一资源定位符(Uniform Resource Locator,URL)参数或请求体(request body)中携带了字段名为expect的字段,字段expect包括预期用户意图参数,预期用户意图参数的数据形式可以是字符串,预期用户意图参数可称为expect字符串。
例如,请求报文中expect字符串为context_yes>>play_song(song:小星星),expect字符串包括了预期用户意图(context_yes)、跳转用户意图(play_song)和待补充的槽位(song:小星星),对话系统会从expect字符串中解析出预期用户意图为context_yes,跳转用户意图为play_song,需要补充到最终返回结果中的关键词为song:小星星。对话系统会将解析出的预期用户意图存储在预期用户意图集中,将解析出的跳转用户意图存储在跳转用户意图表中,将解析出的关键词存储在槽位表中,以便后续根据预期用户意图和跳转用户意图确定响应语句,并将关键词补充到最终返回结果。
S52、对话系统对回复语句进行意图识别,得到候选用户意图。
在一种可能的实现中,对话系统将用户输入的回复语句输入至方法400训练得到的意图识别模型,通过意图识别模型对回复语句进行意图识别,输出候选用户意图集合(candidate Intent)以及候选用户意图集合中每个候选用户意图的分值(score),从而实现结果的初选。
例如,用户输入的回复语句为”好的”,将”好的”输入意图识别模型后,意图识别模型会输出到三个候选用户意图,分别是用户意图general_yes、用户意图context_yes和用户意图confirm_yes。其中,用户意图general_yes是表示肯定的通用的用户意图,
用户意图general_yes的分值为1.0,用户意图context_yes的分值为1.0,用户意图confirm_yes的分值为1.0。在这个例子中,三个候选用户意图的分值都是1.0,仅依据分值难以确定出合适的用户意图,而通过执行后续步骤,有助于准确的找到目标用户意图。
此外,对话系统还会对用户对于交互设备的回复语句进行槽位提取。例如,对话系统将用户输入的回复语句输入至S42训练得到的槽位提取模型,通过槽位提取模型对回复语句进行槽位提取,输出回复语句中的槽位和关键词。例如,用户对于交互设备的回复语句是“明天北京天气怎么样”,对话系统从“明天北京天气怎么样”中提取出槽位和关键词是“时间:明天”和“地点:北京”。
可选地,对话系统会在满足一定的条件下,过滤候选用户意图。以下通过实现方式一至实现方式三举例说明。
实现方式一、对话系统判断本轮用户的对话请求中是否指定了预期用户意图,如果指定了预期用户意图,且指定的预期用户意图的意图名称与候选用户意图的意图名称相同,则对话系统将该候选用户意图加入到最终的候选用户意图集合。例如,若候选用户意图的类型为上下文意图,对话系统判断携带回复语句的报文是否包括预期用户意图参数,若报文包括预期用户意图参数且预期用户意图参数中的意图名称与候选意图名称相同,则对话系统保留候选用户意图。若报文不包括预期用户意图参数,过滤候选用户意图。例如,模型预测出的候选用户意图包括上下文意图context_yes,而本轮的用户对话请求的expect字符串出现了context_yes,则对话系统会将上下文意图context_yes加入到最终的候选用户意图集合中。
实现方式二、若候选用户意图的类型为上下文意图,对话系统判断上一轮对话中对话系统的响应语句是否具有关联的预期用户意图,如果响应语句具有关联的预期用户意图,且响应语句关联的预期用户意图的意图名称与候选用户意图的意图名称相同,则对话系统将该候选用户意图加入到最终的候选用户意图集合。如果响应语句未关联预期用户意图,则对话系统过滤候选用户意图。
实现方式三、若候选用户意图的类型为上下文意图,对话系统判断候选用户意图是否具有关联的公共命名实体,如果候选用户意图具有关联的公共命名实体且该公共命名实体的值存在,则对话系统把候选用户意图加入到最终的候选用户意图集合中,如果候选用户意图未关联公共命名实体,对话系统过滤候选用户意图。其中,对话系统可以根据配置信息,确定候选用户意图关联的公共命名实体所引用的槽位名,判断该槽位名对应的关键词是否为空,如果槽位名对应的关键词非空,确定该公共命名实体的值存在。
例如,请参考图7,对话系统得到的候选用户意图为context_spots,context_spots为表示地点的上下文意图,对话系统可以判断用户意图context_spots是否配置了开启使用公共命名实体。例如,根据配置信息,确定用户意图context_spots配置了使用公共命名实体,且公共命名实体引用的槽位为global_place。如果对话系统从历史对话中抽取出公共命名实体为global_place:北京,则对话系统会将用户意图context_spots加入到最终的候选用户意图集合中。
S53、对话系统识别到候选用户意图是上下文意图。
具体地,对话系统获取候选用户意图的类型,对话系统判断候选用户意图的类型是入口意图还是上下文意图,若候选用户意图的类型为上下文意图,对话系统识别到候选用户意图缺失了所需的信息,则执行以下步骤。
S54、对话系统获取历史对话中与回复语句相邻的交互设备的历史响应语句。
其中,历史对话中与回复语句相邻的响应语句例如是上一轮对话中的交互设备的响应语句,即机器上一轮对话中说的话。例如,用户输入的回复语句是“好的”,与回复语句相邻的交互设备的历史响应语句为“我是中华小曲库。给你唱首小星星好吗?”,
可选地,对话系统在上一轮对话结束时,预先将上一轮对话的响应语句关联的每个预期用户意图保存在预期用户意图表中,预期用户意图表包括响应语句关联的一个或多个预期用户意图。对话系统查询预期用户意图表,判断候选用户意图与预期用户意图表中的预期用户意图是否匹配,对话系统会从候选用户意图集合中,筛选与预期用户意图匹配的候选用户意图,将筛选出的候选用户意图作为新的候选用户意图返回。其中,如何判断候选用户意图与预期用户意图是否匹配包括多种方式,例如,若候选用户意图与预期用户意图的意图名称相同,对话系统确定候选用户意图与预期用户意图匹配。
可选地,预期用户意图表包含多个预期用户意图,对话系统按预设顺序逐个处理预期用户意图表中的每个预期用户意图,如果预期用户意图表存在和候选用户意图的意图名称相同的预期用户意图,则对话系统将该候选用户意图加入到一个新的候选用户意图集合返回。如果预期用户意图表没有一个满足预期用户意图的候选用户意图,则对话系统返回完整的候选用户意图集合。例如预期用户意图表中包含预期用户意图context_yes,预期用户意图context_yes和候选用户意图context_yes的意图名称相同,则对话系统构造一个新的仅包含用户意图context_yes的候选用户意图集合返回。可选地,对话系统处理预期用户意图表的预设顺序为预期用户意图表排在最前面的预期用户意图的优先处理,则对话系统从候选用户意图集合中筛选第一个匹配预期用户意图的候选用户意图作为目标用户意图。
预期用户意图用于表示用户对历史响应语句的预期回复的类别。可选地,确定预期用户意图的流程可以适于观点询问的场景、资源推荐的场景或发起新话题的场景。具体地,在观点询问的场景下,对话系统通过响应语句进行提问,询问用户的观点,而对话系统对用户回答的观点(即本轮对话中用户对于交互设备的回复语句)是有一定预期的。比如,在上一轮对话中,对话系统的响应语句是“你喜欢猴子吗?”,在这个例子中,对话系统可以预期用户的回复要么是喜欢猴子一类的说法,要么是不喜欢猴子一类的说法,因此,对话系统可以将表示肯定回复的用户意图、表示否定回复的用户意图、表示喜欢的用户意图、表示不喜欢的用户意图作为预期用户意图。又如,在资源推荐的场景下,对话系统通过响应语句进行推荐,向用户推荐一个资源,资源例如是服务、商品、歌曲、舞蹈、视频等等。在这一场景下,对话系统对用户是否接受推荐(即本轮对话用户对于交互设备的回复语句)是有一定预期的。以资源为歌曲为例,在上一轮对话中,对话系统的响应语句是“给你唱小星星好吗?”,在这个例子中,对话系统可以预期用户的回复要么是要求对话系统唱歌一类的说法,要么是拒绝对话系统唱歌一类的说法,因此对话系统可将表示肯定回复的用户意图和表示否定回复的用户意图作为预期用户意图。
可选地,对话系统对候选用户意图集合进行筛选。例如,对话系统根据S54更新候选用户意图集合后,根据候选用户意图集合中每个候选用户意图的分值,从S54得到的候选用户意图集合中选取分值最高的候选用户意图为目标用户意图。例如,候选用户意图集合包括用户意图general_yes、用户意图context_yes和用户意图confirm_yes,且用户意图context_yes分值最高,则对话系统返回用户意图context_yes。
例如,参见图8,通过图8所示的方法配置后,如果上一轮对话中用户对于交互设备的回复语句为“你有啥技能”,对话系统可以返回响应语句“我是中华小曲库。给你唱首小星星好吗?”,并确定预期用户意图为“context_yes”和“context_no”。在本轮对话中,如果用户对于交互设备的回复语句是“好的”,对话系统根据用户对于交互设备的回复语句,预测出的候选用户意图集合会包括用户意图“context_yes”,由于用户意图“context_yes”是预期用户意图,因此对话系统会优先命中用户意图“context_yes”。
S55、对话系统从与历史响应语句关联的多个预期用户意图中,确定与候选用户意图匹配的目标预期用户意图。
目标预期意图是一个预期用户意图且目标预期意图与候选用户意图匹配。可选地,对话系统从与历史响应语句关联的多个预期用户意图中,确定与候选用户意图相同的预期用户意图,作为目标预期用户意图。例如,历史响应语句关联了“是”、“否”这两个预期用户意图,候选用户意图是“是”,则目标预期用户意图是“是”。
S56、对话系统根据目标预期用户意图和历史响应语句,确定交互设备对于回复语句的目标响应。
可选地,目标响应是指输出响应语句,确定目标响应包括:确定交互设备对于回复语句的目标响应语句,输出目标响应语句。其中,目标响应语句是指本轮对话中交互设备的响应语句。可选地,目标响应是指执行目标预期用户意图和历史响应语句对应的指令,确定目标响应包括:确定目标预期用户意图和历史响应语句对应的指令,执行目标预期用户意图和历史响应语句对应的指令。
可选地,对话系统根据历史响应语句和目标预期用户意图,确定跳转用户意图;根据跳转用户意图,确定跳转用户意图对应的指令;执行跳转用户意图对应的指令。其中,跳转用户意图是明确的用户意图,例如跳转用户意图表示用户期望交互设备执行的操作或指令。例如,根据历史响应语句“给你唱首小星星好吗?”和目标预期用户意图是“是”,确定跳转用户意图是“播放歌曲”。对话系统可以根据“播放歌曲”和指令之间的对应关系,确定“播放歌曲”对应的播放指令;执行播放指令。
可选地,如果候选用户意图与预期用户意图匹配,对话系统会判断预期用户意图是否具有对应的跳转用户意图,如果预期用户意图具有对应的跳转用户意图,则对话系统会将目标用户意图从预期用户意图更新为跳转用户意图,从而实现用户意图的跳转。
在一些实施例中,预期用户意图和对应的跳转用户意图具有不同的意图名称。在用户意图跳转的过程中,对话系统会进行意图名称的改写。其中,意图名称的改写是指更新目标用户意图的意图名称。当命中的预期用户意图存在的对应的跳转用户意图时,对话系统会将目标用户意图的意图名称从预期用户意图的意图名称更新为跳转用户意图的意图名称。
在一些实施例中,跳转用户意图和跳转用户意图对应的预期用户意图对应于不同的响应语句。在用户意图跳转的过程中,对话系统会进行响应语句的替换。其中,响应语句的替换是指更新响应语句。
具体地,如果命中的预期用户意图存在的对应的跳转用户意图时,对话系统会将响应语句从预期用户意图对应的响应语句更新为跳转用户意图对应的响应语句,以便利用跳转用户意图的响应语句进行回复。
可选地,跳转用户意图和预期用户意图对应于不同的话题,例如预期用户意图对应的响应语句表示话题A,跳转用户意图对应的响应语句表示话题B,通过将响应语句从预期用户意图对应的响应语句更新为跳转用户意图对应的响应语句,能够实现话题的跳转。
例如,上一轮对话中的响应语句为“要不要播放歌曲”,该响应语句的预期用户意图包括表示肯定回复的用户意图context_yes,而对于对话系统真正有用的用户意图是表示播放歌曲的用户意图“play_song”,则开发者可以预先为预期用户意图“context_yes”配置对应的跳转用户意图“play_song”。当人机对话的过程中,候选用户意图命中了预期用户意图context_yes,且用户意图context_yes分值最高,则目标用户意图为用户意图context_yes时,对话系统查询跳转用户意图表,确定用户意图context_yes具有对应的跳转用户意图play_song,则对话系统将目标用户意图的意图名称从context_yes改写为play_song,将目标用户意图的响应语句从用户意图context_yes对应的响应语句替换为用户意图play_song对应的响应语句,使用“play_song”对应的响应语句进行回复。
通过将响应语句的预期用户意图与跳转用户意图关联起来,在候选用户意图命中预期用户意图的情况下,对话系统将目标用户意图从预期用户意图改写为跳转用户意图,从而支持用户意图的自动跳转。在预期用户意图为上下文意图,而跳转用户意图为入口意图的情况下,进行用户意图跳转后会使得用户意图更加明确,因此利用跳转用户意图进行对话回复时会提升响应语句的准确性,从而使得人机对话更加连贯。
结合上述步骤,若候选用户意图与预期用户意图匹配,且匹配的预期用户意图具有对应的跳转用户意图,目标用户意图可以是跳转用户意图。在这种情况下,对话系统会在响应语句关联的至少一个跳转用户意图中,确定预期用户意图对应的目标跳转用户意图。目标跳转用户意图也可以简称目标跳转意图。对话系统会在目标跳转用户意图对应的至少一个响应语句中,确定响应语句。其中,该目标跳转用户意图是指响应语句关联的所有跳转用户意图中与预期用户意图具有对应关系的跳转用户意图,至少一个跳转用户意图中的每个跳转用户意图具有和预期用户意图不同的意图名称。例如,候选用户意图与预期用户意图context_yes匹配,用户意图context_yes对应的跳转用户意图为用户意图play_song,则目标跳转用户意图为用户意图play_song,对话系统会选择响应语句”下面为你播放这首歌曲”。
可选地,对话系统还处理下一轮对话的预期用户意图和跳转用户意图。
如果目标用户意图的响应语句中配置了预期用户意图,则对话系统更新预期用户意图表,将预期用户意图表中响应语句关联的预期用户意图更新为目标用户意图的响应语句关联的预期用户意图,从而将上一轮对话的预期用户意图刷新为本轮对话的预期用户意图。如果目标用户意图配置了关联用户意图,则对话系统也会更新预期用户意图表。如果目标用户意图配置的预期用户意图具有对应的跳转用户意图,则对话系统也会更新跳转用户意图表。如果目标用户意图配置的关联用户意图和预期用户意图中存在需要传递到下一轮对话的关键词,则对话系统将关键词加入到槽位表中。
例如,如果选择的响应语句用于进行故事推荐,比如响应语句是“我今天学了一个新故事《小红帽》,我来给你讲故事好不好?”,且该响应语句关联了预期用户意图context_yes和跳转用户意图play_story以及需要传递到下一轮对话的关键词(story:小红帽),则对话系统把预期用户意图context_yes存入预期用户意图表,将跳转用户意图(context_yes,play_story)存入跳转用户意图表,将关键词(story:小红帽)存入槽位表。
通过处理下一轮对话的预期用户意图,便于在下一轮对话中生成响应语句时使用本轮对话的预期用户意图。例如,在对下一轮对话的query进行用户意图解析时,可以对本轮对话的预期用户意图进行优选处理。通过处理下一轮对话的跳转用户意图,便于在下一轮对话中生成响应语句时使用本轮对话的预期用户意图对应的跳转用户意图。通过将响应语句中的关键词加入槽位表,便于将本轮对话的关键词传递给下一轮对话使用,例如使用关键词对下一轮对话的响应语句进行槽位填充。
可选地,对话系统还更新公共命名实体。具体地,对话系统对本轮对话的用户对于交互设备的回复语句或响应语句中的至少一项进行命名实体识别,把抽取得到的命名实体更新到公共命名实体集合。其中,命名实体识别可通过实体识别模型实现,实体识别模型例如通过CRF及深度学习算法实现。例如,本轮对话的用户对于交互设备的回复语句为“好的”,对话系统的响应语句为”下面为你播放这首歌曲。”,在这个例子中,对话系统没有抽取出相关的公共命名实体。又如,本轮对话的用户对于交互设备的回复语句为“”今天深圳会下雨吗?”,对话系统通过命名实体识别算法,抽取出用户对于交互设备的回复语句中global_place为深圳,将其更新到公共命名实体集合中。通过在对话系统中引入及处理公共命名实体集合,对话系统通过对每一轮对话提取公共命名实体,将公共命名实体放到公共命名实体集合,可以给对话系统提供历史对话的公共命名实体,实现部分指代说法或省略说法的用户意图的槽位自动补全,从而实现了槽位跨用户意图的共享。
本实施例提供的方法,通过将交互设备发出的响应语句与预期用户意图关联起来,当用户发起一轮对话时,对话系统在从本轮对话的候选用户意图中筛选用户意图的过程中,会优先考虑历史响应语句匹配的目标预期用户意图,对话系统会利用目标预期用户意图确定响应语句。由于引入了预期用户意图的处理逻辑,将历史对话的预期用户意图传递至本轮对话使用,因此实现了历史对话和本轮对话之间的用户意图关联,提高了对话系统生成的响应语句的准确性,有助于提高对话系统的上下文衔接能力,提高了人机对话的连贯性。
为了便于理解,对以下方法420的一个示例性应用场景进行介绍。
在一轮对话中,用户说“天气怎么样”,对话系统从对话历史中,找到机器在上一轮对话中说了“那北京呢”,从而确定用户本轮的预期意图是“北京+天气”或者“北京+旅游信息”或者“北京+新闻”,则根据“天气”匹配到目标预期意图是“北京+天气”,从而基于“北京+天气”来构造机器的响应语句。
参见图12,图12是本申请实施例提供的一种人机对话中的响应方法420的流程图。方法420的流程也可以参考附图13、附图14、附图16所示的流程图。
方法420具体可以由系统架构100中的服务器105执行,方法420中的对话的用户对于交互设备的回复语句可以是系统架构100中的客户端访问设备104给出的输入数据。可选的,方法420可以由CPU处理,也可以由CPU和GPU共同处理,也可以不用GPU,而使用其他适合用于神经网络计算的处理器,本申请不做限制。
示例性地,方法420包括S61至S616。
S61、对话系统获取用户对于交互设备的回复语句。
S62、对话系统对回复语句进行意图识别,得到候选用户意图。
S63、对话系统获取历史对话中与回复语句相邻的交互设备的历史响应语句。
S64、对话系统识别到候选用户意图缺失确定目标响应语句所需的信息。
S65、对话系统从与历史响应语句关联的多个预期用户意图中,确定与候选用户意图匹配的目标预期用户意图,预期用户意图用于表示用户对历史响应语句的预期回复的内容。
目标预期意图是一个预期用户意图且目标预期意图与候选用户意图匹配。可选地,对话系统从与历史响应语句关联的多个预期用户意图中,确定包括候选用户意图的预期用户意图,作为目标预期用户意图。例如,历史响应语句关联了“北京+天气”、“北京+旅游信息”这两个预期用户意图,候选用户意图是“天气”,则目标预期用户意图是“北京+天气”。
S66、对话系统根据目标预期用户意图,确定交互设备对于回复语句的目标响应语句。
通过这种方式,对话系统能够确定本轮对话的响应语句。
可选地,对话系统在确定目标响应语句的过程中,根据历史响应语句和至少一个候选响应语句模板之间的对应关系,获取历史响应语句对应的至少一个候选响应语句模板,候选响应语句模板用于表示目标响应语句的句式;根据目标预期用户意图与目标响应语句模板之间的对应关系,从至少一个候选响应语句模板中,获取与目标预期用户意图匹配的目标响应语句模板;根据目标响应语句模板和历史响应语句,确定交互设备对于回复语句的目标响应语句。
候选响应语句模板例如是开发者预先配置的语句模板。
目标响应语句是指本轮对话中交互设备的响应语句。例如,上一轮对话的预期用户意图context_no的候选响应语句模板“不要就算了”,上一轮对话的预期用户意图context_yes的候选响应语句模板“下面为你播放歌曲”,若本轮对话的候选用户意图命中了预期用户意图context_no,将“不要就算了”作为目标响应语句模板,确定目标响应语句是“不要就算了”。可选地,对话系统根据上述步骤确定的目标用户意图,从目标用户意图对应的至少一个响应语句中确定响应语句。可选地,在目标用户意图对应于多个响应语句的情况下,对话系统从目标用户意图对应的多个响应语句中随机选择响应语句,从而为返回的响应语句带来的随机性,从而避免人机对话交互过于单一死板,更具趣味性。
可选地,如果预期用户意图是表示否定回复的用户意图或表示不喜欢的用户意图,则对话系统可以直接将预期用户意图对应的响应语句,作为最终的响应语句。
可选地,根据目标响应语句模板和历史响应语句,确定交互设备对于回复语句的目标响应语句,包括:获取目标关键词;识别目标关键词的类型;将目标关键词填充至目标响应语句模板中类型对应的第一目标槽位中,得到目标响应语句。其中,目标关键词用于表示历史对话的会话关键内容。例如,目标关键词是历史响应语句中槽位上的槽位值。第一目标槽位是目标响应语句中的一个槽位,第一目标槽位的类型和目标关键词的类型是相同的。例如,目标关键词和第一目标槽位的类型均是地点,比如都是北京。又如,目标关键词和第一目标槽位的类型均是天气。例如,获取到目标关键词后,如果目标关键词是“小雨”,“小雨”是天气,则将“小雨”填充至“今天的天气是X”中X对应的槽位中,得到目标响应语句是“今天的天气是小雨”。
结合上述步骤,在对话系统使用预期用户意图关联的关键词,响应语句中的目标槽位进行填充后,对话系统会确定填充后的响应语句,作为最终的响应语句,使用填充后的响应语句,回复本轮对话的用户对于交互设备的回复语句,从而以实现本轮对话和下轮对话的槽位接续。
对话系统通过这种方式,能够处理待补充的槽位。可选地,对话系统判断目标用户意图是否存在需要补充的槽位,如果目标用户意图存在需要补充的槽位,对话系统查询槽位表,得到待补充的槽位的关键词,将查询到的关键词添加至目标用户意图的关键词中,后续会使用查询到的关键词对响应语句进行槽位填充,得到填充后的响应语句。其中,槽位填充例如是使用预期用户意图关联的关键词,对交互设备对于回复语句的响应语句中的第一目标槽位进行填充。其中,第一目标槽位的槽位名和值对应的槽位名相同。例如,第一目标槽位和值对应的槽位名都是歌曲。又如,第一目标槽位和值对应的槽位名都是地点。其中,槽位表用于保存预期用户意图关联的关键词。具体地,对话系统可以预先确定预期用户意图关联的关键词,将关键词保存至槽位表。例如,对话系统可以从上一轮对话中的响应语句中,提取关键词。
可选地,获取目标关键词包括:提取历史响应语句中的目标关键词;或者,从历史对话中用户对于交互设备的历史回复语句中,提取目标关键词;或者,查询配置信息,得到历史响应语句关联的目标关键词,配置信息包括预先设置的历史响应语句与目标关键词之间的关联关系。
例如,响应语句为“我是中华小曲库。给你唱首小星星好吗?”,该响应语句关联的预期用户意图为用户意图context_yes,用户意图context_yes关联的槽位为song,关键词为“小星星”,用户意图context_yes对应的跳转用户意图为用户意图play_song,用户意图play_song的响应语句为”下面为你播放这首歌曲”。
例如,如果上一轮对话中的响应语句为“我是中华小曲库。给你唱首小星星好吗?”,对话系统会在上一轮对话中提供响应语句时,将song:小星星保存至槽位表。在本轮对话中,用户对于交互设备的回复语句是“好的”,对话系统首先根据回复语句,确定候选用户意图命中的目标用户意图为context_yes,再确定用户意图context_yes具有跳转用户意图play_song,则将目标用户意图的意图名称改写为play_song。对话系统查询槽位表,得到预期用户意图context_yes关联的关键词为“小星星”,则使用song:小星星对”下面为你播放这首歌曲”进行槽位填充,得到填充后的响应语句为”下面为你播放这首歌曲—小星星”。
对话系统在通过响应语句中进行观点询问、资源推荐或者发起新话题时,响应语句经常会包含了特定的关键词,而通过上述方法,提供了一种将响应语句中的关键词传递给预期用户意图或跳转用户意图的机制,从而将上一轮对话关联的关键词传递给了本轮对话,使得本轮对话与下一轮对话可以实现槽位跨用户意图的共享。尤其是,在本轮对话的用户对于交互设备的回复语句使用指代或省略说法的情况下,能够利用上一轮对话关联的关键词实现槽位的自动补全,本轮对话中的响应语句会继承上一轮对话中的关键词,因此提升了响应语句的准确性,从而提升多轮对话的连贯性。
其中,对话系统如何确定响应语句中待添加的槽位包括多种方式。可选地,由开发者在配置响应语句时指定待添加的槽位。或者,对话系统业务调用方可以在发送NLU解析请求时,指定本轮对话中待添加的槽位。
可选地,提取历史响应语句中的目标关键词,包括:对历史响应语句进行命名实体识别,将得到的公共命名实体作为目标关键词。可选地,从历史对话中用户对于交互设备的历史回复语句中,提取目标关键词,包括:对历史回复语句进行命名实体识别,将得到的公共命名实体作为目标关键词。
可选地,对话系统将响应语句返回给用户。
具体地,对话系统将目标用户意图的意图名称、响应语句和关键词发送至对话机器人的客户端,例如发送至客户端访问设备104,从而将响应语句返回给用户。例如,对话系统可以发送{query:好的,intent:play_song,slots:{song:小星星},reply:下面为你播放这首歌曲}。
具体地,对话系统将目标用户意图的意图名称、响应语句和关键词发送至对话机器人的客户端,例如发送至客户端访问设备104,从而将响应语句返回给用户。例如,对话系统可以发送{query:好的,intent:play_song,slots:{song:小星星},reply:下面为你播放这首歌曲}。
通过图13、图14和图15示出方法410有助于实现多轮对话中的上下文衔接。例如请参考图15,图15示出了两轮对话中用户和对话系统的语句,从图15示出的语句内容可以看出,对话系统在本轮对话提供的响应语句不仅与本轮对话的用户对于交互设备的回复语句表达的用户意图关联,还和上一轮对话的用户意图关联。请参考图16,当用户采用不完整的表达方式输入对于交互设备的回复语句,如输入“好的”或“不好”时,对话系统利用预期用户意图和跳转用户意图的逻辑,能够准确理解用户意图,给出对应的响应语句。例如,当用户输入“好的”时,对话系统会先根据“好的”匹配到预期用户意图context.yes,再根据预期用户意图context.yes找到对应的跳转用户意图play_song,根据跳转用户意图play_song返回“下面播放XX。”当用户输入“不好”时,对话系统会先根据“不好”匹配到预期用户意图context.no,由于预期用户意图context.no对应的跳转用户意图是用户意图general_no,用户意图general_no对应的响应语句是,“不要就算了”,则对话系统会根据用户意图general_no返回“不要就算了”。
本实施例提供的方法,通过将交互设备发出的响应语句与预期用户意图关联起来,当用户发起一轮对话时,对话系统在从本轮对话的候选用户意图中筛选用户意图的过程中,会优先考虑历史响应语句匹配的目标预期用户意图,对话系统会利用目标预期用户意图确定响应语句。由于引入了预期用户意图的处理逻辑,将历史对话的预期用户意图传递至本轮对话使用,因此实现了历史对话和本轮对话之间的用户意图关联,提高了对话系统生成的响应语句的准确性,有助于提高对话系统的上下文衔接能力,提高了人机对话的连贯性。
以上介绍了本申请实施例的方法300、方法400和方法410,以下介绍本申请实施例的对话系统,应理解,以下对话系统500和对话系统600具有上述方法300、方法400和方法410中对话系统的任意功能。
附图17是本申请实施例提供的一种对话系统500的结构示意图,如附图17所示,对话系统500包括:获取模块501,用于执行S51、S54、S61或S63;识别模块502,用于执行S52或S62;确定模块503,用于执行S54和S58、S65或S66;
应理解,对话系统500对应于上述方法300、方法400和方法410中的对话系统,对话系统500中的各模块和上述其他操作和/或功能分别为了实现方法300、方法400和方法410中的对话系统所实施的各种步骤和方法,具体细节可参见上述方法300、方法400和方法410,为了简洁,在此不再赘述。
应理解,对话系统500在进行人机对话中时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将对话系统500的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的对话系统500与上述方法300、方法400和方法410属于同一构思,其具体实现过程详见方法300、方法400和方法410,这里不再赘述。
与本申请提供的方法实施例以及虚拟装置实施例相对应,本申请实施例还提供了一种对话系统600,下面对对话系统600的硬件结构进行介绍。
对话系统600对应于上述方法300、方法400和方法410中的对话系统,对话系统600中的各硬件、模块和上述其他操作和/或功能分别为了实现方法实施例中对话系统所实施的各种步骤和方法,关于对话系统600如何对提供人机对话服务的详细流程,具体细节可参见上述方法300、方法400和方法410,为了简洁,在此不再赘述。其中,方法300、方法400和方法410的各步骤通过对话系统600处理器中的硬件的集成逻辑电路或者软件形式的指令完成。结合本申请实施例所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件完成上述方法的步骤。为避免重复,这里不再详细描述。
对话系统600对应于上述虚拟装置实施例中的对话系统500,对话系统500中的每个功能模块采用对话系统600的软件实现。换句话说,对话系统500包括的功能模块为对话系统600的处理器读取存储器中存储的程序代码后生成的。
参见附图18,附图18示出了本申请一个示例性实施例提供的对话系统600的结构示意图,该对话系统600可以是主机、服务器或个人计算机等。该对话系统600可以由一般性的总线体系结构来实现。
对话系统600包括至少一个处理器601、通信总线602、存储器603以及至少一个通信接口604。
处理器601可以是一个通用中央处理器(central processing unit,CPU)、网络处理器(network processer,NP)、微处理器、或者可以是一个或多个用于实现本申请方案的集成电路,例如,专用集成电路(application-specific integrated circuit,ASIC),可编程逻辑器件(programmable logic device,PLD)或其组合。上述PLD可以是复杂可编程逻辑器件(complex programmable logic device,CPLD),现场可编程逻辑门阵列(field-programmable gate array,FPGA),通用阵列逻辑(generic array logic,GAL)或其任意组合。
通信总线602用于在上述组件之间传送信息。通信总线602可以分为地址总线、数据总线、控制总线等。为便于表示,附图18中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
存储器603可以是只读存储器(read-only memory,ROM)或可存储静态信息和指令的其它类型的静态存储设备,也可以是随机存取存储器(random access memory,RAM)或者可存储信息和指令的其它类型的动态存储设备,也可以是电可擦可编程只读存储器(electrically erasable programmable read-only Memory,EEPROM)、只读光盘(compactdisc read-only memory,CD-ROM)或其它光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其它磁存储设备,或者是能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其它介质,但不限于此。存储器603可以是独立存在,并通过通信总线602与处理器601相连接。存储器603也可以和处理器601集成在一起。
通信接口604使用任何收发器一类的装置,用于与其它设备或通信网络通信。通信接口604包括有线通信接口,还可以包括无线通信接口。其中,有线通信接口例如可以为以太网接口。以太网接口可以是光接口,电接口或其组合。无线通信接口可以为无线局域网(wireless local area networks,WLAN)接口,蜂窝网络通信接口或其组合等。
在具体实现中,作为一种实施例,处理器601可以包括一个或多个CPU,如附图18中所示的CPU0和CPU1。
在具体实现中,作为一种实施例,对话系统600可以包括多个处理器,如附图18中所示的处理器601和处理器605。这些处理器中的每一个可以是一个单核处理器(single-CPU),也可以是一个多核处理器(multi-CPU)。这里的处理器可以指一个或多个设备、电路、和/或用于处理数据(如计算机程序指令)的处理核。
在具体实现中,作为一种实施例,对话系统600还可以包括输出设备606和输入设备607。输出设备606和处理器601通信,可以以多种方式来显示信息。例如,输出设备606可以是液晶显示器(liquid crystal display,LCD)、发光二级管(light emitting diode,LED)显示设备、阴极射线管(cathode ray tube,CRT)显示设备或投影仪(projector)等。输入设备607和处理器601通信,可以以多种方式接收用户的输入。例如,输入设备607可以是鼠标、键盘、触摸屏设备或传感设备等。
在一些实施例中,存储器603用于存储执行本申请方案的程序代码610,处理器601可以执行存储器603中存储的程序代码610。也即是,对话系统600可以通过处理器601以及存储器603中的程序代码610,来实现方法300、方法400和方法410所提供的方法。
本申请实施例的对话系统600可对应于上述方法300、方法400和方法410中的对话系统,并且,该对话系统600中的处理器601、通信接口604等可以实现上述方法300、方法400和方法410的对话系统所具有的功能和/或所实施的各种步骤和方法。为了简洁,在此不再赘述。
应理解,对话系统500中的获取模块501和回复模块相当于对话系统600中的通信接口604;对话系统500中的识别模块502和确定模块503可以相当于对话系统600中的处理器601。
应理解,系统架构200中的数据录入模块201相当于对话系统600中的通信接口604;系统架构200中的模型训练模块200和结果生成模块203可以相当于对话系统600中的处理器601。
在一些可能的实施例中,提供了一种计算机程序产品,当该计算机程序产品在对话系统上运行时,使得对话系统执行上述方法300、方法400和方法410所提供的方法。
本领域普通技术人员可以意识到,结合本文中所公开的实施例中描述的各方法步骤和单元,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各实施例的步骤及组成。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。本领域普通技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参见前述方法300、方法400和方法410中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,该单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口、装置或单元的间接耦合或通信连接,也可以是电的,机械的或其它的形式连接。
该作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本申请实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以是两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
该集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分,或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例中方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(read-only memory,ROM)、随机存取存储器(random access memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上描述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以权利要求的保护范围为准。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。该计算机程序产品包括一个或多个计算机程序指令。在计算机上加载和执行该计算机程序指令时,全部或部分地产生按照本申请实施例中的流程或功能。该计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。该计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,该计算机程序指令可以从一个网站站点、计算机、服务器或数据中心通过有线或无线方式向另一个网站站点、计算机、服务器或数据中心进行传输。该计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。该可用介质可以是磁性介质(例如软盘、硬盘、磁带)、光介质(例如,数字视频光盘(digitalvideo disc,DVD)、或者半导体介质(例如固态硬盘)等。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,该程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
本申请中术语“第一”“第二”等字样用于对作用和功能基本相同的相同项或相似项进行区分,应理解,“第一”、“第二”、“第n”之间不具有逻辑或时序上的依赖关系,也不对数量和执行顺序进行限定。还应理解,尽管以下描述使用术语第一、第二等来描述各种元素,但这些元素不应受术语的限制。这些术语只是用于将一元素与另一元素区别分开。
本申请中术语“至少一个”的含义是指一个或多个,本申请中术语“多个”的含义是指两个或两个以上,例如,多个候选用户意图是指两个或两个以上的候选用户意图。本文中术语“系统”和“网络”经常可互换使用。
还应理解,术语“如果”可被解释为意指“当...时”(“when”或“upon”)或“响应于确定”或“响应于检测到”。类似地,根据上下文,短语“如果确...”或“如果检测到[所陈述的条件或事件]”可被解释为意指“在确定...时”或“响应于确定...”或“在检测到[所陈述的条件或事件]时”或“响应于检测到[所陈述的条件或事件]”。
以上描述仅为本申请的可选实施例,并不用以限制本申请,凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (12)
1.一种人机对话中的响应方法,其特征在于,所述方法包括:
获取用户对于交互设备的回复语句;
对所述回复语句进行意图识别,得到候选用户意图;
获取历史对话中与所述回复语句相邻的交互设备的历史响应语句;
从与所述历史响应语句关联的多个预期用户意图中,确定与所述候选用户意图匹配的目标预期用户意图,所述预期用户意图用于表示用户对所述历史响应语句的预期回复的类别;
根据所述目标预期用户意图和所述历史响应语句,确定跳转用户意图,根据所述跳转用户意图,确定所述跳转用户意图对应的指令,执行所述跳转用户意图对应的指令,所述交互设备对于所述回复语句的目标响应是指执行所述跳转用户意图对应的指令。
2.根据权利要求1所述的方法,其特征在于,所述从与所述历史响应语句关联的多个预期用户意图中,确定与所述候选用户意图匹配的目标预期用户意图,包括:
从与所述历史响应语句关联的多个预期用户意图中,确定与所述候选用户意图相同的预期用户意图,作为所述目标预期用户意图。
3.一种人机对话中的响应方法,其特征在于,所述方法包括:
获取用户对于交互设备的回复语句;
对所述回复语句进行意图识别,得到候选用户意图;
获取历史对话中与所述回复语句相邻的交互设备的历史响应语句;
从与所述历史响应语句关联的多个预期用户意图中,确定与所述候选用户意图匹配的目标预期用户意图,所述预期用户意图用于表示用户对所述历史响应语句的预期回复的内容;
根据所述目标预期用户意图与候选响应语句模板之间的对应关系,从至少一个候选响应语句模板中,获取与所述目标预期用户意图匹配的目标响应语句模板;
获取目标关键词,所述目标关键词用于表示所述历史对话的会话关键内容;
识别所述目标关键词的类型;
将所述目标关键词填充至所述目标响应语句模板中所述类型对应的第一目标槽位中,得到所述交互设备对于所述回复语句的目标响应语句。
4.根据权利要求3所述的方法,其特征在于,所述获取目标关键词包括:
提取所述历史响应语句中的所述目标关键词;或者,
从所述历史对话中所述用户对于所述交互设备的历史回复语句中,提取所述目标关键词;或者,
查询配置信息,得到所述历史响应语句关联的所述目标关键词,所述配置信息包括预先设置的所述历史响应语句与所述目标关键词之间的关联关系。
5.根据权利要求4所述的方法,其特征在于,所述提取所述历史响应语句中的所述目标关键词,包括:对所述历史响应语句进行命名实体识别,将得到的公共命名实体作为所述目标关键词。
6.根据权利要求4所述的方法,其特征在于,所述从所述历史对话中所述用户对于所述交互设备的历史回复语句中,提取所述目标关键词,包括:对所述历史回复语句进行命名实体识别,将得到的公共命名实体作为所述目标关键词。
7.根据权利要求3所述的方法,其特征在于,所述对所述回复语句进行意图识别,得到候选用户意图之后,所述方法还包括:
当识别到所述候选用户意图缺失时,执行所述根据所述目标预期用户意图,确定所述交互设备对于所述回复语句的目标响应语句的步骤。
8.根据权利要求3所述的方法,其特征在于,所述从与所述历史响应语句关联的多个预期用户意图中,确定与所述候选用户意图匹配的目标预期用户意图,包括:
从与所述历史响应语句关联的多个预期用户意图中,确定包括所述候选用户意图的预期用户意图,作为所述目标预期用户意图。
9.一种对话系统,其特征在于,所述对话系统包括:
获取模块,用于获取用户对于交互设备的回复语句;
识别模块,用于对所述回复语句进行意图识别,得到候选用户意图;
所述获取模块,还用于获取历史对话中与所述回复语句相邻的交互设备的历史响应语句;
确定模块,用于从与所述历史响应语句关联的多个预期用户意图中,确定与所述候选用户意图匹配的目标预期用户意图,所述预期用户意图用于表示用户对所述历史响应语句的预期回复的类别;
所述确定模块,还用于根据所述目标预期用户意图和所述历史响应语句,确定跳转用户意图,根据所述跳转用户意图,确定所述跳转用户意图对应的指令,执行所述跳转用户意图对应的指令,所述交互设备对于所述回复语句的目标响应是指执行所述跳转用户意图对应的指令。
10.一种对话系统,其特征在于,所述对话系统包括:
获取模块,用于获取用户对于交互设备的回复语句;
识别模块,用于对所述回复语句进行意图识别,得到候选用户意图;
所述获取模块,还用于获取历史对话中与所述回复语句相邻的交互设备的历史响应语句;
确定模块,用于从与所述历史响应语句关联的多个预期用户意图中,确定与所述候选用户意图匹配的目标预期用户意图,所述预期用户意图用于表示用户对所述历史响应语句的预期回复的内容;
所述确定模块,还用于根据所述目标预期用户意图与候选响应语句模板之间的对应关系,从至少一个候选响应语句模板中,获取与所述目标预期用户意图匹配的目标响应语句模板;获取目标关键词,所述目标关键词用于表示所述历史对话的会话关键内容;识别所述目标关键词的类型;将所述目标关键词填充至所述目标响应语句模板中所述类型对应的第一目标槽位中,得到所述交互设备对于所述回复语句的目标响应语句。
11.一种对话系统,其特征在于,所述对话系统包括处理器,所述处理器用于执行指令,使得所述对话系统执行如权利要求1至权利要求8中任一项所述的方法。
12.一种计算机可读存储介质,其特征在于,所述存储介质中存储有至少一条指令,所述指令由处理器读取以使对话系统执行如权利要求1至权利要求8中任一项所述的方法。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010431996.7A CN111737411B (zh) | 2020-05-20 | 2020-05-20 | 人机对话中的响应方法、对话系统及存储介质 |
PCT/CN2021/085021 WO2021232957A1 (zh) | 2020-05-20 | 2021-04-01 | 人机对话中的响应方法、对话系统及存储介质 |
EP21808970.4A EP4141695A4 (en) | 2020-05-20 | 2021-04-01 | Response method in man-machine dialogue, dialogue system, and storage medium |
US17/989,756 US12260854B2 (en) | 2020-05-20 | 2022-11-18 | Response method in human-computer dialogue, dialogue system, and storage medium |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010431996.7A CN111737411B (zh) | 2020-05-20 | 2020-05-20 | 人机对话中的响应方法、对话系统及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111737411A CN111737411A (zh) | 2020-10-02 |
CN111737411B true CN111737411B (zh) | 2024-11-22 |
Family
ID=72647637
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010431996.7A Active CN111737411B (zh) | 2020-05-20 | 2020-05-20 | 人机对话中的响应方法、对话系统及存储介质 |
Country Status (4)
Country | Link |
---|---|
US (1) | US12260854B2 (zh) |
EP (1) | EP4141695A4 (zh) |
CN (1) | CN111737411B (zh) |
WO (1) | WO2021232957A1 (zh) |
Families Citing this family (25)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111737411B (zh) * | 2020-05-20 | 2024-11-22 | 华为技术有限公司 | 人机对话中的响应方法、对话系统及存储介质 |
CN112256825B (zh) * | 2020-10-19 | 2023-06-16 | 平安科技(深圳)有限公司 | 医疗领域多轮对话智能问答方法、装置和计算机设备 |
CN112527980A (zh) * | 2020-11-10 | 2021-03-19 | 联想(北京)有限公司 | 一种信息应答处理方法、智能设备及存储介质 |
CN112966077B (zh) * | 2021-02-26 | 2022-06-07 | 北京三快在线科技有限公司 | 对话状态的确定方法、装置、设备及存储介质 |
JP7420109B2 (ja) * | 2021-04-08 | 2024-01-23 | トヨタ自動車株式会社 | 情報出力システム、サーバ装置および情報出力方法 |
CN113468307B (zh) * | 2021-06-30 | 2023-06-30 | 网易(杭州)网络有限公司 | 文本处理方法、装置、电子设备及存储介质 |
CN113657102B (zh) * | 2021-08-17 | 2023-05-30 | 北京百度网讯科技有限公司 | 信息抽取方法、装置、设备及存储介质 |
CN113743127B (zh) * | 2021-09-10 | 2024-06-18 | 京东科技信息技术有限公司 | 任务型对话的方法、装置、电子设备及存储介质 |
CN114118101B (zh) * | 2021-11-26 | 2022-12-09 | 北京百度网讯科技有限公司 | 对话数据生成方法及装置、设备和介质 |
CN114048756A (zh) * | 2021-11-26 | 2022-02-15 | 北京房江湖科技有限公司 | 信息差异的识别方法和存储介质、电子设备 |
CN114548110A (zh) * | 2021-12-29 | 2022-05-27 | 北京百度网讯科技有限公司 | 语义理解方法、装置、电子设备及存储介质 |
CN114297361A (zh) * | 2021-12-30 | 2022-04-08 | 天翼物联科技有限公司 | 一种基于场景化对话理解的人机交互方法及相关组件 |
CN114550710A (zh) * | 2022-02-22 | 2022-05-27 | 京东科技控股股份有限公司 | 用户对话意图的识别方法、装置、存储介质和电子设备 |
CN115376503B (zh) * | 2022-08-19 | 2024-09-06 | 思必驰科技股份有限公司 | 对话流程生成方法、电子设备和存储介质 |
CN115116442B (zh) * | 2022-08-30 | 2023-01-10 | 荣耀终端有限公司 | 语音交互方法和电子设备 |
CN116303922B (zh) * | 2022-12-08 | 2024-07-12 | 腾讯科技(深圳)有限公司 | 咨询消息应答方法、装置、计算机设备、存储介质和产品 |
CN115834519B (zh) * | 2022-12-24 | 2025-03-25 | 北京蔚领时代科技有限公司 | 一种智能问答方法、装置、服务端及存储介质 |
US11822894B1 (en) * | 2022-12-30 | 2023-11-21 | Fmr Llc | Integrating common and context-specific natural language understanding processing in a virtual assistant application |
CN116756277B (zh) * | 2023-04-20 | 2023-11-24 | 海尔优家智能科技(北京)有限公司 | 基于目标生成式预训练gpt模型的交互语句的处理方法 |
CN116737910B (zh) * | 2023-08-10 | 2024-03-29 | 腾讯科技(深圳)有限公司 | 智能对话处理方法、装置、设备及存储介质 |
CN116777568A (zh) * | 2023-08-17 | 2023-09-19 | 浙江网新恒天软件有限公司 | 金融市场交易事前智能对话下单方法、装置及存储介质 |
CN116881429B (zh) * | 2023-09-07 | 2023-12-01 | 四川蜀天信息技术有限公司 | 一种基于多租户的对话模型交互方法、装置及存储介质 |
CN117059074B (zh) * | 2023-10-08 | 2024-01-19 | 四川蜀天信息技术有限公司 | 一种基于意图识别的语音交互方法、装置及存储介质 |
CN118733863A (zh) * | 2024-04-30 | 2024-10-01 | 武汉工程大学 | 一种基于互联网的虚拟人智能问答系统 |
CN119202205B (zh) * | 2024-11-26 | 2025-03-14 | 北京优贝在线网络科技有限公司 | 一种直播评论的智能应答方法及装置 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111026932A (zh) * | 2019-12-20 | 2020-04-17 | 北京百度网讯科技有限公司 | 人机对话交互方法、装置、电子设备和存储介质 |
CN111177338A (zh) * | 2019-12-03 | 2020-05-19 | 北京博瑞彤芸科技股份有限公司 | 一种基于上下文的多轮对话方法 |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112270925B (zh) * | 2014-09-14 | 2024-05-10 | 谷歌有限责任公司 | 用于创建可定制对话系统引擎的平台 |
JP6960914B2 (ja) | 2015-10-21 | 2021-11-05 | グーグル エルエルシーGoogle LLC | ダイアログ・システムにおけるパラメータ収集および自動ダイアログ生成 |
CN108446286B (zh) * | 2017-02-16 | 2023-04-25 | 阿里巴巴集团控股有限公司 | 一种自然语言问句答案的生成方法、装置及服务器 |
KR102289917B1 (ko) * | 2017-06-30 | 2021-08-12 | 삼성에스디에스 주식회사 | 화행 정보를 이용한 대화 처리 방법 및 그 장치 |
US20190141125A1 (en) * | 2017-11-03 | 2019-05-09 | Bank Of America Corporation | Cross application access provisioning system |
CN110874399B (zh) * | 2018-08-31 | 2023-11-10 | 阿里巴巴集团控股有限公司 | 信息处理方法、装置、计算设备及终端 |
US20200142719A1 (en) * | 2018-11-02 | 2020-05-07 | International Business Machines Corporation | Automatic generation of chatbot meta communication |
CN111159472B (zh) * | 2018-11-08 | 2024-03-12 | 微软技术许可有限责任公司 | 多模态聊天技术 |
CN110096516B (zh) * | 2019-03-25 | 2022-01-28 | 北京邮电大学 | 自定义的数据库交互的对话生成方法及系统 |
CN110196930B (zh) * | 2019-05-22 | 2021-08-24 | 山东大学 | 一种多模态客服自动回复方法及系统 |
CN110223692B (zh) | 2019-06-12 | 2021-08-13 | 思必驰科技股份有限公司 | 用于语音对话平台跨技能的多轮对话方法及系统 |
CN111177355B (zh) * | 2019-12-30 | 2021-05-28 | 北京百度网讯科技有限公司 | 基于搜索数据的人机对话交互方法、装置和电子设备 |
CN111737411B (zh) * | 2020-05-20 | 2024-11-22 | 华为技术有限公司 | 人机对话中的响应方法、对话系统及存储介质 |
-
2020
- 2020-05-20 CN CN202010431996.7A patent/CN111737411B/zh active Active
-
2021
- 2021-04-01 WO PCT/CN2021/085021 patent/WO2021232957A1/zh unknown
- 2021-04-01 EP EP21808970.4A patent/EP4141695A4/en active Pending
-
2022
- 2022-11-18 US US17/989,756 patent/US12260854B2/en active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111177338A (zh) * | 2019-12-03 | 2020-05-19 | 北京博瑞彤芸科技股份有限公司 | 一种基于上下文的多轮对话方法 |
CN111026932A (zh) * | 2019-12-20 | 2020-04-17 | 北京百度网讯科技有限公司 | 人机对话交互方法、装置、电子设备和存储介质 |
Also Published As
Publication number | Publication date |
---|---|
EP4141695A4 (en) | 2023-08-09 |
EP4141695A1 (en) | 2023-03-01 |
CN111737411A (zh) | 2020-10-02 |
US12260854B2 (en) | 2025-03-25 |
WO2021232957A1 (zh) | 2021-11-25 |
US20230084583A1 (en) | 2023-03-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111737411B (zh) | 人机对话中的响应方法、对话系统及存储介质 | |
JP7498419B2 (ja) | インテリジェント自動アシスタント | |
KR102313473B1 (ko) | 자동 어시스턴트를 위한 명령 번들 제안 제공 | |
CN114547329B (zh) | 建立预训练语言模型的方法、语义解析方法和装置 | |
EP3513324B1 (en) | Computerized natural language query intent dispatching | |
KR102429833B1 (ko) | 지능형 자동 어시스턴트 | |
JP2021018797A (ja) | 対話の交互方法、装置、コンピュータ可読記憶媒体、及びプログラム | |
US20170337261A1 (en) | Decision Making and Planning/Prediction System for Human Intention Resolution | |
JP2023519713A (ja) | 自然言語処理のためのノイズデータ拡張 | |
CN112948534A (zh) | 一种智能人机对话的交互方法、系统和电子设备 | |
JP2022031109A (ja) | ニューラルネットワークに基づくマンマシンインタラクション方法、装置、及び媒体 | |
US20220229991A1 (en) | Multi-feature balancing for natural language processors | |
US20240185846A1 (en) | Multi-session context | |
Pan et al. | Automatically generating and improving voice command interface from operation sequences on smartphones | |
CN110795547A (zh) | 文本识别方法和相关产品 | |
US11893994B1 (en) | Processing optimization using machine learning | |
US12159628B1 (en) | Natural language interactions with interactive visual content | |
US12204866B1 (en) | Voice based searching and dialog management system | |
CN116955556A (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 |