首页> 中国专利> 社交网络系统中基于上下文的对象检索

社交网络系统中基于上下文的对象检索

摘要

实施方式通过学习和/或应用与用于搜索社交网络系统中的对象的选择器组件相关联的搜索上下文提高了社交网络系统中的用户搜索可能与其相关的信息的能力。搜索上下文专门用于个人选择器并且由此不必与可嵌入选择器的整个页面或者一组页面中的上下文一样通用。社交网络系统可以通过从使用选择器执行的之前搜索结果监控用户的选择而学习选择器的上下文。

著录项

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2019-07-30

    授权

    授权

  • 2015-06-17

    实质审查的生效 IPC(主分类):G06F17/30 申请日:20130717

    实质审查的生效

  • 2015-05-20

    公开

    公开

说明书

技术领域

本发明整体涉及计算机数据存储和检索领域,更具体地,涉及执行搜索社交网络系统内的对象。

背景技术

现代计算系统存储大量的数据,因此,为用户提供锁定与其兴趣相关的信息的有效方式变得越来越重要。其中涉及大量信息的一个领域就是社交网络。社交网络系统允许用户指定其他用户作为朋友(或者以其他方式连接至其他用户或者与其他用户构成管理),提供或者与媒体项目交互,使用应用程序,参加团体,列表并且确认参与活动,创建页面,并且执行便于社交交互的其他任务。因为每项任务均可涉及各个数据对象,所以社交网络系统是对帮助用户从系统跟踪或者以其他方式使用的大量信息中锁定相关信息的要求的很好实例。

有时,在特定上下文中执行对社交网络系统中的信息的搜索。例如,用户可以从有关餐馆的页面上锁定的数据搜索区域指定一些搜索。尽管有助于使搜索自定义化以以产生或者强化尤其与上下文(例如,餐馆)相关的对象,然而,社交网络系统中目前可用的搜索功能通常并不包括确定搜索上下文的方式,也没有考虑到执行搜索时的搜索上下文。从而使得锁定与给定搜索具体相关的信息更具挑战性。

发明内容

本发明的实施方式通过学习和/或应用于用于搜索社交网络系统中的对象的选择器组件相关联的搜索上下文提高了社交网络系统中的用户搜索可能与其相关的信息的能力。搜索上下文专门用于个人选择器并且由此不需要与其中嵌入选择器的整个页面或者一组页面的上下文一样通用。因此,例如,可以指定使用嵌入在与餐馆的菜单(例如,题为“搜索我们的菜单”)相关联的数据搜索区域内的第一选择器执行对与具体餐馆有关的页面的一种搜索,并且可以执行使用与在该餐馆内发生的具体事件(例如,题为“搜索即将发生的事件”)相关联的数据搜索区域内的第二选择器执行对同一页面的不同搜索。

在一种实施方式中,社交网络系统通过从使用选择器执行的之前搜索结果监控用户的选择而学习选择器的上下文。例如,如果用户使用新添加的选择器搜索对象,并且在多数情况下,使用户选择具有特定类型的对象,则该类型可能与作为选择器上下文中主要类型的选择器相关联。

可以各种方式应用选择器上下文(无论是通过社交网络系统自动学习、由用户手动设置、还是其某种组合),以控制作为搜索结果显示给用户的对象并且控制显示对象的方式。例如,在一种实施方式中,从由该选择器产生的搜索结果中过滤出不具有与选择器匹配的类型的对象。在一种实施方式中,基于对象类型是否与选择器上下文的类型匹配或者对象类型与选择器上下文类型的匹配程序对由选择器产生的搜索结果中的对象进行排序。

附图说明

图1A和图1B提供不同上下文中的选择器的使用的实例。

图2是根据一种实施方式的计算环境的高级框图。

图3描述了根据本一种实施方式的对社交网络系统中的页面和其他对象进行分类的层级的实例。

图4是描述了根据一种实施方式的在学习与给定选择器相关联的类型时执行的操作的流程图。

图5是描述了根据一种实施方式的由选择器响应对对象的搜索而执行的操作的流程图。

图6示出了虚构书店的样板页面管理员用户界面。

仅出于示出性的目的,图中描述了本发明的实施方式。本领域技术人员从下列描述中容易认识到,在不背离此处所描述的本发明的原理情况下,可以采用本发明中所示出的结构和方法的替代实施方式。

具体实施方式

示例性用户界面

图1A和图1B是提供“选择器”的实例的屏幕截图,社交网络系统中的用户界面元件允许用户搜索和锁定社交网络系统中与发生该搜索的上下文尤其相关的对象。例如,图1A描述了有关玩具工场的基于网络的用户界面101的一部分。用户界面101包括被实施为文本输入区域的选择器105,用户将字符“ra”输入到选择器105中,即,对玩具工场库存内的项目进行(假定较长)查询的前两个字符。响应选择器105中输入的字符,社交网络系统提供相应组的搜索结果110,其中每一项均与输入的字符匹配。(具体地,搜索结果110中的每个对象均具有带输入字符是前缀的单词的名称。例如,在搜索结果110中,输入字符“ra”时单词“Razor”、“Ray”、“race”、“Randomized”、以及“Ray”的前缀。)即使用户仅键入几个字符,使用选择器105检索社交网络系统中的对象也允许玩具工场网页为用户快速提供有关搜索项目的建议,从而为用户提供了极大的便利。

应注意,选择器105存在于有关玩具工场的页面的上下文中,更具体地,选择器105对应于玩具工场的库存的搜索。相反,社交网络系统可包括有关不同类型(例如,人、地方、事件、或者事物)的大量不同对象(例如,几百万或者几十亿)的数据,并不是所有的数据均与搜索相关。因此,让用户强化与搜索上下文相关的对象特别有益,而非只基于输入到选择器105中的字符来选择对象。

因此,选择器105的搜索结果110强化对应于产品的对象,诸如,滑板车(Razor scooter)、射线枪(Ray gun)、赛车轨道(Car race track)、以及对应于对象110A-D的游戏。搜索结果110还包括有关人的网页,名称为“Ray Allend”的虚构名人,具有与输入字符匹配的名称,并且由于该名人极高的声望而包括其名称。然而,在搜索结果中,给予该页面比产品更低的排序,因为该页面不是期望的类型(即,其是页面而非产品),并且因此,搜索结果中包括该页面并不使用户从其可能正在查找的事物(例如,产品)转移注意力。

图1B是示出了不同上下文中的选择器的使用的屏幕截图。具体地,图1B描述了用于出售名人亲笔签名的商用网站的基于网络的用户界面151。因此,如果图1A中玩具工场的用户希望使用选择器105搜索产品(例如,玩具),则图1B中亲笔签名网站的用户将转而希望搜索人(即,用户对其亲笔签名感兴趣的名人)。因此,图1B中感兴趣的对象通常是人或者专门提供这些人信息的网页。

因此,尽管将相同的字符(即,“ra”)输入到图1B的选择器155中,然而,这些字符具有不同于图1A中的搜索结果的集合。具体地,结果160包括专门提供具有与输入字符匹配的名称的人的信息的三个网页(即,“Ray Allend”、“Ramon Jones”、以及“Alice Rafferty”),附带具有与输入字符(“Daytona Racer 2012”)匹配的名称的电子游戏并且由于其较大的全球广度而包括其名称。

由于已经提供选择器的实例,所以下面讨论用于实施选择器的系统架构和技术。

系统架构

图2是根据一种实施方式的计算环境的高级框图。图2示出了社交网络系统200、客户端设备280、以及通过网络270连接的第三方网站290。客户端设备280的用户经由诸如网络浏览器等应用程序与社交网络系统200交互,从而执行诸如浏览内容、发布消息等操作,执行对人或者其他感兴趣内容的查询等。用户还可使用客户端设备280与第三方网站290交互。因此,第三方网站290还可与社交网络系统200交互以直接或者间接获得或者显示社交网络系统中的数据。

社交网络系统200包括用于存储有关社交网络环境中或者通过社交网络环境表示的对象以及有关对象关系的信息的多个组件。此外,社交网络系统200包括能够支持系统客户端(诸如,交互使用系统的客户端设备280的人类用户)的组件或者使用外部化模块250(下面进一步描述)请求信息以查询系统中感兴趣的信息的第三方网站290的组件。

更具体地,社交网络系统200包括存储有关通过社交网络系统200跟踪的各个对象的信息的对象存储器210。这些对象可代表社交网络系统200中用户可与其交互的各种事物,包括但不限于,社交网络系统中的其他用户211(例如,表示为该用户的资料对象)、应用程序212(例如,在社交网络系统中可玩的游戏)、事件213(例如,用户可参加的音乐会)、用户所属的团体214、页面215(例如,构成存在于系统中的具体个人或者组织的页面,诸如,有关虚构名人“Ray Allend”的页面或者有关餐馆不同方面的页面)、字段225(有关页面的语义含义信息的离散单元,诸如,业务页面上列出的营业时间或者电话号码)、媒体项目216(例如,图片、视频、音频、文本、或者任何其他类型的媒体内容)、与用户相关联的位置217(例如,“美国加利福尼亚州圣何塞”)、以及概念218或者其他项(例如,对应于概念“维多利亚文学”或者产品“滑板车(Razorscooter)”的对象)。如下面参考图4所进一步描述的,在一种实施方式中,对象存储器210还存储对象选择器219,即,用于查询、显示、以及选择对象存储器210中的其他对象的对象。对象存储器210可进一步存储代表由社交网络系统200中的用户例行产生的其他数据的对象,诸如,收件箱消息、状态更新、评论、注释、以及发帖。对象存储器210中的对象可代表存在于社交网络系统中的实体(例如,社交网络系统中可用的应用程序212)、存在于社交网络系统的域外的虚拟实体(例如,网站)、或者现实世界实体(例如,人、体育团队、或者零售店)。

对象存储器210可存储存在于社交网络系统200中的所有对象,诸如,应用程序212的代码,或者与图像媒体项目216相关联的图像数据。可替代地,对于存在于社交网络系统200的外部的虚拟实体,对象存储器210可包含指针或者实体参考的某种形式,诸如,外部媒体项目216的统一资源定位符(URL)。此外,对象存储器210还可存储与对象相关联的元数据,诸如,描述对象的名称(例如,描述人的“Ray Allend”、描述应用程序的“生日提醒”、或者描述团体的“企鹅追星族(Penguin Fanciers)”)、表示对象的图像(例如,用户资料图片)、或者由用户分配给对象的一个或者多个标签(例如,有关战略由此应用程序的文本字符串“游戏”、“犯罪”、以及“战略”)。不同类型的对象可具有不同类型的元数据,诸如,有关团体214的一组相关联用户211、有关媒体项目对象216的媒体类型(例如,“视频”)、以及有关用户对象211的唯一用户ID和名称令牌(例如,分开的第一名称“Ray”和最后名称“Allend”)。

在一种实施方式中,对象存储器210将对象类型与各个对象相关联。这些类型可以是单原子类型,或者其可以是描述相关类型或者子类型的层级的复合类型。例如,用户对象211(不再需要进一步的资格)可能具有“用户”类型,而表示日本餐馆的页面对象215可能具有“Page.Business.Restaurant.Japanese”类型,以表示该对象时页面,更具体地,表示业务的页面,并且更具体地,餐馆业务,并且又更具体地,日本餐馆业务。

在一种实施方式中,社交网络系统200捕获用于对页面215或者其他类型的对象、各个页面215内的字段225等进行分类的类型图表221中的各种类型对象的关系。图3描述了类型图表221的层级的一种实例。在该实例中,“对象”是衍生出所有其他类型的普遍适用类型,并且“页面”302(页面对象215的类型)和“概念(Concept)”304(概念对象218的类型)是对象存储器210中的两个对象类型。反之,“业务(Business)”305、“艺术(Art)”、以及“体育(Sport)”是广义的顶级类型218,并且类型“业务”具有子类型“餐馆”和“书店”(商业实体的两个实例),并且“餐馆(Restaurant)”又进一步具有子类似“日本(Japanese)”和“意大利(Italian)”(代表餐馆专攻的不同烹饪类型)。同样,“概念”类型转而具有子类型“产品(Product)”(代表出售项目),并且“产品”转而具有其自身的子类型“玩具(Toy)”(代表出售项目的具体类型)。因此,层级涉及作为其他类型的一般化或者特殊化的不同类型。

在一种实施方式中,适用于类型图表221中的页面215的每种类型(例如,图3中的页面类型302及其各种子类型)均可具有指定该页面类型具有或者可能具有的属性的关联字段类型303。例如,在图3的实例中,“业务”页面类型305具有关联字段类型“地图(Map)”、“时间(Hours)”、以及“电话(Telephone)”306,其分别代表营业位置的地图、对客户开放的白天营业时间、以及可联系该业务的电话号码。此外,“餐馆”页面类型307具有代表提供餐馆服务的一组食物项目的关联字段类型“菜单(Menu)”。在一种实施方式中,字段类型303本身被实施为概念304。在一种实施方式中,“子代“类型继承其“祖代”类型的字段,诸如,也具有“业务“父代类型的地图字段、时间字段、以及电话字段的“餐馆”页面类型307等。

在一种实施方式中,通过社交网络系统200的操作人员手动建立层级。在其他实施方式中,动态生成局部或者整体层级。例如,下面图6中的讨论包括具有类型图表221中的其他类型的字段225的动态关联性的描述。

应当认识到,图3中的层级仅出于示例性的目的,并且实际上,类型层级可具有以任意方式布置的任意数目的类型和/或字段。

再次返回图2,在一种实施方式中,社交网络系统200进一步包括代表作为“社交图表”中链接在一起的节点的对象存储器210中的对象的图表信息存储器220。因此,图表信息存储器220包括有关以连接各个对象节点的边缘表示的对象之间的关系的信息。社交图表中的边缘的各种实例包括:代表社交网络系统中的用户具有关系的两个用户对象211之间的边缘(例如,朋友、或者通信过、查看过另一方的资料、或者以某种方式交互过);代表用户已经使用该应用程序的用户对象211与应用程序对象212之间的边缘;与代表用户属于该团体的用户对象211与团体对象214之间的边缘;以及代表用于查看过该页面的用户对象211与页面对象215之间的边缘。

例如,如果社交网络系统中的一个用户211与另一用户建立关系,则这两个用户各自代表一个节点,并且这两个用户之间的边缘代表建立的关系;据此可以说这两个用户在社交网络系统中连接。继续该实例,社交网络系统中的这两个用户中的一个可以向另一用户发送消息。发送消息的动作是通过社交网络系统可以存储和/或跟踪的这两个节点之间的另一边缘。消息本身可以被视为节点。在另一实例中,一个用户可以在通过社交网络系统维持的图像中加签于另一用户。加签动作可在这两个用户之间建立边缘以及在用户与图像(其也是节点)之间建立边缘。在又一实例中,如果用户确认参与一个事件,则用户和该事件均是节点,其中,用户是否参与该事件的指示是边缘。因此,社交网络系统利用社交图表可保持跟踪多种不同类型的对象和边缘(对象之间的交互与连接),从而保持社交相关信息的极丰富存储。

在一种实施方式中,图表信息存储器220中的边缘具有相关联的元数据,诸如,描述关系类型的标签(例如,作为两个用户对象之间的标签的“朋友”)和/或量化关系强度的值。此外,通过确定对象之间最短路径上的边缘数目可以确定任何两个对象的关系程度或者“距离”。例如,其间具有边缘(例如,表示朋友关系)的两个用户对象具有一关系程度(或者“距离”)并且被视为一级连接。同样,如果用户对象A是用户对象B、但不是用户对象C的一级连接,并且B是C的一级连接,则对象A和C具有二关系程度,以表示C是A的二级连接(反之亦然)。

如图3所述,页面215还可与对应的具体类型相关联,诸如,专门提供与具体类型“Object.Page.Business.Restaurant.Japanese”相关联的专攻日本烹饪的具体餐馆业务信息的页面。因此,在一种实施方式中,图表信息存储器220包括一组页面类型关联222,每种关联均涉及对应类型的特定页面215。

在一种实施方式中,通过页面创建器手动指定页面类型关联222。在一种实施方式中,在页面创建时,社交网络系统200提供页面215的创建器以有机会指定页面所代表的概念218,并且相应更新页面类型关联222。在一种实施方式中,社交网络系统200向页面创建器提供对应于通过类型图表221体现的类型/子类型关系的一系列选择。参考图3中的实例,社交网络系统200可能首先展示创建有关日本餐馆的页面以及该页面是否与业务、艺术、或者体育有关的选择的页面创建器。响应答案“业务”,则社交网络系统200则向创建器提供该页面是否更具体地关于餐馆或者书店的选择等,直至达到最终类型“日本”。(在一种实施方式中,该类型表示为各种类型和子类型的整个“路径(path)”,诸如,对象(Object)→页面(Page)→业务(Business)→餐馆(Restaurat)→日本(Japanese)。)

选择器219可以包括任意数目的不同类型的页面215,每个页面潜在地代表一种不同的上下文。此外,同一页面内可以包括不同的选择器,诸如,用于选择菜单上的食物项目的餐馆页面上的一个选择器,以及用于选择餐馆通常播放的不同歌曲的一个选择器。在一种实施方式中,为了跟踪不同选择器的不同上下文,图表信息220还包括指定特定选择器219之间的关联性的选择器类型关联223以及用作影响选择器输出的上下文的一组一个或者多个对应类型。例如,返回参考图1A,给定选择器105的目的是选择与被购买玩具相关的对象的名称,则选择器105可能与包括图3中的“产品”类型或者其更具体的“玩具”子类型的上下文相关联。相反,给定其目的是选择名人姓名(例如,社交网络系统200中的用户211,或者专门提供名人信息的页面215),图1B中的选择器155可能与图3中的“用户”或者“页面”类型相关联。

选择器实施

在不同实施方式中可以不同方式确定选择器类型关联223。例如,在一种实施方式中,页面创建器手动指定添加到其页面215中的有关每个选择器219的一种或者多种相关联的类型,例如,通过基于类型图表221回答一系列问题。(例如,通过诸如“您的用户希望找到其他用户、页面、字段、或者概念吗?”,“这个概念是否与产品或者文献有关?”,“这款产品是玩具还是硬件?”等一系列问题可以获得选择器215的类型。)

在许多情形下,适合页面创建器手动指定与选择器相关联的类型。然而,在其他情况下,页面创建器可能不希望花费时间指定相关联的类型,或者页面创建器可能提前不知道选择器通常选择使用的对象类型。因此,在另一实施方式中,社交网络系统200包括学习选择器上下文的选择器上下文学习模块260,即,基于使用选择器的之前用户选择与给定选择器尤其相关的一种或者多种类型。在本实施方式中,页面创建器可将特定选择器添加到页面215中,而无需手动指定上下文。因此,当用户使用选择器选择对象时,选择器最初并不基于上下文调整搜索结果。然而,选择器上下文学习模块260监控从选择器结果集中选择的对象的类型并且基于不同选择类型的计数确定与选择器相关联的类型。

图4是描述根据一种实施方式的选择器上下文学习模块260在学习与给定选择器219相关联的类型时执行的操作的流程图。最初,不存在与选择器相关联的任何上下文,即,不存在任何对象类型。选择器219接收诸如图1A中的键入字符“ra”等输入。然后,选择器219识别由与接收输入匹配的对象组成的结果集420,诸如,具有以键入字符开头的至少一个单词的名称的所有对象(或者其某个子集)。可替代地,对象名称不需要以键入字符开头,但是,可以在对象名称内的任何位置具有键入字符,例如,“ra”也与“葡萄(Grape)”以及“Ray”匹配。

当识别420和/或修改结果集时,选择器219还可选地纳入社交网络系统200中有关提供查询输入的用户的信息,可以使用查询输入确定用户对结果集中的各个对象的评估程度。用户信息可包括图表信息存储器220中的用户的联系(connection),诸如,用户与其是直接或者间接朋友关系的其他用户211、用户浏览过的媒体项目216、用户与结果集中的对象之间的地理或者图表距离等。例如,返回参考图1B,如果既不输入查询且其具有2或者更低关系程度的联系(例如,朋友)的用户曾经与页面160B交互,表达对该页面所表示的概念218感兴趣等,则结果160中可以忽略有关人“Ramon Jones”160B的网页。用户信息还可包括用户在社交网络系统200中执行的动作,诸如,投票,指定用户资料的数据,浏览具体页面等。(在一些实施方式中,用户211对社交网络系统200的对象存储器210中的另一对象的动作可以表示为图表信息220中的联系,诸如,代表用户浏览过该页面的用户211与页面215之间的联系。)

例如,根据诸如所有用户之间的对象全球广度、搜索用户与图表信息存储器220中的对象图表中的对象之间的距离等因素,可以任意方式对结果集中的对象排序。

选择器219则(例如,通过检查与对象相关联的类型属性)接收用户对结果集中的对象的一个的选择430并且确定与所选择对象相关联的类型440。

操作410-440可发生多次,直至上下文学习模块260获得足以识别选择器的相关联类型的数据。例如,在一种实施方式中,作为选择器的主要关联类型,选择器上下文学习模块260识别使用概率在50%以上的选择器选择相关联对象的任何类型,并且至少总共3次;将类型识别为使用概率在25%以上的选择器选择的第二类型,并且至少总共2次。一旦上下文学习模块260具有足以识别一种或者多种相关联类型的数据,则其经由选择器类型关联223将类型与选择器219相关联。

在一种实施方式中,选择器上下文学习模块260考虑任何用户对对象的所有选择,由此从聚集的用户行为确定选择器上下文。在其他实施方式中,选择器上下文学习模块260通过仅考虑用户对选择器的选择而转而使每个用户的选择器上下文个性化。例如,假定“电子游戏”和“滑板车”是图3中一般“玩具”类型的两个子类型。进一步假定特定选择器与类型“玩具”相关联,并且具体地,特定用户通常从选择器中的搜索结果选择类型“电子游戏”的玩具,但是,对于选择器的多数用户可能不是如此。在这种情况下,选择器上下文学习模块260可能使选择器的类型与有关该特定用户而非所有用户的“电子游戏”相关联。因此,当该特定用户将查询输入到选择器中时,其将偏重于显示推测为该用户喜欢的玩具的电子游戏,从而为用户提供更多相关的结果。

返回参考图1A,作为图4中的操作的具体实例,假定在不需要任何初始关联上下文的情况下将用于搜索玩具存储的存货的选择器105添加到页面中。如果选择器105由于用户在选择器文本区域中敲击键盘而接收字符“ra”410,则选择器识别具有包含以“ra”开头的单词的名称的对象的结果集420,而与对象类型无关。例如,即使其并不对应于类型“玩具”的对象,或者甚至类型产品,由于其对应的广度,可以将对应人“RayAllend”的结果110E排序在第一位。同样,即使这些对象不属于类型“玩具”,则结果集可包括类型“动物”中名称为“老鼠”的对象和类型“电影”中名称为“料理鼠王(RATATOUILLE)”的对象。然而,前三次使用选择器使得选择器105接收对类型“玩具”的所有对象的选择430,则选择器上下文学习模块260可确定选择器上下文包括类型“玩具”440并且将“玩具”与选择器的主要上下文类型相关联450。之后,如图1A中的结果集所示,例如,通过将结果集中的类型“玩具”的对象排序得更高,从选择器中获得的结果集将偏重于类型“玩具”。因此,例如,对字符“ra”的随后查询可能(如图1A所示)产生玩具对象“滑板车(Razor scooter)”、“射线枪(Ray gun)”、“赛车轨道(Car race track)”、以及“随机游戏(Randomized game)”(以及非玩具类、但是全球流行、有关人“RayAllend”的页面),对字符“ro”的查询可能产生玩具对象“火箭”和“机器人”。

在一种实施方式中,选择器上下文学习模块260采用混合算法,从而分配选择器的初始上下文,但是,将上下文主体改变成指示初始分配不准确的随后用户选择。例如,图1B中的亲笔签名业务的页面创建其可能将选择器155的主要类型设置成“用户”(社交网络系统200的用户),其中,用户最不可能选择对应于专门提供正在谈论的名人(其可以是或者不是社交网络系统中的用户)信息的页面215的对象类型“页面”。在这种情况下,在从选择器结果集中接收类型“页面“的多个用户选择之后,选择器上下文学习模块260将主要关联类型从“用户”更改至“页面。又例如,选择器上下文学习模块260可以基于页面类型设置页面的默认上下文。例如,可以将类型“业务”的页面的默认上下文设置成包括类型“产品”,从而反映通常使用业务页面上的选择器查找产品。然而,对于旨在用于识别给定城市的存储位置的业务页面上的选择器,选择器上下文学习模块260可基于从结果集的初始朝向底部显示的位置对象的用户选择将上下文改变成包括类型“位置”。如上所述,又例如,选择器上下文学习模块260不可完全改变与选择器相关联的类型,而是仅将其限定为子类型,诸如,将“玩具”改变成“电子游戏”。

一旦特定选择器219具有相关联的上下文,例如,由于学习上下文的选择器上下文学习模块260,选择器可应用上下文以将更为有用的搜索结果显示给用户。图5是描述根据一种实施方式的由选择器219响应对对象的搜索而执行的操作的流程图。如上所述,参考图4中的操作410-420,选择器219接收输入510并且识别与该输入匹配的对象的结果集。然后,如上所述,参考操作440,选择器219识别结果集中的对象的类型530。选择器219还识别构成与选择器相关联的上下文的类型540,例如,通过选择器上下文学习模块260学习的类型。

在不同实施方式中,选择器219可基于选择器类型以不同方式修改结果集550。在一种实施方式中,选择器219从与输入到选择器中的搜索字符匹配的对象的结果集中过滤出具有并不与选择器上下文中的任何类型匹配的类型的任何对象。(在诸如图3中的实施方式中,其中,类型以层级布置成顶级类型和子类型,如果对象类型与选择器上下文中的类型相同或者是选择器上下文中的类型的子类型,则可以说对象类型与选择器上下文中的类型匹配。例如,因为“餐馆”是“业务”的子类型,所以图3中的对象类型“餐馆”与选择器上下文类型“业务”匹配。)

在其他实施方式中,选择器219并不过滤掉具有不与选择器上下文匹配的类型的结果集对象,而是调整对象的排序分数。例如,选择器219可以因缺少匹配类型而处罚对象某一预定的量或者百分比。如果不考虑选择器上下文,从而致使没有匹配类型的对象趋于比其原来在结果集中排序更低。在另一实施方式中,将没有匹配类型的对象分配给第二组对象,其中结果集中没有任何对象比具有匹配类型的显示对象显示得更早。因此,例如,尽管不是类型“玩具”,结果集中仍示出了图1A中的名人“Ray Allend”,但是,在类型“玩具”的四个对象中的每一个之后显示。这些解决方法中的任一种均允许继续显示其他类型的重要对象,从而为用户提供其他可能的选项,同时仍突出地显示期望与搜索上下文最为匹配的对象。如果用户开始选择不同于早期通常选择的类型的对象,则提供其他选项允许随着时间重新学习选择器的上下文。

选择器219还可调整属于其内容一部分的类型的排序分数。例如,与主要关联类型匹配的结果集中的对象可以比与次要关联类型匹配的对象排序更高。

在一种实施方式中,不仅根据对象类型与选择器上下文中的类型是否匹配而且还根据这些类型匹配的紧密程度来计算对象的排序分数。在一种实施方式中,通过类型图表221中的类型之间的最短图表距离确定匹配的紧密度。例如,返回参考图3,如果特定选择器219的上下文具有类型Object.Page.Business.Restaurant.Japanese,并且初始结果集中的对象(仅基于文本字符匹配)属于类型Object.Page.Business.Restaurant.Italian,则亲密度反映为2距离,即,从一个节点至最近的共同父带并且由此至另一节点的跳变次数。

再次参考图2,例如,在一种实施方式中,社交网络系统200包括外部化模块250,外部化模块250允许位于社交网络系统外部的第三方系统经由选择器219查询社交网络系统中感兴趣的对象。因此,选择器219(例如)的使用不一定局限于社交网络系统200本身;更确切地,任何外部网站可创建利用社交网络系统中的数据的自定义搜索界面。

例如,在一种实施方式中,外部化模块250提供第三档网站上第三方可包括的代码,代码致使创建在社交网络系统200的域内加载URL的内嵌框架。URL自身可包括社交网络系统200用于确定内嵌框架内渲染的内容的(例如,键值对)信息。例如,当在内嵌框架内提供选择器219时,内嵌框架的URL可包括指示社交网络系统200显示哪一特定选择器的选择器标识符,并且社交网络系统通过跟踪经由具有该标识符的选择器选择的对象类型还可学习与选择器相关联的对象类型。因为内嵌框架在社交网络系统的域内,所以社交网络系统访问社交网络系统中的用户的小甜饼(cookies),例如,以获得诸如用户姓名等信息。因此,如上所述,可选地,社交网络系统可从图表信息存储器220中访问用户的联系并且使用连接修改经由选择器输入的查询结果。参考图1A,例如,用于搜索玩具对象的选择器105可以被实施为从社交网络系统200的域加载内容并且嵌入在聚焦玩具销售的外部第三方网站的网页内的内嵌框架。在该实例中,通过诸如<iframesrc="http://www.socialnet.com/objquery/id=1383922"></iframe>等HTML代码可以指定内嵌框架,从而指定应显示在社交网络的www.socialnet.com上具有ID 1383922的选择器。

在其他实施方式中,可以其他方式实施外部化模块250,诸如向社交网络系统200明确地拨打电话以获得与特定标准匹配的数据的基于网络服务的API,诸如具有给定名称前缀和给定对象类型的对象。

应用程序:字段选择和学习

页面215可具有相关联的字段225,即,描述给定页面的各方面的数据的离散部分,诸如,指定业务页面营业时间的“时间”字段,或者指定餐馆(即,餐馆页面的主体)提供食物的“菜单”字段。在一种实施方式中,各个可能字段中的每个均表示为对象存储器210中的对象225,而非仅表示为文本片段或者其他原始数据类型,并且由此以下被称之为字段对象225。每个字段对象225均具有类型图表221中对应的字段类型303,诸如,图3中描述的“地图”、“时间”、“电话”、“菜单”字段,并且可具有代表该字段类型的数据的一个或者多个值(例如,有关“电话”字段类型的文本“555-555-1234”)。

社交网络系统200可提供页面管理员用户界面,页面管理员用户界面允许社交网络系统中的实体的不同页面215的管理员指定字段对象225或者每个页面上的其他信息。选择器219提供管理员一种快速指定被添加到页面上的字段对象225的相关类型的方式。

例如,图6示出了关于虚构书店“图书馆书籍”的样本页面管理员用户界面600。用户将字符‘m’键入到具有主要(或者仅)关联类型“字段”的上下文的选择器605中。因此,选择器605显示存储在类型图表221中与输入字符‘m’匹配的字段对象303的结果集606(即,用于为用户提供某一位置的地图的“地图(Map)”字段、用于列出音乐流派的“音乐列表(Music list)”字段、以及用于列出食物类型的“菜单(Menu)”字段),从而过滤出(或者将较低排序分配给)除字段类型303之外的对象。然后,管理员可选择合适类型的字段对象225添加(例如,地图字段)到社交网络系统200中的页面管理员中。

在一种实施方式中,社交网络系统200还包括字段学习模块265,字段学习模块265识别通过其页面215的管理员(例如,经由选择器119)选择的字段类型303并且在这些字段类型与页面之间形成关联性。具体地,社交网络系统200包括图表信息存储器220中的一组页面-字段关联224,每个关联均将特定页面类型302(例如,业务类型305的页面)与特定字段类型303相关联,特定字段类型303与该页面类型具有至少某一关联的阈值程度并且由此被视为适合于该页面类型。在一种实施方式中,字段学习模块265每次通知管理员将特定字段类型303添加到不与页面字段关联224中的字段类型相关联的类型页面中。因此,在足够多次地将字段类型添加到该页面类型(例如,最少次数、或者该类型的总页面的最小百分比)以建立关联预阈值程度之后,字段学习模块265将页面字段关联244中的字段类型303与页面类型302相关联。

例如,假定当首先创建业务页面类型305时,其与代表业务电话号码的电话字段类型306没有任何关联。然而,在多个管理员将电话字段类型306添加到类型业务的页面中(或者添加到诸如餐馆等其子类型中)之后,字段学习模块265在业务页面类型305与电话字段类型306之间创建关联性。

社交网络系统200则应用页面字段关联224以为管理员提供更为有用的选项,其中包括发起将合适字段类型的字段添加到不具有该字段类型的字段的页面中。在一种实施方式中,其上下文中具有字段类型303的选择器219可基于与嵌入选择器的页面类型相关联的字段类型调整结果的排序。具体地,与选择器219对应的页面类型相关联的字段类型303可使其排序较高,并且与该页面类型不关联的字段类型可使其排序下降。例如,因为地图时图3中的业务页面类型305的已知字段类型,并且其他两个字段不是已知字段类型,所以图6的搜索结果606中的地图字段类型可以比音乐列表字段类型或者菜单字段类型排序更高。

在一种实施方式中,社交网络系统200可向页面管理员主动建议管理员添加页面字段关联224列出为与给定页面类型的页面相关联的特定字段。例如,如图3中的样本所示,在图6中,因为“电话”和“时间”是已知与业务类型的页面相关联的字段类型,所以用户界面600提供建议管理员将电话号码字段和/或业务时间字段添加到有关“图书馆书籍”业务的页面中的链接610。

可替代地,社交网络系统200可自动添加该字段,而无需请求用户的许可。在一种实施方式中,将字段类型的实例自动添加到其中字段类型与页面类型之间的关联性具有大于在页面字段关联224中的页面类型与字段类型之间创建关联性所需的强度的至少某一阈值程度的页面。例如,在一种实施方式中,强度阈值程度包括具有该字段实例的页面类型的某一最少次数(例如,1000)和具有该字段实例的页面类型的页面的某一最小百分比(例如,90%)。当字段实例(例如,电话号码字段)被自动添加到页面中时,社交网络系统200可请求页面管理人员指定用于该实例的值(例如,有效的电话号码)。

出于示出性的目的,示出了本发明的实施方式的上述描述;其并不旨在穷尽本发明或者将本发明局限于公开的精确形式。相关领域技术人员应认识到,根据上述公开内容,多种变形和替换是可以的。

本说明书中的一些部分就有关信息的算法和操作的符号表示方面描述了本发明的实施方式。数据处理领域中的技术人员通常使用这些算法描述和表示以将其工作实质有效地传递给本领域技术人员。应当理解的是,从功能、计算、或者逻辑方面描述的这些操作通过计算机程序或者等效电路图、微代码等被实施。而且,也已经无数次地证实将操作的这些布置称之为模块比较便利,而不丧失一般性。所描述的操作及其相关联的模块可以包括软件、固件、硬件、或者其任何组合。

单独使用或者结合其他设备使用一个或者多个硬件或者软件模块可以执行或者实施本发明中所描述的任何步骤、操作、或者过程。在一种实施方式中,软件模块被实施为包括含计算机程序代码的计算机可读介质的计算机程序产品,计算机处理器执行计算机程序代码以用于执行所描述的任何或者所有的步骤、操作、或者过程。

本发明的实施方式还可涉及一种用于执行本发明中的操作的装置。该装置可以是出于需求目的而被特别地构造,和/或其可包括通过存储在计算机中的计算机程序而被选择性地激活或者重新配置的通用计算设备。该计算机程序可以存储在非易失性、有形的计算机可读存储介质中,或者可以是适于存储电子指令的耦接至计算机系统总线的任何类型的介质。而且,本说明书中所提及的任何计算系统均可包括单处理器或者可以是采用用于提高计算能力的多处理器设计的架构。

本发明的实施方式还可涉及一种通过本发明中所描述的计算过程而制造的产品。该产品可包括与计算过程有关的信息,其中,信息存储在非易失性、有形的计算机可读存储介质上并且可包括计算机程序产品的任何实施方式或者本发明中所描述的其他数据组合。

最后,出于可读性和介绍性的目的,主要选择了本说明书中所使用的语言,并且其并不被选择为描绘或者限定本发明主题的轮廓。因此,其并不旨在通过细节描述限制本发明的范围,而是通过基于本发明的申请所发布的权利要求限制本发明的范围。因此,本发明的实施方式的公开内容旨在为示出性,而不限制所附权利要求中所规定的本发明的范围。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号