CN113505205B - 一种人机对话的***和方法 - Google Patents
一种人机对话的***和方法 Download PDFInfo
- Publication number
- CN113505205B CN113505205B CN202110212462.XA CN202110212462A CN113505205B CN 113505205 B CN113505205 B CN 113505205B CN 202110212462 A CN202110212462 A CN 202110212462A CN 113505205 B CN113505205 B CN 113505205B
- Authority
- CN
- China
- Prior art keywords
- target
- topic
- topics
- conversation
- text
- 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 136
- 238000013507 mapping Methods 0.000 claims abstract description 30
- 238000012549 training Methods 0.000 claims description 100
- 239000013598 vector Substances 0.000 claims description 75
- 230000015654 memory Effects 0.000 claims description 36
- 238000012545 processing Methods 0.000 claims description 24
- 230000003993 interaction Effects 0.000 claims description 16
- 238000004590 computer program Methods 0.000 claims description 7
- 239000000758 substrate Substances 0.000 claims 1
- 230000000875 corresponding effect Effects 0.000 description 89
- 238000004364 calculation method Methods 0.000 description 42
- 230000008569 process Effects 0.000 description 26
- 238000010586 diagram Methods 0.000 description 21
- 238000013528 artificial neural network Methods 0.000 description 15
- 230000006870 function Effects 0.000 description 14
- 238000004891 communication Methods 0.000 description 12
- 238000003062 neural network model Methods 0.000 description 7
- 238000010801 machine learning Methods 0.000 description 6
- 238000005516 engineering process Methods 0.000 description 5
- 238000011176 pooling Methods 0.000 description 5
- 230000011218 segmentation Effects 0.000 description 5
- 230000009471 action Effects 0.000 description 4
- 238000004422 calculation algorithm Methods 0.000 description 4
- 238000013527 convolutional neural network Methods 0.000 description 4
- 238000013135 deep learning Methods 0.000 description 4
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 230000000306 recurrent effect Effects 0.000 description 3
- 230000001360 synchronised effect Effects 0.000 description 3
- 238000001514 detection method Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 230000018109 developmental process Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000007774 longterm Effects 0.000 description 2
- 238000010295 mobile communication Methods 0.000 description 2
- 238000006467 substitution reaction Methods 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 201000002569 3-methylglutaconic aciduria type 5 Diseases 0.000 description 1
- 238000012935 Averaging Methods 0.000 description 1
- VCBRBUKGTWLJOB-UHFFFAOYSA-N Chloranocryl Chemical compound CC(=C)C(=O)NC1=CC=C(Cl)C(Cl)=C1 VCBRBUKGTWLJOB-UHFFFAOYSA-N 0.000 description 1
- 230000001133 acceleration Effects 0.000 description 1
- 230000003044 adaptive effect Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000002596 correlated effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000002708 enhancing effect Effects 0.000 description 1
- 230000036541 health Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 230000006403 short-term memory Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N5/00—Computing arrangements using knowledge-based models
- G06N5/04—Inference or reasoning models
- G06N5/043—Distributed expert systems; Blackboards
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/33—Querying
- G06F16/332—Query formulation
- G06F16/3329—Natural language query formulation or dialogue systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/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
- G06F16/353—Clustering; Classification into predefined classes
-
- 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
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/044—Recurrent networks, e.g. Hopfield networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/084—Backpropagation, e.g. using gradient descent
-
- 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
- G10L13/00—Speech synthesis; Text to speech systems
- G10L13/08—Text analysis or generation of parameters for speech synthesis out of text, e.g. grapheme to phoneme translation, prosody generation or stress or intonation determination
-
- 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L51/00—User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
- H04L51/02—User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail using automatic reactions or user delegation, e.g. automatic replies or chatbot-generated messages
-
- 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/225—Feedback of the input speech
-
- 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/226—Procedures used during a speech recognition process, e.g. man-machine dialogue using non-speech characteristics
- G10L2015/228—Procedures used during a speech recognition process, e.g. man-machine dialogue using non-speech characteristics of application context
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Artificial Intelligence (AREA)
- Mathematical Physics (AREA)
- Data Mining & Analysis (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Evolutionary Computation (AREA)
- Software Systems (AREA)
- Computing Systems (AREA)
- Human Computer Interaction (AREA)
- Databases & Information Systems (AREA)
- Molecular Biology (AREA)
- Biophysics (AREA)
- Biomedical Technology (AREA)
- Life Sciences & Earth Sciences (AREA)
- Acoustics & Sound (AREA)
- Multimedia (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Machine Translation (AREA)
Abstract
本申请实施例提供了一种人机对话的方法和***,能够自适应地根据对话内容生成准确的回答。该方法应用于人机对话的装置中,该装置预配置有多个对话机器人,每个对话机器人用于根据至少一个话题进行人机对话,该方法包括:获取用户输入的文本;确定该文本涉及的至少一个话题,并根据该文本涉及的至少一个话题,以及预定义的多个对话机器人与多个话题的映射关系,从该多个对话机器人中确定目标对话机器人,该目标对话机器人所对应的至少一个目标话题是该第一语句涉及的至少一个话题中的部分或全部;将该文本分配至该目标机器人中,并从该目标对话机器人获取针对该文本的回复,该回复是由该目标对话机器人根据对该文本的至少一个语义理解生成的回复。
Description
技术领域
本申请实施例涉及计算机领域,并且更具体地,涉及一种人机对话的***和方法。
背景技术
随着移动互联网和智能终端的快速发展,人机对话的应用越来越广泛。目前广泛应用的对话机器人主要是检索式对话机器人,即,依赖于构建一个非常大的对话数据库和智能的匹配技术,这要求对话库足够大,能够尽量多的匹配用户问题,否则会因找不到合适回答内容而出现“答非所问”的情况。然而现在的对话集合通常只是一个非常小而且稀疏的集合,无论我们定义多么智能的匹配模型都无法解决“答非所问”的问题。
目前,已知一种生成式对话机器人,能够通过深度学习理解用户的问题,再根据问题逐字地生成回复,其基本思想是像人类一样在理解的基础上生成回复。然而,用户输入的问题往往涉及多个话题,例如“王XX在微博上宣布离婚,并且争夺两个子女的抚养权”这句话,第一句比较侧重于娱乐话题,第二句比较侧重于法律话题。因此,如何在理解自然语言的基础上,自适应地根据对话内容生成准确的回答成为亟需解决的技术问题。
发明内容
本申请实施例提供一种人机对话的***和方法,能够针对不同的话题,自适应地根据对话内容生成准确的回复。
第一方面,提供一种人机对话的方法,所述方法应用于人机对话的装置中,所述装置预配置有多个对话机器人,每个对话机器人用于根据至少一个话题进行人机对话,所述方法包括:
获取用户输入的文本;
确定所述文本涉及的至少一个话题,并根据所述文本涉及的至少一个话题,以及预定义的多个对话机器人与多个话题的映射关系,从所述多个对话机器人中确定目标对话机器人,所述目标对话机器人所对应的至少一个目标话题是所述第一语句涉及的至少一个话题中的部分或全部;
将所述文本分配至所述目标机器人中,并从所述目标对话机器人获取针对所述文本的回复,所述回复是由所述目标对话机器人根据对所述文本的至少一个语义理解生成的回复,所述至少一个语义理解与所述至少一个目标话题一一对应。
因此,本申请实施例通过预先配置多个对话机器人,在接收到用户输入的文本时,对该文本进行话题判断,根据该文本涉及的话题,将该文本分配到对应的对话机器人中进行计算,以生成针对该文本的回复。能够在理解自然语言的基础上,自适应地根据文本所涉及的话题进行处理,生成准确的回复,从而提高用户体验。
结合第一方面,在第一方面的第一种可能的实现方式中,在所述确定所述文本涉及的至少一个话题之前,所述方法还包括:
根据所述预定义的多个对话机器人与多个话题的映射关系,对所述多个对话机器人并行进行参数训练,每个对话机器人被用于针对所对应的至少一个话题进行所述参数训练,经过所述参数训练得到的参数用于进行人机对话。
因此,在接收到多个训练样本的情况下,可以把不同话题的训练样本分配至不同的对话机器人,即,根据话题,将训练样本分成了多个训练样本的集合,每个对话机器人针对所对应的话题对其中的一个训练样本的集合进行参数训练。从而可以并行地对多个对话机器人进行参数训练,大大减少离线训练的时间,提高离线训练的效率。
结合第一方面或其上述可能的实现方式,在第一方面的第二种可能的实现方式中,所述确定所述文本涉及的至少一个话题,包括:
根据用户输入的文本,确定预定义的多个话题中每个话题的相关概率,所述相关概率指示所述文本涉及话题的概率;
根据每个话题的相关概率和第一预设门限,确定所述文本涉及的至少一个话题,所述至少一个话题中的每个话题的相关概率大于所述第一预设门限。
结合第一方面或其上述可能的实现方式,在第一方面的第三种可能的实现方式中,在所述文本涉及的话题的数目为至少两个的情况下,所述根据所述文本涉及的至少一个话题,以及预定义的多个对话机器人与多个话题的映射关系,从所述多个对话机器人中确定目标对话机器人,包括:
根据所述文本涉及的至少两个话题,以及所述多个对话机器人与多个话题的映射关系,确定是否存在与所述至少两个话题对应的对话机器人;
在确定存在与所述至少两个话题对应的对话机器人时,确定与所述至少两个话题对应的对话机器人为所述目标对话机器人;
在确定不存在与所述至少两个话题对应的对话机器人时,确定所述多个话题中相关概率最大的话题所对应的对话机器人为所述目标对话机器人。
可选地,在所述目标话题的数目为至少两个的情况下,所述回复是由所述目标对话机器人根据目标语义理解生成的回复,所述目标语义理解是由所述目标对话机器人基于对所述文本的至少一个语义理解根据以下公式得到:
其中,M表示所述目标语义理解的向量,Pi表示第i个目标话题的相关概率,Ci表示根据所述第i个目标话题进行语义理解计算得到的对所述文本的语义理解,其中,i在[1,N]取值,i为自然数,N表示所述目标话题的数目,N为大于1的自然数。
因此,根据每个目标话题的相关概率所占的比重计算目标语义理解,能够根据每个目标话题的比重进行计算,获得比较准确的语义理解,从而生成比较准确的回复。
可选地,在所述目标话题的数目为至少两个的情况下,所述回复包括至少一个词项,所述回复中的后一个词项是由所述目标对话机器人针对前一个词项的目标语义理解生成,所述针对前一个词项的目标语义理解由所述目标对话机器人根据以下公式得到:
其中,Ct+1表示针对第t个词项的语义理解,表示根据所述第t个词项与第i个目标话题的相关度确定的所述第i个目标话题在所述至少两个目标话题中的权重,Ci表示根据所述第i个目标话题进行语义理解计算得到的对所述文本的语义理解,其中,t在[1,S]取值,t为自然数,S表示所述回复包括的词项的数目,S为大于1的自然数,i在[1,N]取值,i为自然数,N表示所述目标话题的数目,N为大于1的自然数。
可选地,在所述目标话题的数目为至少两个的情况下,所述回复包括至少一个词项,所述回复中的后一个词项是由所述目标对话机器人针对前一个词项的目标语义理解生成,所述针对前一个词项的目标语义理解由所述目标对话机器人根据以下公式得到:
其中,Ct+1表示针对第t个词项的语义理解,Pi表示第i个目标话题的相关概率,表示根据所述第t个词项与第i个目标话题的相关度确定的所述第i个目标话题在所述至少两个目标话题中的权重,Ci表示根据所述第i个目标话题进行语义理解计算得到的对所述文本的语义理解,其中,t在[1,S]取值,t为自然数,S表示所述回复包括的词项的数目,S为大于1的自然数;i在[1,N]取值,i为自然数,N表示目标话题的数目,N为大于1的自然数。
因此,根据每个目标话题的相关概率所占的比重以及回复中的上一个词项计算用于生成下一个词项的目标语义理解,能够根据每个目标话题和当前生成的回复进行计算,获得更加准确的语义理解,从而自适应地根据话题和已生成的回复词项,生成后续的回复词项。
结合第一方面或其上述可能的实现方式,在第一方面的第四种可能的实现方式中,所述根据每个话题的相关概率和第一预设门限,确定所述文本涉及的至少一个话题,包括:
确定所述多个话题的相关概率的最大值是否小于第二预设门限;
在所述多个话题的相关概率的最大值小于所述第二预设门限的情况下,根据每个话题的相关概率和所述第一预设门限,确定所述文本涉及的至少一个话题。
结合第一方面或第一方面的第一种可能的实现方式,在第一方面的第五种可能的实现方式中,所述确定所述文本涉及的至少一个话题,并根据所述文本涉及的至少一个话题,以及预定义的多个对话机器人与多个话题的映射关系,从所述多个对话机器人中确定目标对话机器人,包括:
根据用户输入的文本,确定预定义的多个话题中每个话题的相关概率,所述相关概率指示所述文本涉及话题的概率;
确定所述多个话题的相关概率的最大值是否小于第二预设门限;
在确定所述多个话题的相关概率的最大值大于或等于所述第二预设门限的情况下,确定所述多个话题的相关概率的最大值对应的话题为所述目标话题;
根据所述预定义的多个对话机器人与多个话题的对应关系,确定与所述目标话题对应的对话机器人为所述目标对话机器人。
结合第一方面、第一方面的第一种可能的实现方式、第一方面的第二种可能的实现方式或第一方面的五种可能的实现方式中,在第一方面的第六种可能的实现方式中,在所述目标对话机器人所对应的所述目标话题的数目为一个的情况下,所述回复是由所述目标对话机器人根据对所述文本的语义理解生成的回复。
通过将单话题对话机器人和多话题对话机器人综合应用在话题分配中,能够根据用户输入的文本灵活地分配目标对话机器人,从而能够提高回复用户的效率,同时又能够保证回复的准确性,从而达到了效率和效果之间的平衡。
第二方面,提供了一种参数训练的方法,所述方法应用于人机对话的装置中,所述装置预配置有多个对话机器人,每个对话机器人用于根据至少一个话题进行人机对话,包括:
获取训练样本,所述训练样本包括第一语句和第二语句,所述第一语句和所述第二语句构成一组对话;
确定所述第一语句涉及的至少一个话题,并根据所述第一语句涉及的至少一个话题,以及预定义的多个对话机器人与多个话题的映射关系,从所述多个对话机器人中确定目标对话机器人;
将所述第一语句分配至所述目标对话机器人中,并从所述目标对话机器人中获取针对该第一语句的回复语句;
根据接收到的所述第二语句和所述目标对话机器人生成的所述回复语句,调整预先设置于所述目标对话机器人中的参数。
因此,本申请实施例通过预先配置多个对话机器人,在接收到多个训练样本的情况下,可以把不同话题的训练样本分配至不同的对话机器人,即,根据话题,将训练样本分成了多个训练样本的集合,每个对话机器人针对所对应的话题对其中的一个训练样本的集合进行参数训练。从而可以并行地对多个对话机器人进行参数训练,大大减少离线训练的时间,提高离线训练的效率。
结合第二方面,在第二方面的第一种可能的实现方式中,所述确定所述第一语句涉及的至少一个话题,包括:
根据用户输入的第一语句,确定预定义的多个话题中每个话题的相关概率,所述相关概率指示所述第一语句涉及话题的概率;
根据每个话题的相关概率和第一预设门限,确定所述第一语句涉及的至少一个话题,所述至少一个话题中的每个话题的相关概率大于所述第一预设门限。
结合第二方面或其上述可能的实现方式,在第二方面的第二种可能的实现方式中,在所述第一语句涉及的话题的数目为至少两个的情况下,所述根据所述第一语句涉及的至少一个话题,以及预定义的多个对话机器人与多个话题的映射关系,从所述多个对话机器人中确定目标对话机器人,包括:
根据所述第一语句涉及的至少两个话题,以及所述多个对话机器人与多个话题的映射关系,确定是否存在与所述至少两个话题对应的对话机器人;
在确定存在与所述至少两个话题对应的对话机器人时,确定与所述至少两个话题对应的对话机器人为所述目标对话机器人;
在确定不存在与所述至少两个话题对应的对话机器人时,确定所述多个话题中相关概率最大的话题所对应的对话机器人为所述目标对话机器人。
可选地,在所述目标话题的数目为至少两个的情况下,所述回复语句是由所述目标对话机器人根据目标语义理解生成的回复语句,所述目标语义理解是由所述目标对话机器人基于对所述第一语句的至少一个语义理解根据以下公式得到:
其中,M表示所述目标语义理解的向量,Pi表示第i个目标话题的相关概率,Ci表示根据所述第i个目标话题进行语义理解计算得到的对所述第一语句的语义理解,其中,i在[1,N]取值,i为自然数,N表示目标话题的数目,N为大于1的自然数。
因此,根据每个目标话题的相关概率所占的比重计算目标语义理解,能够根据每个目标话题的比重进行计算,获得比较准确的语义理解,从而生成比较准确的回复语句。
可选地,在所述目标话题的数目为至少两个的情况下,所述回复语句包括至少一个词项,所述回复语句中的后一个词项是由所述目标对话机器人针对前一个词项的目标语义理解生成,所述针对前一个词项的目标语义理解由所述目标对话机器人根据以下公式得到:
其中,Ct+1表示针对第t个词项的语义理解,表示根据所述第t个词项与第i个目标话题的相关度确定的所述第i个目标话题在所述至少两个目标话题中的权重,Ci表示根据所述第i个目标话题进行语义理解计算得到的对所述第一语句的语义理解,其中,t在[1,S]取值,t为自然数,S表示所述回复语句包括的词项的数目,S为大于1的自然数,i在[1,N]取值,i为自然数,N表示目标话题的数目,N为大于1的自然数。
可选地,在所述目标话题的数目为至少两个的情况下,所述回复语句包括至少一个词项,所述回复语句中的后一个词项是由所述目标对话机器人针对前一个词项的目标语义理解生成,所述针对前一个词项的目标语义理解由所述目标对话机器人根据以下公式得到:
其中,Ct+1表示针对第t个词项的语义理解,Pi表示第i个目标话题的相关概率,表示根据所述第t个词项与第i个目标话题的相关度确定的所述第i个目标话题在所述至少两个目标话题中的权重,Ci表示根据所述第i个目标话题进行语义理解计算得到的对所述第一语句的语义理解,其中,t在[1,S]取值,t为自然数,S表示所述回复语句包括的词项的数目,S为大于1的自然数;i在[1,N]取值,i为自然数,N表示目标话题的数目,N为大于1的自然数。
因此,根据每个目标话题的相关概率所占的比重以及回复语句中的上一个词项计算用于生成下一个词项的目标语义理解,能够根据每个目标话题和当前生成的回复语句进行计算,获得更加准确的语义理解,从而自适应地根据话题和已生成的回复词项,生成后续的回复词项。
结合第二方面或其上述可能的实现方式,在第二方面的第三种可能的实现方式中,所述根据每个话题的相关概率和第一预设门限,确定所述第一语句涉及的至少一个话题,包括:
确定所述多个话题的相关概率的最大值是否小于第二预设门限;
在所述多个话题的相关概率的最大值小于所述第二预设门限的情况下,根据每个话题的相关概率和所述第一预设门限,确定所述第一语句涉及的至少一个话题。
结合第二方面,在第二方面的第四种可能的实现方式中,所述确定所述第一语句涉及的至少一个话题,并根据所述第一语句涉及的至少一个话题,以及预定义的多个对话机器人与多个话题的映射关系,从所述多个对话机器人中确定目标对话机器人,包括:
根据用户输入的第一语句,确定预定义的多个话题中每个话题的相关概率,所述相关概率指示所述第一语句涉及话题的概率;
确定所述多个话题的相关概率的最大值是否小于第二预设门限;
在确定所述多个话题的相关概率的最大值大于或等于所述第二预设门限的情况下,确定所述多个话题的相关概率的最大值对应的话题为所述目标话题;
根据所述预定义的多个对话机器人与多个话题的对应关系,确定与所述目标话题对应的对话机器人为所述目标对话机器人。
结合第二方面、第二方面的第一种可能的实现方式、第二方面的第二种可能的实现方式或第二方面的五种可能的实现方式中,在第二方面的第六种可能的实现方式中,在所述目标对话机器人所对应的所述目标话题的数目为一个的情况下,所述回复语句是由所述目标对话机器人根据对所述第一语句的语义理解生成的回复语句。
通过将单话题对话机器人和多话题对话机器人综合应用在话题分配中,能够根据获取到的第一语句涉及的话题,灵活地分配目标对话机器人,从而能够提高生成回复语句的效率,同时又能够保证回复语句的准确性,从而达到了效率和效果之间的平衡。
第三方面,提供了一种人机对话的装置,用于执行第一方面及第一方面的任意可能的实现方式中的方法。具体地,该装置可以包括用于执行第一方面及第一方面的任意可能的实现方式中的方法的单元。
第四方面,提供了一种参数训练的装置,用于执行第二方面及第二方面的任意可能的实现方式中的方法。具体地,该装置可以包括用于执行第二方面及第二方面的任意可能的实现方式中的方法的单元。
第五方面,提供了一种人机对话的设备,包括存储器和处理器,该存储器用于存储计算机程序,该处理器用于从存储器中调用并运行该计算机程序,使得所述人机对话的设备执行上述第一方面及第一方面的任意可能的实现方式中的方法。
第六方面,提供了一种参数训练的设备,包括存储器和处理器,该存储器用于存储计算机程序,该处理器用于从存储器中调用并运行该计算机程序,使得所述参数训练的设备执行第二方面及第二方面的任意可能的实现方式中的方法的单元。
第七方面,提供了一种计算机可读存储介质,用于存储计算机程序,该计算机程序包括用于执行第一方面及第一方面的任意可能的实现方式中的方法的指令。
第八方面,提供了一种计算机可读存储介质,用于存储计算机程序,该计算机程序包括用于执行第二方面及第二方面的任意可能的实现方式中的方法的指令。
本申请实施例通过预先配置多个对话机器人,在接收到用户输入的文本时,对该文本进行话题判断,根据该文本涉及的话题,将该文本分配到对应的对话机器人中进行计算,以生成针对该文本的回复,从而能够在理解自然语言的基础上,自适应地根据文本所涉及的话题进行处理,生成准确的回复,提高用户体验。
附图说明
图1是生成式对话技术的示意图。
图2是适用于本申请实施例的人机对话的方法和装置的通信***的示意图。
图3是根据本申请实施例的人机对话的方法的示意性流程图。
图4是对当前的输入文本进行语义理解计算和生成回复的示意图。
图5是根据历史对话和当前的输入文本进行语义理解计算的示意图。
图6是对当前的输入文本进行语义理解计算的另一示意图。
图7是根据历史对话和当前的输入文本进行语义理解计算的另一示意图。
图8是根据本申请实施例的参数训练的方法的示意性流程图。
图9是根据本申请实施例的人机对话的装置的示意性框图。
图10是根据本申请实施例的人机对话的设备的示意性框图。
图11是根据本申请实施例的参数训练的装置的示意性框图。
图12是根据本申请实施例的参数训练的设备的示意性框图。
具体实施方式
下面将结合附图,对本申请实施例中的技术方案进行描述。
随着深度学习的发展,学术界提出了一种基于深度神经网络架构的“序列到序列”学习(sequence-to-sequence learning)模型。基于深度神经网络的自然语言对话技术被用于在大规模的对话语料训练得到自然语言对话***。该***接受用户的输入序列,然后通过多层神经网络的计算,逐词的输出回复的序列。
图1是生成式对话模型的架构的示意图。如图1所示,该生成式对话模型的架构包括编码器(Encoder)和解码器(Decoder)。Encoder-Decoder框架可以看作一种文本处理领域的模型,它可以理解为由一个语句生成另外一个语句的通用处理模型。
具体地,输入的自然语言经过编码器,被转化为中间表示向量(或者称,语义理解向量),再经过解码器顺序生成输出的自然语言。其中,解码器和编码器可以分别通过递归神经网络(Recurrent Neural Network,简称“RNN”)实现。
作为一个机器学习模型,基于神经网络模型的生成式对话机器人可以分为离线训练和上线运行两个阶段。
离线训练阶段是根据训练样本,通过反向传播算法或者随机梯度下降算法等,最大化训练样本上的似然函数来确定神经网络***中各单元的参数,以使得各单元的参数调整到一个最优的状态。例如,对于训练对话对<X,Y>,通过输入语句X,期待通过Encoder-Decoder框架来生成目标输出语句Y。然而,机器人通过深度学习得到的输出语句为Y’。因此,机器学习模型可以根据Y和Y’的相似度进行参数调整,调整后的参数能够使得机器人输出的回复语句Y’与目标输出语句Y更加接近,或者完全一致。
在本申请实施例中,所使用的训练数据可以由这样的对话对构成,例如:
问:我想明天去上海。
答:请选择舱位。
问:任何舱位都可以。
答:好的,帮您查看。
又例如:
问:我想买一部手机。
答:你喜欢哪个牌子?
问:华为手机怎么样?
答:用了都说好。
生成式对话机器人通过学习大量的对话对,可以将参数调整到较优的状态,即,离线训练的过程为参数优化的过程。
离线训练后的生成式对话机器人便可以上线运行了。上线运行的生成式对话机器人以用户的自然语言语句为输入,通过神经网络模型中各个单元的计算,产生自然语言回复返回给用户。
当前技术中,为了使机器人输出较为准确的、更加贴近人类语言的自然语言回复,需要在离线训练阶段学习大量的对话对。例如,若要学习好四百万对对话对,即使用主流图形处理单元(Graphics Processing Unit,简称“GPU”)加速通常也需要两周左右的训练时间;若学习上亿的对话对,训练时间可达50周,也就是大约一年的时间。
有鉴于此,本申请提供一种用于人机对话的***和方法,能够根据话题训练机器人,以提高对话机器人的回复的准确性,使得对话机器人自适应地根据对话内容生成准确的回答。
为便于理解本申请实施例,首先结合图2详细说明适用于本申请实施例的人机对话的方法和装置的通信***。
图2是适用于本申请实施例的人机对话的方法和装置的通信***10的示意图。如图2所示,该通信***10可以包括云端服务器20(可以理解为服务端)和终端设备30(可以理解为客户端)。该人机对话的装置可以部署于该云端服务器20中。该云端服务器20用于实现计算功能,为终端设备30提供服务。例如,在本申请实施例中,云端服务器20用于实现神经网络模型的深度学习和计算功能,为终端设备30提供人机对话服务。
应理解,云端服务器可以是由一个或多个服务器构成。该一个或多个服务器可以部署在同一个物理设备中,也可以分布式地部署在一组物理设备中,构成服务器集群,从而达到扩展网络设备和服务器的带宽、增加吞吐量、加强网络数据处理能力、提高网络的灵活性和可用性的目的。
该云端服务器可以与多个终端设备通信连接,即,终端设备向云端服务器发送用户输入的自然语句(为便于区分和说明,记作第一语句),云端服务器根据接收到的第一语句进行计算,得到针对该第一语句的回复语句(为便于区分和说明,记作第二语句),并通过终端设备向用户呈现该第二语句。
在本申请实施例中,该终端设备可以是移动终端(Mobile Terminal)、移动用户设备等。例如,可以是便携式、袖珍式、手持式、计算机内置的或者车载的移动装置,它们与无线接入网交换语言和/或数据。并且,用户设备也可以是计算机等通过以太网或光纤等访问服务器的设备。
其中,该终端设备配置有输入装置和输出装置,从而,用户可以对该输入装置进行操作,以实现与机器人的对话,并通过输出装置接收到机器人回复的语句。作为示例而非限定,作为该输入装置,可以列举:触摸操作检测装置、手势操作检测装置、键盘、鼠标或语音识别装置中的一种或多种等。作为该输出装置,可以列举:显示屏、扬声器等。
并且,该终端设备可以经过无线接入网(Radio Access Network,简称“RAN”)与一个或多个核心网进行通信。无线接入网可以采用各种通信***,例如:全球移动通讯***(Global System of Mobile communication,简称“GSM”),码分多址(Code DivisionMultiple Access,简称“DCMA”)***,宽带码分多址(Wideband Code Division MultipleAccess Wireless,简称“WCDMA”),通用分组无线业务(General Packet Radio Service,简称“GPRS”),长期演进(Long Term Evolution,简称“LTE”)等。
以下,结合图3详细说明根据本申请实施例的人机对话的方法。
图3是根据本申请实施例的人机对话的方法300的示意性流程图。该方法可以应用于人机对话的装置中,该装置中预配置有多个对话机器人,每个对话机器人用于根据至少一个话题进行人机对话。
本申请实施例的人机对话的装置可以理解为一个具有人机对话功能的机器学习模型(或者说,神经网络模型),该模型建立起来之后,需要通过参数训练,才能上线运行。对该人机对话的装置进行参数训练的方法会在后文中结合图8详细说明,为了简洁,这里不再赘述。
在本申请实施例中,该人机对话的方法300可以由该人机对话的装置执行,具体地,可以由该装置中的处理器执行。如图3所示,该方法300包括:
S310,获取用户输入的文本。
具体地,该装置可以从终端设备获取用户输入的文本,该文本可以为自然语言的语句。可以理解,该文本可以为用户输入的一句话,例如,可以为一个问题,也可以为一个指令,或者一个请求等等,本申请对于用户输入的文本并未特别限定。
S320,确定该文本涉及的至少一个话题,并根据该文本涉及的至少一个话题,以及预定义的多个对话机器人与多个话题的映射关系,从多个对话机器人中确定目标对话机器人。
具体地,在获取到用户输入的自然语言文本之后,可以通过计算确定该文本涉及的话题,以及每个话题的相关概率。其中,第i(i为自然数)个话题的相关概率指示接收到的自然语言文本涉及该第i个话题的概率(或者说,可能性)。
该装置可以通过无监督方式或有监督方式来进行确定该文本所涉及的话题及相关概率。
其中,无监督方式可以理解为通过机器学习模型从大量的用户历史输入文本中自动发现每个文本的话题分布。例如,可以采用文档主题生成模型(Latent DirichletAllocation,简称“LDA”)进行话题的自动发现。
有监督方式即首先通过人工标注的方式对用户输入的文本进行话题标注,然后通过有监督的机器学习模型训练从一个输入文本到话题分布概率的映射。在接收到用户输入的文本后,可以基于这个模型计算每个话题的相关概率。例如,可以采用RNN或者卷积神经网络(Convolutional Neural Network,简称“CNN”)进行话题的计算。
应理解,以上列举的无监督方式和有监督方式进行话题的相关概率的计算的过程可以通过现有技术中的算法来实现,为了简洁,这里省略对其具体过程的详细说明。并且,以上列举的用于计算话题的相关概率的方法均为示例性说明,而不应对本申请构成任何限定。
可选地,所述确定该文本涉及的至少一个话题,包括:
根据用户输入的文本,确定预定义的多个话题中每个话题的相关概率,该相关概率指示该文本涉及话题的概率;
根据每个话题的相关概率和第一预设门限,确定该文本涉及的至少一个话题,该至少一个话题中的每个话题的相关概率大于该第一预设门限。
可以理解,用户输入的文本可能涉及到多个话题,但涉及每个话题的概率可能是不同的。在本申请实施例中,假设预定义有Q(Q为大于1或等于的自然数)个话题,该文本涉及第i个话题的概率为Pi,则例如,若输入文本(例如记作文本1)“华为手机好不好”,通过话题判断模块计算可得到涉及到各话题的分布向量为[P1=0.8,P2=0.2,…,PQ=0.0],其中,P1表示涉及科技话题的概率,P2表示涉及消费话题的概率,PQ表示涉及娱乐的概率。又例如,若输入文本(例如记作文本2)“王XX在微博上宣布离婚,并且争夺两个子女的抚养权”,通过话题判断模块计算可得到涉及到个话题的分布向量为[P1=0.0,P2=0.0,P3=0.45,…,PQ=0.5],其中,P3表示涉及法律话题的概率,PQ表示涉及娱乐话题的概率。
根据每个话题的相关概率可以看到,该文本1涉及的话题可能为科技和消费,或者,仅为科技,该文本2涉及的话题可能为娱乐和法律。
该装置可以进一步根据第一预设门限,确定该文本涉及的话题。例如,假设该第一预设门限为0.4,则可以确定该文本1涉及的话题为科技,该文本2涉及的话题为娱乐和法律。
再进一步地,由于某些输入的文本涉及某个特定话题的概率非常大,而且仅涉及该特定的话题,在这种情况下,可以直接根据该特定话题的相关概率,来确定该文本涉及的话题。若在计算得到的多个话题的相关概率中,存在一个相关概率值非常大的话题,则认为该文本涉及该话题;否则,可以认为该文本可能涉及多个话题,可以按照上文所描述的方法来确定该文本涉及的多个话题。
可选地,所述根据每个话题的相关概率和第一预设门限,确定该文本涉及的至少一个话题,包括:
确定该多个话题的相关概率的最大值是否小于第二预设门限;
在该多个话题的相关概率的最大值小于该第二预设门限的情况下,根据每个话题的相关概率和该第一预设门限,确定该文本涉及的至少一个话题。
也就是说,在计算出每个话题的相关概率之后,可以首先判断多个话题的相关概率的最大值是否小于预设的门限值(为便于区分和说明,记作第二预设门限),若小于第二预设门限,则按照上文所述的方法进一步确定相关概率大于第一预设门限的至少一个话题;否则,可以直接将相关概率大于第二预设门限的话题作为该文本涉及的话题。
需要说明的是,该第二预设门限大于第一预设门限。并且,在多个话题的相关概率中,大于第二预设门限的话题的数量只可能为一个或者不存在。即,该第二预设门限取值为大于0.5。
在确定了该文本所涉及的至少一个话题之后,还需要进一步确定能够针对该至少一个话题进行计算的目标机器人。在上文中已经说明,每个对话机器人对应了至少一个话题,但是并不能保证通过上文描述中的方法计算得到的针对该文本的话题与预定义的对话机器人存在映射关系。
因此,可以根据预定义的多个对话机器人与多个话题的映射关系,确定目标机器人,以使得该目标机器人所对应的话题(为便于区分和说明,记作目标话题)是通过上文描述中的方法确定的该文本涉及的至少一个话题中的部分或全部。
可选地,在该文本涉及的话题的数目为至少两个的情况下,所述根据所述文本涉及的至少一个话题,以及预定义的多个对话机器人与多个话题的映射关系,从所述多个对话机器人中确定目标对话机器人,包括:
根据该文本涉及的至少两个话题,以及该多个对话机器人与多个话题的映射关系,确定是否存在与该至少两个话题对应的对话机器人;
在确定存在与该至少两个话题对应的对话机器人时,确定与该至少两个话题对应的对话机器人为该目标对话机器人;
在确定不存在与该至少两个话题对应的对话机器人时,确定该多个话题中相关概率最大的话题所对应的对话机器人为该目标对话机器人。
举例来说,假设在对该文本计算得到的话题包括话题A和话题B,而根据该装置中预定义的多个对话机器人与多个话题的映射关系可以确定,在预定义的多个对话机器人中并不存在与话题A和话题B对应的对话机器人,在此情况下,可以从话题A和话题B中确定相关概率的最大值对应的话题,假设相关概率的最大值对应的话题为话题A,则进一步确定与话题A对应的对话机器人为目标对话机器人,该话题A为目标话题。
又例如,若对该文本计算得到的话题包括话题B和话题C,而根据预定义的多个对话机器人与多个话题的映射关系可以确定,在预定义的多个对话机器人中存在与话题B和话题C对应的对话机器人,则进一步确定该话题B和话题C对应的对话机器人为目标对话机器人,该话题B和话题C为目标话题。
上文描述的确定目标对话机器人的方法可以适用于输入的文本涉及多个话题的场景,若该用户输入的文本可能仅涉及某个特定的话题,该话题的相关概率值较大,例如,大于上述第二预设门限,此情况下,可以直接根据该文本涉及的话题,确定目标对话机器人。
可选地,S320可以具体包括:
根据用户输入的文本,确定预定义的多个话题中每个话题的相关概率,该相关概率指示该文本涉及话题的概率;
确定该多个话题的相关概率的最大值是否小于第二预设门限;
在确定该多个话题的相关概率的最大值大于或等于该第二预设门限时,确定该多个话题的相关概率的最大值对应的话题为该目标话题;
根据该预定义的多个对话机器人与多个话题的对应关系,确定与该目标话题对应的对话机器人为该目标对话机器人。
即,在相关概率的最大值大于或等于第二预设门限的情况下,直接将相关概率的最大值对应的话题确定为目标话题,对应的对话机器人确定为目标对话机器人。在此情况下,该目标话题即为该文本涉及的话题。
应理解,以上列举的第一预设门限、第二预设门限仅为用于区分两个不同的门限值,而不应对本申请构成任何限定,该第一预设门限、第二预设门限可以是人为预先定义的,或者,根据经验确定的,本申请对此并未特别限定。
S330,将该文本分配至该目标对话机器人中,并从该目标对话机器人获取针对该文本的回复。
其中,该回复是由该目标机器人根据对该文本的至少一个语义理解生成的回复。并且,该至少一个语义理解与至少一个目标话题一一对应。
应理解,每个对话机器人可以理解为运行在一个独立的GPU上的计算设备,在本申请实施例中,该多个对话机器人可以独立地运行在多个GPU上,每个GPU上运行一个对话机器人。
这里,不失一般性,以目标对话机器人对文本的处理过程为例详细说明生成回复的具体过程。可以理解,目标对话机器人是多个对话机器人中的一个,每个对话机器人都有可能成为某个用户输入的语句的目标对话机器人,其对应的话题即为该用户输入的语句的相关话题。每个对话机器人在接收到话题分配单元分配的语句后,对该语句的处理方式都是相似的,只是在计算的过程中,任意两个对话机器人中的参数至少部分不同,因此,得到的回复也可能不同。
具体地,该目标对话机器人用于根据所对应的至少一个目标话题,对该文本进行语义理解计算,得到至少一个语义理解;并根据该至少一个语义理解,生成针对该文本的回复。
可选地,该目标机器人包括:理解模块、生成模块和说话模块。
其中,理解模块用于对接收到的文本进行语义理解计算,生成模块用于根据一个或多个理解模块计算得到的语义理解,计算得到用于输入给说话模块的目标语义理解,说话模块用于根据目标语义理解,生成针对该文本的回复,并将该回复发送给终端设备。
具体地,该理解模块首先将接收到的自然语言文本通过分词处理分解为多个词项,每个词项对应于一个高维向量。假设输入的自然语言文本为序列x=(x1,x2,...,xT),即将自然语言文本分解为T个词项,分别对应x1,x2,...,xT。xi为高维向量。这是因为,理解模块在对输入的自然语言文本进行计算时,由于不能理解自然语言,首先要将自然语言转化为机器能够理解的向量。每一个高维向量可以理解为用于唯一地指示一个词项的向量,各向量之间的关系类似于对应的词项之间的关系。例如,“爸爸”和“男”之间、“妈妈”和“女”之间都有关联关系。
需要说明的是,分词处理是现有技术中一种常用的技术手段,分词处理是将一句话中的词项识别出来。分词处理可以用已有的工具(例如开源的分词工具)实现。为了简洁,这里省略对其处理过程的详细说明。
还需要说明的是,通过高维向量来指示词项的方法在现有技术中也已经普遍使用,为了简洁,这里省略对其处理过程的详细说明。
为方便理解和说明,下面将分别针对目标对话机器人对应的目标话题的数目为一个(情况一)以及目标对话机器人对应的目标话题的数目为至少两个(情况二)两种情况进行说明。
可以理解的是,情况一有可能是在计算出多个话题的相关概率后,确定多个话题的相关概率的最大值大于或等于第二预设门限,而将该最大值对应的话题确定为目标话题;也有可能是在计算出多个话题的相关概率后,确定多个话题的相关概率的最大值小于第二预设门限,再进一步确定大于第一预设门限的至少一个话题,但预定义的多个对话机器人中并不存在与该至少一个话题对应的对话机器人,故将相关概率的最大值对应的话题确定为目标话题。情况二则是在计算出多个话题的相关概率后,确定多个话题的相关概率的最大值小于第二预设门限,再进一步确定大于第一预设门限的至少一个话题,确定在预定义的多个对话机器人中存在与该至少一个话题对应的对话机器人,故将该至少一个话题都确定为目标话题。
情况一:
可选地,在该目标对话机器人所对应的该目标话题的数量为一个的情况下,该回复是由该目标对话机器人根据对该文本的语义理解生成的回复。
具体地,在该目标对话机器人中,该理解模块用于根据该目标话题对该文本进行语义理解计算,得到对该文本的语义理解;该生成模块用于将该语义理解确定为目标语义理解;该说话模块用于根据目标语义理解,生成针对该文本的回复。
图4是对当前的输入文本进行语义理解计算和生成回复的示意图。
如图4所示,例如,输入的语句为“华为手机怎么样”,可以分解为:“华为”、“手机”、“怎么样”,每一个词项可以用一个高维向量来表示,例如,分别对应了x1、x2和x3。其中,“华为”对应向量x1,“手机”对应向量x2,“怎么样”对应向量x3。
在将输入的语句分解为多个高维向量之后,理解模块进一步根据所对应的话题,对该多个高维向量进行语义理解计算。具体地,可以通过神经网络模型(例如包括:RRN或者CNN)计算和每个词项对应的语义理解。例如,向量h1是对向量x1的语义理解的向量表示,向量h2是对从句首的向量x1到向量x2的语义理解的向量表示,向量h3是对从句首的向量x1到向量x3的语义理解的向量表示。在RNN神经网络中一个基本的计算单元是hi=Cell(xi,hi-1;W),其中,Cell()表示一个非线性函数,W表示该模型中的参数,xi表示向该模型输入的参数,hi=Cell(xi,hi-1;W)表示从xi和hi-1计算可以得到hi。需要说明的是,不同的Cell()函数对应着不同的神经网络,例如可以是时间递归神经网络(Long Short Term Memory,简称“LSTM”),本申请对于Cell()的具体函数并未特别限定。通过Cell()计算得到语义理解的向量表示可以通过现有技术中的神经网络来实现,而这也非本申请的核心所在,这里不再赘述。
在计算得到对每个词项的语义理解之后,理解模块可以进一步处理得到对整句话的语义理解。在本申请实施例中,可以通过平均池化的方法来得到整句话的一个高维向量表示平均池化的计算方法为/>即,取n个向量hi的平均。平均池化后得到的向量/>就是对“华为手机怎么样”这句话基于神经网络模型的一种语义理解的向量表示。
在情况一中,由于该目标对话机器人对应一个话题,故该语义理解即为输入给说话模块的目标语义理解。
进一步地,为了获得更加准确的语义理解,该目标对话机器人还可以包括生成模块,该生成模块可以将历史对话的语义理解和当前文本的语义理解进行组合,以得到对当前文本的目标语义理解。
在生成模块生成目标语义理解之后,将该目标语义理解输入给说话模块,说话模块可以根据该目标语义理解,生成针对该文本的回复。
具体地,说话模块可以根据当前已经产生的对话逐步地生成依据完整的恢复。例如,在图4中已经生成了部分的回复“用了都说”,之后,可以根据理解模块的输入来生成下一个字。其中,已经生成的部分回复“用了都说”是也是通过向量来表示的,然后结合目标语义理解,生成下一个字(例如,“好”)的向量。
图5是根据历史对话和当前的输入文本进行语义理解计算的示意图。如图5所示,在当前的输入文本“华为手机怎么样”之前,还保存有历史对话“我想买一部手机”+“你喜欢哪个牌子”,通过上文描述的语义理解计算方法,理解模块可以得到对每句话的语义理解,然后经过平均池化,可以得到对历史对话的语义理解的向量表示。例如,对于“我想买一部手机”的语义理解的向量表示为对于“你喜欢哪个牌子”的语义理解的向量表示为/>经过平均池化后得到的历史对话的语义理解的向量表示为/>同时,经过上文描述得到的对当前输入的文本的语义理解的向量表示为/>生成模块可以将对历史对话的语义理解与当前文本的语义理解组合,得到对历史对话和当前输入的文本的目标语义理解为即,表示将列向量/>和/>串联起来构成更长的向量,也就是待输入给说话模块的目标语义理解。
需要说明的是,历史对话的输入文本以及对历史对话中每个语句的语义理解的向量表示可以保存在存储器中,该存储器可以为该目标对话机器人的一部分,也可以独立于该目标对话机器人,存在于该人机对话的装置中。
情况二:
对于涉及两个或两个以上目标话题的情况,生成模块可以根据各目标话题的相关概率,对各理解模块输入的语义理解进行加权组合。
可选地,该目标对话机器人可以包括至少两个理解模块、一个生成模块和一个说话模块。
其中,每个理解模块对应于一个话题,每个理解模块用于根据所对应的话题对分解后的多个高维向量进行语义理解;该生成模块用于根据至少两个理解模块计算得到的至少两个语义理解,生成目标语义理解;该说话模块用于根据该目标语义理解,生成针对该文本的回复。
需要说明的是,在目标对话机器人对应于至少两个目标话题的情况下,可以通过至少两个理解模块分别针对一个话题进行语义理解计算。该至少两个理解模块可以理解为相互独立的理解模块,可以并行地对该文本进行语义理解计算,从而可以节省计算时间。
图6是对当前的输入文本进行语义理解计算的另一示意图。
如图6所示,假设该目标对话机器人对应有三个话题(例如分别为:话题A、话题B和话题C),即,该目标对话机器人包含了三个理解模块(例如分别为:理解模块A、理解模块B和理解模块C)。
在将输入的语句分解为多个高维向量之后,每个理解模块进一步根据所对应的话题,对该多个高维向量进行语义理解计算,计算根据所对应的话题得到的对该文本的语义理解,具体的计算过程可以参考情况一中的描述。应注意,由于每个理解模块所对应的话题不同,在上述计算过程中,模型中的参数也是不同的。因此,每个理解模块基于所对应的话题对同一个语句计算得到的语义理解也是不同的。例如,对应于上述的话题A、话题B和话题C,通过理解模块A、理解模块B和理解模块C计算可以得到对应的语义理解的向量表示hA、hB和hC。生成模块对上述语义理解的向量表示hA、hB和hC进行组合,可以得到目标语义理解的向量标识
其中,每个理解模块中的参数也可以通过上文所述的离线训练达到最优。
在该至少两个理解模块计算得到针对同一个文本的不同话题的语义理解的向量表示之后,生成模块对至少两个语义理解的向量表示进行综合,得到目标语义理解,该目标语义理解即为说话模块的输入。
进一步地,该生成模块可以将历史对话的语义理解和当前文本的语义理解进行组合,以得到对当前文本的目标语义理解。
图7是根据历史对话和当前的输入文本进行语义理解计算的另一示意图。如图7所示,在当前的输入文本“华为手机怎么样”之前,还保存有历史对话“我想买一部手机”+“你喜欢哪个牌子”,通过上文描述的语义理解计算方法,各理解模块(包括理解模块A、理解模块B和理解模块C)可以得到对每句话的语义理解的向量表示分别为:和/>另外,对于当前输入的文本,通过上文描述的语义理解计算方法,各理解模块(包括理解模块A、理解模块B和理解模块C)可以得到对当前输入的文本的语义理解的向量表示分别为/>和/>因此,各理解模块向生成模块输出的对历史对话和当前输入的文本的语义理解的向量表示分别为:/>和/>
在通过理解模块计算得到针对至少两个话题的至少两个语义理解之后,可以通过生成模块对该至少两个语义理解进行处理。在本申请实施例中,对各理解模块输入的语义理解的处理方式可以包括固定线性组合(方法一)和自适应线性组合(方法二)。
方法一:
可选地,在目标话题的数目为至少两个的情况下,该回复是由该目标对话机器人根据目标语义理解生成的回复,该目标语义理解是由该对话目标机器人根据对该文本的至少一个语义理解确定,该该该目标语义理解由该目标对话机器人根据以下公式得到:
其中,M表示该目标语义理解的向量,Pi表示该第i个目标话题的相关概率,该Ci表示根据该第i个目标话题进行语义理解计算得到的对该文本的目标语义理解,其中,i在[1,N]取值,i为自然数,N表示目标话题的数目,N为大于1的自然数。
具体地,该生成模块用于将该至少两个目标话题中第i个目标话题的相关概率作为该第i个目标话题的权重,对至少两个语义理解进行加权求和,得到对该文本的目标语义理解。该说话模块用于根据该目标语义理解,生成针对该文本的回复。
方法一采用固定线性组合的方式确定目标语义理解。固定线性组合,即,将每个目标话题的相关概率作为权重,进行计算。例如,当文本涉及话题A、话题B和话题C时,进行线性组合后得到的目标语义理解的向量M为:
其中,PA、PB、PC分别表示话题A、话题B和话题C的相关概率,CA、CB和CC分别表示理解模块A、理解模块B和理解模块C计算得到的对历史对话和当前输入的文本的语义理解的向量表示。
与情况一中相似地处理方法,对历史对话的语义理解与当前文本的语义理解组合,得到对当前文本的目标语义理解为即,表示将列向量/>和/>串联起来构成更长的向量,也就是待输入给说话模块的目标语义理解。说话模块在从生成模块获取到目标语义理解之后,可以根据目标语义理解逐字地生成回复中的每个词项。
可以看到,在固定线性组合的方式中,如果某个话题的相关概率较高,那么该给话题更高的权重。
在方法一中,在说话模块逐字地生成回复的过程中,生成模块的目标语义理解是固定不变的,这样就不能自适应地生成包含不同话题的回复。
例如,当用户输入“王XX在微博上宣布离婚,并且争夺两个子女的抚养权”,通过方法一,可能无法生成这样的回复:“娱乐圈真乱,法院应该讲孩子判给宝宝”。该回复第一句比较侧重于“娱乐”话题,第二句比较侧重于“法律”话题。因此,需要构建一种方法,能够自适应地根据产生的内容不断地修改各个话题的权重。
方法二:
方法二采用自适应线性组合的方式,根据目标语义理解和生成的上一个词项,生成针对上一个词项的语义理解,并自适应地将针对上一个词项的语义理解作为目标语义理解,生成下一个词项。
可选地,在该目标话题的数目为至少两个的情况下,该回复包括至少一个词项,该回复中的后一个词项是由该目标对话机器人针对前一个词项的目标语义理解生成,该针对前一个词项的目标语义理解由该目标对话机器人根据以下公式得到:
其中,Ct+1表示针对第t个词项的目标语义理解,表示根据该第t个词项与第i个目标话题的相关度确定的第i个目标话题在该至少两个目标话题中的权重,Ci表示根据该第i个目标话题进行语义理解计算得到的对该文本的语义理解,其中,t在[1,S]取值,t为自然数,S表示该回复包括的词项的数据,S为大于1的自然数;i在[1,N]取值,i为自然数,N表示目标话题的数目,N为大于1的自然数。
具体地,该生成模块将该至少两个目标话题中第i个目标话题的相关概率作为该第i个目标话题的权重,对该至少两个语义理解进行加权求和,得到对该文本的目标语义理解;
该说话模块根据该目标语义理解,生成该回复的首个词项;
该生成模块和说话模块根据该回复的首个词项,按照以下方式生成该回复的后续词项:
该生成模块确定该回复的上一个词项与第i个目标话题的相关度为该第i个目标话题的权重;并根据每个目标话题的权重,对该目标回复单元生成的对该第一语句的至少两个语义理解进行加权求和,得到针对上一个词项的目标语义理解;
该说话模块根据该针对上一个词项的目标语义理解,生成该回复的下一个词项。
可选地,在该目标话题的数目为至少两个的情况下,该回复包括至少一个词项,该回复中的后一个词项是由该目标对话机器人针对前一个词项的目标语义理解生成,该针对前一个词项的目标语义理解由该目标对话机器人根据以下公式得到:
其中,Ct+1表示针对第t个词项的目标语义理解,Pi表示第i个目标话题的相关概率,表示根据该第t个词项与第i个目标话题的相关度确定的第i个目标话题在该至少两个目标话题中的权重,Ci表示根据该第i个目标话题进行语义理解计算得到的对该文本的语义理解,其中,t在[1,S]取值,t为自然数,S表示该回复包括的词项的数据,S为大于1的自然数;i在[1,N]取值,i为自然数,N表示目标话题的数目,N为大于1的自然数。
具体地,该生成模块将该至少两个目标话题中第i个目标话题的相关概率作为该第i个目标话题的权重,对该至少两个语义理解进行加权求和,得到对该文本的目标语义理解;
该说话模块根据该目标语义理解,生成该回复的首个词项;
该生成模块和说话模块根据该回复的首个词项,按照以下方式生成该回复的后续词项:
该生成模块确定该回复的上一个词项与第i个目标话题的相关度和该第i个目标话题的相关概率之和为所对应的目标话题的权重;并根据每个目标话题的权重,对该目标回复单元生成的对该文本的至少两个语义理解进行加权求和,得到针对上一个词项的目标语义理解;
该说话模块根据该针对上一个词项的目标语义理解,生成该回复的下一个词项。
通过上述方法,说话模块可以根据针对上一个词项的目标理解向量,生成下一个词项,由此得到的回复更加准确。
因此,本申请实施例的人机对话的方法,通过预先配置多个对话机器人,在接收到用户输入的文本时,对该文本进行话题判断,根据该文本涉及的话题,将该文本分配到对应的对话机器人中进行计算,以生成针对该文本的回复。能够在理解自然语言的基础上,自适应地根据文本所涉及的话题进行处理,生成准确的回复,从而提高用户体验。
以上,结合图3至图7详细说明了根据本申请实施例的人机对话的方法。以下,结合图8详细说明根据本申请实施例的参数训练的方法。
图8是根据本申请实施例的参数训练的方法400的示意性流程图。该方法400可以应用于人机对话的装置中,该装置预配置有多个对话机器人,每个对话机器人用于根据至少一个话题进行参数训练。在本申请实施例中,该方法400可以由上述人机对话的装置来执行,该人机对话的装置可以理解为一个部署有神经网络***的装置,参数训练的过程即神经网络***对每个计算单元(例如,话题分配单元、对话机器人等)进行训练的过程。如图8所示,该方法400包括:
S410,获取训练样本,该训练样本包括第一语句和第二语句,该第一语句和第二语句构成一组对话;
S420,确定该第一语句涉及的至少一个话题,并根据该第一语句涉及的至少一个话题,以及预定义的多个对话机器人与多个话题的映射关系,从多个对话机器人中确定目标对话机器人;
S430,将该第一语句分配至该目标对话机器人中,并从该目标对话机器人中获取针对该第一语句的回复语句;
S440,根据接收到的第二语句和该目标对话机器人生成的回复语句,调整预先设置于目标对话机器人中的参数。
具体而言,本申请实施例的对话机器人可以理解为具有人机对话功能的机器学习模型(或者说,神经网络模型),该模型建立起来之后,需要通过参数训练,才能上线运行。在进行参数训练之前,可以预先定义多个对话机器人与多个话题的对应关系,每个对话机器人可以针对至少一个话题进行参数训练。具体地,每个对话机器人可以根据至少一个话题对接收到的训练样本中的输入语句进行语义理解计算,得到至少一个语义理解,然后根据该至少一个语义理解,计算生成针对该输入语句的回复。
为便于区分和说明,假设其中的一个训练样本包括第一语句和第二语句,第一语句和第二语句构成一组对话,第一语句可以对应于训练样本中的用户输入语句,第二语句可以对应于训练样本中的训练参考语句。
在参数训练过程,首先可以根据输入的第一语句(即,用户输入语句),通过分配进行话题判断计算,确定涉及的话题,并将该第一语句分配至所对应的对话机器人中。在本申请实施例中,训练样本包括涉及多个话题的多个对话对。这里所说的话题可以包括例如:娱乐、法律、体育、健康、旅游、科技、经济、政治、教育、医疗、消费等。第一语句可以涉及以上列举的多个话题中的至少一个。在离线训练过程中,该装置可以预先通过参数训练,获得最优的参数,能够准确地将接收到的语句分配到对应的对话机器人中。
其后,该对话机器人根据第一语句进行语义理解计算,生成针对第一语句的回复语句。该***将生成的回复语句与输入的第二语句(即,训练参考语句)进行对比,以调整模型的参数。
其中,多个话题可以与多个对话机器人对应,每个对话机器人对应了至少一个话题。也就是说,一个对话机器人可以对应一个话题,也可以对应多个话题,每个对话机器人所对应的话题的数量和内容可以预先人为设定,每个对话机器人对应的话题的具体内容可以根据话题之间的相关性来确定。每个对话机器人可以用于针对所对应的至少一个话题进行参数训练,以获得最优的参数,能够准确地回答用户的文本。
可选地,该神经网络***可以对多个对话机器人并行地进行参数训练。每个对话机器人运行在一个独立的GPU上,神经网络***对每个对话机器人针对所对应的一个或多个话题进行参数训练,即,多个GPU并行运行。
因此,本申请实施例通过预先配置多个对话机器人,对接收到的训练样本进行话题判断,分配到对应的对话机器人,然后对该对话机器人进行参数训练。在接收到多个训练样本的情况下,可以把不同话题的训练样本分配至不同的对话机器人。即,根据话题,将训练样本分成了多个训练样本的集合,每个对话机器人针对所对应的话题对其中的一个训练样本的集合进行参数训练。从而可以并行地对多个对话机器人进行参数训练,大大减少离线训练的时间,提高离线训练的效率。
可选地,该确定该第一语句涉及的至少一个话题,包括:
根据用户输入的第一语句,确定预定义的多个话题中每个话题的相关概率,该相关概率指示该第一语句涉及话题的概率;
根据每个话题的相关概率和第一预设门限,确定该第一语句涉及的至少一个话题,该至少一个话题中的每个话题的相关概率大于该第一预设门限。
可选地,在该第一语句涉及的话题的数目为至少两个的情况下,该根据该第一语句涉及的至少一个话题,以及预定义的多个对话机器人与多个话题的映射关系,从该多个对话机器人中确定目标对话机器人,包括:
根据该第一语句涉及的至少两个话题,以及该多个对话机器人与多个话题的映射关系,确定是否存在与该至少两个话题对应的对话机器人;
在确定存在与该至少两个话题对应的对话机器人时,确定与该至少两个话题对应的对话机器人为该目标对话机器人;
在确定不存在与该至少两个话题对应的对话机器人时,确定该多个话题中相关概率最大的话题所对应的对话机器人为该目标对话机器人。
可选地,在该目标话题的数目为至少两个的情况下,该回复语句是由该目标对话机器人根据目标语义理解生成的回复语句,该目标语义理解是由该目标对话机器人基于对该第一语句的至少一个语义理解根据以下公式得到:
其中,M表示该目标语义理解的向量,Pi表示第i个目标话题的相关概率,Ci表示根据该第i个目标话题进行语义理解计算得到的对该第一语句的语义理解,其中,i在[1,N]取值,i为自然数,N表示目标话题的数目,N为大于1的自然数。
可选地,在该目标话题的数目为至少两个的情况下,该回复语句包括至少一个词项,该回复语句中的后一个词项是由该目标对话机器人针对前一个词项的目标语义理解生成,该针对前一个词项的目标语义理解由该目标对话机器人根据以下公式得到:
其中,Ct+1表示针对第t个词项的语义理解,表示根据该第t个词项与第i个目标话题的相关度确定的该第i个目标话题在该至少两个目标话题中的权重,Ci表示根据该第i个目标话题进行语义理解计算得到的对该第一语句的语义理解,其中,t在[1,S]取值,t为自然数,S表示该回复语句包括的词项的数目,S为大于1的自然数,i在[1,N]取值,i为自然数,N表示目标话题的数目,N为大于1的自然数。
可选地,在该目标话题的数目为至少两个的情况下,该回复语句包括至少一个词项,该回复语句中的后一个词项是由该目标对话机器人针对前一个词项的目标语义理解生成,该针对前一个词项的目标语义理解由该目标对话机器人根据以下公式得到:
其中,Ct+1表示针对第t个词项的语义理解,Pi表示第i个目标话题的相关概率,表示根据该第t个词项与第i个目标话题的相关度确定的该第i个目标话题在该至少两个目标话题中的权重,Ci表示根据该第i个目标话题进行语义理解计算得到的对该第一语句的语义理解,其中,t在[1,S]取值,t为自然数,S表示该回复语句包括的词项的数目,S为大于1的自然数;i在[1,N]取值,i为自然数,N表示目标话题的数目,N为大于1的自然数。
可选地,该根据每个话题的相关概率和第一预设门限,确定该第一语句涉及的至少一个话题,包括:
确定该多个话题的相关概率的最大值是否小于第二预设门限;
在该多个话题的相关概率的最大值小于该第二预设门限的情况下,根据每个话题的相关概率和该第一预设门限,确定该第一语句涉及的至少一个话题。
可选地,该确定该第一语句涉及的至少一个话题,并根据该第一语句涉及的至少一个话题,以及预定义的多个对话机器人与多个话题的映射关系,从该多个对话机器人中确定目标对话机器人,包括:
根据用户输入的第一语句,确定预定义的多个话题中每个话题的相关概率,该相关概率指示该第一语句涉及话题的概率;
确定该多个话题的相关概率的最大值是否小于第二预设门限;
在确定该多个话题的相关概率的最大值大于或等于该第二预设门限的情况下,确定该多个话题的相关概率的最大值对应的话题为该目标话题;
根据该预定义的多个对话机器人与多个话题的对应关系,确定与该目标话题对应的对话机器人为该目标对话机器人。
可选地,在该目标对话机器人所对应的该目标话题的数目为一个的情况下,该回复语句是由该目标对话机器人根据对该第一语句的语义理解生成的回复语句。
应理解,该人机对话的装置在接收第一语句之后,根据第一语句涉及的话题和预定义的多个对话机器人与多个话题的对应关系,确定目标对话机器人,以及目标对话机器人根据第一语句生成回复语句的具体过程与上文中结合图3至图7描述的过程相似,为了简洁,这里不再赘述。
还应理解,根据训练样本训练模型参数的方法与现有技术中的参数训练方法相似,为了简洁,这里省略对其具体过程的详细描述。
图9是根据本申请实施例的人机对话的装置500的示意性框图。如图8所示,该装置500包括:获取单元510、话题分配单元520和处理单元530。
其中,该处理单元530可以与该装置中500预先配置的多个对话机器人(例如,对话机器人#1、对话机器人2,…,对话机器人#N)通信连接,以将接收到的用户输入的语句分配到与话题对应的对话机器人中去处理,并从对应的对话机器人中获取回复语句。
应理解,该装置500可以对应(例如,可以配置或本身即为)上述方法300中描述的人机对话的装置,并且,该装置500中各模块或单元分别用于执行上述方法300中人机对话的装置所执行的各动作或处理过程,这里,为了避免赘述,省略其详细说明。
图10是根据本申请实施例的人机对话的设备600的示意性框图。如图9所示,该设备600包括:收发器610、处理器620和存储器630。其中,收发器610、处理器620和存储器630之间通过内部连接通路互相通信,传递控制和/或数据信号。
具体地,该设备600可以对应(例如,可以配置于或本身即为)上述方法300中描述的人机对话的装置。在该设备600中,处理器620用于执行图3中所示实施例的方法,并实现该设备20在图3中所示实施例的功能。并且,该处理器620还用于执行图4至图7中所示对话机器人对输入文本进行语义理解计算以及生成回复语句的动作和处理过程,并实现图4至图7中所示对话机器人的功能。
应理解,在本申请实施例中,除了用于执行图3中所示示例的方法的处理器之外,与多个对话机器人对应地,该设备600还可以包括多个处理器(例如,GPU),每个处理器对应一个对话机器人,用于执行图4至图7中所示的步骤。
因此,本申请实施例通过预先配置多个对话机器人,在接收到用户输入的文本时,对该文本进行话题判断,根据该文本涉及的话题,将该文本分配到对应的对话机器人中进行计算,以生成针对该文本的回复。能够在理解自然语言的基础上,自适应地根据文本所涉及的话题进行处理,生成准确的回复,从而提高用户体验。
图11是根据本申请实施例的参数训练的装置700的示意性框图。如图11所示,该装置700包括:获取单元710、话题分配单元720、处理单元730和训练单元740。
其中,处理单元730可以与该装置中700预先配置的多个对话机器人(例如,对话机器人#1、对话机器人2,…,对话机器人#N)通信连接,以将接收到的用户输入的语句分配到与话题对应的对话机器人中去处理,并从对应的对话机器人中获取回复语句,并将该回复语句发送给训练单元740,由该训练单元740进行参数训练。
应理解,该装置700可以对应(例如,可以配置或本身即为)上述方法400中描述的人机对话的装置,并且,该装置700中各模块或单元分别用于执行上述方法400中参数训练的装置所执行的各动作或处理过程,这里,为了避免赘述,省略其详细说明。
图12是根据本申请实施例的参数训练的设备800的示意性框图。如图12所示,该设备800包括:收发器810、处理器820和存储器830。其中,收发器810、处理器820和存储器830之间通过内部连接通路互相通信,传递控制和/或数据信号。
具体地,该设备800可以对应(例如,可以配置于或本身即为)上述方法400中描述的参数训练的装置。在该设备800中,处理器820用于执行图8中所示实施例的方法,并实现该设备800在图8中所示实施例的功能。并且,该处理器820还用于执行图4至图7中所示对话机器人对输入文本进行语义理解计算以及生成回复语句的动作和处理过程,并实现图4至图7中所示对话机器人的功能。
应理解,在本申请实施例中,除了用于执行图3中所示示例的方法的处理器之外,与多个对话机器人对应地,该设备800还可以包括多个处理器(例如,GPU),每个处理器对应一个对话机器人,用于执行图4至图7中所示的步骤。
因此,本申请实施例通过先对接收到的训练样本进行话题判断,分配到对应的对话机器人,然后对该对话机器人进行参数训练。在接收到多个训练样本的情况下,可以把不同话题的训练样本分配至不同的对话机器人。即,根据话题,将训练样本分成了多个训练样本的集合,每个对话机器人针对所对应的话题对其中的一个训练样本的集合进行参数训练。从而可以并行地对多个对话机器人进行参数训练,大大减少离线训练的时间,提高离线训练的效率。
应理解,本申请实施例可以应用于处理器中,或者由处理器实现。处理器可以是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法实施例的各步骤可以通过处理器中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器可以是中央处理单元(Central Processing Unit,简称“CPU”)、该处理器还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,简称“DSP”)、专用集成电路(ApplicationSpecific Integrated Circuit,简称“ASIC“)、现成可编程门阵列(Field ProgrammableGate Array,简称“FPGA”)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本申请实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件器组合执行完成。软件器可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件完成上述方法的步骤。
还应理解,本申请实施例中的存储器可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(Read-Only Memory,简称“ROM”)、可编程只读存储器(Programmable ROM,简称“PROM”)、可擦除可编程只读存储器(Erasable PROM,简称“EPROM”)、电可擦除可编程只读存储器(Electrically EPROM,简称“EEPROM”)或闪存。易失性存储器可以是随机存取存储器(Random Access Memory,简称“RAM”),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的RAM可用,例如静态随机存取存储器(Static RAM,简称“SRAM”)、动态随机存取存储器(Dynamic RAM,简称“DRAM”)、同步动态随机存取存储器(Synchronous DRAM,简称“SDRAM)、双倍数据速率同步动态随机存取存储器(Double Data Rate SDRAM,简称“DDRSDRAM”)、增强型同步动态随机存取存储器(Enhanced SDRAM,简称“ESDRAM”)、同步连接动态随机存取存储器(Synchlink DRAM,简称“SLDRAM”)和直接内存总线随机存取存储器(Direct Rambus RAM,简称“DR RAM”)。应注意,本文描述的***和方法的存储器旨在包括但不限于这些和任意其它适合类型的存储器。
应理解,在本申请的各种实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
在实现过程中,上述方法的各步骤可以通过处理器中的硬件的集成逻辑电路或者软件形式的指令完成。结合本申请实施例所公开的通信接口故障的处理方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件器组合执行完成。软件器可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件完成上述方法的步骤。为避免重复,这里不再详细描述。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的***、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的***、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个***,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。
Claims (16)
1.一种人机对话的方法,其特征在于,所述方法应用于人机对话的装置中,所述装置预配置有多个对话机器人,每个对话机器人用于根据至少一个话题进行人机对话,所述方法包括:
获取用户输入的文本;
确定所述文本涉及的至少一个话题,其中,所述至少一个话题包括两个及以上个话题;
根据所述文本涉及的至少一个话题,以及预定义的多个对话机器人与多个话题的映射关系,从所述多个对话机器人中确定目标对话机器人,所述目标对话机器人所对应的至少一个目标话题是所述文本涉及的至少一个话题中的部分或全部;
将所述文本分配至所述目标对话机器人中,并从所述目标对话机器人获取针对所述文本的回复,所述回复是由所述目标对话机器人根据对所述文本的至少一个语义理解生成的回复;
其中,所述确定所述文本涉及的至少一个话题,包括:
根据用户输入的文本,确定预定义的多个话题中每个话题的相关概率,所述相关概率指示所述文本涉及话题的概率;
根据每个话题的相关概率和第一预设门限,确定所述文本涉及的至少一个话题,所述至少一个话题中的每个话题的相关概率大于所述第一预设门限;
所述根据每个话题的相关概率和第一预设门限,确定所述文本涉及的至少一个话题,包括:
确定所述多个话题的相关概率的最大值是否小于第二预设门限,其中所述第二预设门限大于第一预设门限;
在确定所述多个话题的相关概率的最大值大于或等于所述第二预设门限的情况下,确定所述多个话题的相关概率的最大值对应的话题为所述目标话题。
2.根据权利要求1所述的方法,其特征在于,在所述文本涉及的话题的数目为至少两个的情况下,所述根据所述文本涉及的至少一个话题,以及预定义的多个对话机器人与多个话题的映射关系,从所述多个对话机器人中确定目标对话机器人,包括:
根据所述文本涉及的至少两个话题,以及所述多个对话机器人与多个话题的映射关系,确定是否存在与所述至少两个话题对应的对话机器人;
在确定存在与所述至少两个话题对应的对话机器人时,确定与所述至少两个话题对应的对话机器人为该目标对话机器人;在确定不存在与所述至少两个话题对应的对话机器人时,确定所述多个话题中相关概率最大的话题所对应的对话机器人为所述目标对话机器人。
3.根据权利要求1所述的方法,其特征在于,
在所述多个话题的相关概率的最大值小于所述第二预设门限的情况下,根据每个话题的相关概率和所述第一预设门限,确定所述文本涉及的至少一个话题。
4.根据权利要求1-3中的任一项所述的方法,其特征在于,在所述确定所述文本涉及的至少一个话题之前,所述方法还包括:
根据所述预定义的多个对话机器人与多个话题的映射关系,每个对话机器人被用于针对所对应的至少一个话题进行参数训练,经过所述参数训练得到的参数用于进行人机对话。
6.根据权利要求1所述的方法,其特征在于,在所述目标话题的数目为至少两个的情况下,所述回复包括至少一个词项,所述回复中的后一个词项是由所述目标对话机器人针对前一个词项的目标语义理解生成,所述针对前一个词项的目标语义理解由所述目标对话机器人根据以下公式得到:
7.根据权利要求1所述的方法,其特征在于,在所述目标话题的数目为至少两个的情况下,所述回复包括至少一个词项,所述回复中的后一个词项是由所述目标对话机器人针对前一个词项的目标语义理解生成,所述针对前一个词项的目标语义理解由所述目标对话机器人根据以下公式得到:
8.一种人机对话的装置,其特征在于,所述装置中预配置有多个对话机器人,每个对话机器人用于根据至少一个话题进行人机对话,所述装置包括:
获取单元,用于获取用户输入的文本;
话题分配单元,用于确定所述文本涉及的至少一个话题;其中,所述至少一个话题包括两个及以上个话题;并用于根据所述文本涉及的至少一个话题,以及预定义的多个对话机器人与多个话题的映射关系,从所述多个对话机器人中确定目标对话机器人,所述目标对话机器人所对应的至少一个目标话题是所述文本涉及的至少一个话题中的部分或全部;
处理单元,用于将所述文本分配至所述目标对话机器人,并从所述目标对话机器人获取针对所述文本的回复,所述回复是由所述目标对话机器人根据对所述文本的至少一个语义理解生成的回复;
其中,所述确定所述文本涉及的至少一个话题,包括:
根据用户输入的文本,确定预定义的多个话题中每个话题的相关概率,所述相关概率指示所述文本涉及话题的概率;
根据每个话题的相关概率和第一预设门限,确定所述文本涉及的至少一个话题,所述至少一个话题中的每个话题的相关概率大于所述第一预设门限;
所述根据每个话题的相关概率和第一预设门限,确定所述文本涉及的至少一个话题,包括:
确定所述多个话题的相关概率的最大值是否小于第二预设门限,其中所述第二预设门限大于第一预设门限;
在确定所述多个话题的相关概率的最大值大于或等于所述第二预设门限的情况下,确定所述多个话题的相关概率的最大值对应的话题为所述目标话题。
9.根据权利要求8所述的装置,其特征在于,在所述文本涉及的话题的数目为至少两个的情况下,所述根据所述文本涉及的至少一个话题,以及预定义的多个对话机器人与多个话题的映射关系,从所述多个对话机器人中确定目标对话机器人,包括:
根据所述文本涉及的至少两个话题,以及所述多个对话机器人与多个话题的映射关系,确定是否存在与所述至少两个话题对应的对话机器人;
在确定存在与所述至少两个话题对应的对话机器人时,确定与所述至少两个话题对应的对话机器人为该目标对话机器人;在确定不存在与所述至少两个话题对应的对话机器人时,确定所述多个话题中相关概率最大的话题所对应的对话机器人为所述目标对话机器人。
10.根据权利要求8所述的装置,其特征在于,所述话题分配单元具体用于:
在所述多个话题的相关概率的最大值小于所述第二预设门限的情况下,根据每个话题的相关概率和所述第一预设门限,确定所述文本涉及的至少一个话题。
11.根据权利要求8-10中任一项所述的装置,所述装置还包括训练单元,用于根据所述预定义的多个对话机器人与多个话题的映射关系,每个对话机器人被用于针对所对应的至少一个话题进行参数训练,经过所述参数训练得到的参数用于进行人机对话。
13.根据权利要求8所述的装置,其特征在于,在所述目标话题的数目为至少两个的情况下,
所述回复包括至少一个词项,所述回复中的后一个词项是由所述目标对话机器人针对前一个词项的目标语义理解生成,所述针对前一个词项的目标语义理解由所述目标对话机器人根据以下公式得到:
14.根据权利要求8所述的装置,其特征在于,在所述目标话题的数目为至少两个的情况下,
所述回复包括至少一个词项,所述回复中的后一个词项是由所述目标对话机器人针对前一个词项的目标语义理解生成,所述针对前一个词项的目标语义理解由所述目标对话机器人根据以下公式得到:
15.一种人机对话装置,其特征在于,包括一个或多个处理器,所述一个或多个处理器和存储器耦合,所述存储器存储有程序,当所述存储器存储的程序指令被所述一个或多个处理器执行时实现权利要求1-7中任一项所述的方法的步骤。
16.一种计算机可读存储介质,用于存储计算机程序,该计算机程序包括用于执行权利要求1-7任一项的方法的指令。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110212462.XA CN113505205B (zh) | 2017-01-17 | 2017-01-17 | 一种人机对话的***和方法 |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710030361.4A CN108319599B (zh) | 2017-01-17 | 2017-01-17 | 一种人机对话的方法和装置 |
CN202110212462.XA CN113505205B (zh) | 2017-01-17 | 2017-01-17 | 一种人机对话的***和方法 |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710030361.4A Division CN108319599B (zh) | 2017-01-17 | 2017-01-17 | 一种人机对话的方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113505205A CN113505205A (zh) | 2021-10-15 |
CN113505205B true CN113505205B (zh) | 2023-06-06 |
Family
ID=62892510
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110212462.XA Active CN113505205B (zh) | 2017-01-17 | 2017-01-17 | 一种人机对话的***和方法 |
CN201710030361.4A Active CN108319599B (zh) | 2017-01-17 | 2017-01-17 | 一种人机对话的方法和装置 |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710030361.4A Active CN108319599B (zh) | 2017-01-17 | 2017-01-17 | 一种人机对话的方法和装置 |
Country Status (3)
Country | Link |
---|---|
US (2) | US11308405B2 (zh) |
CN (2) | CN113505205B (zh) |
WO (1) | WO2018133761A1 (zh) |
Families Citing this family (48)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10453074B2 (en) | 2016-07-08 | 2019-10-22 | Asapp, Inc. | Automatically suggesting resources for responding to a request |
CN107273487A (zh) * | 2017-06-13 | 2017-10-20 | 北京百度网讯科技有限公司 | 基于人工智能的聊天数据的生成方法、装置及计算机设备 |
CN111201566A (zh) * | 2017-08-10 | 2020-05-26 | 费赛特实验室有限责任公司 | 用于处理数据和输出用户反馈的口语通信设备和计算体系架构以及相关方法 |
US10971142B2 (en) * | 2017-10-27 | 2021-04-06 | Baidu Usa Llc | Systems and methods for robust speech recognition using generative adversarial networks |
US11886473B2 (en) | 2018-04-20 | 2024-01-30 | Meta Platforms, Inc. | Intent identification for agent matching by assistant systems |
US11307880B2 (en) * | 2018-04-20 | 2022-04-19 | Meta Platforms, Inc. | Assisting users with personalized and contextual communication content |
US11010179B2 (en) | 2018-04-20 | 2021-05-18 | Facebook, Inc. | Aggregating semantic information for improved understanding of users |
CN108874967B (zh) * | 2018-06-07 | 2023-06-23 | 腾讯科技(深圳)有限公司 | 对话状态确定方法及装置、对话***、终端、存储介质 |
US10721190B2 (en) * | 2018-07-31 | 2020-07-21 | Microsoft Technology Licensing, Llc | Sequence to sequence to classification model for generating recommended messages |
CN109241256B (zh) * | 2018-08-20 | 2022-09-27 | 百度在线网络技术(北京)有限公司 | 对话处理方法、装置、计算机设备和可读存储介质 |
CN109165284B (zh) * | 2018-08-22 | 2020-06-16 | 重庆邮电大学 | 一种基于大数据的金融领域人机对话意图识别方法 |
CN110874401B (zh) * | 2018-08-31 | 2023-12-15 | 阿里巴巴集团控股有限公司 | 信息处理方法、模型训练方法、装置、终端及计算设备 |
CN109547320B (zh) * | 2018-09-29 | 2022-08-30 | 创新先进技术有限公司 | 社交方法、装置及设备 |
CN109271637B (zh) * | 2018-09-30 | 2023-12-01 | 科大讯飞股份有限公司 | 一种语义理解方法及装置 |
CN109472030B (zh) * | 2018-11-09 | 2023-11-24 | 科大讯飞股份有限公司 | 一种***回复质量的评价方法及装置 |
CN109902834B (zh) * | 2019-01-28 | 2021-02-05 | 北京怡凯智能技术有限公司 | 一种话题驱动的老人陪伴主动对话机器人 |
US10956474B2 (en) | 2019-03-14 | 2021-03-23 | Microsoft Technology Licensing, Llc | Determination of best set of suggested responses |
CN111901220B (zh) * | 2019-05-06 | 2021-12-03 | 华为技术有限公司 | 确定聊天机器人的方法和应答*** |
CN110287305B (zh) * | 2019-07-03 | 2021-07-06 | 浪潮云信息技术股份公司 | 一种基于自然语言处理的智能问答管理*** |
CN110297909B (zh) * | 2019-07-05 | 2021-07-02 | 中国工商银行股份有限公司 | 一种无标签语料的分类方法及装置 |
CN110838287B (zh) * | 2019-10-16 | 2022-04-19 | 中国第一汽车股份有限公司 | 车载环境下聊天机器人的语料处理方法、装置及存储介质 |
US11425064B2 (en) * | 2019-10-25 | 2022-08-23 | Asapp, Inc. | Customized message suggestion with user embedding vectors |
CN110851580B (zh) * | 2019-11-18 | 2022-05-03 | 北京邮电大学 | 一种基于结构化用户属性描述的个性化任务型对话*** |
CN111143506B (zh) * | 2019-12-27 | 2023-11-03 | 汉海信息技术(上海)有限公司 | 话题内容的排序方法、装置、服务器及存储介质 |
CN111178489B (zh) * | 2019-12-30 | 2021-02-19 | 深圳集智数字科技有限公司 | 一种对话机器人引擎流量分配方法及装置 |
CN111191019A (zh) * | 2019-12-31 | 2020-05-22 | 联想(北京)有限公司 | 一种信息处理方法、电子设备和信息处理*** |
CN111324715B (zh) * | 2020-02-18 | 2023-07-14 | 北京百度网讯科技有限公司 | 问答机器人的生成方法和装置 |
CN113495943B (zh) * | 2020-04-02 | 2023-07-14 | 山东大学 | 一种基于知识追踪与转移的人机对话方法 |
CN111666394A (zh) * | 2020-04-30 | 2020-09-15 | 北京捷通华声科技股份有限公司 | 一种文本处理方法及装置 |
CN111858874B (zh) * | 2020-05-06 | 2024-06-28 | 北京嘀嘀无限科技发展有限公司 | 对话服务处理方法、装置、设备及计算机可读存储介质 |
CN111741104B (zh) * | 2020-06-18 | 2021-10-08 | 腾讯科技(深圳)有限公司 | 应答消息的确定方法、配置方法、装置、设备及存储介质 |
CN111897933B (zh) * | 2020-07-27 | 2024-02-06 | 腾讯科技(深圳)有限公司 | 情感对话生成方法、装置及情感对话模型训练方法、装置 |
CN111767386B (zh) * | 2020-07-31 | 2023-11-17 | 腾讯科技(深圳)有限公司 | 对话处理方法、装置、电子设备及计算机可读存储介质 |
CN112035643B (zh) * | 2020-09-01 | 2023-10-24 | 中国平安财产保险股份有限公司 | 一种对话机器人能力复用的方法和装置 |
CN112035650A (zh) * | 2020-09-07 | 2020-12-04 | 贝壳技术有限公司 | 信息处理方法、装置、计算机可读存储介质及电子设备 |
CN112256851A (zh) * | 2020-10-23 | 2021-01-22 | 大连东软教育科技集团有限公司 | 一种教育机器人对话数据集的生成方法、装置及存储介质 |
CN112541063B (zh) * | 2020-12-08 | 2022-06-24 | 山东师范大学 | 一种基于自学习对话模型的人机对话方法及*** |
CN112329907A (zh) | 2020-12-24 | 2021-02-05 | 北京百度网讯科技有限公司 | 对话处理方法、装置、电子设备和存储介质 |
CN112951429A (zh) * | 2021-03-25 | 2021-06-11 | 浙江连信科技有限公司 | 用于中小学生心理危机筛查的信息处理方法及装置 |
CN113111665B (zh) * | 2021-04-16 | 2022-10-04 | 清华大学 | 一种个性化对话改写方法及装置 |
US11252113B1 (en) * | 2021-06-15 | 2022-02-15 | Drift.com, Inc. | Proactive and reactive directing of conversational bot-human interactions |
US20230026945A1 (en) * | 2021-07-21 | 2023-01-26 | Wellspoken, Inc. | Virtual Conversational Agent |
CN113688220B (zh) * | 2021-09-02 | 2022-05-24 | 国家电网有限公司客户服务中心 | 一种基于语义理解的文本机器人对话方法及*** |
CN115774992A (zh) * | 2021-09-07 | 2023-03-10 | 北京三星通信技术研究有限公司 | 信息处理方法、装置、电子设备、存储介质及程序产品 |
CN115048944B (zh) * | 2022-08-16 | 2022-12-20 | 之江实验室 | 一种基于主题增强的开放域对话回复方法及*** |
CN116737888B (zh) * | 2023-01-11 | 2024-05-17 | 北京百度网讯科技有限公司 | 对话生成模型的训练方法和答复文本的确定方法、装置 |
CN116541506B (zh) * | 2023-07-06 | 2023-09-15 | 深圳格隆汇信息科技有限公司 | 基于机器学习的智能对话方法、装置、设备及存储介质 |
CN117493529B (zh) * | 2023-12-26 | 2024-03-15 | 苏州元脑智能科技有限公司 | 基于自然语言模型的拟人对话方法、装置及电子设备 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001188787A (ja) * | 1999-12-28 | 2001-07-10 | Sony Corp | 会話処理装置および方法、並びに記録媒体 |
Family Cites Families (38)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6253169B1 (en) * | 1998-05-28 | 2001-06-26 | International Business Machines Corporation | Method for improvement accuracy of decision tree based text categorization |
GB2372864B (en) * | 2001-02-28 | 2005-09-07 | Vox Generation Ltd | Spoken language interface |
US7092888B1 (en) * | 2001-10-26 | 2006-08-15 | Verizon Corporate Services Group Inc. | Unsupervised training in natural language call routing |
US7398209B2 (en) * | 2002-06-03 | 2008-07-08 | Voicebox Technologies, Inc. | Systems and methods for responding to natural language speech utterance |
US7058578B2 (en) * | 2002-09-24 | 2006-06-06 | Rockwell Electronic Commerce Technologies, L.L.C. | Media translator for transaction processing system |
US7318022B2 (en) * | 2003-06-12 | 2008-01-08 | Microsoft Corporation | Method and apparatus for training a translation disambiguation classifier |
US20060143216A1 (en) * | 2004-12-23 | 2006-06-29 | Gupta Anurag K | Method and system for integrating multimodal interpretations |
US8073681B2 (en) * | 2006-10-16 | 2011-12-06 | Voicebox Technologies, Inc. | System and method for a cooperative conversational voice user interface |
US7937349B2 (en) * | 2006-11-09 | 2011-05-03 | Pucher Max J | Method for training a system to specifically react on a specific input |
CN101071418B (zh) * | 2007-03-29 | 2010-06-23 | 腾讯科技(深圳)有限公司 | 聊天方法与*** |
US10110288B2 (en) * | 2009-11-04 | 2018-10-23 | Atc Technologies, Llc | Frequency division duplex (FDD) return link transmit diversity systems, methods and devices using forward link side information |
US8473624B2 (en) * | 2010-07-21 | 2013-06-25 | Nice Systems Ltd. | Method and system for routing text based interactions |
CN102073704B (zh) * | 2010-12-24 | 2013-09-25 | 华为终端有限公司 | 文本分类处理方法和***以及设备 |
CN102194005B (zh) * | 2011-05-26 | 2014-01-15 | 卢玉敏 | 聊天机器人***及自动聊天方法 |
US8868407B2 (en) * | 2011-07-06 | 2014-10-21 | Honda Motor Co., Ltd. | Language processor |
US11074495B2 (en) * | 2013-02-28 | 2021-07-27 | Z Advanced Computing, Inc. (Zac) | System and method for extremely efficient image and pattern recognition and artificial intelligence platform |
US8977620B1 (en) * | 2011-12-27 | 2015-03-10 | Google Inc. | Method and system for document classification |
KR20230137475A (ko) * | 2013-02-07 | 2023-10-04 | 애플 인크. | 디지털 어시스턴트를 위한 음성 트리거 |
EP2835938B1 (en) * | 2013-06-03 | 2018-11-07 | Huawei Technologies Co., Ltd. | Message publishing and subscribing method and apparatus |
US9411829B2 (en) * | 2013-06-10 | 2016-08-09 | Yahoo! Inc. | Image-based faceted system and method |
US20160132491A1 (en) * | 2013-06-17 | 2016-05-12 | National Institute Of Information And Communications Technology | Bilingual phrase learning apparatus, statistical machine translation apparatus, bilingual phrase learning method, and storage medium |
CN104951428B (zh) * | 2014-03-26 | 2019-04-16 | 阿里巴巴集团控股有限公司 | 用户意图识别方法及装置 |
EP2933071A1 (en) * | 2014-04-17 | 2015-10-21 | Aldebaran Robotics | Methods and systems for managing dialogs of a robot |
CN106294505B (zh) * | 2015-06-10 | 2020-07-07 | 华中师范大学 | 一种反馈答案的方法和装置 |
CN105094315B (zh) * | 2015-06-25 | 2018-03-06 | 百度在线网络技术(北京)有限公司 | 基于人工智能的人机智能聊天的方法和装置 |
US20170288942A1 (en) * | 2016-03-30 | 2017-10-05 | Microsoft Technology Licensing, Llc | Portal for Provisioning Autonomous Software Agents |
US10606848B2 (en) * | 2016-04-11 | 2020-03-31 | Facebook, Inc. | Techniques for device configuration using messaging history information |
CN105931638B (zh) * | 2016-04-26 | 2019-12-24 | 北京光年无限科技有限公司 | 面向智能机器人的对话***数据处理方法及装置 |
US10038787B2 (en) * | 2016-05-06 | 2018-07-31 | Genesys Telecommunications Laboratories, Inc. | System and method for managing and transitioning automated chat conversations |
EP3491541A4 (en) * | 2016-07-29 | 2020-02-26 | Microsoft Technology Licensing, LLC | TALKED MACHINE USER INTERACTION |
CN107704482A (zh) * | 2016-08-09 | 2018-02-16 | 松下知识产权经营株式会社 | 方法、装置以及程序 |
CN106294854B (zh) * | 2016-08-22 | 2019-12-24 | 北京光年无限科技有限公司 | 一种用于智能机器人的人机交互方法及装置 |
US10339926B2 (en) * | 2016-12-31 | 2019-07-02 | Oath Inc. | Digital assistant |
US9754221B1 (en) * | 2017-03-09 | 2017-09-05 | Alphaics Corporation | Processor for implementing reinforcement learning operations |
US10311144B2 (en) * | 2017-05-16 | 2019-06-04 | Apple Inc. | Emoji word sense disambiguation |
US11223581B2 (en) * | 2019-03-19 | 2022-01-11 | Servicenow, Inc. | Virtual agent portal integration of two frameworks |
US11900942B2 (en) * | 2020-12-03 | 2024-02-13 | Interactive Media S.P.A. | Systems and methods of integrating legacy chatbots with telephone networks |
US11743211B2 (en) * | 2021-12-28 | 2023-08-29 | Oracle International Corporation | Bot omni channel auto expansion |
-
2017
- 2017-01-17 CN CN202110212462.XA patent/CN113505205B/zh active Active
- 2017-01-17 CN CN201710030361.4A patent/CN108319599B/zh active Active
-
2018
- 2018-01-15 WO PCT/CN2018/072630 patent/WO2018133761A1/zh active Application Filing
-
2019
- 2019-07-17 US US16/514,683 patent/US11308405B2/en active Active
-
2022
- 2022-01-18 US US17/577,713 patent/US20220147848A1/en active Pending
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001188787A (ja) * | 1999-12-28 | 2001-07-10 | Sony Corp | 会話処理装置および方法、並びに記録媒体 |
Non-Patent Citations (1)
Title |
---|
梁子琳 等.基于句类模型的人机对话***语句库设计.华中科技大学学报(自然科学版).2011,第39卷(增刊II期),全文. * |
Also Published As
Publication number | Publication date |
---|---|
CN108319599B (zh) | 2021-02-26 |
CN108319599A (zh) | 2018-07-24 |
US20190341021A1 (en) | 2019-11-07 |
CN113505205A (zh) | 2021-10-15 |
US11308405B2 (en) | 2022-04-19 |
US20220147848A1 (en) | 2022-05-12 |
WO2018133761A1 (zh) | 2018-07-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113505205B (zh) | 一种人机对话的***和方法 | |
CN110287461B (zh) | 文本转换方法、装置及存储介质 | |
CN110444199B (zh) | 一种语音关键词识别方法、装置、终端及服务器 | |
CN111914551B (zh) | 自然语言处理方法、装置、电子设备及存储介质 | |
JP2018026127A (ja) | 翻訳方法、翻訳装置及びコンピュータプログラム | |
CN112487182A (zh) | 文本处理模型的训练方法、文本处理方法及装置 | |
JP2021507312A (ja) | 音声認識システム及び音声認識システムを用いる方法 | |
WO2018102240A1 (en) | Joint language understanding and dialogue management | |
CN112487173B (zh) | 人机对话方法、设备和存储介质 | |
WO2020155619A1 (zh) | 带情感的机器聊天方法、装置、计算机设备及存储介质 | |
CN111428010A (zh) | 人机智能问答的方法和装置 | |
Chi et al. | Speaker role contextual modeling for language understanding and dialogue policy learning | |
JP6306376B2 (ja) | 翻訳装置及び翻訳方法 | |
CN113094481A (zh) | 意图识别方法、装置、电子设备及计算机可读存储介质 | |
CN110114765B (zh) | 通过共享话语的上下文执行翻译的电子设备及其操作方法 | |
WO2021135457A1 (zh) | 基于循环神经网络的情绪识别方法、装置及存储介质 | |
WO2020252935A1 (zh) | 声纹验证方法、装置、设备及存储介质 | |
US11314951B2 (en) | Electronic device for performing translation by sharing context of utterance and operation method therefor | |
US20240135176A1 (en) | Training method and apparatus for neural network model, and data processing method and apparatus | |
CN108206020A (zh) | 一种语音识别方法、装置及终端设备 | |
CN112214592A (zh) | 一种回复对话评分模型训练方法、对话回复方法及其装置 | |
WO2023116572A1 (zh) | 一种词句生成方法及相关设备 | |
EP4218007A1 (en) | Fast emit low-latency streaming asr with sequence-level emission regularization | |
CN113792537A (zh) | 一种动作生成方法以及装置 | |
CN113535930A (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 |