向用户推荐内容项的制作方法

文档序号:29212118发布日期:2022-03-12 07:15阅读:85来源:国知局
向用户推荐内容项的制作方法

1.本发明涉及推荐系统领域,且特别地涉及适合于向用户推荐一个或多个内容项的系统。


背景技术:

2.提供教育、激励和商业内容的个人健康服务在该内容针对用户的需求和兴趣被个性化的情况下更有效。推荐系统是一种针对用户偏好来定制内容的已知方法。为此可以使用不同的方法,包括采用诸如协同过滤、基于内容的过滤和群体聚类/分类之类的技术以便向特定用户推荐适当的内容项的方法。
3.推荐系统中的增长趋势一直是利用特定“推荐装置”外部的云计算系统来为用户生成推荐。通常,云计算系统从推荐装置接收用户特定信息并使用该信息来识别为用户推荐的内容项。这可例如通过以下方式来执行:将此用户特定信息与其他用户的用户特定信息进行比较,并且基于信息的相似性提供第一用户特定推荐(例如,通过推荐其他类似用户已访问的内容项)。
4.替代性方法集中于在推荐装置本身内提供推荐系统。推荐装置本身可为独立装置或可形成现有装置(诸如,移动/蜂窝电话、电视或计算机)的一部分。在一个示例中,推荐装置基于内容项的描述符和存储在推荐装置内的用户特定信息(例如,其可识别用户先前访问的类似内容项)来推荐内容项。
5.存在一种持续的期望来改善推荐系统以便为用户提供更好的内容匹配。


技术实现要素:

6.本发明由权利要求限定。
7.根据根据本发明的方面的示例,提供了一种用于推荐装置的处理单元,该推荐装置至少包括存储器单元和处理单元,该处理单元用于向用户推荐一个或多个内容项。
8.处理单元适于:尝试从推荐装置的外部源获得用于更新由存储器单元存储的第一数据文件的第一更新信息,该第一数据文件包括识别对一个或多个内容项的预期用户偏好的信息;响应于成功获得第一更新信息,基于第一更新信息来更新第一数据文件;从存储器单元获得第一数据文件、第二数据文件和推荐数据,该第二数据文件包括用于影响所述一个或多个内容项的推荐的用户特定信息,该推荐数据识别用于向用户推荐的多个可能的内容项;以及使用内容选择算法来处理第一数据文件、第二数据文件和推荐数据,以向用户推荐由推荐数据识别的内容项中的一个或多个,其中第一数据文件和第二数据文件各自包括供内容选择算法使用的一个或多个变量。
9.本发明提供了一种在推荐装置内技术上实施推荐系统的方法,该方法保持用户的隐私,同时使得外部源(诸如,云计算系统或网络)能够影响内容的推荐。实施例由此增加了用户的隐私,同时保持高水平的推荐准确度并允许使用期望的推荐方法(例如,这些推荐方法可能需要高水平的处理能力或大量数据,推荐装置本身可能无法使用这些推荐方法)。特
别地,本发明提供了一种实际地实施新的混合推荐系统的方式,该混合推荐系统可以利用推荐装置外部的更大处理能力和数据可用性,同时保持用户内部或本地数据的隐私。
10.推荐装置可为独立的或专用的硬件,或者优选地,形成现有硬件的一部分(例如,在现有的移动/蜂窝电话、电视、计算机、平板电脑等中)。
11.通过基于从外部源获得的第一更新信息来更新存储在推荐装置中的第一数据文件,外部源可以对(多个)内容项的推荐有影响,而本身不执行对个人数据的处理。这改善了推荐装置的用户的隐私,而不会失去使用外部数据(例如,诸如全球趋势等)、处理能力或外部可用算法的能力,这可能影响推荐。
12.此外,所提出的发明进一步使得即使外部源不可用(例如,如果到外部源的连接或访问外部源的其他尝试失败)也能够向用户提供推荐,这改善了推荐过程的可用性和可访问性。因此,推荐装置可能够有效地“离线”操作。
13.因此,第一数据文件可代表全球趋势或与更大群体的数据相关的信息,且第二数据文件可包含本地化信息(特定于用户或装置)。内容项例如可为推荐的供用户阅读的文章、广告、供用户查看的视频、论坛消息或帖子等。
14.用于影响所述一个或多个内容项(第一数据文件和第二数据文件两者都可包含所述一个或多个内容项)的推荐的信息可例如包括在用于生成的推荐内容的算法中使用的变量的参数。例如,第一数据文件可包括识别预期用户偏好的一个或多个变量,且第二数据文件可包括一个或多个用户特定变量。来自第一数据文件的所述一个或多个变量和来自第二数据文件的所述一个或多个变量可为内容选择算法提供输入。换言之,内容选择算法可从第一数据文件获得第一组一个或多个输入变量以及从第二数据文件获得第二组一个或多个输入变量,并且处理所获得的各组变量以推荐一个或多个内容项。用于推荐内容的合适算法在现有技术中是众所周知的,并且通常包括影响推荐哪些内容项的一个或多个变量。
15.应清楚的是,第一数据文件和第二数据文件可能不提供内容选择算法本身,而是它们可简单地为内容选择算法提供输入参数或变量,例如内容选择算法的参数或变量的值。
16.在一些实施例中,推荐数据本身可包括用于向用户推荐的所述多个可能的内容项。
17.第二数据文件优选地与第一数据文件分开且不同,并且可被配置为使得第二数据文件中的至少一些是外部源不可访问的。可选地,所有第二数据文件(至少最初)都是外部源不可访问的。不可访问性可例如被提供明确许可的用户所覆盖,例如经由用户界面。
18.通过不允许第二数据文件的(一部分)是外部源不可访问的,可以使第二数据文件相对于外部数据源保持私密,由此改善用户的隐私性。在优选实施例中,包含在第二数据文件中的信息不传递给外部源,或者仅在用户明确许可的情况下传递给外部源。
19.第二数据文件由此可存储用户可能不希望传递给外部源的隐私敏感信息,同时仍然使得能够在推荐内容项时使用该隐私敏感信息。
20.第一数据文件可识别用于向用户推荐的多个可能的内容项,并且为每个所识别的内容项提供识别对相关联内容项的预期用户偏好的信息。
21.优选地,识别对相关联内容项的预期用户偏好的信息包括对相关联内容项的预期用户偏好的数值度量。
22.在实施例中,第二数据文件提供关于用户对内容项的历史访问的信息,并且处理单元适于响应于用户访问内容项来更新第二数据文件。因此,第二数据文件可有效地包含主体(subject)的历史访问数据,即,主体的本地近期历史。
23.处理单元可适于:获得时间或用户依赖变量的度量;获得第三数据文件,该第三数据文件包括响应于该度量来用于影响所述一个或多个内容项的推荐的信息;处理该度量和第三数据文件,从而为用户生成基于时间或用户的推荐信息;以及处理基于时间或用户的推荐信息、第一数据文件、第二数据文件和推荐数据,以向用户推荐由推荐数据识别的所述一个或多个内容项。
24.时间或用户依赖变量的度量充当上下文信息(例如,关于时间或用户的当前状态),以用于影响(多个)内容项的推荐。第三数据文件提供用于将变量度量映射到推荐信息的信息,该信息可以在向用户推荐一个或多个内容项时使用。
25.优选地,时间或用户依赖变量是特定于用户的(例如,怀孕中的某一天或用户采取的步骤数)。
26.例如,第三数据文件可包括一个或多个函数,所述函数接收作为输入的度量并输出基于时间或用户的推荐信息。例如,第三数据文件可包括用于向用户推荐的一个或多个可能的内容项的识别符,并且为每个可能的内容项提供用于指示内容项与用户的相关性以获得时间或用户依赖变量的度量的不同值(例如,在一段时间内)的函数。
27.该度量可为时间的度量或响应于时间流逝的任何其他度量(即,基于时间的信息或基于时间的度量)。例如,度量可为当前时间、用户怀孕中的某一天或距离用户生日的天数。度量优选地是对用户特定的或针对用户的(即,是用户特定的)。
28.以这种方式,度量可为用户的时间信息,第三数据文件可包括时间特定信息(即,依赖于时间流逝的信息),并且基于时间或用户的推荐数据可为基于时间的推荐信息。
29.度量的其他示例包括任何用户依赖变量或用户可控变量(即,用户对其有影响的变量)的度量。例如,这可包括用户采取的步骤数(例如,在一天当中到目前为止)、在推荐装置上打开的程序或应用程序的数量、用户消耗的每日卡路里数(例如,如由用户提供)、用户那天喝的饮料数量、用户的体重等。
30.处理单元可进一步适于:尝试从推荐装置的外部源获得用于更新由存储器单元存储的第三数据文件的第二第一更新信息;以及响应于成功获得第二第一更新信息,基于第二第一更新信息来更新第三数据文件。
31.在实施例中,处理单元进一步适于:响应于推荐的一个或多个内容项来接收用户输入;以及响应于用户输入将用户信息传送给外部源,使得外部源获得该用户以用于修改第一更新信息。将用户对推荐的一个或多个内容项的反应传递给外部源使得第一更新信息能够针对用户更加被个性化,而不显著影响用户的隐私。
32.还提出了一种用于为用户推荐一个或多个内容项的推荐装置。该推荐装置包括适于存储第一数据文件、第二数据文件和推荐数据的存储器单元、以及本文中所描述的任何处理单元。当然,在使用(可选的)第三数据文件的情况下,存储器单元可进一步适于存储第三数据文件。
33.推荐装置可进一步包括显示器,该显示器适于向用户显示所述一个或多个推荐的内容项的识别符。
34.推荐装置可进一步包括用于接收用户输入的用户界面,该用户输入指示用户对推荐的内容项的识别符的选择,其中显示器进一步适于向用户显示用户选定的内容项。因此,用户可以访问推荐的内容项。用户界面和显示器可形成单个元件(例如,触敏显示器)。
35.推荐装置可包括用于由用户手持运输的移动装置。合适的移动装置的示例包括移动电话、膝上型电脑、平板电脑、智能手表等。
36.在任何所描述的实施例中,内容项可包括文本信息,并且内容选择算法适于为文本信息的阅读者推荐一个或多个内容项。文本信息可针对怀孕的用户,并且文本信息的阅读者可包括怀孕的用户。
37.还提出了一种(分布式)推荐系统,其包括:任何本文中所描述的推荐装置;以及外部源,诸如云处理单元,其适于为由推荐装置的存储器单元存储的第一数据项生成第一更新信息。
38.根据根据本发明的方面的示例,提供了一种为用户推荐一个或多个内容项的方法。
39.该方法包括:在推荐装置的存储器单元中存储以下各者:第一数据文件,其包括识别对一个或多个内容项的预期用户偏好的信息;第二数据文件,其包括用于影响所述一个或多个内容项的推荐的用户特定信息;以及推荐数据,其识别用于向用户推荐的多个可能的内容项,其中第一数据文件和第二数据文件各自包括供内容选择算法使用的一个或多个变量;尝试从推荐装置的外部源获得用于更新由存储器单元存储的第一数据文件的第一更新信息;响应于成功获得第一更新信息,基于第一更新信息来更新第一数据文件;从存储器单元获得第一数据文件、第二数据文件和推荐数据;以及使用内容选择算法来处理第一数据文件、第二数据文件和推荐数据,以向用户推荐由推荐数据识别的内容项中的一个或多个。
40.该方法可进一步包括:获得时间或用户依赖变量的度量;获得第三数据文件,该第三数据文件包括响应于该度量来用于影响所述一个或多个内容项的推荐的信息;处理该度量和第三数据文件,从而为用户生成基于时间或用户的推荐信息。处理第一数据文件、第二数据文件和推荐数据的步骤可包括处理基于时间或用户的推荐信息、第一数据文件、第二数据文件和推荐数据以向用户推荐由推荐数据识别的所述一个或多个内容项。
41.还提出了一种计算机程序,其包括用于在所述程序在处理单元上运行时实施任何所描述的方法的代码装置。
42.本发明的这些和其他方面将从下文中所描述的(多个)实施例显而易见并参考所述(多个)实施例得以阐述。
附图说明
43.为了更好地理解本发明,并且为了更清楚地示出可如何使它生效,现在将仅通过示例的方式参考附图,在附图中:
44.图1图示了根据本发明的实施例的推荐系统,该推荐系统包括具有处理器的推荐装置;
45.图2图示了根据实施例的用于影响内容项的推荐的基于时间的函数;以及
46.图3图示了根据本发明的实施例的方法。
具体实施方式
47.将参考附图来描述本发明。
48.应理解,详细描述和特定的示例虽然指示了设备、系统和方法的示例性实施例,但是它们仅旨在用于图示的目的,而并不旨在限制本发明的范围。本发明的设备、系统和方法的这些和其他特征、方面和优点将从以下描述、所附权利要求书和附图变得被更好地理解。应理解,附图仅仅是示意性的,并且没有按比例绘制。还应理解,贯穿附图使用相同的附图标记来指示相同或类似的部分。
49.本发明提供了一种两阶段推荐系统,其采用外部推荐过程和(推荐装置的)内部推荐过程两者。特别地,处理单元使用可由外部源修改的第一数据文件和存储在存储器单元中的第二数据文件来向用户推荐一个或多个内容项。第一数据文件和第二数据文件存储在推荐装置的存储器单元中。
50.特别地,将清楚的是,第一/第二(以及可能更多的)数据文件可包含适合于影响内容选择算法的输出的任何数据。本发明依赖于这样的理解:第一数据文件由外部源控制(并存储在推荐装置上),而第二数据文件由推荐装置本身控制(并且至少部分地是外部源无法使用的)。这改善了选择供推荐的内容项的效率,同时保持了用户的隐私。
51.可在任何推荐系统中使用概念,诸如在移动装置(诸如,移动/蜂窝电话)的用于为怀孕的用户推荐文章或信息的应用程序中。
52.在本发明的上下文中,内容项可为文章、信息、广告、视频、新闻故事、文本信息、视觉信息、图片、网页链接、音频信息等。
53.图1概念性地图示了根据本发明的实施例的推荐系统10。推荐系统10包括推荐装置100(就其本身而言,为本发明的实施例)和外部源190,诸如云计算网络或系统。在图1中,为了改善概念性理解,图示了数据(文件)。
54.推荐装置100是用于与用户直接交互的装置并且优选地是便携式的,诸如移动电话、平板电脑或智能手表。推荐装置100向用户推荐内容项。
55.推荐装置100包括处理单元101(就其本身而言,为本发明的一个实施例)和适于存储数据文件的存储器单元102。处理单元101和存储器单元102(以及推荐装置100的其他可能部件)适于例如通过总线(未示出)或其他通信链路彼此进行通信。
56.处理单元101适于为用户推荐一个或多个内容项。这可通过处理单元101使用推荐或内容选择算法从已知的内容项集合中选择一个或多个内容项来执行。处理单元101适于基于第一数据文件102a、第二数据文件102b和推荐数据103c来推荐所述一个或多个内容项,所述这些数据文件和推荐数据都存储在存储器单元102中/由存储器单元102存储。
57.第一数据文件102a包括识别对一个或多个内容项的预期用户偏好的信息。存储在第一数据文件中的信息由外部源190有效地生成或者取决于由外部源190提供的信息。换言之,第一数据文件可由外部源190修改,并且可代表内容项的外部源推荐。
58.处理单元101适于尝试访问外部源(例如,经由推荐装置的通信模块104和网络195)并获得第一更新信息109a或用于更新第一数据文件102a的数据。响应于成功访问外部源,处理单元101获得第一更新信息109a并更新第一数据文件102a。因此,第一数据文件包含由外部源190生成的最近获取的信息,以用于识别预期用户偏好。这允许外部源对向用户的推荐有影响,由此允许推荐装置外部的潜在更大的处理资源影响推荐过程。
59.如先前所解释的,处理单元101可适于经由通信模块104和网络195(例如,包括诸如因特网)与外部源通信。可形成推荐装置100的一部分的通信模块104可为适于使用wifi标准或移动数据通信标准(例如,3g、4g等)进行操作的无线通信模块。在其他示例中,通信模块适于在外部源190和推荐装置之间实现有线通信。网络195包括合适的元件以用于在推荐装置100和外部源190(例如,路由器、调制解调器、isp服务器等)之间实现通信,如本领域中众所周知的。
60.处理单元101可适于迭代地或周期性地尝试从外部源获得第一更新信息109a。处理单元101在其尝试获得第一更新信息109a时可能不成功,例如,如果通信模型在无线范围外或者如果外部源有错误。
61.第二数据文件102b包括会影响内容项的推荐的用户或装置特定信息。在一个示例中,第二数据文件识别用户先前访问的内容项,这可用于影响推荐者不太可能推荐先前访问的内容项。第二数据文件可识别适合于影响内容项的推荐的其他用户或装置特定信息(例如,装置类型、装置品牌、用户年龄、用户性别等)。
62.优选地,第二数据文件102b被配置(例如,使用适当的隐私或安全设定)为使得外部源190不能访问或修改包含在第二数据文件102b中的至少一些数据(例如,甚至经由处理单元101)。这改善了推荐装置的用户的隐私。
63.因此,处理单元101可被配置为禁止外部源访问第二数据文件的至少一部分。这可通过处理单元101提供合适的隐私设定或安全措施以存储第二数据文件来完成。
64.因此,第二数据文件102b可以存储隐私敏感信息,同时仍然允许所述隐私敏感信息促成内容项的推荐。
65.推荐数据102c识别可能的内容项以供处理单元推荐。例如,这可包括识别不同可能内容项(例如,具有用于不同内容项的描述符)的列表或内容项本身的集合。在推荐数据102c不包括供推荐的内容项的情况下,这些可存储在存储器单元中的别处或存储在外部源中。
66.推荐数据102c可并入到第一数据文件102a和第二数据文件102b中的一者或两者中。
67.即使当对外部源的访问不可用时,也可以由处理单元101访问第一数据文件102a、第二数据文件102b和推荐数据102c中的每一者。这使得即使外部源不可用处理器也能够生成推荐。
68.应清楚的是,第一数据文件和第二数据文件彼此不同且分开,即占据存储器单元102内的不同存储器空间。
69.如先前所注意的,推荐装置100向用户推荐一个或多个内容项,所述推荐的内容项由推荐数据识别。
70.可经由推荐装置100的显示器105向用户显示推荐的内容项的识别符。处理单元101可控制显示器105显示推荐的内容项的识别符。显示器由此可提供内容馈送。
71.在一些实施例中,显示器105可用另一个用户可感知的输出装置(诸如,扬声器)替换或增补。
72.在一些实施例中,推荐装置进一步包括使得用户能够选择推荐的内容项的用户界面106。用户界面106可被集成到显示器105(例如,触敏显示器)中,或者如所图示的,与显示
器分开(例如,键盘和/或鼠标输入)。用户接口106可生成指示选定的内容项的用户输入信号。
73.处理单元101可适于接收用户输入信号并控制显示器显示选定的内容项。这可通过以下方式来执行:从存储器单元102中检索内容项,或连接到外部源109以检索内容项,并且控制显示器显示检索到的内容项。
74.优选地,存储器单元102存储可用的内容项,即“所有可能的内容项”,以改善推荐装置100的可访问性。特别地,这使得推荐装置能够离线操作。在此类实施例中,处理单元101可以通过从存储器单元中检索选定的内容项来显示内容项。
75.在一些实施例中,处理单元101适于响应于用户输入信号将用户信息109发送到外部源。用户信息109可以由外部源用来生成第一更新信息。在一些示例中,用户信息识别用户访问了哪个(些)内容项,例如,响应于其推荐。
76.在一些实施例中,处理单元101适于响应于用户输入信号来修改第二数据文件102b。例如,在第二数据文件提供关于用户对内容项的历史访问或查看的信息的情况下,处理单元可响应于指示某个内容项已被访问或查看的用户输入信号来修改第二数据文件。
77.在其他实施例中,用户不能够选择推荐的内容项,而是可在没有直接用户输入的情况下向用户直接显示或以其他方式输出一个或多个推荐的内容项。当内容项包括广告时,这是特别有益的,广告将通常不由用户选择。处理单元仍然可将用户信息109发送到外部源和/或更新第二数据文件,但是这个(这些)动作可代替地是响应于向用户提供推荐的内容项。
78.推荐装置100优选地是移动或手持式装置,诸如移动电话、平板电脑或智能手表。推荐装置的其他合适示例将是显而易见的,并且可包括计算机、膝上型电脑、智能扬声器、电视等。
79.现在将描述合适的数据文件的特定示例。
80.第一数据文件可包括预期偏好表(ept)。预期偏好表可包括所有可能的内容项的识别符(用户可以访问或者得到该识别符)和每个内容项的得分(例如,在0和1之间或在0和100之间),该得分代表用户对于该内容项的预期偏好。
81.在一个示例中,第一数据文件包括得分的向量ept[i],其中向量的索引i识别内容项。因此,第一内容项在向量位置ept[1]处具有得分,第二内容项在向量位置ept[2]处具有得分,等等。
[0082]“预期偏好”实际上是外部源对于哪个内容项将对用户最有吸引力的预测,且由此是指示外部源是否认为应向用户呈现/推荐相关联内容项的得分。
[0083]
预期偏好表可由外部源(例如,云计算系统)使用已知的推荐算法来生成。实际上,偏好表本身可指示外部源为用户(或一组用户)推荐哪些内容项。
[0084]
预期偏好表可为全局偏好表(例如,指示所有用户的得分)、人口统计偏好表(例如,指示一组用户的得分,该组用户至少包括相关推荐装置的用户)或用户特定的偏好表(例如,对于相关推荐装置的用户)。外部源本身可适于生成一个或多个偏好表(例如,所有用户、每个用户或一组用户中的每个用户的偏好表),推荐装置从所述一个或多个偏好表中获得或选择一个偏好表。稍后将简要描述生成要由外部源执行的偏好表的方法。
[0085]
第一更新信息190a可为第一数据文件102a的更新版本,或者可包括用于更新第一
数据文件的信息。特别地,外部源190可适于生成第一数据文件的新版本并将第一更新信息传递给处理单元101以用于更新第一数据文件,如对于技术人员将是众所周知的。
[0086]
第二数据文件可包括例如指示用户是否已与内容项交互(即,查看或选择)的用户阅读历史。用户阅读历史可包括所有可能的内容项(例如,如由推荐数据指示)的识别符和每个内容项的值(例如,0或1;或者0和100),该值指示用户是否已与相关的内容项交互。对于以下描述,值
‘1’
指示用户尚未与内容项交互,且值
‘0’
指示用户已与内容项交互,不过其他实施例可变化。
[0087]
在优选示例中,用户阅读历史内的值可随时间的推移增加。因此,在用户已访问了特定内容之后,用户阅读历史中与该内容项相关联的值可最初为0(指示用户刚刚访问了相关的内容项)。该值可随时间的推移递增地增加(例如,每天增加10%),使得用户更有可能被推荐他们更长一段时间内未查看的内容项。
[0088]
在另一个示例中,用户阅读历史内的值可从指示内容项已被查看切换到指示在用户查看了内容项后已消逝某个时间段(例如,一天、一周或一个月)之后内容项没有被查看。这将导致比起不太为最近查看的内容项而不太可能向用户示出最近查看的内容项。
[0089]
在一个示例中,第二数据文件包括指示用户是否已与内容项交互的值的向量urh[i],其中向量的索引i以与先前描述的向量ept[i]类似的方式识别该内容项。
[0090]
将清楚的是,推荐数据可形成为第一数据文件和/或第二数据文件的方面。例如,第一/第二数据文件中的所有可能的内容项的索引均可代表推荐数据。
[0091]
处理单元可使用第一数据文件和第二数据文件(其中的至少一者并入有推荐数据)来识别推荐的内容项。特别地,处理单元可获得第一数据文件和第二数据文件作为内容选择算法的输入或变量,并且处理第一数据文件和第二数据文件以推荐(多个)内容项。这通过使用内容选择算法或方法处理所述文件来执行。推荐内容项的适当算法或方法对于技术人员是众所周知的。
[0092]
在其中第一数据项包括上文所描述的向量ept[i]且第二数据项包括上文所描述的向量urh[i]的情况下,一种识别推荐的内容项的方法包括执行以下等式:
[0093]
s=argmaxih(ept,urh)
ꢀꢀꢀꢀꢀꢀꢀꢀ
(1)
[0094]
其中s代表内容项在ept[i]或ugh[i]内的索引,h(ept,urh)是向量ept、urh的hadamard(逐元素)乘积。hadamard乘积的输出是向量(“hardamard向量”),并且argmaxi识别对应于hardamard向量中具有最大值的元素的索引(即,内容项)。可以通过随后识别与hardamard向量中的下一个最大值相关联的索引(及因此内容项)来推荐一个或多个附加内容项。
[0095]
该示例清楚地展示了第一数据文件和第二数据文件可如何充当内容选择算法的输入。这个概念应与其中第一数据文件和第二数据文件本身提供内容选择算法的概念区分开来。
[0096]
算子h()可用其他替代性的线性或非线性算子替换,这些线性或非线性算子从一组输入向量产生得分值的向量。在一个可能的实施例中,算子h()包括机器学习算法,诸如前馈或递归神经网络。
[0097]
在该示例中,如果向量urh[i]在相关联内容项已经由用户查看或访问的情况下提供值0且在相关联内容项尚未由用户查看的情况下提供值1,则在内容项已经被查看的情况
下,等式(1)将不推荐该内容项(因为向量的值为0)。
[0098]
在一些示例中,推荐数据可将索引与内容项相关,这可以用于识别内容项(例如,以查找表的形式)。在特定实施例中,推荐数据可包括所有内容项并将每个内容项与索引(匹配ept[i]和urh[i]的索引)相关联。
[0099]
在进一步的实施例中,存储器单元102进一步存储第三数据文件102d。第三数据文件102d包括用于影响所述一个或多个内容项的推荐的信息,该信息在以时间或用户可控变量的度量加以处理时生成基于时间或用户的推荐。
[0100]
仅举例来说,第三数据文件可包括查找表,该查找表包括所有可能的内容项的识别符以及用于每个内容项的(时变)函数,该函数基于时间或用户依赖信息(例如,消逝的时间)的度量来针对主体指示对该内容项的预测兴趣。
[0101]
此后,出于改善理解的目的,将参考时变函数。然而,时变函数可响应于用户特定变量而用任何合适函数替换。
[0102]
时变函数可为软适用性模型(sam)函数,该sam函数是预测相关联内容项在特定时刻对于用户将有多相关的函数。通常,a(n)sam函数是时间指标的经缩放和偏置的梯形函数,该函数的缩放和偏置在不同的内容项之间变化。
[0103]
时变函数可例如接收时间信息作为输入并提供在[0,1]或[0,100]范围内的输出,该输出代表在由时间信息指示的时间内对内容项的预测兴趣。时间信息可包括任何基于时间的度量或时间量(例如,一天中的当前时间、自里程碑事件以来消逝的时间量、距离到达里程碑事件还剩余的时间量等)。时间量可以以任何合适的时间的度量来测量,诸如天、小时、分钟、秒、周、月、年,等等。
[0104]
时间信息可例如包括一天中的时间。人们认识到,对不同内容项的兴趣可能随着一天中的时间而变化(例如,对早上与早餐相关的内容项和晚上与晚餐相关的内容项的兴趣可能增加)。
[0105]
在另一个示例中,时间信息可包括与用户的怀孕相关联的或与用户相关联的一天(即,自受孕以来的天数或距离预测的预产期的天数)。人们认识到,在怀孕的过程中,用户对某些内容项的兴趣将不同。例如,与怀孕结束时相比,在怀孕过程的早期,可假设用户可能对减轻与早期怀孕相关联的症状(例如,所谓的“孕妇晨吐”)更感兴趣。类似地,与在怀孕早期期间相比,在怀孕快结束时,可假设用户将对与分娩过程相关联的内容项或关于管理新生儿的信息更感兴趣。
[0106]
时间信息的其他合适示例对于技术人员将是显而易见的,例如,一年中的某一天、一个月中的某一天、自公共假期以来消逝或距离公共假期还剩余的时间量、自特定宗教或节日以来消逝或者距离特定宗教或节日还剩余的时间量、自另一个里程碑事件(例如,用户生日、用户家庭成员的生日等)以来消逝或距离另一个里程碑事件还剩余的时间量、在与用户或包括该用户在内的组相关联的两个里程碑事件之间的阶段(例如,用户怀孕的阶段(诸如,当前三个月)、用户教育的阶段(例如,当前学年/学期/半学年)、用户生活的阶段、一年中的某个阶段(例如,春季、夏季或冬季)等)、自用户上一次访问内容项以来的时间或自用户上一次访问推荐装置的特定应用程序(例如,执行推荐过程的应用程序)以来的时间。
[0107]
图2图示了合适的时变函数的示例。时变函数提供介于0和1之间的(连续)输出,并且形成为a(n)sam函数。
[0108]
x轴指示时间信息d,在此该时间信息代表怀孕中的某一天(例如,自预测受孕以来消逝的时间,其可由用户提供)。y轴指示时变函数f(d)的输出,它提供代表对该特定内容项的感知或预测兴趣(用于该感知或预测兴趣的修饰符)。函数f(d)在此处为a(n)sam函数。在图2中,f(d)的输出的值始终在[0,1]的范围内。
[0109]
将观察到,当认为项适用于与特定时间信息d(例如,怀孕期间的某个点或阶段)相关联的用户时,sam函数f(d)提供大的值(即,更接近1)。在图2中。
[0110]
在图2的情况下(其中时间信息d呈现怀孕中的某一天),将了解,未怀孕的用户可能与天数
‘0’
相关联(因为他们没有怀孕)。在时间d1(例如,怀孕期间的某个点),f(d)的值上升,之后在时间d2达到最大值f
max
(其可小于1)。sam函数f(d)的值在一段时间内保持在该最大值f
max
,然后在时间d3开始下降。sam函数f(d)的值在时间d4再次达到0。
[0111]
函数f(d)的精确形状可能因内容项而变化。在示例中,尺度和偏差(例如,点d1到d4的位置和最大值)可能因不同的内容项而变化。
[0112]
sam函数可有效地实施为向量sam[f(d),i],其中d是时间信息(例如,自怀孕以来的天数),f(d)是基于d来定义输出值的函数,且向量的索引i识别内容项。向量sam[d,i]可识别所有可能的内容项(即,向量条目的数量i等于内容项的数量)。
[0113]
处理单元可使用第一数据文件、第二数据文件和第三数据文件(其中的至少一者并入有推荐数据)来识别推荐的内容项。推荐内容项的适当方法对于技术人员是众所周知的。
[0114]
在其中第一数据项包括上文所描述的向量eph[i]、第二数据项包括上文所描述的向量urh[i]、且第三数据项包括上文所识别的向量sam[d,i]的情况下,一种识别推荐的内容项的方法包括执行以下等式:
[0115]
s=argmaxih(ept,sam[f(d)],urh)
ꢀꢀꢀꢀꢀꢀꢀ
(2)
[0116]
其中s代表内容项在ept[i]、ugh[i]和sam[d]内的索引,h(ept,urh)是向量ept、sam[d]、urh的hadamard乘积,并且argmaxi识别具有最大hadamard乘积的索引(即,内容项)。可以通过随后识别与下一个最高hardamard乘积相关联的索引(及因此内容项)来推荐一个或多个附加内容项。
[0117]
如前所述,可使用机器学习算法(诸如,神经网络)来替换等式2的函数。
[0118]
也可使用从外部源190获得的第二更新信息190b以与第一更新信息190a类似的方式来更新第三数据文件。在一些实施例中,外部源190的云计算系统191可提供第一更新信息,且外部源190的内容管理系统192可提供第二更新信息190b。在一些实施例中,云计算系统可适于响应于第二更新信息来生成第一更新信息。
[0119]
先前已解释了第一更新信息可如何包括第一数据文件的替换数据。以类似的方式,第二更新信息可包括第三数据文件的替换数据。
[0120]
外部源190(例如,云计算系统191)可使用常规的协同过滤和基于内容的推荐技术来生成第一/第二更新信息。
[0121]
下文描述了一种生成第一更新信息的合适方法,其中第一更新文件和第一更新信息两者都包括如先前陈述的预期偏好表(ept)。第一更新文件可反映处理单元可用的第一更新信息的最近可用副本。
[0122]
在该方法中,每个用户(至少包括推荐装置100的用户)被代表为向量,诸如10维向
量,即“用户向量”。每个内容项由类似维度的向量代表,即“内容向量”。这两个向量的标量乘积用作预测用户对于该内容项的预期偏好的得分,即,指示是否应向用户呈现/推荐该内容项的得分。
[0123]
为了找到代表用户的向量,可通过用户对内容项的所有历史反应运行最小化(例如,在经由用户信息传递给外部源时)。特别地,用户对推荐内容的历史反应可经由用户信息传递给外部装置。外部装置可使用这些历史反应来修改初始化的用户向量,使得修改后的用户向量和历史内容向量的标量乘积正确地预测用户对历史内容项(与历史内容向量相关联)的反应。
[0124]
历史内容向量的元素可例如识别相关联的历史内容项内的话题或主题的权重。
[0125]
话题可涉及特定的主题领域(例如,“营养”或“睡眠”)和/或可涉及内容项的风格(例如,“当前趋势”、“教育”或“行业认可”)和/或内容项的语气(例如,“同感的”或“权威性”)。定义话题的其他方法对于技术人员将是已知的。
[0126]
外部源由此可能够生成用户向量,该用户向量提供用户的优选话题和主题的代表。当使用时,该用户向量将由此在生成影响推荐内容项的值时增加这些话题和主题的影响。
[0127]
从外部生成指示推荐的值的此类方法对于技术人员是已知的。由于将外部推荐传递给推荐装置(其存储所述外部推荐),本发明在更安全的环境中并且在不需要连接到外部源的情况下依赖于对此类推荐技术的集成。然后,当被推荐内容项中的一个或多个时,推荐装置使用外部推荐。
[0128]
外部源190由此有效地操作为“后端”推荐器,并且处理单元101操作为“近端”推荐器。这有效地提供了一种两阶段推荐系统,其采用外部推荐过程和(推荐装置的)内部推荐过程两者。
[0129]
以上实施例已在第一数据文件和第二数据文件的上下文中进行了描述,所述第一数据文件和第二数据文件为每个单独的内容项提供得分或值。然而,在一些实施例中,第一数据文件和第二数据文件可适于对内容项有不同的影响。
[0130]
举例来说,第一数据文件可指示用户对于某些话题的预测偏好,并且(单独的)推荐数据可指示与特定内容项相关联的话题。作为形成用户的预测偏好的一部分,处理单元可适于更重地加权(用于推荐)与第一数据文件中识别的话题相关联的内容项。
[0131]
举另一个示例,第二数据文件可指示用户的位置,并且(单独的)推荐数据可指示与特定位置相关联的话题。处理单元可适于更重地加权(用于推荐)与最接近用户位置的位置相关联的内容项(在第二数据文件中)。
[0132]
举又一示例,第二数据文件可包含敏感的个人信息,诸如怀孕阶段、用户体重、怀孕体重增加度量或影响怀孕的医疗状况。处理单元可适于更重地加权(用于推荐)与相关怀孕阶段/体重/状况相关联的内容项。
[0133]
其他合适的示例对于技术人员将是显而易见的。
[0134]
尽管在本实施例中仅描述了三个数据文件,但是处理单元在推荐内容项时可采用多于三个的数据文件。
[0135]
任何本文中所描述的第三数据文件均可用作第二数据文件。例如,第二数据文件可包括用于影响所述一个或多个内容项的推荐的时间特定信息。实际上,第二数据文件可
用本文中所描述的第三数据文件替换。
[0136]
在先前示例中,已通过直接使用第一数据文件和第二数据文件以识别供推荐的内容项来推荐内容项。在其他实施例中,推荐是更为间接的。
[0137]
举例来说,可处理第一数据文件和第二数据文件以识别用户的一个或多个话题。推荐数据(例如,由外部源提供)可包括内容项以及与每个内容项相关联的话题的列表,这使得能够选择并向用户推荐合适的内容项(匹配所识别的一个或多个话题)。外部源可适于接收所识别的一个或多个话题并识别推荐的内容项。
[0138]
先前已描述了可如何使用机器学习算法来处理第一数据文件、第二数据文件和推荐数据(以及可选地第三数据文件)以识别供推荐的内容项。
[0139]
机器学习算法是处理输入数据以便产生或预测输出数据的任何自训练算法。此处,输入数据包括第一数据文件、第二数据文件和推荐数据(以及可选地第三数据文件),且输出数据包括供推荐的内容项。
[0140]
用于在本发明中采用的合适的机器学习算法对于技术人员将是显而易见的。合适的机器学习算法的示例包括决策树算法和人工神经网络。其他机器学习算法(诸如,逻辑回归、支持向量机或朴素贝叶斯模型)是合适的替代方案。
[0141]
人工神经网络(或简称为神经网络)的结构是受人脑的启发。神经网络由层组成,每个层包括多个神经元。每个神经元包括数学运算。特别地,每个神经元可包括单一类型的变换的不同加权组合(例如,相同类型的变换、sigmoid等,但具有不同的权重)。在处理输入数据的过程中,对输入数据执行每个神经元的数学运算以产生数字输出,并且将神经网络中每一层的输出依次馈送到下一层。最后的层提供输出。
[0142]
训练机器学习算法的方法是众所周知的。通常,此类方法包括获得训练数据集,该训练数据集包括训练输入数据条目和对应的训练输出数据条目。将初始化的机器学习算法应用于每个输入数据条目以生成预测的输出数据条目。预测的输出数据条目和对应的训练输出数据条目之间的误差用于修改机器学习算法。该过程可以重复直到误差收敛,并且预测的输出数据条目与训练输出数据条目充分相似(例如,
±
1%)。这通常被称为监督学习技术。
[0143]
例如,在机器学习算法由神经网络形成的情况下,可修改每个神经元的数学运算(的权重)直到误差收敛。修改神经网络的已知方法包括梯度下降、反向传播算法等。
[0144]
训练输入数据条目对应于第一数据文件、第二数据文件和推荐数据(以及可选地第三数据文件)的示例性第一示例。训练输出数据条目对应于供推荐的内容项。
[0145]
图3图示了为用户推荐一个或多个内容项的方法300。
[0146]
该方法包括如下的步骤301:在推荐装置的存储器单元中存储以下各者:第一数据文件,其包括识别对一个或多个内容项的预期用户偏好的信息;第二数据文件,其包括用于影响所述一个或多个内容项的推荐的用户特定信息;以及推荐数据,其识别用于向用户推荐的多个可能的内容项。
[0147]
该方法还包括如下的步骤302:尝试从推荐装置的外部源获得用于更新由存储器单元存储的第一数据文件的第一更新信息。
[0148]
响应于成功获得第一更新信息(例如,如在步骤302a中所确定的),该方法执行如下的步骤303:基于第一更新信息来更新第一数据文件。如果在步骤302中没有成功获得第
一更新信息,则可以跳过步骤303。
[0149]
该方法还包括如下的步骤304:从存储器单元获得第一数据文件、第二数据文件和推荐数据。该方法进一步包括如下的步骤305:使用内容选择算法来处理第一数据文件、第二数据文件和推荐数据,以向用户推荐由推荐数据识别的内容项中的一个或多个。
[0150]
技术人员将容易地能够调适方法300以实现本发明的任何本文中所描述的概念或实施例,例如,如参考图1和图2所描述的。
[0151]
类似地,技术人员还将容易地能够开发用于实施任何本文中所描述的方法的处理单元。因此,流程图的每个步骤可代表由处理单元执行的不同动作,并且可由处理单元的相应模块执行。
[0152]
因此,实施例可利用处理单元。处理单元可以用软件和/或硬件以众多方式实施,以执行所需的各种功能。处理器是采用一个或多个微处理器的处理单元的一个示例,所述微处理器可使用软件(例如,微代码)进行编程以执行所需的功能。然而,处理单元可在利用或不利用处理器的情况下实施,并且还可被实施为用以执行一些功能的专用硬件和用以执行其他功能的处理器(例如,一个或多个编程的微处理器和相关联的电路)的组合。
[0153]
可在本公开的各种实施例中采用的处理单元部件的示例包括但不限于常规微处理器、专用集成电路(asic)和现场可编程门阵列(fpga)。
[0154]
将理解,所公开的方法优选地是计算机实施的方法。因而,还提出了计算机程序的概念,该计算机程序包括用于在所述程序在处理单元(诸如,计算机)上运行时实施任何所描述的方法的代码装置。因此,根据实施例的计算机程序的不同的代码部分、代码行或代码块可由处理单元或计算机执行,以执行任何本文中所描述的方法。在一些替代性实施方式中,方框中注释的功能可不按图中注释的顺序出现。例如,接连示出的两个方框实际上可基本上同时执行,或者这些方框有时可按相反的顺序执行,具体取决于所涉及的功能。
[0155]
在各种实施方式中,处理器或处理单元可与一种或多种存储介质(诸如,易失性和非易失性计算机存储器,诸如ram、prom、eprom和eeprom)相关联。存储介质可利用一个或多个程序进行编码,当在一个或多个处理器和/或处理单元上执行时,所述程序执行所需的功能。各种存储介质可被固定在处理器或处理单元内,或者可为可运输的,使得存储在其上的所述一个或多个程序可以被加载到处理器或处理单元中。
[0156]
通过研究附图、公开内容和所附权利要求,本领域技术人员在实践所要求保护的发明时,可以理解和实现所公开的实施例的变型。在权利要求中,词语“包括”不排除其他元件或步骤,并且不定冠词“一”或“一个”不排除多个。单个处理单元或其他单元可实现权利要求中叙述的若干项的功能。在互不相同的从属权利要求中叙述某些措施的仅有事实并不指示不能有利地使用这些措施的组合。如果上文讨论计算机程序,则它可存储/分布在合适的介质上,诸如光学存储介质或固态介质,所述介质与其他硬件一起或作为其他硬件的一部分被供应,但是也可以以其他形式分布,诸如经由因特网或者其他有线或无线电信系统。如果在权利要求或描述中使用术语“适于”,则应注意,术语“适于”旨在等同于术语“被配置为”。权利要求中的任何附图标记均不应被解释为限制范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1