社交和情境适当的推荐系统的制作方法

文档序号:11142370阅读:232来源:国知局
社交和情境适当的推荐系统的制造方法与工艺

本申请要求2014年6月27日提交的美国非临时专利申请号14/316,878的优先权权益。

技术领域

实施例总体上涉及推荐系统。更具体地,实施例涉及社交和情境适当的推荐系统。



背景技术:

推荐系统可以部署在各种各样的应用中,如社交网站(例如,FACEBOOK)、搜索引擎(例如,BING)、视频共享网站(例如,YOUTUBE)、电子商务(e商)网站(例如,AMAZON.COM)等等,其中,可以基于用户过去的线上活动向用户推荐内容。然而,常规的解决方案可能推荐从一个角度来看适合用户但从另一个角度来看不适合用户的内容。例如,具体的内容可能由于内容类型(例如,与用户最喜爱的风格和/或主题相关联的内容)而被推荐给用户,而从社交角度来看所述内容可能是用户不希望的(例如,所述内容源自用户不喜欢的一群人)。另外,内容可能由于内容的社交相关性(例如,所述内容源自用户最喜爱的社群)而被推荐给用户,而从用户的角度来看内容的类型可能是不希望的。此外,常规的系统可能推荐在时间上的一个时刻适合于用户但在时间上的另一个时刻不适合的内容(例如,由于用户的社交设置和/或环境)。

附图说明

通过阅读以下说明书和所附权利要求书并参考以下附图,实施例的各种优点对于本领域技术人员将变得显而易见,在附图中:

图1是根据实施例的推荐流水线的示例的框图;

图2是根据实施例的一种推荐内容的方法的示例的流程图;

图3是根据实施例的一种在抽象兴趣与社交兴趣之间进行区别的方法的示例的流程图;

图4是根据实施例的一种使用角色来推荐内容并控制电子文件可见性的方法的示例的流程图;

图5是根据实施例的一组角色的示例的展示;

图6是根据实施例的一种对角色进行适配的方法的示例的流程图;

图7是根据实施例的电子文件可见性修改的示例的展示;

图8是根据实施例的一种对兴趣进行适配的方法的示例的流程图;

图9是根据实施例的多个推荐以及相关联兴趣的示例的展示;

图10是根据实施例的处理器的示例的框图;以及

图11是根据实施例的系统的示例的框图。

具体实施方式

现在转到图1,示出了推荐流水线20。流水线20可以总体地包括抓取(crawling)模块22、兴趣检测模块24、可视化模块26(26a、26b)、推荐模块28(28a、28b)、传感器推断模块30以及前端界面34。所展示的抓取模块22从社交网络、在线简档、发布的文档或创作的文档中收集数据(例如,标签、评论、“赞”、地理位置详情等),其中,所述收集的数据与用户相关联。更具体地,抓取模块22可以在静态(例如,周期的)或动态确定的时间基础上收集用户的发布、相片等,连同其相应的标签、评论、日期、地理位置详情等等。

例如,抓取模块22可以确定由用户及其朋友线上发布的相片和其他内容收到的点赞数,其中,抓取模块22可以从此数据中根据内容发布之间的时间差计算所述群组的平均共享速率。所述平均共享速率然后可以用于确定多频繁地从所讨论中的群组收集内容。抓取模块22还可以订阅来自特定内容提供方(例如,用户、网站等)的内容、计算内容提供方的平均共享速率、并且使用所述平均共享速率来确定多频繁地从内容提供方收集内容。由抓取模块22收集的数据可以提供深入用户偏好、人际关系和/或习惯的范围广泛的洞察。

兴趣检测模块24通常可以进行对所收集的数据的兴趣分析,其中,所述兴趣分析在抽象兴趣与社交兴趣之间进行区分。更具体地,抽象兴趣可以标识多种类型的话题(例如,风格、主题、主旨)以及多种类型的对象(例如,文档、视频、音频、日历事件),而社交兴趣可以标识多种类型的社交群组(例如,家庭成员、同事、邻居和其他群组)。如将更详细讨论的,在抽象兴趣与社交兴趣之间进行区分使所展示的流水线20能够通过例如潜在地消除/降级从抽象兴趣立场来看可能合适但从社交兴趣立场来看可能不合适(并且反之亦然)的推荐为用户标识更相关的内容。

推荐模块28可以基于用户的兴趣分析和当前情境为用户生成一个或多个推荐,其中,传感器推断模块30可以基于与用户相关联的传感器数据32(例如,位置数据和/或社交接近度数据)确定当前内容。例如,位置数据可以包括全球定位系统(GPS)坐标、街道地址等,并且社交接近度数据可以指示相对于用户谁在附近。在一个示例中,社交接近度数据是经由用户设备与附近个体和/或网络的设备之间的一个或多个无线通信(例如,近场通信/NFC、Wi-Fi、蓝牙等)确定的。此外,除其他项外,前端界面34可以向用户呈现一个或多个推荐。如将更详细讨论的,使用传感器数据32生成推荐可以使流水线20能够通过例如潜在地消除/降级在给定时刻时间上合适但另一个时刻时间上不合适(例如,在不同的社交设置和/或环境)的推荐来为用户标识更相关的内容。

因此,图2演示了一种推荐内容的方法54。方法54可以被实现为逻辑指令集中的一个或多个模块,所述逻辑指令集存储在如随机存取存储器(RAM)、只读存储器(ROM)、可编程ROM(PROM)、固件、闪存等的机器或计算机可读存储介质中,存储在如例如可编程逻辑阵列(PLA)、现场可编程门阵列(FPGA)、复杂可编程逻辑器件(CPLD)的可配置逻辑中,存储在使用如例如专用集成电路(ASIC)、互补金属氧化物半导体(CMOS)或晶体管-晶体管逻辑(TTL)技术或其任意组合的电路技术的固定功能硬件逻辑中。例如,可以用一种或多种编程语言的任意组合来编写用于执行方法54中所示操作的计算机程序代码,所述编程语言包括面向对象的编程语言(如JAVA、Smalltalk、C++等)以及常规程序化编程语言(如“C”编程语言或类似的编程语言)。

所展示的处理框56提供从一个或多个社交网络收集与用户相关联的数据,其中,可以在框58处进行对数据的兴趣分析。如已经指出的,兴趣分析可以在抽象兴趣与社交兴趣之间进行区分。框60可以基于与用户相关联的位置数据和/或社交接近度数据确定用户的当前情境。另外,可以在框62处基于所述兴趣分析和用户的当前情境生成一个或多个推荐。所展示的框64向用户呈现一个或多个推荐。

抽象兴趣和社交兴趣

图3示出了一种在抽象兴趣与社交兴趣之间进行区分的方法36。如已经讨论的,方法36可以容易地取代框58(图2)。此外,方法36可以被实现为逻辑指令集中的一个或多个模块(如,例如,兴趣检测模块24(图1)),所述指令集存储在如RAM、ROM、PROM、固件、闪存等的机器或计算机可读存储介质中,存储在如例如PLA、FPGA、CPLD的可配置逻辑中,存储在使用如例如ASIC、CMOS或TTL技术或其任意组合的电路技术的固定功能硬件逻辑中。

所展示的方法36通常确认用户的抽象兴趣可以是由用户针对特定主题的热情驱使的,而用户的社交兴趣可以是由用户的吸引力以及针对特定的一群人的社交联系驱使的。相应地,所展示的处理框40使用来自用户的社交网络、在线简档、发布的文档或创作的文档(例如,统称为用户的“社交内容”)的数据38来检测一个或多个话题。这些不同话题可以被认为是潜在的抽象兴趣。

在一个示例中,基于聚类的话题建模算法(如,例如,潜在狄利克雷分配(LDA))用于获得存在于用户的社交内容中的话题。可以为LDA馈给一系列文档,并且从这些文档中发现出现在文档集合中的“话题”。“话题”可以是频繁地一起出现的文字的集合。馈给至LDA的每个文档可以或者是来自用户社交网络的发布(例如,具有其标签的相片、来自其在线简档的文本)或者是由用户拥有的在线文档。每个发布与每个发现的话题的密切关系然后可以被获得,并且用其最密切相关的话题贴以标签。来自社交媒体数据的评论和赞可以用与其源发布相同的话题来贴以标签。

然后可以测量用户针对每个特定的话题已经生成的内容量。在一个示例中,具有最多生成内容的“K”个话题可以在框42处被定义为用户的抽象兴趣。为了利用可能是更社交驱使的兴趣(例如,用户的朋友在讨论话题“X”,因此用户也关于话题X进行发布),兴趣检测模块的设计师可以被准许设置什么程度的特定用户动作和特定社交内容被认为是为用户的抽象兴趣加权。一些设计师可能认为,如果用户从未关于话题X进行发布,而是仅为关于特定社交群组或个人发布的话题X的事物点赞,那么话题X不是用户的抽象兴趣的一部分(例如,代替地,话题X是更加社交驱使的兴趣)。类似地,当用户对特定个人关于X发布的内容仅进行点赞或评论时,其他设计师可能不想将话题X的检测处罚为抽象兴趣。在任一情形中,在抽象兴趣与社交兴趣之间进行区分可以使推荐系统能够更有效地被定制以适合特定的应用和/或环境。

通常,框44可以提供使用来自用户的社交内容的数据38来检测一个或多个社交群组。所展示的框46发现并表征存在于用户的社交网络中的社交群组,其中,这些社交群组可以在框48处被定义为用户的社交兴趣。在一个示例中,社交群组是基于其针对用户的社交联系表征的,其中,社交群组可以被认为包括倾向于对相同内容块互相影响的一组用户。

更具体地,用户的社交内容可以被划分成时间段,并且针对每个时间段“t”,当在同一时间段下两个用户评论或点赞同一内容块时可以创建他们之间的连接。这种方法可以导致创建一系列图。如例如集群渗流方法(Clique Percolation Method,CPM)的技术可以用于标识唯一的多组集群或群组Gi(t)。这些群组中的每个群组可以具有至少曾经在研究时间段内与同一内容交互的用户。兴趣检测模块还可以认为社交群组存在至少某个最小的时间段。因此,针对在时间段t内发现的群组中的每个群组,可以关于是否其成员中的至少y%针对时间段t+1也存在于群中进行确定。已经连续存在于用户的社交网络中持续J个时间段的群组集然后可以被标识;这些永久的、非临时性的群组可以在框44处被贴标签为用户的社交网络的社交群组。这些社交群组还可以呈现用户的可能的社交兴趣。

框46可以表征用户针对在框44中检测到的社交群组中的每个社交群组所具有的社交联系。可以被分析以测量用户与其他人的社交联系的示例变量包括但不限于:

强度:此变量可以基于涉及特定社交群组的线上交互量来测量用户给予所述群的关注量。

亲密度:此变量可以基于在其社交交互中使用的亲密词的量来测量用户与特定社交群组的亲密程度。在一个示例中,语言学词典(如,例如,语言学查询和词计数(Linguistic Inquiry and Word Count,LIWC)词典)用于确定指示亲密关系的词。语言学词典可以帮助标识文本中的哪些词与分类的词干列表相匹配。亲密词可以被认为是与涉及例如家庭、朋友、住宅、性、宣誓、工作、休闲、金钱、身体、宗教、健康等类别相匹配的词。

社交联系:此变量可以基于共同好友数量、相同线上群组数量来测量用户与特定社交群组具有多少共有的社交联系。

情绪变量:此变量可以基于在交互中使用的觉醒词的量来测量当用户与特定社交群组的交互时情绪如何。可以通过再次将用户生成的内容中的词与具有情绪分类的语言学词典进行匹配来标识觉醒词。

针对群组变量中的每个变量,可以利用其社交网络的其他部分关于用户的典型行为将其值标准化。这些变量可以表示群组的社交联系向量。均值偏移算法可以用于将呈现类似社交联系向量的群组集群在一起,其中,这些群组集群中的每个集群可以被认为表示存在于用户网络中的不同类型的社交群组。因此,每个集群可以在框48处被定义为用户的社交兴趣之一。

框50可以基于定义的抽象兴趣和社交兴趣学习用户的兴趣偏好,并且生成具有相关的元数据的加权兴趣52。更具体地,用户对可能的社交兴趣或抽象兴趣显示的偏好可以在框50处基于用户的动作被更新。初始地,可以认为所有可能的兴趣具有相同的权重。向前进,不同的用户交互可以不同地影响权重值。例如,如果用户提及或评论来自属于特定社交兴趣的社交群组的成员的内容,则所述交互可以增加用户与那个社交兴趣之间的权重值。同样地,如果用户发布或评论涉及抽象兴趣的内容,则所述交互可以增加用户与抽象兴趣之间的权重值。因此,随时间过去,所展示的框50学习用户的偏好。

如果在用户未提供与系统的交互的时间段过后,系统可以推荐在用户社区中最受欢迎的抽象兴趣和社交兴趣。这种方法可以用于克服“冷启动”。

关系强度的更新可以发生在每次用户交互之后。用户“U”与兴趣“I”(抽象的或社交的)之间的关系强度可以经由用于模拟退火(例如,增强学习)的简单公式被计算作为示例。

其中,是用户U已经针对兴趣I显示的新权重,是用户在时间t-1处针对所述兴趣显示的前一个权重,α是系统的学习速率,并且A是用户向兴趣I表达的动作。A的值可以由系统设计师设置。例如,除了其他可能的用户交互之外,系统设计师可以为提及内容中的特定人员、分享特定内容、评论特定内容、为特定内容点赞给出不同的权重。兴趣检测模块然后可以将发现的兴趣的列表发送至可视化模块(如,可视化模块26(图1)),每个发现的兴趣具有其类别(抽象的或社交的)、权重(用户偏好)以及表征。

角色

继续参照图1至图4,示出了一种使用角色来推荐内容并控制电子文件可见性的方法66。方法66可以被实现为逻辑指令集中的一个或多个模块(如,例如,流水线20的可视化模块26和/或推荐模块28),所述指令集存储在如RAM、ROM、PROM、固件、闪存等的机器或计算机可读存储介质中,存储在如例如PLA、FPGA、CPLD的可配置逻辑中,存储在使用如例如ASIC、CMOS或TTL技术或其任意组合的电路技术的固定功能硬件逻辑中。

所展示的框68提供基于兴趣分析为用户创建一个或多个角色,其中,可以在框70处基于用户的当前情境自动地选择活动的角色。可以在框72处基于活动的角色生成一个或多个推荐。另外,所展示的框74基于活动的角色对一个或多个电子文件的可见性进行修改。

在一个示例中,可视化模块26包括角色创建器26b,所述角色创建器基于兴趣分析创建角色,并且推荐模块28包括角色选择器28b,所述角色选择器基于用户的当前情境自动地选择活动的角色。角色选择器28b可以使用决策树来自动地标识有待启用的最合适的用户角色。更具体地,角色选择器28b可以首先分析用户的当前位置是否被映射到特定的角色。如果多于一个角色与那个位置相关联,或者如果没有角色具有那个位置,则角色选择器28b可以分析用户周围的个体是否被映射到角色。基于此信息,角色选择器28b可以启用最合适的角色。如果位置与用户周围的个体无映射关系,则角色选择器28b可以默认地考虑用户的所有发现的兴趣。

角色选择器28b还可以使用户能够经由菜单手动地选择其最合适的角色,其中,最可能的任务角色被显示在顶部以便选择。例如,可视化模块26可以经由前端界面34将角色连同角色的底层基础一起呈现给用户,其中,所述前端界面34可以接收与角色相关的用户输入。角色创建器26b可以基于所述用户输入对角色进行适配。这种方法可以为用户提供系统的更大透明度并且可以提高整体性能。因此,推荐模块28可以提供用户最感兴趣的社交内容推荐,并且所述推荐由用户寻求扮演的当前角色协调。

图5演示了可以为用户创建的一组角色76(76a-76c)。在所展示的示例中,当用户工作或在其同事周围时,工作角色76a被激活/启用,其中,可以由于老板的家庭78的社交兴趣以及计算机技术80和汽车82的抽象兴趣创建工作角色76。另一方面,当用户在家、在离家五十米内或在其邻居周围时,邻居角色76b可以被激活/启用,其中,可以从用户家庭84的社交兴趣以及邻居修理86和动物权益88的抽象兴趣中创建邻居角色76b。此外,当用户在特定的游戏中心(例如,游戏厅)时,游戏之夜角色76c可以被激活/启用,其中,可以基于警察和朋友90的社交兴趣以及扑克技巧92、棋盘游戏讨论94和来自记分96的积极讨论96的抽象兴趣激活/启用游戏之夜角色76c。

如已经指出的,可以使角色76以及角色76的底层基础对用户可见。在此方面,各种可视化技术可以用于传达兴趣的类型(例如,抽象VS社交)以及底部兴趣的相对权重。例如,所展示的方法基于兴趣的类型改变将每个兴趣包括在内的气泡/圆圈的线一致性。因此,用户可以容易地确定汽车82是针对工作角色76a的抽象兴趣(例如,由于实线)、用户的家庭84是针对邻居角色76b的社交兴趣(例如,由于虚线)、棋盘游戏讨论94是针对游戏之夜角色76c的抽象兴趣等等。此外,所展示的方法基于兴趣的权重改变将每个兴趣包括在内的气泡/圆圈的尺寸。因此,用户可以容易地确定计算机技术80的社交兴趣具有与工作角色76a非常强的联系、邻居修理86的抽象兴趣具有与邻居角色76b中等的联系、扑克技巧92的抽象兴趣具有与游戏之夜角色76c很弱的联系等等。还可以使用其他可视化技术,如,例如,不同的颜色、图标等。

图6示出了对角色进行适配的方法98。方法98可以被实现为逻辑指令集中的一个或多个模块(如,例如,角色创建器26b(图1)),所述指令集存储在如RAM、ROM、PROM、固件、闪存等的机器或计算机可读存储介质中,存储在如例如PLA、FPGA、CPLD的可配置逻辑中,存储在使用如例如ASIC、CMOS或TTL技术或其任意组合的电路技术的固定功能硬件逻辑中。

所展示的框100提供将一个或多个角色(如,例如,所述一组角色76(图5))连同角色的底层基础一起呈现给用户,其中,可以在框102处接收与角色相关的用户输入。用户输入可以包括例如对角色(例如,角色头衔)的改变、用于激活角色的当前情境参数(例如,在哪里激活和/或在谁周围)、相关联的兴趣(例如,社交的和/或抽象的)等等。例如,用户可以声明“每当我在工作处或在靠近我的同事之一时,启用我的工作角色,所述工作角色的兴趣在于增强现实、工艺品、股票市场以及涉及我的经理和工作伙伴的积极线上交互;当我与我的家人或朋友在一起时,启用我的有趣阿姨角色(Fun Aunt Persona),所述有趣阿姨角色的兴趣在于打猎、工艺品、STEM教育以及来自我的家庭的任何线上交互”。在特定场景下,这种方法可以使用户能够对其将接收的内容的类型以及其设备展现的角色兴趣的类型具有更多的控制。框104可以基于用户输入对一个或多个角色进行适配。

文件可见性

继续参照图1和图7,演示了一个场景,在所述场景中,使用角色来对存储在与用户相关联的设备(例如,台式计算机、笔记本式计算机、平板计算机、智能电话、个人数字助理/PDA、移动互联网设备/MID)上的一个或多个电子文件的可见性进行修改。在所展示的示例中,当邻居角色76b活动时,目录列表106示出名为“职位搜索”的文件夹、名为“客户列表”的文档以及名为“度假视频”的媒体文件。另一方面,当工作角色76a活动时,“职位搜索”文件夹和“度假视频”媒体文件隐藏不见。因此,在所展示的示例中,可以自动地防止用户的同事、经理等看见特定的文件。选择性隐藏的文件可以包括但不限于计算机程序(例如,可执行文件)、文档、电子表格、数据库、社交联网内容(例如,照片、好友列表和其他简档信息)、文件夹等等。所展示的方法因此为用户提供更高级别的自我展现,所述自我展现对不同的社交设置和/或环境敏感。

在一个示例中,流水线20的推荐模块28包括用于基于活动的角色对一个或多个电子文件的可见性进行修改的操作系统界面28a。

兴趣修改

继续参照图1和图8,示出了一种对兴趣进行适配的方法108。方法108可以被实现为逻辑指令集中的一个或多个模块(如,例如,流水线20的可视化模块26),所述指令集存储在如RAM、ROM、PROM、固件、闪存等的机器或计算机可读存储介质中,存储在如例如PLA、FPGA、CPLD的可配置逻辑中,存储在使用如例如ASIC、CMOS或TTL技术或其任意组合的电路技术的固定功能硬件逻辑中。

所展示的框110提供将一个或多个推荐的底层基础呈现给用户,其中,可以在框112处接收与推荐相关的用户输入。另外,可以在框114处基于用户输入对用户的抽象兴趣和/或社交兴趣进行适配。

在一个示例中,可视化模块26经由前端界面34将推荐的底层基础呈现给用户,其中,所述前端界面34接收与推荐相关的用户输入。可视化模块26还可以包括兴趣修改器26a,所述兴趣修改器基于用户输入对抽象兴趣或社交兴趣中的一者或多者进行适配。

图9演示了一组推荐内容116(116a-116e,例如,一个或多个推荐)可以连同推荐内容116的底层基础一起呈现给用户。在所展示的示例中,当用户将光标悬停在特定的推荐(如,例如,相片推荐116b(“相片B”))之上时,用户被提供底层基础解释118(例如,“相片标签是面条、美味、饭、以及你似乎热衷的:食物”)。类似地,当用户将光标悬停在特定的兴趣(如,例如,抽象兴趣120)之上时,用户可以被提供底层基础解释122(例如,“静物、白、绿、青柠、柠檬水、薄荷、莫吉托鸡尾酒”)。在此提供的特定示例仅用于帮助讨论并且可以根据环境变化。

图10展示了根据一个实施例的处理器核200。处理器核200可以是用于任何类型的处理器的核,所述处理器如微处理器、嵌入式处理器、数字信号处理器(DSP)、网络处理器、或执行代码的其他设备。尽管图10展示了仅一个处理器核200,处理元件可以可替代地包括多于一个图10所展示的处理器核200。处理器核200可以是单线程核,或者,对于至少一个实施例,处理器核200可以是多线程的,因为它可能包括每核多于一个硬件线程描述表(或“逻辑处理器”)。

图10还展示了耦合到处理器核200上的存储器270。存储器270可以是如本领域的技术人员已知的或以其他方式可获得的多种多样的存储器(包括存储器层级的不同层)中的任何存储器。存储器270可以包括有待由处理器核200执行的一个或多个代码213指令,其中,代码213可以实现已经讨论的方法54(图2)、方法66(图4)、方法98(图6)和/或方法108(图8)。处理器核200遵循由代码213指示的指令程序序列。每个指令可以进入前端部分210并且由一个或多个解码器220处理。解码器220可以生成呈预定义格式的微操作(如固定宽度微操作)作为其输出,或者可以生成反映出原始码指令的其他指令、微指令、或控制信号。所展示的前端部分210还包括寄存器重命名逻辑225和调度逻辑230,它们总体上分配资源并且将对应于用于执行的转换指令的操作进行排队。

处理器核200被示出为包括执行逻辑850,所述执行逻辑具有一组执行单元255-1至255-N。一些实施例可以包括专用于特定功能或功能集的数个执行单元。其他实施例可以包括仅一个执行单元、或可以执行特定功能的一个执行单元。所展示的执行逻辑250执行由码指令指定的操作。

在完成由码指令指定的操作的执行之后,后端逻辑260使代码213的指令引退。在一个实施例中,处理器核200允许指令的无序执行但要求指令的有序引退。引退逻辑265可以采取本领域的技术人员已知的多种形式(例如,重排序缓冲器等)。以此方式,在代码213的执行过程中,至少就由解码器、寄存器重命名逻辑225所利用的硬件寄存器和表、以及由执行逻辑250修改的任何寄存器(未示出)生成的输出而言,处理器核200被变换。

尽管图10未展示,但处理元件可以包括其他芯片内元件与处理器核200。例如,处理元件可以包括存储器控制逻辑连同处理器核200。处理元件可以包括I/O控制逻辑,和/或可以包括与存储器控制逻辑集成的I/O控制逻辑。处理元件还可以包括一个或多个高速缓存。

现在参照图11,所示出的是根据实施例的系统1000实施例的框图。图11示出了多处理器系统1000,所述多处理器系统包括第一处理元件1070和第二处理元件1080。虽然示出了两个处理元件1070和1080,应当理解的是,系统1000的实施例还可以包括仅一个此类的处理元件。

系统1000被展示为点对点互连系统,其中,第一处理元件1070和第二处理元件1080经由点对点互连件1050耦合。应当理解的是,图11所展示的任何或所有互连件可以被实现为多站式总线而不是点对点互连件。

如图11所示,处理元件1070和1080中的每一个都可以是多核处理器,包括第一和第二处理器核(即,处理器核1074a与1074b以及处理器核1084a与1084b)。此类核1074a、1074b、1084a、1084b可以被配置成用于以与以上关于图10讨论的方式类似的方式执行指令代码。

每个处理元件1070、1080可以包括至少一个共享缓存1896a、1896b。共享缓存1896a、1896b可以存储分别由处理元件的一个或多个部件(如核1074a、1074b和1084a、1084b)使用的数据(例如,指令)。例如,共享缓存1896a、1896b可以本地缓存存储在存储器1032、1034中的数据,以便由处理器的部件更快地访问。在一个或多个实施例中,共享缓存1896a、1896b可以包括一个或多个中级缓存,如二级(L2)、三级(L3)、四级(L4)、或其他级别的缓存、终极缓存(LLC)、和/或其组合。

虽然仅以两个处理元件1070、1080来示出,但应理解实施例的范围不限于此。在其他实施例中,给定处理器中可以存在一个或多个另外的处理元件。替代地,处理元件1070、1080中的一个或多个可以是除处理器之外的元件,如加速器或现场可编程门阵列。例如,(多个)另外的处理元件可以包括与第一处理器1070相同的(多个)另外的处理器、与第一处理器1070异构或不对称的(多个)另外的处理器、加速器(例如像图形加速器或数字信号处理(DSP)单元)、现场可编程门阵列、或任何其他处理元件。就一系列品质量度(包括体系结构、微体系结构、热、功耗特性等)而言,处理元件1070、1080之间存在多种差异。这些差异可以有效地表明它们是处理元件1070、1080之间的不对称性和异构性。对于至少一个实施例,不同处理元件1070、1080可以驻留在同一管芯封装中。

第一处理元件1070可以进一步包括存储器控制器逻辑(MC)1072以及点对点(P-P)界面1076和1078。类似地,第二处理元件1080可以包括MC 1082以及P-P界面1086和1088。如图11所示,MC 1072和1082将处理器耦合到对应存储器、即存储器1032和存储器1034上,所述存储器可以是主存储器的本地附接到对应处理器上的部分。虽然MC 1072和1082被展示为集成到处理元件1070、1080中,但对于替代性实施例,MC逻辑可以是位于处理元件1070、1080外部而不是集成在其中的离散逻辑。

第一处理元件1070和第二处理元件1080可以对应地经由P-P互连件1076和1086而耦合到I/O子系统1090上。如图11所示,I/O子系统1090包括P-P界面1094和1098。而且,I/O子系统1090包括界面1092以便将I/O子系统1090与高性能图形引擎1038耦合。在一个实施例中,总线1049可以用于将图形引擎1038耦合至I/O子系统1090。可替代地,点对点互连件可以耦合这些部件。

进而,I/O子系统1090可以经由界面1096耦合至第一总线1016。在一个实施例中,第一总线1016可以是外围部件互连(PCI)总线,或如PCI Express总线或另一种第三代I/O互连总线的总线,尽管实施例的范围不限于此。

如图11所示,各种I/O设备1014(例如,相机、传感器)可连同总线桥1018一起耦合到第一总线1016,所述总线桥可以将第一总线1016耦合到第二总线1020。在一个实施例中,第二总线1020可以是低引脚数(LPC)总线。在一个实施例中,各个设备可以耦合至第二总线1020,所述设备包括例如键盘/鼠标1012、(多个)网络控制器/通信设备1026(所述网络控制器/通信设备进而可以与计算机网络进行通信)、以及可以包括代码1030的数据存储单元1019(如磁盘驱动器或者其他大容量存储设备)。代码1030可以包括用于执行以上所描述方法中的一种或多种的实施例的指令。因此,所展示的代码1030可以实现已经讨论的方法54(图2)、方法66(图4)、方法98(图6)和/或方法108(图8),并且可以类似于已经讨论的代码213(图10)。另外,音频I/O 1024可以耦合到第二总线1020上。

注意的是,考虑到了其他实施例。例如,系统可以实现多站式总线或另一个这种通信拓扑,而不是图11的点对点架构。而且,可以可替代地使用比图11中所示的更多或更少的集成芯片对图11的元件进行分区。

附加说明与示例:

示例1可以包括一种用于推荐内容的装置,包括:兴趣检测模块,所述兴趣检测模块用于进行对与用户相关联的数据的兴趣分析,其中,所述兴趣分析在抽象兴趣与社交兴趣之间进行区分;推荐模块,所述推荐模块用于基于所述兴趣分析以及所述用户的当前情境为所述用户生成一个或多个推荐;以及可视化模块,所述可视化模块用于将所述一个或多个推荐呈现给所述用户。

示例2可以包括如示例1所述的装置,其中,所述抽象兴趣用于标识话题类型和对象类型,并且其中,所述社交兴趣用于标识社交群组类型。

示例3可以包括如示例1所述的装置,进一步包括:角色创建器,所述角色创建器用于基于所述兴趣分析为所述用户创建一个或多个角色;以及角色选择器,所述角色选择器用于基于所述用户的所述当前情境选择活动的角色,其中,所述一个或多个推荐是基于所述活动的角色而生成的。

示例4可以包括如示例3所述的装置,进一步包括:可视化模块,所述可视化模块用于经由所述前端界面将所述一个或多个角色连同所述一个或多个角色的底层基础一起呈现给所述用户,其中,所述前端界面用于接收与所述一个或多个角色相关的用户输入,并且所述角色创建器用于基于所述用户输入对所述一个或多个角色进行适配。

示例5可以包括如示例3所述的装置,进一步包括:操作系统界面,所述操作系统界面用于基于所述活动的角色对一个或多个电子文件的可见性进行修改。

示例6可以包括如示例1所述的装置,进一步包括:可视化模块,所述可视化模块用于经由所述前端界面将所述一个或多个推荐的底层基础呈现给所述用户,其中,所述前端界面用于接收与所述一个或多个推荐相关的用户输入;以及兴趣修改器,所述兴趣修改器用于基于所述用户输入对所述抽象兴趣或所述社交兴趣中的一者或多者进行适配。

示例7可以包括如示例1至6中任一项所述的装置,进一步包括:抓取模块,所述抓取模块用于从社交网络、在线简档、发布的文档或创作的文档中的一者或多者中收集与所述用户相关联的所述数据。

示例8可以包括如示例1至6中任一项所述的装置,进一步包括:传感器推断模块,所述传感器推断模块用于基于与所述用户相关联的位置数据或社交接近度数据中的一者或多者来确定所述当前情境。

示例9可以包括一种推荐内容的方法,包括:进行对与用户相关联的数据的兴趣分析,其中,所述兴趣分析在抽象兴趣与社交兴趣之间进行区分;基于所述兴趣分析以及所述用户的当前情境为所述用户生成一个或多个推荐;将所述一个或多个推荐呈现给所述用户。

示例10可以包括如示例9所述的方法,其中,所述抽象兴趣标识话题类型和对象类型,并且其中,所述社交兴趣标识社交群组类型。

示例11可以包括如示例9所述的方法,进一步包括:基于所述兴趣分析为所述用户创建一个或多个角色;以及基于所述用户的所述当前情境选择活动的角色,其中,所述一个或多个推荐是基于所述活动的角色而生成的。

示例12可以包括如示例11所述的方法,进一步包括:将所述一个或多个角色连同所述一个或多个角色的底层基础一起呈现给所述用户、接收与所述一个或多个角色相关的用户输入、并且基于所述用户输入对所述一个或多个角色进行适配。

示例13可以包括如示例11所述的方法,进一步包括:基于所述活动的角色对一个或多个电子文件的可见性进行修改。

示例14可以包括如示例9所述的方法,进一步包括:将所述一个或多个推荐的底层基础呈现给所述用户、接收与所述一个或多个推荐相关的用户输入、以及基于所述用户输入对所述抽象兴趣或所述社交兴趣中的一者或多者进行适配。

示例15可以包括如示例9至14中任一项所述的方法,进一步包括:从社交网络、在线简档、发布的文档或创作的文档中的一者或多者中收集与所述用户相关联的所述数据。

示例16可以包括如示例9至14中任一项所述的方法,进一步包括基于与所述用户相关联的位置数据或社交接近度数据中的一者或多者来确定所述当前情境。

示例17可以包括至少一种计算机可读存储介质,所述至少一种计算机可读存储介质包括指令集,所述指令当被计算设备执行时使所述计算设备:进行对与用户相关联的数据的兴趣分析,其中,所述兴趣分析用于在抽象兴趣与社交兴趣之间进行区分;以及向所述用户呈现所述一个或多个推荐。

示例18可以包括如直立17所述的至少一种计算机可读存储介质,其中,所述抽象兴趣用于标识话题类型和对象类型,并且其中,所述社交兴趣用于标识社交群组类型。

示例19可以包括如示例17所述的至少一种计算机可读存储介质,其中,所述指令当被计算设备执行时使计算设备:基于所述兴趣分析为所述用户创建一个或多个角色;以及基于所述用户的所述当前情境选择活动的角色,其中,所述一个或多个推荐是基于所述活动的角色而生成的。

示例20可以包括如示例19所述的至少一种计算机可读存储介质,其中,所述指令当被计算设备执行时使计算设备:将所述一个或多个角色连同所述一个或多个角色的底层基础一起呈现给所述用户、接收与所述一个或多个角色相关的用户输入、并且基于所述用户输入对所述一个或多个角色进行适配。

示例21可以包括如示例19所述的至少一种计算机可读存储介质,其中,所述指令当被执行时使计算设备:基于所述活动的角色对一个或多个电子文件的可见性进行修改。

示例22可以包括如示例17所述的至少一种计算机可读存储介质,其中,所述指令当被执行时使计算设备:将所述一个或多个推荐的底层基础呈现给所述用户、接收与所述一个或多个推荐相关的用户输入、以及基于所述用户输入对所述抽象兴趣或所述社交兴趣中的一者或多者进行适配。

示例23可以包括如示例17至22中任一项所述的至少一种计算机可读存储介质,其中,所述指令当被执行时使计算设备:从社交网络、在线简档、发布的文档或创作的文档中的一者或多者中收集与所述用户相关联的所述数据。

示例24可以包括如权利要求17至22中任一项所述的至少一种计算机可读存储介质,其中,所述指令当被执行时使计算设备:基于与所述用户相关联的位置数据或社交接近度数据中的一者或多者来确定所述当前情境。

示例25可以包括一种用于推荐内容的装置,所述装置包括用于执行示例9至16中任一项所述的方法的装置。

因此,在此描述的技术可以考虑内容用户的共同参与行为还可以如何影响针对此内容的特定用户兴趣。此外,可以考虑可能导致用户对某个内容感兴趣的所有不同的社交动态。例如,一些用户可能在他们知道其他个体参与且会话非常令人激动的情况下更加被驱使参与到内容中。在推荐过程中利用这种信息可以产生更准确且有效的结果。另外,社交内容推荐可以被协调成用户当前希望扮演的角色类型。技术还提供允许用户理解为什么系统将某内容分类为抽象兴趣或社交兴趣的透明数据表示,以及影响每种兴趣的数据元素。此外,技术使用户能够从其数据中容易理解所述经标识的兴趣,以及针对其扮演的角色中的每个角色定义并控制所接收的推荐的类型。

实施例适用于所有类型的半导体集成电路(“IC”)芯片一起使用。这些IC芯片的示例包括但不限于处理器、控制器、芯片组部件、可编程逻辑阵列(PLA)、存储器芯片、网络芯片、片上系统(SoC)、SSD/NAND控制器ASIC等。此外,在一些附图中,利用线条表示信号导体线。一些线条可以是不同的以指示更多组成的信号通路,具有数字标记以表示组成的信号通路的编号和/或在一端或多端具有箭头以指示主要信息流方向。不过,这不应被解释为限制性方式。而是,这种附加的细节可以与一个或多个示例性实施例结合使用以帮助更容易地理解电路。任何表示的信号线,无论是否有附加信息,都实际可以包括可以在多个方向行进的一个或多个信号,并且可以利用任何适当类型的信号方案实现,例如利用差分对、光纤线路和/或单端线路实现的数字或模拟线路。

可能已经给出了示例尺寸/模型/值/范围,尽管实施例不限于此。随着制造技术(例如,光刻)随时间推移而成熟,预计可以制造出更小尺寸的器件。另外,为了简化图示和讨论以及为了不使实施例的一些方案不清晰,可以在图内示出或不示出到IC芯片和其他部件的公知的电力/接地连接。此外,安排可以以框图的形式示出,以避免模糊实施例,并且还鉴于以下事实:关于完成这样的框图安排的实现方式的细节高度依赖于在其中实现实施例的平台,即,这样的细节应当完全处在本领域技术人员的视界中。特定细节(例如,电路)被阐述以便描述示例性实施例,对本领域技术人员来说应当显而易见的是:实施例可以在无需这些细节或者采用这些实施例细节的变化的情况下被实践。描述因此被视为是说明性的而非限制性的。

此处使用的术语“耦合”是指讨论部件之间的任何类型的关系,直接的或间接的,并且可以应用于电的、机械的、流体的、光学的、电磁的、电动机械的或其他连接。另外,此处使用的术语“第一”,“第二”等只帮助讨论,除非另外指明,其不带有特殊的时间或级别意义。

如在本申请和权利要求书中所使用的,由术语“中的一项或多项”接合的一系列项目可意指所列术语的任何组合。例如,短语“A、B或C中的一个或多个”可意指A;B;C;A和B;A和C;B和C;或A、B和C。

本领域技术人员将从前面的描述中认识到实施例的推广技术能够以各种各样的形式实现。因此,虽然已经结合其特定示例描述了这些实施例,但是实施例的实际范围不应由此受限,因为其他的修改在本领域技术人员学习了附图、说明书和所附权利要求之后就将变得显而易见。

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