CN115563399A - 利用协同过滤、强化学习和消极反馈的包容性集合来生成数字推荐 - Google Patents
利用协同过滤、强化学习和消极反馈的包容性集合来生成数字推荐 Download PDFInfo
- Publication number
- CN115563399A CN115563399A CN202210700134.9A CN202210700134A CN115563399A CN 115563399 A CN115563399 A CN 115563399A CN 202210700134 A CN202210700134 A CN 202210700134A CN 115563399 A CN115563399 A CN 115563399A
- Authority
- CN
- China
- Prior art keywords
- digital content
- content items
- interaction
- negative
- item
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q30/00—Commerce
- G06Q30/06—Buying, selling or leasing transactions
- G06Q30/0601—Electronic shopping [e-shopping]
- G06Q30/0641—Shopping interfaces
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/953—Querying, e.g. by the use of web search engines
- G06F16/9536—Search customisation based on social or collaborative filtering
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/217—Validation; Performance evaluation; Active pattern learning techniques
- G06F18/2178—Validation; Performance evaluation; Active pattern learning techniques based on feedback of a supervisor
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/044—Recurrent networks, e.g. Hopfield networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/088—Non-supervised learning, e.g. competitive learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q30/00—Commerce
- G06Q30/02—Marketing; Price estimation or determination; Fundraising
- G06Q30/0201—Market modelling; Market analysis; Collecting market data
- G06Q30/0202—Market predictions or forecasting for commercial activities
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q30/00—Commerce
- G06Q30/02—Marketing; Price estimation or determination; Fundraising
- G06Q30/0282—Rating or review of business operators or products
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q30/00—Commerce
- G06Q30/06—Buying, selling or leasing transactions
- G06Q30/0601—Electronic shopping [e-shopping]
- G06Q30/0631—Item recommendations
Landscapes
- Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Accounting & Taxation (AREA)
- Finance (AREA)
- General Physics & Mathematics (AREA)
- Development Economics (AREA)
- Strategic Management (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Economics (AREA)
- General Business, Economics & Management (AREA)
- Marketing (AREA)
- General Engineering & Computer Science (AREA)
- Entrepreneurship & Innovation (AREA)
- Evolutionary Computation (AREA)
- Life Sciences & Earth Sciences (AREA)
- Artificial Intelligence (AREA)
- Game Theory and Decision Science (AREA)
- Molecular Biology (AREA)
- Software Systems (AREA)
- Mathematical Physics (AREA)
- Computing Systems (AREA)
- Health & Medical Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Bioinformatics & Computational Biology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Evolutionary Biology (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本公开的实施例涉及利用协同过滤、强化学习和消极反馈的包容性集合来生成数字推荐。本公开涉及利用协同过滤和具有动作方‑评论方框架的强化学习模型跨客户端设备提供数字内容项的系统、方法和非暂态计算机可读介质。特别地,在一个或多个实施例中,所公开的系统(例如,利用协同过滤模型)监测客户端设备与一个或多个数字内容项的交互以生成项嵌入。所公开的系统进一步利用强化学习模型,基于用户交互来生成推荐(例如,确定要提供给客户端设备的一个或多个附加数字内容项)。在一些实现中,所公开的系统利用强化学习模型来分析在生成推荐时观察到的每个消极和积极交互。此外,所公开的系统利用强化学习模型来分析在生成推荐时对数字内容项之间的关系进行编码的项嵌入。
Description
背景技术
近年来,在硬件和软件平台中取得了显著的进步,这些平台生成数字推荐并且向计算设备提供数字推荐。例如,许多常规的系统基于与计算设备相关联的用户偏好和/或与计算设备相关联的属性和与一个或多个其他计算设备相关联的属性之间的相似性(例如,它们相应用户的属性之间的相似性)向计算设备推荐数字内容项。尽管常规的系统可以生成有针对性的推荐,但是这样的系统通常无法灵活地考虑数字内容项之间的关系和/或适应动态用户偏好/特征,从而导致不准确的数字推荐和计算机资源的低效利用。
关于常规的推荐系统存在这些以及附加的问题和议题。
发明内容
本文中所描述的一个或多个实施例通过利用协同过滤和强化学习来灵活地生成针对与客户端设备相对应的动态特征的准确数字推荐的系统、方法和非暂态计算机可读介质,提供益处和/或解决本领域中的一个或多个前述或其他问题。特别地,在一个或多个实施例中,所公开的系统实现了具有动作方-评论方框架的强化学习模型,以捕获客户端设备和用户特征或兴趣的动态变化。此外,所公开的系统在生成数字推荐时利用数字内容项之间的关系(例如,经由协同过滤确定的)。例如,在一个或多个实施例中,所公开的系统将数字内容项关系集成到客户端设备与数字内容项的历史交互中以表示相关联的特征和偏好。在一些实现中,所公开的系统利用从客户端设备观察到的积极交互和消极交互的整体来确定与客户端设备相关联的特征/偏好。因此,所公开的系统灵活地确定特征的变化并且整合项关系以生成更准确地反映与客户端设备相关联的特征的数字推荐。此外,所公开的系统利用嵌入空间内的邻域搜索方法,该邻域搜索方法在选择用于推荐的项时对项关系进行编码以在大搜索空间中更高效地操作。
在以下描述中概述了本公开的一个或多个实施例的附加特征和优点。
附图说明
本公开将通过参考附图用附加的具体细节描述本发明的一个或多个实施例。以下段落简要地描述了那些附图,在附图中:
图1图示了根据一个或多个实施例的顺序推荐系统在其中操作的示例环境;
图2图示了根据一个或多个实施例的生成推荐的顺序推荐系统的概览图;
图3图示了根据一个或多个实施例的用于针对多个数字内容项生成项嵌入的集合的示图;
图4A-图4D图示了根据一个或多个实施例的利用客户端设备的用户交互来生成交互图的示图;
图4E图示了根据一个或多个实施例的与客户端设备的多个交互会话相关联的交互图的示图;
图5A图示了根据一个或多个实施例的强化学习模型的架构;
图5B图示了根据一个或多个实施例的用于生成客户端设备的积极状态和消极状态的多个卷积门控递归单元神经网络层;
图6图示了根据一个或多个实施例的为了确定顺序推荐系统的有效性而利用的顺序推荐系统的各种实施例的表;
图7A-图7B图示了根据一个或多个实施例的反映在确定顺序推荐系统的有效性时使用的数据的表;
图8A-图8B图示了根据一个或多个实施例的反映关于顺序推荐系统的有效性的实验结果的表;
图9A-图9B图示了根据一个或多个实施例的反映关于顺序推荐系统106的有效性的附加实验结果的图;
图10图示了根据一个或多个实施例的顺序推荐系统的示例示意图;
图11图示了根据一个或多个实施例的用于确定要提供给客户端设备的一个或多个数字内容项的一系列动作的流程图;以及
图12图示了根据一个或多个实施例的示例性计算设备的框图。
具体实施方式
本文中所描述的一个或多个实施例包括顺序推荐系统,该系统利用强化学习和协同过滤来生成灵活且准确的数字内容项推荐。例如,在一个或多个实施例中,顺序推荐系统实现具有动作方-评论方(actor-critic)范式的深度强化学习推荐框架,其将推荐问题视为适应客户端设备行为并且将长期奖励最大化的顺序决策过程。实际上,在一些实施例中,顺序推荐系统经由该框架使用实时学习来不断优化客户端设备的体验,以便动态地确定客户端设备/用户特征并且提供与那些特征相关联的趋势项。此外,在一些实例中,顺序推荐系统将(例如,经由协同过滤确定的)数字内容项之间的关系合并到强化学习模型中。此外,在一些情况下,在客户端设备与数字内容项进行消极交互的情况下,顺序推荐系统在生成推荐时利用所有消极交互以便更充分地利用可用指示符。
为了提供说明,在一个或多个实施例中,顺序推荐系统针对多个数字内容项生成项嵌入的集合(例如,使用协同过滤模型),其对跨客户端设备的、与多个数字内容项相关联的交互进行编码。另外,顺序推荐系统在交互会话期间监测客户端设备与来自多个数字内容项的一个或多个数字内容项的用户交互。利用项嵌入的集合,顺序推荐系统确定消极交互图和积极交互图。利用强化学习模型,顺序推荐系统进一步基于项嵌入的集合、消极交互图和积极交互图从多个数字内容项确定一个或多个附加数字内容项以提供用于显示。
如刚刚提及的,在一个或多个实施例中,顺序推荐系统使用协同过滤模型(或者,图嵌入模型)针对多个数字内容项生成项嵌入。特别地,顺序推荐系统生成项嵌入以捕获数字内容项之间的关系。在一个或多个实施例中,顺序推荐系统基于多个客户端设备与数字内容项的先前交互对项嵌入内的这些关系进行编码。因此,项嵌入表示相似客户端设备(例如,具有相似性的客户端设备的用户)偏好相似数字内容项的趋势。在一些实现中,项嵌入包括协同过滤项嵌入、图嵌入、或者对项关系进行编码的其他嵌入。
如上面进一步提及的,在一些实施例中,顺序推荐系统在交互会话期间监测与一个或多个数字内容项的用户交互。例如,当数字内容项被显示在客户端设备上时,顺序推荐系统监测客户端设备的响应。实际上,顺序推荐系统观察到与数字内容项的积极交互(例如,点击、购买、高评级等)和/或消极交互(例如,忽视、低评级等)。
在一些实现中,顺序推荐系统基于用户交互来生成积极交互图和消极交互图。例如,在一些情况下,顺序推荐系统基于任何观察到的积极交互来生成积极交互图,并且基于任何观察到的消极交互来生成消极交互图。在一个或多个实施例中,顺序推荐系统使用所有观察到的消极交互(即,不对子集进行采样)来生成消极交互图和/或积极交互图。在一些情况下,顺序推荐系统使用与客户端设备与之交互的数字内容项相对应的项嵌入来生成交互图。
在一个或多个实现中,顺序推荐系统还使用其他数字内容项的项嵌入来生成积极交互图和消极交互图。例如,顺序推荐系统确立将在积极交互图和消极交互图中表示的数字内容项的设定数目,并且观察到的积极和/或消极交互的数目小于设定数目。因此,对于仅基于与客户端设备交互的数字内容项而包括少于设定数目的数字内容项表示的交互图,顺序推荐系统包括其他数字内容项的项嵌入。
例如,顺序推荐系统可以用靠近嵌入空间内观察到的积极交互(或者,远离嵌入空间内的消极交互)的数字内容项来填充积极交互图。类似地,顺序推荐系统可以用靠近嵌入空间内观察到的消极交互(或者,远离嵌入空间内的积极交互)的数字内容项来填充消极交互图。因此,顺序推荐系统在生成推荐时合并了项关系。
另外,如上面所提及的,在一个或多个实施例中,顺序推荐系统利用强化学习模型来确定一个或多个数字项(即,生成推荐)以提供用于在客户端设备上显示。例如,在一些情况下,顺序推荐系统利用具有动作方模型和评论方模型的强化学习模型。
为了说明,在一些实现中,动作方模型包括多个卷积门控递归单元神经网络层。顺序推荐系统使用一个卷积门控递归单元神经网络层,基于积极交互图针对客户端设备生成积极状态,并且使用另一个卷积门控递归单元神经网络层基于消极交互图针对客户端设备生成消极状态。在一些实例中,顺序推荐系统还分别基于客户端设备的先前的积极和消极状态进一步生成积极和消极状态。因此,顺序推荐系统在生成推荐时合并了客户端设备的过去用户交互(例如,跨不同时间间隔的交互序列)。
此外,在一些实施例中,顺序推荐系统利用动作方模型来使用积极和消极状态针对客户端设备生成推荐。特别地,顺序推荐系统使用动作方模型来确定一个或多个附加数字内容项以提供用于显示给客户端设备。在一些实例中,顺序推荐系统进一步使用项嵌入来确定(多个)附加数字内容项(例如,通过标识与客户端设备进行积极交互的数字内容项相似的或与客户端设备进行消极交互的数字内容项相异的数字内容项)。
在一些情况下,顺序推荐系统使用评论方模型来评估使用动作方模型所生成的推荐的质量——诸如通过生成值函数。在一些实例中,顺序推荐系统使用评论方模型的质量函数来修改动作方模型的参数。在一些实现中,评论方模型包括网络层的独特架构,用于在确定和应用值函数时处理积极和消极状态-动作向量。
如上面所提及的,常规的推荐系统遭受若干技术缺陷,这些缺陷导致不灵活、不准确且低效的操作。例如,许多常规的推荐系统在利用项关系来生成推荐时实现静态模型——诸如协同过滤模型、基于内容的过滤模型、矩阵分解模型、分解机器模型或深度学习模型。然而,这样的模型通常使用不变的用户特征/偏好的集合来操作,无法适应不断演变的趋势和偏好动态。这些模型还倾向于提出使即时奖励最大化的推荐,而未能针对长期累积奖励进行优化。一些常规的系统试图通过实现适应不断变化的用户特征/偏好并且提出建议以优化长期奖励的强化学习模型来克服这些问题。然而,这些常规的系统常常无法生成反映各项之间的关系的推荐。
除了灵活性问题以外,常规的推荐系统在捕获在其推荐内的用户偏好/特征方面通常是不准确的。实际上,如上面所讨论的,常规的系统经常实现这样的模型,这些模型要么忽略了客户端设备特征的动态,要么忽略了各项之间的关系(或者,忽略了两者)。因此,这些常规的系统通常基于对那些项如何适合客户端设备的当前偏好/特征的不准确感知而向客户端设备提供推荐项。例如,那些实现静态模型的常规的系统必须从头开始重新训练以合并任何更改的特征,从而导致训练和部署之间的显著滞后,而无法捕获最新的特征。此外,常规的系统在生成推荐时常常忽略交互数据的重要部分。例如,许多常规的系统基于与其他项的先前交互而生成针对一些项的推荐。然而,在这样做时,许多常规的系统通常关注先前的积极交互,仅利用消极交互的采样子集(以避免数据偏向于大量消极交互)或完全忽略先前的消极交互。通过忽略这样的交互数据,常规的系统无法使用所有可用的特征指示符来准确地确定与客户端设备相关联的当前特征并且做出适合于那些特征/偏好的推荐。
另外的常规的推荐系统遭受效率低下的问题。例如,在其中提供推荐的环境常常与许多可用项相关联。因此,针对这些环境的状态和动作空间非常大。许多常规的系统,诸如那些利用强化学习模型的系统,由于这些空间的大小而面临大量计算挑战,使得部署不切实际。事实上,常规的系统无法扩展以满足日益复杂的现实世界环境的计算需求,从而导致计算机资源的过度和低效使用。
顺序推荐系统提供了优于常规的系统的若干优点。例如,顺序推荐系统可以比常规的系统操作得更灵活。实际上,通过同时利用项嵌入(例如,经由协同过滤生成)和强化学习,顺序推荐系统可以在生成推荐时灵活地适应数字内容项和动态特征之间的关系。
另外,顺序推荐系统可以比常规的系统操作得更准确。例如,通过将数字内容项关系(经由协同过滤)和动态用户/客户端设备特征(经由强化学习)二者都合并到推荐过程中,顺序推荐系统更准确地确定特定数字内容项如何满足与客户端设备相关联的当前特征/偏好。此外,通过合并所有消极反馈并且经由强化学习实时地持续学习,顺序推荐系统可以更准确地确定那些当前特征。因此,顺序推荐系统可以生成更准确地反映客户端设备特征和偏好的推荐。
此外,与常规的系统相比,顺序推荐系统可以以提高的效率来操作。例如,顺序推荐系统可以通过合并对数字内容项之间的关系进行编码的项嵌入来缩小被用于标识要推荐的附加内容项的搜索空间。尽管搜索空间对于许多常规的系统来说仍然太大,但是顺序推荐系统的动作方-评论方实现实际上可以使用邻域搜索策略来导航该空间,而不是在推荐多个数字内容项时查看每个可能的排列。此外,顺序推荐系统可以利用诸如卷积门控递归单元神经网络层的神经网络组件的近似性质,从而避免大量计算。另外,在强化学习框架下,顺序推荐系统不需要像经常做的那样估计转换概率或者存储值函数表。此外,鉴于上面讨论的改进的准确性,顺序推荐系统可以避免在向客户端设备分发不必要的数字内容/数字推荐时浪费带宽和资源。因此,顺序推荐系统保留了通常被常规的系统使用的大量计算资源,从而允许在与大状态和动作空间相关联的现实环境中进行实际部署。
现在将参考附图提供关于顺序推荐系统的附加细节。例如,图1图示了可以在其中实现顺序推荐系统106的示例性系统环境(“环境”)100的示意图。如图1中所图示的,环境100包括(多个)服务器102、网络108、客户端设备110A-110n、以及第三方服务器114。
尽管图1的环境100被描绘为具有特定数目的组件,但是环境100可以具有任何数目的附加或备选组件(例如,不同数目的服务器、客户端设备、第三方系统或经由网络108与顺序推荐系统106通信的其他组件)。类似地,尽管图1图示了(多个)服务器102、网络108、客户端设备110A-110n、以及第三方服务器114的特定布置,但是各种附加布置是可能的。
(多个)服务器102、网络108、客户端设备110A-110n、以及第三方服务器114可以直接或间接地、彼此可通信地耦接(例如,通过如在下文关于图12更详细讨论的网络108)。此外,(多个)服务器102、客户端设备110A-110n、以及第三方服务器114可以包括多种计算设备(包括如关于图12更详细讨论的一个或多个计算设备)。
如上面所提及的,环境100包括(多个)服务器102。在一个或多个实施例中,(多个)服务器102生成、存储、接收和/或传输数字数据,包括与提供给客户端设备的数字内容项相关的数字数据。为了提供说明,在一些实例中,(多个)服务器102从客户端设备(例如,客户端设备110A-110n之一)接收与一个或多个数字内容项的用户交互并且反过来提供一个或多个数字内容项以用于显示在客户端设备上。在一些实现中,(多个)服务器102从第三方系统(例如,托管在第三方服务器114上)接收用户交互和/或向第三方系统提供附加数字内容项。在一个或多个实施例中,(多个)服务器102包括数据服务器。在一些实施例中,(多个)服务器102包括通信服务器或网络托管服务器。
如图1中所示,(多个)服务器102包括内容分发系统104。在一个或多个实施例中,内容分发系统104管理数字内容到客户端设备的分发。例如,在一些实例中,内容分发系统104将数字内容项分发到客户端设备。在一些实现中,内容分发系统104(例如,向托管在第三方服务器114上的第三方系统)提供用于某些数字内容项的分发的推荐。
另外,(多个)服务器102包括顺序推荐系统106。特别地,在一个或多个实施例中,顺序推荐系统106确定要被提供以在客户端设备上显示的数字内容项。例如,在一些实例中,顺序推荐系统106利用(多个)服务器102基于客户端设备与一个或多个其他数字内容项的先前用户交互来确定一个或多个数字内容项以提供给客户端设备。
为了说明,在一个或多个实施例中,顺序推荐系统106经由(多个)服务器102,使用协同过滤模型(或者,图嵌入模型)针对多个数字内容项生成项嵌入的集合。特别地,项嵌入的集合对跨客户端设备的、与多个数字内容项相关联的交互进行编码。另外,经由(多个)服务器102,顺序推荐系统106在交互会话期间监测客户端设备与来自多个数字内容项的一个或多个数字内容项的用户交互。经由(多个)服务器102,顺序推荐系统106利用项嵌入向量的集合从交互会话的每个用户交互(例如,每个消极交互和/或积极交互)确定消极交互图和积极交互图。利用强化学习模型,顺序推荐系统106经由(多个)服务器102基于项嵌入的集合、消极交互图和积极交互图从多个数字内容项确定一个或多个附加数字内容项以提供用于显示。
在一个或多个实施例中,第三方服务器114通过网络108经由(多个)服务器102与顺序推荐系统106交互。例如,在一些实现中,第三方服务器114托管第三方系统,其接收来自顺序推荐系统106的推荐,以用于提供数字内容项以在客户端设备上显示。在一些实现中,第三方服务器114接收数字内容项本身以提供给客户端设备。在一些情况下,托管在第三方服务器114上的第三方系统监测客户端设备的用户交互并且将观察到的用户交互提供给顺序推荐系统以生成推荐。
在一个或多个实施例中,客户端设备110A-110n包括能够显示数字内容项和/或与数字内容项交互的计算设备。例如,在一些实现中,客户端设备110A-110n包括智能电话、平板计算机、台式计算机、膝上型计算机、头戴式显示设备或其他电子设备中的至少一个。在一些实例中,客户端设备110A-110n包括能够显示数字内容项和/或与数字内容项交互的一个或多个应用(例如,客户端应用112)。例如,在一些实施例中,客户端应用112包括安装在客户端设备110A-110n上的软件应用。然而,在其他情况下,客户端应用112包括网络浏览器或访问托管在服务器102上的软件应用的其他应用。
顺序推荐系统106可以全部或部分地由环境100的各个元件实现。实际上,尽管图1图示了关于(多个)服务器102实现的顺序推荐系统106,但是顺序推荐系统106的不同组件可以由环境100内的各种设备实现。例如,顺序推荐器系统106的一个或多个(或者,所有)组件可以由不同的计算设备(例如,客户端设备110A-110n之一)或与托管内容分发系统104的(多个)服务器102分开的服务器实现。在下面将关于图10描述顺序推荐系统106的示例组件。
如上面所提及的,顺序推荐系统106向客户端设备推荐数字内容项。特别地,顺序推荐系统106确定一个或多个数字内容项以提供用于在客户端设备上显示。图2图示了根据一个或多个实施例的确定一个或多个数字内容项以提供用于显示的顺序推荐系统106的概览图。
如图2中所示,一个或多个数字内容项,诸如数字内容项204,被显示在客户端设备202上。例如,在一个或多个实施例中,顺序推荐系统106提供一个或多个数字内容项以用于显示在客户端设备202上。
在一个或多个实施例中,数字内容项包括可以诸如经由网络传输到计算设备的数字内容。在一些实施例中,数字内容项包括与产品(例如,数字产品或现实世界的产品)或服务相关联的数字内容。为了说明,在一些情况下,数字内容项包括对产品或服务的描述(例如,在网页、数字文档或电子消息中——诸如文本、电子邮件消息或社交媒体帖子)和/或展示产品或服务的数字视频或图像。在一些实现中,数字内容项提供用于购买或进行关于产品或服务的查询的可选选项。在一些实施例中,数字内容项包括用于访问产品或服务或用于访问与产品或服务相关联的附加数字内容的链接(例如,在电子消息内)。
另外,如图2中所示,顺序推荐系统106监测客户端设备202与一个或多个数字内容项(例如,与数字内容项204)的用户交互206。例如,如图所示,顺序推荐系统106监测(例如,观察)消极交互208和积极交互210。
在一个或多个实施例中,用户交互(更简洁地,也被称为交互)包括客户端设备对数字内容项的响应。例如,在一些情况下,用户交互包括客户端设备的动作,这是由于数字内容项被显示在客户端设备上。为了说明,在一些实例中,用户交互包括查看或不查看数字内容项的动作。例如,用户交互可以包括查看数字内容项(例如,查看所包括的数字视频,或者经由客户端设备维持数字内容项在显示)滚动远离数字内容项或以其他方式从在客户端设备上显示中移除数字内容项。在一些情况下,用户交互包括点击(例如,点击包括在数字内容项中的链接)、提交查询、购买、提供评价或提交对数字内容项的评级(例如,针对数字内容项中叙述的产品或服务)。
在一个或多个实施例中,积极交互包括指示对数字内容项感兴趣的用户交互(例如,对所叙述的产品或服务感兴趣)。例如,在一些实例中,积极交互包括点击、购买、提交查询、提交好评或查看数字内容项(例如,比阈值更长时间)。同样,在一个或多个实施例中,消极交互包括指示对数字内容项不感兴趣的用户交互。例如,在一些情况下,消极交互包括提交低评或滚动远离或以其他方式从客户端设备上的显示中移除数字内容项。在一个或多个实施例中,顺序推荐系统106(例如,基于用户输入)确立积极交互和消极交互的特性。例如,对于评级量表,在一些实施例中,顺序推荐系统106确立阈值评级值,该阈值评级值利用用户输入在积极交互和消极交互之间进行区分。
应注意的是,为了说明的目的,图2图示了包括消极交互208和积极交互210的用户交互206。在一些情况下,用户交互仅包括消极交互(例如,顺序推荐系统106观察到消极交互但没有观察到积极交互)。在其他情况下,用户交互仅包括积极交互(例如,顺序推荐系统106观察到积极交互但没有观察到消极交互)。此外,图2图示了包括多个消极交互和多个积极交互的用户交互206;然而,应注意,在一些情况下,用户交互包括单个消极交互和/或单个积极交互。
实际上,在一个或多个实施例中,顺序推荐系统106在交互会话期间监测用户交互206。在一个或多个实施例中,交互会话包括客户端设备与一个或多个数字内容项进行交互的不同时段。在一些情况下,交互会话包括设定的时间段或设定数目的交互。在一些实现中,交互会话以积极交互结束并且包括紧接在积极交互之前发生的所有消极交互。在一些情况下,交互会话包括客户端设备浏览其中提供有数字内容项的网站、多个网站、社交网络馈送或其他媒体的时段。
如图2中所示,顺序推荐系统106利用与一个或多个数字内容项(例如,包括数字内容项204)的用户交互206针对客户端设备202生成推荐。特别地,顺序推荐系统106利用消极交互和积极交互210来确定针对客户端设备的一个或多个附加数字内容项。如进一步所示,顺序推荐器系统106提供一个或多个附加数字内容项(例如,数字内容项212或所示的其他数字内容项)以用于经由客户端设备显示。在一个或多个实施例中,顺序推荐系统106在后续交互会话期间提供一个或多个附加数字内容项。
如图2中所图示的,为了生成针对客户端设备202的推荐,顺序推荐系统106进一步利用使用协同过滤模型(或者,图嵌入模型)所生成的项嵌入214。在一个或多个实施例中,项嵌入214对应于多个数字内容项,包括客户端设备202在交互会话期间与之交互的一个或多个数字内容项。例如,在一些情况下,项嵌入214对应于由供应商所提供的可用产品和/或服务的全部或一部分。下面将参考图3讨论关于项嵌入的更多细节。
如进一步说明的,顺序推荐系统106利用强化学习模型216针对客户端设备202生成推荐。如图所示,强化学习模型216包括具有卷积门控递归单元神经网络层220的动作方模型218和评论方模型222。在一个或多个实施例中,顺序推荐系统106利用动作方模型218来推荐数字内容项并且利用评论方模型222来评估推荐。下面将参考图5A-图5B来提供关于强化学习模型216的更多细节。现在将提供关于根据一个或多个实施例的生成推荐(例如,确定数字内容项以提供用于显示)的总体方法的细节。
实际上,在一个或多个实施例中,顺序推荐系统106将推荐生成建模为马尔可夫决策过程(MDP)其中通过在每个时间步长(例如,每个交互会话)中推荐n个数字内容项,顺序推荐系统106(即,代理)在一系列时间步长上与客户端设备(即,环境)交互,其中n>=1。在一些情况下,顺序推荐系统106定义为五个元素的元组(S,A,T,R,γ)。
在一个或多个实施例中,顺序推荐系统106将状态空间S:si∈S定义为在时间ti处与客户端设备相关联的特征或属性。例如,在一个或多个实施例中,状态空间包括在时间ti处与客户端设备相关联的用户特征/偏好。在一个或多个实施例中,顺序推荐系统106基于客户端设备的历史交互来确定与该客户端设备相关联的特征/偏好。因此,例如,顺序推荐系统106将客户端设备的用户偏好确定为客户端设备的交互历史hi的函数,其中si=f(hi)。然而,状态空间可以包括与客户端设备相关联的其他特征或属性,诸如与客户端设备相关联的位置、客户端设备的技术规范、与客户端设备相关联的浏览历史等。
如以下将更详细解释的,在一个或多个实施例中,顺序推荐系统106将客户端设备的状态分离为积极状态和消极状态因此,顺序推荐系统106将客户端设备的交互历史分离为积极交互历史和消极交互历史使得和此外,在一个或多个实施例中,顺序推荐系统106将历史交互定义为和其中,和表示基于在交互会话ti期间客户端设备与数字内容项的用户交互(其可以包括在该交互会话期间与推荐数字内容项的交互)而生成的对应的积极集合和消极集合(即,积极交互图和消极交互图)。
在一些实施例中,顺序推荐系统106将动作空间A:ai∈A定义为n个推荐数字内容项。例如,在一些实现中,顺序推荐系统106确定n个数字内容项以提供用于经由客户端设备显示的向量表示(例如,动作向量)。
在一个或多个实例中,顺序推荐系统106将奖励R:ri∈R定义为基于客户端设备对推荐数字内容项的响应而接收的即时奖励换言之,顺序推荐系统106基于客户端设备与一个或多个推荐数字内容项的用户交互来确定奖励。
在一些实现中,顺序推荐系统106将转换函数T标示为在动作ai之后从到的状态转换的概率。实际上,顺序推荐系统106标示T(si,ai,si+1)=Pr(si+1|si,ai)。在一个或多个实施例中,顺序推荐系统106利用转换函数的马尔可夫属性:Pr(si+1|si,ai)=Pr(si+1|si,ai,ai-1,ai-1,...,s1,a1)。
在一些实施例中,顺序推荐系统106利用衰减参数γ:γ∈[0,1]来确定未来奖励的重要性。例如,在γ=0的一些实例中,顺序推荐系统106仅考虑即时奖励而忽略未来奖励。另一方面,在γ=1的一些情况下,顺序推荐系统106平等地加权即时奖励和未来奖励。
在一个或多个实施例中,顺序推荐系统106操作以确定优化的策略以及用于对由策略选择的动作进行评估的值函数的逼近器。因此,在一个或多个实施例中,顺序推荐系统106合并了动作方-评论方框架,以将计算值函数与策略的显式表示相结合。实际上,在一个或多个实施例中,通过该框架,顺序推荐系统106连续地确定最优推荐策略πθ:S→A,以便最大化来自任何状态-动作对(si∈S,ai∈A)的预期长期累积奖励。特别地,在一个或多个实施例中,顺序推荐系统106如下操作以优化预期长期累积奖励:
在等式1中,表示在策略πθ下的期望并且rt+k表示在未来时间步长t+k处的即时奖励。此外,Q表示值函数(也被称为Q值函数),其中如下面将讨论的,在一个或多个实施例中,顺序推荐系统106利用动作方-评论方框架的动作方模型来确定动作ai并且利用评论方模型来生成针对动作-状态对(si,ai)的值函数,而不是针对所有潜在的动作状态对。
如刚刚提及的,在一个或多个实施例中,顺序推荐系统106利用项嵌入来确定数字内容项以提供用于经由客户端设备显示。在一些实例中,顺序推荐系统106针对多个数字内容项生成项嵌入的集合,并且利用该项嵌入的集合来确定要提供的数字内容项。图3图示了根据一个或多个实施例的用于针对多个数字内容项生成项嵌入的集合的示图。
在一个或多个实施例中,项嵌入包括表示数字内容项的值或值的集合。特别地,项嵌入包括对应于数字内容项的属性和/或特性的值或值的集合(例如,值的向量)。在一些情况下,项嵌入进一步表示对应的数字内容项与一个或多个其他数字内容项之间的关系。在一个或多个实例中,项嵌入表示基于多个客户端设备与对应的数字内容项和一个或多个其他数字内容项的交互的关系。在一些实现中,顺序推荐系统106在项嵌入空间内生成项嵌入。
在一个或多个实施例中,顺序推荐系统106区分积极项嵌入和消极项嵌入。在一些实施例中,积极项嵌入包括与客户端设备对其具有确定兴趣的数字内容项相对应的项嵌入。例如,在一些情况下,积极项嵌入包括与客户端设备与之进行积极交互的数字内容项或客户端设备以其他方式对其具有确定兴趣的数字内容项相对应的项嵌入。同样地,在一些情况下,消极项嵌入包括与客户端设备确定不感兴趣的数字内容项相对应的项嵌入。例如,在一些情况下,消极项嵌入包括与客户端设备与之进行消极交互的数字内容项或客户端设备以其他方式对其确定不感兴趣的数字内容项相对应的项嵌入。实际上,由于顺序推荐系统106基于客户端设备的兴趣或不感兴趣来确定项嵌入是积极的还是消极的,因此在一些实现中,顺序推荐系统106关于一个客户端设备将一个项嵌入确定为积极项嵌入并且关于另一个客户端设备将该项嵌入确定为消极项嵌入。
实际上,如图3中所示,顺序推荐系统106监测多个客户端设备302A-302d与多个数字内容项304A-304d的交互。在一些实现中,顺序推荐系统106从第三方系统接收或检索客户端设备302A-30d的交互。在一些情况下,客户端设备302A-30d的交互包括积极交互和/或消极交互。
在一个或多个实施例中,顺序推荐系统106利用客户端设备302A-302d与数字内容项304A-304d的交互作为数字内容项304A-304d之间的关系的指示。例如,在一些实现中,客户端设备302A-302b的交互指示哪些数字内容项是具有共享属性的集合的客户端设备优选的,或者哪些数字内容项是也优选另一特定数字内容项的客户端设备优选的。
如图3中所示,顺序推荐系统106利用客户端设备302A-302d与数字内容项304A-304d的交互来生成项嵌入的集合306。特别地,如上面所提及的,顺序推荐系统106生成项嵌入306以通过在项嵌入306内对客户端设备302A-302d与数字内容项304A-304d的交互进行编码来编码数字内容项304A-304d之间的关系。
如图3中所示,在一个或多个实施例中,顺序推荐系统106使用协同过滤生成项嵌入306。具体地,顺序推荐系统106通过与数字内容项304A-304d相对应的协同过滤308(或者,“协同过滤项嵌入308”)来生成项嵌入。实际上,在一个或多个实施例中,协同过滤项嵌入包括经由协同过滤模型所生成的项嵌入。在一个或多个实施例中,协同过滤项嵌入表示对应的数字内容项与协同过滤项嵌入的值或值的集合内的其他数字内容项之间的关系。例如,在一个或多个实施例中,基于客户端设备与对应数字内容项和至少一个其他数字内容项的交互,协同过滤项嵌入在其(多个)值内对对应的数字内容项和该至少一个其他数字内容项的相似性进行编码。在一个或多个实施例中,数字内容项之间的关系由其对应的协同过滤项嵌入在项嵌入空间内的接近度来反映。在一些实现中,顺序推荐系统106生成项嵌入,如Badrul Sarwar等人的文章中所述,“Item-based Collaborative FilteringRecommendation Algorithms”(2001年,在万维网第10届国际会议的论文集中,第285-295页),其通过引用整体并入本文。在一些情况下,顺序推荐系统106生成项嵌入,如XiaoyuanSu和Taghi M.Khoshgoftaar的文章中所述,“A Survey of Collaborative FilteringTechniques”(人工智能的研究进展2009(2009)),其通过引用整体并入本文。
在一个或多个实施例中,顺序推荐系统106利用矩阵分解模型或分解机器模型来生成协同过滤项嵌入308。在一些情况下,顺序推荐系统106利用分解机器神经网络(诸如,深度分解机器)生成协同过滤项嵌入308。作为后者的示例,在一个或多个实施例中,顺序推荐系统106利用了Huifeng Guo等人的文章中所述的深度分解机器,“DeepFM:AFactorization-machine Based Neural Network for CTR Prediction”,2017,https://arxiv.org/abs/1703.04247,其通过引用整体并入本文。
如图3进一步所图示的,在一个或多个实施例中,顺序推荐系统106通过生成对应于数字内容项304A-304d的图嵌入310来生成项嵌入306。在一个或多个实施例中,图嵌入包括基于互连节点的图网络的项嵌入。实际上,在一个或多个实施例中,顺序推荐系统106生成图网络(例如,知识图),其包括表示数字内容项的多个节点并且还包括表示对应数字内容项之间的关系的节点之间的边。为了说明,在一个或多个实施例中,顺序推荐系统106在(例如,基于客户端设备与数字内容项的交互)确定两个节点的对应数字内容项相关时生成两个节点之间的边。在一些实例中,数字内容项之间的关系进一步由它们的节点在图网络内的接近度来反映。在一个或多个实施例中,图嵌入包括表示与图网络内的数字内容项相对应的节点的位置和连接的项嵌入。
在一些情况下,顺序推荐系统106利用表示数字内容项的图网络生成图嵌入310。例如,在一个或多个实施例中,顺序推荐系统106利用图神经网络——包括图卷积网络、图注意力网络或图递归网络中的至少一个——来从表示多个数字内容项的图网络生成图嵌入。
尽管未图示,但是在一些实例中,顺序推荐系统106利用相似性矩阵(例如,稀疏矩阵)生成项嵌入306。例如,在一些情况下,顺序推荐系统106确定与数字内容项相关联的元数据并且利用元数据生成相似性矩阵。顺序推荐系统106从矩阵生成项嵌入306。
在一个或多个实现中,顺序推荐系统106进一步生成项嵌入306以合并用户嵌入。例如,在一些情况下,顺序推荐系统106生成项嵌入306以合并与客户端设备相关联的特性或属性(例如,人口统计信息)和/或与客户端设备相关联的用户ID号。
如上面所提及的,在交互会话期间监测客户端设备与一个或多个数字内容项的用户交互后,顺序推荐系统106生成交互图。图4A-图4D图示了根据一个或多个实施例的用于利用客户端设备的用户交互来生成交互图的示图。图4E图示了根据一个或多个实施例的与客户端设备的多个交互会话相关联的交互图的示图。
在一个或多个实施例中,交互图包括数字内容项的集合,客户端设备对其具有确定的(例如,估计的)兴趣和/或不感兴趣。例如,在一些实现中,交互图包括值的集合——诸如向量,或者矩阵——其中这些值表示客户端设备基于在交互会话期间客户端设备的用户交互对其具有确定的兴趣或不感兴趣的数字内容项。为了说明,在一些情况下,交互图包括与客户端设备对其具有确定的兴趣或不感兴趣的那些数字内容项相对应的项嵌入。在一个或多个实施例中,交互图包括表示客户端设备在交互期间与之交互的一个或多个数字内容项的值。在一些情况下,如下面将更详细解释的,交互图包括表示一个或多个其他数字内容项的值。
实际上,如图4A中所示,顺序推荐系统106在交互会话期间从客户端设备与一个或多个数字内容项的用户交互402生成交互图。特别地,如图4A中所示,顺序推荐系统106生成积极交互图404和消极交互图406。
在一个或多个实施例中,积极交互图包括这样的交互图,该交互图包括客户端设备对其具有确定的兴趣的数字内容项的集合。例如,在一些情况下,积极交互图包括客户端设备在交互会话期间与之进行积极交互的一个或多个数字内容项和/或客户端设备对其具有确定的兴趣的其他数字内容项。类似地,在一些实例中,消极交互图包括这样的交互图,该交互图包括客户端设备对其确定不感兴趣的数字内容项的集合。例如,在一些情况下,消极交互图包括客户端设备在交互会话期间与之进行消极交互的一个或多个数字内容项和/或客户端设备对其确定不感兴趣的其他数字内容项。
如刚刚讨论的,在一个或多个实施例中,顺序推荐系统106使用客户端设备与一个或多个数字内容项的用户交互来生成积极交互图和消极交互图。在一些实现中,顺序推荐系统106还利用其他数字内容项(例如,对应于其他数字内容项的项嵌入)来生成积极交互图和/或消极交互图。特别地,在一些情况下,顺序推荐器系统106利用来自多个数字内容项的其他数字内容项,这些数字内容项包括客户端设备在交互会话期间与之交互的那些数字内容项。
实际上,在一个或多个实施例中,顺序推荐器系统106确立要在积极交互图和消极交互图中的每一个中表示的数字内容项d的数目。在一个或多个实施例中,d>=n(在给定时间步长期间推荐的数字内容项的数目)使得每个交互图可以表示为至少n个数字内容项提供的反馈。因此,顺序推荐系统106不会仅基于与n个数字内容项的用户交互来生成积极交互图和消极交互图。而是,顺序推荐系统106进一步利用其他数字内容项(例如,其他数字内容项的项嵌入)来填充在包含与客户端设备交互的数字内容项之后在积极交互图和消极交互图中剩余的空间。图4B-图4C图示了根据一个或多个实施例的用于在三种不同场景生成积极交互图和消极交互图的示图。需要注意的是,在一些实例中,顺序推荐系统106将项嵌入的尺寸设置为m,使得每个交互图的维度为d×m。换句话说,
图4B图示了客户端设备在交互会话期间与n个数字内容项中的每一个进行积极交互的场景。因此,顺序推荐系统106确定存在n个积极交互并且没有消极交互。因此,顺序推荐系统106完全基于客户端设备的积极交互(其中d=n)生成完整的积极交互图410。特别地,在一些情况下,顺序推荐系统106使用针对客户端设备的每个积极交互的积极项嵌入来生成积极交互图410。
因为没有观察到消极交互,所以顺序推荐系统106没有使用客户端设备的消极交互来生成消极交互图412(例如,消极交互图412保持为空)。相反,顺序推荐系统106利用其他数字内容项来生成消极交互图412。如图4B中所示,顺序推荐系统106利用包括在积极交互图410中的积极项嵌入来确定要包括在消极交互图412中的其他数字内容项的消极项嵌入。
为了说明,在一个或多个实施例中,顺序推荐系统106标识项嵌入空间414内的积极项嵌入。顺序推荐系统106进一步基于距项嵌入空间414内的积极项嵌入的距离来确定(例如,数目为d)消极项嵌入。例如,在一些情况下,顺序推荐系统106将消极项嵌入确定为距项嵌入空间414内的积极项嵌入最远的那些项嵌入。因此,顺序推荐系统106使用所确定的消极项嵌入来生成消极交互图412。
图4C图示了客户端设备在交互会话期间与n个数字内容项中的每一个进行消极交互的场景。因此,顺序推荐系统106确定对于交互会话存在n个消极交互并且没有积极交互。因此,顺序推荐系统106完全基于客户端设备的消极交互(其中d=n)生成完整的消极交互图420。特别地,在一些情况下,顺序推荐系统106使用针对客户端设备的每个消极交互的消极项嵌入来生成消极交互图420。
因为没有观察到积极交互,所以顺序推荐系统106没有使用客户端设备的积极交互来生成积极交互图422(例如,积极交互图422保持为空)。相反,顺序推荐系统106利用其他数字内容项来生成积极交互图422。如图4C中所示,顺序推荐系统106利用包括在消极交互图420中的消极项嵌入来确定要包括在积极交互图422中的其他数字内容项的积极项嵌入。
为了说明,在一个或多个实施例中,顺序推荐系统106标识项嵌入空间424内的消极项嵌入。顺序推荐系统106进一步基于距项嵌入空间424内的消极项嵌入的距离来确定(例如,数目为d)积极项嵌入。例如,在一些情况下,顺序推荐系统106将积极项嵌入确定为距项嵌入空间424内的消极项嵌入最远的那些项嵌入。因此,顺序推荐系统106使用所确定的消极项嵌入来生成积极交互图422。
图4D图示了其中客户端设备在交互会话期间与n个数字内容项中的一些进行积极交互并且与n个数字内容项中的一些进行消极交互的场景。因此,在一个或多个实施例中,顺序推荐系统106部分地使用积极交互来生成积极交互图430并且部分地使用消极交互来生成消极交互图432。
特别地,如图4D中所示,顺序推荐系统106利用与客户端设备与之进行积极交互的数字内容项相对应的积极项嵌入来确定要包括在积极交互图430中的其他数字内容项的附加项嵌入。为了说明,在一个或多个实施例中,顺序推荐系统106在项嵌入空间434内标识与客户端设备与之进行积极交互的数字内容项相对应的积极项嵌入。顺序推荐系统106还基于与项嵌入空间434内的积极项嵌入的接近度来确定一个或多个附加积极项嵌入。例如,在一些情况下,顺序推荐系统106将一个或多个附加积极项嵌入确定为最靠近项嵌入空间434内的积极项嵌入的那些项嵌入。因此,顺序推荐系统106使用所确定的附加积极项嵌入来生成积极交互图430。
类似地,如图4D中所示,顺序推荐系统106利用与客户端设备与之进行消极交互的数字内容项相对应的消极项嵌入来确定要包括在消极交互图432中的其他数字内容项的附加项嵌入。为了说明,在一个或多个实施例中,顺序推荐系统106在项嵌入空间434内标识与客户端设备与之进行消极交互的数字内容项相对应的消极项嵌入。顺序推荐系统106还基于与项嵌入空间434内的消极项嵌入的接近度来确定一个或多个附加消极项嵌入。例如,在一些情况下,顺序推荐系统106将一个或多个附加消极项嵌入确定为最靠近项嵌入空间434内的消极项嵌入的那些项嵌入。因此,顺序推荐系统106使用所确定的附加消极项嵌入来生成消极交互图432。
因此,顺序推荐系统106利用数字内容项之间的关系来增强客户端设备的用户交互。此外,顺序推荐系统106利用增强的用户交互来生成推荐。此外,在一个或多个实施例中,顺序推荐系统106利用在交互会话内发生的客户端设备的每个消极交互来生成消极交互图(如果可用)。当与通常从消极交互中采样或完全忽略消极交互的常规的系统相比时,顺序推荐系统106更详尽地利用与客户端设备相关联的用户偏好的指示,从而导致更准确地捕获那些用户偏好的推荐。
应当注意,上面的讨论特别涉及这样的实例,其中d=n,以使得当交互会话内的每个用户交互是积极的或消极的时,顺序推荐系统106可以生成交互图中的至少一个。然而,在一些实现中,顺序推荐系统106确立d>n,以使得任何一个交互图都不能仅使用来自交互会话的用户交互来生成。因此,在一些实例中,顺序推荐系统106至少部分地使用与客户端设备在交互会话期间未与之进行交互的数字内容项相对应的项嵌入来生成积极交互图和消极交互图。
虽然图4D图示了使用积极项嵌入来生成积极交互图并且使用消极项嵌入来生成消极交互图,但是顺序推荐系统106可以利用积极和消极项嵌入来生成任一交互图。为了说明,在一些情况下,顺序推荐系统106基于与积极项嵌入的接近度和距消极项嵌入的距离来确定用于在生成积极交互图时使用的其他项嵌入。例如,在至少一个实例中,顺序推荐系统106为其他项嵌入确定与积极项嵌入的接近度和距消极项嵌入的距离的加权组合。顺序推荐系统106然后基于加权组合来选择用于在生成积极交互图时使用的项嵌入。因此,顺序推荐系统106选择对应于数字内容项的其他项嵌入,这些数字内容项既与客户端设备与之进行积极交互的数字内容项相似又与客户端设备与之进行消极交互的数字内容项相异。
在一些实例中,顺序推荐系统106利用加权平均。例如,在一些情况下,当生成积极交互图时,顺序推荐系统106更重地加权与积极项嵌入的接近度,以强调与客户端设备与之进行积极交互的那些数字内容项的相似性。在一些情况下,顺序推荐系统106更重地加权距消极项嵌入的距离,以强调与客户端设备与之进行消极交互的那些数字内容项的相异性。在一些情况下,顺序推荐系统106在生成消极交互图时类似地加权与消极项嵌入的接近度或距积极项嵌入的距离。
在一个或多个实施例中,除了使用为特定交互会话所生成的交互图来为后续交互会话生成推荐以外,顺序推荐系统106还利用为先前交互会话所生成的交互图。图4E图示了根据一个或多个实施例的包括来自先前交互会话的交互图在内的多个交互图。
特别地,图4E图示了用于特定交互会话(被标记为tn)的积极交互图440和消极交互图442。此外,图4E图示了用于多个先前交互会话(被标记为t0,t1,...,tn-1)的多个先前积极交互图444A-444n和多个先前消极交互图446A-446n。在一个或多个实施例中,顺序推荐系统106使用来自先前交互会话的用户交互和与如上面所提及的其他数字内容项相对应的项嵌入来生成先前的积极交互图444A-444n和先前的消极交互图446A-446n。
如以下将参考图5A所示,在一些情况下,顺序推荐系统106利用先前的积极交互图444A-444n和先前的消极交互图446A-446n中的一个或多个连同积极交互图440和消极交互图442来确定一个或多个数字内容项以提供用于显示给客户端设备。因此,在一个或多个实施例中,顺序推荐系统106在为后续交互会话生成推荐时合并了客户端设备的大部分(例如,全部)交互历史。
如前面所提及的,在一个或多个实施例中,顺序推荐系统106利用强化学习模型针对客户端设备生成推荐。图5A图示了根据一个或多个实施例的强化学习模型的架构。
在一个或多个实施例中,强化学习模型包括计算机模型或算法,其操作以改进或最大化由在环境内执行动作的代理所获得的奖励。特别地,在一个或多个实施例中,强化学习模型包括计算机算法,该计算机算法实现用于在处于特定状态时选择动作的策略。为了在一个或多个实施例中说明,强化学习模型包括用于基于客户端设备的(多个)状态来确定要提供给客户端设备的一个或多个数字内容项计算机算法。在一些实现中,强化学习模型基于接收到(或者,生成)的关于所选动作的反馈来进一步修改其内部参数。
如图5A中所示,顺序推荐系统106利用具有动作方-评论方框架的强化学习模型500。特别地,强化学习模型500包括动作方模型502和评论方模型504。在一个或多个实施例中,动作方模型包括在处于特定状态时选择或生成动作的计算机模型或算法。例如,在一些实例中,动作方模型包括确定要提供给客户端设备的一个或多个数字内容项的强化学习模型的模型或算法组件。在一些实现中,评论方模型包括提供关于动作的反馈的计算机模型或算法。特别地,在一些实例中,评论方模型包括评估由对应的动作方模型选择或生成的动作的计算机算法。
如图5A中所示,为了生成针对时间步长ti(例如,下一个交互会话)的客户端设备的推荐,强化学习模型500的动作方模型502分析从在先前交互会话ti-1期间客户端设备的用户交互生成的积极交互图506a和消极交互图506b。此外,动作方模型502分析针对先前交互会话ti-1的客户端设备的积极状态508a和消极状态508b。
如前面所提及的,在一个或多个实施例中,客户端设备的状态包括与客户端设备相关联的偏好。特别地,在一个或多个实施例中,客户端设备的状态包括表示客户端设备在特定时间或时间范围(例如,客户端设备的兴趣和/或不感兴趣)的值或值的集合。例如,在一些情况下,客户端设备的状态包括值的集合,其表示客户端设备对其具有确定兴趣的那些数字内容项和/或客户端设备对其确定不感兴趣的那些数字内容项。
在一个或多个实施例中,如上面所讨论的,顺序推荐系统106在客户端设备的积极状态和消极状态之间进行区分。因此,在一些实现中,客户端设备的积极状态包括表示客户端设备对其具有确定兴趣的那些数字内容项的值的集合。同样,在一些情况下,客户端设备的消极状态包括值的集合,其表示客户端设备对其确定不感兴趣的那些数字内容项。
如图5A中进一步所示,动作方模型502针对交互会话ti生成客户端设备的积极状态510a和消极状态510b。特别地,动作方模型502基于为先前交互会话ti-1生成的积极交互图506a和消极交互图506b以及针对先前交互会话ti-1的客户端设备的积极状态508a和消极状态508b来生成积极状态510a和消极状态510b。
如图所示,动作方模型502进一步基于附加的交互图来生成积极状态510a和消极状态510b。实际上,在一些实现中,动作方模型502利用与l个先前交互会话相对应的交互图来生成积极状态510a和消极状态510b。特别地,在一个或多个实施例中,动作方模型502使用针对交互会话ti-1到交互会话ti-l生成的交互图(包括交互图512A-512b和交互图514A-514b)来生成针对交互会话ti的状态。因此,在一些情况下,动作方模型502在针对交互会话ti生成客户端设备的状态时合并了客户端设备的用户交互的历史。在一个或多个实现中,顺序推荐系统106基于用户输入来确立l。
如图5A中所示,动作方模型502利用至少一个卷积门控递归单元神经网络层516来生成客户端设备的积极状态510a和消极状态510b。实际上,如将在图5B中更详细地示出的那样,在一些实施例中,动作方模型502利用多个卷积门控递归单元神经网络层来生成积极状态510a和消极状态510b。在一个或多个实施例中,动作方模型502利用至少一个卷积门控递归单元神经网络层516来根据如下来生成积极状态510a和消极状态510b:
在等式2中,zt表示在时间t处的更新门,rt是在时间t处的重置门,并且ht是在时间t处的更新后的隐藏状态。此外,运算符标示逐元素乘法,并且运算符★标示卷积。在一个或多个实施例中,顺序推荐系统106将客户端设备的状态大小设置为m,即项嵌入的大小。因此,促进了状态和项嵌入之间的矩阵形式的运算。
如图5A中所示,动作方模型502利用客户端设备的积极状态510a和消极状态510b来确定在交互会话交互会话ti期间要提供给客户端设备的一个或多个数字内容项。例如,如图所示,动作方模型确定积极状态510a与项嵌入的集合之间的第一相似性度量。此外,动作方模型确定消极状态510b与项嵌入的集合之间的第二相似性度量。在一个或多个实施例中,相似性度量包括表示状态与项嵌入的集合之间的相似性的值或值的集合。例如,在一些情况下,相似性度量包括Jaccard相似性、Manhatten距离或欧几里得距离或余弦相似性。
实际上,在一个或多个实施例中,动作方模型502通过确定积极状态510a和项嵌入的集合之间的第一余弦相似性A来将第一相似性度量确定为类似地,动作方模型502通过确定消极状态510b和项嵌入的集合之间的第二余弦相似性B来将第二相似性度量确定为
因此,如图5A中所示,动作方模型502基于第一相似性度量和第二相似性度量来确定在交互会话交互会话ti期间要提供给客户端设备的一个或多个数字内容项。例如,如图所示,动作方模型502将第一余弦相似性和第二余弦相似性之间的差异确定为A-B。在一个或多个实施例中,第一余弦相似性和第二余弦相似性分别为在项嵌入的集合内表示的每个数字内容项提供客户端设备的兴趣和不感兴趣的指示。因此,通过确定余弦相似性之间的差异,动作方模型502确定客户端设备的当前兴趣。
实际上,在一个或多个实施例中,利用余弦相似性的差异,动作方模型502确定前n个数字内容项518。特别地,动作方模型502使用项嵌入空间中的项嵌入的集合来确定前n个数字内容项518。例如,在一些情况下,余弦相似性之间的差异指示项嵌入空间内的区域,该区域包含客户端设备可能感兴趣的数字内容项的项嵌入。例如,在一些情况下,该差异指示项嵌入空间内的区域,该区域接近由积极状态510a指示的位置并且远离由消极状态510b指示的位置。
在一个或多个实施例中,动作方模型502对与项嵌入相对应的数字内容项进行排名,该项嵌入在由余弦相似性之间的差异所指示的项嵌入空间的区域附近/内。特别地,动作方模型502基于它们的项嵌入到由积极状态510a所指示的位置的接近度以及它们距由消极状态510b指示的位置的距离来对数字内容项进行排名。此外,动作方模型502标识具有最高排名(或者,最低排名,取决于如何指派排名)的n个数字内容项,并且选择那n个数字内容项以提供给客户端设备。
因此,强化学习模型500通过确定n个数字内容项以提供用于显示来针对客户端设备生成推荐。通过利用该邻域搜索策略,顺序推荐系统106比常规的系统更有效地导航大搜索空间——特别是当n>1时——因为它避免了考虑所有可能的推荐排列。在一个或多个实施例中,顺序推荐系统106将n个数字内容项提供给客户端设备以在交互会话ti期间显示。
在一些实现中,动作方模型502利用神经网络来选择n个数字内容项,而不是利用上述过程来确定要提供给客户端设备的n个数字内容项。例如,在一些情况下,动作方模型502利用经训练的神经网络来分析积极状态510a和消极状态510b。在一些实施例中,动作方模型502进一步利用经训练的神经网络来分析项嵌入的集合。因此,神经网络基于积极状态510a、消极状态510b和项嵌入的集合来生成针对n个数字内容项的推荐。例如,在一些情况下,神经网络输出与要被提供给客户端设备的n个数字内容项相对应的n个项嵌入或n个项嵌入的一些其他指示。
如图5A中所示,动作方模型502还基于被选择用于提供给客户端设备的n个数字内容项来生成动作向量520。如前面所提及的,在一个或多个实施例中,动作向量ai包括表示针对交互会话ti由动作方模型502选择的动作的值向量。例如,在一些实现中,动作向量ai包括表示与所选择的n个数字内容项相对应的项嵌入的值。为了说明,如图5A中所示,动作方模型通过确定与被选择提供给客户端设备的n个数字内容项相对应的项嵌入的均值来确定动作向量520。然而,在一些实现中,动作方模型502通过直接编译包括n个数字内容项的项嵌入的矩阵来确定动作向量520。
如图5A中所图示的,评论方模型504为由动作方模型502选择的动作(即,n个数字内容项)确定值函数522。在一个或多个实施例中,值函数包括对由动作方模型502选择的动作的质量的测量。例如,在一个或多个实施例中,值函数包括被用于测量动作质量的函数。在一些实例中,值函数是指这样一个函数的输出,该输出包括值或值的集合,其指示所测量的动作的质量。
如图5A中所示,评论方模型504利用积极状态510a、消极状态510b和由动作方模型502确定的动作向量520来确定值函数522。例如,如图所示,评论方模型504利用积极状态510a和动作向量520来确定第一状态-动作向量524a。例如,在一个或多个实施例中,评论方模型504组合(例如,级联)积极状态510a和动作向量520以生成第一状态-动作向量524a。类似地,如图所示,评论方模型504利用消极状态510b和动作向量520来确定第二状态-动作向量524b。例如,在一个或多个实施例中,评论方模型504组合(例如,级联)消极状态510b和动作向量520以生成第二状态-动作向量524b。
此外,如图5A中所示,评论方模型504利用第一状态-动作向量524a和第二状态-动作向量524b来确定值函数522。特别地,如图所示,评论方模型504包括多个经校正的线性交互神经网络层。实际上,在一个或多个实施例中,评论方模型504包括神经网络,诸如深度Q网络。然而,在一些实现中,评论方模型504包括Q学习模型。
如图5A中所示,评论方模型504利用经校正的线性交互神经网络层来确定值函数522。为了说明,在一个或多个实施例中,评论方模型504利用第一经校正的线性交互神经网络层526a基于第一状态-动作向量524a来确定特征值的第一的集合。另外,评论方模型504利用第二经校正的线性交互神经网络层526b基于第二状态-动作向量524b来确定特征值的第二的集合。
在一个或多个实施例中,特征值包括隐藏或潜在特征。在一些实现中,特征值包括从状态-动作向量提取或以其他方式确定的隐藏或潜在特征。为了说明,在一些实施例中,特征值包括表示客户端设备的状态和/或所选动作(例如,被选择用于提供给客户端设备的数字内容项)的属性或特性的值。例如,在一些情况下,特征值包括与与客户端设备相关联的用户特征/偏好相关的值。
如图5A中进一步所示,评论方模型利用第三经校正的线性交互神经网络层526c基于特征值的第一的集合和特征值的第二的集合来确定值函数522。因此,评论方模型504评估由动作方模型502选择的动作。特别地,评论方模型504评估被选择用于传输到客户端设备的n个数字内容项如何满足与由积极状态510a和消极状态510b所表示的客户端设备相关联的偏好/兴趣。
如图5A中所示,强化学习模型500将值函数522反向传播到动作方模型502(如虚线528所示)。特别地,强化学习模型500利用值函数522来修改动作方模型502的参数(例如,至少一个卷积门控递归单元神经网络层516的参数)。
在一个或多个实施例中,顺序推荐系统106利用具有修改后的参数的强化学习模型500针对交互会话ti+1生成推荐。实际上,在一些实现中,顺序推荐器系统106监测客户端设备与针对交互会话ti推荐的n个数字内容项的附加用户交互。基于附加用户交互,顺序推荐系统106利用具有修改后的参数的强化学习模型500针对交互会话ti+1生成附加推荐。因此,顺序推荐系统106可以迭代地利用强化学习模型500来使用动作方模型502针对客户端设备生成推荐,使用评论方模型504评估推荐,然后基于由评论方模型504提供的评估来修改动作方模型502的参数。以这种方式,顺序推荐系统106可以连续地更新其参数(和数字内容选择策略)。
通过使用项嵌入——诸如经由协同过滤所生成的项嵌入——和强化学习,顺序推荐系统106比常规的系统操作得更灵活。例如,顺序推荐系统106既利用数字内容项之间的关系又适应动态用户偏好。通过利用这些特征,顺序推荐系统106进一步生成更准确地反映与客户端设备相关联的偏好的推荐。
此外,顺序推荐系统106更有效地操作。实际上,通过利用项嵌入,顺序推荐系统106缩小了关于数字内容项的搜索空间。另外,顺序推荐系统106利用神经网络来近似最优策略,而不是完整地确定最优策略。因此,顺序推荐系统106保留了计算资源并且可以以更快的速度进行操作。这允许更大的可扩展性,并且与常规的系统相比,顺序推荐系统106更实际地部署在具有大状态和动作空间的环境中。
如上面所提及的,在一个或多个实施例中,强化学习模型500(即,动作方模型502)利用多个卷积门控递归单元神经网络层来生成用于客户端设备的积极状态510a和消极状态510b。图5B图示了根据一个或多个实施例的用于生成客户端设备的积极状态和消极状态的多个卷积门控递归单元神经网络层。
实际上,如图5B中所示,强化学习模型500包括第一卷积门控递归单元神经网络层530和第二卷积门控递归单元神经网络层532。在一个或多个实施例中,第一和第二卷积门控递归单元神经网络层530、532是独立的,并且不共享权重。然而,在一些实现中,第一和第二卷积门控递归单元神经网络层530、532确实共享权重或至少具有公共权重的集合。
如进一步所示,强化学习模型500利用第一卷积门控递归单元神经网络层530来生成积极状态510a并且利用第二卷积门控递归单元神经网络层532来生成消极状态510b。特别地,强化学习模型500利用第一卷积门控递归单元神经网络层530通过分析针对先前交互会话ti-1的客户端设备的积极状态508a和针对l个先前交互会话的积极交互图来生成积极状态510a。类似地,强化学习模型利用第二卷积门控递归单元神经网络层532通过分析针对先前交互会话ti-1的客户端设备的消极状态508b和针对l个先前交互会话的消极交互图来生成消极状态510b。因此,在一些实现中,强化学习模型500独立地确定积极状态510a和消极状态510b。
在一个或多个实施例中,顺序推荐系统106使用双延迟深度确定性策略梯度(TD3)算法来训练强化学习模型500。特别地,顺序推荐系统106利用TD3算法来克服在可以被用来训练此类模型的深度确定性策略梯度(DDPG)算法中常见的值函数的高估。值函数的高估常常导致次优策略或灾难性遗忘。例如,在实现TD3算法时,顺序推荐系统106通过学习两个值函数(即,评论方模型)而不是一个,并且采取两个值函数中的最小者来形成贝尔曼误差损失函数中的目标,从而实现裁剪的双Q学习。另外,顺序推荐系统106应用延迟的策略更新,从而更新策略(和目标网络)的频率低于值函数。例如,在一些实现中,顺序推荐系统106在每两个值函数更新之后更新一次策略以进行更稳定且有效的训练。此外,顺序推荐系统106通过向目标动作添加噪声来实现目标策略平滑,以防止策略利用值函数错误。
下面呈现的算法是顺序推荐系统106如何实现TD3算法来训练强化学习模型的另一特征化。
算法
初始化目标网络θ′1←θ1,θ′2←θ2,φ′←φ
对于t=1到T,进行
观察奖励r和新状态s′
计算目标动作
计算目标
使用下式通过梯度下降一步来更新Q函数
如果t mod policy_delay=0那么
使用下式通过梯度上升一步来更新策略
更新目标网络
φtart,i←ρφtarg,i+(1-ρ)φi for i=1,2
θtarg←ρθtarg+(1-ρ)θ
end if
end for
在该算法中,用于更新Q函数的行涉及更新在训练中利用的评论方模型。此外,用于更新策略的行涉及更新强化学习模型的动作方模型。
因此,在一个或多个实施例中,顺序推荐系统106通过训练动作方模型和评论方模型两者来训练强化学习模型。特别地,顺序推荐系统106通过训练迭代来更新它们的参数从而训练动作方和评论者模型。
在一些实现中,顺序推荐系统106在训练过程中利用历史数据。例如,在一些情况下,顺序推荐系统106利用历史训练数据,该历史训练数据包括客户端设备与数字内容项的训练交互以及反映客户端设备与针对给定交互会话的推荐数字内容项的交互的真实数据。顺序推荐系统106利用训练交互来确定使用强化学习模型的动作方模型的预测推荐。顺序推荐系统106进一步利用预测推荐(和对应的预测状态)来使用评论方模型来确定预测值函数。顺序推荐系统106(例如,经由损失函数)将预测值函数与指示客户端设备如何与预测推荐的数字内容项交互的真实数据进行比较。因此,顺序推荐系统106在确定值函数时确定评论方模型的损失(例如,错误)。顺序推荐系统106将所确定的损失反向传播到评论方模型和/或动作方模型以更新它们各自的参数。在一些实现中,顺序推荐系统106进一步将预测的推荐与反映应已被推荐的一个或多个数字内容项的真实数据进行比较(例如,通过损失函数),并且将确定的损失反向传播到动作方模型以更新其相应参数。通过各种迭代,顺序推荐系统106确立有助于准确推荐和/或值函数的参数。
在一个或多个实施例中,在训练过程之后,顺序推荐系统106进一步利用经训练的模型来针对客户端设备生成推荐。顺序推荐系统106利用评论方模型来评估每个推荐,然后基于评估进一步修改动作方模型的参数。
如上面所提及的,在一个或多个实施例中,顺序推荐系统106比常规的系统操作得更准确。研究人员进行了研究以确定顺序推荐系统106的各种实施例的准确性。图6图示了为了确定顺序推荐系统106的有效性而利用的顺序推荐系统106的各种实施例的表。
如图6中所示,顺序推荐系统106的第一实施例(被标记为“Ours(-N)(-F)”)不整合消极反馈(即,消极交互)。此外,第一实施例包括处理积极交互的单个卷积门控递归单元神经网络层。顺序推荐系统106的第二实施例(被标记为“Ours(+N)(-F)”)合并了消极反馈和积极反馈。第二实施例还包括处理积极反馈和消极反馈的单个卷积门控递归单元神经网络层。在第一和第二实施例中,单个数字内容项被用于与客户端设备进行交互。如图6中进一步所示,顺序推荐系统106的第三实施例(被标记为“Ours(+N)(+F)(d)”)合并了消极反馈和数字内容项之间的关系。值d表示在每个交互图中要被整合或要被表示的数字内容项的最大数目。如下所示,研究人员在研究中实现了Ours(+N)(+F)(d)模型的一种变型,其中d=3;和另一种实现,其中d=5(被标记为“Ours(+N)(+F)(3)”和“Ours(+N)(+F)(5)”)。
在研究中,研究人员比较了顺序推荐系统106的不同实施例的性能与通常被用于常规的推荐系统中的各种基线模型的性能。例如,研究人员比较了分解机器模型(被标记为“FM”)的性能,该模型利用了对数字内容项的选定特征进行线性组合的一阶交互以及在每组特征之间的二阶或成对交互。另外,研究人员还比较了一个广泛和深度模型(被标记为“WDL”)的性能,该模型包括组合了特征的线性模型和捕获高阶特征交互的深度组件(例如,前馈神经网络)。此外,研究人员比较了深度分解机器模型(被标记为“DeepFM”)的性能,该模型对低阶和高阶特征交互进行建模。此外,研究人员比较了深度分解机器模型的变型(被标记为“xDeepFM”)的性能,该模型包括用于在向量模型中对特征交互进行建模的压缩交互网络组件。另外,研究人员比较了混合逻辑回归模型(被标记为“MLR”)的性能,该模型实现了分段线性模型和L1和L2,1正则化器。研究人员此外还比较了线性置信上限模型(被标记为“LinUCB”)和混合LinUCB模型(被标记为“HlinUCB”)的性能。
研究人员利用三个数据集来执行研究:来自数字营销推荐服务的Adobe数据集;来自Amazon 2014公开可用数据集的CD和Vinyl类别;和MovieLens 1M的公开可用数据集。在这些数据集中,交互是不同尺度的评级形式。对于每个数据库,研究人员都确立了阈值,其中等于或高于阈值的评分将被视为积极互动,低于阈值的评分将被视为消极互动。研究人员为积极互动指派了5分奖励,并且为消极互动指派了0分奖励。
然而,LinUCB和HInUCB模型合并了时间复杂性,所以研究人员进行了一系列研究。研究的第一集合排除了LinUCB和HInUCB模型,并且评估其余模型在完整数据集上的性能。研究的第二集合包括LinUCB和HInUCB模型,并且评估数据集的子集的性能。图7A图示了反映在研究的第一集合中使用的数据集的统计数据的表。图7B图示了反映在研究的第二集合中使用的数据集的子集的统计数据的表。特别地,在选择用于研究的第二集合的数据子集时,研究人员选择了交互次数最多的200个数字内容项,并且基于这些数字内容项修剪其余数据。
图8A-图8B图示了根据一个或多个实施例的反映关于顺序推荐系统106的有效性的实验结果的表。特别地,图8A的表反映了比较顺序推荐系统106的各种实施例在图7A中所示的完整数据集上的性能的实验结果。图8B的表反映了比较顺序推荐系统106的各种实施例在图7B中所示的数据集的子集上的性能的实验结果。
如图8A-图8B中所示,表使用精度、召回率、F1分数、平均精度(MAP)和归一化折扣累积增益(NDCG)来衡量每个模型的性能。对于每个度量,研究人员设置k=10。此外,研究人员在每个交互会话中都包括单个数字内容项。图8B中表示的LinUCB和HInUCB模型以及顺序推荐系统106的各种实施例在每个时间戳预测单个数字内容项。研究人员为其他模型选择了由测试数据中的可用真实数据所计算的前k个项和度量。
如由图8A-图8B的表所示,顺序推荐系统106提供优于通常由常规的系统所实现的其他模型的改进性能。关于若干度量,顺序推荐系统106执行得明显更好。值得注意的是,Ours(+N)(+F)(3)和Ours(+N)(+F)(5)模型在几乎所有度量中在所有测试模型中都提供了最佳性能,其中Ours(+N)(+F)(5)模型实现了每个度量的最高值。因此,如表所图示的,在推荐过程中合并消极反馈和数字内容项之间的关系提供了常规的推荐系统的显著优势。
图9A-图9B图示了根据一个或多个实施例的反映关于顺序推荐系统106的有效性的附加实验结果的图。特别地,研究人员使用DeepFM模型在整个数据集上训练了用于评级预测的模拟器,并且进行了微调以提高模拟器预测未知评级的准确性。研究人员利用模拟器而不是真实用户来估计与数字内容项的交互。研究人员利用了两个不同的会话长度,并且计算了顺序推荐系统106的每个测试实施例的累积奖励。
图9A图示了示出所有用户在十个连续交互会话中的累积奖励的图。图9B图示了示出用户在五十个连续交互会话中的累积奖励的图。如两个图所示,包含负反馈和数字内容项之间关系的模型(即,Ours(+N)(+F)(3)和Ours(+N)(+F)(5)模型))表现明显更好。
现在转到图10,现在将提供关于顺序推荐系统106的各种组件和能力的附加细节。特别地,图10图示了由计算设备1000(例如,上面参考图1讨论的(多个)服务器102和/或客户端设备110A-110n之一)实现的顺序推荐系统106。另外,顺序推荐系统106也是内容分发系统104的一部分。如图所示,在一个或多个实施例中,顺序推荐系统106包括但不限于用户交互监测管理器1002、项嵌入生成器1004、交互图生成器1006、强化学习模型训练管理器1008、强化学习模型应用管理器1010、数字内容项提供管理器1012和数据存储装置1014(其包括数字内容项1016、项嵌入1018和交互图1020)。
如刚刚提及的,并且如图10中所图示的,顺序推荐系统106包括用户交互监测管理器1002。在一个或多个实施例中,用户交互监测管理器1002在交互会话期间监测客户端设备与多个数字内容项的一个或多个数字内容项的用户交互。在一些实施例中,用户交互监测管理器1002确定特定用户交互是积极交互还是消极交互。例如,在交互包括对数字内容项的评级的一些情况下,用户交互监测管理器1002确定该评级是否满足阈值以有资格作为积极交互。
另外,如图10中所示,顺序推荐系统106包括项嵌入生成器1004。在一个或多个实施例中,项嵌入生成器1004针对多个数字内容项生成项嵌入的集合。例如,在一些实例中,项嵌入生成器1004生成协同过滤项嵌入。在一些情况下,项嵌入生成器1004针对多个数字内容项生成图嵌入。
另外,如图10中所示,顺序推荐系统106包括交互图生成器1006。在一个或多个实施例中,交互图生成器1006从用户交互监测管理器1002观察到的用户交互生成交互图。例如,在一些情况下,交互图生成器1006从每个积极交互生成积极交互图和/或从每个消极交互生成消极交互图。在一些实现中,交互图生成器1006还利用对应于其他数字内容项的项嵌入来生成交互图。
如图10中所示,顺序推荐系统106还包括强化学习模型训练管理器1008。在一个或多个实施例中,强化学习模型训练管理器1008训练强化学习模型以生成针对一个或多个数字内容项的推荐给客户端设备。例如,在一个或多个实施例中,强化学习模型训练管理器1008利用上面概述的TD3算法来训练强化学习模型。
另外,如图10中所示,顺序推荐系统106包括强化学习模型应用管理器1010。在一个或多个实施例中,强化学习模型应用管理器1010利用由强化学习模型训练管理器1008训练的强化学习模型来针对客户端设备生成推荐。特别地,在一些实现中,强化学习模型应用管理器1010利用强化学习模型来基于由用户交互监测管理器1002观察到的用户交互、由项嵌入生成器1004生成的项嵌入以及由交互图生成器1006生成的交互图来生成推荐。在一些实施例中,强化学习模型应用管理器1010进一步利用强化学习模型来评估所生成的推荐并且基于该评估进一步修改强化学习模型的参数。
如图10中所示,顺序推荐系统106还包括数字内容项提供管理器1012。在一个或多个实施例中,数字内容项提供管理器1012提供由强化学习模型推荐的数字内容项以经由客户端设备显示。
此外,如图10中所示,顺序推荐系统106包括数据存储装置1014。特别地,数据存储装置1014可以被实现为一个或多个存储设备的一部分,该存储设备包括数字内容项1016、项嵌入1018和交互图1020。在一个或多个实施例中,数字内容项1016存储多个数字内容项,包括被提供用于经由客户端设备显示的数字内容项。在一个或多个实施例,项嵌入1018存储由项嵌入生成器1004生成的项嵌入。在一些实现中,交互图1020存储由交互图生成器1006生成的交互图。
顺序推荐系统106的组件1002-1020中的每一个可以包括软件、硬件或两者。例如,组件1002-1020可以包括存储在计算机可读存储介质上并且可以由诸如客户端设备或服务器设备之类的一个或多个计算设备的处理器执行的一个或多个指令。在由一个或多个处理器执行时,顺序推荐系统106的计算机可执行指令可以使(多个)计算设备执行本文中所描述的方法。备选地,组件1002-1020可以包括硬件,诸如用于执行特定功能或功能组的专用处理设备。备选地,顺序推荐系统106的组件1002-1020可以包括计算机可执行指令和硬件的组合。
此外,顺序推荐系统106的组件1002-1020可以例如被实现为一个或多个操作系统、一个或多个独立应用、应用的一个或多个模块、一个或多个插件、一个或多个库函数或者可以由其他应用调用的函数、和/或被实现为云计算模型。因此,顺序推荐系统106的组件1002-1020可以被实现为独立的应用,诸如桌面或移动应用。此外,顺序推荐系统106的组件1002-1020可以被实现为托管在远程服务器上的一个或多个基于网络的应用。备选地或附加地,顺序推荐系统106的组件1002-1020可以被实现在移动设备应用或“app”套件中。例如,在一个或多个实施例中,顺序推荐系统106可以包括数字软件应用或与其结合来进行操作,诸如TARGET或MARKETING前述是Adobe Inc.在美国和/或其他国家/地区的注册商标或商标。
参考图1-图10,对应的文本和示例提供了顺序推荐系统106的许多不同的方法、系统、设备和非暂态计算机可读介质。除了前述以外,还可以根据包括用于完成特定结果的动作的流程图来描述一个或多个实施例,如图11中所示。图11可以用更多或更少的动作来执行。另外,可以以不同的顺序执行这些动作。此外,本文中所描述的动作可以彼此并行地重复或执行,或者与相同或相似动作的不同实例并行地重复或执行。
图11图示了根据一个或多个实施例的用于确定要提供给客户端设备的一个或多个数字内容项的一系列动作1100的流程图。尽管图11图示了根据一个实施例的动作,但是备选实施例可以省略、添加、重新排序和/或修改图11中所示的任何动作。在一些实现中,图11的动作作为方法的一部分被执行。例如,在一些实施例中,作为用于为计算设备准确地选择数字内容项的计算机实现方法的一部分,在用于传播数字内容的数字媒体环境中执行这些动作。在一些实例中,非暂态计算机可读介质在其上存储指令,该指令在由至少一个处理器执行时使计算设备执行图11的动作。在一些实现中,系统执行图11的动作。例如,在一种或多种情况下,系统包括一个或多个存储器设备,该存储器设备包括强化学习模型,该强化学习模型包括动作方模型和评论方模型。该系统还包括一个或多个服务器设备,该服务器设备被配置为使系统执行图11的动作。
一系列动作1100包括生成项嵌入的动作1102,该项嵌入对与多个数字内容项的交互进行编码。例如,在一些实施例中,动作1102涉及针对多个数字内容项生成对跨客户端设备的、与多个数字内容项相关联的交互进行编码的项嵌入的集合。在一些实现中,顺序推荐系统106利用分解机器神经网络来生成项嵌入的集合。
如图10中所示,动作1102包括生成协同过滤项嵌入的子动作1104。实际上,在一个或多个实施例中,顺序推荐系统106经由协同过滤或图嵌入以对跨客户端设备的、与多个数字内容项相关联的交互进行编码,来针对多个数字内容项生成项嵌入的集合。
如图10中进一步所示,动作1102包括生成图嵌入的备选子动作1106。例如,在一个或多个实施例中,顺序推荐系统106通过生成对跨客户端设备的、与多个数字内容项相关联的交互进行编码的图嵌入来针对多个数字内容项生成项嵌入的集合。
此外,一系列动作1100包括监测与一个或多个数字内容项的用户交互的动作1108。例如,在一些实现中,动作1108涉及在交互会话期间监测客户端设备与来自多个数字内容项的一个或多个数字内容项的用户交互。
另外,一系列动作1100包括利用项嵌入从用户交互确定交互图的动作1110。例如,在一些情况下,动作1110涉及在交互会话期间利用项嵌入的集合、消极交互图和积极交互图来(例如,从每个消极交互中)确定客户端设备的用户交互。在一个或多个实施例中,顺序推荐系统106通过在不对消极交互的子集进行采样的情况下确定消极交互图,在交互会话期间从来自客户端设备的用户交互的每个消极交互确定消极交互图。
如图10中所示,动作1110包括利用消极项嵌入来生成消极交互图的子动作1112。例如,在一个或多个实施例中,顺序推荐系统106通过如下操作利用项嵌入的集合从来自用户交互的每个消极交互确定消极交互图:通过针对来自用户交互的每个消极交互确定项嵌入来确定一个或多个消极项嵌入;基于与项嵌入空间内的一个或多个消极项嵌入的接近度来确定一个或多个附加消极项嵌入;并且利用一个或多个消极项嵌入和一个或多个附加消极项嵌入来生成消极交互图。
如图10中进一步所示,动作1110包括利用积极项嵌入来生成积极交互图的备选子动作1114。例如,在一个或多个实施例中,顺序推荐系统106通过如下操作利用项嵌入的集合从来自用户交互的每个消极交互确定积极交互图:通过针对来自用户交互的每个消极交互确定项嵌入来确定一个或多个消极项嵌入;基于距项嵌入空间内的一个或多个消极项嵌入的距离来确定一个或多个积极项嵌入;并且利用一个或多个积极项嵌入来生成积极交互图。作为另一示例,在一个或多个实施例中,顺序推荐系统106通过如下操作利用项嵌入的集合来确定积极交互图:通过针对来自用户交互的每个积极交互确定项嵌入来确定一个或多个积极项嵌入;基于与项嵌入空间内的一个或多个积极项嵌入的接近度来确定一个或多个附加积极项嵌入;并且使用一个或多个积极项嵌入和一个或多个附加积极项嵌入来生成积极交互图。
一系列动作1100还包括动作1116,确定附加数字内容项以提供用于显示。例如,在一个或多个实施例中,该动作涉及:利用强化学习模型,基于项嵌入的集合、消极交互图和积极交互图从多个数字内容项确定一个或多个附加数字内容项以提供用于显示。
在一个或多个实施例中,顺序推荐系统106通过如下操作利用强化学习模型确定一个或多个附加数字内容项:利用强化学习模型的第一卷积门控递归单元神经网络层,基于消极交互图来生成针对客户端设备的消极状态;并且利用强化学习模型的第二卷积门控递归单元神经网络层,基于积极交互图来生成针对客户端设备的积极状态。在一些实例中,顺序推荐系统106还通过如下操作利用强化学习模型确定一个或多个附加数字内容项:利用强化学习模型,基于消极状态、积极状态和项嵌入的集合来确定一个或多个附加数字内容项。在一些实例中,顺序推荐系统106通过如下操作利用强化学习模型基于消极状态、积极状态和项嵌入的集合来确定一个或多个附加数字内容项:在积极状态和项嵌入的集合之间生成第一相似性度量;在消极状态和项嵌入的集合之间生成第二相似性度量;并且利用第一相似性度量和第二相似性度量来确定一个或多个附加数字内容项。
在一些实施例中,一系列动作1100还包括用于修改强化学习模型和使用修改后的强化学习模型来确定针对客户端设备的更多数字内容项的动作。例如,在一些实现中,动作包括:通过利用强化学习模型的动作方模型确定一个或多个附加数字内容项,利用强化学习模型确定一个或多个附加数字内容项;利用强化学习模型的评论方模型确定针对一个或多个附加数字内容项的值函数,该评论方模型包括多个经校正的线性交互神经网络层;并且使用值函数来修改强化学习模型的参数。在一些情况下,动作还包括:在附加交互会话期间监测客户端设备与一个或多个附加数字内容项的附加用户交互;并且利用具有修改后的参数的强化学习模型,基于项嵌入的集合和附加用户交互从多个数字内容项确定一个或多个其他数字内容项以提供用于显示。
为了提供说明,在一个或多个实施例中,顺序推荐系统106在交互会话期间监测客户端设备与来自多个数字内容项的一个或多个数字内容项的用户交互;利用对跨客户端设备的、与多个数字内容项的交互进行编码的项嵌入的集合,在交互会话期间从客户端设备的用户交互确定消极交互图和积极交互图;利用强化学习模型的卷积门控递归单元神经网络层,基于消极交互图来生成针对客户端设备的消极状态并且基于积极交互图来生成针对客户端设备的积极状态;利用强化学习模型,基于项嵌入的集合、消极状态和积极状态,从多个数字内容项确定一个或多个附加数字内容项;并且提供一个或多个附加数字内容项以用于经由客户端设备显示。
在一些实现中,顺序推荐系统106确定针对客户端设备的先前消极状态和针对客户端设备的先前积极状态;并且利用强化学习模型的卷积门控递归单元神经网络层,基于先前消极状态来生成针对客户端设备的消极状态并且基于先前积极状态来生成针对客户端设备的积极状态。
在一些情况下,顺序推荐系统106通过如下操作在交互会话期间利用项嵌入的集合来确定来自客户端设备的用户交互的消极交互图:通过针对来自用户交互的每个积极交互确定项嵌入来确定一个或多个积极项嵌入;基于距项嵌入空间内的一个或多个积极项嵌入的距离来确定一个或多个消极项嵌入;并且利用一个或多个消极项嵌入来生成消极交互图。
为了提供另一示例,在一个或多个实施例中,顺序推荐系统106在交互会话期间从客户端设备与来自多个数字内容项的一个或多个数字内容项的用户交互生成交互图;利用强化学习模型的动作方模型并且基于交互图,确定针对客户端设备的积极状态、针对客户端设备的消极状态以及来自多个数字内容项的一个或多个附加数字内容项以提供用于经由客户端设备显示;并且利用强化学习模型的评论方模型来通过如下操作生成用于修改动作方模型的参数的值函数:利用积极状态确定第一状态-动作向量并且利用消极状态确定第二状态-动作向量;基于第一状态-动作向量和第二状态-动作向量来生成值函数。
在一些情况下,顺序推荐系统106通过如下操作基于第一状态-动作向量和第二状态-动作向量来生成值函数:利用第一校正线性交互神经网络层,基于第一状态-动作向量来确定特征值的第一的集合;利用第二经校正的线性交互神经网络层,基于第二状态-动作向量来确定特征值的第二的集合;并且利用第三经校正的线性交互神经网络层,基于特征值的第一的集合和特征值的第二的集合来生成值函数。
在一些情况下,顺序推荐系统106通过如下操作利用积极状态确定第一状态-动作向量并且利用消极状态确定第二状态-动作向量:利用积极状态和一个或多个附加数字内容项来确定第一状态-动作向量;并且利用消极状态和一个或多个附加数字内容项来确定第二状态-动作向量。在一些实现中,顺序推荐系统106利用与一个或多个附加数字内容项相对应的项嵌入来生成动作向量;通过组合动作向量和积极状态来确定第一状态-动作向量,利用积极状态和一个或多个附加数字内容项来确定第一状态-动作向量;并且通过组合动作向量和消极状态来确定第二状态-动作向量,利用消极状态和一个或多个附加数字内容项来确定第二状态-动作向量。
在一些情况下,顺序推荐系统106进一步在附加交互会话期间监测客户端设备与一个或多个附加数字内容项的附加用户交互;并且利用具有修改后的参数的动作方模型,基于附加用户交互从多个数字内容项确定一个或多个其他数字内容项以提供用于显示。
本公开的实施例可以包括或利用包括计算机硬件的专用或通用计算机,诸如例如一个或多个处理器和系统存储器,如下文更详细讨论的。本公开范围内的实施例还包括用于携带或存储计算机可执行指令和/或数据结构的物理和其他计算机可读介质。特别地,本文中所描述的一个或多个过程可以至少部分地被实现为体现在非暂态计算机可读介质中并且可以由一个或多个计算设备(例如,本文中所描述的任何媒体内容访问设备)执行的指令。一般来说,处理器(例如,微处理器)从非暂态计算机可读介质(例如,存储器)接收指令,并且执行那些指令,从而执行一个或多个过程,包括本文中所描述的一个或多个过程。
计算机可读介质可以是可以由通用或专用计算机系统访问的任何可用介质。存储计算机可执行指令的计算机可读介质是非暂态计算机可读存储介质(设备)。承载计算机可执行指令的计算机可读介质是传输介质。因此,作为示例而非限制,本公开的实施例可以包括至少两种截然不同的计算机可读介质:非暂态计算机可读存储介质(设备)和传输介质。
非暂态计算机可读存储介质(设备)包括RAM、ROM、EEPROM、CD-ROM、固态驱动器(“SSD”)(例如,基于RAM)、闪存、相变存储器(“PCM”)、其他类型的存储器、其他光盘存储装置、磁盘存储装置、或者其他磁存储设备,或者可以被用来存储计算机可执行指令或数据结构形式的所需程序代码并且可以通过通用或专用计算机访问的任何其他介质。
“网络”被定义为使得能够在计算机系统和/或模块和/或其他电子设备之间传送电子数据的一个或多个数据链路。当信息通过网络或其他通信连接(有线、无线或者有线或无线的组合)而被传送或提供给计算机时,计算机会将连接正确地视为传输介质。传输介质可以包括网络和/或数据链路,其可以被用来以计算机可执行指令或数据结构的形式携带所需程序代码部件并且可以由通用或专用计算机访问。上述的组合也应被包括在计算机可读介质的范围内。
此外,在到达各种计算机系统组件时,计算机可执行指令或数据结构形式的程序代码部件可以从传输介质被自动传送到非暂态计算机可读存储介质(设备)(反之亦然)。例如,通过网络或数据链路接收的计算机可执行指令或数据结构可以被缓存在网络接口模块(例如,“NIC”)内的RAM中,然后最终被传送到计算机系统RAM和/或计算机系统中易失性较小的计算机存储介质(设备)。因此,应当理解,非暂态计算机可读存储介质(设备)可以被包括在也(或者,者甚至主要)利用传输介质的计算机系统组件中。
计算机可执行指令包括例如指令和数据,该指令和数据在由处理器执行时使通用计算机、专用计算机或专用处理设备执行特定功能或功能组。在一些实施例中,计算机可执行指令在通用计算机上被执行以将通用计算机变成实现本公开的元件的专用计算机。计算机可执行指令例如可以是二进制、中间格式指令(诸如,汇编语言)或者甚至源代码。尽管已以特定于结构特征和/或方法动作的语言描述了主题,但是应当理解,在所附权利要求中定义的主题不一定限于上述描述的特征或动作。相反,所描述的特征和动作作为实现权利要求的示例形式而被公开。
本领域技术人员将了解,本公开可以在具有多种类型的计算机系统配置的网络计算环境中被实践,其包括个人计算机、台式计算机、膝上型计算机、消息处理器、手持设备、多处理器系统、基于微处理器或可编程的消费电子产品、网络PC、小型计算机、大型计算机、移动电话、PDA、平板计算机、寻呼机、路由器、交换机等。本公开还可以在分布式系统环境中被实践,其中都执行任务的本地和远程计算机系统通过网络链接(通过硬连线数据链路、无线数据链路或者通过硬连线和无线数据链路的组合)。在分布式系统环境中,程序模块可以位于本地和远程存储器存储设备中。
本公开的实施例也可以在云计算环境中被实现。在本描述中,“云计算”被定义为一种用于实现对可配置计算资源的共享池的按需网络访问的模型。例如,可以在市场中采用云计算来提供对可配置计算资源的共享池的无处不在且便利的按需访问。可配置计算资源的共享池可以经由虚拟化来快速部署,并且以较低的管理工作量或服务提供商交互而被释放,然后相应地进行扩展。
云计算模型可以由各种特性组成,诸如例如按需自助服务、广泛网络访问、资源池、快速弹性、可测量服务等。云计算模型还可以公开各种服务模型,诸如例如软件即服务(“SaaS”)、平台即服务(“PaaS”)和基础设施即服务(“IaaS”)。云计算模型也可以使用不同的部署模型来进行部署,诸如私有云、社区云、公共云、混合云等。在本说明书中和权利要求书中,“云计算环境”是采用云计算的环境。
图12图示了示例计算设备1200的框图,该示例计算设备1200可以被配置为执行上述过程中的一个或多个。人们将了解,诸如计算设备1200的一个或多个计算设备可以表示上述计算设备(例如,(多个)服务器102、客户端设备110A-110n和/或第三方服务器114)。在一个或多个实施例中,计算设备1200可以是移动设备(例如,移动电话、智能电话、PDA、平板计算机、膝上型计算机、相机、跟踪器、手表、可穿戴设备)。在一些实施例中,计算设备1200可以是非移动设备(例如,台式计算机或另一类型的客户端设备)。此外,计算设备1200可以是包括基于云的处理和存储能力的服务器设备。
如图12中所示,计算设备1200可以包括一个或多个处理器1202、存储器1204、存储设备1206、输入/输出接口1208(或者,“I/O接口1208”)和通信接口1210,它们可以通过通信基础设施(例如,总线1212)而可通信地耦接。虽然计算设备1200在图12中被示出,但是图12中所示的组件不旨在进行限制。在其他实施例中可以使用附加的或替代的组件。此外,在某些实施例中,计算设备1200包括比图12中所示的那些组件更少的组件。现在将更加详细地描述图12中所示的计算设备1200的组件。
在特定实施例中,(多个)处理器1202包括用于执行指令的硬件,诸如构成计算机程序的那些。作为示例而非限制,为了执行指令,(多个)处理器1202可以从内部寄存器、内部高速缓存、存储器1204或存储设备1206取回(或者,提取)指令并对它们进行解码和执行。
计算设备1200包括存储器1204,其耦接到处(多个)理器1202。存储器1204可以被用于存储数据、元数据和由(多个)处理器执行的程序。存储器1204可以包括易失性和非易失性存储器中的一个或多个,诸如随机存取存储器(“RAM”)、只读存储器(“ROM”)、固态盘(“SSD”)、闪存、相变存储器(“PCM”)或其他类型的数据存储装置。存储器1204可以是内部存储器或分布式存储器。
计算设备1200包括存储设备1206,该存储设备1206包括用于存储数据或指令的存储装置。作为示例而非限制,存储设备1206可以包括上述的非暂态存储介质。存储设备1206可以包括硬盘驱动器(HDD)、闪存、通用串行总线(USB)驱动器或这些或其他存储设备的组合。
如图所示,计算设备1200包括一个或多个I/O接口1208,提供这些I/O接口以允许用户向计算机提供输入(诸如,用户笔划)、接收来自计算设备1200的输出、以及以其他方式将数据传送去往或来自计算设备1200。这些I/O接口1208可以包括鼠标、小键盘或键盘、触摸屏、相机、光学扫描仪、网络接口、调制解调器、其他已知的I/O设备或这些I/O接口1208的组合。触摸屏可以用手写笔或手指来激活。
I/O接口1208可以包括用于向用户呈现输出的一个或多个设备,包括但不限于图形引擎、显示器(例如,显示屏)、一个或多个输出驱动器(例如,显示器驱动器)、一个或多个音频扬声器以及一个或多个音频驱动器。在某些实施例中,I/O接口1208被配置为向显示器提供图形数据以呈现给用户。图形数据可以表示一个或多个图形用户界面和/或可以服务于特定实现的任何其他图形内容。
计算设备1200还可以包括通信接口1210。通信接口1210可以包括硬件、软件或两者。通信接口1210为计算设备与一个或多个其他计算设备或一个或多个网络之间的通信(诸如,例如,基于分组的通信)提供一个或多个接口。作为示例而非限制,通信接口1210可以包括用于与以太网或其他基于有线的网络进行通信的网络接口控制器(NIC)或网络适配器,或者用于与诸如WI-FI之类无线网络的进行通信的无线NIC(NIC)或无线适配器。计算设备1200还可以包括总线1212。总线1212可以包括将计算设备1200的组件相互连接的硬件、软件或两者。
在前述说明书中,已参考本发明的特定示例实施例描述了本发明。参考本文中所讨论的细节描述了(多个)本发明的各种实施例和方面,并且附图图示了各种实施例。上面的描述和附图是对本发明的说明,并且不应被解释为限制本发明。描述了许多具体细节以提供对本发明的各种实施例的透彻理解。
在不背离其精神或基本特性的情况下,本发明可以以其他特定形式实现。所描述的实施例在所有方面都被认为仅是说明性的而不是限制性的。例如,本文中所描述的方法可以用更少或更多的步骤/动作来执行,或者步骤/动作可以以不同的顺序来执行。另外,本文中所描述的步骤/动作可以彼此并行地重复或执行,或者与相同或相似步骤/动作的不同实例并行地重复或执行。因此,本发明的范围由所附权利要求而不是由前述描述指示。在权利要求等效的含义和范围内的所有变化都应涵盖在其范围内。
Claims (20)
1.一种非暂态计算机可读介质,所述非暂态计算机可读介质其上存储有指令,所述指令在由至少一个处理器执行时使计算设备:
针对多个数字内容项生成对跨客户端设备的、与所述多个数字内容项相关联的交互进行编码的项嵌入的集合;
在交互会话期间监测客户端设备与来自所述多个数字内容项的一个或多个数字内容项的用户交互;
在所述交互会话期间利用所述项嵌入的集合从所述客户端设备的所述用户交互确定消极交互图和积极交互图;以及
利用强化学习模型,基于所述项嵌入的集合、所述消极交互图和所述积极交互图从所述多个数字内容项确定一个或多个附加数字内容项以提供用于显示。
2.根据权利要求1所述的非暂态计算机可读介质,还包括指令,所述指令在由所述至少一个处理器执行时使所述计算设备通过如下操作利用所述项嵌入的集合从来自所述用户交互的每个消极交互确定所述消极交互图:
通过针对来自所述用户交互的每个消极交互确定项嵌入来确定一个或多个消极项嵌入;
基于与项嵌入空间内的所述一个或多个消极项嵌入的接近度来确定一个或多个附加消极项嵌入;以及
利用所述一个或多个消极项嵌入和所述一个或多个附加消极项嵌入来生成所述消极交互图。
3.根据权利要求1所述的非暂态计算机可读介质,还包括指令,所述指令在由所述至少一个处理器执行时使所述计算设备通过如下操作利用所述强化学习模型来确定所述一个或多个附加数字内容项:
利用所述强化学习模型的第一卷积门控递归单元神经网络层,基于所述消极交互图来生成针对所述客户端设备的消极状态;以及
利用所述强化学习模型的第二卷积门控递归单元神经网络层,基于所述积极交互图来生成针对所述客户端设备的积极状态。
4.根据权利要求3所述的非暂态计算机可读介质,还包括指令,所述指令在由所述至少一个处理器执行时使所述计算设备通过如下操作利用所述强化学习模型来确定所述一个或多个附加数字内容项:利用所述强化学习模型,基于所述消极状态、所述积极状态和所述项嵌入的集合来确定所述一个或多个附加数字内容项。
5.根据权利要求4所述的非暂态计算机可读介质,还包括指令,所述指令在由所述至少一个处理器执行时使所述计算设备通过如下操作利用所述强化学习模型,基于所述消极状态、所述积极状态和所述项嵌入的集合来确定所述一个或多个附加数字内容项:
在所述积极状态与所述项嵌入的集合之间生成第一相似性度量;
在所述消极状态与所述项嵌入的集合之间生成第二相似性度量;以及
利用所述第一相似性度量和所述第二相似性度量来确定所述一个或多个附加数字内容项。
6.根据权利要求1所述的非暂态计算机可读介质,还包括指令,所述指令在由所述至少一个处理器执行时使所述计算设备:经由协同过滤或图嵌入针对所述多个数字内容项生成所述项嵌入的集合,以对跨所述客户端设备的、与所述多个数字内容项相关联的所述交互进行编码。
7.根据权利要求1所述的非暂态计算机可读介质,还包括指令,所述指令在由所述至少一个处理器执行时使所述计算设备通过如下操作利用所述项嵌入的集合从来自所述用户交互的每个消极交互确定所述积极交互图:
通过针对来自所述用户交互的每个消极交互确定项嵌入来确定一个或多个消极项嵌入;
基于距项嵌入空间内的所述一个或多个消极项嵌入的距离来确定一个或多个积极项嵌入;以及
利用所述一个或多个积极项嵌入来生成所述积极交互图。
8.根据权利要求1所述的非暂态计算机可读介质,还包括指令,所述指令在由所述至少一个处理器执行时使所述计算设备:通过在不对消极交互的子集进行采样的情况下确定所述消极交互图,在所述交互会话期间从来自所述客户端设备的所述用户交互的每个消极交互确定所述消极交互图。
9.根据权利要求1所述的非暂态计算机可读介质,还包括指令,所述指令在由所述至少一个处理器执行时使所述计算设备:
通过利用所述强化学习模型的动作方模型来确定所述一个或多个附加数字内容项,利用所述强化学习模型来确定所述一个或多个附加数字内容项;
利用所述强化学习模型的评论方模型来确定针对所述一个或多个附加数字内容项的值函数,所述评论方模型包括多个经校正的线性交互神经网络层;以及
使用所述值函数来修改所述强化学习模型的参数。
10.根据权利要求9所述的非暂态计算机可读介质,还包括指令,所述指令在由所述至少一个处理器执行时使所述计算设备:
在附加交互会话期间监测所述客户端设备与所述一个或多个附加数字内容项的附加用户交互;以及
利用具有修改后的所述参数的所述强化学习模型,基于所述项嵌入的集合和所述附加用户交互从所述多个数字内容项确定一个或多个其他数字内容项以提供用于显示。
11.根据权利要求1所述的非暂态计算机可读介质,还包括指令,所述指令在由所述至少一个处理器执行时使所述计算设备通过如下操作利用所述项嵌入的集合来确定所述积极交互图:
通过针对来自所述用户交互的每个积极交互确定项嵌入来确定一个或多个积极项嵌入;
基于与项嵌入空间内的所述一个或多个积极项嵌入的接近度来确定一个或多个附加积极项嵌入;以及
利用所述一个或多个积极项嵌入和所述一个或多个附加积极项嵌入来生成所述积极交互图。
12.在用于传播数字内容的数字媒体环境中,一种用于针对计算设备准确地选择数字内容项的计算机实现的方法包括:
在交互会话期间监测客户端设备与来自多个数字内容项的一个或多个数字内容项的用户交互;
利用对跨客户端设备与所述多个数字内容项的交互进行编码的项嵌入的集合,在所述交互会话期间从所述客户端设备的所述用户交互确定消极交互图和积极交互图;
利用强化学习模型的卷积门控递归单元神经网络层,基于所述消极交互图来生成针对所述客户端设备的消极状态并且基于所述积极交互图来生成针对所述客户端设备的积极状态;
利用所述强化学习模型,基于所述项嵌入的集合、所述消极状态和所述积极状态,从所述多个数字内容项确定一个或多个附加数字内容项;以及
提供所述一个或多个附加数字内容项以用于经由所述客户端设备显示。
13.根据权利要求12所述的计算机实现的方法,还包括:
确定针对所述客户端设备的先前消极状态和针对所述客户端设备的先前积极状态;以及
利用所述强化学习模型的所述卷积门控递归单元神经网络层,基于所述先前消极状态来生成针对所述客户端设备的所述消极状态并且基于所述先前积极状态来生成针对所述客户端设备的所述积极状态。
14.根据权利要求12所述的计算机实现的方法,还包括利用分解机器神经网络来生成所述项嵌入的集合。
15.根据权利要求12所述的计算机实现的方法,其中在所述交互会话期间利用所述项嵌入的集合从所述客户端设备的所述用户交互确定所述消极交互图包括:
通过针对来自所述用户交互的每个积极交互确定项嵌入来确定一个或多个积极项嵌入;
基于距项嵌入空间内的所述一个或多个积极项嵌入的距离来确定一个或多个消极项嵌入;以及
利用所述一个或多个消极项嵌入来生成所述消极交互图。
16.一种系统,包括:
一个或多个存储器设备,所述一个或多个存储器设备包括强化学习模型,所述强化学习模型包括动作方模型和评论方模型;以及
一个或多个服务器设备,被配置为使所述系统:
在交互会话期间从客户端设备与来自多个数字内容项的一个或多个数字内容项的用户交互生成交互图;
利用所述强化学习模型的所述动作方模型并且基于所述交互图,确定针对所述客户端设备的积极状态、针对所述客户端设备的消极状态以及来自所述多个数字内容项的一个或多个附加数字内容项以提供用于经由所述客户端设备显示;以及
利用所述强化学习模型的所述评论方模型,通过如下操作生成用于修改所述动作方模型的参数的值函数:
利用所述积极状态来确定第一状态-动作向量并且利用所述消极状态来确定第二状态-动作向量;以及
基于所述第一状态-动作向量和所述第二状态-动作向量来生成所述值函数。
17.根据权利要求16所述的系统,其中所述一个或多个服务器设备还被配置为使所述系统通过如下操作基于所述第一状态-动作向量和所述第二状态-动作向量来生成所述值函数:
利用第一经校正的线性交互神经网络层,基于所述第一状态-动作向量来确定特征值的第一集合;
利用第二经校正的线性交互神经网络层,基于所述第二状态-动作向量来确定特征值的第二集合;以及
利用第三经校正的线性交互神经网络层,基于所述特征值的第一集合和所述特征值的第二集合来生成所述值函数。
18.根据权利要求16所述的系统,其中所述一个或多个服务器设备还被配置为使所述系统:
在附加交互会话期间监测所述客户端设备与所述一个或多个附加数字内容项的附加用户交互;以及
利用具有修改后的所述参数的动作方模型,基于所述附加用户交互从所述多个数字内容项确定一个或多个其他数字内容项以提供用于显示。
19.根据权利要求16所述的系统,其中所述一个或多个服务器设备被配置为使所述系统通过如下操作利用所述积极状态来确定所述第一状态-动作向量并且利用所述消极状态来确定所述第二状态-动作向量:
利用所述积极状态和所述一个或多个附加数字内容项来确定所述第一状态-动作向量;以及
利用所述消极状态和所述一个或多个附加数字内容项来确定所述第二状态-动作向量。
20.根据权利要求19所述的系统,其中所述一个或多个服务器设备还被配置为使所述系统:
利用与所述一个或多个附加数字内容项相对应的项嵌入来生成动作向量;
通过将所述动作向量与所述积极状态进行组合来确定所述第一状态-动作向量,利用所述积极状态和所述一个或多个附加数字内容项来确定所述第一状态-动作向量;以及
通过将所述动作向量与所述消极状态进行组合来确定所述第二状态-动作向量,利用所述消极状态和所述一个或多个附加数字内容项来确定所述第二状态-动作向量。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US17/367,134 | 2021-07-02 | ||
US17/367,134 US20230022396A1 (en) | 2021-07-02 | 2021-07-02 | Generating digital recommendations utilizing collaborative filtering, reinforcement learning, and inclusive sets of negative feedback |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115563399A true CN115563399A (zh) | 2023-01-03 |
Family
ID=84492970
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210700134.9A Pending CN115563399A (zh) | 2021-07-02 | 2022-06-20 | 利用协同过滤、强化学习和消极反馈的包容性集合来生成数字推荐 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20230022396A1 (zh) |
CN (1) | CN115563399A (zh) |
DE (1) | DE102022204244A1 (zh) |
-
2021
- 2021-07-02 US US17/367,134 patent/US20230022396A1/en active Pending
-
2022
- 2022-04-29 DE DE102022204244.1A patent/DE102022204244A1/de active Pending
- 2022-06-20 CN CN202210700134.9A patent/CN115563399A/zh active Pending
Also Published As
Publication number | Publication date |
---|---|
US20230022396A1 (en) | 2023-01-26 |
DE102022204244A1 (de) | 2023-01-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10873782B2 (en) | Generating user embedding representations that capture a history of changes to user trait data | |
US11109083B2 (en) | Utilizing a deep generative model with task embedding for personalized targeting of digital content through multiple channels across client devices | |
US11269870B2 (en) | Performing automatic segment expansion of user embeddings using multiple user embedding representation types | |
US20220221939A1 (en) | Identifying touchpoint contribution utilizing a touchpoint attribution attention neural network | |
US10515400B2 (en) | Learning vector-space representations of items for recommendations using word embedding models | |
US10936963B2 (en) | Systems and methods for content response prediction | |
US8843427B1 (en) | Predictive modeling accuracy | |
US11861464B2 (en) | Graph data structure for using inter-feature dependencies in machine-learning | |
US11461634B2 (en) | Generating homogenous user embedding representations from heterogeneous user interaction data using a neural network | |
JP7135255B2 (ja) | アイテム推奨方法、システム、プログラム、電子機器及び記憶媒体 | |
US20210056458A1 (en) | Predicting a persona class based on overlap-agnostic machine learning models for distributing persona-based digital content | |
JP7316453B2 (ja) | オブジェクト推薦方法及び装置、コンピュータ機器並びに媒体 | |
US11288709B2 (en) | Training and utilizing multi-phase learning models to provide digital content to client devices in a real-time digital bidding environment | |
US10042944B2 (en) | Suggested keywords | |
US10706454B2 (en) | Method, medium, and system for training and utilizing item-level importance sampling models | |
US20190138912A1 (en) | Determining insights from different data sets | |
US11663509B2 (en) | System and method for a personalized machine learning pipeline selection and result interpretation | |
US20200241878A1 (en) | Generating and providing proposed digital actions in high-dimensional action spaces using reinforcement learning models | |
US11875377B2 (en) | Generating and distributing digital surveys based on predicting survey responses to digital survey questions | |
US20210192549A1 (en) | Generating analytics tools using a personalized market share | |
US20180253695A1 (en) | Generating job recommendations using job posting similarity | |
US20230039338A1 (en) | Machine-learning models for generating emerging user segments based on attributes of digital-survey respondents and target outcomes | |
US20140280216A1 (en) | Automated ranking of contributors to a knowledge base | |
US20230030341A1 (en) | Dynamic user interface and machine learning tools for generating digital content and multivariate testing recommendations | |
US20230297625A1 (en) | Utilizing a graph neural network to generate visualization and attribute recommendations |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |