用户可以与一个或多个联系人集合相关联,每一联系人集合包括一个或多个联系人条目。例如,用户可以在移动电话上具有包括联系人条目的联系人集合,联系人条目的每一个包括实体的一个或多个属性,诸如实体的姓名、电话号码和/或电子邮件地址。同时,例如,用户可以具有与电子邮件服务相关联的、包括联系人条目的联系人集合,其中每一个联系人条目包含实体的一个或多个属性。用户发现在一个或多个联系人集合中,维护完整信息和/或更新信息很麻烦。
技术实现要素:
本说明书通常针对用于填充用户的联系人条目,更具体地说,针对基于从联系人条目之外的一个或多个源获得的信息,填充用户的联系人条目的技术特征。一些实施方式通常针对分析与用户相关联的文档的文本来识别文档中的联系人信息。在那些实施方式的一些版本中,可以确定与文档相关联的密切度度量,密切度度量指示用户对文档的兴趣量,以及如果密切度度量满足阈值,可以使用联系人信息的一个或多个方面填充联系人条目。例如,可以分析文档的文本来识别文档中的联系人信息变化,并且密切度度量可以至少部分基于联系人信息变化的识别。同时,例如,密切度度量可以另外和/或替选地基于与文档有关的用户的交互(诸如用户与文档的交互数量、用户与关联于文档的实体的交互数量、和/或与文档和/或关联于文档的实体的交互的长度)。在分析与用户相关联的文档的文本来识别联系人信息的一些实施方式中,分析文档的介绍性子句来识别联系人信息的别名。
本文公开的技术特征的实施方式实现使用联系人信息的方面选择性地填充用户的联系人条目。例如,在一些实施方式中,可以基于与从中识别联系人信息的方面的文档相关联的确定的密切度度量满足阈值,填充联系人信息的方面。这种选择性填充带来各种技术优点。例如,可以增加联系人信息的填充方面准确和/或为用户真正想在联系人条目中填充的方面的机会。这可以增加对联系人条目的用户信任并且减少否则由用户为校验针对联系人条目的联系人信息的不太信任方面而产生的执行搜索、发送电子邮件等的网络流量。作为根据本文公开的技术的有选择地填充的填充方面,这可以另外和/或替选地实现填充方面的更准确索引。此外,作为根据本文公开的技术的有选择填充的填充方面,这可以另外和/或替选地实现用户联系人条目的更有效和/或更准确的搜索。
在一些实施方式中,可以提供一种计算机实现的方法,包括以下步骤:识别与用户相关联的文档,所述文档由用户访问、发送或接收;分析文档的文本来识别所述文档中的联系人信息;确定与所述文档相关联的密切度度量,所述密切度度量指示用户对所述文档的兴趣;以及基于所述密切度度量满足阈值,使用所述联系人信息的一个或多个方面填充所述用户的联系人条目。
本文公开的技术的所述方法和其他实施方式的每一个可以可选地包括下述特征中的一个或多个。
在一些实施方式中,用户从实体接收文档,并且所述方法进一步包括:识别指示用户与实体的交互的数量的度量;其中,确定针对所述文档的密切度度量基于指示交互的数量的所述度量。
在一些实施方式中,所述方法进一步包括:分析所述文档以识别与所述文档相关联的联系人信息变化度量,所述联系人信息变化度量指示联系人信息的最近变化的可能性;其中,基于联系人信息变化度量确定针对文档的密切度度量。在那些实施方式中的一些中,使用联系人信息的一个或多个方面填充用户的联系人条目包括使用所述联系人信息的一个或多个方面取代联系人条目的现有信息。在那些实施方式中的一些中,分析文档以识别联系人信息变化度量包括:至少部分基于文档的文本中存在一个或多个联系人信息变化术语,确定联系人信息变化度量。在那些实施方式中的一些中,文档由用户从实体接收并且所述方法进一步包括:识别所述文档的接收者的数量,其中,确定联系人信息变化度量至少部分基于文档的接收者的数量。在那些实施方式中的一些中,确定联系人信息变化度量至少部分基于文档中所述一个或多个联系人信息变化术语与联系人信息的接近度。在那些实施方式中的一些中,确定联系人信息变化度量至少部分基于所述联系人信息在文档中的的位置。
在一些实施方式中,文档由用户发送到实体,以及分析文档的文本以识别文档中的联系人信息包括:分析所述文本以识别所述文档的介绍性子句;基于所述介绍性子句的一个或多个术语,识别联系人信息的别名;以及将别名用作联系人信息的一个或多个方面的至少一些方面。
在一些实施方式中,使用联系人信息的一个或多个方面填充用户的联系人条目包括:从与所述用户相关联的多个现有联系人条目识别所述联系人条目;以及使用所述联系人信息的一个或多个方面补充或取代所述联系人条目的信息。在那些实施方式中的一些中,从与所述用户相关联的多个现有联系人条目识别联系人条目包括:识别所述联系人信息的一个或多个方面与所述联系人条目的至少一些已有信息之间的关联。
在一些实施方式中,使用联系人信息的一个或多个方面填充用户的联系人条目包括:识别所述联系人信息与关联于所述用户的现有联系人条目之间缺少关联;以及基于识别到缺少关联,创建联系人条目。
在一些实施方式中,提供一种计算机实现方法,包括以下步骤:识别与用户相关联的一个或多个联系人集合的联系人条目,所述联系人条目包括识别实体的一个或多个属性的集合的相关信息;确定所述相关信息不能识别实体的至少一个属性;从与用户相关联的联系人集合之外的源,确定识别所述实体的所述至少一个属性的附加信息,其中,从所述源确定所述附加信息包括在所述源中识别所述附加信息与至少一些所述相关信息之间的关联;以及修改联系人条目来包括所述附加信息。
本文公开的技术的所述方法和其他实施方式的每一个可以可选地包括下述特征中的一个或多个。
在一些实施方式中,确定所述附加信息与至少一些所述相关信息之间的关联包括:基于所述实体与至少一些所述相关信息之间的关联,识别源中的实体;以及识别所述实体与所述源中的所述附加信息之间的关联。在那些实施方式中的一些中,所述源是针对多个实体的每一个定义实体的属性的信息的结构化集合,以及其中所述实体与至少一个相关信息之间的关联基于至少一些相关信息与所述实体的一个或多个属性的匹配。
在一些实施方式中,确定附加信息和至少一些相关信息之间的关联包括:识别所述联系人条目的至少一些相关信息与关联于所述用户的文档之间的关联;以及基于所述文档,识别所述附加信息。在那些实施方式的一些中,所述文档是由用户发送或接收的消息,以及其中,识别联系人条目的至少一些相关信息与所述文档之间的关联包括识别所述消息中的至少一些相关信息。
其他实施方式可以包括非暂时计算机可读存储介质,存储可由处理器执行的指令来实现一种方法,诸如上文所述的一个或多个方法。又一实施方式可以包括系统,所述系统包括存储器和可用来执行在存储器中存储的指令的一个或多个处理器,以执行方法,诸如上述所述的一个或多个方法。
本文所述的主题的特定实施方式通过使用经由本文所述的一个或多个技术而获得的联系人信息填充联系人集合的一个或多个联系人条目,变更与用户相关联的一个或多个联系人集合。应认识到上述概念和本文更详细所述的另外的概念预期为本文公开的主题的一部分。例如,出现在本公开的末尾的所要求的主题的所有组合预期为本文公开的主题的一部分。
附图说明
图1图示基于从联系人条目外部的一个或多个源获得的信息,填充用户的联系人条目的示例环境。
图2A图示用户的联系人集合的联系人条目的示例。
图2B图示使用从联系人条目外部的一个或多个源获得的附加信息填充图2A的联系人条目的示例。
图3图示可以用来确定用于填充用户的联系人条目的信息的用户的发送消息的示例。
图4图示可以用来确定用于填充用户的联系人条目的信息的实体数据库的一部分的示例。
图5图示可以用来确定用于填充用户的联系人条目的信息的用户接收的消息的示例。
图6图示可以被用来确定与实体相关联的密切度度量和/或确定用于填充用于针对实体的用户的联系人条目的信息的用户与实体的多个交互的示例。
图7是图示修改用户的联系人条目来包括从用户的联系人之外的源获得的附加信息的示例方法的流程图。
图8是图示针对与用户相关联的文档确定密切度度量并且基于该密切度度量,使用从该文档识别的联系人信息填充用户的联系人条目的示例方法的流程图。
图9图示包括联系人信息变化指示并且可以被用来确定用于填充用户的联系人条目的信息的用户接收的消息的示例。
图10图示包括联系人信息变化指示并且可以被用来确定用于填充用户的联系人条目的信息的用户接收的消息的另一示例。
图11是图示确定在与用户相关联的文档中的联系人信息变化指示,并且基于联系人信息变化指示,使用从该文档识别的联系人信息填充用户的联系人条目的示例方法的流程图。
图12图示用于显示来自联系人条目的信息的用户界面的示例。
图13图示计算机系统的示例架构。
具体实施方式
图1图示可以基于从联系人条目外部的一个或多个源获得的信息填充用户的联系人条目的示例环境。该示例环境包括客户端设备106和联系人信息系统120。客户端设备106包括用户联系人107、用户交互108和用户文档109。示例环境还包括实体数据库152、公开文档数据库154、用户联系人数据库167、用户交互数据库168和用户文档数据库169。
通常,用户联系人107和用户联系人数据库167的每一个可以包括用户的一个或多个联系人集合,每一联系人集合包括一个或多个联系人条目。联系人条目包括识别实体的一个或多个属性的集合的信息。例如,用于个人的联系人条目可以包括一个或多个别名、电话号码、电子邮件地址、地址、职业、统一资源定位符(URL)、说明性注释、图像和/或与该个人相关联的其他属性。在一些实施方式中,用户联系人107本地存储在客户端设备106上并且用户联系人数据库167可以包括一个或多个相同的联系人条目和/或可以包含一个或多个不同的联系人条目。例如,用户联系人107可以周期性地或者以其他标准地与用户联系人数据库167同步。在一些实施方式中,在本文所述的技术中,可以省略和/或不利用用户联系人107和/或用户联系人数据库167中的一个或多个。
通常,用户文档109和用户文档数据库169的每一个可以包括可与用户相关联的一个或多个非可公开访问文档。与用户相关联的非可公开访问文档可以包括例如由用户创建的文档、发送给该用户或以其他方式可由该用户访问的文档,和/或由该用户发送或者以其他方式提供的文档。如本文所使用的,文档包括但不限于:电子邮件、文本消息(例如SMS文本消息)、社交网络通信(例如聊天、私人消息、公共消息、帖子、推特)、网页和文字处理文档。例如,与用户相关联的非可公开访问文档可以是用户的(发送或接收的)电子邮件、用户的(发送或接收的)文本消息、(发送或接收的)社交网络通信、可由用户访问的社交网络简档、由用户创建的文档等。在一些实施方式中,用户文档109本地存储在客户端设备106上并且用户文档数据库169可以包括一个或多个相同文档和/或可以包含一个或多个不同文档。例如,用户文档数据库169可以包括与用户相关联的社交网络简档、电子邮件、社交网络通信和/或其他消息并且用户文档109可以包括不包括在用户文档数据库169中的一个或多个文档,诸如用户的文本消息。在一些实施方式中,在本文所述的技术中,可以省略和/或不利用用户文档109和/或用户文档数据库169中的一个或多个。
通常,用户交互108和用户交互数据库168的每一个可以识别用户与文档和/或实体的一个或多个交互。用户与文档的交互可以是例如选择指向文档的链接(例如选择对该文档的搜索结果)、查看文档,和/或发送或接收文档(例如,发送或接收电子邮件)。用户与实体的交互可以是例如与关联于实体的文档的交互、与实体的通信(例如呼叫、电子邮件、文本消息、社交网络通信)和/或指示实体的存在/存在于的信息(例如指示正在企业中的位置信息或指示与个人共同出现的共同在场信息)。在一些实施方式中,所指示的用户与文档的交互可以针对指示为与之交互的每一文档或实体,包括关于交互的另外的细节,诸如交互的时间、日期或位置的指示、交互量、用在交互中的计算设备的属性的标识等。
在一些实施方式中,用户交互108本地存储在客户端设备106上并且用户交互数据库168可以包括一个或多个相同交互和/或可以包含一个或多个不同交互。例如,用户交互数据库168可以包括响应用户的搜索查询,指示文档的选择的交互,和/或指示发送和/或接收电子邮件的交互,以及用户交互108可以包括不包括在用户交互数据库168中的一个或多个交互,诸如指示发送和/或接收文本消息和/或指示拨打和/或接收电话呼叫的交互。在一些实施方式中,在本文所述的技术中,可以省略和/或不利用用户交互108和/或用户交互数据库168中的一个或多个。例如,在一些实施方式中,用户文档109和/或用户文档数据库169中的一个或多个可以包括指示用户与文档交互的信息,以及可以省略用户交互108和用户交互数据库168。
在一些实施方式中,用户联系人数据库167、用户交互数据库168和/或用户文档数据库169中的一个或多个可以包括多个用户的信息项,以及可以仅允许该用户和/或由该用户授权的一个或多个其他用户或组件(诸如联系人信息系统120)访问数据库167、168和/或169中的用户的信息项。在一些实施方式中,每一用户可以控制是否提供和/或提供哪些联系人、交互和/或文档以包括在各自的数据库167、168或169中。在一些实施方式中,每一用户具有移除包括在用户联系人数据库167、用户交互数据库168和/或用户文档数据库169中的用户的信息项的能力。
通常,公开文档数据库154可以包括一个或多个可公开访问文档和/或与一个或多个可公开访问文档有关的信息。例如,公开文档数据库154可以包括可经由互联网访问的数据库的集合和/或可经由互联网访问的文档的索引。例如,仅举几例,包括在公开文档数据库154中的文档可以包括网页、PDF和/或结构化数据集。例如,网页和/或结构化数据集可以包括用于多个实体的联系人信息的黄页和/或白页名单。在一些实施方式中,基于用户交互108和/或用户交互数据库168,公开文档数据库154的一个或多个文档可以与用户相关联。例如,用户交互108和/或用户交互数据库168可以指示用户与公开文档数据库154的指定文档交互以及基于该指示的交互,指定文档可以与该用户相关联。
通常,实体数据库152可以包括实体的集合,以及对一个或多个实体的每一个,可以包括对与该实体相关联的一个或多个属性的映射和/或与该实体有关的一个或多个实体。例如,实体数据库152可以是知识图,诸如包括与企业相关联的实体和包括每一实体的属性(诸如电子设备、地址等)的本地知识图。
在本说明书中,术语“数据库”将广泛地用来指示任意数据集合。数据库中的数据不需要以任何方式结构化,或完全不需要结构化,并且可以存储在一个或多个位置中的存储设备上。由此,例如,数据库167、168、169、152和/或154可以分别包括多个数据集合,可以不同地组织和访问每一个数据集合。同时,例如,所有或部分数据库167、168、169、152和/或154可以被组合成一个数据库和/或可以包含数据库中的实体之间的指针和/或其他链接。同时,在本说明书中,术语“条目”将广泛地用来指示多个相关信息项的任何映射。单个条目不需要存在于单个存储设备中并且可以包括可以存在于其他存储设备上的信息项的指针或其他指示。例如,条目可以包括相互映射的多个节点,每一节点包括可以在另一数据结构和/或另一存储介质中存在的实体或其他信息项的标识符。
通常,联系人信息系统120确定来自一个或多个源(诸如数据库152、154、168、169、用户交互108和/或用户文档109)的联系人信息并且使用确定的联系人信息的一个或多个方面,填充用户联系人107和/或用户联系人数据库167的一个或多个联系人条目。可以在例如通过网络通信的一个或多个计算机中实现联系人信息系统120。联系人信息系统120是其中可以实现本文所述的系统、组件和技术的系统和/或可以与本文所述的系统、组件和技术交互的系统的示例。
联系人信息系统120包括处理文本以确定文本的一个或多个特征(诸如,本文所述的特征)的文本处理引擎122。例如,文本处理引擎122可以处理文本来确定该文本是否包括联系人信息、确定任何确定的联系人信息的特定属性(例如,联系人信息的哪些方面为别名、住址、电子邮件地址、电话号码等)、确定任何确定的联系人信息与用户的哪些联系人条目(如果有的话)相关联,和/或确定文本是否包括联系人信息变化。在一些实施方式中,文本处理引擎122可以将与的一个或多个文本片段相关联的一个或多个信号接收为输入并且将与所述一个或多个片段相关联的一个或多个特征的指示提供为输出。在那些实施方式中的一些中,文本处理引擎122可以利用基于分类器和/或规则的方法来基于一个或多个信号确定一个或多个特征。例如,文本处理引擎122可以利用一个或多个正则表达式来识别联系人信息和/或联系人信息的特定属性。同时,例如,文本处理引擎122可以利用被训练以识别在文本的一个或多个片段中是否存在联系人信息变化的分类器。例如,可以利用一个或多个监督或半监督训练技术训练由文本处理引擎122利用的任何分类器。
针对用于指定文档的一个或多个片段被提供为文本处理引擎122的输入的信号可以包括基于片段本身的内容的信号,诸如片段的一个或多个术语、与片段的一个或多个术语相关联的语音部分、片段的一个或多个术语之间的关系和/或与片段相关联的元数据。针对指定文档的文本的一个或多个片段被提供为文本处理引擎122的输入的信号可以另外和/或替选地包括基于片段本身外的内容的信号,诸如文档的元数据、与片段外的文本有关的信号等。例如,信号可以包括基于相邻和/或其他方式邻近的片段、文档的元数据等的信号。
在一些实施方式中,文本处理引擎122可以包括注解器和/或与之通信,注解器被配置来识别和注释文档的一个或多个片段中的各种语法信息以及注释可以被文本处理引擎122用作信号。例如,注解器可以包括:词性标注器,被配置为用它们的语法角色注释一个或多个片段中的术语;依存解析器,被配置为确定一个或多个片段中的术语之间的语法关系;实体标注器,被配置为在一个或多个片段中注释实体引用,诸如人、组织、位置等的引用;和/或共指解析器,被配置为基于一个或多个语境线索,分组或“聚类”对相同实体的引用。
在一些实施方式中,联系人信息系统120还包括密切度度量引擎124,确定与文档相关联的、指示文档中的用户兴趣量的密切度度量。如本文所述,在一些实施方式中,联系人信息系统120可以基于密切度度量,使用在文档中识别的联系人信息的一个或多个方面,填充用户的联系人条目。例如,在一些实施方式中,仅当密切度度量满足阈值时,联系人信息系统120可以使用在文档中识别的联系人信息的一个或多个方面,填充用户的联系人条目。在一些实施方式中,密切度度量被表示为在范围(例如从0至1)中的数值或字母值。在一些实施方式中,密切度度量可以以二进制形式表示,例如,表示为正(例如“真”)或负(例如“假”)。
密切度度量引擎124在确定密切度度量中可以利用各种信号。例如,密切度度量引擎124可以与文本处理引擎122通信来确定在文档中是否存在联系人信息变化并且使密切度度量基于所述是否存在联系人信息变化。例如,如果存在联系人信息变化,密切度度量可以更指示文档中用户的兴趣。同时,例如,密切度度量引擎124可以基于(例如经由用户交互108和/或用户交互数据库168)识别的与文档有关的用户的交互而确定密切度度量。例如,密切度度量引擎124可以基于用户与文档的交互量(例如,越多交互,密切度度量指示兴趣越大)、用户与该文档相关联的实体的交互量(例如,越多交互,密切度度量指示兴趣越大)、和/或与文档和/或与文档相关联的实体交互的长度(例如,交互越长,密切度度量指示兴趣越大),确定密切度度量。在下文中给出包括引擎122和124的联系人信息系统120的另外的描述。
客户端设备106可以是使用一个或多个网络101(诸如局域网(LAN)或广域网(WAN)(例如互联网))耦接到联系人信息系统120和/或一个或多个数据库(诸如用户联系人数据库167)的计算机。客户端设备106可以是例如台式计算设备、膝上型计算设备、平板计算设备、移动电话计算设备、用户的车辆的计算设备(例如车载通信系统、车载娱乐系统、车载导航系统)或用户的包括计算设备的可穿戴装置(例如,用户的具有计算设备的手表、用户的具有计算设备的眼镜)。可以提供另外的和/或替选的客户端设备。尽管用户可能操作多个客户端设备,但为了简化,本公开中所述的示例将集中在用户操作客户端设备106上。然而,应理解到,与用户相关联的用户联系人、交互、文档和/或其他信息可以基于用户的另外的和/或替选的客户端设备。
客户端设备106通常包括一个或多个应用来便于例如与文档交互、查看来自联系人条目的信息、编辑联系人条目等。例如,客户端设备106可以执行一个或多个应用,诸如浏览器、联系人管理和/或搜索系统和/或显示和/或提供(例如可听输出)来自用户联系人107和/或用户联系人数据库167的联系人条目的信息的其他应用。在图12中图示并且在本文中更详细描述了用于显示来自联系人条目的信息的一个示例用户界面。在一些实施方式中,联系人信息系统120的一个或多个方面(诸如密切度度量引擎124)可以在全部或部分由客户端设备106执行的组件中实现。
联系人信息系统120、客户端设备106和/或图1的示例环境的一个或多个另外的组件的每一个可以包括用于存储数据和软件应用的存储器、用于访问数据和执行应用的处理器,以及便于网络上通信的组件。在一些实施方式中,这些组件可以包括与图13中所示的示例计算机系统共享一个或多个特性的硬件。由示例环境的一个或多个组件执行的操作可以可选地分布在多个计算机系统上。例如,由联系人信息系统120执行的步骤可以经由在位于一个或多个位置的经由网络相互耦接的一个或多个服务器上运行的一个或多个计算机程序执行。具有比图1所示的环境更多或更少的组件的许多其他配置也是可能的。例如,在一些环境中,联系人信息系统120的所有或方面可以合并在客户端设备106中。同时,例如,在一些实施方式中,可以省略和/或合并数据库167、168、169、152和/或154中的一个或多个。
图2A图示用户联系人107的联系人条目107A、107B和107C的示例。尽管在图2A中图示了三个联系人条目,但在联系人条目107B和联系人条目107C之间提供的省略号指示可以包括另外的联系人条目。联系人条目107A、107B和107C的每一个包括针对别名、电话、电子邮件和地址属性中的一个或多个的相关信息。例如,联系人条目107A包括针对上述属性的每一个的相关信息,而联系人条目107C仅包括针对电话属性的相关信息。尽管在图2A中图示了四个特定属性,但可以提供附加和/或替选的属性。例如,在联系人条目的右边提供省略号来指示可以包括附加属性。如所述,在一些实施方式中,可以另外和/或替选地在用户联系人数据库167中存储联系人条目107A、107B和107C。
图2B图示了使用从联系人条目107A-C外部的一个或多个源获得的附加信息填充的图2A的联系人条目的示例。例如,在图2B中,使用针对联系人条目107A的附加别名填充联系人条目107A。图2B还包括可以基于从在联系人条目107A-C外部的一个或多个源获得的信息创建的附加联系人条目107D。联系人信息系统120由一个或多个源(诸如数据库152、154、168、169、用户交互108和/或用户文档109)确定用于填充联系人条目107A、107B、107C和107D的联系人信息。
参考图3-6,描述了确定用于使用在图2B中所示(但在图2A中未图示)的附加联系人信息填充联系人条目107A、107B、107C和107D的联系人信息的联系人信息系统120的示例。尽管参考图3-6描述了某些技术和源,但联系人信息系统120可以利用附加和/或替选技术来填充联系人条目107A、107B、107C和107D中的一个或多个,诸如所述技术的组合。
图3图示了可以被用来确定用于填充图2A和2B的联系人条目107A的信息的用户的发送消息109A的示例。发送消息109A是可以包括在用户文档109中的文本消息的示例。在一些实施方式中,可以由客户端设备106,向联系人信息系统120直接或间接地提供消息109A的一个或多个方面。联系人信息系统120可以识别该消息将被发送至的电话号码((123-456-7891))和/或该消息将被发送至的别名(Robert Herman)来实现确定与该消息相关联的一个或多个联系人条目。例如,联系人信息系统120可以基于与消息109A相关联的结构化信息(例如,基于识别消息109A被发送到的电话号码和/或别名的消息109A的结构化元数据),识别电话号码和/或别名。同时,例如,文本处理引擎122可以处理文本片段109A1和/或其他文本片段来确定文本片段109A1包括所述消息被寻址的电话号码和别名。例如,文本处理引擎122可以使用已知文本模式、正则表达式等,识别电话号码和/或别名。例如,文本处理引擎122可以包括识别消息中紧跟“To(到):”后的电话号码和/或别名并且确定这些电话号码和/或别名指示该消息被导向的人的规则。
可以将确定的电话号码和/或别名与图2A的联系人条目107A中的相关信息匹配。例如,联系人信息系统120可以将别名“Robert Herman”与用于联系人条目107A的别名属性的相关信息匹配并且将电话号码“(123)456-7891”与用于联系人条目107A的电话属性的相关信息匹配。基于匹配,联系人信息系统120可以确定消息109A与联系人条目107A相关联。
联系人信息系统120可以进一步识别用在消息109A的正文中的片段109A2的别名“Bobby”并且如图2B所示,用别名“Bobby”填充联系人条目107A。例如,文本处理引擎122可以包括基于例如识别在消息的正文开始时,紧接“,”、“:”和/或分段符的一个或多个术语,识别消息109A中的介绍性子句的规则。当例如将消息109A发送到仅单个实体时和/或当介绍性子句小于一定数量的术语(例如三个术语)和/或不包括某些术语(例如“sir(先生)”、“all(所有人)”、“whom it may concern(各相关方)”)时,联系人信息系统120可以将介绍性子句用作用于联系人条目的别名。例如,联系人信息系统120可以基于确定消息109A被发送到单个实体(例如利用诸如上述所述的技术)并且基于文本处理引擎122将“Bobby”识别为用在消息109A的介绍性子句中的术语,将“Bobby”填充为用于联系人条目107A的别名。
在一些实施方式中,联系人信息系统120可以确定与消息109A相关联的密切度度量,并且基于该密切度度量以所述别名填充联系人条目107A。例如,在一些实施方式中,仅当密切度度量满足阈值时,才将所述别名填充在联系人条目107A中。作为一个示例,密切度度量可以基于用户查看该消息109A的时间量、用户查看该消息109A的次数和/或用户与“Robert Herman”的其他交互数量(例如,其他文本消息和/或其他交互(诸如电话、电子邮件等)的数量)。
图4图示可以用来被确定用于填充图2A的联系人条目107B的信息的图1的实体数据库152的部分152A的示例。该部分152A包括实体“企业(Business)1”的标识符以及对与该实体相关联的属性和与该实体相关联的企业类型的映射。例如,在图4中,将实体“企业1”映射(如由从“企业1”的线所指示)到电话、地址、电子邮件和别名属性以及与实体相关联的企业类型(“Vacuum Repair”)。
联系人信息系统120可以基于将联系人条目107B中的相关信息与图4中的实体“企业1”的属性的匹配,将联系人条目107B与图4的“企业1”实体匹配。例如,联系人信息系统120可以将联系人条目107B的电话号码“(234)567-8912”和电子邮件地址“joe@!.com”与图4的属性“电话”和“电子邮件”中的信息匹配。联系人信息系统120可以进一步针对部分152A中的“企业1”实体识别一个或多个附加属性,并且使用针对那些属性的信息填充联系人条目107A。例如,如图2B所示,联系人信息系统120可以基于与图4的部分152A中的实体“企业1”相关联的地址,使用工作地址“456Main St.”填充联系人条目107B。尽管在图2B中未图示,但可以在联系人条目107B中填充来自部分152A的附加和/或替选信息,诸如别名“Vacs R US”和/或企业类型“Vacuum Repair”。在一些实施方式中,联系人信息系统120可以确定与实体“企业1”相关联的密切度度量,并且基于该密切度度量,使用来自部分152A的信息填充联系人条目107B。例如,在一些实施方式中,仅当密切度度量满足阈值时,才将别名填充在联系人条目107B中。作为一个示例,密切度度量可以基于用户与“企业1”交互(诸如,访问与“企业1”相关联的网页,呼叫与“企业1”相关联的电话号码等)的数量。
图5图示可以被用来确定用于填充图2A的联系人条目107C的信息的用户接收的消息169A的示例。消息169A是可以包括在用户文档数据库169中的电子邮件消息的示例。消息169A可以是例如用户接收但还未查看的消息、和/或用户接收并且查看过的消息。在一些实施方式中,仅在用户查看过该消息后(例如如由用户交互108和/或用户交互数据库168所示),联系人信息系统120可以将来自消息的信息填充在联系人条目中。
联系人信息系统120可以识别与消息169A的发送者相关联的电话号码((456)789-1234)以实现确定与消息的发送者相关联的一个或多个联系人条目。例如,文本处理引擎122可以处理文本片段169A2和/或其他文本片段来确定文本片段169A2包括与消息的发送者相关联的电话号码。例如,文本处理引擎122可以包括在消息末尾的签名块中包括的联系人信息可以与消息的发送者相关联并且可以提取且利用所述联系人信息以确定与该消息相关联的联系人条目的规则。例如,文本处理引擎122可以包括识别在消息结尾的文本片段中的一个或多个类型的联系人信息(诸如电话号码、电子邮件地址、URL和/或地址)以及确定这些联系人信息与消息的发送者相关联的规则。例如,文本处理引擎122可以识别文本片段169A2中的电话号码(456)789-1234并且确定电话号码与消息的发送者相关联。联系人信息系统120可以将该电话号码(456)789-1234与针对联系人条目107C的电话属性的相关信息匹配。基于该匹配,联系人信息系统120可以确定消息169A与联系人条目107C相关联。
联系人信息系统120可以进一步识别消息169A的附加联系人信息并且用附加联系人信息填充联系人条目107C,如图2B所示。例如,联系人信息系统120可以基于与消息169A相关联的结构化信息(例如,基于消息169A的结构化元数据),识别发送者的电子邮件地址“drbill@!.com”。同时,例如,文本处理引擎122可以处理文本片段169A1和/或其他文本片段来确定文本片段169A1包括发送该消息的电子邮件地址。例如,文本处理引擎122可以包括提取消息中紧跟在“From(来自):”后的一个或多个电子邮件地址并且确定这些电子邮件地址指示消息的发送者的规则。联系人信息系统120可以将该电子邮件地址用作针对联系人条目107C的电子邮件属性的信息。同时,例如,如上所述,文本处理引擎122可以包括识别消息结尾的文本片段(诸如文本片段169A2)中的一个或多个类型的联系人信息的规则。联系人信息系统120可以用该联系人信息填充联系人条目107C。例如,联系人信息系统120可以用别名“Dr.Bill”和“Dentist”、地址“100Broadway,Suite A”以及可选地使用与包括在文本片段169A2中的URL3(超级链接)有关的信息来填充联系人条目107C。
联系人信息系统120可以利用各种技术来确定应当使用从消息169A识别的哪些联系人信息填充联系人条目107C的哪些属性。例如,如本文所述,文本处理引擎122可以采用基于规则和/分类器的技术,以及这样的技术可以识别联系人信息并且识别联系人信息的特定属性(例如,联系人信息的哪些方面是别名、地址、电子邮件地址、电话号码等)。例如,规则可以定义包括前后跟随文本的“@”字符的联系人信息是电子邮件地址。同时,例如,文本处理引擎122可以包括或可以与另一注解器通信,所述注解器被配置成识别和注释文本的一个或多个片段中的各种类型的语法信息。例如,注解器可以包括:词性标注器、依存解析器、实体标注器和/或共指解析器。在一些实施方式中,可以利用这样的注解器的注释来识别联系人信息的特定属性。在一些实施方式中,联系人信息系统120可以确定与消息169A相关联的密切度度量并且基于所述密切度度量,使用来自消息169A的联系人信息填充联系人条目107C。例如,在一些实施方式中,仅当密切度度量满足阈值时,可以将别名填充在联系人条目107C中。
图6图示可以用来确定与实体相关联的密切度度量并且确定针对这样的实体,针对填充用户的联系人条目的信息的用户与实体的多个交互的示例。图6包括公开文档数据库154的网页154A、用户交互108的多个呼叫108A和用户文档数据库169的电子邮件169B。
网页154A是与用户交互的网页。例如,可以基于用户交互数据库168中的指示,指示网页154A与用户交互。例如,用户交互数据库168可以指示响应用户的搜索查询由用户选择网页154A和/或以其他方式由用户导航至网页154A。网页154A包括在标题154A1、URL 154A2和网页正文中的文本片段154A3中的潜在联系人信息。呼叫108A包括呼出呼叫和两个来自电话号码(198)765-4321的呼入呼叫并且其中每一个均与所述呼叫的日期相关联。呼叫的电话号码和/或日期为潜在联系人信息。电子邮件169B是由用户发送的电子邮件并且在“To:”字段和在电子邮件169B的正文中的介绍性子句169B2中包括潜在联系人信息。
联系人信息系统120可以确定网页154A、呼叫108A和电子邮件169B均与同一实体的交互相关联。例如,联系人信息系统120可以基于电话号码(198)-756-4321与呼叫108A相关联并且与网页154A的文本片段154A3中的潜在联系人信息相关联,确定网页154A和呼叫108A与同一实体相关联。同时,例如,联系人信息系统120可以基于电子邮件地址susan@!.com与电子邮件169B和网页154A中的潜在联系人信息相关联,确定电子邮件169B与网页154A相关联于相同的实体。同时,例如,联系人信息系统120可以基于电子邮件169B和网页154A之间和网页154A和呼叫108A之间的确定的关联,确定电子邮件169B与呼叫108A相关联于相同的实体。同时,例如,在一些实施方式中,单独的组件和/或数据库可以将网页154A、呼叫108A和电子邮件169B中的一个或多个映射到一个或多个实体,并且可以至少部分基于一个或多个这种映射,确定那些项与同一实体的交互相关联。例如,针对多个文档的每一个,可以在实体数据库152中识别文档和与这样的文档相关联的一个或多个实体之间的映射。
联系人信息系统120可以基于图6中所示的一个或多个交互,确定与所述实体相关联的密切度度量。在一些实施方式中,密切度度量可以至少部分基于与所述实体的交互数量。例如,与仅基于图6中所示的一个交互的密切度度量相比,可以基于图6中所示的更能够指示用户对实体的兴趣的所有交互,而确定密切度度量。同时,例如,与基于针对网页154A的仅一次访问的密切度度量相比,可以基于更代表用户针对实体的兴趣的三次访问网页154A,确定密切度度量。在一些实施方式中,基于交互数量确定密切度度量可以包括基于交互的频率确定度量。例如,可以利用与其他交互(例如用户与实体的所有交互)相比、和/或与另一频率值相比的一段时间内的交互的频率。
在一些实施方式中,密切度度量可以至少部分基于与实体的交互的类型。例如,在一些实施方式中,发送到实体的消息可以比从实体接收的消息更能指示用户兴趣。同时,例如,在一些实施方式中,呼叫实体比访问与所述实体相关联的网页更能指示用户兴趣。同时,例如,在一些实施方式中,与实体多次交换消息可以比向实体发送或从实体接收单个消息更能指示用户兴趣。
在一些实施方式中,密切度度量可以至少部分基于与实体的交互的一个或多个特性。例如,在一些实施方式中,越最近的交互比不太最近的交互更能指示用户兴趣。同时,例如,在一些实施方式中,可以考虑与交互相关联的持续时间。例如,用户查看电子邮件30秒可以比用户查看电子邮件5秒更能指示用户兴趣。同时,例如,10分钟呼叫比30秒呼叫更能指示用户兴趣。同时,例如,仅包括与单个实体相关联的联系人信息的网页可能比包括与多个实体相关联的联系人信息的网页更能指示用户兴趣。
联系人信息系统120可以基于密切度度量,使用与实体相关联的联系人信息的一个或多个方面填充联系人条目。例如,联系人信息系统120可以创建图2B的联系人条目107D并且使用从网页154A、呼叫108A和/或电子邮件169B识别的联系人信息(例如,利用本文所述的技术)填充联系人条目107D。同时,例如,联系人信息系统120可以另外和/或替选地从另一源(例如实体数据库152)识别针对所述实体的联系人信息,并且使用来自所述另外源的联系人信息填充联系人条目107D(例如利用本文所述的技术)。
在一些实施方式中,当密切度度量满足阈值时,联系人信息系统120可以自动地使用与实体相关联的联系人信息的一个或多个方面填充联系人条目。在一些实施方式中,联系人信息系统120可以在使用联系人信息的一个或多个方面填充联系人条目前询问用户。例如,如果密切度度量满足第一阈值,联系人信息系统120可以自动地使用与实体相关联的联系人信息的一个或多个方面填充联系人条目。然而,如果密切度度量不能满足第一阈值,但满足第二阈值(与第一阈值相比,对用户兴趣的指示度差),那么联系人信息系统120可以在使用联系人信息的一个或多个方面填充联系人条目前询问用户。在图6中图示并且参考确定密切度度量描述所指示的与实体的交互的多个源。然而,如本文所述,在一些实施方式中,密切度度量可以基于单个源,诸如单个文档。
图7是图示修改用户的联系人条目以包括从用户的联系人的外部的源确定的附加信息的示例方法的流程图。其他实施方式可以以不同的顺序执行、省略某些步骤和/或执行与图7所示不同的和/或附加步骤。为了方便,将参考一个或多个计算机执行所述过程的系统描述图7的方面。所述系统可以包括例如图1的联系人信息系统120。
在步骤700,针对实体识别用户的联系人条目。例如,联系人信息系统120可以在与用户相关联的一个或多个联系人集合(诸如,联系人107的联系人集合和/或用户联系人数据库167)中识别联系人条目。作为一个示例,可以识别图2A的联系人条目107A。
在步骤705,确定步骤700识别的联系人条目不能识别所述实体的至少一个属性。例如,联系人信息系统120可以识别所述联系人条目未包括针对联系人条目的一个或多个属性的信息和/或未包括针对能够包括多条信息的联系人条目的一个或多个属性的多条信息。作为一个示例,联系人信息系统120可以识别联系人条目107A未识别多个别名。
在步骤710,由用户的联系人之外的源确定识别至少一个属性的附加信息。例如,联系人信息系统120可以基于确定针对所述实体的联系人条目的至少一些相关信息和源中的信息之间的关联,确定包括针对所述实体的附加信息的源。然后,联系人信息系统120可以从所述源识别至少一个属性。作为一个示例,联系人信息系统120可以识别图3的消息109A被发送到“Robert Herman”,这与针对联系人条目107A的别名属性的相关信息匹配,和/或识别消息109A被发送到电话号码“(123)456-7891”,这与联系人条目107A的电话属性的相关信息匹配。联系人信息系统120可以进一步利用一个或多个技术(诸如上文参考图3所述的技术)将“Bobby”识别为针对联系人条目107A的别名。例如,联系人信息系统120可以基于确定消息109A被发送到仅单个实体并且基于文本处理引擎122将“Bobby”识别为用在消息109A的介绍性子句中的术语,将“Bobby”识别为别名。可以利用另外和/或替选源来识别至少一个属性和/或附加属性,诸如实体数据库152和/或实体的联系人信息的黄页或白页名单(例如,公开文档数据库154中的名单)。
在步骤715,修改步骤700的联系人条目以包括附加信息。例如,联系人信息系统120可以使用附加信息,自动地填充联系人条目。作为一个示例,如图2B所示,联系人信息系统120可以使用作为附加别名的“Bobby”填充联系人条目107A。
在一些实施方式中,可以周期性地或基于其他基础地执行图7的步骤来更新用户的联系人信息。同时,在一些实施方式中,可以以不同的顺序执行图7的步骤和/或类似的步骤。例如,在一些实施方式中,可以执行图7的步骤来处理与用户相关联的一个或多个文档并且确定那些文档是否包括任何联系人信息以更新和/或创建用户的一个或多个联系人条目。例如,在一些实施方式中,可以从用户的联系人之外的源确定针对实体的联系人信息;可以识别针对实体的用户的联系人条目;可以确定联系人条目未识别包括在源的联系人信息中的实体的至少一个属性;以及可以修改联系人条目以包括识别至少一个属性的源的联系人信息。
图8是图示确定用于与用户相关联的文档的密切度度量,并且基于密切度度量使用从所述文档识别的联系人信息填充用户的联系人条目的示例方法的流程图。其他实施方式可以按不同的顺序执行步骤、省略某些步骤和/或执行与图8所示不同的和/或附加步骤。为了方便,将参考一个或多个计算机执行所述过程的系统描述图8的方面。所述系统可以包括例如图1的联系人信息系统120。
在步骤800,识别与用户相关联的文档。例如,联系人信息系统120可以从用户文档109、用户文档数据库169和/或公开文档数据库154识别这样的文档。在一些实施方式中,文档可以是下述中的一个:用户访问的文档和用户发送或接收的消息。作为一个示例,可以基于在用户交互数据库168中和/或用户交互108中指示为与用户交互而识别网页154A。例如,用户交互数据库168可以指示响应用户的搜索查询用户选择网页154A和/或以其他方式由用户导航至网页154A。
在步骤805,分析文档的文本来识别文档中的联系人信息。例如,联系人信息系统120的文本处理引擎122可以处理文档的文本来确定文本是否包括联系人信息和/或确定联系人信息的特定属性。在一些实施方式中,文本处理引擎122可以将与一个或多个文本片段相关联的一个或多个信号接收为输入,并且利用基于分类器和/或规则的方法来确定联系人信息和/或确定联系人信息的特定属性。
在步骤810,确定与文档相关联的密切度度量。密切度度量指示用户对文档的兴趣量。在一些实施方式中,可以基于与文档有关的用户的交互(诸如用户与文档的交互数量、用户与关联于所述文档的实体的交互数量、和/或与文档和/或与文档相关联的实体的交互长度)确定密切度度量。作为一个示例,与网页154A相关联的密切度度量可以基于用户访问网页154A的数量和/或用户对网页154A的一个或多个访问的长度。在一些实施方式中,与网页154A相关联的密切度度量可以另外和/或替选地基于用户与关联于所述文档的实体的交互的数量,和/或与关联于文档的实体的交互长度。例如,如参考图6所述,可以识别用户与关联于网页154A的实体的附加交互并且密切度度量至少部分基于这样的附加交互。在一些实施方式中,并且如参考图9-11所述,可以分析文档的文本来确定文档中的联系人信息变化度量并且密切度度量至少部分地基于所述联系人信息变化度量。
在步骤815,基于密切度度量,使用联系人信息的一个或多个方面填充联系人条目。在一些实施方式中,当密切度度量满足阈值时,联系人信息系统120可以自动地使用联系人信息的一个或多个方面,填充联系人条目。在一些实施方式中,联系人信息系统120可以在使用联系人信息的一个或多个方面填充联系人条目前询问用户。例如,如果密切度度量满足第一阈值,联系人信息系统120可以自动地使用与实体相关联的联系人信息的一个或多个方面填充联系人条目。然而,如果密切度度量不满足第一阈值,而是满足第二阈值(与第一阈值相比,对用户兴趣的指示性差),那么联系人信息系统120可以在使用联系人信息的一个或多个方面填充联系人条目前询问用户。在一些实施方式中,可以利用附加源来识别联系人条目的附加联系人信息,诸如实体数据库152和/或针对实体的联系人信息的黄页或白页名单(例如,公开文档数据库154中的名单)。
可以周期性地或按照其他依据地执行图8的步骤来更新用户的联系人信息。例如,当识别到与用户相关联的新文档时(诸如当用户接收新消息、查看新消息、访问网页等),可以执行图8的步骤。
图9图示包括联系人信息变化指示并且可以用来确定针对填充用户的联系人条目的信息的用户的接收消息109B的示例。消息109B是可以包括在用户文档109中的文本消息的示例。在一些实施方式中,可以通过客户端设备106将消息109B的一个或多个方面直接或间接地提供给联系人信息系统120。
联系人信息系统120可以确定消息109B的联系人信息变化度量,并且基于所述联系人信息变化度量使用在所述文档中识别的联系人信息的一个或多个方面填充用户的联系人条目。文档的联系人信息变化度量指示包括暗示针对实体的联系人信息的联系人信息变化指示的文档已经改变的可能性。联系人信息变化度量可以基于与文档相关联的一个或多个信号,诸如本文所述的那些信号(例如,联系人信息变化术语、联系人变化术语和/或联系人信息的位置、接收者的数量)。在一些实施方式中,可以将联系人信息变化度量表述为在例如从0至1的范围内的数值或字母值。在一些实施方式中,联系人信息变化度量可以以二进制形式表示,例如,为正(例如“真”)或负(例如“假”)。
在一些实施方式中,联系人信息系统120全部地或部分地基于联系人信息变化度量,确定与消息109B相关联的密切度度量。在那些实施方式的一些版本中,基于联系人信息变化度量使用联系人信息的一个或多个方面填充用户的联系人条目可以包括如本文所述基于密切度度量填充联系人条目的一个或多个方面。在一些实施方式中,基于联系人信息变化度量填充联系人条目包括:仅当与矛盾的联系人信息相关联的联系人信息变化度量满足指示联系人信息的最近变化的阈值时,使用与联系人条目的现有相关信息相矛盾的信息填充联系人条目。例如,在一些实施方式中,如果联系人信息变化度量满足第一阈值,联系人信息系统120可以使用联系人条目中的矛盾的联系人信息自动地取代相关的联系人信息。同时,例如,在一些实施方式中,如果联系人信息变化度量满足第二阈值(与第一阈值相比,对最近变化的指示性更差),但不满足第一阈值时,联系人信息系统120可以在联系人条目中包括已经相关联的联系人信息和矛盾的联系人信息两者。同时,例如,如果联系人信息度量不满足第二阈值,联系人信息系统120在联系人条目中可以不包括矛盾的联系人信息。
在一些实施方式中,联系人信息系统120可以基于与消息109B相关联的一个或多个信号,确定联系人信息变化度量。例如,联系人信息系统120可以基于存在和/或不存在一个或多个确定的和/或定义的联系人信息变化术语(诸如“新”、“更新”、“变更”等)确定联系人信息变化度量。例如,与没有任何联系人信息变化术语相比,存在一个或多个联系人信息变化术语更指示联系人信息变化指示。同时,例如,联系人信息系统120可以基于一个或多个联系人信息变化术语与文档中识别的联系人信息的接近度,确定联系人信息变化度量。例如,当联系人信息紧挨着包括联系人信息变化术语的短语之前或之后时,与之间有多个短语时相比,更指示联系人信息变化指示。同时,例如,联系人信息系统120可以基于文档中的联系人信息的位置,确定联系人信息变化度量。例如,当联系人信息朝向文档的开始时,与当联系人信息处于在联系人信息前具有大的文本片段的文档的末尾时相比,更指示联系人信息变化指示。同时,例如,联系人信息系统120可以基于文档的接收者(如果有的话)的数量,确定联系人信息变化度量。例如,如果文档为消息并且20个接收者被发送这样的消息,与当仅一个接收者被发送这样的消息时相比,更指示联系人信息变化指示。
在一些实施方式中,文本处理引擎122可以包括用于确定联系人信息变化度量的一个或多个规则,诸如考虑上述信号中的一个或多个的一个或多个规则。在一些实施方式中,文本处理引擎122可以另外和/或替选地利用被训练以识别文档中是否存在联系人信息变化的分类器。在那些实施方式的一些版本中,可以例如基于已经标记为包括和/或不包括联系人信息变化指示的文档利用一个或多个监督或半监督训练技术,训练分类器。
在一些实施方式中,联系人信息系统120可以至少部分基于如109B2指示的被发送到21个人的消息109B和基于包括联系人信息变化术语“新”的文本片段109B3,确定消息109B的指示联系人信息变化指示的联系人信息变化度量。联系人信息系统120可以进一步基于文本片段109B3中包括别名“Robert Herman”并且识别该别名与联系人条目107A的别名匹配,识别消息109B与图2A和2B的联系人条目107A相关联。联系人信息系统120可以进一步基于与消息109B相关联的结构化信息和由文本处理引擎122处理文本片段109B1,识别发送消息的电话号码((123-456-7892))。可以将确定的电话号码与联系人条目107A中的相关的电话号码进行比较来确定电话号码不匹配。基于电话号码不匹配,并且基于联系人信息变化度量,联系人信息系统120可以使用确定的电话号码填充联系人条目107A。在一些实施方式中,联系人信息系统120可以自动地使用确定的电话号码取代联系人条目107A的现有的电话号码。在一些其他实施方式中,联系人信息系统120可以在取代现有的电话号码前询问用户和/或同时存储现有的电话号码和确定的电话号码(可选地,基于消息109B,使用所确定的电话号码可能是新的电话号码的指示)。
图10图示包括联系人信息变化指示并且可以用来确定用于填充用户的联系人条目的信息的用户接收的消息169C的另一示例。消息169C是可以包括在用户文档数据库169中的用户的电子邮件的示例。联系人信息系统120可以确定消息169C的联系人信息变化度量并且基于所述联系人信息变化度量,使用在所述文档中识别的联系人信息的一个或多个方面填充用户的联系人条目。
在一些实施方式中,联系人信息系统120可以至少部分基于如169C1所指示的消息169C被发送到多个电子邮件地址、基于包括联系人信息变化术语“新地址”的主题文本片段169C3、和/或基于在消息169C的正文的开始出现的文本片段169C4中的联系人信息,确定指示联系人信息的最近变化的消息169C的联系人信息变化度量。联系人信息系统120可以进一步基于如169C2所指示的所述电子邮件是从“robert@!.com”发送的且识别所述电子邮件与联系人条目107A的电子邮件匹配,识别消息169C与图2A和2B的联系人条目107A相关联。联系人信息系统120可以进一步基于由文本处理引擎122处理的文本片段169C4,识别地址(124Main St.Town,State)。可以将确定的地址与联系人条目107A中的相关地址进行比较来确定地址不匹配。基于地址不匹配,并且基于联系人信息变化度量,联系人信息系统120可以使用确定的地址填充联系人条目107A。在一些实施方式中,联系人信息系统120可以自动地使用确定的地址取代条目107A的现有地址。在一些其他实施方式中,联系人信息系统120可以在取代现有的地址前询问用户和/或同时存储现有的地址和确定的地址(可选地,使用所确定的地址很可能是新地址的指示)。
图11是图示确定与用户相关联的文档中的联系人信息变化指示,并且基于所述联系人信息变化指示使用从文档识别的联系人信息填充用户的联系人条目的示例方法的流程图。其他实施方式可以以不同顺序执行步骤、省略某些步骤、和/或执行与图11所示的步骤不同和/或附加步骤。为了方便,将参考一个或多个计算机执行所述过程的系统描述图11的方面。这样的系统可以包括例如图1的联系人信息系统120。
在步骤1100,识别与用户相关联的文档。例如,联系人信息系统120可以从用户文档109、用户文档数据库169和/或公开文档数据库154识别文档。在一些实施方式中,文档可以是下述中的一个:由用户访问的文档和由用户发送或接收的消息。作为一个示例,可以基于被包括在用户文档109中而识别消息109B。
在步骤1105,分析文档以确定联系人信息变化度量。文档的联系人信息变化度量指示包括暗示针对实体的联系人信息的联系人信息变化指示的文档已经改变的可能性。在一些实施方式中,联系人信息系统120可以基于与文档相关联的一个或多个信号,确定联系人信息变化度量。作为一个示例,联系人信息系统120可以至少部分基于如109B2所指示的消息109B被发送到21个人,并且基于包括联系人信息变化术语“新”的文本片段109B3,确定能指示联系人信息变化指示的消息109B的联系人信息变化度量。在一些实施方式中,文本处理引擎122可以将与文档相关联的一个或多个信号接收为输入,并且利用基于分类器和/或规则的方法来确定联系人信息变化度量。
在步骤1110,分析文档的文本以识别文档中的联系人信息。例如,联系人信息系统120的文本处理引擎122可以处理文档的文本以确定所述文字是否包括联系人信息和/或确定联系人信息的特定属性。在一些实施方式中,文本处理引擎122可以将与一个或多个文本片段相关联的一个或多个信号接收为输入,并且利用基于分类器和/或规则的方法来确定联系人信息和/或确定联系人信息的特定属性。
在步骤1115,基于联系人信息变化度量,可以用联系人信息的一个或多个方面填充用户的联系人条目。例如,联系人信息系统120可以识别与在步骤1110识别的文档相关联的用户的联系人条目,并且基于满足阈值的联系人信息变化度量,使用联系人信息的一个或多个方面填充联系人条目。作为一个示例,联系人信息系统120可以基于在文本片段109B3中包括别名“Robert Herman”并且识别所述别名与联系人条目107A的别名匹配,识别消息109B与图2A和2B的联系人条目107A相关联。联系人信息系统120可以进一步基于与消息109B相关联的结构化信息和/或由文本处理引擎122处理消息109A,识别发送所述消息的电话号码((123-456-7892))。可以将确定的电话号码与联系人条目107A中的相关的电话号码进行比较来确定所述电话号码不匹配。基于电话号码不匹配,并且基于联系人信息变化度量,联系人信息系统120可以使用所确定的电话号码填充联系人条目107A。在一些实施方式中,联系人信息系统120可以自动地使用确定的电话号码取代联系人条目107A的现有的电话号码。在一些其他实施方式中,联系人信息系统120可以在取代现有的电话号码前询问用户和/或同时存储现有的电话号码和所确定的电话号码(可选地,使用基于消息109B的所确定的电话号码可能是新的电话号码的指示)。
可以周期性地或者按照其他依据地执行图11的步骤来更新用户的联系人信息。例如,当接收到用户的新文档(诸如消息)时,可以执行图11的步骤。
图12是用于显示来自联系人条目的信息的用户界面的示例。用户界面包括搜索字段表示1204和搜索字段表示1204的右边的搜索按钮表示。在该示例中,用户已经将查询“Bobby”输入到搜索字段表示1204,并且显示基于图2B的联系人条目107A的显示1280。在一些实施方式中,客户端设备106和/或联系人信息系统120可以基于例如术语“Bobby”与联系人条目107A的别名属性匹配,确定联系人条目107A负责查询“Bobby”。显示1280包括针对联系人条目107A的别名、电话和电子邮件属性的相关信息。显示1280还包括与联系人条目107A相关联的图像(例如被包括在联系人条目107A中和/或基于附加源被识别)。除图12所示的示例外,可以提供附加和/或替选的显示。例如,可以提供来自附加和/或替选的属性的信息和/或可以使用与在显示1280中所示的不同的方式格式化所提供的属性以用于呈现。
在本文所述的系统收集关于用户的个人信息、或可以利用个人信息的情况下,可以为用户提供机会来控制程序或特征是否收集用户信息(例如关于用户的社交网络、社交动作或活动、职业、用户的喜好或用户的当前地理位置的信息)或控制是否和/或如何从服务器接收与用户更相关的内容内容。同时,可以在某些数据被存储或使用前以一种或多种方式处理,使得去除个人识别信息。例如,可以处理用户的身份,使得不能确定关于用户的个人识别信息,或可以当获得地理位置信息时使用户的地理位置一般化(例如到市、邮政编码或州级),使得不能确定用户的具体地理位置。由此,用户有权控制如何收集和/或使用关于用户的信息。
图13是示例计算机系统1310的框图。计算机系统1310通常包括经由总线子系统1312与多个外围设备通信的至少一个处理器1314。这些外围设备可以包括存储子系统1324(包括例如例如存储器子系统1325和文件存储子系统1327)、用户接口输入设备1322、用户接口输出设备1320和网络接口子系统1316。输入和输出设备允许用户与计算机系统1310交互。网络接口子系统1316提供与外部网络的接口并且耦接到其他计算机系统的相应的接口设备。
用户接口输入设备1322可以包括键盘、指示设备(诸如鼠标、轨迹球、触控板或图形板)、扫描仪、并入显示器中的触摸屏、诸如语音识别系统的音频输入设备、麦克风和/或其他类型的输入设备。通常,使用术语“输入设备”旨在包括将信息输入到计算机系统1310中或输入到通信网络上的所有可能的设备类型和方式。
用户接口输出设备1320可以包括显示子系统、打印机、传真机或非视觉显示器(诸如音频输出设备)。显示子系统可以包括阴极射线管(CRT)、诸如液晶显示器(LCD)之类的平面设备、投影设备、或用于创建可见图像的一些其它机制。显示子系统还可诸如经由音频输出设备来提供非视觉显示。一般地,术语“输出设备”的使用意图包括用以从计算机系统1310向用户或向另一机器或计算机系统输出信息的所有可能的设备类型和方式。
存储子系统1324存储提供本文所述的某些或所有模块的功能性的编程和数据结构。例如,存储子系统1324可包括执行本文所述的一个或多个方法(例如图7、图8和/或图11的方法)的逻辑。
一般地由处理器1314单独地或与其它处理器相组合地执行这些软件模块。在存储子系统中使用的存储器1325可以包括许多存储器,包括用于在程序执行期间存储指令和数据的主随机存取存储器(RAM)1330和其中存储固定指令的只读存储器(ROM)1332。文件存储子系统1327可以为程序和数据文件提供持久性存储,并且可包括硬盘驱动器、连同关联可移动介质一起的软盘驱动器、CD-ROM驱动器、光驱或可移动介质盒。可由存储子系统1324将实现某些实施方式的功能的模块存储在文件存储子系统1327中或者在可被处理器1314访问的其它机器中。
总线子系统1312提供用于让计算机系统1310的各种组件和子系统按照预期相互通信的机制。虽然将总线子系统1312示意性地示为单个总线,但总线子系统的替选实施方式可使用多个总线。
计算机系统1310可以是各种类型的,包括工作站、服务器、计算集群、刀片服务器、服务器场或任何其它数据处理系统或计算设备。由于计算机和网络的不断变化的性质,图13中所描绘的计算机系统1310的描述仅仅意图作为用于举例说明某些实施方式的目的的特定示例。可以有具有比图13中描绘的计算机系统更多或更少组件的计算机系统1310的许多其它配置。
尽管在本文中已经描述并图示多个实施方式,但可利用用于执行本文所述的功能和/或获得本文所述的结果和/或本文所述的优点中的一个或者多个优点的各种其它手段和/或结构,并且这样的变化和/或修改中的每个变化和/或修改视为在本文所述的实施方式的范围内。更一般而言,本文所述的所有参数、尺度、材料和配置意图是示例性的,并且实际参数、尺度、材料和/或配置将依赖于本发明教导被运用于的一个或者多个具体应用。本领域技术人员将认识或者能够仅使用例行实验来确立这里描述的具体实施方式的许多等效实施方式。因此将理解,仅使用示例呈现前述实施方式,并且在所附权利要求书及其等同物的范围内,可以用除了具体描述并且要求保护的方式之外的方式实践实施方式。本公开的实施方式涉及这里描述的每个个别特征、系统、物品、材料、工具包和/或方法。此外,如果两个或者更多这样的特征、系统、物品、材料、工具包和/或方法未互不一致,则在本公开内容的范围内包括这样的特征、系统、产品、物品、工具包和/或方法的任何组合。