推荐器系统和方法与流程

    专利2022-07-08  103


    在本发明的一些实施例中涉及一种预测系统,并且更具体但非排他地涉及一种推荐器系统。



    背景技术:

    为简洁起见,以后术语“推荐器”用于表示推荐系统,并且这些术语可以互换使用。

    推荐器系统是一种用于预测用户对某项产品的评价或评分,以指示用户对该项目的偏好的系统。使用推荐系统的一些领域包括内容播放列表的生成(例如数字音乐和视频)、推荐产品的服务(例如商业消费品、电影、酒店和饭店)、针对社交媒体平台的内容推荐、在线约会服务以及财务服务。

    推荐器系统的一些现有方法集中于使用上下文信息向用户推荐最相关的一个或多个项目。当前,推荐器大多是问题驱动的,每个推荐器都适合于确定的领域,有时也适合给定领域中确定的客户。例如,用于生成音乐播放列表的推荐器可能不适于推荐餐厅。此外,用于生成音乐播放列表的推荐器可能不适合于推荐电影播放列表。对于所标识域中的标识问题,需要使推荐器适应所标识域中的标识问题。



    技术实现要素:

    本发明的目的是提供一种用于训练和使用推荐器的系统和方法。

    通过独立权利要求的特征实现前述和其他目的。根据从属权利要求、说明书和附图,进一步的实施形式是显而易见的。

    根据本发明的第一方面,一种用于预测至少一个项目的至少一个评分的方法包括:在多个迭代中的至少一个迭代中:接收具有多个用户属性值的用户简档;通过将用户简档和多个项目输入到由以下训练的预测模型中根据用户简档和多个其他用户简档之间的相似度来计算至少一个评分:在多个训练迭代中的每一个中:接收多个训练用户简档中的一个训练用户简档,训练用户简档具有多个训练用户属性值;响应于训练用户简档和多个训练项目,由预测模型计算多个预测评分,每个预测评分用于多个训练项目之一,其中多个训练项目中的每一个具有多个训练项目属性;为训练用户简档计算多个预期评分,每个预期评分是根据多个训练用户属性值和训练项目的多个训练项目属性为多个训练项目之一计算的;以及修改预测模型的多个模型值中的至少一个模型值,以使使用多个预期评分和多个预测评分计算出的奖励评分最大化;并输出至少一个评分。

    根据本发明的第二方面,一种用于预测至少一个项目的至少一个评分的系统,包括:至少一个硬件处理器,适于:在多个迭代中的至少一个迭代中:接收具有多个用户属性值的用户简档;通过将用户简档和多个项目输入到由以下训练的预测模型中根据用户简档和多个其他用户简档之间的相似度来计算至少一个评分:在多个训练迭代中的每一个中:接收多个训练用户简档中的一个训练用户简档,训练用户简档具有多个训练用户属性值;响应于训练用户简档和多个训练项目,由预测模型计算多个预测评分,每个预测评分用于多个训练项目之一,其中多个训练项目中的每一个具有多个训练项目属性;为训练用户简档计算多个预期评分,每个预期评分是根据多个训练用户属性值和训练项目的多个训练项目属性为多个训练项目之一计算的;以及修改预测模型的多个模型值中的至少一个模型值,以使使用多个预期评分和多个预测评分计算出的奖励评分最大化;并输出至少一个评分。

    根据本发明的第三方面,一种用于训练预测模型的系统包括至少一个硬件处理器,该硬件处理器适于:在多个训练迭代的每一个中:接收多个训练用户简档中的一个训练用户简档,训练用户简档具有多个训练用户属性值;响应于训练用户简档和多个训练项目,由预测模型计算多个预测得分,每个预测评分用于多个训练项目之一,其中多个训练项目的每一个具有多个训练项目属性;为训练用户简档计算多个预期评分,每个预期评分是根据所述多个训练用户属性值和训练项目的多个训练项目属性为多个训练项目之一计算的;以及修改预测模型的多个模型值中的至少一个模型值,以使使用多个预期评分和多个预测评分计算出的奖励评分最大化。

    参考第一和第二方面,在本发明的第一和第二方面的第一种可能的实现方式中根据多个用户属性值与多个其他用户简档的多个用户属性值之间的相似度,计算用户简档与多个其他用户简档之间的相似度。使用具有用户属性的用户简档来描述用户,有助于识别用户简档与其他用户简档之间的相似性,因此增加了预测模型的输出的准确性。可选地,多个用户属性值包括以下至少之一:用户人口统计值、用户偏好值、用户标识符值和历史用户交互值。可选地,历史用户交互值指示从包括以下各项的一组用户交互中选择的用户交互:用户分配的数字评分、喜欢的指示、购买、加了书签的项目和跳过的项目。可选地,多个项目中的至少一个选自由以下各项组成的一组项目:餐馆标识符、接待设施标识符、电影标识符、书籍标识符、家用电器标识符、零售商标识符和场所标识符。

    参考第一方面和第二方面,在本发明的第一方面和第二方面的第二种可能的实现方式中,预测模型包括至少一个深度强化学习(drl)网络。使用drl网络增加了预测模型的输出的准确性。

    参考第一方面和第二方面,在本发明的第一方面和第二方面的第三种可能的实现方式中,计算多个预期评分包括将基于内容的过滤方法应用于多个训练用户属性值和多个训练项目的多个训练项目属性。使用基于内容的过滤来计算多个预期评分加快了对预测模型的训练,从而减少使用预测模型的预测系统的实现成本。可选地,应用基于内容的过滤方法包括将多个训练用户属性值和多个训练项目属性提供给至少一个神经网络。将一个或多个神经网络用于基于内容的过滤提高了多个预期评分的准确性。

    参考第一方面和第二方面,在本发明的第一方面和第二方面的第四种可能的实现方式中,训练预测模型包括使用具有状态、多个动作、奖励和输出的q学习方法。可选地,状态是指示训练用户简档的多个训练用户属性值的状态值的向量。可选地,多个动作是项目值的多个向量,项目值的每个向量指示多个训练项目之一的相应的多个训练项目属性。可选地,奖励是多个预期评分。可选地,输出是多个预测评分。可选地,q学习方法具有另一状态、另一多个动作,另一奖励和另一输出。可选地,另一状态是指示训练用户简档的另一多个训练用户属性值和多个训练项目的另一多个训练项目属性的状态值的向量。可选地,多个动作是项目值的另一多个向量,项目值的每个向量指示多个训练项目之一的相应的多个训练项目属性。可选地,奖励是多个预期评分之一。可选地,输出是在多个训练迭代的至少一个中针对多个训练用户简档之一和多个训练项目之一计算的预测评分。使用q学习方法训练预测模型可以考虑建议的直接收益(奖励)的长期影响,从而提高预测模型输出的准确性。参考第一方面和第二方面,在本发明的第一方面和第二方面的第五种可能的实现方式中,训练预测模型还包括:从与多个训练用户简档中的至少一个相关联的至少一个训练用户收集至少一个反馈值,其中至少一个反馈值指示至少一个用户与由预测模型响应于相应的训练用户简档和多个训练项目而计算出的多个预测评分中的至少一些的一致程度;和根据至少一个反馈值,更新至少一个训练用户简档中的至少一个训练用户属性值。根据反馈值来更新训练用户属性值,反馈值指示用户与由预测模型计算出的一个或多个预测评分的一致程度,提高了预测模型的输出的准确性。

    参考第一方面和第二方面,在本发明的第一方面和第二方面的第六种可能的实现方式中,输出至少一个评分包括为至少一个评分中的每一个输出至少一项目的相应项目。输出项目允许在向用户提供一个或多个项目推荐的推荐系统中使用预测模型。

    参考第一方面和第二方面,在本发明的第一方面和第二方面的第七种可能的实现方式中,将用户简档和多个项目输入到预测模型中包括:计算指示多个用户属性值和多个项目的多个项目属性的至少一组状态值。使用一组状态值有助于使用基于状态的方法(例如q学习)训练预测模型。

    参考第一方面和第二方面,在本发明的第一方面和第二方面的第八种可能的实现方式中,计算至少一个评分还包括:计算至少一个其他评分,每个其他评分根据多个用户属性值和相应项目的相应多个项目属性为多个项目之一计算;以及将至少一个评分与至少另一个其他评分汇总。可选地,计算至少一个其他评分包括将基于内容的过滤方法应用于多个用户属性值和多个项目的多个项目属性。将根据用户属性和项目属性计算出的另一评分与根据用户简档与多个其他用户简档之间的相似度而计算出的预测评分相结合,提高了预测模型输出的准确性。

    参考第一方面和第二方面,在本发明的第一方面和第二方面的第九种可能的实现方式中,计算至少一个评分还包括:通过将至少一个矩阵分解方法应用于多个项目属性、多个用户属性值和其他多个用户属性值,计算至少一个协同过滤评分,每个协同过滤评分根据多个用户属性值与多个其他用户简档的其他多个用户属性值之间的另一相似性为多个项目之一计算;以及将至少一个评分与至少另一个协同过滤评分汇总。使用矩阵分解加快了计算至少一个其他评分的速度,从而提高预测模型的吞吐量。

    参考第一方面和第二方面,在本发明的第一方面和第二方面的第十种可能的实现方式中,计算至少一个评分还包括:识别至少一个评分中的至少一个最高评分;以及输出至少一个最高评分。可选地,计算至少一个评分还包括:通过对至少一个评分应用至少一种测试来计算至少一个过滤后评分;以及输出至少一个过滤后评分。应用一个或多个测试以及另外地或可替代地识别一个或多个最高评分,增加了预测模型的输出的准确性。

    参考第一方面和第二方面,在本发明的第一方面和第二方面的第十一种可能的实现方式中,至少一个硬件处理器适于经由连接到至少一个硬件处理器的至少一个数字通信网络接口输出至少一个评分。可选地,至少一个硬件处理器适于通过以下至少一项接收用户简档:经由连接到至少一个硬件处理器的至少一个数字通信网络接口接收用户简档;以及从连接到至少一个硬件处理器的至少一个非易失性数字存储器检索用户简档。

    通过检查以下附图和具体实施方式,本公开的其他系统、方法、特征和优点对于本领域技术人员将是或变得显而易见的。旨在将所有这样的附加系统、方法、特征和优点包括在本说明书中、在本公开的范围内并由所附权利要求书保护。

    除非另有定义,否则本文中使用的所有技术和/或科学术语具有与本发明所属领域的普通技术人员通常所理解的相同含义。尽管与本文描述的那些类似或等同的方法和材料可以用于本发明的实施例的实践或测试中,但是下面描述了示例性的方法和/或材料。在有冲突的情况下,以专利说明书,包括定义为准。另外,材料、方法和实施例仅是说明性的,并不意图必然是限制性的。

    附图说明

    这里仅通过示例的方式参考附图描述了本发明的一些实施例。现在具体地参考附图,要强调的是,所示出的细节是作为示例并且出于对本发明的实施例的说明性讨论的目的。就这一点而言,结合附图进行的描述对于本领域技术人员而言如何可以实践本发明的实施例是显而易见的。

    附图中:

    图1是根据本发明一些实施例的用于训练的示例性系统的示意性框图;

    图2是根据本发明一些实施例的示意性地表示用于训练的可选操作流程的流程图;

    图3是根据本发明一些实施例的用于预测的示例性系统的示意性框图;

    图4是根据本发明一些实施例的示意性地表示用于预测的可选操作流程的流程图。

    具体实施方式

    在一些实施例中,本发明涉及一种预测系统,并且更具体但非排他地涉及一种推荐器系统。

    推荐器预测用户将对一个或多个项目给出的一个或多个评分。用户具有描述用户的用户简档。一些用户简档具有多个用户属性值,每个用户属性值用于描述用户的多个用户属性之一。用户简档可以包括人口统计信息,一些示例是年龄、地址、职业以及诸如身高和体重的物理属性。用户简档可以包括用户偏好,一些示例是对温和食物的偏好、对摇滚音乐的偏好以及对精品酒店的偏好。推荐器可以从对用户回答问题的响应中明确地获知用户偏好。可以例如从其他用户偏好来推断用户偏好。用户简档可以包括历史用户交互值,例如由用户分配给项目的评分,例如数字评分。历史用户交互的其他示例是社交媒体上的指示,例如当用户查看一个项目时或更多建议的项目时例如喜欢的指示、购买一个或多个项目、查看或收听一个项目、一个加了书签的项目和一个跳过的项目。历史用户交互的其他示例是用户查看项目的时间量和用户查看项目的时间长度。可以从一个或多个历史用户交互值中推断出用户偏好。第一识别域中的用户的多个用户属性值可以不同于第二识别域中的用户的另一多个用户属性值。例如,在第一识别域中,多个用户属性值可以包括对碳酸饮料的偏好,其中在第二识别域中,其他多个用户属性值可以不具有指示饮料偏好的值。

    如本公开中所使用的,项目是推荐的对象。项目的一些示例是音乐文件、视频文件、电影名称、饭店、书籍、旅馆、诸如汽车、衣物或洗衣机的消费品、诸如电影放映、音乐会、聚会或演讲的此类事件、诸如潜在的浪漫伴侣或潜在的专业合作者、金融投资和人寿保险单的人。一个项目可以通过多个项目属性来描述。多个项目属性可以取决于使用推荐器的域。描述一本书的第一多个项目属性可以包括价格、页数、年龄分类、类型和出版者标识符。描述旅馆的第二多个项目属性可以包括价格范围、位置和可用性。描述洗衣机的第三项多个属性包括容量、电气规格信息和尺寸信息。

    设计推荐器的一种现有方法是基于内容的过滤(cbf)。基于内容的过滤方法基于项目属性和用户的用户简档属性值。现有的cbf推荐器可以从与用户的交互,或者通过用户的明确输入,或者通过与用户的交互来推断,来了解用户偏好。一些cbf推荐器仅限于通过与用户关于一种或多种已识别项目类型的交互来了解用户的偏好,因此倾向于限于推荐与用户过去喜欢或当前正在检查的项目类型相似的项目。例如,在考虑用户对音乐的偏好时,电影推荐可能会更准确;但是,推荐电影的系统可能没有有关用户先前选择的音乐的信息。

    设计推荐器的另一种现有方法是协作过滤(cf),其中根据用户与一组用户之间的相似性来预测用户对某个项目的评分。这样的预测基于以下基本假设:共享关于第一问题的偏好的两个用户也共享关于第二问题的偏好。例如,出于协作过滤的目的,假设具有关于电影的相似偏好的两个用户具有关于电视节目的相似偏好。一些协作过滤推荐器使用一个或多个预测模型(例如一个或多个神经网络)来预测一个或多个项目的一个或多个评分。一些协作过滤推荐器使用一种或多种矩阵分解方法,其中在交互矩阵中表示用户和项目之间的交互,并将交互矩阵分解为两个较低维矩形矩阵的乘积。

    在cf推荐器中,对于新项目,可能没有足够的数据来做出准确的推荐。这也称为冷启动问题。此外,在收集数据的同时为新域或现有域内的新问题拟合推荐器是一个漫长而昂贵的过程。

    如本文所用,术语深度学习是指一类机器学习模型,其使用多个计算层从原始输入中逐渐提取更高级别的特征。深度学习模型的一些示例是卷积神经网络、深度神经网络和深度信任网络。如本文中所使用的,术语强化学习是指一类机器学习方法,其中机器学习模型与环境以多个步骤进行交互,在每个步骤中选择要应用于该环境的动作并接收指示将选定的动作应用于环境与将已知的最佳动作应用于环境的结果之间相似性的奖励。可替代地,模型可以接收惩罚(损失),该惩罚(损失)指示将所选动作应用于环境的结果与将已知最佳动作应用于环境的结果之间的距离。在强化学习中,在每个步骤中,都会修改机器学习模型的一个或多个模型值,以在将来的步骤中最大化奖励(或最小化损失)。强化学习方法的一些示例包括演员评价(actorcritic)和q学习。

    如本文所使用的,术语深度强化学习(drl)是指将一种或多种强化学习方法应用于一种或多种深度学习模型的方法。drl网络是使用drl训练的神经网络。如本文所使用的,术语“drl推荐器”是指使用一种或多种drl方法训练的推荐系统。

    在本发明的一些实施例中,本发明提出了使用奖励来训练用于协作过滤的drl推荐器。可选地,用于协作过滤的drl推荐器是一种预测模型,经过训练可以根据用户的用户简档与多个其他训练用户简档之间的相似度为用户计算一个或多个项目的一个或多个评分。在这样的实施例中,使用一种或多种强化学习方法来训练预测模型,其中使用多个预期评分来计算奖励评分,每个预期评分都是基于训练用户简档和一个或多个训练项目的多个训练项目属性来计算的。使用基于训练用户简档和一个或多个训练项目的多个训练项目属性计算的预期评分,当收集的关于一个或多个项目的用户偏好的数据很少时,有助于训练预测模型,从而减少了训练预测模型的成本和训练预测模型所需的时间,同时提高了预测模型输出的准确性。可选地,使用基于内容的过滤方法(例如统计方法)来计算一个或多个预期评分。基于内容的过滤方法的另一个示例是基于规则的方法。可选地,使用一种或多种机器学习方法,例如决策树,来计算一个或多个预期评分。机器学习方法的另一个示例是使用一个或多个神经网络。可选地,预测模型是深度强化学习模型。可选地,使用q学习方法对预测模型进行训练,从当前状态开始,最大化任何和所有连续动作(步骤)上总奖励的预期值。使用q学习方法训练预测模型可以考虑建议的直接收益(奖励)的长期影响,从而提高预测模型输出的准确性。

    另外,在本发明的一些实施例中,本发明提出从与用于训练预测模型的一个或多个训练用户简档相关联的一个或多个训练用户收集一个或多个反馈值。可选地,一个或多个反馈值指示一个或多个训练用户与一个或多个预测评分中的至少一些的一致程度。可选地,根据一个或多个反馈值来更新一个或多个训练用户各自的一个或多个训练用户属性值。根据一个或多个反馈值来更新一个或多个训练用户属性值提高了预测模型的输出的准确性。

    另外,在一些实施例中,本发明提出使用根据本发明训练的预测模型为用户计算一个或多个项目的一个或多个评分。可选地,本发明提出使用根据本发明计算的协作过滤和基于内容的过滤的组合来计算一个或多个评分。在这样的实施例中,根据用户的多个用户属性值和相应项目的相应多个项目属性,为一个或多个项目之一计算一个或多个其他评分。可选地,一个或多个评分中的每一个与相应的一个或多个其他评分相加。可选地,使用基于内容的过滤方法来计算一个或多个其他评分,并将其应用于多个用户属性值和多个项目属性。使用基于内容的过滤和协作过滤的混合来计算一个或多个评分,提高了预测模型输出的准确性。

    另外,在本发明的一些实施例中,本发明提出根据应用于一个或多个评分的一个或多个测试,在输出一个或多个评分之前过滤一个或多个评分。例如,在一些实施例中,仅输出识别出的最高评分。可选地,将测试应用于评分包括将测试应用于相应项目。测试的其他一些示例包括对项目位置、饮食限制、价格范围、年龄分类以及项目的可用日期的限制。将一个或多个测试应用于一个或多个评分提高预测模型输出的准确性。

    在详细解释本发明的至少一个实施例之前,应该理解,本发明的应用并不一定限于下面的描述和/或阐述或在附图和/或示例中示出的部件和/或方法的构造细节和布置。本发明能够具有其他实施例,或者能够以各种方式被实践或执行。

    本发明可以是系统、方法和/或计算机程序产品。计算机程序产品可以包括计算机可读存储介质,其上载有用于使处理器实现本发明的各个方面的计算机可读程序指令。

    计算机可读存储介质可以是可以保持和存储由指令执行设备使用的指令的有形设备。计算机可读存储介质例如可以是――但不限于――电存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或者上述的任意合适的组合。

    这里所描述的计算机可读程序指令可以从计算机可读存储介质下载到各个计算/处理设备,或者通过网络、例如因特网、局域网、广域网和/或无线网下载到外部计算机或外部存储设备。

    计算机可读程序指令可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络—包括局域网(lan)或广域网(wan)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。在一些实施例中,通过利用计算机可读程序指令的状态信息来个性化定制电子电路,例如可编程逻辑电路、现场可编程门阵列(fpga)或可编程逻辑阵列(pla),该电子电路可以通过利用计算机可读程序指令的状态信息来执行计算机可读程序指令,以个性化电子电路,从而执行本发明的方面。

    这里参照根据本发明实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述了本发明的各个方面。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机可读程序指令实现。

    附图中的流程图和框图显示了根据本发明的多个实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或指令的一部分,所述模块、程序段或指令的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。

    为简洁起见,此后术语“处理器”用于表示“至少一个硬件处理器”,并且这些术语可互换使用。

    现在参考图1,其示出了根据本发明的一些实施例的用于训练的示例性系统100的示意性框图。在这样的实施例中,出于训练预测模型110的目的,至少一个硬件处理器101执行一个预测模型110。可选地,预测模型包括至少一个神经网络。可选地,至少一个神经网络是至少一个深度强化学习神经网络。可选地,处理器101为了计算一个或多个预期评分的目的而执行至少一个软件对象111,每个预期评分根据训练用户的多个训练用户属性值121和一个或多个训练项目的多个训练项目属性122为多个训练项目之一进行计算。

    为了训练预测模型110,在本发明的一些实施例中,系统100实施以下可选方法。

    现在参考图2,其示出了本发明一些实施例的示意性地表示用于训练的可选操作流程200的流程图。在这样的实施例中,在201中,处理器101接收训练用户简档,可选地,多个训练用户简档之一。可选地,训练用户简档具有描述训练用户的多个训练用户属性值,例如多个用户属性值121。可选地,多个训练用户属性值121包括一个或多个用户人口统计值,例如年龄值和地址值。可选地,多个训练用户属性值121包括一个或多个用户偏好值,例如音乐类型和书名。可选地,多个训练用户属性值121包括一个或多个历史交互值,例如社交媒体和加书签的消费产品中的喜欢的指示。可选地,历史交互值是隐式的,例如用户浏览项目的时间量。历史交互值的其他示例是由用户为例如某一项目分配的数字评分,例如项目的购买和跳过的项目。可选地,多个训练用户属性值121包括一个或多个用户标识符值,例如社交媒体中的社交联系人的用户标识符。在205中,处理器101可选地计算多个预测评分,每个预测评分用于多个训练项目之一。可选地,处理器101可选地响应于训练用户简档和多个训练项目,由预测模型110计算多个预测评分。可选地,多个训练项目中的每一个具有多个训练项目属性,例如训练项目属性122。训练项目的一些示例是饭店标识符、酒店设施标识符、电影标识符、书籍标识符、家用电器标识符、零售商标识符和场所标识符。招待设施的一些示例是酒店、住宿加早餐设施和客房。场所的一些示例是电影院、公园和海滩。训练项目属性的一些示例是流派(genre)、价格范围和位置。可选地,在209中,处理器101为训练用户简档计算多个预期评分,每个预期评分根据多个训练用户属性值和训练项目的多个训练项目属性针对多个训练项目之一进行计算。可选地,处理器101使用一个或多个软件对象111来计算多个预期评分。可选地,计算多个预期评分包括将一种或多种基于内容的过滤方法应用于多个训练用户属性值和多个训练项目的多个训练项目属性。可选地,一个或多个软件对象111包括一个或多个其他神经网络,并且应用基于内容的过滤方法包括向一个或多个其他神经网络提供多个训练用户属性值和多个训练项目属性。在215中,处理器101可选地修改预测模型110的多个模型值中的一个或多个模型值以最大化奖励评分。可选地,使用多个预期评分和多个预测评分来计算奖励评分。可选地,处理器101在多个训练迭代中的每一个中执行201、205、209和215。

    可选地,在处理器101执行q学习方法以训练预测模型的同时执行201、205、209和215,从识别状态开始,最大化任何和所有连续动作上的总奖励的预期值。可选地,q学习方法具有状态。可选地,状态是指示多个训练属性值122的状态值的向量。可选地,q学习方法具有模式,可选地包括用于创建状态值的向量的模板,以使得状态值的向量指示多个训练用户属性值121。可选地,状态值的向量是数值的向量。可选地,创建状态值的向量包括将以标识的格式(例如javascriptobjectnotation(json))的对象转换为数值的向量。可选地,在201中,接收训练用户简档包括创建状态值的向量。可选地,在201中,接收训练用户简档包括接收状态值的向量。可选地,q学习方法具有多个动作。可选地,多个动作是项目值的多个向量。可选地,项目值的每个向量指示来自多个训练项目属性122的多个训练项目之一的相应的多个训练项目属性。可选地,模式包括用于创建项目值的向量的另一模板,使得项目值的向量指示多个训练项目值122中的一些。可选地,项目值的向量是另一个数值的向量。可选地,创建项目值的向量包括将以标识的格式(例如javascriptobjectnotation(json))的另一个对象转换为另一个数值的向量。在这样的实施例中,可以训练预测模型110以识别用户具有最高评分的一个或多个项目。可选地,q学习方法具有奖励。可选地,奖励是在209中计算的多个预期评分。可选地,q学习方法具有输出。可选地,输出是在多个训练迭代之一中在205中计算的多个预测评分。可选地,在205中,处理器101向预测模型110提供状态值的向量和项目值的多个向量。

    替代地,状态可以是指示多个训练属性值122和多个项目属性121的状态值的向量。可选地,模式包括用于创建状态值的向量的模板,以使得状态值的向量指示多个训练用户属性值121和多个项目属性122。在这样的实施例中,奖励可以是在209中计算的多个预期评分之一,例如在209中计算的最高评分。可选地,输出是在205中针对多个训练用户简档之一和多个迭代中的至少一个迭代中的多个训练项目之一计算的预测评分。

    可选地,在220中,处理器101从与多个训练用户简档中的至少一个相关联的多个训练用户之一收集一个或多个反馈值。可选地,一个或多个反馈值指示在多个训练迭代中的至少一个中,一个或多个用户与由预测模型在205中计算出的多个预测评分中的至少一些的一致性水平。可选地,在221中,处理器101根据一个或多个反馈值来更新相应一个或多个训练用户简档的多个训练用户属性值121中的一个或多个训练用户属性值。可选地,处理器101在多个训练迭代中的一个或多个中执行220和221。

    根据本发明的一些实施例,预测模型110用于预测一个或多个项目的一个或多个评分。

    现在还参考图3,其示出了根据本发明一些实施例的用于预测的示例性系统300的示意性框图。在这样的实施例中,处理器301执行预测模型110。可选地,使用实现方法200的系统100训练预测模型110。可选地,处理器301连接到一个或多个非易失性数字存储器320,可选地,出于存储多个项目的多个项目属性的目的。可选地,一个或多个用户简档存储在一个或多个非易失性数字存储装置320上。非易失性数字存储的一些示例是硬盘驱动器、网络存储和存储网络。可选地,处理器301连接到一个或多个数字通信网络接口321。可选地,处理器301通过一个或多个数字通信网络接口321输出一个或多个评分。可选地,处理器301经由一个或多个数字通信网络接口321接收一个或多个用户简档。可选地,一个或多个数字通信网络接口321连接到局域网,例如无线局域网或以太网局域网。可选地,一个或多个数字通信网络接口321连接到广域网,例如因特网。

    为了预测一个或多个项目的一个或多个评分,在本发明的一些实施例中,系统300实施以下可选方法。

    现在参考图4,其示出了本发明一些实施例的示意性地的用于预测的操作400的可选流程的流程图。在这样的实施例中,在多个迭代中的至少一个迭代中,在401处理器301中接收用户简档。可选地,用户简档具有多个用户属性值。可选地,从包括以下各项的一组用户属性值中选择多个用户属性值中的至少一个:用户人口统计值、用户偏好值、历史交互值和用户标识符值。可选地,处理器301经由一个或多个数字通信网络接口321接收用户简档。可选地,处理器301通过从一个或多个非易失性数字存储器320读取用户简档来接收用户简档。在410中,处理器301可选地根据用户简档与多个其他用户简档之间的相似度来计算一个或多个评分。可选地,处理器301通过将用户简档和多个项目输入到预测模型110中来计算一个或多个评分。可选地,从包括以下项目的一组项目中选择多个项目中的一个或多个:饭店标识符、招待设施标识符、电影标识符、书籍标识符,家用电器标识符、零售商标识符和场所标识符。项目属性的一些示例是流派、价格范围和位置。可选地,根据多个用户属性值与多个其他用户简档的多个其他用户属性值之间的相似度,计算用户简档与多个其他用户简档之间的相似度。可选地,将用户简档和多个项目输入到预测模型110中包括计算指示一组或多组状态值的状态值,该状态值指示多个用户属性和多个项目的多个项目属性。可选地,一组或多组状态值是一组或多组数值。在430中,处理器301可选地输出一个或多个评分。可选地,输出一个或多个评分包括输出评分的排名列表,使得处理器301为一个或多个评分中的每个输出一个或多个项目中的相应项目。可选地,在430中,处理器301通过一个或多个数字通信网络接口321输出一个或多个评分。

    可选地,处理器301在412中计算一个或多个其他评分。可选地,可选地根据多个用户属性值和相应项目的相应多个项目属性,为多个项目之一计算一个或多个其他评分中的每一个。可选地,计算一个或多个其他评分包括将基于内容的过滤方法应用于多个用户属性值和多个项目的多个项目属性。可选地,计算一个或多个其他评分包括计算一个或多个协同过滤评分。可选地,根据多个用户属性值与其他多个用户简档的其他多个用户属性值之间的另一相似性,为多个项目之一计算一个或多个协作过滤评分中的每一个。可选地,通过将至少一种矩阵分解方法应用于多个项目属性、多个用户属性值和其他多个用户属性值来计算一个或多个协作过滤评分。在414中,处理器301可选地将一个或多个其他评分与一个或多个评分聚合。可选地,处理器301在430中输出在414中计算出的一个或多个评分。可选地,在420中,处理器301通过将一个或多个测试应用于一个或多个评分来计算一个或多个过滤后的评分。可选地,处理器301将一个或多个测试应用于在410中计算出的一个或多个评分。可选地,处理器将一个或多个测试应用于在414中计算出的一个或多个评分。可选地,一个或多个测试将一个或多个业务约束应用于一个或个项目。例如,测试可能会限制项目的位置。测试的其他示例包括饮食限制、价格范围、年龄分类和按日期提供的项目。可选地,在430中,处理器301输出一个或多个滤波后的评分。可选地,在422中,处理器301识别一个或多个评分中的一个或多个最高评分。处理器301可以识别一个最高评分。可选地,处理器301标识所标识的最高评分,例如3、10或28。可选地,处理器301在430中输出一个或多个最高评分。

    已经出于说明的目的给出了本发明的各种实施例的描述,但是这些描述并不旨在是穷举性的或限于所公开的实施例。在不脱离所描述的实施例的范围和精神的情况下,许多修改和变化对于本领域普通技术人员将是显而易见的。选择本文使用的术语以最好地解释实施例的原理,对市场上发现的技术的实际应用或技术上的改进,或使本领域的其他普通技术人员能够理解本文公开的实施例。

    可以预期,在本申请到期的专利有效期内,将开发许多相关的预测模型,并且术语“预测模型”的范围旨在包含所有此类新技术。

    如本文所用,术语“约”是指约10%。

    术语“包含”、“包括”、“具有”及其共轭词意指“包括但不限于”。该术语包括术语“由...组成”和“基本上由...组成”。

    短语“基本上由……组成”是指该组合物或方法可以包括附加的成分和/或步骤,但是仅当附加的成分和/或步骤没有实质性地改变所要求保护的组合物或方法的基本和新颖的特征时。

    如本文所使用的,单数形式“一个”、“一种”和“该”包括复数引用,除非上下文另外明确指出。例如,术语“一种化合物”或“至少一种化合物”可以包括多种化合物,包括其混合物。

    词语“示例性”在本文中用来表示“用作示例,实例或说明”。被描述为“示例性”的任何实施例不必被解释为比其他实施例优选或有利和/或从其他实施例中排除特征的并入。

    词语“可选地”在本文中用来表示“在一些实施例中提供而在其他实施例中不提供”。本发明的任何特定实施例可以包括多个“可选”特征,除非这些特征冲突。

    贯穿本申请,本发明的各种实施例可以以范围格式呈现。应当理解,范围格式的描述仅是为了方便和简洁,而不应被解释为对本发明范围的不灵活的限制。因此,应该将范围的描述视为已具体公开了所有可能的子范围以及该范围内的各个数值。例如,对范围从1到6的描述应视为已明确公开了子范围,例如从1到3、从1到4、从1到5、从2到4、从2到6、从3到6等,以及该范围内的单个数字,例如1、2、3、4、5和6。这与范围的广度无关。

    每当在本文中指示数值范围时,其意图包括在指示范围内的任何引用数字(分数或整数)。短语“在第一指示数字和第二指示数字之间的范围/范围”和从第一指示数字“到第二指示数字”的“范围/范围”在本文中可互换使用,并且意在包括第一和第二指示数字以及它们之间的所有小数和整数。

    应当理解,为清楚起见在单独的实施例的上下文中描述的本发明的某些特征也可以在单个实施例中组合提供。相反,为简洁起见,在单个实施例的上下文中描述的本发明的各种特征,也可以单独地或以任何合适的子组合或在本发明的任何其他所述的实施例中合适地提供。在各种实施例的上下文中描述的某些特征不应被认为是那些实施例的必要特征,除非该实施例在没有那些要素的情况下是不可操作的。

    本说明书中提及的所有出版物、专利和专利申请都通过引用整体并入本文,其程度与好像每个单独的出版物、专利或专利申请被具体地和单独地指示通过引用并入本文的程度相同。另外,在本申请中对任何参考文献的引用或标识均不应解释为承认该参考文献可用作本发明的现有技术。就使用章节标题而言,不应将其解释为必然的限制。


    技术特征:

    1.一种用于预测至少一个项目的至少一个评分的方法,包括:

    在多个迭代中的至少一个迭代中:

    接收具有多个用户属性值的用户简档;

    通过将用户简档和多个项目输入到由以下训练的预测模型中根据用户简档和多个其他用户简档之间的相似度来计算至少一个评分:

    在多个训练迭代中的每一个中:

    接收多个训练用户简档中的一个训练用户简档,训练用户简档具有多个训练用户属性值;

    响应于训练用户简档和多个训练项目,由预测模型计算多个预测评分,每个预测评分用于多个训练项目之一,其中多个训练项目中的每一个具有多个训练项目属性;

    为训练用户简档计算多个预期评分,每个预期评分是根据多个训练用户属性值和训练项目的多个训练项目属性为多个训练项目之一计算的;以及

    修改预测模型的多个模型值中的至少一个模型值,以使使用多个预期评分和多个预测评分计算出的奖励评分最大化;以及

    输出至少一个评分。

    2.根据权利要求1所述的方法,其中根据多个用户属性值与多个其他用户简档的多个用户属性值之间的相似度,计算用户简档与多个其他用户简档之间的相似度;

    其中多个用户属性值包括以下至少之一:用户人口统计值、用户偏好值、用户标识符值和历史用户交互值;以及

    其中历史用户交互值指示从包括以下各项的一组用户交互中选择的用户交互:用户分配的数字评分、喜欢的指示、购买、加了书签的项目和跳过的项目。

    3.根据权利要求1所述的方法,其中预测模型包括至少一个深度强化学习(drl)网络。

    4.根据权利要求1所述的方法,其中计算多个预期评分包括将基于内容的过滤方法应用于多个训练用户属性值和多个训练项目的多个训练项目属性。

    5.根据权利要求4所述的方法,其中应用基于内容的过滤方法包括将多个训练用户属性值和多个训练项目属性提供给至少一个神经网络。

    6.根据权利要求1所述的方法,其中训练预测模型包括使用具有状态、多个动作、奖励和输出的q学习方法:

    其中状态是指示训练用户简档的多个训练用户属性值的状态值的向量;

    其中多个动作是项目值的多个向量,项目值的每个向量指示多个训练项目之一的相应的多个训练项目属性;

    其中奖励是多个预期评分;以及

    其中输出是多个预测评分。

    7.根据权利要求1所述的方法,其中训练预测模型包括使用学习方法具有另一状态、另一多个动作,另一奖励和另一输出的q学习方法:

    其中另一状态是指示训练用户简档的另一多个训练用户属性值和多个训练项目的另一多个训练项目属性的状态值的向量;

    其中多个动作是项目值的另一多个向量,项目值的每个向量指示多个训练项目之一的相应的多个训练项目属性;

    其中奖励是多个预期评分之一;以及

    其中输出是在多个训练迭代的至少一个中针对多个训练用户简档之一和多个训练项目之一计算的预测评分。

    8.根据权利要求1所述的方法,其中训练预测模型还包括:

    响应于相应的训练用户简档和多个训练项目,从与多个训练用户简档中的至少一个相关联的至少一个训练用户收集至少一个反馈值,其中至少一个反馈值指示至少一个用户与由预测模型计算出的多个预测评分中的至少一些的一致性水平;以及

    根据至少一个反馈值,更新相应的至少一个训练用户简档中的至少一个训练用户属性值。

    9.根据权利要求1所述的方法,其中多个项目中的至少一个选自由以下各项组成的一组项目:餐馆标识符、接待设施标识符、电影标识符、书籍标识符、家用电器标识符、零售商标识符和场所标识符。

    10.根据权利要求1所述的方法,其中输出至少一个评分包括为至少一个评分中的每一个输出至少一项目的相应项目。

    11.根据权利要求1所述的方法,其中将用户简档和多个项目输入到预测模型中包括:计算指示多个用户属性值和多个项目的多个项目属性的至少一组状态值。

    12.根据权利要求1所述的方法,其中计算至少一个评分还包括:

    计算至少一个其他评分,每个其他评分根据多个用户属性值和相应项目的相应多个项目属性为多个项目之一计算;以及

    将至少一个评分与至少另一个其他评分汇总。

    13.根据权利要求12所述的方法,其中计算至少一个其他评分包括将基于内容的过滤方法应用于多个用户属性值和多个项目的多个项目属性。

    14.根据权利要求1所述的方法,其中计算至少一个评分还包括:

    识别至少一个评分中的至少一个最高评分;以及

    输出至少一个最高评分。

    15.根据权利要求1所述的方法,其中计算至少一个评分还包括:

    通过对至少一个评分应用至少一种测试来计算至少一个过滤后评分;以及

    输出至少一个过滤后评分。

    16.根据权利要求2所述的方法,其中计算至少一个评分还包括:

    通过将至少一个矩阵分解方法应用于多个项目属性、多个用户属性值和其他多个用户属性值,计算至少一个协同过滤评分,每个协同过滤评分根据多个用户属性值与多个其他用户简档的其他多个用户属性值之间的另一相似性为多个项目之一计算;以及

    将至少一个评分与至少另一个协同过滤评分汇总。

    17.一种用于预测至少一个项目的至少一个评分的系统,包括:至少一个处理器,适于执行根据权利要求1至16任一项的方法的步骤。

    18.一种计算机程序产品,包括其上存储有指令的计算机可读介质,所述所述指令在由所述处理单元执行时使处理单元执行根据权利要求1至16任一项的方法的步骤。

    19.一种用于训练预测模型的方法,包括:

    在多个训练迭代中的每一个中:

    接收多个训练用户简档中的一个训练用户简档,训练用户简档具有多个训练用户属性值;

    响应于训练用户简档和多个训练项目,由预测模型计算多个预测评分,每个预测评分用于多个训练项目之一,其中多个训练项目中的每一个具有多个训练项目属性;

    为训练用户简档计算多个预期评分,每个预期评分是根据多个训练用户属性值和训练项目的多个训练项目属性为多个训练项目之一计算的;以及

    修改预测模型的多个模型值中的至少一个模型值,以使使用多个预期评分和多个预测评分计算出的奖励评分最大化。

    20.一种用于训练预测模型的系统,包括:至少一个处理器,适于执行根据权利要求19的方法的步骤。

    21.一种计算机程序产品,包括其上存储有指令的计算机可读介质,所述所述指令在由所述处理单元执行时使处理单元执行:

    在多个训练迭代中的每一个中:

    接收多个训练用户简档中的一个训练用户简档,训练用户简档具有多个训练用户属性值;

    响应于训练用户简档和多个训练项目,由预测模型计算多个预测评分,每个预测评分用于多个训练项目之一,其中多个训练项目中的每一个具有多个训练项目属性;

    为训练用户简档计算多个预期评分,每个预期评分是根据多个训练用户属性值和训练项目的多个训练项目属性为多个训练项目之一计算的;以及

    修改预测模型的多个模型值中的至少一个模型值,以使使用多个预期评分和多个预测评分计算出的奖励评分最大化。

    22.一种设备,包括执行根据权利要求1至16、19任一项的方法的步骤的装置。

    技术总结
    本发明涉及一种推荐器系统和方法。一种用于预测至少一个项目的至少一个评分的方法包括:在多个迭代中的至少一个迭代中:接收具有多个用户属性值的用户简档;通过将用户简档和多个项目输入到由以下训练的预测模型中根据用户简档和多个其他用户简档之间的相似度来计算至少一个评分:在多个训练迭代中的每一个中:接收多个训练用户简档中的一个训练用户简档,训练用户简档具有多个训练用户属性值;响应于训练用户简档和多个训练项目,由预测模型计算多个预测评分,每个预测评分用于多个训练项目之一,其中多个训练项目中的每一个具有多个训练项目属性。

    技术研发人员:A·扎多罗伊尼;M·马辛;E·申丁;N·马施基夫
    受保护的技术使用者:国际商业机器公司
    技术研发日:2020.08.10
    技术公布日:2021.03.12

    转载请注明原文地址:https://wp.8miu.com/read-21397.html

    最新回复(0)