人物相关性平台的制作方法

文档序号:16050251发布日期:2018-11-24 11:13阅读:159来源:国知局

考虑到许多用户不断扩大的社交网络,应用和服务的各种实现已经演进以管理用户联系人以及与其的交互。一般地,这些实现根据一组或多组标准来组织用户联系人。例如,由于用户联系人多新近地被联系过与该用户联系人与用户的相关性之间的正相关,因此用户联系人可以按最新近被联系过来布置。在复杂的场景中,该关联被细化为使用联系人的新近度以及用户身份(例如,个人账户相对职业账户)来计算。然而,这些实现很大程度上排除了基本上下文线索,并且忽略了用户使用统一账户在单个设备上在多个上下文(例如,个人和职业)中操作的场景。作为结果,常常利用不足以精确地确定用户意图或者最相关的用户联系人的用户信号来生成相关性。

已经关于这些和其他考虑而进行了在本文中所公开的方面。并且,尽管已经讨论了相对具体的问题,但应当理解的是,所述示例不应当限于解决在背景技术中或在该公开的其他地方所标识的具体问题。



技术实现要素:

提供了该发明内容以用简化的形式引入在下文的具体实施方式中所进一步描述的概念的选择。该发明内容不旨在标识所要求保护的主题的关键特征或本质特征,也不旨在帮助确定所要求保护的主题的范围。

本公开的示例描述了提供人物相关性平台的系统和方法。在多个方面中,可以由用户的客户端设备上的应用或服务来生成事件。所述事件(及其方面)可以被发送至服务器设备上的人物相关性平台。所述人物相关性平台可以使用所述事件来针对与用户相关联的用户联系人对一个或多个数据源进行查询。人物相关性平台可以使用用户联系人数据来生成/修改图或模型,并且可以将用户联系人数据提供至客户端设备。所述客户端设备可以更新本地高速缓存并且将用户联系人数据提供至始发应用。客户端设备可以监视对联系人的用户选择,并且将选择信息发送至人物相关性平台。人物相关性平台可以基于所述选择信息来修改所述图和/或模型。

提供了该发明内容以用简化的形式引入在下文的具体实施方式中所进一步描述的概念的选择。该发明内容不旨在标识所要求保护的主题的关键特征或本质特征,也不旨在用于限制所要求保护的主题的范围。示例的额外方面、特征、和/或优点将在以下说明书中部分地被阐述,并且部分地从说明书中显而易见,或者可以从本公开的实践中学习到。

附图说明

关于以下附图描述了非限制性和非详尽的示例。

图1示出了如在本文中所描述的用于实现人物相关性平台技术的示例系统的概述。

图2示出了如在本文中所描述的在人物相关性平台系统中在客户端设备与服务器设备之间的示例相互作用。

图3示出了如在本文中所描述的在人物相关性平台中确定联系人相关性的示例方法。

图4是示出了利用其可以实践本公开的方面的计算设备的示例物理组件的框图。

图5a和5b是利用其可以实践本公开的方面的移动计算设备的简化框图。

图6是其中可以实践本公开的方面的分布式计算系统的简化框图。

图7示出了用于执行本公开的一个或多个方面的平板计算设备。

具体实施方式

在下文中参考形成了其一部分并且示出了具体示例性方面的附图更加完整地描述了各种方面。然而,多个方面可以以许多不同的形式来实现,并且不应当被理解为限于在本文中所阐述的方面;相反,提供了这些方面以使得该公开将是彻底和完整的,并且将向本领域技术人员完全传达所述方面的范围。方面可以被实践为方法、系统、或设备。由此,多个方面可以采取硬件实现、完全软件实现、或者组合软件和硬件方面的实现的形式。因此,以下的详细描述不被认为是限制性意义。

本公开提供了用于提供人物相关性平台的系统和方法。在多个方面中,事件可以由用户的客户端设备上的应用来生成。如在本文中所使用的,事件可以指的是由客户端设备所生成的通知、请求、结果集合、活动、响应、消息等。所述事件可以响应于从服务、应用、或其他设备所接收的用户输入或数据而被生成。客户端设备可以识别和/或确定与该事件相关联的相关内容。如在本文中所使用的,相关内容可以是指与用户上下文数据相关的数据信号,所述用户上下文数据例如用户账户/身份信息、设备信息、被引用的和始发应用、通信方法、通信频率、维度信息(例如,时间和位置)、小组和小组成员、声明和暗示的关系、所声明的用户联系人的重要性等。客户端设备可以将事件和/或相关内容发送至服务器设备上的人物相关性平台。如在本文中所使用的,人物相关性平台可以是指跨平台基础结构,其用于在已知一组输入的情况下提供算法上确定行为模式的能力。人物相关性平台可以使用事件和/或事件的相关内容来针对与用户相关联的用户联系人对一个或多个数据源进行查询。在示例中,数据源可以包括数据库、设置、数据文件、应用数据、通信数据、用户查询、用户选择、用户事务、内容提供者、web资源、地理位置信息、日期和时间等。在至少一个示例中,数据源中的一个或多个可以包括不同的平台、操作系统、和/或配置或者与它们相关联。由此,人物相关性平台可以提供跨平台的数据聚合和通信。从所述数据源所接收的用户联系人数据可以表示各种用户上下文、行为信息、和/或用户意图。

在一些方面中,人物相关性平台可以聚合从所述数据源接收的用户联系人数据。可以使用聚合的用户联系人数据来生成针对用户联系人的一个或多个相关性计算。例如,人物相关性平台可以将用户联系人数据提供为对相关性算法或机器学习模型的输入。如在本文中所使用的,模型可以是指统计学语言模型,其可以用于确定一个或多个词语和/或字符序列上的概率分布,和/或用于根据一个或多个预测器来预测响应值。在示例中,模型可以是基于规则的模型、机器学习回归元、机器学习分类器、神经网络等。相关性算法/模型可以输出根据(或者以其他方式关联于)基于上下文的相关性度量来组织的用户联系人的列表。人物相关性平台可以使用该用户联系人数据和/或用户联系人的列表来生成或修改用户的社交相关性图。社交相关性图可以示出数据,例如用户联系人的相关性计算/排名、相关性标准、相关性数据信号、用户联系人趋势和分析等。在至少一个示例中,人物相关性平台可以提供用于导航并且与社交相关性图交互的界面。

在多个方面中,人物相关性平台可以将所生成的用户联系人的列表提供至客户端设备。在接收了用户联系人的列表之后,客户端设备可以更新包括用户联系人信息和/或用户上下文信息的本地高速缓存。在至少一个示例中,客户端设备可以将数据(例如,相关内容)从本地高速缓存发送至人物相关性平台,如在上文中所描述的。客户端设备可以将用户联系人的列表的至少一部分提供至始发应用。始发应用进而可以经由界面将用户联系人的列表提供给用户。该界面可操作以使得用户能够选择用户联系人的列表上的用户联系人和/或没有在用户联系人的列表上的用户联系人中的一个或多个。客户端设备可以监视从用户联系人的列表对用户联系人的用户选择,并且可以将选择信息发送至人物相关性平台。人物相关性平台可以使用选择信息来修改社交相关性图和/或模型。例如,人物相关性平台可以提高用户联系人的相关性排名,设置或调节权重因数,修改相关性标准,记录新的关系等。在一些方面中,人物相关性平台可以针对将数据发送至人物相关性平台数据的每个应用而生成图和/或模型。在这样的方面中,针对每个应用的图和/或模型可以彼此分离,以使得对一个图/模型的修改并不修改或影响分离的图/模型。在其他方面中,人物相关性平台可以训练单个模型以根据每应用的基础来隔离(例如,仓储(silo))相关性数据和/或生成相关性度量。

由此,本公开提供多个技术优点,其包括但不限于:聚合用户上下文数据;算法上确定行为模式;改进用户联系人选择;精确地计算相关性度量;利用基于云的系统来进行相关性计算;提供多维度相关性确定;训练用于确定联系人相关性以及用于对联系人相关性因数加权的模型;对相关性数据的应用级仓储;以及改进利用本公开的示例的应用/服务的效率和质量,等等。

图1示出了如在本文中所描述的用于实现人物相关性平台技术的示例系统的概述。所呈现的示例系统100是互相依赖的组件的组合,它们交互以形成用于提供人物相关性平台的集成整体。所述系统的组件可以是硬件组件或者是在系统的硬件组件上执行和/或由系统的硬件组件执行的软件。在示例中,系统100可以包括硬件组件(例如,用于执行/允许操作系统(os))和在硬件上运行的软件组件(例如,应用、应用程序接口(api)、模块、虚拟机、运行时间库等)中的任何一个。在一个示例中,示例系统100可以提供由软件组件运行的环境,遵守用于操作的约束集合,并且利用系统100的资源或设施,其中,组件可以是在一个或多个处理设备上运行的软件(例如,应用、程序、模块等)。例如,软件(例如,应用、操作指令、模块等)可以在诸如计算机、移动设备(例如,智能电话/电话、平板设备)和/或任何其他电子设备之类的处理设备上运行。作为处理设备操作环境的示例对在图4-7中所描绘的示例操作环境进行参考。在其他示例中,在本文中所公开的系统的组件可以跨多个设备传播。例如,输入可以被输入在客户端设备上,并且信息可以从网络中的其他设备(例如,一个或多个服务器设备)而被处理或者访问。

作为一个示例,系统100包括客户端设备102a、客户端设备102b、客户端设备102c、分布式网络104,并且分布式服务器环境包括诸如服务器设备106a、服务器设备106b、和服务器设备106c之类的一个或多个服务器。本领域技术人员应当理解的是,诸如系统100之类的系统的规模可以不同,并且可以包括比在图1中所描述的系统更多或更少的组件。在一些示例中,在系统100的组件之间接合可以例如在系统100的组件可以跨分布式网络的一个或多个设备传播的地方远程地进行。

在多个方面中,客户端设备102a-c可以被配置为经由用户接口组件或其他输入单元(例如,设备传感器)来从用户接收输入。输入的示例可以包括语音、视觉、触摸和文本输入。设备传感器的示例可以包括磁性传感器、陀螺仪传感器、声学传感器、机械传感器、视觉传感器、gps传感器、以及近场通信(nfc)传感器。客户端设备102a-c可以至少部分地基于所接收的输入来生成一个或多个事件。例如,事件可以响应于用户输入或者响应于从服务、应用、或其他设备所接收的数据而被生成。客户端设备102a-c还可以被配置为确定与事件相对应的相关内容。在示例中,确定相关内容可以包括访问用户联系人和/或用户联系人上下文的数据存储(例如,文件、数据库、本地高速缓存等),以及识别时间上和/或上下文上与对应的事件相关联的内容。事件和所访问的数据的部分可以接着被发送至一个或多个服务器设备,例如,服务器设备106a-c。在至少一个示例中,事件和/或相关的内容数据可以经由通信信道或者由服务器设备所暴露的api而被发送至服务器设备。在多个方面中,客户端设备102a-c可以是具有类似配置的类似设备类型,具有不同配置的不同设备类型,或者其某一组合。而且,每个设备可以从单个用户(或用户账户)或者多个用户(或多个用户账户)接收输入。例如,用户可以使用客户端设备102a(例如,pc)、客户端设备102b(例如,移动电话)、和/或客户端设备102c(例如,平板设备)来提供输入或访问内容。在这样的示例中,客户端设备102a-c可以接着将由每个设备所生成/存储的相应的事件和相关内容发送至一个或多个服务器设备。

服务器设备106a-c可以被配置为接收和处理来自一个或多个客户端设备的事件数据(例如,事件和/或与所述事件相关联的相关内容)。在多个方面中,处理事件数据可以包括解析事件数据以识别例如标识用户和/或客户端设备的信息。在至少一个示例中,服务器设备106a-c可以额外地确定与事件数据相关联的一个或多个上下文。在这样的示例中,确定所述上下文可以包括利用对应的维度信息(例如,时间和位置)来识别和/或关联事件。服务器设备106a-c可以使用所识别的信息来生成与事件和/或上下文数据相对应的一个或多个查询。所述查询可以被发送至包括与所识别的用户的用户联系人相关的信息的一个或多个数据存储。在从数据存储接收了针对查询的至少一部分的响应之后,服务器设备106a-c可以聚合响应数据。经聚合的响应数据可以被提供至上下文相关性算法或模型以执行针对用户联系人的一个或多个相关性计算。相关性算法/模型可以输出根据(或者以其他方式关联于)基于上下文的相关性度量来组织的用户联系人的列表。服务器设备106a-c可以接着将聚合的联系人数据和/或经组织的用户联系人的列表发送至客户端设备102a-c。在一些方面中,服务器设备106a-c还可以被配置为使用事件数据、上下文数据、和/或响应数据的至少一部分来生成/修改社交相关性图或者相关性算法/模型。例如,服务器设备106a-c可以使用指示用户平均每天向用户联系人发送4条sms消息的事件数据来示出用户联系人的增加的相关性。额外地,服务器设备106a-c可以使用该事件数据来增加在相关性模型中sms通信的权重因数。

客户端设备102a-c还被配置为接收基于上下文的用户联系人数据。在多个方面中,客户端设备102a-c可以使用基于上下文的用户联系人数据来更新或修改包括预先存在的用户联系人和/或用户的上下文数据的本地数据存储。基于上下文的用户联系人数据可以被提供或者使得对发起事件的应用/服务或者与始发应用/服务相关联的应用/服务可访问。客户端设备102a-c还可以被配置为针对在基于上下文的用户联系人数据中对一个或多个联系人的用户选择,对接收基于上下文的用户联系人数据的应用/服务器进行监视。响应于检测到所述选择,可以将所述选择和/或选择数据发送至包括社交相关性图或者相关性算法/模型的服务器设备,例如服务器设备106a-c。服务器设备接着可以使用所述选择和/或选择数据来相应地修改与用户和/或应用相关联的图和/或模型。

图2示出了如在本文中所描述的在人物相关性平台系统中在客户端设备210与服务器设备220之间的示例相互作用。由客户端设备210和/或服务器设备220所实现的人物相关性平台技术可以包括在图1中所描述的人物相关性平台技术和输入。在可替代的示例中,单个系统(包括诸如处理器和/或存储器之类的一个或多个组件)可以执行分别在系统100和200中所描述的处理。此外,客户端设备210和/或服务器设备220可以包括如在图1的说明中所描述的用户接口组件。

参考图2,客户端设备210可以包括应用212和本地高速缓存214,每个具有一个或多个额外的组件。应用212可以被配置为使用与客户端设备210相关联的各种传感器和/或接口来接收输入和/或生成事件。例如,应用212可以是照片应用,其响应于使用客户端设备210共享、发布、或者钉住(pin)一个或多个照片而生成照片共享事件。照片共享事件可以包括一个或多个事件元素。如在本文中所引用的,事件元素可以提供与该事件相关联的细节,例如,事件元数据、维度数据、事件动作、事件参与者、内容标签、参考应用、系统/应用信息、用户信息等。例如,照片共享事件可以包括事件元素“事件_动作=共享”和“照片_内容=狗”。应用212可以确定照片共享事件要被发送至与服务器设备220相关联的人物相关性平台。在示例中,这样的确定可以包括识别与人物相关性平台相关联的收听者服务、组件、或api,识别/接收用于将事件发送至人物相关性平台的指令等。响应于该确定,应用212可以额外地将事件元素“用户=will_4321”、“应用=photoninja”、以及“日期=2016年11月1日”添加至照片共享事件。应用212可以接着将照片共享事件封装和/或存储在诸如本地高速缓存224之类的数据存储中。本地高速缓存214可以被配置为存储与用户联系人和/或用户上下文相对应的信息。本地高速缓存214可以由例如应用212来使用以确定要添加至事件或者从事件中移除的事件元素、与事件相关联的上下文、联系人相关性信息等。应用212可以额外地或者可替代地经由通信信道或者暴露的接口将照片共享事件发送至人物相关性平台。

服务器设备220可以包括人物相关性平台应用程序接口(prpapi)222、上下文引擎224、查询引擎226、以及相关性引擎228。prpapi222可以被配置为从诸如客户端设备210之类的一个或多个设备接收事件数据。在多个方面中,prpapi222可以将通信单元(例如,接口或者收听者组件)暴露给客户端设备。通信单元可以使得客户端设备能够使用例如一个或多个“post(发布)”调用(call)(或者功能等价物)来将信息(例如,用户数据、用户联系人数据、数据信号、和事件数据)提供至prpapi222。额外地或可替代地,通信单元可以使得prpapi222能够使用例如一个或多个“get(获得)”调用(或者功能等价物)来从客户端设备请求这样的信息。在至少一个方面中,prpapi222可以提供对将数据发送至prpapi222的客户端设备或应用的认证。prpapi222还可以提供使得第一方和第三方开发者能够访问、查询、和/或修改prpapi222的各种方面的接口。在从一个或多个客户端设备中接收了以上所描述的信息之后,prpapi222可以将该信息提供至服务器设备220的一个或多个组件,例如上下文引擎224。

上下文引擎可以被配置为处理所接收的事件数据。在多个方面中,对事件数据进行处理可以包括对事件数据进行解析以识别用户数据、设备数据、上下文信息等。作为示例,上下文引擎224可以使用模式匹配技术和/或解析工具来识别发起事件的用户、应用、和/或设备。所识别的事件信息接着可以用于确定针对动作和/或事件的一个或多个上下文。上下文的示例可以包括账户/身份信息、设备信息、被引用的和始发应用、事件通信方法、通信频率、维度信息(例如,时间和位置)、小组成员资格和小组成员、声明和暗示的关系、所声明的用户联系人的重要性等。在示例中,确定上下文可以包括使用一个或多个规则集合、模式匹配技术、或者机器学习模型来识别针对事件的关系和关联。基于所确定的上下文,上下文引擎224可以将一个或多个事件元素添加至该事件。例如,上下文引擎224可以访问信息或者以其他方式确定:当用户“will_4321”拍摄了一张狗的照片时,该用户位于特定的位置(例如,在家或者在狗公园)。响应于该确定,上下文引擎224可以将事件元素“位置=家”(或者“位置=狗公园”)添加至照片共享事件。上下文引擎224接着可以将事件数据提供至搜索工具,例如查询引擎226。

查询引擎226可以被配置为生成针对所接收的事件的查询。在多个方面中,查询引擎226可以使用事件或事件数据来确定要查询的数据源。在至少一个示例中,所述确定可以包括使用模式匹配来将事件元素中的一个或多个项目与一个或多个数据源中的数据进行比较。例如,用户“will_4321”可以使用照片管理应用来与他的“爱狗者”小组共享他的狗的图像。查询引擎226可以使用事件数据的特征(例如,用户id、文件扩展、小组名称等)来确定用户与“我的图片”目录和“我的小组”目录相关联。由此,查询引擎226可以将这两个目录标记为潜在的数据源。在另一示例中,所述确定可以包括使用先前的用户查询的数据存储来识别相关数据源。例如,查询引擎226可以分析用户的先前的查询的查询日志。由查询日志所标识的一个或多个数据源可以接着被标记为潜在的数据源。在另一示例中,所述确定可以包括使用统计学模型来识别与事件和/或动作相关联的域。在一些方面中,查询引擎226可以针对所识别的每个数据源生成至少一个查询。在其他方面中,查询引擎226可以生成单个查询并将其提交至搜索工具。所述搜索工具可以将查询分解成多个子查询。查询引擎226还可以被配置为将所生成的查询发送至所识别的一个或多个数据源,例如数据源230。数据源230可以包括数据库、用户/系统设置、数据文件、应用数据、内容提供者、web资源、通信数据、用户查询、用户选择数据、用户事务数据、地理位置信息等。在示例中,数据源230可以针对所接收的每个查询而生成一个或多个响应。所述响应可以包括与用户的用户联系人相关联的信息。例如,所述响应可以包括用户联系人的列表。所生成的响应可以被提供至查询引擎226(或者能够由查询引擎226访问)。

相关性引擎228可以被配置为确定针对一个或多个用户联系人的相关性度量。在多个方面中,相关性引擎228可以接收(或者以其他方式访问)使用数据源230生成的响应数据。相关性引擎228可以聚合所述响应数据并且从所述响应数据中导出一个或多个上下文信号。上下文信号可以用于计算针对用户联系人的列表中的一个或多个用户联系人的相关性分数或者排名。例如,响应于与事件元素“照片_内容=狗”相对应的查询,查询引擎226可以接收通常与狗的照片相关联的几个联系人。在特定的示例中,所述联系人可以与由用户所建立的“爱狗者”分配列表以及带有词语“狗”的通信被发送至和/或由用户接收的联系人的列表相关联。相关性引擎228可以聚合所述联系人并且识别针对聚合的联系人中的每个的发生和/或上下文的计数。基于所述计数,相关性引擎228可以在聚合的联系人中确定相关性顺序。所述确定可以包括对例如模糊逻辑、一个或多个规则集合、和/或机器学习模型的使用。在特定的示例中,可以在确定期间分析几个相关性因素,例如通信的新近度、通信的频率、1维上下文相关性、用户的钉针、共享的房间体验、相关性的明确声明、将用户添加至小组、n维上下文相关性等。这些因素中的每个可以被加权或者被分配以重要性值。重要性值中的一个或多个接着可以用于计算相关性分数。

在一些方面中,相关性引擎228可以使用一个或多个相关性因数、重要性值、和/或相关性分数来生成或修改表示用户或客户端的用户联系人、上下文、和/或各种维度的图。额外地或可替代地,相关性引擎228可以将这样的信息提供为对统计学模型的输入。在示例中,图和统计学模型中的一个或多个可以由服务器设备220和/或一个或多个用户使用以确定用户联系人的基于上下文的相关性。在特定的示例中,可以针对将信号数据提供至prpapi222的每个应用/服务而生成一个或多个图和/或统计学模型。在这样的示例中,图/模型可以是仓储的,以使得来自一个应用/服务的相关性数据可以不干扰分离的应用/服务或者不以其他方式对分离的应用/服务可访问。相关性引擎228还可以被配置为将从统计模型被输出或者使用所述图确定的上下文相关性确定提供至prpapi222。prpapi222接着可以向客户端设备210提供用户联系人、用户联系人小组、和/或相关性确定。

客户端设备210还可以被配置为从服务器设备220接收用户联系人数据。在多个方面中,客户端设备210可以使用从prpapi222所接收的上下文相关的联系人数据来更新客户端设备210上的本地联系人和/或相关性信息。例如,客户端设备210可以使用所接收的用户联系人和相关性确定来更新本地高速缓存,例如本地高速缓存214,所述本地高速缓存包括用户联系人数据、用户上下文数据、用户联系人上下文数据等。在这样的示例中,在接收到在上文中所描述的相关性确定之前,本地高速缓存可以包括仅仅基于用户通信的新近度和频率的用户联系人和相关性信息。客户端设备210还可以向应用212提供所接收的用户联系人和相关性确定。应用212可以经由应用212可访问的界面来向用户提供上下文相关的用户联系人数据。在特定示例中,应用212可以访问本地高速缓存214以确定要向用户呈现的用户联系人的子集或者要对向用户呈现的用户联系人进行显示的顺序。在多个方面中,在向用户呈现了所建议的用户联系人的列表之后,应用212可以接收从所呈现的用户联系人的用户选择。用户选择可以包括或者标识对所选择的一个或多个用户联系人的指示、所选择的用户联系人的列表内的位置、和/或与所选择的用户联系人相关联的用户联系人数据。应用212可以将所述用户选择提供至客户端设备210和prpapi222中的一个或多个。可替代地,客户端设备210可以被配置为针对用户选择来对应用212进行监视。在检测到用户选择之后,客户端设备210可以使得用户选择数据被发送至prpapi222。

服务器设备220还可以被配置为从客户端设备210接收用户选择数据。在多个方面中,服务器设备220可以将所接收的用户选择数据提供至相关性引擎228。相关性引擎228还可以被配置为使用所述用户选择数据来修改与用户、服务、和/或应用相关联的图和/或模型。例如,用户选择数据可以被用作对社交相关性模型的输入,该社交相关性模型与用于在各种上下文中修改一个或多个用户联系人的相关性的照片应用相关联。在这样的示例中,用户选择数据可以用于训练社交相关性模型,其中当狗的照片被共享时,“爱狗者”分配列表上的用户联系人比仅在电子邮件中包括了词语“狗”的联系人更加相关。由此,社交相关性模型可以提供用户联系人的列表(或者使其被提供),其中“爱狗者”分配列表上的用户联系人在该列表中出现和/或被优先化。该用户联系人的列表接着可以被提供至照片应用。

图3示出了如在本文中所描述的在人物相关性平台中确定联系人相关性的示例方法。在多个方面中,方法300可以由诸如图1的系统100之类的示例系统来执行。在示例中,方法300可以在设备上被执行,该设备包括被配置为存储和执行操作、程序、或指令的至少一个处理器。然而,方法300不限于这样的示例。在其他示例中,方法300可以在用于提供查询解决方案的应用或服务上被执行。在至少一个示例中,方法300可以由诸如web服务/分布式网络服务(云服务)之类的分布式网络的一个或多个组件执行(例如,计算机实现的操作)以用于在人物相关性平台中确定联系人相关性。

示例方法300在操作302处开始,其中,由客户端设备接收事件。在多个方面中,客户端设备(例如,客户端设备210)可以响应于从例如用户、应用、服务、或分离的设备接收输入而接收和/或生成事件。所述事件可以是指通知、结果集合、活动、响应、消息等。在示例中,客户端设备可以识别所述事件(及其方面)并且将其存储在诸如本地高速缓存214之类的本地数据存储中。例如,用户可以访问客户端设备上的sms应用以发送文本消息。应用和/或客户端设备可以识别“文本传送”事件的创建。在将任何信息输入到文本消息中之前,应用和/或客户端设备还可以使用规则集合、模式匹配、或决策逻辑来识别针对文本传送事件的上下文信息。所述上下文信息可以包括客户端设备的gps坐标、文本传送事件被生成的一天中的时间、以及用于生成文本消息的应用的名称。文本传送事件和对应的上下文信息的至少一部分可以被存储在本地高速缓存中。在一些方面中,客户端设备能够访问通信信道或者至包括人物相关性平台的一个或多个服务器(例如,服务器220)的接口,例如prpapi222。应用和/或客户端设备可以使用通信信道/接口以将事件数据(例如,文本传送事件和对应的上下文信息)的至少一部分提供至人物相关性平台。

在操作304处,可以处理所接收的事件数据。在多个方面中,人物相关性平台可以从一个或多个设备接收事件数据。人物相关性平台可以将事件数据提供至上下文分析组件,例如,上下文引擎224。上下文分析组件可以被配置为解析所接收的事件数据以确定标识发起该事件的用户和/或设备的信息。可以使用经标识的用户和/或设备信息来确定针对动作和/或事件的一个或多个上下文。基于所确定的上下文,上下文分析和/或生成组件可以添加、移除、和/或修改事件中的一个或多个事件元素。例如,在以上的文本传送事件示例中,上下文分析组件可以解析事件数据以确定客户端设备的gps坐标。接着可以使用所述gps坐标来确定一地理位置是否与已知的或频繁访问的位置(例如,工作、家等)相对应。如果位置被确定为已知的或频繁访问的,对应的标签(例如,“工作”)可以作为事件数据的元素(例如,“位置=工作”)而被添加。作为另一示例,上下文分析组件可以访问日历应用/服务以确定当前的天和日期。所确定天和/或日期可以作为事件数据的元素(例如,“天=工作日”)而被添加。

在操作306处,可以查询数据源。在多个方面中,人物相关性平台可以使用事件数据来生成针对与用户的用户联系人相关联的数据源的一个或多个查询。可以使用诸如查询引擎226之类的查询分析组件来制定和/或生成所述查询。查询分析组件可以使用例如用于将事件数据元素中的一个或多个项目与一个或多个数据源中的数据进行比较的模式匹配来确定要查询的数据源。例如,查询分析组件可以分析在上文中所描述的文本传送事件数据以识别其中的词语。这样的词语可以包括用户的用户名/账户id、用于生成事件的设备、被使用的通信方法的类型(例如,sms)、通信主题、专有名词、独特/稀有的关键词、用户联系人信息等。基于该信息,可以识别一个或多个数据源。例如,查询分析组件可以识别一个或多个用户简档、针对客户端设备的事务/事件数据存储、以及sms事务数据存储。作为结果,查询分析组件可以生成针对用户简档、用户联系人数据库、设备事务/事件日志、以及用户的sms数据存储的一个或多个查询。所述查询可以直接被提交至数据存储或者至中间搜索工具。

在操作308处,可以从响应数据导出上下文信号。在多个方面中,人物相关性平台可以从提交至数据源的查询接收响应数据。所述响应数据可以包括用户联系人和用户上下文数据。人物相关性平台可以使用相关性确定组件(例如,相关性引擎228)将所述用户联系人聚合在响应数据中。可以从聚合的数据中导出一个或多个上下文信号。在示例中,导出上下文信号可以包括使用例如机器学习技术来分析聚合的数据以确定用户的行为模式和/或上下文关系。例如,关于以上的文本传送事件,可以从响应数据中得出以下信息:1)在工作日,通常在下午5点左右,用户从他的移动电话向他的妻子(jill)发送文本以让她知道他在回家路上;2)偶尔,用户向他的朋友(matt)发送文本制定下班后的计划;并且3)通常,当用户向他的朋友(matt)发送文本时,用户还向他的妻子(jill)发送文本以让她知道他会晚回家。基于该信息,人物相关性平台可以导出针对该通信方法(例如,文本消息传送)的上下文信号、维度相对性(例如,时间:~下午5点、工作日;位置:下班)、设备(例如,移动电话)、频率(例如,最经常:jill;第二经常:matt)、钉针/喜欢(例如,将jill钉针为“喜欢”;将matt钉针为“朋友”)、以及重要性的明确声明(例如,将jill指定为“妻子”,并且将她在移动电话上添加至“家庭”)。在多个方面中,所导出的上下文信号可以用于编译用户联系人的列表。例如,用户联系人jill和matt可以被添加至可以针对文本传送事件而建议的用户联系人的列表。

在操作310处,可以计算针对用户联系人的相关性度量。在多个方面中,人物相关性平台可以使用所导出的上下文信号来确定并且对响应数据中的用户联系人和/或上下文进行排序/加权。在示例中,确定排序/权重可以包括将一个或多个规则集合或搜索算法(例如,爬山算法、梯度上升算法、贪心算法等)应用至所导出的上下文信号和/或响应数据。例如,关于以上的文本传送事件示例,人物相关性平台可以对一个或多个上下文信号类别中的用户联系人进行分析和/或评分。在频率类别中,jill可以由于是最频繁地被联系的用户联系人而接收到0.9的评分,而matt可以由于是第二最频繁地被联系的联系人而接收到0.6的评分。在钉针/喜欢的所声明的重要性类别中,jill可以由于被钉针为“喜欢”分组(评价最高的用户联系人分组)而接收到0.9的分数,而matt可以由于被钉针为“朋友”分组(评价第三高的联系人分组)而接收到0.4的分数。在明确声明的重要性类别中,jill可以由于被具体地指定为“妻子”(其是评价第二高的用户联系人分组“家庭”中的类别)而接收到0.7的分数。在维度相对性类别中,jill可以由于用户在下午5:15从他的办公室发起了文本消息而接收到0.6的分数,而matt可以接收到0.2的分数。此外,人物相关性平台可以确定或者以其他方式识别出:上下文信号类别中的一个或多个是优选的(或可能的)用户联系人的更加精确的预测器。例如,声明的重要性类别和频率类别可以分别被识别为第一和第二精确的预测器。作为结果,乘数2.0可以被应用至声明的重要性类别,而乘数1.5可以被应用至频率类别。

在多个方面中,在所述类别中的一个或多个已经被分析和/或评分了之后,可以将评分算法应用至经评分的数据。在特定的示例中,算法可以为每个用户联系人添加每个上下文信号类别的分数,并且乘以任何可应用的权重。作为示例,jill的整体用户联系人相关性分数可以如下计算:(1.5*0.9)+(2.0*0.9)+(2.0*0.7)+0.6=5.15,而matt的整体用户联系人相关性分数可以如下计算:(1.5*0.6)+(2.0*0.4)+0.2=1.90。至少基于所述联系人相关性分数,可以组织或排序用户联系人的列表。在一些方面中,联系人相关性分数和/或用户联系人排序可以响应于修改事件或事件数据的方面而被修改。例如,关于以上的文本传送事件,响应于用户将用户联系人名字的一部分(例如,“j”)输入到文本消息的“收件人”字段中,应用和/或客户端设备可以使用在上文中所描述的通信信道/接口将所输入的文本(以及相关联的上下文数据)提供至人物相关性平台。基于所接收的文本,人物相关性平台可以使得额外的查询被生成并且被供应至数据源。例如,针对用户联系人“jill”、“jim”、和“joe”的用户联系人数据可以在响应数据中被提供。可替代地,人物相关性平台可以修改响应数据和/或用户联系人列表以移除一个或多个用户联系人(或者降低其排序)。例如,matt(以及不以“j”开始的任何其他用户联系人)可以简单地从用户联系人的列表中被移除。在多个方面中,人物相关性平台可以使得经排序的用户联系人列表的一个或多个版本对诸如客户端设备210之类的一个或多个设备可用。例如,人物相关性平台可以将用户联系人作为自动建议或自动完成工具的部分提供至客户端设备。

在可选的操作312处,可以生成或修改相关性图。在多个方面中,人物相关性平台可以包括一个或多个社交相关性图。社交相关性图可以示出在各种上下文中用户联系人的相关性(或所感知的相关性),并且提供视觉模式检测。在示例中,可以使用用户反馈、事件数据、导出的上下文信号、和/或联系人相关性分数来生成或修改社交相关性图。生成/修改社交相关性图可以包括将事件数据、导出的上下文信号、和/或相关性分数提供至一个或多个统计或预测性模型。所述模型接着可以输出图形上下文用户联系人数据。例如,人物相关性平台可以从客户端设备接收用户选择数据。用户选择数据可以包括针对特定应用的一个或多个用户联系人的选择或排序。人物相关性平台可以将用户选择数据提供至统计建模引擎。统计建模引擎可以被配置为生成和/或修改针对用户应用对的一个或多个上下文联系人图。统计建模引擎可以使用用户选择数据来修改应用的一个或多个相关性评价和/或上下文模式。

图4-7以及相关联的描述提供了对其中实践本发明的示例的多种操作环境的讨论。然而,关于图4-7所示出和讨论的设备和系统是出于示例和说明的目的,而不限于用于实践在本文中所描述的本发明的实施例的大量计算设备配置。

图4是示出了可以利用其实践本公开的示例的计算设备400的物理组件(即,硬件)的框图。在上文中所描述的计算设备组件可以适用于在上文中所描述的计算设备,包括客户端计算设备102a-c和服务器计算设备106a-c。在基本配置中,计算设备400可以包括至少一个处理单元402和系统存储器404。取决于计算设备的配置和类型,系统存储器404可以包括但不限于:易失性存储(例如,随机存取存储器)、非易失性存储(例如,只读存储器)、闪速存储器、或者这样的存储器的任意组合。系统存储器404包括操作系统405以及适用于运行软件应用程序420的一个或多个程序模块406,例如,由在本文中所描述的系统所支持的一个或多个组件。作为示例,系统存储器404可以存储人物相关性平台数据(例如,用户反馈、事件数据、导出的上下文信号、联系人相关性分数等)以及用于执行人物相关性平台的指令。操作系统405例如可以适用于控制计算设备400的操作。此外,本发明的示例结合图形库、其他操作系统、或任何其他应用程序来实践,并且不限于任何特定的应用程序或系统。在图4中由虚线408内的那些组件示出了该基本配置。计算设备400可以具有额外的特征或功能。例如,计算设备400还可以包括额外的数据存储设备(可移动的和/或不可移动的),例如,磁盘、光盘、或磁带。在图4中由可移动存储设备409和不可移动存储设备410示出了这样额外的存储。

如上所述,将多个程序模块和数据文件存储在系统存储器404中。当在处理单元402上执行时,程序模块406(例如,应用420)可以执行以下过程,其包括但不限于在本文中所描述的方面。可以根据本公开的方面来使用的其他程序模块可以包括:电子邮件及联系人应用、文字处理应用、电子表格应用、数据库应用、幻灯片演示应用、画图或计算机辅助应用程序等。

此外,可以在包括分立电子元件的电路、包含逻辑门的封装或集成的电子芯片、利用微处理器的电路、或者在包含电子元件或微处理器的单个芯片上实践本公开的实施例。例如,经由其中在图4中所示出的组件中的每个或许多组件集成在单个集成电路上的片上系统(soc)来实践本公开的实施例。这样的soc设备包括一个或多个处理单元、图形单元、通信单元、系统虚拟化单元、以及各种应用功能,其全部作为单个集成电路而被集成(或“烧”)到芯片基底上。当经由soc进行操作时,可以经由在单个集成电路(芯片)上与计算设备400的其他组件集成的专用逻辑来对在本文中所描述的功能进行操作。使用能够执行逻辑操作(例如and、or和not)的其他技术来实践本公开的实施例,所述其他技术包括但不限于机械、光学、流体、和量子技术。另外,在通用计算机内或在任何其他电路或系统中实践本公开的实施例。

计算设备400可以具有一个或多个输入设备412,例如键盘、鼠标、笔、语音输入设备、触摸输入设备等。也包括诸如显示器、扬声器、打印机等之类的输出设备414。前述设备是示例并且也使用其他设备。计算设备400可以包括允许与其他计算设备450进行通信的一个或多个通信连接416。合适的通信连接416的示例包括但不限于:射频(rf)发射机、接收机、和/或收发机电路;通用串行总线(usb)、并行和/或串行端口。

如在本文中所使用的术语计算机可读介质包括计算机存储介质。计算机存储介质包括以任何用于存储信息(例如,计算机可读指示、数据结构、或程序模块)的方法或技术来实现的易失性的和非易失性的、可移动的和不可移动的介质。系统存储器404、可移动存储设备409、以及不可移动存储设备410都是计算机存储介质的示例(例如,存储器存储)。计算机存储介质可以包括ram、rom、电可擦只读存储器(eeprom)、闪速存储器或其他存储器技术、cd-rom、数字通用盘(dvd)或其他光存储、盒式磁带、磁带、磁盘存储器或其他磁存储设备、或者可以用于存储信息并且可以由计算设备400访问的任何其他制品。任何这样的计算机存储介质都是计算设备400的一部分。计算机存储介质不包括载波或其他传播或已调数据信号。

通信介质可以由计算机可读指令、数据结构、程序模块、或已调数据信号(例如,载波或其他传播机制)中的其他数据来实施,并且包括任何信息传递介质。术语“已调数据信号”可以描述具有一个或多个特征集合或者以将信息编码在信号中的方式进行改变的信号。作为示例而非限制,通信介质包括诸如有线网络或直接有线连接之类的有线介质,以及诸如声学的、射频(rf)的、红外的、和其他无线介质之类的无线介质。

图5a和5b示出了利用其可以实践本发明的方面的移动计算设备500,例如,移动电话、智能电话、可穿戴计算机(例如,智能手表)、平板计算机、膝上型计算机等。在一些方面中,客户端可以是移动计算设备。参考图5a,示出了用于实现多个方面的移动计算设备500的一个示例。在基本配置中,移动计算设备500是具有输入元件和输出元件两者的手持计算机。移动计算设备500通常包括显示器505以及允许用户向移动计算设备500中输入信息的一个或多个输入按钮510。移动计算设备500的显示器505充当输入设备(例如,触摸屏显示器)。如果被包括在内,可选的侧输入元件515允许进一步的用户输入。侧输入元件515是旋转开关、按钮、或任何其他类型的手动输入元件。在可替代的方面中,移动计算设备500包含更多或更少的输入元件。例如,在一些示例中,显示器505可以不是触摸屏。在另一可替代的示例中,移动计算设备500是便携式电话系统,例如蜂窝电话。根据一个方面,移动计算设备500包括可选的小键盘535。可选的小键盘535是物理小键盘或者是在触摸屏显示器上生成的“软”小键盘。在各种实施例中,输出元件包括用于示出图形用户界面(gui)的显示器505、视觉指示器520(例如,发光二极管)、和/或音频换能换能器525(例如,扬声器)。在一些方面中,移动计算设备500包含用于给用户提供触觉反馈的振动换能器。在另一方面中,移动计算设备500包含用于向外部设备发送信号或者从外部设备接收信号的输入和/或输出端口,例如音频输入端(例如,麦克风插孔)、音频输出端(例如,耳机插孔)、以及视频输出端(例如,hdmi端口)。

图5b是示出了移动计算设备的一个方面的架构的框图。即,移动计算设备500可以包含用于实现一些方面的系统(即,架构)502。在一个实施例中,系统502被实现为能够运行一个或多个应用程序(例如,浏览器、电子邮件、日历、联系人管理器、消息传送客户端、游戏、以及媒体客户端/播放器)的“智能电话”。在一些方面中,将系统502集成为诸如集成的个人数字助理(pda)和无线电话之类的计算设备。

一个或多个应用程序566可以被加载到存储器562中,并且在操作系统564上运行或者结合操作系统564运行。应用程序的示例包括电话拨号程序、电子邮件程序、个人信息管理(pim)程序、文字处理程序、电子表格程序、互联网浏览器程序、消息传送程序等。系统502还包括存储器562内的非易失性存储区域568。该非易失性存储区域568用于存储如果系统502断电而不应该丢失的持续的信息。应用程序566可以使用非易失性存储区域568中的信息并且将信息存储在非易失性存储区域568中,所述信息例如由电子邮件应用程序等所使用的电子邮件或其他消息。同步程序(未示出)也驻留在系统502并且被编程为与在主机上驻留的对应的同步应用进行交互,以保持存储在非易失性存储区域568中的信息与存储在主机计算机处的对应的信息相同步。应当理解的是,其他应用程序可以被加载到存储器562中并且在移动计算设备500上运行,包括用于提供如在本文中所描述的统一消息传送平台的指令(例如,搜索引擎、提取器模块、相关性排序模块、回答评分模块等)。

系统502具有被实现为一个或多个电池的电源570。电源570还包括外置电源,例如交流电(ac)适配器或给电池供电或充电的加电对接托架。

系统502包括执行发送和接收射频通信的功能的无线电设备572。无线电设备572经由通信载波或服务提供商来促成系统502与“外部世界”之间的无线连通性。来往于无线电设备572的传输是在操作系统564的控制下进行的。换句话说,可以将由无线电设备572所接收的通信经由操作系统564散播至应用程序566,并且反之亦然。

视觉指示器520用于提供视觉通知和/或音频接口574用于经由音频换能器525产生能够听到的通知。在所示出的实施例中,视觉指示器520是发光二极管(led)而音频换能器525是扬声器。这些设备可以直接地耦合至电源570,因此当被激活时,即使处理器(例如,处理器560和/或专用处理器561)和其他组件可以关闭以节省电池电量,这些设备也能保持通电并持续由通知机制所指示的一段时间。led可以被编程为无限期地保持通电,直到用户采取动作来指示设备的通电状态为止。音频接口574用于向用户提供能够听到的信号并且从用户处接收能够听到的信号。例如,除了耦合至音频换能器525之外,音频接口574还可以耦合至麦克风以接收能够听到的输入,例如,促进电话会话。根据本公开的实施例,麦克风还可以充当音频传感器以促进对通知的控制,如将在下文中所描述的。系统502还包括支持用于记录静止的图像、视频流等的板载相机530的操作的视频界面576。

实现系统502的移动计算设备500可以具有额外的特性或功能。例如,移动计算设备500可以包括额外的数据存储设备(可移动的或不可移动的),例如磁盘、光盘、或磁带。在图5b中由非易失性存储区域568示出了这样额外的存储。

如在上文中所描述的,将由移动计算设备500所生成或捕获的数据/信息以及经由系统502所存储的数据/信息本地地存储在移动计算设备500上,或者将所述数据存储在能够经由无线电设备572或经由移动计算设备500和与移动计算设备500相关联的单独的计算设备(例如,分布式计算网络(例如,互联网)中的服务器计算机)之间的有线连接由设备来访问的任何数量的存储介质上。应当理解的是,能够经由移动计算设备500、经由无线电设备572、或经由分布式计算网络来访问这样的数据/信息。类似地,根据公知的数据/信息传输和存储方式(包括电子邮件和协同数据/信息共享系统),这样的数据/信息容易地在计算设备之间传输以供存储和使用。

图6示出了如在上文中所描述的用于处理在计算系统处从远程源接收的数据的系统的架构的一个方面,所述远程源例如个人计算机604、平板计算设备606、或者移动计算设备608。在服务器设备602处所显示的内容能够被存储在不同的通信信道或其他存储类型中。例如,可以使用目录服务622、门户网站624、邮箱服务626、即时消息传送存储628、或社交网站630来存储各种文档。可以由与服务器设备602通信的客户端来应用人物相关性平台620,和/或可以由服务器设备602来采用人物相关性平台620。服务器设备602可以通过网络615向并且从诸如个人计算机604、平板计算设备606、和/或移动计算设备608(例如,智能电话)之类的客户端计算设备提供数据。作为示例,在上文中关于图1-2所描述的计算机系统可以在个人计算机604、平板计算设备606、和/或移动计算设备608(例如,智能电话)中实施。计算设备的这些实施例中的任何一个除了接收图形数据以能够用于在图形始发系统处被预先处理或者在接收计算系统处被后期处理之外,还可以从存储616获得内容。

图7示出了可以执行在本文中所公开的一个或多个方面的示例平板计算设备700。另外,在本文中所描述的方面和功能可以在分布式系统(例如,基于云的计算系统)上操作,其中,应用功能、存储器、数据存储和取回、以及各种处理功能可以在诸如互联网或内联网之类的分布式计算网络上彼此远离地操作。各种类型的用户界面和信息可以经由板载计算设备显示器或者经由与一个或多个计算设备相关联的远程显示单元来显示。例如,各种类型的用户界面和信息是在各种类型的用户界面和信息所透射到的墙面上显示的并且与这样的墙面进行交互。与实现利用其实践的多种计算系统的交互包括:击键输入、触摸屏输入、语音或其他音频输入、手势输入,其中相关联的计算设备装备有用于捕获和解译用户手势的检测(例如,相机)功能,以用于控制计算设备的功能等。

在上文中参考根据本公开的方面的方法、系统、和计算机程序产品的框图和/或操作图而描述了本公开的方面。在方框中所记录的功能/操作可以以不同于在任何流程图中所示出的顺序来进行。例如,取决于所涉及的功能/操作,连续地示出的两个方框可以实际上大体上同时执行,或者方框可以有时以相反的顺序执行。

在该申请中所提供的一个或多个方面的描述或图示不旨在以任何方式限制或约束所要求保护的公开的范围。在该申请中所提供的方面、示例、和细节被认为足以传达所有物,并且使得本领域技术人员能够制造并使用所要求保护的发明的最佳模式。所要求保护的发明不应该被解释为限于在该申请中所提供的任何方面、示例、或细节。无论是共同地还是单独地示出或描述,(结构上和方法上两者的)各种特征旨在选被择性地包括或省略,以产生具有特定组的特征的示例。在已经提供有本申请的描述和图示之后,本领域技术人员可以预想落入在该申请中所实施的一般的发明概念的更宽泛的方面的精神内的变型、修改和替代方面,而不脱离所要求保护的发明的更宽泛的范围。

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