基于自然语言用户界面输入生成自然语言输出的制作方法

文档序号:17286630发布日期:2019-04-03 03:37阅读:351来源:国知局
基于自然语言用户界面输入生成自然语言输出的制作方法

本说明书描述了基于自然语言用户界面输入生成自然语言输出。一些实施方式涉及改进的自动化个人助理。



背景技术:

一些笔记记录计算机应用和/或其它计算机应用使用户能够创建包括由用户明确设置的内容的笔记条目。例如,用户可以创建“呼叫bob”的笔记。进一步地,一些计算机应用可以实现对用户创建的笔记的有限搜索。

然而,这些和/或其它技术可能遭受一个或多个缺点。例如,笔记记录计算机应用可以仅基于搜索的词语与笔记的词语之间的精确关键字匹配来实现笔记条目的搜索。例如,如果搜索包括“呼叫”和/或“bob”,则仅识别“呼叫bob”。而且,一些笔记记录计算机应用可能不会自动过滤和/或排名响应于搜索的笔记条目和/或仅可以基于有限的用户提供内容来这样做。另外,一些笔记记录计算机应用可能要求用户明确指定由用户提供的内容将用于创建笔记条目,因此不为用户的许多类型的输入(诸如,在与个人助理对话期间和/或在与一个或多个附加用户对话期间提供的输入)创建任何条目。可以呈现附加和/或替代的缺点。



技术实现要素:

本说明书的一些实施方式涉及改进的自动化个人助理。一些实施方式涉及基于由用户经由用户的计算装置的一个或多个用户界面输入装置制成的自由形式自然语言输入(诸如,提供给自动化个人助理和/或在与一个或多个附加用户通信期间提供给这些附加用户的一个或多个计算装置的自然语言输入)来生成用户的个人数据库条目。在这些实施方式中的一些实施方式中,条目包括自然语言输入的一个或多个词语,并且可选地包括基于自然语言输入的一个或多个词语和/或基于与接收自然语言输入相关联的场境特征确定的描述性元数据。如本文所使用的,自由形式输入是由用户制成的并且不限于呈现给用户选择的一组选项的输入。例如,它可以是用户经由计算装置的物理或虚拟键盘提供的打字输入、用户提供给计算装置的麦克风的语音输入和/或用户经由相机(例如,用户的计算装置的相机)捕获的图像。

本说明书的一些实施方式另外和/或可替代地涉及基于用户的一个或多个个人数据库条目来生成响应于用户的另一自由形式自然语言输入的输出。在这些实施方式中的一些实施方式中,可以基于将这些条目的(软和/或精确)内容(例如,这些条目的描述性元数据和/或词语)与基于另一自然语言输入确定的一个或多个搜索参数相匹配来识别响应于用户的另一自然语言输入的一个或多个条目。进一步地,在这些实施方式中的一些实施方式中,可以在生成输出和/或在将多个所识别的条目(在识别多个条目的情况下)相对于彼此进行排名时使用所识别的条目的内容。可以利用排名来选择条目子集(例如,一个条目)以在生成响应时使用和/或确定多条内容在所生成的响应中的呈现顺序(基于导出多条内容的条目的排名)。

本说明书的一些实施方式另外和/或可替代地涉及分析给定自然语言输入,以确定指示输入旨在作为用户期望自动化个人助理在随后回忆起的输入的可能性的度量和/或确定指示输入旨在作为对来自用户的个人数据库的个人信息的请求的可能性的度量。

可以在各种场景中接收并处理用户的自然语言输入。例如,自然语言输入可以是与一个或多个其它用户通信(诸如,经由聊天、sms和/或经由其它消息交换进行通信)期间由用户提供的输入。作为另一示例,可以将自然语言输入提供给自动化个人助理,该自动化个人助理经由一个或多个用户界面输入和输出装置参与与用户对话。例如,自动化个人助理可以整体或部分地集成在用户的计算装置(例如,移动电话、平板计算机、专用于自动化辅助功能的装置)中,并且可以包括一个或多个用户界面输入装置(例如,麦克风、触摸屏)和一个或多个用户界面输出装置(例如,扬声器、显示屏)。而且,例如,自动化个人助理可以整体或部分地实施在与用户的客户端计算装置分离但与其通信的一个或多个计算装置中。

在一些实施方式中,提供了一种由一个或多个处理器执行的方法,该方法包括:接收第一自然语言输入,该第一自然语言输入是由用户经由用户的计算装置的用户界面输入装置制成的自由形式输入。该方法进一步包括:在存储在一个或多个计算机可读介质中的用户的个人数据库中生成针对第一自然语言输入的条目,并且该生成包括:将第一自然语言输入的词语中的一个或多个给定词语或者给定词语的标识符存储在条目中;基于以下中的至少一个生成描述性元数据:第一自然语言输入的词语中的一个或多个,以及与接收第一自然语言输入相关联的一个或多个场境特征;以及将描述性元数据存储在条目中。该方法进一步包括:在接收到第一自然语言输入之后接收第二自然语言输入。第二自然语言输入是由用户经由用户界面输入装置或者用户的附加计算装置的附加用户界面输入装置制成的自由形式输入。该方法进一步包括:基于第二自然语言输入,确定至少一个搜索参数;基于搜索参数来搜索个人数据库;以及基于搜索并且至少部分地基于将搜索参数与描述性元数据中的至少一些相匹配来确定条目响应于第二自然语言输入。该方法进一步包括:生成自然语言输出,该自然语言输出包括基于条目的一个或多个自然语言输出词语;以及响应于第二自然语言输入,提供自然语言输出以经由计算装置的用户界面输出装置或者附加计算装置的用户界面输出装置呈现给用户。

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

在一些实施方式中,生成描述性元数据是基于第一自然语言输入的给定词语和与接收第一自然语言输入相关联的一个或多个场境特征二者。

在一些实施方式中,生成描述性元数据是基于与接收第一自然语言输入相关联的一个或多个场境特征,并且基于一个或多个场境特征生成描述性元数据包括:生成时间元数据,该时间元数据指示接收到第一自然语言输入的日期或时间。在这些实施方式中的一些实施方式中,在生成时间元数据的情况下,至少一个搜索参数是时间搜索参数,并且确定条目响应于第二自然语言输入包括将时间搜索参数与时间元数据相匹配。在这些实施方式中的一些实施方式中,在生成时间元数据的情况下,该方法进一步包括:确定附加条目响应于第二自然语言输入;以及基于当前日期或时间与条目的时间元数据的一致性来选择条目代替附加条目。在这些实施方式中的一些版本中,提供包括条目的给定词语中的至少一些的自然语言输出响应于选择条目,并且在生成自然语言输出时不使用附加条目,并且响应于第二自然语言输入不提供基于附加条目的输出。在这些实施方式中的一些版本中,生成自然语言输出包括基于条目的时间元数据生成自然语言输出的一个或多个时间词语。

在一些实施方式中,生成描述性元数据是基于与接收第一自然语言输入相关联的一个或多个场境特征,并且生成描述性元数据包括:生成位置元数据,该位置元数据指示在接收到第一自然语言输入时用户的位置。在这些实施方式中的一些实施方式中,在生成位置元数据的情况下,至少一个搜索参数是位置搜索参数,并且确定条目响应于第二自然语言输入包括将位置搜索参数与位置元数据相匹配。在这些实施方式中的一些实施方式中,在生成位置元数据的情况下,该方法进一步包括:确定附加条目响应于第二自然语言输入;以及基于用户的当前位置与条目的位置元数据的一致性来选择条目代替附加条目。在这些实施方式中的一些版本中,提供包括条目的给定词语中的至少一些的自然语言输出响应于选择条目,并且在生成自然语言输出时不使用附加条目,并且响应于第二自然语言输入不提供基于附加条目的输出。在这些实施方式中的一些版本中,生成自然语言输出包括基于条目的位置元数据生成自然语言输出的一个或多个位置词语。

在一些实施方式中,在用户与至少一个附加用户之间的通信期间提供第一自然语言输入,生成描述性元数据是基于与接收第一自然语言输入相关联的一个或多个场境特征,并且生成描述性元数据包括生成描述性元数据的附加用户元数据。附加用户元数据识别在接收到第一自然语言输入时与用户通信的附加用户。在这些实施方式中的一些实施方式中,在生成附加元数据的情况下,用户与附加用户之间的通信是经由用户的计算装置的第一消息交换客户端和附加用户的附加用户计算装置的第二消息交换客户端。

在一些实施方式中,生成描述性元数据是基于第一自然语言输入的词语中的一个或多个,并且基于第一自然语言输入的词语中的一个或多个生成描述性元数据包括基于词语中的一个或多个生成描述性元数据的语义标签。语义标签指示一个或多个词语所属的以及未包括在第一自然语言输出中的附加词语也所属的类别。在这些实施方式中的一些实施方式中,在生成语义标签的情况下,至少一个搜索参数是语义搜索参数,并且确定条目响应于第二自然语言输入包括将语义搜索参数与语义标签相匹配。在这些实施方式中的一些版本中,确定搜索参数是基于第二自然语言输入的前缀。在这些实施方式中的一些实施方式中,在生成语义标签的情况下,该方法进一步包括:确定附加条目响应于第二自然语言输入;以及基于用户的第二自然语言输入与条目的语义标签的一致性来选择条目代替附加条目。在这些实施方式中的一些版本中,提供包括条目的给定词语中的至少一些的自然语言输出响应于选择条目,并且在生成自然语言输出时不使用附加条目,并且响应于第二自然语言输入不提供基于附加条目的输出。

在一些实施方式中,该方法进一步包括:基于第二自然语言输入的词语中的至少一个确定指示第二自然语言输入是对来自个人数据库的信息的请求的可能性的度量。在这些实施方式中的一些实施方式中,搜索和提供中的至少一个取决于度量的幅值。

在一些实施方式中,提供了一种由一个或多个处理器执行的方法,该方法包括:接收第一自然语言输入,该第一自然语言输入是由用户经由用户的计算装置的用户界面输入装置制成的自由形式输入;以及在存储在一个或多个计算机可读介质中的用户的个人数据库中生成针对第一自然语言输入的条目。该生成包括:将第一自然语言输入的词语中的一个或多个给定词语或者给定词语的标识符存储在条目中;基于以下中的至少一个来生成描述性元数据:第一自然语言输入的词语中的一个或多个,以及与接收第一自然语言输入相关联的一个或多个场境特征;以及将描述性元数据存储在条目中。该方法进一步包括:在接收到第一自然语言输入之后接收第二自然语言输入;基于第二自然语言输入来确定至少一个搜索参数;基于搜索参数来搜索个人数据库;基于搜索来确定条目响应于第二自然语言输入;基于搜索来确定附加条目也响应于第二自然语言输入;基于描述性元数据中的至少一些来将条目相对于附加条目进行排名;生成自然语言输出,该自然语言输出包括基于条目的一个或多个自然语言输出词语;以及响应于第二自然语言输入,提供自然语言输出以经由用户界面输出装置呈现给用户,其中,提供自然语言输出是基于将条目相对于附加条目进行排名。

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

在一些实施方式中,基于将条目相对于附加条目进行排名来提供自然语言输出包括响应于第二自然语言输入来提供自然语言输出而不提供基于附加条目的任何输出。

在一些实施方式中,基于将条目相对于附加条目进行排名来提供自然语言输出包括提供自然语言输出并基于附加条目来提供附加输出,并且提供自然语言输出和附加输出以按照基于排名的顺序呈现。

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

应该了解,将本文详细描述的前述概念和附加概念的所有组合视作为本文所公开的主题的一部分。例如,将出现在本公开结束处的所要求的主题的所有组合视作为本文所公开的主题的一部分。

附图说明

图1是可以实施本文公开的实施方式的示例环境的示意图。

图2a图示了基于由用户经由用户的计算装置的一个或多个用户界面输入装置制成的自由形式自然语言输入来生成用户的个人数据库条目的示例。

图2b图示了基于用户的一个或多个个人数据库条目来生成响应于用户的另一自由形式自然语言输入的自然语言输出的示例。

图3a图示了根据本文描述的实施方式的具有显示屏的示例客户端计算装置,该显示屏显示可以发生在客户端计算装置的用户与自动化个人助理之间的对话的示例。

图3b、图3c、图3d、图3e、图3f和图3g分别图示了根据本文描述的实施方式的具有显示屏的图3a的示例客户端计算装置的一部分,该显示屏显示可以发生在图3a的对话之后的对话。

图4a图示了根据本文描述的实施方式的具有显示屏的图3a的客户端计算装置,该显示屏显示可以发生在客户端计算装置的用户与自动化个人助理之间的对话的另一示例。

图4b和图4c分别图示了根据本文描述的实施方式的具有显示屏的图4a的示例客户端计算装置的一部分,该显示屏显示可以发生在图4a的对话之后的对话。

图5a和图5b呈现了图示基于由用户制成的自由形式自然语言输入来生成用户的个人数据库条目并且基于个人数据库条目中的一个或多个来生成响应于用户的另一自由形式自然语言输入的自然语言输出的示例方法的流程图。

图6图示了计算装置的示例架构。

具体实施方式

本说明书的实施方式涉及基于由用户经由用户的计算装置的一个或多个用户界面输入装置制成的自由形式自然语言输入来生成用户的个人数据库条目。例如,可以由自动化个人助理响应于提供给自动化个人助理的自然语言输入来生成个人数据库条目。如本文所使用的,个人数据库条目是用户可访问而不同于用户的多个附加用户无法访问的个人数据库中的条目。例如,仅用户和用户规定的一个或多个应用和/或系统可以访问个人数据库,而任何其它用户、应用和/或系统无法访问个人数据库。而且,例如,用户和用户指定的某些附加用户可以访问个人数据库。如本文所描述的,任何个人数据库可以存储在一个或多个计算机可读介质上,并且可以与访问信息相关联以仅允许被授权访问这些内容的用户、应用和/或系统的访问并且防止所有其它用户、应用和/或系统的访问。

在一些实施方式中,所生成的个人数据库条目包括自然语言输入的一个或多个词语,并且可选地包括基于自然语言输入的一个或多个词语和/或基于与接收自然语言输入相关联的场境特征确定的描述性元数据。

基于自然语言输入的词语确定的描述性元数据可以包括,例如,指示词语中的一个或多个所属的类别以及未包括在自然语言输出中的附加词语也属于该类别的语义标签。例如,可以基于词语“bob”确定“人”的语义标签,可以基于词语“家”确定“地方”的语义标签等。基于自然语言输入的词语确定的描述性元数据的另一示例可以包括“记忆性”元数据,该“记忆性”元数据指示自然语言输入旨在作为用户期望自动化个人助理在随后能够回忆起的输入的可能性(例如,真/假、或者值的范围)。例如,可以基于输入中某些关键词语的存在(例如,“记住”、“不要忘记”)和/或基于响应于将输入提供给分类器而接收到的输出来生成指示用户期望未来回忆能力的高可能性的描述性记忆性元数据,该分类器经过训练以预测自然语言输入是否和/或在何种程度上指示期望“记住”自然语言输入。

基于与接收自然语言输入相关联的场境特征确定的描述性元数据可以包括,例如,时间元数据、位置元数据和/或附加用户元数据。时间元数据可以指示接收到自然语言输入的日期(例如,5/1/16;五月;2016;上周;星期日)和/或时间(例如,8:00am、上午、7:00与9:00之间)。位置元数据可以指示接收到自然语言输入时用户的位置(例如,邮政编码、“家”、“工作”、城市、街区)。附加用户元数据可以指示自然语言输入指向的一个或多个附加用户和/或当接收到自然语言输入时参与与用户通信的一个或多个附加用户。例如,当从用户与附加用户之间的正在进行的消息交换线程(例如,聊天、sms)接收到自然语言输入时,附加用户元数据可以指示该附加用户。

本说明书的实施方式另外和/或可替代地涉及基于用户的一个或多个个人数据库条目来生成响应于用户的另一自由形式自然语言输入的输出。在这些实施方式中的一些实施方式中,可以基于将这些条目的(软和/或精确)内容(例如,这些条目的描述性元数据和/或自然语言输入词语)与基于另一自然语言输入确定的一个或多个搜索参数相匹配来识别响应于用户的另一自然语言输入的一个或多个条目。进一步地,在这些实施方式中的一些实施方式中,可以在生成输出和/或在将多个所识别的条目(在识别多个条目的情况下)相对于彼此进行排名时使用所识别的条目的内容。可以利用排名来选择条目子集以在生成响应时使用和/或确定多条内容在所生成的响应中的呈现顺序(基于导出多条内容的条目的排名)。

现在转到图1,图示了可以实施本文公开的技术的示例环境。示例环境包括多个客户端计算装置1061-n和自动化个人助理120。尽管在图1中将自动化个人助理120图示为与客户端计算装置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对话的个人助理消息服务(例如,实施在实现与用户对话的专用计算装置上)等的形式呈现。在一些实施方式中,消息交换客户端1071-n中的一个或多个可以经由网页浏览器(未示出)或客户端计算装置106的其它应用所渲染的网页或其它资源实施。

如在本文中更详细描述的,自动化个人助理120经由一个或多个客户端装置1061-n的用户界面输入和输出装置从一个或多个用户接收输入和/或向一个或多个用户提供输出。本文描述的实施方式涉及自动化个人助理120,该自动化个人助理120基于由用户提供的自然语言输入生成用户的个人数据库条目并且基于所生成的用户的一个或多个个人数据库条目生成输出以呈现给用户。然而,要理解,在许多实施方式中,自动化个人助理120还可以执行一个或多个附加功能。例如,自动化个人助理120可以利用整体或部分地基于未基于基于用户的过去的自然语言输入而生成的个人数据库条目生成的信息所生成的输出对用户的一些自然语言界面输入作出响应。例如,自动化个人助理可以在生成对用户的一些自然语言界面输入的响应时使用公共数据库154的一个或多个文档。例如,响应于“灵巧是什么意思?”的用户自然语言输入,自动化个人助理可以基于对用户来说不属于个人的“灵巧”的定义来生成“灵巧是描述对左手和右手都运用自如的能力的形容词”的输出。

在一些实施方式中,本文描述的用户界面输入明确地指向自动化个人助理120。例如,消息交换客户端1071-n中的一个可以是专用于与自动化个人助理120交谈的个人助理消息服务,并且可以将经由该个人助理消息服务提供的用户界面输入自动提供给自动化个人助理120。例如,消息交换客户端1071-n中的一个和个人助理120的至少一些方面的实例可以至少部分地实施在独立客户端计算装置上,该独立客户端计算装置至少选择性地监测语音用户界面输入并且利用可听用户界面输出来响应。而且,例如,用户界面输入可以基于特定用户界面输入经由消息交换客户端1071-n中的一个或多个明确地指向自动化个人助理120,该特定用户界面输入指示要调用自动化个人助理120。例如,特定用户界面输入可以是一个或多个键入字符(例如,@personalassistant)、与虚拟按钮的用户交互(例如,轻击、长按)、口头命令(例如,“嘿,个人助理”)等。在一些实施方式中,自动化个人助理120可以响应于用户界面输入执行一个或多个动作,即使在用户界面输入未明确地指向自动化个人助理120时。例如,自动化个人助理120可以检查用户界面输入的内容,并且响应于存在于用户界面输入中的某些词语和/或基于其它提示来执行一个或多个动作。

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

自动化个人助理120可以包括输入处理引擎122、场境引擎124、条目生成引擎126、搜索引擎128、排名引擎130和输出生成引擎132。在一些实施方式中,可以省略引擎122、124、126、128、130和/或132中的一个或多个。在一些实施方式中,可以组合引擎122、124、126、128、130和/或132中的一个或多个引擎的所有或方面。在一些实施方式中,可以将引擎122、124、126、128、130和/或132中的一个或多个引擎实施在与自动化个人助理120分离的部件中。例如,可以将引擎122、124、126、128、130和/或132中的一个或多个引擎或其任何可操作部分实施在由客户端计算装置1061-n执行的部件中。

输入处理引擎122处理用户经由客户端计算装置1061-n生成的自然语言输入,并且生成注释输出以供自动化个人助理120的一个或多个其它部件使用。例如,输入处理引擎122可以处理用户经由客户端装置1061的一个或多个用户界面输入装置生成的自然语言自由形式输入。所生成的注释输出包括自然语言输入的一个或多个注释并且可选地包括自然语言输入的词语中的一个或多个(例如,所有)。

在一些实施方式中,输入处理引擎122被配置为识别并注释自然语言输入中的各种类型的语法信息。例如,输入处理引擎122可以包括配置为使用其语法角色来注释词语的词性标注器。例如,词性标注器可以利用其词性来标注每个词语,诸如,“名词”、“动词”、“形容词”、“代词”等。而且,例如,在一些实施方式中,输入处理引擎122可以另外和/或可替代地包括依存句法分析器,该依存句法分析器被配置为确定自然语言输入中的词语之间的句法关系。例如,依存句法分析器可以确定哪些词语修饰句子的其它词语、主语和动词等(例如,分析树),并且可以注释这种依存句法。

在一些实施方式中,输入处理引擎122可以另外和/或可替代地包括实体标注器,该实体标注器被配置为注释一个或多个部分中的实体引用,诸如,对人、组织、位置等的引用。实体标注器可以以高粒度级别来注释对实体的引用(例如,以实现对实体类(诸如人)的所有引用的识别)和/或以低粒度级别来注释对实体的引用(例如,以实现对特定实体(诸如特定的人)的所有引用的识别)。实体标注器可以依赖于自然语言输入的内容来解析特定实体和/或可以可选地与知识图或其它实体数据库通信以解析特定实体。

在一些实施方式中,输入处理引擎122可以另外和/或可替代地包括指代解析器,该指代解析器被配置为基于一个或多个上下文提示对相同实体的引用进行分组或“聚类”。例如,可以使用指代解析器来将自然语言输入“我正在寻找我的自行车头盔。你知道它在哪里吗?”中的词语“它”解析为“自行车头盔”。

在一些实施方式中,输入处理引擎122的一个或多个部件可以依赖于来自输入处理引擎122的一个或多个其它部件的注释。例如,在一些实施方式中,命名实体标注器可以在注释对特定实体的所有提及时依赖于来自指代解析器和/或依存句法分析器的注释。而且,例如,在一些实施方式中,指代解析器可以在聚类对相同实体的引用时依赖于来自依存句法分析器的注释。在一些实施方式中,在处理特定自然语言输入时,输入处理引擎122的一个或多个部件可以使用相关的先前输入和/或特定自然语言输入之外的其它相关数据来确定一个或多个注释。例如,消息交换线程中的第一用户可以提供“我会为你将钥匙留在门垫下面”的输入,并且第二用户可以经由消息交换线程向自动消息传递系统提供“记住那个”的输入。在处理“记住那个”时,指代解析器可以将“那个”解析为“我会为你将钥匙留在门垫下面”,并且可以进一步将“我会”解析为第一用户并将“你”解析为第二用户。

场境引擎124确定与从客户端计算装置1061-n中的一个客户端计算装置接收到的自然语言输入相关联的一个或多个场境特征。在一些实施方式中,场境引擎124独立于自然语言输入的词语来确定场境特征中的一个或多个。例如,场境特征可以指示接收到自然语言输入的日期和/或时间,并且可以独立于自然语言输入的词语来确定。而且,例如,场境特征可以指示在接收到自然语言输入时用户的位置(例如,基于gps或其它位置数据),并且可以独立于自然语言输入的词语来确定。而且,例如,场境特征可以指示自然语言输入指向的一个或多个附加用户和/或在接收到自然语言输入时参与与用户通信的一个或多个附加用户,并且可以独立于自然语言输入的词语来确定。在一些实施方式中,场境引擎124独立于提供自然语言输入的用户的任何明确输入(诸如,定义场境特征的明确的用户界面输入和/或确认自动确定的场境特征正确的明确输入)来确定场境特征中的一个或多个。

条目生成引擎126响应于由用户经由客户端计算装置1061-n中的相应的一个客户端计算装置制成的自然语言输入中的至少一些示例来生成用户的个人数据库条目。在生成针对接收到的自然语言输入的条目时,条目生成引擎126可以使用自然语言输入的一个或多个词语、由输入处理引擎122提供的自然语言输入的注释和/或由场境引擎124提供的场境特征。

作为另一示例,假设“记住我的锁柜密码(combination)10、20、30”的自然语言输入由用户经由客户端计算装置1061-n中的一个客户端计算装置制成并且提供给自动化个人助理120。进一步地,假设场境引擎124确定在5/1/166:00am提供自然语言输入,同时用户的位置是“在健身房”。用户的位置“在健身房”可以利用各种粒度级别中的任何一种或多种来定义,诸如,特定纬度/经度、街道地址、识别特定健身房的实体标识符、“健身房”的实体类标识符等。在这种示例中,条目生成引擎126可以生成条目,该条目包括:词语“锁柜密码是10、20、30”;时间元数据:6:00am、“清晨”和/或6:00am的一些其它指示以及“五月1日”、“五月的星期日”和/或“5/1/16”的一些其它标识符的时间元数据;以及作为用户的位置“在健身房”的指示的位置元数据。

在一些实施方式中,条目生成引擎126可以响应于具有一个或多个特性的自然语言输入基于接收到的自然语言输入生成个人数据库条目。例如,在这些实施方式中的一些实施方式中,条目生成引擎126可以响应于包括一个或多个关键词语(例如,“记住”、“记住这个”和/或“不要忘记”)和/或在自然语言输入的某些位置(例如,作为前缀)中包括这些关键词语的自然语言输入来生成个人数据库条目。而且,例如,在这些实施方式中的一些实施方式中,条目生成引擎126可以另外和/或可替代地响应于向分类器提供自然语言输入中的至少一些并且接收自然语言输入指示期望记住自然语言输入和/或在至少阈值程度上指示期望的指示作为来自分类器的输出来生成个人数据库条目,该分类器经过训练以预测自然语言输入是否和/或在何种程度上指示期望“记住”自然语言输入。

在一些实施方式中,条目生成引擎126还可以生成条目的“记忆性”元数据,该“记忆性”元数据指示用于生成条目的自然语言输入指示自动化个人助理120期望在随后回忆起自然语言输入中的至少一些的可能性。例如,条目生成引擎126可以生成记忆性元数据,该记忆性元数据在自然语言输入包括一个或多个关键词语(例如,“记住”、“记住这个”和/或“不要忘记”)时是第一值(例如,“1”)并且在自然语言输入不包括这些关键词语中的任何词语时是第二值(例如,“0”)。而且,例如,条目生成引擎126可以生成记忆性元数据,该记忆性元数据是基于自然语言输入和/或相关联的场境特征的一个或多个特性而从三个或更多个值中的一个值中选择的。例如,条目生成引擎126可以向分类器提供接收到的自然语言输入中的至少一些和/或一个或多个场境特征,该分类器经过训练以预测自然语言输入是否和/或在何种程度上指示期望“记住”自然语言输入,并且接收自然语言输入指示期望记住自然语言输入的可能性的度量作为来自分类器的输出。引擎126可以使用该度量或基于该度量的另一指示来作为记忆性元数据。

由条目生成引擎126生成的个人数据库条目可以存储在个人数据库152中。个人数据库152可以设置在一个或多个非暂时性计算机可读介质上,诸如,客户端计算装置1061-n中的一个客户端计算装置本地的、自动化个人助理120本地的、和/或远离客户端计算装置1061-n和/或自动化个人助理120的一个或多个介质。个人数据库152的每个个人数据库条目都可以包括底层内容本身和/或链接至底层内容的一个或多个索引项。在一些实施方式中,个人数据库152可以位于客户端计算装置1061-n中的一个客户端计算装置的本地,并且该客户端计算装置可以实施自动化个人助理120的一个或多个(例如,所有)方面的实例。例如,该客户端计算装置可以包括一个或多个用户界面输入装置(例如,麦克风)、一个或多个用户界面输出装置(例如,扬声器)和个人数据库152。

个人数据库152实现个人数据库条目的搜索以确定条目的所有或方面是否与本文描述的用户的另一自然语言输入相关。在一些实施方式中,可以提供个人数据库152的多次迭代,其中,每次迭代特定于特定用户,并且可以包括用户和/或由用户指定的系统可以访问而不同于用户的多个附加用户和/或系统无法访问的个人数据库条目。例如,个人数据库152可以仅该用户访问,而任何其它用户无法访问。而且,例如,该用户和该用户指定的某些附加用户可以访问个人数据库152。在一些实施方式中,个人数据库152可以与访问信息相关联以允许被授权访问这些内容的用户的访问并且防止所有其它用户的访问。在一些实施方式中,个人数据库152包括多个用户的个人数据库条目,每个条目和/或条目组都与访问信息相关联以仅允许被授权访问这些索引项的用户和/或系统的访问并且防止所有其它用户和/或系统的访问。因此,个人数据库152可以包括多个用户的条目,但是每个条目和/或条目组都可以包括访问信息以防止未被授权访问这些条目的任何用户的访问。可以使用用于限制访问个人数据库152的条目的附加和/或替代技术。

搜索引擎128响应于由用户经由客户端计算装置1061-n中的相应的一个客户端计算装置制成的自然语言输入的至少一些实例来搜索与用户相关联的个人数据库152的条目。搜索引擎128基于所制成的自然语言输入以及可选地基于由输入处理引擎122提供的该输入的注释来生成一个或多个搜索参数,并且使用这些搜索参数来确定包括与搜索参数中的一个或多个(例如,所有)相匹配(软匹配和/或精确匹配)的内容(例如,这些条目的描述性元数据和/或自然语言输入词语)的个人数据库152的一个或多个条目。

由搜索引擎128生成的搜索参数可以包括,例如,自然语言输入的一个或多个词语、自然语言输入的一个或多个词语的同义词、自然语言输入的一个或多个词语的语义标签、基于自然语言输入的一个或多个词语的位置限制、基于自然语言输入的一个或多个词语的时间限制等。例如,针对“上个月我将我的自行车头盔给了谁?”的自然语言输入,搜索引擎128可以确定“自行车(bike)头盔”(基于自然语言输入的词语)、“自行车(bicycle)头盔”(基于自然语言输入的同义词)、指示“人”的语义标签(基于“谁”在自然语言输入中的存在)和对应于“上个月”的时间限制的搜索参数。

在一些实施方式中,搜索引擎128响应于具有一个或多个特性的自然语言输入基于接收到的自然语言输入搜索个人数据库152。例如,在这些实施方式中的一些实施方式中,搜索引擎128可以响应于包括一个或多个关键词语(例如,“什么”、“谁”、“哪里”、“何时”、“我的(my)”和/或“我(i)”)和/或在自然语言输入的某些位置中包括这些关键词语的自然语言输入来搜索个人数据库152。例如,搜索引擎可以响应于包括与一个或多个词语(诸如,“我(i)”或者“我的(my)”)具有句法关系(例如,由输入处理引擎122的注释所指示的)的查询词语(诸如,“什么”、“谁”或“哪里”)的自然语言输入来搜索个人数据库152。而且,例如,在一些实施方式中,搜索引擎128可以另外和/或可替代地响应于将自然语言输入中的至少一些提供给分类器并且接收自然语言输入指示期望和/或在至少阈值程度上指示期望的指示作为来自分类器的输出来搜索个人数据库152,该分类器经过训练以预测自然语言输入是否和/或在何种程度上旨在作为对来自用户的个人数据库的个人信息的请求。

在一些实施方式中,搜索引擎128还可以响应于由用户经由客户端计算装置1061-n中的相应的一个客户端计算装置制成的自然语言输入的至少一些示例来搜索公共数据库154。搜索引擎128可以响应于一些自然语言输入来搜索公共数据库154和个人数据库152二者和/或可以仅搜索公共数据库154和个人数据库152中的一个。通常,公共数据库154可以包括各种类型的内容,该各种类型的内容不限于用户和/或由用户指定的其它用户和/或系统并且可以可选地由搜索引擎128使用以响应各种类型的自然语言输入。例如,公共数据库154可以包括来自万维网上的可公开访问的文档的内容项、对某些自然语言输入的脚本化响应等。作为一个示例,公共数据库154可以包括“灵巧”的定义,以使搜索引擎128能够响应于“灵巧是什么意思?”的自然语言输入来识别该定义。作为另一示例,公共数据库154可以包括响应于“嗨”或“哈罗”的自然语言输入而由搜索引擎128识别的“哈罗,你好吗”的脚本化响应。

排名引擎130可选地基于一种或多种标准来对由搜索引擎128识别的(个人和/或公共的)一个或多个条目进行排名。在一些实施方式中,排名引擎130可选地使用一种或多种标准来针对响应于查询的一个或多个条目中的每一个计算分数。条目的分数本身可以用作条目的排名,或者可以与其它条目的分数相比较(在确定其它条目的情况下)以确定条目的排名。用于对条目进行排名的每种标准都提供有关条目本身和/或条目与自然语言输入之间的关系的信息。

在一些实施方式中,给定条目的排名可以基于条目的描述性元数据的语义标签与为自然语言输入生成的语义标签的一致性。例如,如果自然语言输入的一个或多个词语的语义标签与给定条目的描述性元数据中的语义标签相匹配,则可以积极地影响给定条目的排名。

在一些实施方式中,给定条目的排名可以另外和/或可替代地基于给定条目的位置元数据与在接收到自然语言输入时用户的当前位置(例如,由场境引擎124确定)的一致性。例如,如果用户的当前位置与由给定条目的位置元数据指示的位置相同或者在其阈值距离内,则可以积极地影响给定条目的排名。

在一些实施方式中,给定条目的排名可以另外和/或可替代地基于给定条目的时间元数据与在接收到自然语言输入时的当前日期和/或时间(例如,由场境引擎124确定)的一致性。例如,如果当前日期在由给定条目的时间数据指示的日期的阈值内,则给定条目可以比当前日期不在阈值内时得到更多的提升。

在一些实施方式中,给定条目的排名可以另外和/或可替代地基于给定条目的记忆性元数据。例如,如果包括在记忆性元数据中或者由其定义的度量满足阈值,则给定条目的排名可以比度量不满足阈值时得到更多的提升。在搜索引擎128从公共数据库154识别第一条目并且从个人数据库152识别第二条目的一些实施方式中,条目的排名可以基于自然语言输入是否和/或在何种程度上旨在作为对来自用户的个人数据库的个人信息的请求(例如,如上面相对于搜索引擎128所描述的)。例如,如果自然语言输入的特性指示极有可能作为对来自用户的个人数据库的个人信息的请求,则可以将所识别的来自公共数据库154的任何条目降级。

输出生成引擎132利用由搜索引擎128识别的一个或多个条目的内容,并且可选地利用由排名引擎130确定的这些条目的排名来生成输出以作为对所提供的自然语言输入的响应呈现给用户。例如,输出生成引擎132可以基于排名选择所识别的条目的子集(例如,一个)并且可以基于所选择的子集来生成输出。而且,例如,输出生成引擎132可以另外和/或可替代地利用排名来确定多条内容在所生成的响应中的呈现顺序(基于导出多条内容的条目的排名)。

在基于给定的个人数据库条目生成输出时,输出生成引擎132可以包括来自为其生成给定条目的自然语言输入的给定条目的词语中的一个或多个和/或可以包括基于所生成的条目的描述性元数据的输出。

现在转到图2a和图2b,提供了自动化个人助理120的各种部件的附加描述。

在图2a中,用户使用计算装置1061的一个或多个用户界面输入装置来向消息交换客户端1071提供自然语言输入201a,该消息交换客户端1071将自然语言输入201a传输到输入处理引擎122。自然语言输入201a可以是本文描述的自由形式输入,并且可以是,例如,用户经由计算装置的物理或虚拟键盘提供的打字输入或者用户提供给计算装置的麦克风的语音输入。在自然语言输入201b是语音输入的实施方式中,计算装置和/或输入处理引擎122可以可选地将其转录为文本输入。

输入处理引擎122处理自然语言输入201a并且生成自然语言输入的各种注释。输入处理引擎122向条目生成引擎126提供注释输入(例如,自然语言输入201a的词语和所生成的注释)202a。

场境引擎124确定与接收自然语言输入201a相关联的场境特征。例如,场境引擎124可以基于由消息交换客户端1071提供的数据(例如,时间戳、位置数据)和/或其它应用和/或客户端计算装置1061的操作系统来确定场境特征。在一些实施方式中,场境特征204可以由下面描述的条目生成引擎126使用和/或可以由输入处理引擎122使用(例如,以基于用户位置和/或其它场境特征来改进实体解析和/或其它确定)。

条目生成引擎126生成用户的个人数据库条目203并且将其存储在个人数据库152中。在生成条目203时,条目生成引擎126可以使用自然语言输入201a的一个或多个词语、由输入处理引擎122提供的自然语言输入的注释输入202a和/或由场境引擎124提供的场境特征204。

图2b图示了基于用户的一个或多个个人数据库条目来生成响应于用户的另一自由形式自然语言输入的自然语言输出的示例。图2b的示例可以发生在图2a的示例之后,并且可以使用在图2b中生成的条目203。

在图2b中,用户使用计算装置1061的一个或多个用户界面输入装置来向消息交换客户端1071提供另一自然语言输入201b,该消息交换客户端1071将自然语言输入201b传输到输入处理引擎122。自然语言输入201b可以是本文描述的自由形式输入,并且可以是,例如,用户经由计算装置的物理或虚拟键盘提供的打字输入或者用户提供给计算装置的麦克风的语音输入。

输入处理引擎122处理自然语言输入201a并且生成自然语言输入的各种注释。输入处理引擎122向搜索引擎128提供注释输出(例如,自然语言输入201b的词语和所生成的注释)202b。

搜索引擎128基于注释输入202b生成一个或多个搜索参数,并且使用这些搜索参数来确定包括与搜索参数中的一个或多个相匹配的内容的个人数据库152和/或公共数据库154的一个或多个条目。如本文所描述的,在一些实施方式中,搜索引擎128可以基于自然语言输入201b的一个或多个特性响应于自然语言输入201b仅搜索个人数据库152。搜索引擎128基于将一个或多个搜索参数与条目203的内容相匹配来确定个人数据库152的条目203响应于搜索。

搜索引擎128向排名引擎130提供条目203,该排名引擎130可选地生成条目203的排名。例如,排名引擎130可以确定条目203的排名分数是否满足阈值,该阈值保证输出生成引擎132利用条目203来生成自然语言输出205。场境引擎124确定与接收自然语言输入201b相关联的场境特征,并且可以向排名引擎130提供这些场境特征以用于生成本文描述的排名。在搜索引擎128确定多个响应条目的一些实施方式中,排名引擎130可以将这些条目相对于彼此进行排名。

输出生成引擎132利用条目203的内容来生成自然语言输出205以作为对自然语言输入201b的响应呈现给用户。例如,输出生成引擎132可以生成输出205,该输出205包括来自自然语言输入201a的条目203的词语中的一个或多个和/或包括基于所生成的条目203的描述性元数据的一个或多个词语。向消息交换客户端1071提供自然语言输出205以经由客户端计算装置1061的用户界面输出装置向用户进行可听和/或视觉呈现。在搜索引擎128识别多个响应条目的一些实施方式中,输出生成引擎132可以基于排名选择所识别的条目的子集(例如,一个)并且可以基于所选择的子集生成输出。而且,例如,输出生成引擎132可以另外和/或可替代地利用排名来确定多条内容在所生成的响应中的呈现顺序(基于导出多条内容的条目的排名)。

现在转到图3a至图3g,提供了本文描述的各种部件和技术的附加描述。图3a图示了根据本文描述的实施方式的具有显示屏140的图1的客户端计算装置1061,该显示屏显示可以发生在客户端计算装置1061的用户与自动化个人助理120之间的对话的示例。具体地,对话包括由用户提供给自动化个人助理的自然语言输入380a、380b、380c以及可以可选地由自动化个人助理120提供以确认该助理已经响应于输入生成条目的响应390a、390b、390c。

在一些其它实施方式中,替代响应可以由自动化个人助理120提供。例如,在自然语言输入的说明在确定更具体的条目时可能是必要的和/或有益的一些实施方式中,自动化个人助理可以用提示来响应以寻求这种进一步的说明。例如,响应于自然语言输入380a,自动化个人助理120可以在用户的联系人条目中识别“bobsmith”和“bobwhite”二者并且可以生成诸如“你是指bobsmith或bobwhite吗?”等提示以向用户请求进一步的输入以确定特定联系人并且基于输入380a进一步地调整条目。而且,例如,响应于自然语言输入380d,自动化个人助理120可以确定输入380d与先前的输入380b矛盾,并且助理120可能提示“这应该替换你在5/5/16提供的自行车锁密码吗?”以确定基于输入380d生成的条目是否应该替换基于输入380d生成的条目。

图3a还在括号中示出了用户提供各种输入380a至380d中的每一个的日期和时间。如本文所描述的,在生成描述性元数据时可以使用日期和时间。可以可选地不在提供给用户的显示器中示出日期和/或时间,但是为了清晰起见,在图3a中图示了日期和/或时间。

显示屏140进一步包括用户可以选择以经由虚拟键盘生成用户输入的文本回复界面元件384以及用户可以选择以经由麦克风生成用户输入的语音回复界面元件385。显示屏140还包括可以与用户交互以使计算装置1061执行一个或多个动作的系统界面元件381、382、383。

图3a、图3b、图3c、图3d、图3e、图3f和图3g分别图示了根据本文描述的实施方式的具有显示屏140的示例客户端计算装置1061的一部分,该显示屏140显示可以发生在图3a的对话之后的对话。

在图3b中,用户随后提供“谁拿了我的自行车头盔?”的另一自然语言输入380e。自动化个人助理120提供“在五月1日,你告诉我bob拿了你的自行车头盔”的响应390e。可以通过以下方式生成响应390e:基于“我的自行车头盔在哪里”发出搜索;作为对该搜索的响应,识别基于图3a的用户输入380a创建的条目;以及使用该条目来生成响应390e。例如,针对用户输入380a生成的条目可以包括词语“bob拿了我的自行车头盔”和描述性元数据:与“bob”相关联的“人”的语义标签、与“自行车头盔”相关联的“物体”的语义标签和指示五月1日和/或8:00am的时间元数据。而且,例如,可以基于用户输入380e发出搜索,诸如,包括“自行车头盔”的第一搜索参数和“人”的语义标签的第二搜索参数(基于“谁”在用户输入380e中的存在)的搜索。可以基于具有与第一搜索参数相匹配的词语和与第二搜索参数相匹配的语义标签来识别输入380a的条目。可以生成响应390e以包括来自输入380a的条目的时间元数据(“在五月1日”)和来自输入380a的条目的文本(“bob拿了你的自行车头盔”)。

在图3c中,用户随后提供“我何时将轮胎安装在我的自行车上?”的另一自然语言输入380f。自动化个人助理提供“2016年五月7日”的响应390f。可以通过以下方式生成响应390f:基于“我何时将轮胎安装在我的自行车上”发出搜索;作为对该搜索的响应,识别基于图3a的用户输入380b创建的条目;以及使用该条目来生成响应390f。例如,针对用户输入380b生成的条目可以包括词语“2016年五月7日将新轮胎安装在我的自行车上”。基于条目生成引擎126将“今天”替换为接收到用户输入380b的日期(例如,基于由输入处理引擎122提供的注释),该条目可以包括词语“2016年五月7日”,而不是“今天”(在用户输入380b中提供的)。针对用户输入380b生成的条目还可以包括描述性元数据:指示2016年五月7日的时间元数据以及与条目的词语“2016年五月7日”相关联的“何时”的语义标签。而且,例如,可以基于用户输入380f发出搜索,诸如,包括“轮胎”的第一搜索参数、“自行车”的第二搜索参数、和“何时”的语义标签的第三搜索参数(基于“何时”在用户输入380f中的存在)的搜索。可以基于具有与第一搜索参数和第二搜索参数相匹配的词语并且具有与第三搜索参数相匹配的语义标签元数据来识别针对输入380b生成的条目。可以基于与匹配第三搜索参数的语义标签元数据相关联的这些词语来生成响应390f以仅包括来自输入380b的条目的词语“2016年五月7日”。

图3d和图3e图示了“我的自行车锁密码是什么”的另一自然语言输入380g1和380g2。针对用户输入380b(图3a)生成的第一条目和针对用户输入380d(图3a)生成的第二条目可以基于对自然语言输入380g1、380g2的搜索来识别。在图3d中,在不提供基于用户输入380b的第一条目生成的任何输出的情况下,提供基于用户输入380d的第二条目生成的响应390g。这可以基于将第一条目和第二条目基于一种或多种标准进行排名并且确定第二条目排名高于第一条目。例如,基于第二条目的时间元数据比第一条目的时间元数据更接近当前时间,第二条目可以排名更高。

在图3d的示例中,在不提供基于用户输入380b的第一条目生成的任何输出的情况下,基于用户输入380d的第二条目生成响应390g。提供来自两个答案中的仅一个答案的内容可以基于各种因素(诸如,系统设置、显示屏140的大小)和/或基于对输入380g1的处理,以理解仅期望单个答案。然而,在一些实施方式中,响应可以包括基于第一条目和第二条目生成的输出。

例如,在图3e中,生成基于用户输入380d的第二条目和用户输入380b的第一条目的响应390h。在响应390h中,响应390h的对应于第二条目的部分在基于第一条目的部分之前呈现。这可以基于,例如,第二条目的排名高于第一条目的排名(例如,基于第二条目的时间元数据比第一条目的时间元数据更接近当前时间)。

在图3f中,用户随后提供“我如何将轮胎安装在我的自行车上”的另一自然语言输入380h。自动化个人助理120提供响应390i,该响应390i包括用于将新轮胎安装在自行车上的步骤的一部分。响应390i是可以由自动化个人助理基于公共数据库154的公共条目生成的响应的示例。尽管另一自然语言输入380h包括还可以包括在基于用户输入380c(图3a)生成的个人条目中的词语“轮胎”和“自行车”,但是自动化个人助理120不提供基于个人条目的响应内容。这可以基于各种因素中的一个或多个。例如,输入380h的语义标签(例如,与“如何”相关联的标签)可能与基于用户输入380c生成的个人条目的语义标签不匹配。这可能导致无法确定该条目和/或可能对该条目的排名产生负面影响。作为另一示例,用于生成响应390i的公共条目的排名可能高于个人条目的排名,并且仅基于基于指定响应的规则的公共条目生成的响应390i是仅基于最高排名条目和/或仅基于当其排名分数相对于下一最高排名条目满足阈值时的最高排名条目生成的。

在图3g中,用户随后提供“将新轮胎安装在我的自行车上?”的另一自然语言输入380i。自动化个人助理120提供响应390j,该响应390j包括来自私有数据库条目的内容和来自公共数据库的内容。具体地,响应390j包括基于针对输入380c(图3a)生成的个人条目的内容(“2016年五月7日你将新轮胎安装在你的自行车上”)。响应390j还包括可以基于公共数据库154的公共条目的内容(“你想要学习如何安装新的自行车轮胎吗?”)。自动化个人助理120可以包括基于条目的内容,该条目是基于将“新的”、“轮胎”和“自行车”的搜索参数与条目的内容相匹配而针对输入380c生成的。在一些实施方式中,可以基于对内容底层的条目的排名来将来自私有数据库的内容呈现在来自公共数据库的内容之前。

图4a图示了根据本文描述的实施方式的具有显示屏140的客户端计算装置1061,该显示屏140显示可以发生在客户端计算装置1061的用户与自动化个人助理120之间的对话的另一示例。具体地,对话包括由用户提供给自动化个人助理120的自然语言输入480a和480b以及可以可选地由自动化个人助理120提供以确认助理120已经响应于输入生成条目的响应490a和490b。图4a还在括号中示出了用户提供输入480a和480b中的每一个的日期和时间。如本文所描述的,可以在生成描述性元数据时使用日期和时间。可以可选地不在提供给用户的显示器中示出日期和/或时间,但是为了清晰起见,在图4a中图示了日期和/或时间。

显示屏140进一步包括用户可以选择以经由虚拟键盘生成用户输入的文本回复界面元件484以及用户可以选择以经由麦克风生成用户输入的语音回复界面元件485。显示屏140还包括可以与用户交互以使计算装置1061执行一个或多个动作的系统界面元件481、482、483。

在图4a中,用户提供包括“我的锁柜密码是7、22、40”的第一用户输入480a,并且在“5/1/16”的“6:00am”在“健身房”处提供它。可以针对第一用户输入创建第一条目,其包括来自输入的一个或多个词语,包括指示“健身房”的位置元数据,并且包括指示5/1/16和/或6:00am的时间元数据。在图4b中,用户提供包括“我的锁柜密码是40、20、10”的第二用户输入480b,并且在“5/10/16”的“8:00am”在“工作”时提供它。可以针对第二用户输入创建第二条目,其包括来自输入的一个或多个词语,包括指示“工作”的位置元数据,并且包括指示5/10/16和/或8:00am的时间元数据。

图4b和4c分别图示了根据本文描述的实施方式的具有显示屏140的示例客户端计算装置1061的一部分,该显示屏140显示可以发生在图4a的对话之后的对话。

在图4b中,用户提供“我的锁柜密码是什么?”的另一输入480c,并且当用户在健身房时在5:45am提供它。自动化个人助理120提供基于图4a的用户输入480a的第一条目生成的响应490c,并且该响应490c不包括基于用户输入480b的第二条目生成的任何内容。这可以基于,例如,第一条目的位置元数据与用户的当前位置的一致性和/或时间元数据与当前时间的一致性。将此与用户在“8:00am”在“工作”的情况相比较。在这种情况下,可以基于第二条目并且独立于第一条目生成响应。

在图4c中,用户提供“我的锁柜密码是什么?”的另一输入480d,该另一输入480d与图4b的输入480c相同。然而,在图4c中,当用户在“家里”时,用户在6:00pm提供输入480d。自动化个人助理120提供基于图4a的用户输入480a的第一条目和用户输入480b的第二条目二者生成的响应490d。基于两个条目而不是仅一个条目生成响应可以基于,例如,用户的当前位置与任一条目的位置元数据不完全一致和/或当前时间与任一条目的时间元数据不完全一致。在响应490d中,基于第二条目的时间元数据的日期比第一条目的时间元数据的日期更接近当前日期,可以在基于第一条目生成的内容之前呈现基于第二条目生成的内容。

尽管图3a至图3g和图4a至图4c图示了可以提供给用户的示例图形用户界面,但是要理解,在各种实施方式中,可以提供由自动化个人助理120提供的响应以用于可听呈现(例如,经由扬声器),而不是必须提供这些响应的图形指示。例如,用户可以经由麦克风提供自然语言输入,并且自动化个人助理120可以利用配置用于可听呈现的输出来响应这种输入。

图5a和图5b呈现了图示基于由用户制成的自由形式自然语言输入来生成用户的个人数据库条目并且基于个人数据库条目中的一个或多个来生成响应于用户的另一自由形式自然语言输入的自然语言输出的示例方法500的流程图。为了方便起见,参照执行操作的系统对流程图的操作进行了描述。该系统可以包括各种计算机系统的各种部件,诸如,自动化个人助理120。而且,尽管以特定顺序示出了方法500的操作,但是这不旨在作为限制。可以重新排名、省略、或者添加一种或多种操作。

在框550中,系统等待自然语言输入。

在框552中,系统接收由用户经由一个或多个用户界面输入装置制成的自然语言输入。

在框554中,系统确定框552的自然语言输入是否指示对个人信息的请求,诸如,对来自用户的个人数据库的个人信息的请求。例如,在一些实施方式中,如果输入包括一个或多个关键词语(例如,“什么”、“谁”、“哪里”、“我的(my)”、“我(i)”和/或“不要忘记”)和/或在输入的某些位置中包括这些关键词语,则系统可以确定输入指示对个人信息的请求。而且,例如,在一些实施方式中,系统可以另外和/或可替代地基于响应于将输入中的至少一些提供给分类器而接收到的输出来确定输入指示对个人信息的请求,该分类器经过训练以预测自然语言输入是否和/或在何种程度上旨在作为对个人信息的请求。在一些实施方式中,可以省略框554(例如,可以针对每个输入执行框562至570中的一个或多个)或者在框562至570中的一个或多个之后将其实例化(第一次或再次)(例如,框554的决策可以基于是否在框570中确定了任何条目和/或可以基于任何返回的条目的内容和/或排名)。

如果系统确定框552的自然语言输入不指示对信息的请求,则系统转到框556,其中,系统确定输入是否指示对回忆的期望。例如,在一些实施方式中,系统可以基于输入中某些词语的存在(例如,“记住”、“不要忘记”)和/或基于响应于将输入提供给分类器而接收到的输出来确定输入指示对回忆的期望,该分类器经过训练以预测自然语言输入是否和/或在何种程度上指示期望“记住”自然语言输入。在一些实施方式中,可以省略框556。例如,可以针对每个输入或者针对在框554中确定不指示对个人信息的请求和/或满足一种或多种其它标准的每个输入来执行框558和560中的一个或多个。

如果系统在框556中确定输入不指示对回忆的期望,则可选地在提供错误输出(例如,“不理解你的请求”)和/或转到其它未图示的框(例如,用于搜索公共数据库和/或提供其它输出的框)之后,系统转回到框550并且等待另一自然语言输出。

如果系统在框556中确定框552的自然语言输入指示对回忆的期望,则系统转到框558,其中,系统在用户的个人数据库中生成框552的输入的条目。

在一些实施方式中,在执行框558时,系统在框558a中生成条目的描述性元数据(例如,基于输入的词语和/或与接收输入相关联的场境特征)并且在框558b中将框552的输入的一个或多个词语和所生成的描述性元数据存储在条目中。然后,系统可以可选地在框560中执行一个或多个其它动作,诸如,提供确认已经针对输入生成的条目的输出,然后转回到框550。

返回到框554,如果系统在框554中确定框552的输入指示请求,则系统转到框562(图5b)。

在框562中,系统基于框552的输入确定一个或多个搜索参数。在框564中,系统基于在框562中确定的搜索参数来搜索用户的个人数据库。

在框566中,系统确定响应于搜索的个人数据库的至少一个个人条目。在框568中,系统基于在框566中确定的至少一个个人条目的内容来生成自然语言输出。在一些实施方式中,系统可以基于仅在个人条目的排名满足阈值时的该个人条目来生成输出。该排名可以是个人条目本身的,或者是个人条目相对于可以在框566中响应于搜索确定的一个或多个其它个人条目的。

在框570中,系统提供框568的输出以经由一个或多个用户界面输出装置呈现给用户。然后,系统返回到框550(图5a)并且等待另一自然语言输入。

尽管未在图5a和图5b中图示,但是在一些实施方式中,系统可以可选地在方法500中搜索一个或多个公共数据库,并且可以可选地输出具有来自公共数据库的内容的输出。这种公共数据库内容可以与来自个人条目的内容组合和/或代替来自个人条目的内容包括在输出中。

图6是可以可选地使用以执行本文描述的技术的一个或多个方面的示例计算装置610的框图。在一些实施方式中,客户端计算装置1601-n、自动化个人助理120和/或其它部件中的一个或多个可以包括示例计算装置610的一个或多个部件。

计算装置610通常包括经由总线子系统612与多个外围装置通信的至少一个处理器614。这些外围装置可以包括存储子系统624,包括,例如,存储器子系统625和文件存储子系统626、用户界面输出装置620、用户界面输入装置622、和网络接口子系统616。输入和输出装置允许用户与计算装置610交互。网络接口子系统616将接口提供给外部网络,并且耦合至其它计算装置中的对应接口装置。

用户界面输入装置622可以包括键盘、指向装置(诸如,鼠标、轨迹球、触摸板、或者绘图板)、扫描器、合并到显示器中的触摸屏、音频输入装置(诸如,语音识别系统、麦克风)、和/或其它类型的输入装置。通常,术语“输入装置”的使用旨在包括用于将信息输入到计算装置610中或者输入到通信网络上的所有可能类型的装置和方式。

用户界面输出装置620可以包括显示子系统、打印机、传真机、或者非视觉显示器(诸如,音频输出装置)。显示子系统可以包括阴极管(crt)、平板装置(诸如,液晶显示器(lcd))、投影装置、或者用于创建可见图像的一些其它机制。显示子系统还可以提供非视觉显示器,诸如,经由音频输出装置。通常,术语“输出装置”的使用旨在包括用于将来自计算装置610的信息输出至用户或者输出至另一机器或计算装置的所有可能类型的装置和方式。

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

这些软件模块通常由处理器614单独执行或者由处理器614结合其它处理器来执行。用在存储子系统中624中的存储器625可以包括多个存储器,该多个存储器包括用于在程序执行期间存储指令和数据的主随机存取存储器(ram)630和将固定指令存储在其中的只读存储器(rom)632。文件存储子系统626可以向程序和数据文件提供持久存储,并且可以包括硬盘驱动器、连同相关联的可移动介质的软盘驱动器、cd-rom驱动器、光学驱动器、或者可移动介质盒。可以由文件存储子系统626将实施特定实施方式的功能的模块存储在存储子系统624中,或者存储在可由处理器614访问的其它机器中。

总线子系统612提供用于让计算装置610的各种部件和子系统按照预期来与彼此通信的机制。虽然将总线子系统612示意性地示出为单条总线,但是总线子系统的替代实施方式可以使用多条总线。

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

在本文描述的系统采集关于用户的个人信息或者可以利用个人信息的情况下,可以为用户提供如下机会:控制程序或者特征是否采集用户信息(例如,有关用户的社交网络、社交动作或者活动、职业、用户的偏好、或者用户的当前地理位置的信息)或者控制是否和/或如何从内容服务器接收可能与用户更有关的内容。此外,在存储或者使用特定数据之前,可以按照一种或多种方式来处理该特定数据,从而使得可以去除个人身份信息。例如,可以处理用户的身份,从而使得无法确定用户的个人身份信息,或者可以将用户的可以从中获得地理位置信息(诸如,城市、邮政编码、或者州县等级)的地理位置一般化,从而使得无法确定用户的特定地理位置。因此,用户可以控制:如何采集关于用户的信息和/或如何使用该信息。

虽然本文已经描述并且图示了若干实施方式,但是可以利用用于执行功能和/或获得结果和/或本文描述的优点中的一个或多个的各种其它装置和/或结构,并且这种变型和/或修改中的每一个都被视为在本文描述的实施方式的范围内。更普遍地,本文描述的所有参数、尺寸、材料、和配置旨在作为示例,并且实际参数、尺寸、材料、和/或配置将取决于使用教导的特定应用或者应用。本领域的技术人员将认识到,或者仅仅通过使用常规实验就能够确定与本文描述的特定实施方式等效的若干实施方式。因此,要理解,前述实施方式仅仅是示例性的,并且在随附权利要求书及其等效物的范围内,可以按照不同于特定描述并且要求的方式来实践实施方式。本公开的实施方式涉及本文描述的每一个单独特征、系统、条款、材料、装备、和/或方法。另外,如果这种特征、系统、条款、材料、装备、和/或方法不互相矛盾,那么将两个或多个这种特征、系统、条款、材料、装备、和/或方法的任何组合包括在本公开的范围内。

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