CN111901220A - 确定聊天机器人的方法和应答系统 - Google Patents

确定聊天机器人的方法和应答系统 Download PDF

Info

Publication number
CN111901220A
CN111901220A CN201910373104.XA CN201910373104A CN111901220A CN 111901220 A CN111901220 A CN 111901220A CN 201910373104 A CN201910373104 A CN 201910373104A CN 111901220 A CN111901220 A CN 111901220A
Authority
CN
China
Prior art keywords
chat
robot
chat robot
robots
response
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201910373104.XA
Other languages
English (en)
Other versions
CN111901220B (zh
Inventor
耿杰
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN201910373104.XA priority Critical patent/CN111901220B/zh
Publication of CN111901220A publication Critical patent/CN111901220A/zh
Application granted granted Critical
Publication of CN111901220B publication Critical patent/CN111901220B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/02User-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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/21Monitoring or handling of messages
    • H04L51/214Monitoring or handling of messages using selective forwarding

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Manipulator (AREA)

Abstract

本申请提供一种确定聊天机器人的方法和应答系统,该方法包括:应答系统接收用户输入的第一会话消息;该应答系统根据参考聊天机器人的类型,确定目标聊天机器人;该应答系统将该第一会话消息分发至该目标聊天机器人;该应答系统根据该目标聊天机器人提供的反馈信息,确定应答机器人,并将该应答机器人提供的对应于该第一会话消息的第一回复消息发送至该用户。通过上述技术方案,该应答系统可以在运行过程中直接根据聊天机器人提供的反馈信息来选择合适的聊天机器人作为提供回复消息的应答机器人。因此,上述技术方案可以简化应答系统的搭建流程。

Description

确定聊天机器人的方法和应答系统
技术领域
本申请涉及信息技术领域,更具体地,涉及确定聊天机器人的方法和应答系统。
背景技术
随着技术的发展,应答系统也已经进入了智能时代。应答系统可以通过与用户进行对话来为用户提供回复消息。例如,应答系统可以利用自然语言理解(Nature LanguageUnderstanding,NLU)模块识别出用户发送的信息的意图,然后确定相应的回复消息,并将该回复消息发送至该用户。这种交互方式更为自然,接近人工对话的效果,可以大幅提高用户交互的效率,提升用户体验。
用户发送的信息的意图的识别和确定回复消息的工作可以由聊天机器人(chatbot)实现。不同的聊天机器人的功能可能不一样。例如,有的聊天机器人可以提供预订酒店机票服务,有的聊天机器人可以提供用户答疑,有的聊天机器人可以提供信息查询业务。应答系统中可能会包括具有不同功能的多个聊天机器人。因此,如何选择合适的聊天机器人为用户提供回复消息目前面临的主要问题。
发明内容
本申请提供一种确定聊天机器人的方法和应答系统,可以简化应答系统的搭建流程。
第一方面,本申请实施例提供一种确定聊天机器人的方法,该方法由应答系统执行,该应答系统中包括N个聊天机器人,该N个聊天机器人中包括N1个第一类聊天机器人和N2个第二类聊天机器人,其中N1与N2的和为N,N1和N2为大于或等于1的正整数,该第一类聊天机器人为类型为STC的聊天机器人,该第二类聊天机器人为类型为MTC的聊天机器人,该方法包括:应答系统接收用户输入的第一会话消息,其中该第一会话消息是该应答系统与该用户的进行第K轮会话时该用户发送的信息,其中K为大于或等于2的正整数;该应答系统根据参考聊天机器人的类型,确定目标聊天机器人为该参考聊天机器人或该N个聊天机器人,其中该参考聊天机器人为第K-1轮会话时为该用户提供回复消息的聊天机器人;该应答系统将该第一会话消息分发至该目标聊天机器人;该应答系统根据该目标聊天机器人提供的反馈信息,确定应答机器人,并将该应答机器人提供的对应于该第一会话消息的第一回复消息发送至该用户。
通过上述技术方案,该应答系统无需在运行之前先获取聊天机器人所负责的业务。该应答系统可以在运行过程中直接根据聊天机器人提供的反馈信息来选择合适的聊天机器人作为提供回复消息的应答机器人。因此,上述技术方案可以简化应答系统的搭建流程。
结合第一方面,在第一方面的一种可能的实现方式中,该应答系统根据参考聊天机器人的类型,确定目标聊天机器人为该参考聊天机器人或该N个聊天机器人,包括:该应答系统在确定该参考聊天机器人的类型为STC的情况下,确定该目标聊天机器人为该N个聊天机器人;该应答系统在确定该参考聊天机器人的类型为MTC且该第K-1轮会话的场景未结束的情况下,确定该目标聊天机器人为该参考聊天机器人;或者该应答系统在确定该参考聊天机器人的类型为MTC且该第K-1轮会话的场景结束的情况下,确定该目标机器人为该N个聊天机器人。
上述技术方案在确定应答机器人的过程中,考虑到了不同类型的聊天机器人的特点。例如,若上一轮应答机器人的类型为MTC且会话尚未结束,则本轮优先考虑相同的聊天机器人作为本轮的应答机器人。因此,上述技术方案可以保障应答机器人的一致性。换句话说,基于上述技术方案,如果会话场景未结束,则尽可能考虑采用相同的聊天机器人为用户提供回复消息。另外,上述技术可以在应答系统中包括不同类型的聊天机器人的情况下,也可以保证应答机器人的一致性。因此,该应答系统可以更好地兼容不同类型的聊天机器人。换句话说,即使该应答系统包括不同类型的聊天机器人,该应答系统也可以选择合适的聊天机器人作为提供回复消息的应答机器人。
此外,上述技术方案中,应答系统在确定目标聊天机器人的过程中只需要考虑上一轮聊天机器人的类型。因此,该应答系统可以快速的确定目标聊天机器人。这样,该应答系统可以实现高并发、低延迟。
结合第一方面,在第一方面的一种可能的实现方式中,在该目标聊天机器人为该N个类聊天机器人的情况下,该N个聊天机器人提供的反馈信息包括N个第一匹配值,其中该N个第一匹配值分别为该N个第一类聊天机器人提供的,该应答系统根据该目标聊天机器人提供的反馈信息,确定应答机器人,包括:该应答系统根据该N个第一匹配值和N个权重值,确定N个修正匹配值,其中该N个权重值分别为该N个聊天机器人的权重值;该应答系统根据该N个第一修正匹配值,确定该应答机器人。
上述技术方案中,应答系统无需先实现基于聊天机器人所负责的业务进行模型训练。该应答系统可以直接根据聊天机器人的权重值和聊天机器人提供的反馈信息来确定应答机器人。这样,如果应答系统中增加新的聊天机器人或已有的聊天机器人下线,该应答系统并不需要再次进行模型训练,而可以直接利用现有的聊天机器人确定应答机器人。因此,应答系统中的聊天机器人可以在该应答系统提供应答服务的过程中随时上线或下线。
结合第一方面,在第一方面的一种可能的实现方式中,该应答系统根据该N个第一修正匹配值,确定该应答机器人,包括:所述应答系统确定该应答机器人为该N个修正匹配值中的最大值对应的聊天机器人。
结合第一方面,在第一方面的一种可能的实现方式中,在该目标聊天机器人为该参考聊天机器人的情况下,该参考聊天机器人提供的反馈信息包括第二匹配值,该应答系统根据该目标聊天机器人提供的反馈信息,确定应答机器人,包括:该应答系统确定该第二匹配值大于预设匹配阈值,确定该应答机器人为该参考聊天机器人;或者该应答系统确定该第二匹配值小于或等于该预设匹配阈值,根据该目标聊天机器人提供的反馈信息和N-1聊天机器人提供的反馈信息,确定该应答机器人,其中该N-1聊天机器人为该N个聊天机器人中除该参考聊天机器人外全部聊天机器人。
基于上述技术方案,如果会话场景未结束,则尽可能考虑采用相同的聊天机器人为用户提供回复消息。因此,上述技术方案可以保障应答机器人的一致性。
结合第一方面,在第一方面的一种可能的实现方式中,该N-1聊天机器人提供的反馈信息包括N-1个第三匹配值,其中该第N-1个第三匹配值分别为该N-1聊天机器人提供,该根据该目标聊天机器人提供的反馈信息和N-1聊天机器人提供的反馈信息,确定该应答机器人,包括:根据该N-1个第三匹配值和N-1个权重值,确定N-1个修正匹配值,其中该第N-1个权重值分别为该N-1聊天机器人的权重值;根据该第二匹配值和该N-1个修正匹配值,确定该应答机器人。
结合第一方面,在第一方面的一种可能的实现方式中,该根据该第二匹配值和该N-1个修正匹配值,确定该应答机器人,包括:确定该应答机器人为该第二匹配值和该N-1个修正匹配值中的最大值对应的聊天机器人。
结合第一方面,在第一方面的一种可能的实现方式中,该方法还包括:该应答系统更新该N个聊天机器人中的每个聊天机器人的权重值。上述技术方案可以实现每轮对话后,聊天机器人的权重值动态更新。可以根据需要提高某些聊天机器人的权重。例如,可以提高提供的功能与该用户偏好的话题对应的聊天机器人的权重。这样可以使得该应答系统选择的应答机器人的功能与用户偏好的话题更为相似甚至是相同。这样可以提高回复消息与会话消息的匹配程度,从而提高用户体验。
结合第一方面,在第一方面的一种可能的实现方式中,该应答系统更新该N个聊天机器人中的每个聊天机器人的权重值,包括:根据以下公式更新该N个聊天机器人中的第n个聊天机器人的权重值:
Figure BDA0002050688660000031
其中
Figure BDA0002050688660000032
表示更新后的第n个聊天机器人的权重值,a表示学习速率参数,
Figure BDA0002050688660000033
更新前的第n个聊天机器人的权重值,
Figure BDA0002050688660000034
表示在第K轮会话中确定的会话转移权重。
结合第一方面,在第一方面的一种可能的实现方式中,该方法还包括:该应答系统在与该用户进行第一轮会话之前,根据该用户的属性,确定该N个聊天机器人中的每个聊天机器人的权重值。上述技术方案中可以根据用户的属性重新确定聊天机器人的权重值。这样可以使得该应答系统可以基于用户的属性提供个性化服务。
第二方面,提供了一种应答系统,该应答系统包括执行第一方面或第一方面的任一种可能的实现方式的模块。
第三方面,本申请实施例提供一种计算机可读存储介质,该计算机可读存储介质存储用于实现第一方面或第一方面的任一种可能的实现方式所述的方法的指令。
第四方面,本申请提供了一种包含指令的计算机程序产品,当该计算机程序产品在计算机上运行时,使得计算机执行上述第一方面或第一方面的任一种可能的实现方式所述的方法。
附图说明
图1是应答系统的示意图。
图2是根据本申请实施例提供的确定聊天机器人的方法的示意性流程图。
图3是根据本申请实施例提供的计算机设备的结构框图。
具体实施方式
下面将结合附图,对本申请中的技术方案进行描述。
本申请中,“至少一个”是指一个或者多个,“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B的情况,其中A,B可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。“以下中的至少一项(个)”或其类似表达,是指的这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a,b或c中的至少一项(个),可以表示:a、b、c、a-b、a-c、b-c、或a-b-c,其中a、b、c可以是单个,也可以是多个。另外,在本申请的实施例中,“第一”、“第二”等字样并不对数量和执行次序进行限定。
需要说明的是,本申请中,“示例性的”或者“例如”等词用于表示作例子、例证或说明。本申请中被描述为“示例性的”或者“例如”的任何实施例或设计方案不应被解释为比其他实施例或设计方案更优选或更具优势。确切而言,使用“示例性的”或者“例如”等词旨在以具体方式呈现相关概念。
如果按照是否支持多轮会话来对聊天机器人进行分类,则聊天机器人的类型可以包括两类,第一类是单轮聊天机器人(Single-Turn Chatbot,STC),第二类是多轮聊天机器人(Multi-Turn Chatbot,MTC)。单轮聊天机器人本轮会话的提供的回复消息与前一轮或者前几轮会话没有关系。因此,单轮聊天机器人与用户的每一轮会话都是独立的,无状态的。。多轮聊天机器人的本轮会话与前一轮或者前几轮会话时相关。因此,多轮聊天机器人内部会缓存会话状态,从而可以根据会话状态来为用户提供回复。
本申请实施例中所称的用户是指与应答系统进行对话的人。用户可以利用终端设备与应答系统进行对话。本申请实施例中所称的终端设备可以是个人计算机、笔记本电脑、平板电脑、智能手机。用户可以利用终端设备的输入装置输入会话消息。该终端设备可以将用户输入的会话消息发送至应答系统,由应答系统中的聊天机器人提供对应于该会话消息的答复信息。本申请实施例对用户输入会话消息的方式并不限定。在一些可能的实现方式中,用户输入的会话消息可以是文字形式的会话消息。例如,用户可以利用笔记本电脑的键盘输入会话消息。在另一些可能实现方式中,用户输入的会话消息可以是语音形式的会话消息。例如,用户可以利用智能手机的麦克风输入语音信息,该语音信息就是用户输入的会话消息。在此情况下,该终端设备还可以包括传统的固定电话或者非智能手机。用户以语音形式输入的会话消息可以被转换为文字信息。可选的,在一些可能的实现方式中,将语音形式的会话消息转换为文字形式的会话消息的工作可以由应答系统实现。在另一些可能的实现方式中,如果该终端设备是个人计算机、笔记本电脑等能够提供语音-文字转换功能的终端设备,则该终端设备也可以将将语音形式的会话消息转换为文字形式的会话消息,然后将该文字形式的会话消息发送至应答系统。本申请实施例对由何种设备负责将语音形式的会话消息转换为文字形式的会话消息并不进行限定。
本申请实施例中的应答系统是指能够提供用于回复会话消息的回复消息的系统。图1是一个应答系统的示意图。如图1所示的应答系统100包括:输入输出模块101,处理模块102,聊天机器人集群110。聊天机器人集群110中包括N1个第一类聊天机器人111和N2个第二类聊天机器人112,N1和N2为大于或等于1的正整数。第一类聊天机器人为类型为STC的聊天机器人,第二类聊天机器人为类型为MTC的聊天机器人。为便于描述,假设N1与N2的和为N。
该N1个第一类聊天机器人111也可以称为第一组聊天机器人。N2个第二类聊天机器人112也可以称为第二组聊天机器人。换句话说,聊天机器人集群100中共包括两组聊天机器人,第一组聊天机器人中的聊天机器人的类型均为STC,第二组聊天机器人中的聊天机器人的类型均为MTC。
输入输出模块101,用于获取用户利用终端设备输入的会话消息,并将处理模块102确定的对应于该会话消息的答复信息发送至该终端设备。
处理模块102,用于根据该会话消息,确定从聊天机器人集群110中确定目标聊天机器人,将该会话消息分发至该目标聊天机器人,并根据目标聊天机器人提供的反馈信息,确定用于回复该会话消息的回复消息。
聊天机器人集群110中的聊天机器人用于根据该会话消息,确定对应于该会话消息的回复消息。
更具体地,输入输出模块101可以用于接收用户输入的第一会话消息,其中该第一会话消息是该应答系统与该用户的进行第K轮会话时该用户发送的信息,其中K为大于或等于2的正整数。处理模块102,可以用于根据参考聊天机器人的类型,确定目标聊天机器人为该参考聊天机器人或该N个聊天机器人,其中该参考聊天机器人为第K-1轮会话时为该用户提供回复消息的聊天机器人。处理模块102,还可以用于将该第一会话消息分发至该目标聊天机器人。处理模块102,还可以用于根据该目标聊天机器人提供的反馈信息,确定应答机器人。输入输出模块101,还可以用于将该应答机器人提供的对应于该第一会话消息的第一回复消息发送至该用户。
处理模块102可以由处理器实现,输入输出模块101可以由收发器实现。处理模块102和输入输出模块103的具体功能和有益效果可以参加图2所示的方法,在此就不必赘述。
聊天机器人集群110中的每个聊天机器人在加入应答系统100时需要先进行注册。在注册时,聊天机器人需要提供注册信息。若聊天机器人的类型是STC,则该聊天机器人提供的注册信息中需要包括:该聊天机器人的身份信息,例如该聊天机器人的标识;该聊天机器人的类型,即STC;获取回复消息(getMessage)服务地址;初始权重。若聊天机器人的类型是MTC,则该聊天机器人提供的注册信息需要包括:该聊天机器人的身份信息,例如该聊天机器人的标识;该聊天机器人的类型,即MTC;获取意图(getIntent)服务地址;获取回复消息(getMessage)服务地址;清空状态(clearStatus)服务地址;初始权重。获取回复消息(getMessage)服务地址是该聊天机器人提供回复消息功能对应的地址。获取意图(getIntent)服务地址是该聊天机器人提供确定意图功能对应的地址。清空状态(clearStatus)服务地址是清空该聊天机器人状态的地址。
处理模块102还可以用于根据获取到的注册信息,将聊天机器人分成不同的组。例如,该处理模块102可以根据注册信息中的聊天机器人的类型,确定发送该注册信息的聊天机器人为第一类聊天机器人或该第二类聊天机器人。更具体地,若该注册信息中的聊天机器人的类型为STC,则可以确定发送该注册信息的聊天机器人属于第一组聊天机器人;若该注册信息中的聊天机器人的类型是MTC,则可以确定发送该注册信息的聊天机器人属于第二组聊天机器人。
本申请实施例中的聊天机器人注册过程除了在注册信息中增加了聊天机器人的初始权重以及根据聊天机器人对聊天机器人进行分组外,其他注册过程与现有技术一致,因此就不必赘述。
可以理解的是,上述组件(即输入输出模块、处理模块和聊天机器人)的划分方式仅仅为一种逻辑功能划分。在实际实现时可以有另外的划分方式,例如多个组件可以结合或者可以集成到另一个系统。例如,聊天机器人集群可以作为一个独立的系统,输入输出模块和处理模块作为另一个系统。
另外,上述系统中的各个组件的功能可以由同一个设备提供,也可以由不同的设备提供。例如,在一些可能的实现方式中,输入输出模块和处理模块的功能以及聊天机器人集群的功能可以由同一个计算机设备实现。又如,在另一些可能的实现方式中,输入输出模块和处理模块的功能可以由一个计算机设备实现,聊天机器人集群的功能可以由另一个计算机设备实现。又如,在另一些可能的实现方式中,输入输出模块和处理模块的功能可以由一个计算机设备实现,聊天机器人集群中的每个聊天机器人的功能可以由一个独立的计算机设备实现。这里所称的计算机设备是指任何能够实现相应功能的设备,例如可以是个人计算机、工作站、或者服务器等。
下面结合图2所示的实施例,介绍应答系统100如何从聊天机器人集群确定用于提供对应于用户发送的会话消息的回复消息的聊天机器人。
图2是根据本申请实施例提供的确定聊天机器人的方法的示意性流程图。图2所示的方法可以由图1所示的应答系统100执行。为便于描述,假设在图2方法中,与应答系统100进行会话的用户始终是同一个用户。另外,为了便于描述,在描述图2所示的方法中,省略了聊天机器人注册到应答系统的过程,以及用户用于输入会话消息的终端设备与应答系统100建立连接的过程。
201,应答系统根据用户的属性和N个聊天机器人中的每个聊天机器人的注册权重,确定该每个聊天机器人的调整权重。
注册权重是指聊天机器人在注册到该应答系统时提供的权重。步骤201中,应答系统确定的调整权重的过程可以称为权重初始化。该调整权重可以作为初始权重(也可称为第0轮的权重)。通过权重初始化,该应答系统可以针对用户的属性调整聊天机器人的初始权重,从而可以使得最终确定的为该用户提供回复消息的聊天机器人更适合为该用户提供服务。
可选的,在一些可能的实现方式中,该应答系统可以根据以下公式进行权重初始化:
Figure BDA0002050688660000061
其中,
Figure BDA0002050688660000062
表示第n个聊天机器人的初始权重,
Figure BDA0002050688660000063
表示该第n个聊天机器人的注册权重,
Figure BDA0002050688660000064
表示根据用户的属性对机器人n分配的权重。例如的设置可以根据不同业务的属性来单独定制,举例来说,如果机器人n只针对某一类用户提供服务,那么对于该类用户
Figure BDA0002050688660000065
对于其他用户,
Figure BDA0002050688660000066
可选的,在另一些可能的实现方式中,该应答系统可以根据以下公式进行权重初始化:
Figure BDA0002050688660000067
可选的,在另一些可能的实现方式中,该应答系统可以根据以下公式进行权重初始化:
Figure BDA0002050688660000068
公式1.2和公式1.3中的
Figure BDA0002050688660000069
Figure BDA00020506886600000610
的含义与公式1.1相同,在此就不必赘述。
可以看出,该应答系统可以利用公式1.1、公式1.2或公式1.3,根据N个聊天机器人中的第n个聊天机器人的注册权重和该用户的属性,确定第n个聊天机器人的调整权重。
可选的,在一些可能的实现方式中,该应答系统也可以不进行权重初始化过程。在此情况下,
Figure BDA0002050688660000071
即N个聊天机器人中的第n个聊天机器人的初始权重与注册权重相同。
202,用户将会话消息1输入终端设备,并通过终端设备将会话消息1发送至应答系统。相应的,应答系统接收该终端设备发送的会话消息1。
为便于描述,图2所示的实施例中,会话消息k,该用户与该应答系统进行第k轮会话时该用户输入的会话消息,k为大于或等于1的正整数。在此情况下,会话消息1是该用户与该应答系统进行第1轮会话时该用户输入的会话消息。
另外,为了便于描述,以下直接称用户将会话消息k发送至应答系统,应答系统接收用户发送到会话消息k。
本申请实施例中所称的用户和应答系统进行一轮会话是指应答系统获取一个会话消息并将一个对应于该会话消息的回复消息发送至该用户。本申请实施例对一个会话消息或一个回复消息包括的内容并不限定。例如,在一些情况下,一个会话消息可能包括一个句子。在另一些情况下,一个会话信息可能包括多个句子。在另一些情况下,一个会话消息可能由一个或多个词组成。类似的,一个回复消息也可能有一个或多个句子,或者一个或多个词组成。或者,在一些情况下,一个回复消息或者一个会话信息也可以只是一个表情符号。
203,该应答系统将该会话消息1发送至该N个聊天机器人。
如上所述,该N个聊天机器人中包括至少一个第一类聊天机器人和至少一个第二类聊天机器人。该应答系统将会话消息1发送至第一类聊天机器人是指该应答系统调用第一类聊天机器人的回复消息功能。该应答系统将会话消息1发送至第一类聊天机器人的回复消息服务地址。
回复消息功能用于确定对应于接收到的会话消息的回复消息。回复消息功能的输入是会话消息。如果该回复消息功能是第一类聊天机器人的回复消息功能,则输出包括回复消息和匹配值。聊天机器人在根据会话消息确定对应的回复消息后,可以确定一个匹配值,该匹配值反映了该回复消息与该会话消息的匹配程度。换句话说,该匹配值反映了该回复消息是在多大程度上适合作为该会话消息的回复消息。在一些实现方式中,匹配值可以用百分数或者匹配值的取值范围为[0,1](即大于或等于0且小于或等于1)表示,例如,匹配值为100%表示该回复消息百分之百适合作为该会话消息的回复。又如,匹配值为50%表示该回复消息有50%的概率适合作为该会话消息的回复。又如,匹配值为0表示该回复消息不适合作为该会话消息的回复。若匹配值用百分数表示或者匹配值的取值范围为[0,1],则该匹配值也可以称为置信度。在另一些实现方式中,匹配值也可以用整数表示。例如,匹配值可以用0到10的整数表示。例如匹配值为10表示该回复消息适合作为该会话消息的回复。又如,匹配值为5表示该回复消息有50%的概率适合作为该会话消息的回复。又如,匹配值为0表示该回复消息不适合作为该会话消息的回复。又如,匹配值的取值范围可以为[0,+∞],匹配值的值越大,则表示回复消息越适合作为该会话消息的回复。如何根据会话消息确定对应的回复消息以及匹配度的实现方式与现有的实现方式相同,在此就不赘述。
在一些实现方式中,该应答系统将会话消息1发送至第二类聊天机器人可以只是调用第二类聊天机器人的确定意图功能。换句话说,在这些实现方式中,该应答系统将会话消息1发送至第二类聊天机器人的获取意图服务地址。
确定意图功能用于确定会话消息的意图。确定意图功能的输入是会话消息,输出包括确定的该会话消息的意图和匹配值。会话消息的意图(以下简称意图信息)是指该会话消息希望做什么事情。例如,若该会话消息为“今天天气怎么样”,则意图信息可以是“查询天气”。又如,若会话消息为“我要充值”,则意图信息可以是“充值服务”。聊天机器人在根据会话消息确定意图信息后,可以确定一个匹配值,该匹配值反映了确定的意图信息与该会话消息的匹配程度。换句话说,该匹配值反映了确定的意图信息是在多大程度上是该会话消息的实际意图。在一些实现方式中,匹配值可以用百分数或者匹配值的取值范围为[0,1](即大于或等于0且小于或等于1)表示,例如,匹配值为100%表示确定的意图信息是该会话消息的实际意图相同。又如,匹配值为50%表示确定的意图信息有50%的概率是该会话消息的实际意图。又如,匹配值为0表示确定的意图信息不是该会话消息的实际意图。若匹配值用百分数表示或者匹配值的取值范围为[0,1],则该匹配值也可以称为置信度。在另一些实现方式中,匹配值也可以用整数表示。例如,匹配值可以用0到10的整数表示。例如匹配值为10表示确定的意图信息是该会话消息的实际意图相同。又如,匹配值为5表示确定的意图信息有50%的概率是该会话消息的实际意图。又如,匹配值为0表示确定的意图信息不是该会话消息的实际意图。如何根据会话消息确定对应的意图信息以及匹配度的实现方式与现有的实现方式相同,在此就不赘述。
204,该应答系统获取该N个聊天机器人提供的反馈信息。
如上所述,N1个第一类聊天机器人中的每个聊天机器人可以利用回复消息功能提供回复消息以及匹配值。在一些可能的实现方式中,该N1个第一类聊天机器人中的每个聊天机器人提供的反馈信息可以是回复消息以及匹配值。换句话说,该N1个第一类聊天机器人提供的反馈信息包括N1个回复消息以及N1个匹配值。该N1个第一类聊天机器人、N1个回复消息以及N1个匹配值一一对应。这里的对应是指回复消息以及匹配值是由对应的第一类聊天机器人提供的。在另一些可能的实现方式中,该N1个第一类聊天机器人中的每个聊天机器人提供的反馈信息可以只是利用回复消息功能确定的匹配值。换句话说,该N1个第一类聊天机器人提供的反馈信息包括N1个匹配值。该N1个第一类聊天机器人与N1个匹配值一一对应。这里的对应是指匹配值是由对应的第一类聊天机器人提供的。该反馈信息是用于确定将哪一个聊天机器人作为为该用户提供对应于会话消息1的回复消息1的聊天机器人(为便于描述,以下将为该用户提供对应于会话消息1的回复消息1的聊天机器人称为应答机器人1)。在确定应答机器人1的过程中并不需要知道应答机器人1提供的回复消息。换句话说,该应答机器人1是根据匹配值来确定的。因此,该N1个第一类聊天机器人可以只将匹配值反馈给该应答系统。由于反馈信息中不包括回复消息,因此可以减少聊天机器人与应答系统之间需要传输的信息,从而可以使得该应答系统可以更快地确定应答机器人1。
类似的,N2个第二类聊天机器人中的每个聊天机器人可以利用确定意图功能提供意图信息以及匹配值。在一些可能的实现方式中,该N2个第二类聊天机器人中的每个聊天机器人提供的反馈信息可以是意图信息以及匹配值。换句话说,该N2个第二类聊天机器人提供的反馈信息包括N1个意图信息以及N1个匹配值。该N2个第二类聊天机器人、N1个意图信息以及N1个匹配值一一对应。这里的对应是指意图信息以及匹配值是由对应的第二类聊天机器人提供的。
205,该应答系统根据该N个聊天机器人提供的反馈信息,确定应答机器人1。
该N个聊天机器人提供的反馈信息中总共包括N个匹配值,该N个匹配值分别是该N个聊天机器人提供的。该N个聊天机器人中的每个聊天机器人还包括一个权重值。该应答系统可以根据每个聊天机器人提供的匹配值和该每个聊天机器人的权重值,确定修正匹配值。
可选的,在一些可能的实现方式中,该应答系统可以根据以下公式确定修正匹配值:
Figure BDA0002050688660000091
Figure BDA0002050688660000092
表示在第k轮对话中的第n个聊天机器人的修正匹配值,Ck_n表示第n个聊天机器人根据第k轮对话的会话消息确定的匹配值,
Figure BDA0002050688660000093
表示第n个聊天机器人的在第k-1轮对话后更新的权重。可以看出,第k轮会话时确定的修正匹配值是根据上一轮对话后的聊天机器人的更新的权重以及本轮对话的匹配值确定的。因此
Figure BDA0002050688660000094
也可以认为是第n个聊天机器人在在第k轮对话时使用的权重。在第一轮会话时,用于确定修正匹配值的聊天机器人的权重为
Figure BDA0002050688660000095
可选的,在另一些可能的实现方式中,该应答系统还可以根据其他公式确定该修正匹配值,例如,该应答系统可以根据以下公式确定该修正匹配值:
Figure BDA0002050688660000096
公式1.5中的
Figure BDA0002050688660000097
Ck_n
Figure BDA0002050688660000098
的含义与公式1.4相同,在此就不必赘述。λ表示控制权重影响的阈值,为大于或等于0且小于或等于1的数。λ的取值可以根据需要预先设定。例如,若希望权重对修正匹配值的影响越大,则可以使得λ的取值越接近0;若希望权重对修正匹配值的影响越小,则可以使得λ越接近1。
又如,该应答系统也可以根据以下公式确定该修正匹配值:
Figure BDA0002050688660000099
公式1.6
又如,该应答系统也可以根据以下公式确定该修正匹配值:
Figure BDA00020506886600000910
公式1.6和公式1.7中的
Figure BDA00020506886600000911
Ck_n
Figure BDA00020506886600000912
的含义与公式1.4相同,在此就不必赘述。公式1.6和公式1.7中的
Figure BDA00020506886600000913
表示一个预设的调整参数。该调整参数可以根据需要设定。可选的,在一些可能的实现方式中,根据第一类聊天机器人提供的匹配值确定的修正匹配值时使用的调整参数(以下简称调整参数1)可以不同于根据第二类聊天机器人提供的匹配值确定修正匹配值使用的调整参数(以下简称调整参数2)。例如,若希望提高第一类聊天机器人的命中概率(即确定出的提供回复消息的聊天机器人是该第一类聊天机器人的概率),则可以使得调整参数1大于调整参数2;若希望提高第二类聊天机器人的命中概率(即确定出的提供回复消息的聊天机器人是该第二类聊天机器人的概率),则可以使得调整参数1等于调整参数2。当然,在另一些可能的实现方式中,调整参数1和调整参数2可以相同。
Min表示第n个聊天机器人的预设最大修正匹配值。换句话说,该应答系统确定的修正匹配值需要小于或等于该预设最大修正匹配值。Man表示第n个聊天机器人的预设最小修正匹配值。换句话说,该应答系统确定的修正匹配值需要大于或等于该预设最小修正匹配值。
Figure BDA0002050688660000101
公式1.8中的
Figure BDA0002050688660000102
Ck_n
Figure BDA0002050688660000103
的含义与公式1.4相同,在此就不必赘述。
该应答系统根据该N个聊天机器人提供的反馈信息可以确定出N个修正匹配值。该应答系统可以根据该N个修正匹配值,确定该应答机器人1。
可选的,在一些可能实现方式中,该应答系统可以确定应答机器人1是最大的修正匹配值对应的聊天机器人。例如,若该修正匹配指示根据公式1.4至公式1.7中的任一个确定的情况下,应答机器人1是最大的修正匹配值对应的聊天机器人。
可选的,在一些可能的实现方式中,如果存在多个最大的修正匹配值,则可以随机确定一个最大的修正匹配值对应的聊天机器人为应答机器人1。
可选的,在另一些可能的实现方式中,如果存在多个最大的修正匹配值,则可以确定该多个最大的修正匹配值中对应于第一类聊天机器人的修正匹配值数目和对应于第二类聊天机器人的修正匹配值数目。若该多个最大的修正匹配值中只有一个最大的修正匹配值对应第一类聊天机器人,则可以确定该第一类聊天机器人为应答机器人1;若该多个最大的修正匹配值中只有一个最大的修正匹配值对应第二类聊天机器人,则可以确定该第二类聊天机器人为应答机器人1。
可选的,在另一些可能的实现方式中,如果存在多个最大的修正匹配值且该多个最大的修正匹配值中包括多个对应于第一类聊天机器人的修正匹配值,则随机确定对应于该最大的修正匹配值的一个第一类聊天机器人为应答机器人1。
可选的,在另一些可能的实现方式中,如果存在多个最大的修正匹配值且该多个最大的修正匹配值中包括多个对应于第二类聊天机器人的修正匹配值,则随机确定对应于该最大的修正匹配值的一个第二类聊天机器人为应答机器人1。
可选的,在另一些实现方式中,该应答系统可以确定应答机器人1是最小的修正匹配值对应的聊天机器人。例如,若该修正匹配值是根据公式1.8确定的,则应答机器人1是最小的修正匹配值对应的聊天机器人。
修正匹配值对应的聊天机器人是指该修正匹配值是根据对应的聊天机器人的权重和提供的修正值确定的。
206,该应答系统将应答机器人1提供的回复消息1发送至该用户。
可选的,在一些可能的实现方式中,如果应答机器人1是该第一类聊天机器人,且反馈信息中包括该第一类聊天机器人提供的回复消息,则该应答系统可以将回复消息发送至该用户。
可选的,在一些可能的实现方式中,如果应答机器人1是该第一类聊天机器人,且反馈信息中不包括该第一类聊天机器人提供的回复消息,则该应答系统可以从该应答机器人1获取对应于会话消息1的回复消息,并将获取到的该回复消息发送至该用户。
可选的,在一些可能的实现方式中,如果应答机器人1是该第二类聊天机器人,则该应答系统可以调用该应答机器人1的回复消息功能。该应答系统将会话消息1发送至应答机器人1的回复消息服务地址。
第二类聊天机器人的回复消息功能与第一类聊天机器人的回复消息功能类似,用于确定对应于接收到的会话消息的回复消息。第二类聊天机器人的回复消息功能的输入是会话消息,输出包括回复消息、匹配值以及场景状态。可以看出,第一类聊天机器人的回复消息功能的输入与第二类聊天机器人的回复消息功能的输入相同,第二类聊天机器人的回复消息功能的输出也包括回复消息和匹配值。第二类聊天机器人的回复消息功能的输出中的回复消息和匹配值的含义与第一类聊天机器人的回复消息功能的输出中的回复消息和匹配值的含义相同,在此就不必赘述。与第一类聊天机器人的回复消息功能相比,第二类聊天机器人的回复消息功能的输出中还包括场景状态。该场景状态信息用于指示会话场景是否结束。该应答系统可以保存该场景状态。
207,该应答系统更新该N个聊天机器人中的每个聊天机器人的权重。
可选的,在一些可能的实现方式中,该应答系统可以根据以下公式更新该N个聊天机器人中的第n个聊天机器人的权重:
Figure BDA0002050688660000111
Figure BDA0002050688660000112
表示N个聊天机器人中的第n个聊天机器人在第k轮对话后更新的权重,
Figure BDA0002050688660000113
的含义与公式1.中的含义相同,a表示学习速率参数,
Figure BDA0002050688660000114
是用于对第n个聊天机器人在第k轮对话后的权重进行更新的会话转移权重。
学习速率参数a为大于或等于0且小于或等于1的正整数。
可选的,在一些可能的实现方式中,学习速率参数可以是一个预设的固定值。换句话说,该学习速率参数在任意两轮对话中的值是相同的。该预设的固定值具体数值可以根据事先训练确定。如上所述,不同的聊天机器人提供的功能可能是不同的。因此,可以根据应答系统中聊天机器人的功能,事先进行学习速率参数训练,确定学习速率参数的取值,并训练好的学习速率参数保存在该应答系统中。
可选的,在另一些可能的实现方式中,学习速率参数可以在该应答系统运行的过程中实时调整。换句话说,该学习速率参数可以是一个可变的值。例如,在应答系统运行过程中,可以根据是否希望继续使用上一轮会话使用的聊天机器人来调整学习速率参数。参见公式1.8,学习速率参数越接近0,聊天机器人更新前的权重在更新后的权重影响就越大;相应的,学习速率参数越接近1,会话转移权重对更新后的权重影响越大。因此,如果发现聊天机器人切换过于频繁,则可以降低学习速率参数的取值。调整学习速率参数的工作可以由应答系统的管理员(即负责管理应答系统的人)实现。
可选的,在一些可能的实现方式中,不同功能的聊天机器人的学习速率参数可以是相同的。换句话说,该N个聊天机器人中的每个聊天机器人在更新权重时使用的学习速率参数相同。
可选的,在另一些可能的实现方式中,相同类型的聊天机器人的学习速率参数可以是相同的。例如,第一类聊天机器人在更新权重时使用的学习速率参数为ai,第二类聊天机器人在更新权重时使用的学习速率参数为aii,ai与aii的值大于或等于0且小于或等于1,且ai与aii不同。
可选的,在另一些可能的实现方式中,该N个聊天机器人中的每个聊天机器人都可以各自的学习速率参数。例如,N个聊天机器人中的第n个聊天机器人的学习速率参数为an
会话转移权重
Figure BDA0002050688660000115
表示会话由其他聊天机器人转移到第n个聊天机器人的权重。
Figure BDA0002050688660000116
的值越高,表示该聊天机器人越重要。假如有一个聊天机器人Cb1。在不同的用户和除聊天机器人Cb1以外的其他聊天机器人进行了几轮对话后,最终都会由聊天机器人Cb1为用户提供回复消息。在此情况下,聊天机器人Cb1的会话转移权重会上升。这就表明聊天机器人Cb1很重要。
会话转移权重
Figure BDA0002050688660000121
可以基于佩奇排名(PageRank)算法确定。
下面以PageRank算法为例,对如何确定该会话转移权重进行简述。
步骤1:首先构建大小为N×N的转移次数矩阵T(k)
T(k)中的每个元素
Figure BDA0002050688660000122
表示到第k轮对话为止,用户的答复从聊天机器人i转移到聊天机器人j的累计次数,其中i和j为大于或等于1且小于或等于N的正整数。例如,假如该应答系统中有三个聊天机器人,则T(k)可以为:
Figure BDA0002050688660000123
其中
Figure BDA0002050688660000124
表示到第k轮对话为止,上一轮提供回复消息的聊天机器人是1号,本轮提供回复消息的聊天机器人是2号的情况一共发生了100次。
在第k轮对话结束后,可以根据以下公式更新该转移次数矩阵中的每个元素:
Figure BDA0002050688660000125
其中,如果第k-1轮提供回复消息的聊天机器人是i,第k轮提供回复消息的聊天机器人为j,则trans(i,j)为1;否则,trans(i,j)的取值为0。
初始转移次数矩阵T(0)中的每个元素
Figure BDA0002050688660000126
可以为一个常数C。例如,在一些实施例中,C可以等于100。
还以转移次数矩阵
Figure BDA0002050688660000127
为例,如果第k+1轮,提供回复消息的聊天机器人从2号聊天机器人变成了3号聊天机器人则,T(k+1)更新为
Figure BDA0002050688660000128
步骤2:根据转移次数矩阵T(k)确定转移概率矩阵P(k)
P(k)中的每个元素
Figure BDA0002050688660000129
可以根据以下公式确定:
Figure BDA00020506886600001210
还以转移次数矩阵
Figure BDA00020506886600001211
为例,根据该转移次数矩阵确定的转移概率矩阵P(k)
Figure BDA00020506886600001212
可以看出转移概率矩阵P(k)中每一行的和都等于1。
步骤3:利用PageRank算法计算会话转移权重
Figure BDA00020506886600001213
具体地,可以利用以下公式确定该会话转移权重:
Figure BDA0002050688660000131
其中1N表示大小为N×1的列向量,如果N等于3,则
Figure BDA0002050688660000132
公式1.11表示将转移概率矩阵P(k)连乘100次,再乘以向量1N。最终得到N×1的列向量PR(k)
Figure BDA0002050688660000133
为列向量PR(k)中的第n个元素。
除了利用PageRank算法确定会话转移权重外,会话转移权重也可以利用其它算法确定,例如会话转移权重
Figure BDA0002050688660000139
可以是第n个机器人到第k轮会话为止被访问的次数(即用于提供回复消息的次数)。又如,会话转移权重
Figure BDA00020506886600001310
可以根据以下公式确定:
Figure BDA0002050688660000136
其中
Figure BDA0002050688660000137
表示第n个聊天机器人到第k轮会话为止被访问的次数,
Figure BDA0002050688660000138
是该N个聊天机器人到第k轮会话位置被访问的次数和。
208,应答系统继续接收该用户发送的第2轮会话消息,即会话消息2。
209,应答系统根据应答机器人1,确定第一目标聊天机器人。
若应答机器人1是该第一类聊天机器人,则该应答系统可以执行步骤210至步骤212。
210,应答系统将会话消息2发送至该N个聊天机器人。
211,应答系统获取该N个聊天机器人提供的反馈信息。
换句话说,在应答机器人1是该第一类聊天机器人的情况下,该应答系统确定的第一目标聊天机器人是该N个聊天机器人。
212,应答系统根据该N个聊天机器人提供的反馈信息,确定应答机器人2。应答机器人2是用于提供对应于会话消息2的应答消息2的聊天机器人。
步骤210至步骤212的具体实现可以参见步骤203至步骤205的具体实现,在此就不必赘述。
若应答机器人1是该第二类聊天机器人,则该应答系统可以执行步骤213。
213,应答系统确定第一轮会话的场景是否结束。
如上所述,第二类聊天机器人的回复消息功能的输出中除了包括回复消息和匹配值外,还可以包括场景状态,该场景状态用于指示会话场景是否结束。应答系统可以根据该场景状态,确定第一轮会话的场景是否结束。
若第一轮会话的场景结束,则应答系统可以执行步骤210至步骤212。换句话说,在应答机器人1是该第二类聊天机器人且该第一轮会话的场景已结束的情况下,该应答系统确定的第一目标聊天机器人是该N个聊天机器人。
若第一轮会话场景未结束,则应答系统可以执行步骤214。
214,应答系统将会话消息2发送至应答机器人1。
应答系统将会话消息2发送至应答机器人1可以是调用应答机器人1的回复消息功能。如上所述,第二类聊天机器人的回复消息功能可以根据输入的会话消息输出一个匹配值。若该匹配值大于一个预设匹配阈值,则可以执行步骤215。若该匹配阈值小于或等于该预设匹配阈值,则可以执行步骤216至步骤218。
215,应答系统确定应答机器人1为应答机器人2。换句话说,应答系统确定应答机器人1是用于提供对应于会话消息2的应答消息2的聊天机器人。
216,应答系统将会话消息2发送至该N个聊天机器人中除应答机器人1以外的N-1个聊天机器人。
步骤216的具体实现与步骤210的具体实现类似,区别仅在于发送会话消息2的对象排除了该N个聊天机器人中的应答机器人1。因此,步骤216的具体实现可以参加步骤203,在此就不必赘述。
217,应答系统获取该N-1个聊天机器人提供的反馈信息。
步骤217的具体实现与步骤211的具体实现类似,区别仅在于接收的反馈信息是来自于该N个聊天机器人除了应答机器人1以外的聊天机器人。因此,步骤217的具体实现可以参考步骤204,在此就不必赘述。
218,应答系统根据应答机器人1提供的反馈信息以及该N-1个聊天机器人提供的反馈信息,确定应答机器人2。
通过步骤218,应答系统可以获取N个匹配值。需要注意的是应答机器人1提供的反馈信息是调用应达机器人1的回复消息功能提供,而除了应答机器人1以外的第二类聊天机器人提供的反馈信息是调用这些第二类聊天机器人的确定意图功能提供的。换句话说,步骤218中应答机器人1提供的反馈信息中的匹配值是调用应达机器人1的回复消息功能提供匹配值,而除了应答机器人1以外的第二类聊天机器人提供的反馈信息中的匹配值是调用这些第二类聊天机器人的确定意图功能提供的匹配值。
若该N个匹配值中匹配值最大的是应答机器人1提供的匹配值,则可以确定应答机器人2与应答机器人1相同。
若该N个匹配值中匹配值最大的聊天机器人不是应答机器人1提供的匹配值,则调用应答机器人1的清空状态(clearStatus)服务,清空应答机器人1的状态。在清空应答机器人1的状态之后,调用应答机器人1的确定意图功能,获取应答机器人1提供的反馈信息,然后执行步骤212,确定应答机器人2。可以理解的是,在步骤217中,应答系统已经获取了除应答机器人1以外的其他应答机器人发送的反馈信息。因此,此时只需要获取应答机器人1的确定意图功能提供的反馈信息即可。
应答系统在确定了应答机器人2后,可以执行步骤219。
219,该应答系统将应答机器人2提供的回复消息发送至该用户。
步骤219的具体实现与步骤206相同,因此步骤219的具体实现可以参考步骤206,在此就不必赘述。
220,该应答系统更新该N个聊天机器人中的每个聊天机器人的权重。
步骤220的具体实现与步骤207相同,因此步骤220的具体实现可以参考步骤207,在此就不必赘述。
若在步骤220后,该应答系统继续接收到该用户发送的会话消息3,则可以使用与处理会话消息2相同的处理方式,确定用于提供对应于会话消息3的回复消息3的应答机器人3。
可以理解的是,图2中的各个步骤的序号并非是对步骤先后顺序的限定。例如,步骤207的聊天机器人权重更新过程只要应答系统在使用聊天机器人的权重之前完成即可。因此,在一些实施例中,步骤207可以在步骤208之后执行,也可以在步骤209之后执行。
图3是根据本申请实施例提供的计算机设备的结构框图。如图3所示,计算机设备包括处理器301、存储器302和收发器303。为便于说明,图3中仅示出了一个存储器和处理器。在实际的计算机设备产品中,可以存在一个或多个处理器和一个或多个存储器。存储器也可以称为存储介质或者存储设备等。存储器可以是独立于处理器设置,也可以是与处理器集成在一起,本申请实施例对此不做限制。
在本申请实施例中,可以将具有收发功能的电路视为计算机设备的收发器303,将具有处理功能的处理器视为计算机设备的处理单元。收发器也可以称为收发单元、收发机、收发装置等。处理单元也可以称为处理器,处理单板,处理模块、处理装置等。可选的,可以将收发器303中用于实现接收功能的器件视为接收单元,将收发器303中用于实现发送功能的器件视为发送单元,即收发器303包括接收单元和发送单元。接收单元有时也可以称为接收机、接收器、或接收电路等。发送单元有时也可以称为发射机、发射器或者发射电路等。
处理器301、存储器302和收发器303之间通过内部连接通路互相通信,传递控制和/或数据信号
上述本申请实施例揭示的方法可以应用于处理器301中,或者由处理器301实现。处理器301可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器301中的硬件的集成逻辑电路或者软件形式的指令完成。
本申请各实施例所述的处理器可以是通用处理器、数字信号处理器(digitalsignal processor,DSP)、专用集成电路(application specific integrated circuit,ASIC)、现成可编程门阵列(field programmable gate array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本申请实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存取存储器(random access memory,RAM)、闪存、只读存储器(read-only memory,ROM)、可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器,处理器读取存储器中的指令,结合其硬件完成上述方法的步骤。
可选的,在一些实施例中,存储器302可以存储用于执行如图2所示方法中应答系统执行的方法的指令。处理器301可以执行存储器302中存储的指令结合其他硬件(例如收发器303)完成如图2所示方法中应答系统执行的步骤,具体工作过程和有益效果可以参见图2所示实施例中的描述。
如图2所示的方法中,应答系统中还包括N个聊天机器人。可选的,在一些可能的实现方式中,该N个聊天机器人可以是运行在该计算机设备中的软件模块。用于实现该软件模块的指令保存在存储器302中。处理器301可以执行存储器302中保存的软件模块的指令,运行该N个聊天机器人,以获取该N个聊天机器人的反馈信息。
可选的,在另一些可能的实施例中,该N个聊天机器人可以是运行在其他计算机设备中的软件模块。在此情况下,处理器301可以利用收发器303向运行该N个聊天机器人的计算机设备发送信息(例如发送会话消息),并利用收发器303接收运行该N个聊天机器人的计算机设备发送的反馈信息。可以理解的是,运行该N个聊天机器人的计算机设备可以是一个也可以是多个。
本申请实施例中对计算机设备的具体实现并不限定,该计算机设备可以是服务器、工作站,也可以是个人电脑、笔记本电脑等。
本申请实施例还提供一种芯片,该芯片包括收发单元和处理单元。其中,收发单元可以是输入输出电路、通信接口;处理单元为该芯片上集成的处理器或者微处理器或者集成电路。该芯片可以执行上述方法实施例中应答系统的方法。
本申请实施例还提供一种计算机可读存储介质,其上存储有指令,该指令被执行时执行上述方法实施例中应答系统的方法。
本申请实施例还提供一种包含指令的计算机程序产品,该指令被执行时执行上述方法实施例中应答系统的方法。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。

Claims (16)

1.一种确定聊天机器人的方法,其特征在于,所述方法由应答系统执行,所述应答系统中包括N个聊天机器人,所述N个聊天机器人中包括N1个第一类聊天机器人和N2个第二类聊天机器人,其中N1与N2的和为N,N1和N2为大于或等于1的正整数,所述第一类聊天机器人为类型为单轮聊天机器人STC的聊天机器人,所述第二类聊天机器人为类型为多轮聊天机器人MTC的聊天机器人,所述方法包括:
应答系统接收用户输入的第一会话消息,其中所述第一会话消息是所述应答系统与所述用户的进行第K轮会话时所述用户发送的信息,其中K为大于或等于2的正整数;
所述应答系统根据参考聊天机器人的类型,确定目标聊天机器人为所述参考聊天机器人或所述N个聊天机器人,其中所述参考聊天机器人为第K-1轮会话时为所述用户提供回复消息的聊天机器人;
所述应答系统将所述第一会话消息分发至所述目标聊天机器人;
所述应答系统根据所述目标聊天机器人提供的反馈信息,确定应答机器人,并将所述应答机器人提供的对应于所述第一会话消息的第一回复消息发送至所述用户。
2.如权利要求1所述的方法,其特征在于,所述应答系统根据参考聊天机器人的类型,确定目标聊天机器人为所述参考聊天机器人或所述N个聊天机器人,包括:
所述应答系统在确定所述参考聊天机器人的类型为STC的情况下,确定所述目标聊天机器人为所述N个聊天机器人;
所述应答系统在确定所述参考聊天机器人的类型为MTC且所述第K-1轮会话的场景未结束的情况下,确定所述目标聊天机器人为所述参考聊天机器人;或者
所述应答系统在确定所述参考聊天机器人的类型为MTC且所述第K-1轮会话的场景结束的情况下,确定所述目标机器人为所述N个聊天机器人。
3.如权利要求2所述的方法,其特征在于,在所述目标聊天机器人为所述N个类聊天机器人的情况下,所述N个聊天机器人提供的反馈信息包括N个第一匹配值,其中所述N个第一匹配值分别为所述N个第一类聊天机器人提供的,
所述应答系统根据所述目标聊天机器人提供的反馈信息,确定应答机器人,包括:
所述应答系统根据所述N个第一匹配值和N个权重值,确定N个修正匹配值,其中所述N个权重值分别为所述N个聊天机器人的权重值;
所述应答系统根据所述N个第一修正匹配值,确定所述应答机器人。
4.如权利要求2所述的方法,其特征在于,在所述目标聊天机器人为所述参考聊天机器人的情况下,所述参考聊天机器人提供的反馈信息包括第二匹配值,
所述应答系统根据所述目标聊天机器人提供的反馈信息,确定应答机器人,包括:
所述应答系统确定所述第二匹配值大于预设匹配阈值,确定所述应答机器人为所述参考聊天机器人;或者
所述应答系统确定所述第二匹配值小于或等于所述预设匹配阈值,根据所述目标聊天机器人提供的反馈信息和N-1聊天机器人提供的反馈信息,确定所述应答机器人,其中所述N-1聊天机器人为所述N个聊天机器人中除所述参考聊天机器人外全部聊天机器人。
5.如权利要求4所述的方法,其特征在于,所述N-1聊天机器人提供的反馈信息包括N-1个第三匹配值,其中所述第N-1个第三匹配值分别为所述N-1聊天机器人提供,
所述根据所述目标聊天机器人提供的反馈信息和N-1聊天机器人提供的反馈信息,确定所述应答机器人,包括:
根据所述N-1个第三匹配值和N-1个权重值,确定N-1个修正匹配值,其中所述第N-1个权重值分别为所述N-1聊天机器人的权重值;
根据所述第二匹配值和所述N-1个修正匹配值,确定所述应答机器人。
6.如权利要求1至5中任一项所述的方法,其特征在于,所述方法还包括:
所述应答系统更新所述N个聊天机器人中的每个聊天机器人的权重值。
7.如权利要求6所述的方法,其特征在于,所述应答系统更新所述N个聊天机器人中的每个聊天机器人的权重值,包括:根据以下公式更新所述N个聊天机器人中的第n个聊天机器人的权重值:
Figure FDA0002050688650000021
其中
Figure FDA0002050688650000022
表示更新后的第n个聊天机器人的权重值,a表示学习速率参数,
Figure FDA0002050688650000023
更新前的第n个聊天机器人的权重值,pri (k)表示在第K轮会话中确定的会话转移权重。
8.如权利要求1至7中任一项所述的方法,其特征在于,所述方法还包括:
所述应答系统在与所述用户进行第一轮会话之前,根据所述用户的属性,确定所述N个聊天机器人中的每个聊天机器人的权重值。
9.一种应答系统,其特征在于,所述应答系统中包括N个聊天机器人,所述N个聊天机器人中包括N1个第一类聊天机器人和N2个第二类聊天机器人,其中N1与N2的和为N,N1和N2为大于或等于1的正整数,所述第一类聊天机器人为类型为单轮聊天机器人STC的聊天机器人,所述第二类聊天机器人为类型为多轮聊天机器人MTC的聊天机器人,所述应答系统还包括:
输入输出模块,用于接收用户输入的第一会话消息,其中所述第一会话消息是所述应答系统与所述用户的进行第K轮会话时所述用户发送的信息,其中K为大于或等于2的正整数;
处理模块,用于根据参考聊天机器人的类型,确定目标聊天机器人为所述参考聊天机器人或所述N个聊天机器人,其中所述参考聊天机器人为第K-1轮会话时为所述用户提供回复消息的聊天机器人;
所述处理模块,还用于将所述第一会话消息分发至所述目标聊天机器人;
所述处理模块,还用于根据所述目标聊天机器人提供的反馈信息,确定应答机器人;
所述输入输出模块,还用于将所述应答机器人提供的对应于所述第一会话消息的第一回复消息发送至所述用户。
10.如权利要求9所述的应答系统,其特征在于,所述处理模块,具体用于在确定所述参考聊天机器人的类型为STC的情况下,确定所述目标聊天机器人为所述N个聊天机器人;
在确定所述参考聊天机器人的类型为MTC且所述第K-1轮会话的场景未结束的情况下,确定所述目标聊天机器人为所述参考聊天机器人;或者
在确定所述参考聊天机器人的类型为MTC且所述第K-1轮会话的场景结束的情况下,确定所述目标机器人为所述N个聊天机器人。
11.如权利要求10所述的应答系统,其特征在于,在所述目标聊天机器人为所述N个类聊天机器人的情况下,所述N个聊天机器人提供的反馈信息包括N个第一匹配值,其中所述N个第一匹配值分别为所述N个第一类聊天机器人提供的,
所述处理模块,具体用于根据所述N个第一匹配值和N个权重值,确定N个修正匹配值,其中所述N个权重值分别为所述N个聊天机器人的权重值;
根据所述N个第一修正匹配值,确定所述应答机器人。
12.如权利要求10所述的应答系统,其特征在于,在所述目标聊天机器人为所述参考聊天机器人的情况下,所述参考聊天机器人提供的反馈信息包括第二匹配值,
所述处理模块,具体用于确定所述第二匹配值大于预设匹配阈值,确定所述应答机器人为所述参考聊天机器人;或者
确定所述第二匹配值小于或等于所述预设匹配阈值,根据所述目标聊天机器人提供的反馈信息和N-1聊天机器人提供的反馈信息,确定所述应答机器人,其中所述N-1聊天机器人为所述N个聊天机器人中除所述参考聊天机器人外全部聊天机器人。
13.如权利要求12所述的应答系统,其特征在于,所述N-1聊天机器人提供的反馈信息包括N-1个第三匹配值,其中所述第N-1个第三匹配值分别为所述N-1聊天机器人提供,
所述处理模块,具体用于根据所述N-1个第三匹配值和N-1个权重值,确定N-1个修正匹配值,其中所述第N-1个权重值分别为所述N-1聊天机器人的权重值;
根据所述第二匹配值和所述N-1个修正匹配值,确定所述应答机器人。
14.如权利要求9至13中任一项所述的应答系统,其特征在于,所述处理模块,还用于更新所述N个聊天机器人中的每个聊天机器人的权重值。
15.如权利要求14所述的应答系统,其特征在于,所述处理模块,具体用于根据以下公式更新所述N个聊天机器人中的第n个聊天机器人的权重值:
Figure FDA0002050688650000031
其中
Figure FDA0002050688650000032
表示更新后的第n个聊天机器人的权重值,a表示学习速率参数,
Figure FDA0002050688650000033
更新前的第n个聊天机器人的权重值,pri (k)表示在第K轮会话中确定的会话转移权重。
16.如权利要求9至15中任一项所述的应答系统,其特征在于,所述处理模块,还用于在与所述用户进行第一轮会话之前,根据所述用户的属性,确定所述N个聊天机器人中的每个聊天机器人的权重值。
CN201910373104.XA 2019-05-06 2019-05-06 确定聊天机器人的方法和应答系统 Active CN111901220B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910373104.XA CN111901220B (zh) 2019-05-06 2019-05-06 确定聊天机器人的方法和应答系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910373104.XA CN111901220B (zh) 2019-05-06 2019-05-06 确定聊天机器人的方法和应答系统

Publications (2)

Publication Number Publication Date
CN111901220A true CN111901220A (zh) 2020-11-06
CN111901220B CN111901220B (zh) 2021-12-03

Family

ID=73169527

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910373104.XA Active CN111901220B (zh) 2019-05-06 2019-05-06 确定聊天机器人的方法和应答系统

Country Status (1)

Country Link
CN (1) CN111901220B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113452598A (zh) * 2021-04-14 2021-09-28 阿里巴巴新加坡控股有限公司 数据处理方法及计算机程序产品
CN114227698A (zh) * 2022-01-27 2022-03-25 上海擎朗智能科技有限公司 一种机器人的控制方法、装置、设备及存储介质

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101076060A (zh) * 2007-03-30 2007-11-21 腾讯科技(深圳)有限公司 一种聊天机器人系统及自动聊天方法
CN107193978A (zh) * 2017-05-26 2017-09-22 武汉泰迪智慧科技有限公司 一种基于深度学习的多轮自动聊天对话方法及系统
US20180004729A1 (en) * 2016-06-29 2018-01-04 Shenzhen Gowild Robotics Co., Ltd. State machine based context-sensitive system for managing multi-round dialog
CN108319599A (zh) * 2017-01-17 2018-07-24 华为技术有限公司 一种人机对话的方法和装置
US10078661B1 (en) * 2017-05-10 2018-09-18 International Business Machines Corporation Relevance model for session search
CN109033223A (zh) * 2018-06-29 2018-12-18 北京百度网讯科技有限公司 用于跨类型对话的方法、装置、设备以及计算机可读存储介质
CN109086329A (zh) * 2018-06-29 2018-12-25 出门问问信息科技有限公司 基于话题关键词引导的进行多轮对话方法及装置

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101076060A (zh) * 2007-03-30 2007-11-21 腾讯科技(深圳)有限公司 一种聊天机器人系统及自动聊天方法
US20180004729A1 (en) * 2016-06-29 2018-01-04 Shenzhen Gowild Robotics Co., Ltd. State machine based context-sensitive system for managing multi-round dialog
CN108319599A (zh) * 2017-01-17 2018-07-24 华为技术有限公司 一种人机对话的方法和装置
US10078661B1 (en) * 2017-05-10 2018-09-18 International Business Machines Corporation Relevance model for session search
CN107193978A (zh) * 2017-05-26 2017-09-22 武汉泰迪智慧科技有限公司 一种基于深度学习的多轮自动聊天对话方法及系统
CN109033223A (zh) * 2018-06-29 2018-12-18 北京百度网讯科技有限公司 用于跨类型对话的方法、装置、设备以及计算机可读存储介质
CN109086329A (zh) * 2018-06-29 2018-12-25 出门问问信息科技有限公司 基于话题关键词引导的进行多轮对话方法及装置

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113452598A (zh) * 2021-04-14 2021-09-28 阿里巴巴新加坡控股有限公司 数据处理方法及计算机程序产品
CN113452598B (zh) * 2021-04-14 2022-10-28 阿里巴巴新加坡控股有限公司 数据处理方法
CN114227698A (zh) * 2022-01-27 2022-03-25 上海擎朗智能科技有限公司 一种机器人的控制方法、装置、设备及存储介质
CN114227698B (zh) * 2022-01-27 2024-04-26 上海擎朗智能科技有限公司 一种机器人的控制方法、装置、设备及存储介质

Also Published As

Publication number Publication date
CN111901220B (zh) 2021-12-03

Similar Documents

Publication Publication Date Title
CN108319599B (zh) 一种人机对话的方法和装置
KR102047010B1 (ko) 중계 챗봇을 이용하여 인스턴트 메시징 서비스를 제공하는 서버, 단말 및 방법
CN108156317B (zh) 通话语音控制方法、装置及存储介质和移动终端
JP7383803B2 (ja) 不均一モデルタイプおよびアーキテクチャを使用した連合学習
CN109413480A (zh) 画面处理方法、装置、终端及存储介质
KR101999780B1 (ko) 가상 챗봇을 이용하여 인스턴트 메시징 서비스를 제공하는 서버, 단말 및 방법
CN107995370B (zh) 通话控制方法、装置及存储介质和移动终端
US10992594B2 (en) Optimization of network resources
WO2019019649A1 (zh) 投资组合产品的生成方法、装置、存储介质和计算机设备
CN103326929B (zh) 一种消息传输方法和装置
CN111901220B (zh) 确定聊天机器人的方法和应答系统
JP2016505893A (ja) 音声入力を実現する方法および装置
US20210056350A1 (en) Feature dictionary for bandwidth enhancement
CN112948885B (zh) 实现隐私保护的多方协同更新模型的方法、装置及系统
JP2022545981A (ja) ヒューマンマシン対話処理方法
CN112185362A (zh) 针对用户个性化服务的语音处理方法及装置
CN113270104A (zh) 语音的人工智能处理方法及系统
KR20220150198A (ko) Bi-LSTM 기반의 선호도 예측 모델을 이용한 결혼 정보 매칭 방법 및 장치
CN113890795A (zh) 大规模mimo信道估计模型的构建方法、装置及介质
CN111177182B (zh) 数据查询方法和装置、存储介质和电子设备
US20180008895A1 (en) Video game processing program, and video game processing system
CN110442698B (zh) 对话内容生成方法及系统
CN109616103B (zh) 声学模型的训练方法、装置及存储介质
WO2022143505A1 (zh) 群组类型识别方法、装置、计算机设备及介质
CN112820302B (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