买专利卖专利找龙图腾,真高效! 查专利查商标用IPTOP,全免费!专利年费监控用IP管家,真方便!
申请/专利权人:微软技术许可有限责任公司
摘要:本公开提供了用于智能自动聊天的方法。通过使用第一人工智能实体的第一身份执行与用户的对话。在该对话中从该用户接收消息。对于该消息和其他人工智能实体的触发内容之间的匹配率进行评分。基于该匹配率从该其他人工智能实体中选择第二人工智能实体。通过从该第一人工智能实体的该第一身份切换到该第二人工智能实体的第二身份,使用该第二人工智能实体的该第二身份执行与该用户的对话。
主权项:1.一种用于智能自动聊天的方法,包括:通过在第一人工智能实体的用户界面中使用所述第一人工智能实体的第一身份执行与用户的对话;在所述对话中从所述用户接收消息;对所述消息和其他人工智能实体的触发内容之间的匹配率进行评分;基于所述匹配率从所述其他人工智能实体中选择第二人工智能实体;以及通过从在所述第一人工智能实体的所述用户界面中的所述第一人工智能实体的所述第一身份切换到在所述第一人工智能实体的所述用户界面中的所述第二人工智能实体的第二身份,使用所述第二人工智能实体的所述第二身份执行与所述用户的对话,其中,通过使用所述第二人工智能实体的所述第二身份执行与所述用户的对话包括:由所述第一人工智能实体从所述用户接收消息;在所述第一人工智能实体处,通过使用生成模块生成针对所述消息的响应,其中,所述生成模块模拟所述第二人工智能实体;以及通过使用所述第二人工智能实体的所述第二身份,将来自所述第一人工智能实体的所述响应发送到所述用户,其中,通过使用消息-响应对训练所述生成模块,其中,所述方法进一步包括:从所述消息-响应对获得所述第二人工智能实体的话题和情绪数据;基于所述消息-响应对中的响应训练语言模型,其中,所述语言模型生成所述第二人工智能实体的说话风格数据,其中,通过使用所述消息-响应对、所述第二人工智能实体的所述话题和情绪数据以及所述第二人工智能实体的所述说话风格数据,训练所述生成模块。
全文数据:用于智能自动聊天的方法与装置背景技术人工智能AI对话聊天程序越来越受欢迎。通过这些对话聊天程序,也被称作聊天机器人chatbots,用户可以与虚拟实体进行对话。聊天机器人正在成为许多在线服务的入口,例如电子商务、旅行协助、诸如餐馆、医院、商店等领域的基于位置的服务,等等。下载各种聊天机器人并在不同的应用场景下使用它们,对于用户来说是比较困难的。发明内容以下提供本发明内容以介绍将在下文具体实施方式中进一步描述的一些概念。本发明内容不旨在标识所要求保护的主题的关键特征或者必要特征,也不旨在用于限制所要求保护的主题的范围。本公开的实施例提供了一种用于智能自动聊天的方法。通过使用第一人工智能实体的第一身份执行与用户的对话。在该对话中从该用户接收消息。对该消息和其他人工智能实体的触发内容之间的匹配率进行评分。基于该匹配率从该其他人工智能实体中选择第二人工智能实体。通过从该第一人工智能实体的该第一身份切换到该第二人工智能实体的第二身份,使用该第二人工智能实体的该第二身份执行与该用户的对话。应该理解,上述一个或多个方面包括在下文充分描述且在权利要求书中特别指出的特征。以下描述和附图详细陈述了所述一个或多个方面的某些说明性的特征。这些特征仅表示利用各方面原理的各种方式,而本公开旨在涵盖所有此类方面以及其等效物。附图说明以下将结合附图来描述所公开的各个方面,这些附图是用来说明而不是限制所公开的各个方面。图1示出了根据一个实施例的能够实现所描述的技术的示例性环境。图2示出了根据一个实施例的应用聊天机器人的示例性系统。图3示出了根据一个实施例的示例性用户界面UI。图4示出了根据一个实施例的聊天机器人之间的数据共享的示例性分层结构层。图5示出了根据一个实施例的用户和聊天机器人之间的示例性框架。图6示出了根据一个实施例的示例性对话流。图7示出了根据一个实施例的用户和聊天机器人之间的示例性框架。图8示出了根据一个实施例的示例性对话流。图9示出了根据一个实施例的用户和聊天机器人之间的示例性框架。图10示出了根据一个实施例的示例性对话流。图11示出了根据一个实施例的用于收集查询列表和响应列表的示例性过程。图12示出了根据一个实施例的用于获得话题-情绪数据和说话风格数据的示例性过程。图12A示出了根据一个实施例的用于获得话题-情绪元组的示例性过程。图13示出了根据一个实施例的用于针对查询生成响应的示例性过程。图14示出了根据一个实施例的用于针对查询生成响应的示例性过程。图15示出了根据一个实施例的用于训练响应生成模型的示例性过程。图16示出了根据一个实施例的用于对生成的响应分类的示例性过程。图17示出了根据一个实施例的用于自动智能聊天的示例性过程。图18示出了根据一个实施例的用于自动智能聊天的示例性过程。图19示出了根据一个实施例的用于自动智能聊天的示例性装置。图20示出了根据一个实施例的示例性计算系统。具体实施方式以下将结合若干示例性实施方式来阐述本公开。应该理解,阐述这些实施方式仅仅是为了使本领域技术人员能够更好地理解并且从而实施本公开的实施例,而不代表对本公开的范围的任何限制。图1示出了根据一个实施例的能够实现所描述的技术的示例性环境。在示例性环境100中,网络110用于将终端设备120、应用服务器130和聊天机器人服务器140、150、160互连在一起。网络110可以是能够将网络实体互连在一起的任何类型的网络。网络110可以是单个的网络或者是各种网络的组合。从覆盖范围方面来说,网络110可以是局域网LAN、广域网WAN等。从承载媒介方面来说,网络110可以是有线网络、无线网络等。从数据交换技术方面来说,网络110可以是电路交换网络、分组交换网络等。终端设备120可以是能够进行连接到网络110、通过网络110访问服务器或网站、处理数据或信号等操作的任何类型的计算设备。例如,终端设备120可以是台式计算机、膝上型计算机、平板电脑、智能电话等。尽管在图1中仅示出了一个终端设备120,但是应该理解,不同数量的终端设备可能连接到网络110。终端设备120可以包括可为用户提供聊天服务的聊天机器人客户端122。在一些实现中,终端设备120处的聊天机器人客户端122可以是与由聊天机器人服务器140提供的聊天机器人服务相对应的独立客户端应用。在另一些实现中,终端设备120处的聊天机器人客户端122可以在第三方应用中实现,如第三方即时消息IM应用。举例来说,第三方IM消息包括LINETM、MSNTM、ICQTM、SKYPETM、QQTM、WeChatTM等。聊天机器人客户端122与聊天机器人服务器140通信。例如,聊天机器人客户端122将用户输入的消息发送到聊天机器人服务器140,并且从聊天机器人服务器140接收与该消息相关联的响应。聊天机器人客户端122和聊天机器人服务器140可统称为聊天机器人。由于通常情况下用户和聊天机器人之间的对话是以查询-响应的方式进行的,所以用户输入的消息通常被称为查询,聊天机器人输出的答复通常被称为响应。查询-响应对被记录为用户日志数据。应该理解,在一些实现中,在不与聊天机器人服务器140进行交互的情况下,聊天机器人客户端122也可以本地生成针对玩家输入的查询的响应。应用124在聊天机器人和用户之间的对话期间被激活。例如,应用124可与触发词相关联。当用户想要在该对话期间启动应用124时,用户可以输入该触发词。在接收到该触发词之后,聊天机器人可以在该对话期间激活该应用。在一些实现中,应用124可以在应用服务器130处实现,应用服务器130可以是第三方应用服务器。例如,在应用124在该对话期间是活动的同时,来自用户的查询经由聊天机器人被发送到应用服务器130,来自应用服务器130的响应经由聊天机器人被发送到该用户。在另一些实现中,应用124可以在聊天机器人服务器140处实现,在这种情况下,应用模块142可以在聊天机器人服务器140处实现。由聊天机器人服务供应商提供的应用和或由第三方应用供应商提供的应用可以在应用模块142处实现。聊天机器人可以调用在应用模块142处的应用,以便在对话期间激活该应用。应该理解,与该聊天机器人服务相关联的应用124也可以被称为特征、功能、小应用之类的名称,其用于在与用户的机器对话期间满足用户的相对独立的需求。除了聊天机器人140之外,在系统100中可以有各种聊天机器人,例如聊天机器人150、160等。聊天机器人150、160等可以是领域专用的聊天机器人,其提供各种服务,例如电子商务、旅行协助、诸如餐馆、医院、商店等领域的基于位置的服务,等等。用户可以在用户的终端设备上安装这些领域专用聊天机器人150、160的聊天机器人客户端,并且通过使用相应的聊天机器人客户端获得服务。然而,手动地管理这些领域专用聊天机器人,对于用户来说将是耗时且困难的,特别是当存在大量可用的领域专用聊天机器人时。在本公开的一个实现中,聊天机器人140通常是一般聊天机器人充当统一的平台,以管理或集成各种聊天机器人150、160等通常是领域专用聊天机器人,以便通过该统一的平台为该用户提供各种服务。应该理解,图1中所示的所有网络实体均是示例性的,并且根据具体的应用需求,环境100中还可能包含任何其他网络实体。图2示出了根据一个实施例的示例性聊天机器人系统。系统200包括用户界面UI210。UI210可以在聊天机器人客户端122处实现,其提供用于用户和该聊天机器人之间进行交互的聊天窗口。由该用户通过用户界面210输入的查询被传送到查询队列232,查询队列232临时存储用户的查询。用户的查询可以是各种形式,包括文本、声音、图像、视频等。核心处理模块220可以将查询队列232中的消息或查询作为其输入。在一些实现中,可以以先进先出的方式处理或响应队列232中的查询。核心处理模块220可以调用应用程序接口API模块240中的处理单元来处理各种形式的消息。API模块240可以包括文本处理单元242、语音处理单元244、图像处理单元246等。对于文本消息,文本处理单元242可以对该文本消息执行文本理解,并且核心处理模块220可以进一步确定文本响应。对于语音消息,语音处理单元244可以对该语音消息执行语音到文本转换以获得文本,文本处理单元242可以对所获得的文本执行文本理解,并且核心处理模块220可以进一步确定文本响应。如果确定要以语音的形式提供响应,则语音处理单元244可以对该文本响应执行文本到语音转换以生成相应的语音响应。对于图像消息,图像处理单元246可以对该图像消息执行图像识别以生成相应的文本,并且核心处理模块220可以进一步确定文本响应。例如,当接收到来自用户的一副狗的图像时,AI聊天系统可以确定狗的种类和颜色,并进一步给出若干评论,例如“多么可爱的德国牧羊犬!你一定非常喜欢它”。在某些情况下,图像处理单元246也可以用于基于该文本响应获得图像响应。此外,尽管未在图2中示出,API模块240可以包括任何其他处理单元。例如,API模块240可以包括视频处理单元,用于与核心处理模块220合作以处理视频消息并确定响应。再例如,API模块240可以包括用于支持基于位置的服务的基于位置的处理单元。索引数据库250可以包括多个索引项目。索引数据库250中的索引项目可以包括纯聊天索引集合252和问答对索引集合254,其可被核心处理模块220检索作为响应。问答对索引集合254中的索引项目是问答对的形式,并且该问答对索引集合254可以包括与诸如应用124的应用相关联的问答对。纯聊天索引集合252中的索引项目是为用户和聊天机器人之间的闲聊而准备的,并且可以是也可以不是问答对的形式。应当理解,问答对这个术语也可以被称为查询-响应对或任何其他合适的术语。以“玲奈,你多大了”为例,通过该纯聊天索引集合,核心处理模块220可以确定响应“高中二年级”。索引数据库250中的索引项目还可以包括应用索引256和聊天机器人索引258,其可由聊天机器人检索模块260使用以确定是否向该用户推荐另一个聊天机器人。在一个实现中,可以在聊天机器人索引258中提供其他聊天机器人诸如聊天机器人150、160的触发内容,并且基于该用户输入的消息与该聊天机器人150、160的触发内容之间的匹配率,聊天机器人检索模块260可以识别聊天机器人150、160中的一个聊天机器人是该用户所需要的。然后,聊天机器人通信模块280可以与所识别的聊天机器人通信,以向该用户提供所识别的聊天机器人的服务。在另一个实现中,可以在聊天机器人200或140处建立聊天机器人模拟模块270,以模拟诸如聊天机器人150、160的其他聊天机器人。在这种情况下,该聊天机器人模拟功能可以实现为应用124,并且可以在应用索引256中提供诸如聊天机器人150、160的其他聊天机器人的触发内容。基于该用户输入的消息与应用索引256中的该聊天机器人150、160的触发内容之间的匹配率,聊天机器人检索模块260可以识别聊天机器人150、160中的一个聊天机器人是该用户所需要的。然后,聊天机器人模拟模块270可以模拟所识别的聊天机器人的角色向该用户提供所识别的聊天机器人的服务。应该理解,尽管描述了针对上述两种情况,分别在应用索引256和聊天机器人索引258中提供了该聊天机器人的触发内容,但是这两种情况下,该聊天机器人的该触发内容都可以被提供在一个索引中,其可以是应用索引,或者可以是聊天机器人索引,或者可以是具有另一个名称的索引。本公开不限于该索引的名称以及如何分配该聊天机器人的该触发内容。可以将由核心处理模块220确定的响应提供给响应队列或响应高速缓存234。响应队列或响应高速缓存234中的响应可被进一步传送到用户界面210,以便该响应可以以合适的顺序呈现给用户。图3示出了UI210的示例。聊天窗口320显示在计算设备300上。聊天窗口320包括呈现区域322、控制区域324和输入区域326。呈现区域322呈现在用户和聊天机器人之间的对话中的查询和响应,图标310代表聊天机器人。控制区域324包括用于用户执行消息输入设置的多个虚拟按钮。例如,通过控制区域324,用户可以进行语音输入、附加图像文件、选择表情符号emojisymbols以及创建当前屏幕的快捷方式等。输入区域326用于用户输入消息。例如,用户可以通过输入区域326键入文本。控制区域324和输入区域326可统称为输入单元。用户也可以通过该输入单元与AI聊天机器人进行语音通话或视频对话。例如,在如图3所示的UI中,用户输入消息“玲奈,你多大了”作为查询,聊天机器人输出消息“高中二年级”作为响应。类似地,用户输入消息“玲奈,你吃早餐了吗”作为查询,聊天机器人输出消息“吃了,你呢”作为响应。在这里,玲奈是该AI聊天机器人的名字,AI聊天机器人也可以被称为AI聊天系统。图4示出了聊天机器人之间的通信的示例性分层结构层。示出了聊天机器人之间的四个通信层,即从深层共享到浅层共享的平台共享410、数据共享420、特征共享430和基于聊天的共享440。当两个聊天机器人完全共享相同的平台时,他们可以执行平台共享410,例如索引、排序生成模型、用户日志管理系统,等等。这个共享层用于基于类似的数据资源和机器学习模型建立聊天机器人的变体。两个聊天机器人可以限于数据共享420。该数据包括索引、用户日志数据和其他类型数据中的一部分。例如,对于一般纯聊天聊天机器人和领域专用的航班预订聊天机器人,如果可以与该一般聊天机器人共享航班预订相关数据,则可以基于该共享数据,在该一般聊天机器人中实现该航班预订功能和其他相关功能,如航班检索、航班转机等。两个聊天机器人可以限于特征共享430。例如,航班预订聊天机器人可以拥有许多功能,诸如航班预订、酒店预订、呼叫出租车等。该术语特征是指由聊天机器人如该航班预定聊天机器人实现的诸如应用124的应用。在特征共享层430,只可以在两个聊天机器人之间共享一个或多个特征的功能。在层410、420或430聊天机器人之间的通信要求聊天机器人彼此了解,以便允许在这些层上聊天机器人之间的相对深层共享。在基于聊天的共享层440,两个聊天机器人只能通过如所示的聊天共享他们的信息。也就是说,第一聊天机器人可以与第二聊天机器人进行对话,就像用户与该第二聊天机器人进行对话一样。通过这种方式,该第二聊天机器人不必知道该第一聊天机器人的存在。因此,该第一聊天机器人可以基于基于聊天的共享广泛地并入各种可用的第二聊天机器人的服务,而不限于彼此了解的两个聊天机器人。图5示出了根据一个实施例的用于通过一般聊天机器人向用户提供各种领域专用聊天机器人的服务的示例性框架。在示例性框架500中,用户510可以通过智能自动聊天与聊天机器人A520进行对话。图2中所示的聊天机器人检索模块260被实现为聊天机器人A处的学习排序LTR模型522。LTR模型522检索与该用户的特定消费意图或者情绪连接需求相匹配的可用的和最佳的聊天机器人。在一个实现中,LTR模型522对从该用户接收的消息和其他人工智能实体530诸如聊天机器人B532、C534、D536、E538等的触发内容之间的匹配率进行评分。基于该匹配率,LTR模型522选择其他人工智能实体530中的一个人工智能实体,以向该用户提供所选择的人工智能实体的服务。在图5中所示的示例性框架中,为了向该用户提供所选择的人工智能实体诸如聊天机器人B的服务,聊天机器人A建立与聊天机器人B的对话。有一些方法可以用于聊天机器人A建立与聊天机器人B的对话。例如,该聊天机器人A可以向该聊天机器人B预先注册为该聊天机器人B的用户。作为另一示例,该聊天机器人A可以通过该聊天机器人B的网络API发送查询并接收响应,其中通常提供网络API以以网络应用的方式实现该聊天机器人B。该聊天机器人A在该聊天机器人A和该用户之间的对话中从该用户接收查询,并在该聊天机器人A和该聊天机器人B之间的对话中将该查询转发给该聊天机器人B。然后,该聊天机器人A在该聊天机器人A和该聊天机器人B之间的对话中从该聊天机器人B接收相应的响应,并在该聊天机器人A和该用户之间的对话中将该响应转发给该用户。在经由该聊天机器人A向该用户提供该聊天机器人B的服务的这个过程中,可以向该用户呈现该聊天机器人B的身份,以指示其是正在与该用户聊天的该聊天机器人B。然而,该聊天机器人B不必知道用户510的存在,并且该聊天机器人B可以只是知道该聊天机器人A的存在作为其用户。这对于该聊天机器人A作为统一的平台检索现有的聊天机器人以为该用户提供特定的AI服务是有利的,并且对于独立于该聊天机器人A开发聊天机器人530也是有利的。图6示出了根据一个实施例的框架500下的示例性对话流。该对话流可以在如图3中所示的UI320中实现,为了清楚起见,在图6中仅示出了呈现区域322。界面600右侧的人形图标表示诸如用户510的用户,界面600左侧的年轻女孩形状的图标表示聊天机器人A的身份,界面600左侧的火车形状的图标表示所选择的领域专用聊天机器人诸如聊天机器人B的身份。聊天机器人的身份也可以被称为该聊天机器人的角色或人物。如图6所示,该聊天机器人A通过使用自己的身份与该用户进行对话。当从该用户接收到查询“我想去旅行”时,LTR模型522识别火车聊天机器人B与该用户的查询相匹配,并且可能是该用户需要的。因此,该聊天机器人A向该用户推荐该火车聊天机器人B,例如,该聊天机器人A输出响应“另外,我能向您介绍“火车聊天机器人”来帮您吗?他非常了解交通,一定会有助于您的旅行”,向该用户推荐该火车聊天机器人B。通过使用梯度提升决策树GBDT基于用户的当前查询来排序可用的聊天机器人,可以实现LTR模型522。例如,该当前用户查询可以是“我想去旅行”,如图6所示。该当前用户查询的类似示例可以是“我想去某个地方旅行”,“暑假到了,我想去游览一些遥远的地方”,等等。每个聊天机器人都有自己的触发内容,其可以包括该聊天机器人的文本描述、标题和定制的触发词列表。可以在聊天机器人索引258和或应用索引256中提供该触发内容。然后,通过使用GBDT排序算法,LTR模型522对该用户的查询和该聊天机器人的该触发内容之间的匹配率进行评分。在一个实现中,该GBDT排序算法可以使用的特征可以是候选聊天机器人的肯定的用户反馈的数量。以该火车聊天机器人为例,在该火车聊天机器人和该用户之间的对话结束后,获得用户反馈如所示出的“是的,相当棒”,并且通过情感分析SA模型将其识别为肯定、否定或中立的态度。在一个实现中,该GBDT排序算法可以使用的特征可以是来自该用户的查询和候选聊天机器人的该触发内容之间的词语级的编辑距离。在一个实现中,该GBDT排序算法可以使用的特征可以是来自该用户的该查询和候选聊天机器人的该触发内容之间的字符级的编辑距离。该特征对于基于亚洲语言如中文和日文的相似度计算特别有利。在一个实现中,该GBDT排序算法可以使用的特征可以是该查询和候选聊天机器人的该触发内容之间的累积词到向量word2vec相似度分数。通过使用以下等式1和2,可以实现该累积的词到向量word2vec相似度分数。相似度1=∑查询中的wword2vecw,vx1其中,w是该查询中的词语,vx是该候选聊天机器人的该触发内容中的词语,并且其使得word2vecw,v成为在该触发内容中的所有词语v中的最大值。相似度2=∑触发内容中的vword2vecwx,v2其中,v是该候选聊天机器人的该触发器内容中的词语,wx是该查询中的词语,并且其使得word2vecw,v成为在该查询中的所有词语w中的最大值。在一个实现中,在通过使用等式1和2计算累积词到向量word2vec相似度之前,可以使用高频短语表预处理该查询和或触发内容。例如,可以基于该高频短语表,将若干个高频词或字符预先组合为一个词或短语,并将该预先组合的词或短语作为等式1或2中的单个词w或v。例如,可以将三个词“NewYorkCity纽约市”预先组合为一个词或短语“New_York_City纽_约_市”。在一个实现中,该GBDT排序算法可以使用的特征可以是该查询和该候选聊天机器人的该触发内容之间的BM25分数。给定查询Q,其包含关键词q1,……,qn,文档即候选聊天机器人的触发内容或触发词列表D的BM25分数被给定为:其中,fqi,D是文档D中的词qi的术语频率,如果词qi在文档D中出现nn=1次,则fqi,D=n,否则,fqi,D=0。|D|是一个文档D中的词的数量;Avgdl是文档集合中的|D|的平均文档长度;k1和b是自由参数,通常情况下,例如k1=1.2,b=0.75;IDFqi是查询词qi的逆文档频率IDF权重。IDFqi,D=logN|Dx中包含qi的D|,其中N是语料库或集合Dx中的文档的总数,即N=|Dx|,|Dx中包含qi的D|是出现术语qi的文档的数量。在一个实现中,该GBDT排序算法可以使用的特征可以是候选聊天机器人的货币竞价。例如,聊天机器人开发者可以对特殊的触发词竞价以便有助于在一般聊天机器人中触发其聊天机器人。通过使用至少一些上述特征,LTR模型522可以对该当前查询和该候选聊天机器人的匹配率进行评分,并且可以基于该匹配率为该用户选择该候选聊天机器人中的至少一个。例如,可以向该用户推荐具有最高匹配分数的聊天机器人。在图6所示的示例中,由通用聊天机器人A向该用户推荐该火车聊天机器人。在从该用户收到肯定答复例如,如图6所示的“好啊,请介绍给我”之后,可以通过使用该火车聊天机器人的身份执行与该用户的对话。在图5所示的框架中,该聊天机器人A可以在该聊天机器人A和该聊天机器人B之间的对话中向该火车聊天机器人B发送关于诸如“箱根”和“夏威夷”的旅行目的地的交通信息的查询,并且可以从该聊天机器人B接收到响应,诸如“嗨,亲爱的朋友,我已收到了您的请求,以下是针对您的旅行的详细交通信息[详细信息]”以及“还有其他方面能帮到您吗?”。该聊天机器人A通过使用该聊天机器人B的身份在该聊天机器人A和该用户之间的对话中将该聊天机器人B的该响应转发给该用户。可以以某种方式来实现在该对话中的聊天机器人身份的切换。作为示例,该聊天机器人A可以准备指示该聊天机器人B的身份的图标,并且在通过使用该聊天机器人B的身份与用户进行对话时,用指示该聊天机器人B的身份的图标替换指示该聊天机器人A的身份的图标。作为另一个示例,指示该聊天机器人B的身份的图标可以作为响应的一部分,或者与来自该聊天机器人B的响应一起被发送到该聊天机器人A,并且可以代替该聊天机器人A的图标呈现在该对话中。通过使用该聊天机器人B的身份与该用户进行的对话即经由该聊天机器人A在该用户和该聊天机器人B之间的对话继续进行,直到该用户或者该聊天机器人B结束该对话,例如用户输入“火车看起来不错,谢谢。再见”或者该聊天机器人B输入“非常感谢。下次再见”指示他们之间的对话的结束。基于来自该用户的查询和或来自该聊天机器人B的响应,该聊天机器人A可以识别该聊天机器人B和该用户之间的对话的结束,并且通过使用该聊天机器人A的身份返回到与该用户的对话。该聊天机器人A可以发送关于该聊天机器人B的用户体验的问题,例如“您觉得火车聊天机器人怎么样?我想听到您的反馈”,如图所示。在从该用户接收到答复例如“是的,相当棒”之后,该聊天机器人A可以对该答复执行情感分析,以将其识别为肯定或否定或中立的用户反馈。并且该用户反馈可以用作触发该聊天机器人B的特征,如前面所讨论的。图7示出了根据一个实施例的用于经由一般聊天机器人向用户提供各种领域专用聊天机器人的服务的示例性框架。在该示例性框架700中,通过智能自动聊天,用户710可以与聊天机器人A720进行对话。聊天机器人A720包括LTR模型722,其通过与LTR模型522相同的方式实现。在一个实现中,LTR模型722对从用户710接收的消息和聊天机器人730诸如聊天机器人B732、C734、D736、E738等的触发内容之间的匹配率进行评分。基于该匹配率,LTR模型722选择聊天机器人730中的一个,以通过使用所选择的聊天机器人如聊天机器人C734的身份向该用户提供所选择的聊天机器人的服务。在图7中所示的示例性框架中,为了向该用户提供所选择的聊天机器人C的服务,该聊天机器人A协助在用户710和聊天机器人C734之间建立对话。有一些方法可以用于该聊天机器人A在该用户与该聊天机器人C之间建立对话。例如,该聊天机器人A可以发送请求,请求通过使用该用户的识别信息激活该聊天机器人C与该用户之间的对话,然后通过该聊天机器人C与该用户之间的直接通信路径740在他们之间建立新的对话。作为另一个示例,该聊天机器人C可以要求该用户在有权与该聊天机器人C聊天之前需要添加或接受该聊天机器人C为朋友。该聊天机器人A可以向该用户提供该聊天机器人C的好友添加选项,并且在该用户添加该聊天机器人C为好友之后,在未来使用聊天机器人C的实例中,该聊天机器人A可以自动地激活该聊天机器人C与该用户之间的通信740。图8示出了根据一个实施例的框架700下的示例性对话流。该对话流可以在如图3所示的UI320中实现,为清楚起见,图8中仅示出了呈现区域322。界面800A或800B右侧的人形图标表示用户,例如用户510,界面800A左侧的年轻女孩形状图标表示聊天机器人A的身份,界面800B左侧的小女孩形状图标表示所选择的领域专用聊天机器人例如聊天机器人C的身份。如在界面800A中所示,该聊天机器人A通过使用其自己的身份执行与该用户的对话。当从该用户接收到查询“你知道新电影“摔跤吧,爸爸”吗”时,LTR模型722识别电影聊天机器人C与该用户的查询相匹配,并且可能是该用户需要的。因此,该聊天机器人A向该用户推荐电影聊天机器人C,例如,该聊天机器人A输出响应“另外,我能向您介绍“电影女孩”吗?她非常了解电影”,以便为该用户推荐该电影聊天机器人C。在从该用户接收到肯定答复之后,例如界面800A中所示的“好啊,请介绍给我”,通过使用该电影聊天机器人C的身份,可以执行与该用户的对话。具体地,除了界面800A以外,还可以出现呈现该用户与该电影聊天机器人C之间的对话的界面800B。界面800B可以是弹出的窗口,用于该电影聊天机器人C直接与该用户进行对话。在图8的界面800B中示出了该电影聊天机器人C与该用户之间的对话中的详细的消息流。当该电影聊天机器人C与该用户之间的对话结束时,该聊天机器人A与该用户之间的对话可以继续。作为一个示例,该聊天机器人A可以监控该聊天机器人C与该用户之间的对话,并且基于消息,诸如来自该用户的“谢谢,再见”和或来自该聊天机器人C的“再见,请享受好时光”,可以识别他们的对话的结束,然后,该聊天机器人A可以自动地继续其与该用户的对话。作为另一个示例,该用户可以手动地关闭界面800B或激活界面800A,该聊天机器人A可以接收指示关闭界面800B或者激活界面800A的信号。该聊天机器人A可以将该信号作为结束与该聊天机器人C的对话的用户意图,并且因此在界面800A继续其与该用户的对话。该聊天机器人A可以发送关于该聊天机器人C的用户体验的问题,例如,“您觉得电影女孩怎么样?我想听到您的反馈”,如图所示。在从该用户接收到答复例如“是的,相当棒”之后,该聊天机器人A可以对该答复执行情感分析,以将其识别为肯定或否定或中立的用户反馈。并且该用户反馈可以用作触发该聊天机器人C的特征,如前面所讨论的。图9示出了根据一个实施例的用于经由一般聊天机器人向用户提供各种领域专用聊天机器人的服务的示例性框架。在该示例性框架900中,通过智能自动聊天,用户910可以与聊天机器人A920进行对话。聊天机器人A920包括LTR模型922,其通过与LTR模型522相同的方式实现。聊天机器人A920包括聊天机器人模拟模块,例如聊天机器人模拟模块F924和G926。在聊天机器人A920处实现聊天机器人模拟模块F924和G926以模拟现有的聊天机器人F’和G’。在一个实现中,LTR模型922对从用户910接收到的消息和聊天机器人诸如聊天机器人F’、G’等的触发内容之间的匹配率进行评分。基于该匹配率,LTR模型922选择聊天机器人中的一个,以通过使用所选择的聊天机器人如聊天机器人F’的身份向该用户提供所选择的聊天机器人的服务。在图9所示的示例性框架中,为了向该用户提供所选择的聊天机器人F’的服务,该聊天机器人A激活聊天机器人模拟模块F924以便通过与聊天机器人F’相同的方式为该用户生成响应。图10示出了根据一个实施例的框架900下的示例性对话流。该对话流可以在如图3所示的UI320中实现,为清楚起见,图10中仅示出了呈现区域322。界面1000右侧的人形图标表示用户,例如用户910,界面1000左侧的年轻女孩形状图标表示聊天机器人A的身份,界面1000左侧的与哆啦A梦重叠的年轻女孩形状图标表示所选择的领域专用聊天机器人的身份,如哆啦A梦聊天机器人F’。如在界面1000中所示,该聊天机器人A通过使用其自己的身份执行与该用户的对话。当从该用户接收到查询“我想和哆啦A梦说话”时,基于该用户的查询和模块F的触发内容,LTR模型922识别聊天机器人模拟模块F与该用户的查询相匹配。因此,该聊天机器人A向该用户推荐该聊天机器人模拟模块或功能F,例如,该聊天机器人A输出响应“真的吗?!玲奈可以扮演哆啦A梦的角色。你想和玲奈风格的哆啦A梦说话吗!”,以为该用户推荐该聊天机器人模拟功能。在从该用户接收到肯定答复之后,例如如界面1000中所示的“好啊,请介绍给我”,通过使用哆啦A梦聊天机器人F’的身份,可以进行与该用户的对话。如图所示,在通过使用哆啦A梦聊天机器人F’的身份与该用户的对话中,呈现该哆啦A梦聊天机器人F’的指示符。具体地,哆啦A梦聊天机器人F’的身份指示符与该聊天机器人A的身份指示符重叠。应该理解,可以存在其他合适的方式用于呈现哆啦A梦聊天机器人F’的身份,例如,用哆啦A梦聊天机器人F’的身份指示符替换该聊天机器人A的身份指示符,如在图6中示出的方式。也可以使用该两个聊天机器人的两个图标的叠加来代替图6中所示的火车图标。在图10的界面1000中示出了通过使用该哆啦A梦聊天机器人模拟模块F进行的与该用户的对话中的详细的消息流。当该模拟的哆啦A梦聊天机器人F与该用户之间的对话结束时,该聊天机器人A可以发送关于该模拟的哆啦A梦聊天机器人F的用户体验的问题,例如,“嗨,玲奈回来了。您觉得与哆啦A梦聊天怎么样?我想听到您的反馈”,如图所示。在从该用户接收到答复例如“是的,相当棒”之后,该聊天机器人A可以对该答复执行情感分析,以将其识别为肯定或否定或中立的用户反馈。并且该用户反馈可以被LTR模型922用作用于触发该模拟的聊天机器人F的特征,如前面所讨论的。如图10所示,聊天机器人模拟模块F924可以模拟现有的哆啦A梦聊天机器人F’的说话风格。在一个实现中,该聊天机器人模拟模块可以通过深度强化学习来实现,可以基于聊天机器人之间的基于聊天的数据共享来执行深度强化学习。例如,该聊天机器人A可以学习与幻想人物相关的聊天机器人诸如哆啦A梦、米老鼠等的知识,然后该聊天机器人A可以作为所学习的聊天机器人与该用户进行交互。图11示出了根据一个实施例的用于收集目标聊天机器人的查询列表的示例性过程。为了根据基于聊天的数据共享向目标聊天机器人学习,可以准备针对该目标聊天机器人的查询列表,并且可以通过与该目标聊天机器人的对话针对该查询列表获得目标聊天机器人的响应。可以从该查询列表和该响应列表中挖掘该目标聊天机器人的知识。基于该目标聊天机器人的信息如它的标题、描述、触发词列表1110,过程1100开始。如前面所讨论的,标题、描述、触发词列表可被用作该目标聊天机器人的触发内容256或258,或仅使用触发词列表作为该目标聊天机器人的触发内容。在一个实现中,该目标聊天机器人的信息可以从其网站通常该网站上有该聊天机器人的介绍获得以及从诸如维基百科的知识网站获得。在一个实现中,该目标聊天机器人的信息可以通过来自其开发者的馈送获得。在1112,可以对该目标聊天机器人的信息1110执行关键词短语提取,以获得关键词或短语。可以通过使用现有的文本处理技术诸如句子分割和词分割、词性POS标记、名词短语提取、命名实体识别NER、谓词-论元解析等来实现关键词短语提取。例如,对于句子“哆啦A梦从22世纪穿越时空回来帮助一个名为野比大雄的少年”,可以提取出示例性关键词“哆啦A梦”、“野比大雄”、“少年”、“22世纪”。应该理解,这仅仅是说明性示例,并且提取结果可以是多种多样的。在1114,可以基于所提取的词短语执行词短语的扩展,以获得它们的同义词。在一个实现中,可以执行基于词到向量word2vec的词短语扩展,以获得所提取的词短语的同义词。然后,收集所提取的词短语和它们的同义词作为种子词库1116。在1118,可以基于种子词库1116执行网络搜索。例如,搜索引擎可以基于种子词库1116中的词或短语执行网络搜索,并且获取有关的网络数据1120。在1124,种子词库1116可用于过滤网络数据1120和该聊天机器人A或可能的其它聊天机器人的可用的日志数据,以获得查询列表1126。日志数据可以是索引254,可以是纯聊天索引252,可以是诸如对的用户日志数据。在一个实现中,可以基于文本字符串匹配执行查询过滤1124。例如,从网络数据1120和或聊天机器人日志数据1122过滤出包含词库1116的词短语的问句,并将其用作查询列表1126。在1128,将查询列表发送到目标聊天机器人。例如,该聊天机器人A可以在与该目标聊天机器人的对话中将查询列表发送到该目标聊天机器人。该目标聊天机器人生成针对该查询的响应,并且由此,可以从该目标聊天机器人获得针对该查询列表1126的响应列表1130。该目标聊天机器人的对列表是通过图11的过程获得的,并且可以被用作训练数据以训练聊天机器人模拟模块。可以周期性地执行图11的过程,以便获得更新的训练数据。应该理解,即使对于相同的查询列表1126,由该目标聊天机器人在不同的时间生成的响应列表1130可能会不同,因为该目标本身聊天机器人本身也可以被更新。图12示出了根据一个实施例的用于获得该目标聊天机器人的情绪数据和说话风格数据的示例性过程。为了学习目标聊天机器人的特点,可以利用该目标聊天机器人的说话风格如常用的词和该目标聊天机器人的多数话题的情绪来训练该聊天机器人模拟模块。在1214,从查询列表1210和该目标聊天机器人的响应列表1212检测话题。图12A示出了示例性过程,用于从示例性对,即,“大雄喜欢学习吗?,大雄不喜欢学习。但是,你应该向静香学习,她学习很努力”1230,检测话题。可以首先对查询和响应对执行预处理。该预处理可以包括句子分割和词分割、词性POS标注、名词短语提取、命名实体识别NER。句子分割利用诸如句号、问号、感叹号等标点符号将文档分成一组句子。词分割通过在词以及标点符号之间添加,例如空格符号,来将词以及标点符号分开。词性POS标记用于在句子中为词添加POS标签。然后,给定带有POS标签的序列或句子,可以使用启发式规则列表执行名词短语提取过程以辨认出名词短语。然后,NER过程可以用于识别该序列或句子中的命名实体,该命名实体可以是人的名字、位置、组织和描述时间戳或时间周期的短语。可以通过使用现有技术来实现在预处理阶段采用的句子词分割、POS标注、名词短语提取、NER。然而,应该理解,在该预处理阶段这些过程的组合可以有效地从句子中提取必要的信息,以便构建话题知识图谱。然后,可以对该句子进行代词和普通名词的指代消解。以数据1230为例,可以对数据“大雄喜欢学习吗?”,“大雄不喜欢学习。但是,你应该向静香学习,她学习很努力”进行预处理,以获得文本“大雄喜欢学习吗?”,“大雄不喜欢学习。”和“但是,你应该向静香学习,静香学习很努力。”可以训练被称为指代消解模型的机器学习模型以计算针对一个给定代词诸如“他”、“她”等或者一个给定普通名词诸如“导演”、“总统”等的候选命名实体的概率。假设wi是一个命名实体,如该句子中的“静香”,而wj是另一个名词短语,如该句子中的“她”,该指代消解模型的任务是确定wi和wj是否具有相似的含义或指向同一实体。在一个实现中,该指代消解模型中使用以下特征。wi和wj是否出现在同一个句子中;wi是代词吗?字符级的wi和wj之间的编辑距离;wi和wj共享同一个POS标签吗?当一个词是代词,另一个词是否是一个名字?通过使用这些特征,可以计算该两个词之间的相似度分数,并且可以获得指示该两个词是否指相同实体的二元结果。应该理解,更多或更少的特征可以被用于该指代消解模型。如图12A的1232所示,该指代消解模型可以识别代词“她”与“静香”指向相同的实体,并且因此可以用该命名实体“静香”替换该代词“她”。然后,可以对该文本序列或句子进行句法和语义解析过程,以获得该句子的句法依赖结构和语义角色标注。图12A中的1234示出了该句子的句法依赖结构和语义角色标注的一个示例,其中,由圆弧表示该结构和标注。可以从该解析的句子中提取话题知识。以在1234示出的句子为例,从在1234示出的句子的文本中获得话题“大雄学习”和“静香学习”。此外,也可以获得与该话题“大雄学习”和“静香学习”相关的意见“不喜欢”、“努力”。在1216,可以对该句子执行情感分析SA以获得该话题的情绪分类。该SA分数指示该目标聊天机器人针对该话题的情绪。该SA分数的取值范围可以是[0,1],其中0.5指示中性,0指示否定,而1指示肯定。应该理解,该SA分数不限于三类,并且可能会有更多的类以指示更精细的情绪分类。在1218,收集检测到的话题和相应的情绪分类作为情绪数据,其可以是如在1236示出的元组的形式,即,从该示例性的对1230检测到的和。在一个可选的实现中,该意见信息可以被包括在情绪数据中,其可以是元组的形式,如和。在1220,响应列表1212可用于训练说话风格模型。可以通过使用基于递归神经网络的语言模型RNNLM来实现该说话风格模型,该RNNLM将句子作为输入,生成概率作为输出,并且因此通过基于概率的方式描述该目标聊天机器人的说话风格。可以通过使用现有技术实现该RNNLM,而将来改进的RNNLM也可以适用于本公开。例如,通过该目标聊天机器人频繁使用的词可以反映该目标聊天机器人的说话风格,因此通过RNNLM计算的句子中的词的概率可以代表该句子的说话风格,并且相应地,该句子的该概率其可以是该句子中的词的概率的组合也可以代表该句子的说话风格。在一个实现中,对于具有3个词“a”,“b”,“c”的句子“abc”,由RNNLM获得的该句子的概率可以是Pabc=Pa*Pb|a*Pc|a,b,其指示该句子的说话风格。上述提到的两种类型的知识,即在1218收集到的话题-情绪数据以及可以通过所训练的RNNLM获得的说话风格数据,可以被用于基于深度学习的生成模型以针对用户的查询生成响应。图13示出了根据一个实施例的用于针对查询生成响应的示例性过程1300。对于查询1310,RNNLM1312将该查询作为输入,并生成针对该查询的说话风格数据1314。从元组集合1316获得与查询1310相关的话题-情绪数据1318。例如,该查询是“大雄喜欢学习吗?”,从该元组集合1316可以获得相关的元组。然后,可以将查询1310、该查询的说话风格数据1320和该查询的话题-情绪数据1318作为响应生成模型1320的输入,响应生成模型1320可以输出针对查询1310的响应1322。在一个实现中,响应生成模型1320可以采用编码器-解码器算法针对查询自动生成响应。应该理解,尽管RNNLM1312和元组集合1316被示出为是与响应生成模型1320分开的单独的部件,但是RNNLM1312和元组集合1316也可以被认为是响应生成模型1320中的部分。图14示出了根据一个实施例的用于针对查询生成响应的示例性过程。对于给定的查询1310,通过将该查询映射到向量空间中,可以生成第一向量1410。可以采用递归神经网络RNN来执行句子编码以便将该查询映射到该向量空间。可以使用各种技术进行RNN句子编码,诸如长短期记忆LSTM、门控循环单元GRU等。在一个实现中,第一向量可以是n维向量,n的一个示例是100。该向量的元素可以是浮点数。可以针对给定的查询1310生成第二向量1412,以代表查询1310的说话风格。在一个实现中,通过RNNLM生成查询1310的概率,并且将该查询1310映射到第n-1维向量,然后通过将该n-1维向量中的n-1个元素和作为一个元素的该概率组合起来可以获得该n维第二向量1412。在另一个实现中,第二向量1412可被设定为一个诸如所有零的常数。可以针对给定的查询1310生成第三向量1414,以代表查询1310的话题-情绪。在一个实现中,将与该查询相关的话题词映射到n-1维向量,然后通过将该n-1维向量中的n-1个元素和该元组中的相应的情绪数据作为一个元素组合起来可以获得该n维第三向量1414。例如,对于与该查询相关的元组,将词语“大雄学习”映射到n-1维向量,其与代表“否定”的“0”组合以形成第三向量1414。在另一个实现中,对于三元组,将该话题和意见的词映射到n-1维向量,其与“情绪”元素结合以形成第三向量1414。将三个向量1410到1414组合以获得3n维向量1416,将其作为响应生成模型1418的输入以生成响应1420。应该理解,对于该生成模型的训练阶段和使用阶段来说,如在图13和图14中描述的该响应生成过程是相同的。图15示出了根据一个实施例的用于训练基于深度学习的响应生成模型的示例性过程。采用生成对抗网络GAN来训练该聊天机器人模拟模型或该响应生成模型。该GAN使用判别模型1520来指导生成模型1512的训练。将查询列表1510发送到响应生成模型1512和目标聊天机器人1516。响应生成模型1512包括RNNLM,元组集合和如图13中示出的响应生成模型1320。为了清楚起见,该三个部分未在图15中单独地示出。由响应生成模型1512生成第一响应列表1514,由目标聊天机器人1516生成第二响应列表1518。基于阈值设置,判别器1520将该第二列表中的响应归类为真,并将该第一列表中的响应归类为真或假。对于每次迭代,奖励1522或梯度的惩罚1522通过判别器被传回并且被向后传播到生成器1512。更新生成器和判别器的整个过程采用深度强化学习方式以及GAN网络的框架。经过多次迭代,可以将生成模型1512训练成准确遵循目标聊天机器人1516的功能或说话内容和风格,而判别器1520无法再做出准确的判断了。图16示出了根据一个实施例的用于将响应归类为真或假的示例性过程。在判别器1520,对于该目标聊天机器人生成的参考响应,生成代表该参考响应的第一向量1610、代表该参考响应的说话风格的第二向量1612、代表该参考响应的话题-情绪的第三向量1614。基于该参考响应、该RNNLM和该元组集合生成向量1610到1614与以上结合图14所讨论的基于该查询、该RNNLM和该元组集合生成向量1410到1414相似。将该三个向量1610到1614组合以获得向量1616。对于来自深度学习模型1512的所生成的响应,生成代表所生成的响应的第一向量1618、代表所生成的响应的说话风格的第二向量1620、代表所生成的响应的话题-情绪的第三向量1622。基于所生成的响应、该RNNLM和该元组集合生成向量1618到1622与以上结合图14所讨论的基于该查询、该RNNLM和该元组集合生成向量1410到1414相似,例外的是对于所生成的响应执行情感分析以识别其情绪类别,用于替换相关元组中的情绪元素。原因是所生成的响应可能属于与相关元组中的情绪元素不同的情绪类别。将该三个向量1618到1622组合以获得向量1624。在1626,比较组合的向量1624和1616以将所生成的响应归类为真或假。如果将所生成的响应归类为假响应,则判别器1520可以将基于向量1624和1616生成的奖励提供回到该生成模型,而基于该奖励可以更新该生成模型。在一个实现中,计算两个向量v11624和v21616的余弦距离cosv1,v2以评估它们的相似度。如果该余弦距离cosv1,v2或其非线性函数logcosv1,v2小于阈值,则将所生成的响应归类为真响应,否则将其归类为假响应。在一个实现中,该奖励可以被定义为奖励=logcosv1,v2,其被传播回到生成模型1512以更新生成模型1512。另一方面,判别器1520的目标函数是最大似然函数,例如,L=max奖励=maxlogcosv1,v2。在另一个实现中,针对与该参考响应和所生成的响应相对应的查询,计算组合向量1416。计算两个向量1624和1416的第一余弦距离以及两个向量1616和1416的第二余弦距离。如果该第一和第二余弦距离之间的绝对差小于阈值,则将所生成的响应归类为真响应,否则将其归类为假响应。图17示出了根据一个实施例的用于在统一平台上提供各种聊天机器人的服务的示例性过程。在1710,在统一平台上从用户接收查询。该统一平台是聊天机器人系统,并且可以被称为第一聊天机器人。在1712,基于在应用索引256中提供的模拟聊天机器人的触发内容计算该查询与该模拟聊天机器人之间的匹配分数。将由聊天机器人模拟模块270实现的该模拟聊天机器人作为该第一聊天机器人的应用进行管理,因此可以在应用索引256中提供其触发内容。在1714,基于该匹配分数确定模拟聊天机器人是否匹配。例如,如果模拟聊天机器人的匹配分数高于阈值,则该模拟聊天机器人与该查询相匹配。如果存在匹配的模拟聊天机器人,则该过程进行到1716,否则进行到1722。在1716,在与该用户的对话中,该第一聊天机器人将该匹配的模拟聊天机器人推荐给该用户。在1718,确定该用户的反馈是肯定的还是否定的。可以通过对来自该用户的消息执行情感分析来实现该确定步骤。如果该用户的反馈是肯定的,则该过程进行到1720,如果该用户的反馈是否定的,则进行到1722。在1720,该第一聊天机器人激活该匹配的模拟聊天机器人并且通过使用被模拟的聊天机器人的身份与该用户聊天。在1722,基于在聊天机器人索引258中所提供的该聊天机器人的触发内容,该第一聊天机器人计算该查询和聊天机器人之间的匹配分数。在1724,基于该匹配分数,确定聊天机器人是否匹配。例如,如果聊天机器人的匹配分数高于阈值,则该聊天机器人与该查询相匹配。如果存在匹配的聊天机器人,则该过程进行到1726,否则进行到1732。在1726,在与该用户的对话中,该第一聊天机器人将该匹配的聊天机器人推荐给该用户。在1728,确定该用户的反馈是肯定的还是否定的。可以通过对来自该用户的消息执行情感分析来实现该确定步骤。如果该用户的反馈是肯定的,则该过程进行到1730,如果该用户的反馈是否定的,则进行到1732。在1730,建立与该聊天机器人的通信,并且通过使用该匹配的聊天机器人的身份执行与该用户的对话。在一个实现中,该第一聊天机器人建立与该匹配的聊天机器人的通信,并且使用该匹配的聊天机器人的身份,通过在该用户和该匹配的聊天机器人之间转送消息,与该用户聊天,如图5和图6所述。在一个实现中,该第一聊天机器人协助建立在该匹配的聊天机器人与该用户之间的通信,以便使该匹配的聊天机器人能够通过使用其身份直接地与该用户聊天,如图7和图8所述。在1732,该第一聊天机器人与该用户进行纯聊天。应该理解,尽管描述了在1712,在应用索引256中提供该模拟聊天机器人的触发内容,但是也可以将该模拟聊天机器人作为实际的聊天机器人进行管理,并且因此,可以在聊天机器人索引258中提供它们的触发内容。应该理解,尽管在图17中描述了推荐模拟聊天机器人的步骤是在推荐实际聊天机器人的步骤之前进行的,但本公开不限于推荐步骤的该特定顺序。图18示出了根据一个实施例的用于智能自动聊天的示例性过程。在1810,通过使用第一人工智能实体的第一身份,执行与用户的对话。在1812,在该对话中从该用户接收消息。在1814,对该消息与其他人工智能实体的触发内容之间的匹配率进行评分。在1816,基于该匹配率,从该其他人工智能实体中选择第二人工智能实体。在1818,通过从该第一人工智能实体的该第一身份切换到该第二人工智能实体的第二身份,使用该第二人工智能实体的该第二身份执行与该用户的对话。在一个实现中,当该第二人工智能实体的该第二身份和该用户之间的对话结束时,从该第二人工智能实体的该第二身份切换回该第一人工智能实体的该第一身份。在一个实现中,在1818,在该第一人工智能实体和该第二人工智能实体之间建立对话或通信,经由该第一人工智能实体,将从该用户接收的消息传递给该第二人工智能实体,并且经由该第一人工智能实体,将从该第二人工智能实体接收的响应传递给该用户。在一个实现中,通过在该第一人工智能实体和该用户之间的对话中用该第二人工智能实体的身份指示符替换该第一人工智能实体的身份指示符,实现从该第一人工智能实体的该第一身份切换到该第二人工智能实体的该第二身份。在一个实现中,通过在该第一人工智能实体和该用户之间的对话中呈现该第二人工智能实体的该身份指示符,实现从该第一人工智能实体的该第一身份切换到该第二人工智能实体的该第二身份。例如,在该第一人工智能实体和该用户之间的对话中,与该第一人工智能实体的身份指示符一同呈现该第二人工智能实体的身份指示符。例如,在该第一人工智能实体和该用户之间的对话中,该第二人工智能实体的身份指示符可以重叠在该第一人工智能实体的身份指示符的上面。在一个实现中,通过在该第一人工智能实体与该用户之间的对话之外建立该第二人工智能实体和该用户之间的对话,实现通过使用该第二人工智能实体的第二身份执行与该用户的对话。在一个实现中,在1818,在该第一人工智能实体,通过使用生成模型针对该消息生成响应,其中,该生成模型模拟该第二人工智能实体,并且,通过使用该第二人工智能实体的第二身份,将该响应从第一人工智能实体发送到该用户。在一个实现中,将来自该用户的消息、针对该消息的该第二人工智能实体的说话风格数据、该消息的话题和情绪数据作为该生成模型的输入,基于该输入,针对该消息生成响应,作为该生成模型的输出。在一个实现中,通过使用消息-响应对训练该生成模型。通过向该第二人工智能实体发送消息列表并且从该第二人工智能实体接收响应列表,收集该消息-响应对。在一个实现中,通过基于该第二人工智能实体的描述数据生成关键词词库,并且基于该关键词词库过滤该第一人工智能实体的网络数据和或问题-答复对中的至少一个,收集该消息列表。在一个实现中,从该消息-响应对获得该第二人工智能实体的话题和情绪数据。基于该消息-响应对中的响应训练语言模型,其中,该语言模型生成该第二人工智能实体的说话风格数据。通过使用该消息-响应对、该第二人工智能实体的话题和情绪数据、以及该第二人工智能实体的说话风格数据训练该生成模型。在一个实现中,通过使用包括生成模型和判别模型的生成对抗网络GAN训练该生成模型。将代表该消息-响应对中的一个消息-响应对中的消息的向量、代表针对该消息的该第二人工智能实体的说话风格的向量、代表该消息的话题和情绪的向量组合成第一向量。基于该第一向量通过该生成模型生成针对该消息的响应。将代表该消息-响应对中的一个消息-响应对的参考响应的向量、代表关于该参考响应的该第二人工智能实体的说话风格的向量、代表该参考响应的话题和情绪的向量组合成第二向量。将代表所生成的响应的向量、代表关于所生成的响应的该第二人工智能实体的说话风格的向量、代表所生成的响应的话题和情绪的向量组合成第三向量。基于该第二向量和第三向量,通过该判别模型生成针对该生成模型的奖励。基于该奖励更新该生成模型。图19示出了根据一个实施例的用于自动智能聊天的示例性装置。装置1900包括交互模块1910和选择模块1920。交互模块1910通过使用第一人工智能实体的第一身份执行与用户的对话,并且在该对话中从该用户接收消息。该选择模块对该消息和其他人工智能实体的触发内容之间的匹配率进行评分,并且基于该匹配率从该其他人工智能实体中选择第二人工智能实体。该交互模块通过从该第一人工智能实体的该第一身份切换到该第二人工智能实体的第二身份,使用该第二人工智能实体的该第二身份执行与该用户的对话。在一个实现中,当该第二人工智能实体的第二身份和该用户之间的对话结束时,交互模块1910从该第二人工智能实体的第二身份切换回该第一人工智能实体的第一身份。在一个实现中,通过以下步骤,交互模块1910通过使用该第二人工智能实体的第二身份执行与该用户的该对话:在该第一人工智能实体和该第二人工智能实体之间建立对话;经由该第一人工智能实体,将从该用户接收的消息传递给该第二人工智能实体;并且经由该第一人工智能实体,将从该第二人工智能实体接收的响应传递给该用户。在一个实现中,通过以下步骤,交互模块1910从该第一人工智能实体的第一身份切换到该第二人工智能实体的第二身份:在该第一人工智能实体和该用户之间的该对话中,用该第二人工智能实体的身份指示符替换该第一人工智能实体的身份指示符;或者在该第一人工智能实体和该用户之间的该对话中,呈现该第二人工智能实体的身份指示符。在一个实现中,通过以下步骤,交互模块1910通过使用该第二人工智能实体的第二身份执行与该用户的该对话:在该第一人工智能实体与该用户之间的对话之外建立该第二人工智能实体和该用户之间的对话。在一个实现中,通过以下步骤,交互模块1910通过使用该第二人工智能实体的第二身份执行与该用户的对话:该第一人工智能实体从该用户接收消息;在该第一人工智能实体,通过使用生成模型针对该消息生成响应,其中,该生成模型模拟该第二人工智能实体;以及通过使用该第二人工智能实体的第二身份,将来自该第一人工智能实体的该响应发送到该用户。在一个实现中,通过以下步骤,该生成模型生成针对该消息的响应:将来自该用户的消息、针对该消息的该第二人工智能实体的说话风格数据、该消息的话题和情绪数据作为该生成模块的输入;以及基于该输入生成针对该消息的响应。应该理解,装置1900还可以包括被配置为用于执行根据以上结合图1-18所述的各实施例来执行任何操作的任何其它模块。图20示出根据一个实施例的示例性计算系统。系统2000可以包括一个或多个处理器2010。系统2000可以进一步包括与该一个或多个处理器2010连接的存储器2020。存储器2020可以存储计算机可执行指令,该计算机可执行指令在被执行时,使得该一个或多个处理器2010通过使用第一人工智能实体的第一身份执行与用户的对话;在该对话中从该用户接收消息;对该消息和其他人工智能实体的触发内容之间的匹配率进行评分;基于该匹配率从该其他人工智能实体中选择第二人工智能实体;以及通过从该第一人工智能实体的第一身份切换到该第二人工智能实体的第二身份,使用该第二人工智能实体的第二身份执行与该用户的对话。应该理解,该计算机可执行指令在被执行时,使得该一个或多个处理器2010执行根据以上结合图1-19所述的实施例的过程的任何操作。本公开的实施例可以在非易失性计算机可读介质中实现。该非易失性计算机可读介质可以包括指令,该指令被执行时使得一个或多个处理器执行根据上述实施例的过程的任何操作。应该理解,以上所描述的过程中的所有操作都仅仅是示例性的,本公开不仅限于该过程中的任何操作或者这些操作的执行顺序,并且应当涵盖与之具有相同或相似概念的所有其他等同物。还应该理解,以上所描述的装置中的所有模块可以以各种方式来实现。这些模块可被实现为硬件、软件、或两者的组合。此外,任何这些模块都可以在功能上进一步被划分为子模块或被组合在一起。结合各种装置和方法已经对处理器进行了描述。这些处理器可以使用电子硬件、计算机软件或其两者任意组合来实现。至于这样的处理器是实现为硬件还是软件,取决于特定的应用以及施加在系统上的整体设计约束。举例来说,本公开提供的处理器、处理器的任何部分、或处理器的任何组合可以利用微处理器、微控制器、数字信号处理器DSP、现场可编程门阵列FPGA、可编程逻辑设备PLD、状态机、门控逻辑、离散硬件电路、以及被配置成执行本公开所描述的各种功能的其他合适的处理组件来实现。本公开提供的处理器的功能、处理器的任何部分、或处理器的任何组合可以利用由微处理器、微控制器、DSP或其他合适的平台执行的软件来实现。软件应当被宽泛地解释成意指指令、指令集、代码、代码段、程序代码、程序、子程序、软件模块、应用、软件应用、软件包、例程、子例程、对象、执行线程、流程、功能等。该软件可驻留在计算机可读介质上。计算机可读介质可以包括,例如,诸如磁存储设备如硬盘,软盘,磁条、光盘、智能卡、闪存设备、随机存取存储器RAM、只读存储器ROM、可编程ROMPROM、可擦除PROMEPROM、电可擦除PROMEEPROM、寄存器、或可移动磁盘的存储器。尽管从本公开中的各个方面来说存储器被示为与处理器是分开的,但对于处理器来说,存储器可以在其内部例如,高速缓存或寄存器。提供以上描述是为了使任何本领域技术人员均能实践其中所描述的各个方面。对于这些方面的各种修改对于本领域技术人员是显而易见的,此处定义的一般原理可以适用于其他方面。因此,权利要求并非旨在被限定于以上所描述的各个方面。本公开描述的各个方面中包含的各要素的为本领域普通技术人员当前或今后所知的所有结构上和功能上的等效方案以引用的方式被明确添加在此,并且旨在被权利要求所涵盖。
权利要求:1.一种用于智能自动聊天的方法,包括:通过使用第一人工智能实体的第一身份执行与用户的对话;在所述对话中从所述用户接收消息;对所述消息和其他人工智能实体的触发内容之间的匹配率进行评分;基于所述匹配率从所述其他人工智能实体中选择第二人工智能实体;以及通过从所述第一人工智能实体的所述第一身份切换到所述第二人工智能实体的第二身份,使用所述第二人工智能实体的所述第二身份执行与所述用户的对话。2.根据权利要求1所述的方法,进一步包括:当所述第二人工智能实体的所述第二身份和所述用户之间的对话结束时,从所述第二人工智能实体的所述第二身份切换回所述第一人工智能实体的所述第一身份。3.根据权利要求1所述的方法,其中,通过使用所述第二人工智能实体的所述第二身份执行与所述用户的对话包括:在所述第一人工智能实体和所述第二人工智能实体之间建立对话;经由所述第一人工智能实体,将从所述用户接收到的消息传递给所述第二人工智能实体;以及经由所述第一人工智能实体,将从所述第二人工智能实体接收到的响应传递给所述用户。4.根据权利要求3所述的方法,其中,从所述第一人工智能实体的所述第一身份切换到所述第二人工智能实体的所述第二身份包括:在所述第一人工智能实体和所述用户之间的所述对话中,用所述第二人工智能实体的身份指示符替换所述第一人工智能实体的身份指示符;或者在所述第一人工智能实体和所述用户之间的所述对话中,呈现所述第二人工智能实体的所述身份指示符。5.根据权利要求1所述的方法,其中,通过使用所述第二人工智能实体的所述第二身份执行与所述用户的对话包括:在所述第一人工智能实体与所述用户之间的所述对话之外建立所述第二人工智能实体和所述用户之间的对话。6.根据权利要求1所述的方法,其中,通过使用所述第二人工智能实体的所述第二身份执行与所述用户的对话包括:由所述第一人工智能实体从所述用户接收消息;在所述第一人工智能实体处,通过使用生成模块生成针对所述消息的响应,其中,所述生成模块模拟所述第二人工智能实体;以及通过使用所述第二人工智能实体的所述第二身份,将来自所述第一人工智能实体的所述响应发送到所述用户。7.根据权利要求6所述的方法,其中,从所述第一人工智能实体的所述第一身份切换到所述第二人工智能实体的所述第二身份包括:在所述第一人工智能实体和所述用户之间的所述对话中,与所述第一人工智能实体的身份指示符一同呈现所述第二人工智能实体的身份指示符;或者在所述第一人工智能实体和所述用户之间的所述对话中,用所述第二人工智能实体的所述身份指示符替换所述第一人工智能实体的所述身份指示符。8.根据权利要求6所述的方法,其中,在所述第一人工智能实体处通过使用生成模块生成针对所述消息的响应包括:将来自所述用户的消息、针对所述消息的所述第二人工智能实体的说话风格数据、所述消息的话题和情绪数据作为所述生成模块的输入;以及基于所述输入生成针对所述消息的响应。9.根据权利要求8所述的方法,其中,通过使用消息-响应对训练所述生成模块,其中,通过将消息列表发送到所述第二人工智能实体并且从所述第二人工智能实体接收响应列表,收集所述消息-响应对。10.根据权利要求9所述的方法,进一步包括:从所述消息-响应对获得所述第二人工智能实体的话题和情绪数据;基于所述消息-响应对中的响应训练语言模型,其中,所述语言模型生成所述第二人工智能实体的说话风格数据,其中,通过使用所述消息-响应对、所述第二人工智能实体的所述话题和情绪数据以及所述第二人工智能实体的所述说话风格数据,训练所述生成模块。11.根据权利要求9所述的方法,其中,通过使用包括所述生成模块和判别模型的生成对抗网络GAN训练所述生成模块,并且所述方法包括:将代表所述消息-响应对中的一个消息-响应对中的消息的向量、代表针对所述消息的所述第二人工智能实体的说话风格的向量、代表所述消息的话题和情绪的向量组合成为第一向量;基于所述第一向量由所述生成模块生成针对所述消息的响应;将代表所述消息-响应对中的所述一个消息-响应对的参考响应的向量、代表关于所述参考响应的所述第二人工智能实体的说话风格的向量、代表所述参考响应的话题和情绪的向量组合成为第二向量;将代表所生成的响应的向量、代表关于所生成的响应的所述第二人工智能实体的说话风格的向量、代表所生成的响应的话题和情绪的向量组合成为第三向量;基于所述第二向量和所述第三向量生成奖励;以及基于所述奖励更新所述生成模块。12.一种用于智能自动聊天的装置,包括:交互模块,其用于通过使用第一人工智能实体的第一身份执行与用户的对话,并且在所述对话中从所述用户接收消息;以及选择模块,其用于对所述消息和其他人工智能实体的触发内容之间的匹配率进行评分,并且基于所述匹配率从所述其他人工智能实体中选择第二人工智能实体;所述交互模块进一步用于通过从所述第一人工智能实体的所述第一身份切换到所述第二人工智能实体的第二身份,使用所述第二人工智能实体的所述第二身份执行与所述用户的对话。13.根据权利要求12所述的装置,其中,所述交互模块进一步用于:当所述第二人工智能实体的所述第二身份和所述用户之间的对话结束时,从所述第二人工智能实体的所述第二身份切换回所述第一人工智能实体的所述第一身份。14.根据权利要求12所述的装置,其中,通过以下步骤,所述交互模块通过使用所述第二人工智能实体的所述第二身份执行与所述用户的所述对话:在所述第一人工智能实体和所述第二人工智能实体之间建立对话;经由所述第一人工智能实体,将从所述用户接收的消息传递给所述第二人工智能实体;以及经由所述第一人工智能实体,将从所述第二人工智能实体接收的响应传递给所述用户。15.根据权利要求14所述的装置,其中,通过以下步骤,所述交互模块从所述第一人工智能实体的所述第一身份切换到所述第二人工智能实体的所述第二身份:在所述第一人工智能实体和所述用户之间的所述对话中,用所述第二人工智能实体的身份指示符替换所述第一人工智能实体的身份指示符;或者在所述第一人工智能实体和所述用户之间的所述对话中,与所述第一人工智能实体的所述身份指示符一同呈现所述第二人工智能实体的所述身份指示符。16.根据权利要求12所述的装置,其中,通过以下步骤,所述交互模块通过使用所述第二人工智能实体的所述第二身份执行与所述用户的所述对话:在所述第一人工智能实体与所述用户之间的所述对话之外建立所述第二人工智能实体和所述用户之间的对话。17.根据权利要求12所述的装置,其中,通过以下步骤,所述交互模块通过使用所述第二人工智能实体的所述第二身份执行与所述用户的所述对话:在所述第一人工智能实体处,从所述用户接收消息;在所述第一人工智能实体处,通过使用生成模块生成针对所述消息的响应,其中,所述生成模块模拟所述第二人工智能实体;以及通过使用所述第二人工智能实体的所述第二身份,将来自所述第一人工智能实体的所述响应发送到所述用户。18.根据权利要求17所述的装置,其中,通过以下步骤,所述交互模块从所述第一人工智能实体的所述第一身份切换到所述第二人工智能实体的所述第二身份:在所述第一人工智能实体和所述用户之间的所述对话中,与所述第一人工智能实体的身份指示符一同呈现所述第二人工智能实体的身份指示符;或者在所述第一人工智能实体和所述用户之间的所述对话中,用所述第二人工智能实体的所述身份指示符替换所述第一人工智能实体的所述身份指示符。19.根据权利要求17所述的装置,其中,通过以下步骤,所述生成模块生成针对所述消息的响应:将来自所述用户的消息、针对所述消息的所述第二人工智能实体的说话风格数据、所述消息的话题和情绪数据作为所述生成模块的输入;以及基于所述输入生成针对所述消息的响应。20.一种计算机系统,包括:一个或多个处理器;以及存储器,其存储计算机可执行指令,所述计算机可执行指令被执行时,使得所述一个或多个处理器:通过使用第一人工智能实体的第一身份执行与用户的对话;在所述对话中从所述用户接收消息;对所述消息和其他人工智能实体的触发内容之间的匹配率进行评分;基于所述匹配率从所述其他人工智能实体中选择第二人工智能实体;以及通过从所述第一人工智能实体的所述第一身份切换到所述第二人工智能实体的第二身份,使用所述第二人工智能实体的所述第二身份执行与所述用户的对话。
百度查询: 微软技术许可有限责任公司 用于智能自动聊天的方法、装置和系统
免责声明
1、本报告根据公开、合法渠道获得相关数据和信息,力求客观、公正,但并不保证数据的最终完整性和准确性。
2、报告中的分析和结论仅反映本公司于发布本报告当日的职业理解,仅供参考使用,不能作为本公司承担任何法律责任的依据或者凭证。