基于传感器数据来标识实体的制作方法

文档序号:16368131发布日期:2018-12-22 08:32阅读:157来源:国知局
基于传感器数据来标识实体的制作方法

用户已经变得习惯于使用个人数字助理应用与诸如智能电话和平板计算机的设备交互。通常,用户向他们的设备说出或键入问题,例如,以进行web搜索,并且与他们的设备相关联的个人数字助理应用试图通过搜索因特网或通过搜索与设备的用户相关联的日历或联系人来回答问题。

虽然这样的个人数字助理应用是有用的,但是它们未能利用现代设备可用的大量数据。例如,现代设备通常包括很多传感器,诸如相机、麦克风、全球定位系统、加速度计、气压计等。此外,设备用户可以与诸如健身追踪器、智能手表、家庭安全系统、智能电视、视频游戏机等附加设备相关联,并且每个设备可以与它自己的一组传感器相关联。

虽然从众多传感器提供的传感器数据能够向用户提供有价值的信息和见解,但是用户目前无法使用他们所熟悉的个人数字助理应用来搜索、集成或分析这一数据。

此外,当前的数字助理应用本质上主要是反应性的。虽然用户可以基于时间事件来设置警报或提醒,但是这些应用会等待用户发起命令/查询,并且因此它们不会前摄地执行任何动作。



技术实现要素:

来自与用户相关联的多个传感器的传感器数据被接收。传感器可以包括一个或多个设备的传感器,这些设备包括智能电话、健身追踪器、视频游戏机和安全相机。传感器数据被处理以标识诸如人、位置和对象的、用户可能感兴趣的实体。个人数字助理应用可以向用户呈现与标识的实体有关的信息,并且可以允许用户关于标识的实体和先前标识的实体执行各种任务。另外,标识的实体可以被用来触发一个或多个规则,包括记录特定实体何时和在哪里被标识,以及在特定实体被标识时生成警报或相关的信息。

在一种实现方式中,提供了一种用于基于传感器数据来自动地标识实体并且用于基于标识的实体来执行一个或多个动作的系统。该系统包括至少一个计算机和实体引擎。实体引擎适于存储多个规则。每个规则与实体和动作相关联。实体引擎还适于:从多个传感器接收传感器数据;从传感器数据标识多个实体;确定与多个实体中的实体匹配的多个规则中的一个或多个规则;以及执行与确定的一个或多个规则中的至少一个规则相关联的动作。

在一种实现方式中,提供了一种用于基于传感器数据来自动地标识实体并且用于基于标识的实体来提供属性的系统。该系统包括至少一个计算机和实体引擎。实体引擎适于:从设备的多个传感器接收传感器数据;从传感器数据标识多个实体;确定多个实体中的感兴趣实体;确定与感兴趣实体相关的属性;以及在设备上显示确定的属性中的一个或多个属性。

在一种实现方式中,提供了一种用于基于传感器数据来自动地标识实体并且用于确定与标识的实体相关联的属性的方法。该方法包括由设备从与设备相关联的多个传感器中的一个或多个传感器收集传感器数据;由设备从传感器数据标识多个实体;由设备接收用户输入;由设备基于接收的用户输入来从多个实体确定一个或多个感兴趣实体;由设备基于接收的用户输入来确定查询;由设备基于查询来确定与一个或多个感兴趣实体相关联的属性;以及由设备在与设备相关联的显示器上显示确定的属性中的一个或多个属性。

提供本发明内容是为了以简化的形式介绍概念的选择,这些概念将在下面的具体实施方式中被进一步描述。本发明内容并不旨在标识要求保护的主题内容的关键特征或必要特征,也并不旨在被用来限制要求保护的主题内容的范围。

附图说明

当结合附图被阅读时,可以更好地理解前述发明内容以及说明性实施例的以下详细描述。出于说明实施例的目的,在附图中示出了实施例的示例结构;然而,实施例并不限于所公开的具体方法和手段。在附图中:

图1是用于基于传感器数据来标识实体的示例性环境的图示;

图2是实体引擎的实现方式的图示;

图3至图8是利用实体引擎的示例客户端设备的图示;

图9是用于基于在传感器数据中被标识的实体来执行与一个或多个规则相关联的动作的方法的实现方式的操作流程;

图10是用于针对在传感器数据中被标识的实体提供信息的方法的实现方式的操作流程;

图11是用于基于查询来确定与在传感器数据中被标识的一个或多个实体相关联的属性的方法的实现方式的操作流程;以及

图12示出了其中可以实现示例实施例和各方面的示例性计算环境。

具体实施方式

图1是用于基于传感器数据来标识实体的示例性环境100的图示。环境100可以包括通过网络122通信的客户端设备110、实体引擎120a和实体引擎120b。网络122可以是各种网络类型,包括公共交换电话网(pstn)、蜂窝电话网络和分组交换网络(例如,因特网)。尽管在图1中仅示出了一个客户端设备110、一个实体引擎120a和一个实体引擎120b,但是对可以被支持的客户端设备110、实体引擎120a和实体引擎120b的数目没有限制。

客户端设备110、实体引擎120a和实体引擎120b可以使用诸如关于图12而被描述的计算设备1200的通用计算设备一起或单独地被实现。客户端设备110可以是智能电话、平板计算机、物联网(iot)设备、笔记本计算机、机顶盒、个人/数字视频录像机、视频游戏机或任何其他类型的计算设备。取决于实现方式,客户端设备110可以具有显示器。显示器可以是触摸屏或其他类型的屏幕。

客户端设备110可以具有一个或多个内部传感器130,每个内部传感器130生成内部传感器数据135。内部传感器130可以是作为客户端设备110的一部分的任何传感器。内部传感器130的示例可以包括但不限于视频或图像传感器(例如,相机)、声音传感器(例如,麦克风)、位置传感器(例如,全球定位系统(gps))、加速度计、气压计、温度计、高度计和比重计。内部传感器130还可以包括操作系统和应用传感器(例如,任务管理器、应用api等)。可以支持本领域中已知的任何类型的传感器。

客户端设备110或与客户端设备110相关联的用户还可以与一个或多个外部传感器140相关联,每个外部传感器140生成外部传感器数据145。外部传感器140可以是并非客户端设备110的一部分的任何传感器。外部传感器140的示例可以包括但不限于与安全系统相关联的传感器(例如,相机和运动检测器)、与健身追踪器相关联的传感器(例如,心率监测器、秤、计步器、血压监测器、血氧监测器)、与智能手表相关联的传感器、与视频游戏机相关联的传感器、与婴儿监视器相关联的传感器、以及与汽车相关联的传感器。可以支持本领域中已知的任何类型的传感器。出于简洁的目的,内部传感器数据135和外部传感器数据145可以被统称为传感器数据。

如可以领会到的,针对客户端设备110而被生成或由客户端设备110生成的特定传感器数据可以对于各种应用有用。一个这样的应用是对一个或多个实体167的标识。如本文中使用的,实体167可以包括可以从传感器数据推断其存在的任何人、地点或事物。

例如,在传感器数据是图像或视频时,实体167可以包括可见或感测的个体、对象、建筑物和位置,例如,传感器数据中的gps。在传感器数据是声音时,实体167可以包括其身份或类型可以由其语音或声音识别的个体或动物。还可以存在压力、湿度、温度、红外(ir)传感器等。其他类型的实体167可以包括虚拟对象(例如,歌曲)、书籍中的人物角色、计算机生成的字形、图标和相关的ui小部件(光标、文档、文件、窗口、标题栏等)。

为了有助于对实体167的标识,环境100可以包括实体引擎120a和实体引擎120b(本文中被统称为实体引擎120)。实体引擎120a可以驻留在客户端设备110中,而实体引擎120b可以驻留在客户端设备110外部的一个或多个服务器(即,云计算平台)中。虽然实体引擎120被示出为两个组件(即,120a和120b),但它仅用于说明目的。例如,在一些实现方式中,实体引擎120可以使用单个实体引擎120而被实现,而在其他实现方式中,可以存在多于两个实体引擎120。

在一些实现方式中,实体引擎120可以被集成到与客户端设备110的用户相关联的个人数字助理应用112中。个人数字助理应用112可以是从用户接收一个或多个自然语言查询作为用户输入137的一部分并且使用与用户相关联的存储的信息或使用从一个或多个外部源(即,因特网)取回的信息来进行响应的客户端设备110的应用。例如,用户可以通过向个人数字助理应用112询问诸如“这是什么类型的花?”或“我在哪里可以买到这样的花?”的查询来提供用户输入137。个人数字助理应用112可以使用相机图像和用户的当前位置来帮助响应于查询。可以支持其他类型的查询。

如关于图2被进一步描述的,实体引擎120可以允许个人数字助理应用112基于内部传感器数据135和外部传感器数据145来标识实体167。在一些实现方式中,实体引擎120可以接收传感器数据并且可以标识与传感器数据相关联的多个实体167。例如,实体引擎120可以将音频、面部、文本和对象识别算法中的一种或多种应用于传感器数据以标识实体167。

在一些实现方式中,在标识实体167之后,实体引擎120可以自动地标识要关于所有标识的实体167中的一些实体要执行的一个或多个动作。个人数字助理应用112然后可以向用户显示标识的一个或多个动作。例如,当标识的实体167包括披萨时,个人数字助理应用112可以询问用户他们是否想要订购披萨,或者他们是否想知道披萨中有多少卡路里。在另一示例中,如果标识的实体167包括树,则个人数字助理应用112可以询问用户他们是否想知道它是什么种类的树。

在标识实体167之后,客户端设备110的用户可以向个人数字助理应用112提供用户输入137,用户输入137包括关于标识的实体167的一个或多个查询。个人数字助理应用112可以使用实体引擎120来完成查询。对查询的答案可以由实体引擎120提供作为结果177。可以支持各种查询,包括选择、计划(project)、加入、联合和聚合(spjua)查询。spjua查询可以允许用户对实体167执行查询,包括基于实体167的特定属性或特性来对实体167计数。示例spjua查询包括“我看到多少辆红色汽车?”和“我看到多少不同种类的鲜花?”。

取决于实现方式,查询的结果177可以基于实体167和与实体167相关联的外部数据(诸如来自搜索引擎或结构化数据源的数据)而被确定。这些类型的查询的示例可以包括“那是什么种类的汽车?”、“那个三明治中有多少卡路里?”以及“这个房间里有多少人?”。可以支持其他类型的查询。

在另一示例中,spjua查询可以允许用户使用可用于实体引擎120的结构化数据源来生成查询。例如,用户可以询问查询“西雅图所有咖啡师的平均工资是多少”。在这里,实体引擎120可以通过加入诸如西雅图的所有邻域的咖啡师工资表的结构化数据并且然后对结构化数据执行求和来完成查询。

除了接收查询之外,在一些实现方式中,实体引擎120可以基于标识的实体167并且基于用户或其他用户的web搜索或搜索历史来推断针对用户的查询。例如,在实体167是火车时,实体引擎120可以使用用户(或其他用户)的因特网搜索历史来确定关于火车的最频繁接收的搜索查询是什么。实体引擎120可以向个人数字助理应用112呈现频繁接收的查询中的一个或多个查询以向用户推荐。

除了查询之外,实体引擎120可以向用户和/或个人数字助理应用112呈现关于实体167的其他信息。该信息可以类似地由实体引擎120从因特网或诸如结构化数据的另一数据源确定。取决于实现方式,信息可以被呈现为一个或多个卡,其中每个卡包括关于相关联的实体167的信息,诸如关于实体167的事实以及可以关于实体167而被执行的查询或其他动作。关于诸如人的实体167的示例信息可以包括身高、体重、年龄、地址等。用于卡的信息可以是静态的,或者可以基于web搜索或者基于与用户相关联的联系人或其他信息而被动态地生成。

呈现的信息(以卡其他格式)可以取决于实体167的具体身份。例如,在实体167是今天生日的人时,实体引擎120可以向个人数字助理应用112呈现生日以向用户显示。然而,如果实体167的生日不是今天,则个人数字助理应用112可以省略生日。

实体引擎120可以将标识的实体167中的一些或全部日志记录或记录为实体数据165。用于实体167的日志中的条目可以包括诸如实体167何时和在哪里被标识的信息。实体数据165可以在完成一个或多个查询时有用,这些查询诸如是特定实体167何时被最后标识以及在特定时间量(例如,过去的三周)内特定实体167被标识的次数。

实体引擎120可以允许客户端设备110的用户使用个人数字助理应用112来创建一个或多个规则139。每个规则139可以标识一个或多个实体167并且可以包括要执行的一个或多个动作。例如,规则139可以指示特定人何时被标识、通知169可以被生成并且发送给客户端设备110的时间。稍后,如果实体引擎120标识内部传感器数据135或外部传感器数据145中的特定人,则可以在与客户端设备110相关联的显示器(或者在规则139被触发时用户正在使用的任何特定设备)上显示通知169(诸如警告或警报)。

实体引擎120可以连续地从用户收集传感器数据和用户输入137,并且可以使用该信息来连续地学习并且做出关于用户和用户与之交互的实体167的推断。例如,随着时间的推移,实体引擎120可以识别出与特定人对应的实体167何时被标识、可以听到说出名称“bob”的用户。实体引擎120可以将用于特定人的实体数据165中的条目与名称“bob”相关联。当用户稍后询问关于bob的问题时,实体引擎120将理解用户正在引用实体167。

在另一示例中,实体引擎120可以日志记录或记录被标识的实体167中的一些或所有实体的时间和位置。可以记录诸如当特定实体167被标识时用户所说的单词的转录(使用语音到文本识别而被生成)的其他信息,并且使用时间戳将其与日志相关联。在稍后的时间,转录可以针对在实体167存在时被使用的术语和短语而被挖掘,并且可以与实体167相关联。

图2是实体引擎120的实现方式的图示。实体引擎120可以包括一个或多个组件,包括实体标识器210、查询引擎220和规则引擎230。实体引擎120中可以包括更多或更少的组件。实体引擎120的组件中的一些或所有组件可以由一个或多个计算设备(诸如关于图12而被描述的计算设备1200)实现。

实体引擎120可以基于内部传感器数据135和外部传感器数据145中的任一者或两者来标识一个或多个实体167。如上所述,内部传感器数据135可以包括但不限于来自与用户的客户端设备110相关联的传感器(诸如相机、麦克风、加速度计等)的数据。类似地,外部传感器数据145可以包括来自与用户相关联但可以不是正由用户使用的客户端设备110的一部分的传感器的数据。这些传感器可以包括但不限于健身追踪器、与视频游戏机相关联的传感器、与安全系统相关联的传感器、以及与电视和其他连接的设备(例如,物联网)相关联的传感器。

在一些实现方式中,实体标识器210可以连续地收集、接收和/或记录内部传感器数据135和外部传感器数据145作为源源不断的传感器数据。在其他实现方式中,传感器数据可以响应于用户激活与实体引擎120相关联的个人数字助理应用112而被接收和/或收集。例如,当用户通过提供用户输入137(诸如说出某些预定单词、致动用户界面元素或做出特定手势)来激活个人数字助理应用112时,实体引擎120可以开始接收和处理传感器数据。可以使用用于激活个人数字助理应用112的其他方法。

在一些实现方式中,为了保护用户或其他用户的隐私,实体标识器210可以在某些条件下停止收集或接收传感器数据。例如,实体标识器210可以保持禁止或阻止传感器数据的收集的企业、机构或家庭的列表,并且当确定客户端设备110在列表上的位置时可以停止接收传感器数据。当用户或用户附近的任何其他个体表达他们不同意作为所收集的传感器数据的一部分的指示时,实体引擎120也可以停止接收传感器数据210。

实体标识器210可以使用一个或多个应用编程接口(api)来从内部传感器数据135和/或外部传感器数据145标识实体。被用来标识实体167的api的类型可以取决于内部传感器数据135和/或外部传感器数据145的特定格式以及正被标识的实体167的类型。

例如,在传感器数据是图像或视频时,为了标识作为人的实体167,可以使用涉及标识人或面部的api。为了标识作为书籍的实体,可以使用涉及识别单词或文本的api(即,ocr)。为了标识作为对象的实体167,可以使用涉及识别对象的api。类似地,当传感器数据是声音时,例如,可以使用涉及标识人类语音或涉及基于动物的呼叫来标识它们的不同api。

另外,不同类型的对象可以具有它们自己的相关联的api。例如,诸如食物的对象可以使用涉及标识不同类型的食物的api而被标识,而诸如树的对象可以使用涉及标识不同类型的树的api而被标识。

当可用时,实体标识器210还可以在标识实体时考虑任何接收的用户输入137。通常,用户输入137可以包括用户在激活个人数字助理应用112时说出的、可以有助于缩小用户感兴趣的实体167的类型的一个或多个单词或短语,和/或选择适当的api来执行标识。例如,用户可以利用用户输入137来提供查询“那是什么种类的狗?”。相应地,当实体标识器210标识实体167时,它可以使用涉及标识狗和不同品种的狗的api。

在一些实现方式中,标识的实体167还可以包括与其他标识的实体167相关的实体167。例如,传感器数据135可以包括作为特定披萨连锁餐厅的实体167。实体标识器210可以将披萨以及相关的披萨连锁餐厅标识为实体167,即使该特定披萨连锁的餐厅没有在传感器数据中。

取决于实现方式,实体标识器210可以使用各种api以及实体数据165中的全局实体数据213和用户实体数据215中的一种或多种来标识实体167。全局实体数据213可以是已知实体167的库。全局实体数据213中的每个实体167可以包括可以由实体标识器210和一个或多个api用来标识实体167的描述性信息。描述性信息可以包括诸如大小、颜色、形状等信息。在传感器数据包括声音时,描述性信息可以包括诸如音高、音调、频率等信息。诸如位置和时间的已知为与实体167相关联的其他信息也可以被包括在描述性信息中。可以被用来标识实体167的任何类型的描述性信息可以被包括在全局实体数据213中。

可以使用其他信息来标识实体167,诸如先前标识的实体167和先前接收的传感器数据。例如,在先前接收的传感器数据中被先前标识的实体167可能更可能在传感器数据中再次被标识出先前未标识的实体167。

用户实体数据215可以类似于全局实体数据213,但是可以被限制为包括用于针对与客户端设备110相关联的用户而被先前标识的那些实体167的描述性信息。如可以领会到的,用户很可能反复遇到相同的实体167,并且因此实体标识器210可能能够通过首先考虑来自用户实体数据215的实体167来在传感器数据中更快地标识实体167。可以认为用户实体数据215是用户跨与用户相关联的客户端设备110中的一些或所有客户端设备遇到的各种实体167的日志或个人库。

另外,用户实体数据215可以包括附加的用户特定信息。这一附加信息可以包括当先前标识用户实体数据215的每个实体167时的时间和位置,或者可以包括当最近标识每个实体167时的时间和位置。

取决于实现方式,可以针对在用户实体数据215中被标识的实体167中的一些或所有实体或者仅针对由用户选择的那些实体167保持这样的位置和时间信息。例如,当查看用户的钥匙的图像时,用户可以向客户端设备110的个人数字助理应用112说出或输入(例如,键入)指令以“跟踪我的钥匙”。在每次实体167与传感器数据中的钥匙的描述匹配时,个人数字助理应用112可以指令实体标识器120记录时间和位置。

诸如传感器数据和用户输入137的其他信息可以被用来连续地更新用户实体数据215中的实体167。例如,当特定实体167被标识时,可以记录与用户的心率或血压相关的内部传感器数据135和/或外部传感器数据145。例如,这样的信息可以被用来确定实体167是否令用户烦恼或者用户是否发现实体167放松。

在另一示例中,当特定实体167被标识以了解可能是哪些单词和短语与哪那些实体167相关联时,实体标识器210可以将来自传感器数据和/或用户输入137的、由用户或其他用户所说的单词和短语相关。以这种方式,实体标识器210可以学习用户可以用来指代他们生活中的各种实体167(诸如朋友、亲戚、宠物等)的各种名称和昵称。这一信息可以通过实体标识器210而被合并到用户实体数据215中。

如可以领会到的,针对用户而被收集和存储在用户实体数据215中的信息可以是个人的和私人的。相应地,为了保护用户的隐私,被存储在用户实体数据215中的所有信息可以被加密或者以其他方式仅使得对使用与用户相关联的客户端设备110的用户可用。此外,在关于用户的任何信息被收集并且存储在用户实体数据215中之前,可以要求用户选择加入或以其他方式同意这样的信息的收集和存储。

当在内部传感器数据135和/或外部传感器数据145中标识实体167之后,实体标识器210可以从标识的实体167选择一个或多个“感兴趣实体”。在一些实现方式中,感兴趣实体可以是用户最可能感兴趣的标识的实体167的子集。如可以领会到的,可以从传感器数据标识大量实体167,并且因此通过个人数字助理应用112向用户呈现与所有标识的实体167相关的信息可能对用户来说是压倒性的。

在一些实现方式中,可以通过对每个标识的实体167评分并且选择具有最高得分的实体167来选择感兴趣实体。备选地,可以选择得分高于阈值得分的实体167。例如,阈值可以由管理员选择或基于用户偏好而被选择。

在一些实现方式中,用于实体167的得分可以基于用户查询数据225和/或全局查询数据223。用户查询数据225可以包括由个人数字助理应用从用户接收的查询的历史。用户查询数据225还可以包括与用户相关联的其他类型的查询,诸如与用户相关联的因特网搜索历史。

例如,在标识的实体167是汽车并且用户先前执行了针对汽车的因特网搜索时,汽车实体167可以被评分为高于实体167(诸如用户先前未被搜索过的树)。

全局查询数据223可以包括从个人数字助理应用的很多用户接收的查询的历史。类似于用户查询数据225,全局查询数据223可以包括其他类型的查询,诸如个人数字助理应用的用户中的一些或所有用户的因特网搜索历史,或不是个人数字助理应用的用户的用户的搜索历史。

通过使用全局查询数据223来对实体167评分,即使用户先前未遇到或查询特定实体167,也可以标识可能的感兴趣实体。此外,使用全局查询数据223进行评分可以允许实体标识器210预测用户可能感兴趣的实体167。例如,如果标识的实体167是作为社交媒体上的趋势的特定名人,则可以增加针对标识的实体167的得分,因为用户可能很可能在将来对实体167表示出兴趣。

当对实体167评分时可以考虑其他信息,诸如实体167的定位或与实体167相关联的传感器数据的类型。例如,在内部传感器数据135是视频时,焦点中或者更接近客户端设备110的用户的实体167可以被评分为高于远离用户或以其他方式在焦点外的实体167。另外,某些类型的实体167可以比其他类型的实体167更被喜爱。例如,作为人(尤其是用户已知的人)的标识的实体167可以被评分为高于无生命对象或其他类型的实体167。

实体167如何被评分可以进一步基于由用户或管理员设置的偏好,这取决于实现方式。用户可以通过使用个人数字助理112调节他们的偏好来调节实体167如何被评分。

实体标识器210可以将标识的感兴趣实体与实体167的一个或多个属性一起呈现给个人数字助理应用。属性可以是关于标识的实体167的描述性信息。取决于实现方式,描述性信息可以从全局实体数据213和/或与标识的实体167相关联的用户实体数据215取得。这一信息可以用于包括实体167的名称以及诸如实体167被标识的最后时间的信息。

个人数字助理应用可以接收标识的感兴趣实体,并且可以在客户端设备110的显示器上显示感兴趣实体中的一些或所有感兴趣实体的指示。例如,在内部传感器数据135是视频时,个人数字助理应用112可以在视频中的感兴趣实体周围突出显示或绘制框。如果用户选择显示的感兴趣实体之一,则个人数字助理应用112可以显示与选择的感兴趣实体相关联的属性信息。

查询引擎220可以基于用户输入137来确定一个或多个查询,并且可以响应于查询而生成结果177。取决于实现方式,用户可以通过将查询说出到与客户端设备110相关联的麦克风中来提供用户输入137,或者用户可以使用由客户端设备110提供的触摸界面来键入查询。可以使用用于提供用户输入137的其他方法。

确定的查询可以是手势、自然语言查询,或者可以使用由实体引擎120支持的查询语言或语法而被构造。查询可以包括spjua查询。例如,用户可以构建诸如“房子前面的汽车的总数是多少?”或“我本周看到多少苹果?”的查询。可以由查询引擎220使用用于标识和/或处理查询的任何方法或技术。

查询引擎220可以基于标识的实体167中的一些或全部标识的实体或者基于显示的感兴趣实体来完成查询。例如,用户可以提供查询“我看到多少棵树?”。作为响应,查询引擎220可以计算作为树的标识的实体167的数目,并且可以呈现数目作为结果177。

查询引擎220可以使用用户实体数据215来完成查询。例如,用户可以提供查询“我今天看到stevesmith多少次?”。作为响应,查询引擎220可以对实体167“stevesmith”出现在具有与今天的日期匹配的日期的用户实体数据215中的次数计数,并且可以呈现数目作为结果177。

查询引擎220可以使用一个或多个内部数据源229和一个或多个外部数据源227来完成查询。内部数据源229可以包括诸如联系人、与用户相关联的日历信息或与用户相关联或由用户提供的其他信息等数据。外部数据源227可以包括来自诸如在线百科全书的来自因特网的来源以及诸如产品信息的结构化数据源的数据。

例如,关于外部数据源227,用户可以提供诸如“我看到的所有汽车的总重量是多少?”的查询。为了完成查询,查询引擎220可以对作为汽车的标识的实体167的数目计数,并且从诸如在线百科全书的外部数据源227确定汽车的平均重量。备选地,在标识的实体167的属性包括每辆汽车的品牌和型号时,查询引擎220可以使用诸如指示每个品牌和型号的汽车的实际重量的结构化数据的外部数据源227来完成查询。

在一些实现方式中,确定的查询可以是不明确的,并且在查询可以被回答之前,查询引擎220可以首先必须解析查询。例如,用户可以做出诸如“那是谁?”的模糊查询。在查询引擎220可以响应于查询来生成结果177之前,查询引擎220可以首先确定用户用“那”表示什么实体167。

相应地,为了解析查询,查询引擎220可以确定什么被称为上下文。例如,针对查询的上下文可以基于当前标识的实体167的属性以及任何最近接收的用户输入137。可以使用用于确定查询上下文的任何方法。

在一些实现方式中,查询引擎220可以基于用户查询数据225和/或全局查询数据223以及提供的感兴趣实体来预测或推断用户可能感兴趣的查询,而不是等待用户向个人数字助理应用提交查询。

例如,如果标识的感兴趣实体是一块蛋糕,则查询引擎220可以基于全局查询数据223来确定最流行的查询是“一块蛋糕中有多少卡路里?”。查询引擎220可以完成推断的查询,并且可以将确定的卡路里的数目提供给客户端设备110的个人数字助理应用112。个人数字助理112可以在客户端设备110的显示器上显示邻近相关联的实体167的卡路里,或者可以询问用户“你想知道一块蛋糕中有多少卡路里吗?”。

规则引擎230可以将一个或多个规则139应用于标识的实体167。每个规则139可以与一个或多个动作以及一个或多个实体167相关联,上述一个或多个实体167在标识的实体167中的存在(或不存在)将触发规则139,并且导致相关联的动作的执行。动作可以包括可以由计算机或一组计算机执行的任何(多个)步骤或(多个)过程。示例动作可以包括生成通知169,发出一个或多个警报,联系当局,打开或关闭一个或多个设备,进行购买,转移资金,在数据库中进行录入,等等。生成的通知169可以包括任何类型的电子通知,包括但不限于文本消息、电子邮件消息和语音邮件消息。

在一些实现方式中,规则139可以由与客户端设备110相关联的用户创建。用户可以将规则139说出到与客户端设备110相关联的麦克风中,或者可以将规则139键入到与客户端设备110相关联的触摸界面中。个人数字助理应用112可以将规则139提供给规则引擎230。取决于实现方式,规则引擎230可以将来自用户的接收的规则139存储在用户规则数据235中,并且可以从用户规则数据235应用规则139,直到用户另外指示。

例如,用户可以说出规则139“当有人进入我的房子时让我知道”。当来自传感器数据的标识的实体167包括人并且具有指示此人已经进入用户的房子的位置时,规则引擎230可以生成通知169。

在另一示例中,用户可以说出规则139“当我的女儿接近刀子(或一般的尖锐物体)时提醒我”。每当来自传感器数据的标识的实体167包括在某个阈值距离内的刀子和用户的女儿两者时,规则引擎230可以生成通知169。

在另一示例中,用户可以创建利用社交网络联系人或与用户相关联的其他联系人的规则139。例如,用户可以创建规则139,当系统检测到用户可能要吃超过阈值量的卡路里时,或者当用户正在吸烟或将要吸烟时,规则139向用户联系人中的一个或多个用户联系人发送消息。取决于实现方式,当用户通过社交网络加入与减肥或戒烟相关联的组时,可以针对用户自动地创建这些规则139。

在一些实现方式中,规则引擎230还可以应用来自全局规则数据233的一个或多个规则139。全局规则数据233可以包括广泛地应用于实体引擎120的用户中的一些或所有用户并且可以已由管理员创建的规则169。这样的规则139的示例可以是当用户的脉搏超过某个阈值时生成通知169,或者当已经激活与用户的住所相关联的安全警报时生成通知169。可以支持其他类型的规则。全局规则数据233中的规则169中的每个规则可以根据用户偏好而被激活或解激活。

如可以领会到的,实体引擎120针对各种专用应用提供框架。每个应用可以被实现为独立的“app(应用)”,并且可以可用于用户从应用商店下载。一个这样的应用是个人阅读器。当用户希望书籍、杂志、报纸或其他文本材料被朗读给他们时,用户可以使用与客户端设备110相关联的相机来捕获文本材料的图像或视频,并且可以说出或输入查询或命令,诸如“向我朗读这个”。

实体引擎120可以标识图像中的文本材料(通过检测条形码,使用ocr检测标题,等等),并且实体引擎120可以提供个人数字助理应用112可以向用户“朗读”的文本作为结果177。在一些实现方式中,可以通过定位标识的文本的电子书或电子版本,或者通过从网页或其他外部数据源227取回文本来确定文本。备选地,实体引擎120可以直接从由客户端设备110提供的视频获取文本,并且可以周期性地要求用户“翻页”因而可以取回附加文本。实体引擎120可以标识页面上的页面号以确保用户没有跳过页面。在文本材料是除了由用户说出的主要语言之外的语言时,实体引擎120可以使用各种翻译工具或api来翻译文本。

继续上面的示例,当用户阅读文本材料时,可以在文本材料中标识实体167。标识的实体167可以包括在文本材料中被描述的或者在文本材料的图片中被示出的人物角色、人、地点和对象。这些标识的实体167可以由实体引擎120用来回答针对用户的查询,或者触发如上所述的一个或多个规则。

用于实体引擎120的另一示例应用是健康助理。实体引擎120可以标识作为食物的实体167,并且可以在用户实体数据215中跟踪由用户吃掉的食物,或者可以从外部数据源227提供与标识的食物相关的营养信息。标识的食物可以被用来触发与由用户消耗的卡路里的数目相关的规则139。例如,当用户超过他们当天的卡路里目标时,或者在他们当天的卡路里目标的某个阈值内时,可以警告用户。如可以领会到的,食物相关信息可以与从与用户相关联的健身追踪器接收的外部传感器数据145相关,以允许基于消费和消耗的卡路里二者的更复杂的规则139。健康助理可以类似地跟踪由用户消耗的水的量。

健康助理应用可以引起实体引擎120周期性地收集包括膳食的传感器数据并且日志记录在用户实体数据215中被标识的食物。这一历史膳食数据可以由健康助理用来回答诸如“我昨晚吃了多少卡路里”和“我最后一次吃汉堡包是什么时候?”的查询。历史数据还可以包括与每餐相关联的位置和/或每餐发生的餐馆的标识符,以允许诸如“我最后一次在这里吃饭是什么时候?”和“我最后一次在这家餐厅时吃了什么?”的查询。

健康助理可以能够跟踪由用户服用的药物,以确保用户正在服用正确的剂量并且确保与用户相关联的医生知道用户正在服用的药物。例如,实体引擎120可以基于与药物相关联的大小、颜色和其他标记来在传感器数据标识与特定药物对应的实体167。实体引擎120可以在用户实体数据215中跟踪用户服用了哪些药物。特定药物在指定的时间是否被标识可以被用来触发可以提醒用户服用药物或者可以通知医生药物已经被服用的规则139。可以将任何新标识的药物发送给医生,以确保医生知道用户正在服用的所有药物。

针对实体引擎120的另一示例应用是家庭助理。在一个场景中,实体引擎120可以确定在未被占用的房间中灯亮,并且可以基于该确定来采取一个或多个动作。例如,基于诸如安全相机或与视频游戏机相关联的相机的外部传感器数据145,实体引擎120可以标识作为其中还没有标识出作为人的实体167的房间中的灯的实体167。灯和没有人的存在可以触发规则139,规则139使得通知169被提供给用户。在实体引擎120被集成到家庭自动化系统中时,可以提供关闭灯的指令。例如,类似的功能可以被用来跟踪家庭成员看电视的时间,确定水龙头正在泄漏或无人看管的情况,或者确定窗户或门是否已经被打开。

在用于家庭助理的另一场景中,实体引擎120可以跟踪冰箱的内容。当食物实体167被添加到冰箱和从冰箱移除时,它们被传感器捕获,并且由实体引擎120标识。实体引擎120可以跟踪用户实体数据215中的食物实体167以及诸如到期日期的信息。用户可以在某些食品实体167被消费和/或到期时接收补充它们的通知169。类似的功能可以被用来跟踪清洁用品或可能被耗尽的其他商品。

图3是示例客户端设备300的图示。在该示例中,客户端设备300是包括触摸屏307的智能电话或平板计算机。虽然未被示出,但是客户端设备300还包括生成包括被显示在触摸屏307上的视频内容的内部传感器数据135的后置相机。客户端设备300可以由一个或多个计算设备(诸如关于图12而被描述的计算设备1200)实现。

在所示的示例中,用户已经激活了在客户端设备300上执行的个人数字助理应用,并且响应于激活,实体标识器210已经标识了视频数据中的若干实体167。标识的实体167包括一组钥匙305a、一罐苏打水305b、一个人305c和一块披萨305d。取决于实现方式,实体标识器210可以在用户数据215中日志记录了标识的实体167中的一些或所有标识的实体。

如用户界面元素310中所示,个人数字助理应用可以已经通过询问“我能如何帮助你?”来提示用户提供查询。此外,实体标识器210可以已经标识出一块披萨305d作为感兴趣实体,如由提示“你对披萨感兴趣吗?”所指示的。

继续图4,用户已经说出“是”,其由个人数字助理应用解释为用户指示他们对一块披萨305d感兴趣。相应地,个人数字助理应用已经显示了包括与一块披萨305d相关联的属性的用户界面元素410。例如,查询引擎220可以已经从外部数据源227和内部数据源229选择了属性。

继续图5,用户继续与个人数字助理应用交互,并且如在用户界面元素510中所指示的提供了查询“这顿饭中有多少卡路里?”。为了完成查询,查询引擎220可以解析查询。例如,查询引擎220可以确定术语“一顿饭(meal)”指的是食物,并且在包括标识的实体167的上下文中,存在作为食物的两个实体167(即,一罐苏打水305b和一块披萨305d)。

在解析查询之后,查询引擎220完成来自内部数据源229和外部数据源227中的一者或两者的查询。例如,查询引擎220可以从具有用于各种食物的营养信息的结构化数据库确定一块披萨305d和一罐苏打水305b中的卡路里。如果查询引擎220不能将一块披萨片305d与“已知”的一块披萨完全匹配,或者具有多个匹配,则可以考虑附加信息,诸如指示用户所在的餐馆的位置。该位置可以被用来标识具有特定于餐馆的营养信息的数据库。备选地,可以从与餐馆相关联的网站取回卡路里信息。

继续图6,查询引擎220已经将查询的结果177提供给客户端设备300的个人数字助理应用。个人数字助理已经在触摸显示器307上在用户界面元素610中向用户显示了结果177。

继续图7,用户继续与个人数字助理应用交互并且已经提供了如在用户界面元素710中所指示的查询“窗口中的是谁?”。为了完成查询,查询引擎220可以确定术语“谁”和“窗口”指的是人305c。

在解析查询之后,查询引擎220完成来自内部数据源229和外部数据源227中的一者或两者的查询。例如,查询引擎220可以使用面部识别来确定人305c与用户的特定联系人的图像匹配,或者与关联于用户的社交联网应用中的简档图像匹配。可以使用其他方法或技术。

继续图8,查询引擎220已经将查询的结果177提供给客户端设备300的个人数字助理应用。个人数字助理应用在触摸显示器307上在将人305c标识为“robertsmith”的用户界面元素810中向用户显示结果。此外,显示其他信息,诸如如由用户实体数据215指示的人305c被标识的最后时间。其他信息可以包括人305c已经为自己定义的“状态信息”。例如,人305c可以已经指定了文本,诸如当实体引擎120遇到或标识它们时要显示的作业标题和最近的项目。也可以显示其他信息,诸如人305c是否已经由他们的相关联的设备认证。

如在用户界面元素815中所示,用户已经向客户端设备300的个人数字助理应用提供了“请在我下次接近他时提醒我”的规则139。基于诸如与人305c相关的先前提交的查询的上下文信息,规则引擎230可以将“他”解析为指代人305c。规则引擎230可以将规则139添加到用户规则数据235,每当标识的实体167包括在客户端设备300的用户的阈值距离内的人305c时,该规则139被触发。为了通知用户该规则已经被创建,个人数字助理应用已经在用户界面元素820中显示了“我将在robertsmith接近你时提醒你”的确认消息。

图9是用于基于在传感器数据中被标识的实体来执行与一个或多个规则相关联的动作的方法900的实现方式的操作流程。方法900可以由实体引擎120实现。

在902处,多个规则被存储。多个规则139可以由实体引擎120的规则引擎230存储为用户规则数据235。取决于实现方式,规则139可以由与客户端设备110相关联的用户使用个人数字助理应用创建。客户端设备110可以是智能电话、平板计算机、笔记本计算机、台式计算机、视频游戏机或任何其他类型的计算设备。

在904处,传感器数据被接收。传感器数据可以由实体标识器210从与用户相关联的客户端设备110或一个或多个其他客户端设备110接收。传感器数据可以包括内部传感器数据135和外部传感器数据145。内部传感器数据135可以是从作为客户端设备110的一部分的一个或多个内部传感器130(诸如相机、麦克风、加速度计等)接收的传感器数据。外部传感器数据145可以是从与不同于客户端设备110的客户端设备相关联的一个或多个外部传感器140(诸如视频游戏机、健身追踪器、安全系统等)接收的传感器数据。

在906处,多个实体从接收的传感器数据被标识。多个实体167可以由实体引擎120的实体标识器210标识。标识的实体167可以包括可以从传感器数据被标识的人、对象和位置。取决于实现方式,实体标识器210可以使用涉及标识不同类型的实体167的一个或多个api(例如,面部识别、对象识别、ocr等)来标识实体167。

在908处,与多个实体中的实体匹配的一个或多个规则被确定。一个或多个匹配规则139可以由实体引擎120的规则引擎230确定。每个规则139可以与一个或多个实体167或实体167的属性相关联,实体167在标识的实体167中的存在(或不存在)可以触发规则139。每个规则139可以进一步利用其他信息,诸如历史信息、时间信息和位置信息。示例规则可以包括“当某人在不是st.patrick’sday时穿着绿色毛衣时提醒我”以及“当john穿着与他昨天穿的颜色不同颜色的裤子时提醒我”。在一些实施例中,规则引擎230可以通过将与规则139相关联的实体167与标识的实体167比较来确定规则139是否与标识的实体167匹配。

在910处,与确定的一个或多个规则中的至少一个规则相关联的动作被执行。该动作可以由实体引擎120的规则引擎230执行。每个规则139可以与当特定规则139由规则引擎230匹配时被执行的一个或多个动作相关联。示例动作可以包括发送一个或多个通知169,发出警报或者生成电子消息或指令。新规则139和/或动作可以由开发者添加到规则引擎230。

图10是用于提供用于在传感器数据中被标识的实体的信息的方法1000的实现方式的操作流程。方法1000可以由实体引擎120实现。

在1002处,传感器数据被接收。传感器数据可以由实体标识器210从与用户相关联的客户端设备110或一个或多个其他客户端设备110接收。传感器数据可以包括内部传感器数据135和外部传感器数据145。

在1004处,用户输入被接收。用户输入137可以由实体引擎120的实体标识器210接收。用户输入137可以包括来自客户端设备110的用户的口头命令或短语,和/或可以包括由用户在与客户端设备110相关联的触摸界面上做出的文本或手势。在一些实现方式中,用户输入137可以包括查询。

在1006处,多个实体从接收的传感器数据被标识。实体标识器210可以使用用户输入137和涉及标识不同类型的实体167的一个或多个api来标识实体167。

在1008处,感兴趣实体从多个实体被确定。感兴趣实体可以由实体标识器210基于用户输入137从标识的实体167确定。例如,在用户输入137指示用户想要知道传感器数据的视频部分中的人的姓名时,实体标识器210可以确定作为感兴趣实体的人的标识实体167。

另外,可选地,实体标识器210可以基于来自全局查询数据223的用户输入和/或因特网搜索历史数据来计算用于每个标识的实体167的得分。因特网搜索历史数据可以包括受欢迎和被搜索的实体167的类型和名称,并且因此可以帮助确定标识的实体167中的哪个实体可能是用户感兴趣的。

在1010处,与确定的感兴趣实体相关联的信息被确定。与确定的感兴趣实体相关联的信息可以是感兴趣实体的属性,并且可以由实体引擎120的实体标识器210确定。取决于实现方式,属性可以使用一个或多个内部数据源229或外部数据源227而被确定。

在1012处,确定的信息被。确定的信息可以由实体引擎120的实体标识器210提供给在客户端设备110上执行的个人数字助理应用。

图11是用于基于查询来确定与在传感器数据中被标识的一个或多个实体相关联的属性的方法1100的实现方式的操作流程。方法1100可以由实体引擎120实现。

在1102处,传感器数据被收集。传感器数据可以由与用户相关联的客户端设备110或一个或多个其他客户端设备110收集。取决于实现方式,传感器数据可以响应于用户激活在客户端设备110上执行的个人数字助理应用而被收集。

在1104处,用户输入被接收。用户输入137可以由实体引擎120的实体标识器210接收。用户输入137可以包括来自客户端设备110的用户的口头命令或短语,和/或可以包括由用户在与客户端设备110相关联的触摸界面上做出的文本或手势。

在1106处,查询基于用户输入而被确定。查询可以由实体引擎120的查询引擎220确定。在一些实现方式中,查询可以由查询引擎120通过使用自然语言处理或其他处理来解析用户输入137以确定查询由用户提供作为用户输入137的一部分而被标识。

在1108处,多个实体从收集的传感器数据被标识。实体标识器210可以使用用户输入137和涉及标识不同类型的实体167的一个或多个api来标识实体167。

在1110处,多个实体中的一个或多个感兴趣实体被确定。一个或多个感兴趣实体可以由实体标识器210基于用户输入137和/或确定的查询从标识的实体167确定。

备选地,在用户输入137中没有明确地包括查询时,查询引擎220可以推断或猜测用户可能询问的查询。取决于实现方式,查询引擎220可以基于接收的用户输入、确定的一个或多个感兴趣实体以及诸如全局查询数据223的搜索历史数据来推断查询。

在1112处,与一个或多个感兴趣实体相关联的属性被确定。属性可以由查询引擎220通过使用外部数据源227和内部数据源229中的一个或多个完成确定的查询来确定。

在1114处,确定的属性中的一个或多个属性被显示。确定的属性中的一个或多个属性可以由个人数字助理应用在与客户端设备110相关联的显示器上显示。

图12示出了其中可以实现示例实施例和各方面的示例性计算环境。计算设备环境仅是合适的计算环境的一个示例,并且并不旨在对使用范围或功能提出任何限制。

可以使用很多其他通用或专用计算设备环境或配置。可能适合使用的公知的计算设备、环境和/或配置的示例包括但不限于个人计算机、服务器计算机、手持或膝上型设备、多处理器系统、基于微处理器的系统、网络个人计算机(pc)、小型计算机、大型计算机、嵌入式系统、包括任何上述系统或设备的分布式计算环境等。

可以使用由计算机执行的计算机可执行指令,诸如程序模块。通常,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等。可以使用其中任务由通过通信网络或其他数据传输介质而被链接的远程处理设备执行的分布式计算环境。在分布式计算环境中,程序模块和其他数据可以被定位在包括存储器存储设备的本地和远程计算机存储介质两者中。

参考图12,用于实现本文中描述的各方面的示例性系统包括计算设备,诸如计算设备1200。在它的最基本的配置中,计算设备1200通常包括至少一个处理单元1202和存储器1204。取决于计算设备的确切的配置和类型,存储器1204可以是易失性的(诸如随机存取存储器(ram))、非易失性的(诸如只读存储器(rom)、闪存等)或者这两者的某种组合。这一最基本的配置在图12中通过虚线1206表示。

计算设备1200可以具有附加特征/功能。例如,计算设备1200可以包括附加存储装置(可移除和/或不可移除),包括但不限于磁盘或光盘或磁带。这样的附加存储装置在图12中由可移除存储器1208和不可移除存储器1210示出。

计算设备1200通常包括各种计算机可读介质。计算机可读介质可以是可以由设备1200访问的任何可用介质,并且包括易失性和非易失性介质、可移除和不可移除介质。

计算机存储介质包括以用于存储诸如计算机可读指令、数据结构、程序模块或其他数据等信息的任何方法或技术实现的易失性和非易失性以及可移除和不可移除介质。存储器1204、可移除存储1208和不可移除存储1210都是计算机存储介质的示例。计算机存储介质包括但不限于ram、rom、电可擦除程序只读存储器(eeprom)、闪存或其他存储器技术、cd-rom、数字通用盘(dvd)或其他光学存储器、磁带盒、磁带、磁盘存储器或其他磁存储设备、或者可以用于存储期望的信息并且可以由计算设备1200访问的任何其他介质。任何这样的计算机存储介质可以是计算设备1200的一部分。

计算设备1200可以包含允许设备与其他设备通信的(多个)通信连接1212。计算设备1200还可以具有(多个)输入设备1214,诸如键盘、鼠标、笔、语音输入设备、触摸屏等。还可以包括(多个)输出设备1216,诸如显示器、扬声器、打印机等。计算设备1200还可以从一个或多个传感器1217接收数据。(多个)传感器1217可以包括相机、麦克风、加速度计、全球定位系统(gps)、接近传感器、陀螺仪等中的一个或多个。这些装置和传感器在本领域中是公知的,并且这里不需要详细讨论。附加地或备选地,(多个)传感器1217可以包括传感器,诸如上面描述为(多个)内部传感器130和/或(多个)外部传感器140的传感器。

应当理解,本文中描述的各种技术可以结合硬件组件或软件组件而被实现,或者在适当的情况下结合两者的组合而被实现。可以使用的示例性硬件组件类型包括现场可编程门阵列(fpga)、专用集成电路(asic)、特定应用标准产品(assp)、片上系统(soc)、复杂可编程逻辑器件(cpld)等。当前公开的主题内容的方法和装置或者其某些方面或部分可以采用有形介质中包含的程序代码(即,指令)的形式,诸如软盘、cd-rom、硬盘驱动器或任何其他机器可读存储介质,其中当程序代码被加载到诸如计算机等机器中并且由其执行时,该机器成为用于实践当前公开的主题内容的装置。

在一种实现方式中,提供了一种用于基于传感器数据来自动地标识实体并且用于基于标识的实体来执行一个或多个动作的系统。该系统包括至少一个计算机和实体引擎。实体引擎适于存储多个规则。每个规则都与实体和动作相关联。实体引擎还适于:从多个传感器接收传感器数据;从传感器数据标识多个实体;确定与多个实体中的实体匹配的多个规则中的一个或多个规则;以及执行与确定的一个或多个规则中的至少一个规则相关联的动作。

实现方式可以包括以下特征中的一些或全部。多个传感器可以包括多个内部传感器和多个外部传感器。多个外部传感器可以与相机、健身追踪器、安全系统或视频游戏机中的一种或多种相关联,并且多个内部传感器可以包括麦克风、加速度计、相机、接近传感器、计步器或全球定位系统(gps)中的一种或多种。实体引擎还可以适于将标识的多个实体中的一个或多个实体的指示符存储在与至少一个计算机的用户相关联的日志中。每个指示符可以与指示的实体被标识的时间和指示的实体被标识的位置相关联。实体引擎还可以适于接收多个规则中的一个或多个规则。实体引擎还可以适于:确定多个实体中的感兴趣实体;确定与感兴趣实体相关的属性;以及在设备上显示确定的属性中的一个或多个属性。适于从传感器数据标识多个实体的实体引擎可以包括适于使用传感器数据、一个或多个先前标识的实体和先前接收的传感器数据来从传感器数据标识多个实体的实体引擎。实体引擎可以被实现在至少一个计算设备或云计算平台中的一者或两者上。

在一种实现方式中,提供了一种用于基于传感器数据来自动地标识实体并且用于基于标识的实体来提供属性的系统。该系统包括至少一个计算机和实体引擎。实体引擎适于:从设备的多个传感器接收传感器数据;从传感器数据标识多个实体;确定多个实体中的感兴趣实体;确定与感兴趣实体相关的属性;以及在设备上显示一个或多个确定的属性。

实现方式可以包括以下特征中的一些或全部。实体引擎还可以适于:接收与设备的用户相关联的用户输入;以及基于用户输入来确定多个实体中的感兴趣实体。实体引擎还可以适于:存储多个规则,其中每个规则与实体和动作相关联;确定与多个实体中的实体匹配的多个规则中的一个或多个规则;以及执行与确定的一个或多个规则中的至少一个规则相关联的动作。该动作可以包括生成警报、生成通知、执行因特网搜索、执行文本到语音翻译、查找位置以及执行金融交易中的一个或多个。该设备可以包括智能电话、笔记本计算机、台式计算机或平板计算机中的一种或多种,并且多个传感器包括麦克风、加速度计、相机、接近传感器、计步器和全球定位系统(gps)中的一种或多种。

在一种实现方式中,提供了一种用于基于传感器数据来自动地标识实体并且用于确定与标识的实体相关联的属性的方法。该方法包括由设备从与设备相关联的多个传感器中的一个或多个传感器收集传感器数据;由设备从传感器数据标识多个实体;由设备接收用户输入;由设备基于接收的用户输入来从多个实体确定一个或多个感兴趣实体;由设备基于接收的用户输入来确定查询;由设备基于查询来确定与一个或多个感兴趣实体相关联的属性;以及由设备在与设备相关联的显示器上显示确定的属性中的一个或多个属性。

实现方式可以包括以下特征中的一些或全部。该方法还可以包括将标识的多个实体中的一个或多个实体的指示符存储在与至少一个计算机的用户相关联的日志中。每个指示符可以与指示的实体被标识的时间和指示的实体被标识的位置相关联。从传感器数据标识多个实体可以包括使用传感器数据、一个或多个先前标识的实体和先前接收的传感器数据来从传感器数据标识多个实体。该方法还可以包括确定与多个实体中的实体匹配的多个规则中的一个或多个规则;以及执行与被确定为与多个实体中的实体匹配的每个规则相关联的动作。查询可以是选择、计划、加入、联合和聚合(spjua)查询。

尽管示例性实现方式可以是指在一个或多个独立计算机系统的上下文中利用当前公开的主题内容的各方面,但是主题内容不限于此,而是可以结合诸如网络或分布式计算环境等任何计算环境而被实现。更进一步地,当前公开的主题内容的各方面可以在多个处理芯片或设备中或跨多个处理芯片或设备被实现,并且存储可以类似地在多个设备上被实现。例如,这样的设备可以包括个人计算机、网络服务器和手持设备。

尽管用结构特征和/或方法动作特定的语言描述了本主题内容,但是应当理解,所附权利要求书中定义的主题内容不必限于上述具体特征或动作。而是,上述具体特征和动作被公开作为实现权利要求的示例形式。

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