生成用于响应于用户接口输入而呈现的输出,其中输入和/或输出包括聊天语言的制作方法

文档序号:17291037发布日期:2019-04-03 03:58阅读:309来源:国知局
生成用于响应于用户接口输入而呈现的输出,其中输入和/或输出包括聊天语言的制作方法

多个用户可以经由消息交换线程以文本方式彼此通信,所述消息交换线程可以使用各种技术诸如文本消息交换、在线聊天(例如,即时信使、因特网中继聊天等)、社交网络线程等来实现。许多用户将在经由消息交换线程与其它用户的各种通信中尤其在利用移动计算设备时利用所谓的“聊天语言(chatspeak)”。聊天语言可以采取各种形式,诸如初始化(例如,由多个单词的首字母组成的首字母缩写词和/或缩略词(例如,用于“laughoutloud”的lol))、从单词中移除字符(例如,用于“review”的“rvw”;用于“really”的“rlly”)、向单词添加字符(例如,用于“hello”的“hellooooooooo”、用于“yes”的“yeeesssss”)、使用可能不出现在单词中的一个或多个字符的单词的表示(例如,用于“see”的“c”、用于“thanks”的“thx”)。



技术实现要素:

本说明书的一些实施方式涉及将聊天语言翻译为规范化形式,其中聊天语言被包括在由用户经由计算设备的用户接口输入设备制定的自然语言输入—诸如由用户提供给自动化助理的自然语言输入中。自动化助理可以在确定响应于自然语言输入的回复内容时利用聊天语言的规范化形式,并且可以经由用户的计算设备的一个或多个用户接口输出设备将该回复内容呈现给用户。在许多实施方式中,包括聊天语言的自然语言输入可以由用户制定为用户、自动化助理和可选地一个或多个附加用户之间的消息交换线程的一部分。在那些实施方式中的一些中,可以将由自动化系统基于聊天语言的规范化形式生成的响应并入到消息交换线程中。例如,可以将响应插入到在用户的计算设备上操作的消息交换客户端的图形用户界面中显示的消息交换线程的转录中。

即使用户在其书面语言能力方面有限,例如因为他们是诵读困难者或者因为他们用他们不流利的语言交流,对由用户提供的输入中的聊天语言的翻译也可允许用户与诸如自动化助理的计算设备交互。换句话说,即使用户不能用正确的拼写和语法编写/键入查询计算设备也可确定输入。这对正在用不是高度语言学的语言接收输入的计算设备特别有用,其中英语和法语是此类语言的示例。

作为一个示例,可以利用本说明书的一些实施方式来将“cul8er”的自然语言输入翻译为“seeyoulater”的规范化形式,并且该规范化形式可以由自动化系统使用来确定作为诸如“seeyouthen”、“ok”等的适当“聊天响应”的回复内容。作为另一示例,可以利用一些实施方式来确定仅由“thx”构成的自然语言输入应该被翻译为规范化形式“thanks”以供由自动化助理使用,然而自动化助理在包括“thx”以及一个或多个某些词项的其它自然语言输入中使用规范化形式可能不是适当的。例如,在包括“thxcompany”的自然语言输入中,可以不将“thx”翻译为“thanks”。替代地,自动化系统可以利用“thx”来确定对“thxcompany”的适当响应,诸如包括与音频/视频公司thx有关的内容的“搜索响应”。

本说明书的一些实施方式附加地和/或可替选地致力于至少部分地基于基于由用户和/或由附加用户对聊天语言的过去使用而确定的“聊天语言量度”来提供包括聊天语言代替聊天语言的规范化形式的自然语言输出以用于呈现给用户。例如,可以存储用户的聊天语言翻译的过去实例,并且至少部分地基于那些实例的量(例如,基于原始计数、频率和/或其它与量有关的)来确定聊天语言量度。例如,在用户在提供给自动化助理的消息中一致地使用聊天语言的情况下,该用户的聊天语言量度可以指示该用户期望接收来自自动化助理的也包括聊天语言的响应,并且自动化助理可以提供包括聊天语言词项代替那些词项的规范化版本的至少一些响应。聊天语言量度可以是“一般”聊天语言量度或者适用于一个或多个具体聊天语言词项的组。例如,用户针对“thx”/“thanks”的聊天语言量度可以使自动化助理在对该用户的响应中用“thx”替换“thanks”,然而用户针对“gr8”/“great”的单独的聊天语言量度(或针对“gr8”/“great”的聊天语言量度的缺少)可以不使自动化助理在对该用户的回答中用“gr8”替换“great”。

在一些实施方式中,在确定是否在对给定用户的给定响应中并入聊天语言时利用的一个或多个聊天语言量度中的至少一个可以是特定于给定用户的量度。例如,可以至少部分地基于由该用户制定的消息中的聊天语言的实例诸如根据本文中描述的技术来辨识的聊天语言的实例确定它。在那些实施方式中的一些中,特定于用户的聊天语言量度可以特定于用户的一个或多个设备。例如,可以针对用户的移动计算设备为用户指派第一聊天语言量度并且可以为用户的“桌面”计算设备指派第二聊天语言量度。在一些实施方式中,在确定是否在对给定用户的给定响应中并入聊天语言时利用的一个或多个聊天语言量度中的至少一个可以基于多个用户的聊天语言实例。例如,它可以特定于一组用户,诸如具有共同的一个或多个属性(例如,地理区域、年龄范围)的用户和/或可以特定于所利用的计算设备的类型和/或所利用的消息交换客户端的类型(例如,在多个用户当中消息交换客户端a与客户端b相比可以具有更大的聊天语言频率)。

可以在各种场景中接收和处理用户的自然语言输入和/或可以在各种场景中生成由自动化系统生成的自然语言输出。例如,自然语言输入可以是由用户在与一个或多个其它用户的通信诸如经由聊天、sms和/或经由其它消息交换的通信期间提供的输入。作为另一示例,可以将自然语言输入提供给自动化助理,所述自动化助理经由一个或多个用户接口输入和输出设备与用户进行对话。例如,自动化助理可以被整个地或部分地集成在用户的计算设备(例如,移动电话、平板、只涉及自动化助理功能性的设备)中并且可以包括一个或多个用户接口输入设备(例如,麦克风、触摸屏)和一个或多个用户接口输出设备(例如,扬声器、显示屏幕)。另外,例如,自动化助理可以被整个地或部分地实现在与用户的客户端计算设备分开但是与之通信的一个或多个计算设备中。

在一些实施方式中,提供了由一个或多个处理器执行的方法,所述方法包括基于由用户中的一个或多个贡献给消息交换线程的多个消息来确定针对一个或多个用户的聊天语言量度。方法还包括接收由所述用户中的用户提交的自然语言输入作为至少用户与自动化助手之间的进行中的消息交换线程的一部分。自然语言输入由用户经由用户的计算设备的用户接口输入设备制定。方法还包括生成用于包括在自动化助理对自然语言输入的响应中的自然语言输出。生成自然语言输出包括基于聊天语言量度将一个或多个聊天语言词项并入到自然语言输出中。方法还包括将自动化助理的响应并入到消息交换线程中,其中响应包括具有一个或多个聊天语言词项的自然语言输出。

本文中公开的技术的此方法和其它实施方式可以各自可选地包括以下特征中的一个或多个。

在一些实施方式中,将响应并入到消息交换线程中包括将响应插入到在用户的计算设备上操作的消息交换客户端的图形用户界面中显示的消息交换线程的转录中。

在一些实施方式中,聊天语言量度特定于包括至少在自然语言输出中包括的聊天语言词项的一个或多个聊天语言词项的组,并且将一个或多个聊天语言词项并入到自然语言输出中基于聊天语言量度特定于包括聊天语言词项的组。

在一些实施方式中,将聊天语言词项并入到自然语言输出中包括:识别响应于自然语言输入的初始自然语言输出;确定初始自然语言输出的一个或多个给定词项映射到聊天语言词项;以及用聊天语言词项替换初始自然语言输出的给定词项。

在一些实施方式中,方法还包括确定针对一个或多个用户的附加聊天语言量度,以及生成自然语言输出包括基于聊天语言量度并且基于附加聊天语言量度将一个或多个聊天语言词项并入到自然语言输出中。在那些实施方式中的一些中,聊天语言量度特定于用户并且适用于多个聊天语言词项,包括未并入到自然语言输出中的一个或多个附加聊天语言词项。在那些实施方式的某个版本中,附加聊天语言量度不特定于用户并且特定于并入到自然语言输出中的聊天语言词项中的至少一个。

在一些实施方式中,聊天语言量度特定于用户。在那些实施方式中的一些中,消息交换线程包括至少用户与自动化助理之间的过去的自动化助理消息交换线程。在那些实施方式的一些版本中,确定聊天语言量度基于在消息中利用聊天语言的实例的计数并且方法还包括确定计数基于的实例中的一个。确定实例中的一个可以包括:在接收所述过去的自动化助理消息交换线程中的一个中的消息中的给定消息,给定消息由用户制定并且包括至少第一词项和第二词项;针对至少自然语言输入的第一词项识别第一词项的第一规范化;为自然语言输入生成候选替选输入,生成包括用第一规范化替换第一词项并且在候选替选输入中包括第二词项或第二词项的第二规范化;确定针对自然语言输入的第一分数;确定针对候选替选输入的第二分数;基于第一分数和第二分数选择候选替选输入;基于候选替选输入确定回复内容;将回复内容并入到过去的自动化助理消息交换线程中的一个中作为由自动化助理对自然语言输入的响应,其中,并入回复内容基于选择候选替选输入;以及基于选择候选替选输入存储实例中的一个的指示。在那些实施方式中的一些进一步版本中,确定针对自然语言输入的第一分数基于将至少第一词项和第二词项应用于语言模型并且确定针对候选替选输入的第二分数基于将至少第一规范化和第二词项或第二规范化应用于语言模型。在那些实施方式的更进一步版本中,聊天语言量度特定于用户并且特定于聊天语言词项;并且基于选择候选替选输入存储实例中的一个的指示还包括:存储指示与至少第一词项或第一规范化的关联。

在一些实施方式中,确定聊天语言量度基于在消息中利用聊天语言的实例的计数、在消息中使用的一个或多个聊天语言词项的质量、聊天语言词项的共性和/或聊天语言词项的使用的一致性。

在一些实施方式中,提供了由一个或多个处理器执行的方法,所述方法包括接收由用户提交的自然语言输入作为至少用户与自动化助理之间的消息交换线程的一部分。自然语言输入包括至少第一词项和第二词项,并且由用户经由用户的计算设备的用户接口输入设备制定。方法还包括:针对至少自然语言输入的第一词项识别第一词项的第一规范化;以及为自然语言输入生成候选替选输入。生成候选替选输入包括用第一规范化替换第一词项并且在候选替选输入中包括第二词项或第二词项的第二规范化。方法还包括:基于将至少第一词项和第二词项应用于语言模型来确定针对自然语言输入的第一分数;基于将至少第一规范化和第二词项或第二规范化应用于语言模型来确定针对候选替选输入的第二分数;基于第一分数和第二分数选择候选替选输入;基于候选替选输入确定回复内容;以及将回复内容并入到消息交换线程中作为由自动化助理对自然语言输入的响应。将回复内容并入到消息交换线程中基于选择候选替选输入。

本文中公开的技术的此方法和其它实施方式可以各自可选地包括以下特征中的一个或多个。

在一些实施方式中,将回复内容并入到消息交换线程中包括将回复内容插入到在用户的计算设备上操作的消息交换客户端的图形用户界面中显示的消息交换线程的转录中。

在一些实施方式中,方法还包括确定针对回复内容的回复内容分数并且进一步基于回复内容分数确定第一分数。在确定回复内容分数的那些实施方式中的一些中,回复内容是被映射到一个或多个输入参数的脚本化响应并且确定回复内容分数基于候选替选输入与输入参数中的至少一些的比较。在确定回复内容分数的那些实施方式中的一些中,回复内容基于响应于候选替选输入的一个或多个搜索结果并且确定回复内容分数基于搜索结果中的至少一个的分数或特性。在那些实施方式的一些版本中,确定回复内容分数基于搜索结果中的至少一个的特性指示搜索结果是某种类型的搜索结果。

在一些实施方式中,语言模型是n元组模型并且基于将至少第一词项和第二词项应用于语言模型来确定针对自然语言输入的第一分数包括将第一词项和第二词项两者应用于语言模型。

在一些实施方式中,方法还包括基于来自人类之间的消息交换线程的消息的规范化生成语言模型,其中,当那些聊天语言词项被利用为聊天语言时消息的规范化用规范化词项替换那些消息的聊天语言词项。

在一些实施方式中,基于候选替选输入确定回复内容包括基于候选替选输入搜索一个或多个回复资源数据库。

在一些实施方式中,提供了由一个或多个处理器执行的方法,所述方法包括接收由用户提交的自然语言输入作为至少用户与自动化助理之间的消息交换线程的一部分。方法还包括:针对至少自然语言输入的第一词项识别第一词项的第一规范化;以及为自然语言输入生成候选替选输入。生成候选替选输入包括在候选替选输入中包括第一规范化而不是第一词项。方法还包括:基于将至少第一词项应用于语言模型来确定针对自然语言输入的第一分数;基于将至少第一规范化应用于语言模型来确定针对候选替选输入的第二分数;基于第一分数和第二分数选择候选替选输入;基于候选替选输入确定回复内容;以及将回复内容并入到消息交换线程中作为由自动化助理对自然语言输入的响应。将回复内容并入到消息交换线程中基于选择候选替选输入。

此外,一些实施方式包括一个或多个计算设备的一个或多个处理器,其中一个或多个处理器可操作来执行存储在相关联的存储器中的指令,并且其中指令被配置成导致前述方法中的任一个的执行。一些实施方式还包括存储计算机指令的非暂时性计算机可读存储介质,所述计算机指令可由一个或多个处理器执行以执行前述方法中的任一个。

应该了解的是,在本文中更详细地描述的上述构思和附加构思的所有组合被设想为是本文中公开的主题的一部分。例如,在本公开内容的结尾处出现的要求保护的主题的所有组合被设想为是本文中公开的主题的一部分。

附图说明

图1是可以在其中实现本文中所公开的实施方式的示例环境的图。

图2图示接收包括聊天语言的自然语言输入、将聊天语言翻译为规范化形式、利用该规范化形式来生成响应于自然语言输入的回复内容并且提供该回复内容以用于作为对自然语言输入的响应而呈现的示例。

图3图示根据本文中描述的实施方式的示例客户端计算设备,其中显示屏幕显示在客户端计算设备的用户与自动化助理之间可能发生的对话的示例。

图4图示根据本文中描述的实施方式的示例客户端计算设备,其中显示屏幕显示在客户端计算设备的用户与自动化助理之间可能发生的对话的示例。

图5呈现图示接收包括聊天语言的自然语言输入、将聊天语言翻译为规范化形式、利用该规范化形式来生成响应于自然语言输入的回复内容并且提供该回复内容以用于作为对自然语言输入的响应而呈现的示例方法的流程图。

图6呈现图示确定至少一个用户的聊天语言量度、接收来自用户的自然语言输入、基于聊天语言量度和自然语言输入确定自然语言输出并且提供该自然语言输出以用于作为对自然语言输入的响应呈现给用户的示例方法的流程图。

图7图示计算设备的示例架构。

具体实施方式

用户可能期望在向各种非人类计算机系统提交请求时,诸如在与自动化助理的消息交换线程期间,利用聊天语言。例如,用户可能习惯于利用聊天语言和/或用户的计算设备的约束(例如,显示约束、用户接口输入设备约束)可以使得更期望利用聊天语言。然而,许多计算机系统可能无法辨识聊天语言,可能无法将聊天语言适当地解释为规范化形式,和/或即使输入不打算作为聊天语言也可以错误地将该输入解释为聊天语言。另外,许多计算机系统可能无法以聊天语言响应和/或可能无法基于由一个或多个用户在消息交换线程中对聊天语言的过去使用来以聊天语言响应。

本说明书的实施方式涉及将聊天语言翻译为规范化形式,其中聊天语言被包括在由用户经由计算设备的用户接口输入设备制定的自然语言输入——诸如由用户提供给自动化系统的自然语言输入中。自动化系统可以在确定响应于自然语言输入的回复内容时利用聊天语言的规范化形式,并且可以经由用户的计算设备的一个或多个用户接口输出设备将该回复内容呈现给用户。作为一个示例,可以利用本说明书的一些实施方式来将“cul8er”的自然语言输入翻译为“seeyoulater”的规范化形式,并且该规范化形式可以由自动化系统使用来确定作为诸如“seeyouthen”、“ok”等的适当的“聊天响应”的回复内容。

本说明书的一些实施方式附加地和/或可替选地涉及至少部分地基于基于由用户和/或由附加用户对聊天语言的过去使用而确定的至少一个聊天语言量度来提供包括聊天语言代替聊天语言的规范化形式的自然语言输出以用于呈现给用户。例如,可以存储用户的聊天语言翻译的过去实例并且基于那些实例的量(例如,基于原始计数、频率和/或其它与量有关的)确定聊天语言量度。例如,在用户在提供给自动化助理的消息中一致地使用聊天语言的情况,针对该用户的聊天语言量度可以指示该用户期望接收来自自动化助理的也包括聊天语言(或某些具体聊天语言词项)的响应,并且自动化助理可以提供包括聊天语言词项代替那些词项的规范化版本的响应。用于确定聊天语言量度的其它基础包括所使用的聊天语言词项的质量(例如,复杂性)、所使用的聊天语言词项的共性(例如,其他人通常的做法是将具体聊天语言取代规范化形式,诸如用于“laughoutloud”的“lol”)、由具体聊天语言的用户使用的一致性(例如,用户大多数时间使用具体聊天语言词项代替规范化形式)等。实际上,可以根据包括聊天语言的一般响应的这些属性的组合(加权的或其它的)和/或具体聊天语言词项在响应中的使用来确定聊天语言量度。

现在转向图1,图示了可以在其中实现本文中所公开的技术的示例环境。示例环境包括多个客户端计算设备1061-n和一个自动化助理120。尽管自动化助理120在图1中被图示与客户端计算设备1061-n分开,然而在一些实施方式中自动化助理120的全部或各方面可以由客户端计算设备1061-n中的一个或多个来实现。例如,客户端计算设备1061可以实现自动化助理120的一个实例或多个方面并且客户端计算设备106n也可以实现自动化助理120的那一个或多个方面的单独实例。在自动化助理120的一个或多个方面由远离客户端计算设备1061-n的一个或多个计算设备来实现的实施方式中,客户端计算设备1061-n和自动化助理120的那些方面可以经由诸如局域网(lan)和/或广域网(wan)(例如,因特网)的一个或多个网络进行通信。

客户端计算设备1061-n可以包括例如以下各项中的一个或多个:桌面计算设备、膝上型计算设备、平板计算设备、移动电话计算设备、用户的车辆的计算设备(例如,车载通信系统、车载娱乐系统、车载导航系统)、个人助理计算设备或用户的包括计算设备的可穿戴设备(例如,用户的具有计算设备的手表、用户的具有计算设备的眼镜、虚拟或增强现实计算设备。可以提供附加和/或替代客户端计算设备。在一些实施方式中,给定用户可以利用用户的共同地形成计算设备的协调“生态系统”的多个客户端计算设备来与自动化助理120进行通信。然而,为了简洁起见,本公开中描述的许多示例将集中于给定用户操作客户端计算设备1061-n中的单个客户端计算设备。

客户端计算设备1061-n中的每一个均可以操作各种不同的应用,诸如消息交换客户端1071-n中的对应一个。消息交换客户端1071-n可以以各种形式出现并且这些形式可以跨越客户端计算设备1061-n而变化和/或可以在客户端计算设备1061-n中的单个客户端计算设备上操作多个形式。在一些实施方式中,消息交换客户端1071-n中的一个或多个可以以短消息服务(“sms”)和/或多媒体消息服务(“mms”)客户端、在线聊天客户端(例如,即时信使、因特网中继聊天或“irc”等)、与社交网络相关联的消息传送应用、专用于与自动化助理120对话的个人助理消息传送服务等的形式出现。在一些实施方式中,可以经由通过客户端计算设备106的web浏览器(未描绘)或其它应用所呈现的网页或其它资源来实现消息交换客户端1071-n中的一个或多个。

如在本文中更详细地描述的,自动化助理120经由一个或多个客户端设备1061-n的用户接口输入和输出设备从一个或多个用户接收输入和/或向一个或多个用户提供输出。在一些实施方式中,本文中描述的用户接口输入被显式地导向自动化助理120。例如,消息交换客户端1071-n中的一个可以是专用于与自动化助理120的会话的个人助理消息传送服务并且经由该个人助理消息传送服务提供的用户接口输入可以被自动地提供给自动化助理120。另外,例如,可以基于指示自动化助理120将被调用的特定用户接口输入在消息交换客户端1071-n中的一个或多个中将用户接口输入显式地导向自动化帮助器120。例如,特定用户接口输入可以是一个或多个键入的字符(例如,@personalassistant)、用户与虚拟按钮的交互(例如,轻敲、长轻敲)、口头命令(例如,“heypersonalassistant(嘿个人助理)”)等。在一些实施方式中,即使当用户接口输入未被显式地导向自动化助理120时,自动化助理120也可以响应于该用户接口输入而执行一个或多个动作。例如,自动化助理120可以检查用户接口输入的内容并且响应于在用户接口输入中存在某些词项和/或基于其它线索而执行一个或多个动作。

客户端计算设备1061-n和自动化助理120中的每一个均可以包括用于存储数据和软件应用的一个或多个存储器、用于访问数据并执行应用的一个或多个处理器以及方便通过网络进行通信的其它组件。由客户端计算设备1061-n中的一个或多个和/或由自动化助理120执行的操作可以分布在多个计算机系统上。自动化助理120可以作为例如在一个或多个位置中通过网络彼此耦合的一个或多个计算机上运行的计算机程序被实现。

自动化助理120可以包括词项规范化引擎122、替选输入引擎124、评分引擎126、一个或多个消息生成引擎128和聊天语言量度引擎130。在一些实施方式中,可以省略引擎122、124、126、128和/或130中的一个或多个。在一些实施方式中,可以组合引擎122、124、126、128和/或130中的一个或多个的全部或各方面。在一些实施方式中,可以在与自动化助理120分开的组件中实现引擎122、124、126、128和/或130中的一个或多个。例如,可以在由客户端计算设备1061-n中的一个执行的组件中实现引擎122、124、126、128和/或130中的一个或多个或其任何操作部分。

在图1中,自动化助理120被图示为与规范化数据库152、语言模型数据库154、回复资源数据库156和聊天语言量度数据库158通信。数据库152、154、156和/或158在下面被更详细地描述并且可以被设置在一个或多个非暂时性计算机可读介质诸如在客户端计算设备1061-n中的一个本地的、在自动化助理120本地的和/或远离客户端计算设备1061-n和/或自动化助理120的一个或多个介质上。在许多实施方式中,可以组合数据库152、154、156和/或158中的一个或多个。

词项规范化引擎122确定接收到的自然语言输入中的各种潜在的聊天语言词项的规范化。例如,词项规范化引擎122可以确定词项“c”的规范化“see”、词项“thx”的规范化“thanks”、词项“rvw”的规范化“review”和“rearview”等。词项规范化引擎122可以利用规范化数据库152的一个或多个映射、规则和/或其它准则来生成规范化。例如,规范化数据库152可以包括某些聊天语言词项到其对应的规范化中的一个或多个的映射。例如,词项“c”可以被映射到“see”的单个规范化,词项“rvw”可以被映射到诸如“review”、“rearview”等的多个规范化。另外,例如,规范化数据库152可以定义规则,所述规则规定在包含相同字符的多个连续实例并且不是有效的规范化词项的词项中,可移除该字符的实例直到有效的规范化词项被实现为止。例如,可利用规则来使“helloooooooo”规范化为“hello”,使“yessss”规范化为“yes”,使“yippeeeeeeeee”规范化为“yippee”,使“cooooolllll”规范化为“cool”和“col”等。在一些实施方式中,词项规范化引擎122可以在确定规范化时组成映射和/或规则。例如,引擎122可通过首先将“wazzaaaaa”去重复为“wazza”并且识别“wazza”与“what’sup”之间的映射来使“wazzaaaaa”规范化为“what’sup”。在将“wazzaaaaa”去重复为“what’sup”时,引擎122可以依靠如下规则,即在包含相同字符的多个连续实例并且不是有效的规范化词项的词项中,可移除该字符的实例直到辨识的词项(例如,在聊天语言词项与规范化词项之间的映射中辨识的词项)被实现为止。

替选输入引擎124为接收到的自然语言输入生成候选替选输入并且通过用其规范化中的一个(若有的话)替换所接收到的自然语言输入的一个或多个词项来生成候选替选输入中的每一个。例如,对于所接收到的“tx4thervw”的自然语言输入,词项规范化引擎122可以使“tx”规范化为thanks,可以使“4”规范化为“for”,并且可以使“rvw”规范化为“review”和“rearview”。基于那些规范化,替选输入引擎可以生成“thanks4thereview”、“txforthereview”、“thanks4therearview”、“thanksfortherearview”、“thanksforthereview”、“tx4thereview”和“tx4therearview”的候选替选输入。

评分引擎126为由替选输入引擎124生成的替选输入中的每一个生成分数,并且可选地为用来生成替选输入的自然语言输入生成分数。评分引擎126利用这些分数来选择那些中的至少一个作为要由消息生成引擎128在生成对所接收到的自然语言输入的响应时使用的所选输入。

在各种实施方式中,评分引擎126利用语言模型154来确定分数。在那些实施方式中的一些中,语言模型154是在包括“规范化”(即,非聊天语言)词项的消息和/或其它内容的语料库上训练的n元组语言模型。例如,可以利用语言模型154来确定指示“see”、“you”和“later”比“see”、“u”和“l8r”更可能共现(在用于训练语言模型154的语料库中)的“seeyoulater”的分数。将这个与“thxaudiocompany”的自然语言输入和“thanksaudiocompany”的替选输入相比较。在这种情形下,可以利用语言模型154来确定“thx”、“company”和“audio”比“thanks”、“audio”和“company”更可能共现(并且因此对于“thxaudiocompany”确定更好的分数)。在一些实施方式中,评分引擎126针对给定输入(所接收到的自然语言输入和/或替选输入)来基于利用该输入的词项的语言模型154并且在不用参考由用户提供给自动化助理120的在先输入的词项和/或由自动化助理120提供用于呈现给用户的在先输出的词项的情况下确定针对给定输入的分数。在一些其它实施方式中,评分引擎126还可以利用在先输入(例如,紧接在先输入)的和/或在先输出(例如,紧接在先输出)的词项中的一个或多个。

如上面所提及的,在一些实施方式中可以基于包括“规范化”词项的消息和/或其它内容的语料库来训练语言模型154。例如,消息的语料库可以包括在两个或更多个人类用户之间交换的消息,其中那些消息的聊天语言词项由一个或多个人类评审者和/或自动化系统变换为规范化版本。例如,在包括“thanks4yourhelp”的消息中,可以使词项“4”规范化为“for”并且包括“for”而不是“4”的消息被利用来训练语言模型154。另一方面,在包括“4×4trunk”的消息中,词项“4”的两次出现不会用“for”替换,并且还可以利用包括“4×4truck”的消息来训练语言模型154。换句话说,在那些实施方式中可以基于其中潜在的聊天语言词项在那些词项被以聊天语言方式利用时用其规范化版本替换——但是其中那些潜在的聊天语言词项在它们被以非聊天语言方式利用时被维持的消息来训练语言模型154。可以利用附加和/或替代语料库来在各种实施方式诸如web页面、新闻报道、学术文章、专利申请公开、提供来对诸如视频的因特网内容评论的用户因特网评论等中训练语言模型154。

在确定分数的一些实施方式中,评分引擎126附加地和/或可替选地利用一个或多个附加分数,诸如来自消息生成引擎128中的一个或多个的一个或多个回复内容分数和/或来自重写引擎(未描绘)的一个或多个重写分数。在那些实施方式中的一些中,当在基于语言模型154而确定的分数中的两个或更多个之间没有足够的变化时评分引擎126利用来自消息生成引擎128的回复内容分数(和/或其它附加分数)。在一些其它实施方式中,评分引擎126可以总是利用来自消息生成引擎128的回复内容分数(和/或其它附加分数)作为针对正在分析的一个或多个输入的分数而确定的一部分,并且可选地与基于语言模型154而确定的分数相结合地利用回复内容分数。

一般地,由消息生成引擎128中的一个针对输入(原始自然语言输入或替选输入)所提供的回复内容分数指示由该引擎128基于该输入而生成的响应有多“好”。例如,引擎128中的一个可以提供“聊天响应”并且可以在存在与输入强相关的脚本化响应的情况下提供指示良好响应的回复内容分数。例如,回复资源数据库156可以包括一个或多个脚本化聊天响应,所述一个或多个脚本化聊天响应各自被映射到指示脚本化响应何时适当的一个或多个输入参数——并且可以基于给定输入与输入参数的比较来确定给定输入的回复内容分数。另外,例如,引擎128中的一个可以提供来自“搜索结果”的内容并且可以在针对给定输入的至少一个搜索结果是高质量搜索结果和/或具有特定“类型”(例如,“一箱结果”、“知识卡片”、“策展响应”)的情况下提供指示良好响应的给定输入的回复内容分数。

作为一个示例,假定接收到“thxaudio”的自然语言输入并且替选输入引擎124生成了“thanksaudio”的替选输入。进一步假定评分引擎126为基于语言模型154的那些输入生成分数,但是那些分数彼此太接近而无法保证优于另一个而选择一个(例如,更好的分数相对于另一个分数未能满足阈值)。在这种示例中,消息生成引擎128中的一个可以提供来自“搜索结果”的内容并且可以提供比针对“thanksaudio”的单独的回复内容分数更加指示良好响应的针对“thxaudio”的回复内容分数。评分引擎126可以至少部分地基于那些回复内容分数来优于“thanksaudio”而选择“thxaudio”。

作为另一示例,假定接收到“thx4assistance”的自然语言输入并且替选输入引擎124生成了“thanksforassistance”的替选输入。进一步地假定评分引擎126为基于语言模型154的那些输入生成分数,但是那些分数彼此太接近而无法保证优于另一个而选择一个。在这种示例中,消息生成引擎128中的一个可以提供来自脚本化响应的内容并且可以包括在回复资源数据库156中与“thanksforthe[help/assistance/input/info/information/等]”的输入参数相关联的脚本化响应“you’rewelcome”,其中方括号“[]”和方括号内的词项指示多个词项,其中的任一个都能与“thanksforthe”配对。基于“thanksforassistance”与“you’rewelcome”的脚本化响应的输入参数之间的强符合度,该消息生成引擎128能提供针对“thanksforassistance”的回复内容分数,其比来自该引擎128的针对“thx4assistance”的单独的回复内容分数更加指示良好响应。评分引擎126可以至少部分地基于那些回复内容分数来优于“thx4assistance”而选择“thanksforassistance”。

一般地,由重写引擎针对输入(原始自然语言输入或替选输入)所提供的重写分数指示对该输入的重写有多“好”,其中重写由基于重写引擎基于该输入并且可选地基于一个或多个在先输入(或那些在先输入的所选替选输入)来生成。重写有多好可以基于重写它本身的特性(例如,它是否在语法上正确)和/或响应于重写的搜索结果的性质。作为一个示例,假定“what’stheweatheronsaturday”的在先输入、“whatabtsun”的当前输入以及包括“whataboutsunday”的候选替选输入。基于在先输入的“whatabtsun”的重写可能是“what’stheweatheronthesun”,然而“whataboutsunday”的重写可以是“what’stheweatheronsunday”。针对“whataboutsunday”的重写分数可以基于例如响应那些重写的搜索结果的一个或多个性质比针对“whataboutsun”的重写分数更好。

不管所利用的技术如何,评分引擎126都可以将所选输入提供给消息生成引擎128,所述消息生成引擎128可以利用回复资源数据库156来生成响应于所选输入的回复内容。在一些实施方式中,消息生成引擎128可能已经在接收所选输入之前生成回复内容。例如,如上所述可能已经在生成回复内容分数期间生成回复内容。所生成的回复内容被提供给提供了自然语言输入的消息交换客户端1071-n,并且被提供用于作为对该自然语言输入的响应呈现给用户。例如,回复内容可以由消息交换客户端并入到也包括自然语言输入的消息交换线程中。

聊天语言量度引擎130基于对由这些用户中的一个或多个贡献给消息交换线程的多个消息中的聊天语言的过去使用来确定针对一个或多个用户的聊天语言量度。聊天语言量度引擎130将确定的聊天语言量度存储在聊天语言量度数据库158中以供由一个或多个消息生成引擎128利用。消息生成引擎128可以在确定是否在它们响应于用户的自然语言输入(可选地不管该自然语言输入它本身是否包括任何聊天语言词项)而生成的回复内容中包括聊天语言词项代替其规范化词项时利用适用于用户的聊天语言量度。

在一些实施方式中,聊天语言量度引擎130基于聊天语言被消息利用的实例的计数来确定聊天语言量度。例如,聊天语言量度引擎130可以将“一般”聊天语言量度(针对用户或用户组)确定为如与不包括任何聊天语言的消息的计数相比较的包括任何聊天语言的(用户组的用户的)消息的计数有关。另外,例如,聊天语言量度引擎130可以附加地和/或可替选地将“一般”聊天语言量度(针对用户或用户组)确定为如与消息中的词项的总计数相比较的作为聊天语言词项的(用户组的用户的)消息中的词项的计数有关。

作为一个示例,可以存储用户的聊天语言翻译的过去实例并且基于那些实例的量(例如,基于原始计数、频率和/或其它与量有关的)确定聊天语言量度。例如,在用户在提供给自动化助理的消息中一致地使用聊天语言的情况下,针对该用户的聊天语言量度可以指示该用户期望接收来自自动化助理的也包括聊天语言的响应,并且自动化助理可以提供包括聊天语言词项代替那些词项的规范化版本的至少一些响应。聊天语言量度可以是“一般”聊天语言量度或者适用于一组一个或多个具体聊天语言词项。例如,用户针对“thx”/“thanks”的聊天语言量度可以使自动化助理在对该用户的响应中用“thx”替换“thanks”,然而用户针对“gr8/great”的单独的聊天语言量度可能不会使自动化助理在对该用户的响应中用“great”替换“great”。

在一些实施方式中,聊天语言量度可以特定于给定用户。例如,可以至少部分地基于由该用户制定的消息中的聊天语言的实例诸如根据本文中描述的技术辨识的实例来确定。在那些实施方式中的一些中,聊天语言量度可以特定于用户的一个或多个设备(例如,用户可能更可能在移动计算设备而不是“桌面”计算设备上利用聊天语言)。在一些实施例中,聊天语言量度可以基于多个用户的聊天语言实例并且可以特定于诸如具有一个或多个共同属性(例如,地理区域、年龄范围)的用户的一组用户和/或可以特定于所利用的计算设备的类型和/或所利用的消息交换客户端的类型(例如,消息交换客户端a与客户端b相比可以在多个用户当中具有更大的聊天语言频率)。在一些实施方式中,可以给给定用户呈现显式地请求自动化助理120在提供给用户的输出中包括聊天语言(诸如包括与针对一组或多组用户的至少阈值聊天语言量度相关联的聊天语言词项的聊天语言)的选项。例如,用户可以选择接收输出中的聊天语言词项,其中那些聊天语言词项在地理区域中的人们当中是流行的(例如,与针对地理区域中的一组用户的至少一阈值聊天语言量度相关联的那些聊天语言词项)。

在一些实施方式中,消息生成引擎128中的一个可以在确定是否利用一个或多个聊天语言词项代替那些词项的规范化版本时利用多个聊天语言量度。例如,消息生成引擎128可以基于以下两者确定是否在要提供给用户的输出中利用“c”代替“see”:用户的一般聊天语言量度;以及特定于“c/see”的(用户的或一组用户的)聊天语言量度。例如,假定用户的一般聊天语言量度指示通过用户的“中等”聊天语言利用度。如果特定于“c/see”的聊天语言量度指示与那些词项相关联的高聊天语言利用度,则可以在生成的输出中利用“c”代替“see”。另一方面,如果特定于“c/see”的聊天语言量度指示与那些词项相关联的低聊天语言利用度,则可以在生成的输出中利用“see”。

现在转向图2,提供了自动化助理120的各种组件的附加描述。在图2中,用户利用计算设备1061的一个或多个用户接口输入设备来向消息交换客户端1071提供自然语言输入201,所述消息交换客户端1071将自然语言输入201发送到词项规范化引擎122。自然语言输入201可以是自由形式输入并且可以是例如用户经由计算设备的物理或虚拟键盘提供的键入输入或由用户提供给计算设备的麦克风的口语输入。在自然语言输入201是口语输入的实施方式中,它可以可选地由计算设备和/或由自动化助理120的组件转录为文本输入。

作为工作示例,自然语言输入201可以是“cul8r”,其在图2中还被图示在括号中以便易于理解工作示例。

词项规范化引擎122可选地基于规范化数据库152的一个或多个映射、规则和/或其它准则来生成用于自然语言输入201的词项中的一个或多个的一个或多个规范化。词项规范化引擎122将规范化词项202提供给替选输入引擎124。

继续该工作示例,词项规范化引擎122可以生成规范化词项202,其中“c”已被规范化为“see”,“u”已被规范化为“you”,并且“l8r”已被规范化为“later”。在图2中规范化被图示在括号中。

替选输入引擎124生成自然语言输入201的替选输入203,所述替选输入203各自包括取代自然语言输入201的词项中的一个的规范化词项202中的至少一个。

继续该工作示例,基于“cul8r”的自然语言输入201以及“see”、“you”和“later”的规范化词项而生成的替选输入203包括“seeul8r”、“cyoul8r”、“culater”、“seeyoul8r”、“seeulater”、“cyoulater”和“seeyoulater”。在图2中这些也被图示在括号中。

评分引擎126为替选输入中的每一个并可选地为自然语言输入201生成分数并且基于分数选择那些中的一个或多个(例如,仅一个)作为所选输入204。在各种实施方式中,评分引擎126利用语言模型154来确定分数。在那些实施方式中的一些中,语言模型154是在包括、局限于或者受“规范化”(即,非聊天语言)词项支配的消息和/或其它内容上训练的n元组语言模型。

继续该工作示例,可以利用语言模型154来确定指示“see”、“you”和“later”比其它替选输入203的词项更可能共现(在用于训练语言模型154的语料库中)的“seeyoulater”的分数。

在确定分数的一些实施方式中,评分引擎126附加地和/或可替选地利用来自一个或多个消息生成引擎128的一个或多个回复内容分数。在那些实施方式中的一些中,当在基于语言模型154而确定的分数中的两个或更多个之间没有足够的变化时,评分引擎126利用来自消息生成引擎128的回复内容分数。一般地,由消息生成引擎128中的一个针对输入(原始自然语言输入或替选输入)所提供的回复内容分数指示由该引擎128基于该输入而生成的响应有多“好”。例如,引擎126中的一个可以提供“聊天响应”并且可以在存在与输入强相关的脚本化响应的情况下提供指示良好响应的回复内容分数。另外,例如,引擎128中的一个可以提供来自“搜索结果”的内容并且可以在针对输入的至少一个搜索结果是高质量搜索结果和/或具有特定“类型”(例如,“一箱结果”、“知识卡片”、“策展响应”)的情况下提供指示良好响应的回复内容分数。

不管所利用的技术如何,评分引擎126都将所选输入204提供给消息生成引擎128,所述消息生成引擎128利用回复资源数据库156来生成响应于所选输入的回复内容205。回复内容205被提供给消息交换客户端1071以用于作为对自然语言输入201的响应在听觉上和/或在视觉上呈现给用户。例如,回复内容205可以由消息交换客户端1071并入到消息交换线程中以用于与自然语言输入201一起同时显示在消息交换线程中。

在图2中,还图示了聊天语言量度引擎130和聊天语言量度数据库156。在一些实施方式中,响应于确定包括一个或多个聊天语言词项到其规范化词项的“翻译”的所选输入204,评分引擎126可以向聊天语言量度引擎130提供翻译的发生的指示和/或被翻译的聊天语言词项和/或其规范化词项的指示。如本文中描述的,在一些实施方式中可以利用该指示和/或附加指示来针对一个或多个用户(并且可选地针对一个或多个特定聊天语言词项和/或其规范化词项)确定“聊天语言量度”。如本文中另外描述的,聊天语言量度和/或附加聊天语言量度可以由消息生成引擎128利用来确定是否在回复内容205中和/或在附加回复内容中包括聊天语言词项代替其规范化词项。

继续该工作示例,评分引擎126可以向聊天语言量度引擎130提供发生了包括聊天语言的自然语言输入被翻译为替选输入的“翻译”的一般指示。一般指示可以由聊天语言量度引擎130利用来确定针对用户、针对一组用户和/或针对其它参数的一般聊天语言量度。评分引擎126可以附加地和/或可替选地向聊天语言量度引擎130提供自然语言输入的聊天语言词项和/或聊天语言短语以及那些聊天语言词项和/或聊天语言短语的所选规范化版本的指示。例如,在输入201是“cul8r”并且所选输入204是“seeyoulater”的情况下,评分引擎126可以给聊天语言量度引擎130提供聊天语言“c”被规范化为“see”、聊天语言“u”被规范化为“you”、聊天语言“l8r”被规范化为“later”和/或聊天语言“cul8r”被规范化为“seeyoulater”的指示。这些指示可以由聊天语言量度引擎130利用来生成特定于那些词项和/或短语的一个或多个聊天语言量度——并且可以可选地进一步基于由用户经由消息交换客户端1071、经由其它消息交换客户端和/或经由其它应用对那些词项和/或短语的翻译的其它实例。

消息生成引擎128可以在确定是否在回复内容205和/或附加回复内容中包括聊天语言词项时利用数据库156的聊天语言量度。继续该工作示例,假定所选输入204是“seeyoulater”并且消息生成引擎128中的一个从回复资源数据库156中确定针对所选输入204的“seeyouthen”的脚本化响应。基于数据库156的适用于消息交换客户端1071的用户的一个或多个聊天语言量度,消息生成引擎128可以用“c”替换“see”,用“u”替换“you”,并且提供“cuthen”的输出。

现在转向图3和图4,提供了本文中描述的各种组件和技术的附加描述。图3和图4各自图示图1的客户端计算设备1061,其中显示屏幕140显示在客户端计算设备1061的用户与根据本文中描述的实施方式的自动化助理120之间可能发生的对话的示例。显示屏幕140还包括可以与用户交互以使计算设备1061执行一个或多个动作的系统界面元素381、382、383。显示屏幕140还包括用户可以选择来经由虚拟键盘生成自然语言输入的文本回复界面元素384以及用户可以选择来经由麦克风生成自然语言输入的语音回复界面元素385。

图3包括由用户经由客户端计算设备1061的一个或多个用户接口输入设备提交的自然语言输入380a-d。图3还包括由自动化助理120生成的响应390a-390d。

输入380a“helloooooooooooooo”可以由词项规范化引擎122规范化为“hello”。替选输入引擎124可以利用“hello”作为替选输入。评分引擎126可以针对“helloooooooooooooo”生成第一分数,针对“hello”生成第二分数,基于这些分数选择“hello”作为所选输入,并且将“hello”提供给消息生成引擎128。消息生成引擎128中的一个可以基于在回复资源数据库156中映射的或者以其它方式与“hello”相关联的聊天响应来生成响应390a。

输入380b的“gr8”可以由词项规范化引擎122规范化为“great”并且输入380b的“thx”可以由词项规范化引擎122规范化为“thanks”。替选输入引擎124可以生成“gr8thanks”、“greatthx”和“greatthanks”的替选输入。评分引擎126可以针对输入380b并针对替选输入中的每一个生成分数。在一些实施方式中,可以至少部分地基于如本文中所描述的回复内容分数来生成针对“greatthanks”的分数,并且该回复内容分数可以可选地由消息生成引擎128中的一个考虑到先前的响应390a和/或先前的输入380a来生成。评分引擎126选择“greatthanks”作为要提供给消息生成引擎128的所选输入。消息生成引擎128中的一个可以基于在回复资源数据库156中映射的或者以其它方式与“goodtohear”相关联的聊天响应来生成响应390b。

输入380c是“ceoofnumberscompany?”。词项规范化引擎122可以使“c”规范化为“see”,使“e”规范化为“enemy”,使“o”规范化为“oh”和“over”。替选输入引擎124可以生成“seeeoofnumberscompany?”、“seeenemyovernumberscompany?”等的替选输入。评分引擎126可以针对输入380c并针对替选输入中的每一个生成分数。基于这些分数,评分引擎126可以选择“ceoofnumberscompany?”的输入380c以提供给消息生成引擎128。消息生成引擎128中的一个可以基于针对输入380c所返回的搜索结果生成响应390c。响应390c包括文本“here’swhatifound:”以指示内容响应于输入380c并且包括聚焦于虚构“numberscompany”的虚构ceo的“卡片”。该卡片包括ceo的图像、ceo的名字以及用于查看更多信息的可选选项,所述可选选项当被选择时可以(在消息交换客户端1071或单独的应用内)向用户呈现和ceo相关的更多信息。

“cul8r”的输入380d可以由自动化助理120翻译为“seeyoulater”并且利用来提供“later”的脚本化响应390d。

图4包括由用户经由客户端计算设备1061的一个或多个用户接口输入设备提交的自然语言输入480a-d。图4还包括由自动化助理120生成的响应490a-490d。图4的示例尤其图示一个或多个消息生成引擎128如何可以利用与客户端计算设备1061的用户相关联的聊天语言量度来选择性地将聊天语言并入到生成的响应490a-490d中。

自动化助理120响应于“howrutoday?”的输入480a而生成“gr8thx-andyou?”的响应490a。响应490a包括聊天语言词项“gr8”和“thx”并且可以包括基于如本文中所描述的聊天语言量度的那些聊天语言词项。在一些实施方式中,消息生成引擎128中的一个可以基于它被指示为对输入480a(或像本文中所描述的那样确定的输入480a的翻译)的脚本化聊天语言响应来确定响应490a。在这种实施方式中,消息生成引擎128可以基于它被指示为“聊天语言”响应并且基于提交了输入480a的用户的聊天语言量度满足阈值来选择响应490a。在一些实施方式中,消息生成引擎128中的一个可以基于首先将“greatthanks-andyou?”确定为对输入480a(或像本文中所描述的那样确定的输入480a的翻译)的响应并且然后用“gr8”替换“great”、用“thx”替换“thanks”但是不用“u”替换“you”来确定响应490a。例如,用户的聊天语言量度可以指示用户通常利用“gr8”和“thx”作为聊天语言,但是很少(或者从不)利用“u”用作聊天语言。

“gr8aswell”的输入480b用不包括任何聊天语言词项的“goodtohear”的脚本化响应490b进行响应。例如,消息生成引擎128中的一个可以在它被指示为对输入480b(或像本文中所描述的那样确定的输入480b的翻译)的脚本化聊天语言响应时确定响应490b。

“who’sthedoginacmemovie”的输入480c用响应490c进行响应。消息生成引擎128中的一个可以基于针对输入490c所返回的搜索结果生成响应490c。响应490c包括文本“here’swhatifound:”以指示内容响应于消息480c并且包括聚焦于在虚构电影“acmemovie”中扮演的虚构狗的“卡片”。该卡片包括狗的图像、狗的“正式”名字(walterp.),并且包括关于狗的附加信息。注意的是,附加信息包括狗的在它在虚构acmemovie中的角色的名字“great”。进一步注意的是,即使词项“great”在响应490a中,也不在附加信息中翻译词项“great”。这可以基于例如不利用聊天语言词项代替某些响应的词项诸如基于搜索结果而生成的响应(例如,与基于脚本化响应而生成的响应相比较)的词项的规则。

“cul8r”的输入480d用“l8r”的响应490d进行响应,所述响应490d包括聊天语言词项并且可以根据本文中描述的技术来生成。

图5呈现图示接收包括聊天语言的自然语言输入、将聊天语言翻译为规范化形式、利用该规范化形式来生成响应于自然语言输入的回复内容并且提供该回复内容以用于作为对自然语言输入的响应而呈现的示例方法500的流程图。为了方便,参考执行操作的系统对流程图的操作进行描述。此系统可以包括各种计算机系统的各种组件,诸如自动化助理120。此外,虽然按照特定次序示出方法500的操作,但是这不意在为限制性的。可以重新排序、省略或者添加一个或多个操作。

在块550处,系统接收由用户经由一个或多个用户接口输入设备制定并且由用户在消息交换线程(例如,用户与自动化助理之间的线程和/或用户、自动化助理和一个或多个附加用户之间的线程)中提供的自然语言输入。

在块552处,系统识别用于块550的自然语言输入的一个或多个词项中的每一个的一个或多个规范化。

在块554处,系统基于块554的规范化生成用于块550的自然语言输入的候选替选输入。

在块556处,系统针对块554的自然语言输入确定分数并且针对在块554处确定的候选替选输入中的每一个确定分数。在一些实施方式中,在确定分数时,系统在块556a处基于语言模型确定这些分数中的一个或多个和/或在块556b处基于回复内容分数确定这些分数中的一个或多个。

在块558处,系统基于分数选择输入中的一个或多个(例如,仅一个)。特别地,系统基于针对那些输入的分数选择块554的候选替选输入和/或块550的自然语言输入中的一个或多个。

在块560处,系统基于在块558处选择的输入确定回复内容。例如,系统可以确定作为聊天响应的回复内容或作为搜索结果响应的回复内容。

在块562处,系统将块560的回复内容并入到消息交换线程中作为对自然语言输入的响应。

图6呈现图示确定用户的聊天语言量度、接收来自用户的自然语言输入、基于聊天语言量度和自然语言输入确定自然语言输出并且提供该自然语言输出以用于作为对自然语言输入的响应呈现给用户的示例方法600的流程图。为了方便,参考执行操作的系统对流程图的操作进行描述。此系统可以包括各种计算机系统的各种组件,诸如自动化助理120。此外,虽然按照特定次序示出方法600的操作,但是这不意在为限制性的。可以重新排序、省略或者添加一个或多个操作。

在块650处,系统至少部分地基于由用户中的一个或多个贡献给消息交换线程的消息中的聊天语言的实例的计数来确定针对一个或多个用户的聊天语言量度。

在块652处,系统接收由用户经由一个或多个用户接口输入设备制定并且由用户在进行中的消息交换线程(例如,用户与自动化助理之间的线程和/或用户、自动化助理和一个或多个附加用户之间的线程)中提供的自然语言输入。

在块654处,系统基于在块650处确定的聊天语言量度并且基于块652的自然语言输入来确定并入一个或多个聊天语言词项的自然语言。在一些实施方式中,系统基于在块650处确定的聊天语言量度并且基于一个或多个附加聊天语言量度来确定并入一个或多个聊天语言词项的自然语言输出。

在块656处,系统将包括块654的自然语言输出的响应并入到进行中的消息交换线程中。

图7是可以可选地被利用来执行本文中描述的技术的一个或多个方面的示例计算设备710的框图。在一些实施方式中,客户端计算设备1061-n、自动化助理120和/或其它组件中的一个或多个可以包括示例计算设备710的一个或多个组件。

计算设备710通常包括经由总线子系统712与许多外围设备进行通信的至少一个处理器714。这些外围设备可以包括存储子系统724(包括例如存储器子系统725和文件存储子系统726)、用户接口输出设备720、用户接口输入设备722和网络接口子系统716。输入设备和输出设备允许用户与计算设备710交互。网络接口子系统716提供到外部网络的接口并且耦合到其它计算设备中的对应接口设备。

用户接口输入设备722可以包括键盘、诸如鼠标、轨迹球、触摸板或图形平板的指点设备、扫描器、并入到显示器中的触摸屏、诸如语音辨识系统的音频输入设备、麦克风和/或其它类型的输入设备。一般而言,词项“输入设备”的使用旨在包括所有可能类型的设备以及用于将信息输入到计算设备710中或者到通信网络上的方式。

用户接口输出设备720可以包括显示子系统、打印机、传真机或诸如音频输出设备的非可视显示器。显示子系统可包括阴极射线管(crt)、诸如液晶显示器(lcd)的平板设备、投影设备或用于创建可见图像的某个其它机构。显示子系统还可以诸如经由音频输出设备提供非可视显示。一般而言,词项“输出设备”的使用旨在包括所有可能类型的设备以及用于将信息从计算设备710输出到用户或者到另一机器或计算设备的方式。

存储子系统724存储提供本文中描述的模块中的一些或全部的功能性的编程和数据构造。例如,存储子系统724可以包括用于执行图5和图6的方法的所选方面的逻辑。

这些软件模块一般地由处理器714单独或者与其它处理器相结合地执行。存储子系统724中使用的存储器725可包括许多存储器,包括用于在程序执行期间存储指令和数据的主随机存取存储器(ram)730和存储有固定指令的只读存储器(rom)732。文件存储子系统726可为程序和数据文件提供持久存储,并且可以包括硬盘驱动器、软盘驱动器以及相关联的可移动介质、cd-rom驱动器、光驱或可移动介质盒。实现某些实施方式的功能性的模块可以由文件存储子系统726存储在存储子系统724中,或者存储在可由处理器714访问的其它机器中。

总线子系统712提供用于让计算设备710的各种组件和子系统按预期彼此进行通信的机制。尽管总线子系统712被示意性地示出为单条总线,然而该总线子系统的替代实施方式可以使用多条总线。

计算设备710可以是各种类型,包括工作站、服务器、计算集群、刀片服务器、服务器场或任何其它数据处理系统或计算设备。由于计算机和网络的不断变化的性质,图7中描绘的计算设备710的描述仅旨在作为为了图示一些实施方式的特定示例。计算设备710的许多其它配置可能具有比图7中描绘的计算设备更多或更少的组件。

在本文中描述的系统收集关于用户的个人信息或者可以利用个人信息的情形下,可以给用户提供用于控制程序或特征是否收集用户信息(例如,关于用户的社交网络、社交动作或活动、专业、用户的偏好或用户的当前地理位置的信息)或者控制是否和/或如何从内容服务器接收可能与用户更相关的内容的机会。另外,某些数据可以在它被存储或者使用之前被以一个或多个方式处理,使得个人可识别的信息被移除。例如,可以处理用户的身份,使得对于该用户来说不能确定个人可识别的信息,或者可以在获得地理位置信息的情况下使用户的地理位置一般化(诸如到城市、zip码或州级别),使得无法确定用户的特定地理位置。因此,用户可以控制信息如何关于用户被收集和/或使用。

虽然已经在本文中描述并图示了若干实施方式,但是可以利用用于执行功能和/或获得结果的各种其它手段和/或结构和/或本文中描述的优点中的一个或一个,并且此类变化和/或修改中的每一个均被视为在本文中描述的实施方式的范围内。更一般地,本文中描述的所有参数、尺寸、材料和配置意在为示例性的并且实际的参数、尺寸、材料和/或配置将取决于这些教导被用于的一个或多个具体应用。本领域的技术人员应认识到或能够使用不超过例行实验来探知本文中描述的具体实施方式的许多等同物。因此应当理解的是,上述实施方式仅作为示例被呈现,并且在所附权利要求及其等同物的范围内,可以以不同于具体地描述和要求保护的方式实践这些实施方式。本公开的实施方式涉及本文中描述的每个单独的特征、系统、物品、材料、套件和/或方法。此外,如果此类特征、系统、物品、材料、套件和/或方法不相互矛盾,则两个或更多个此类特征、系统、物品、材料、套件和/或方法的任何组合被包括在本公开的范围内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1