CN111008321A - 基于逻辑回归推荐方法、装置、计算设备、可读存储介质 - Google Patents
基于逻辑回归推荐方法、装置、计算设备、可读存储介质 Download PDFInfo
- Publication number
- CN111008321A CN111008321A CN201911128523.3A CN201911128523A CN111008321A CN 111008321 A CN111008321 A CN 111008321A CN 201911128523 A CN201911128523 A CN 201911128523A CN 111008321 A CN111008321 A CN 111008321A
- Authority
- CN
- China
- Prior art keywords
- data
- user
- logistic regression
- item
- matrix
- 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.)
- Granted
Links
Images
Classifications
-
- 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/951—Indexing; Web crawling techniques
-
- 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
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Abstract
本发明涉及基于逻辑回归推荐方法,混合推荐方法为:S1、获取用户行为相关数据;S2、根据步骤S1获取的用户行为相关数据,提取物品特征元数据、用户特征元数据、用户行为特征元数据,并对元数据进行处理,通过CF算法和CB算法进行检索引擎的搜索,对物品召回,得到粗排序索引库数据;S3、物品召回完成后,利用训练后的逻辑回归模型对粗排序索引库数据进一步精排序,得到精排序索引库数据;S4、按规定的度量标准对精排序索引库数据进行去重过滤,取出前N项推荐结果返回给页面,呈现给用户。本发明在基于内容和协同过滤方法的基础上,融入逻辑回归模型的推荐方法,能够有效提升推荐效果。
Description
技术领域
本发明属于个性化推荐技术领域,尤其涉及一种基于逻辑回归精排序模型的混合推荐方法。
背景技术
随着大数据时代的到来,推荐系统已成为大众在面对海量互联网信息筛选问题时的最佳解决方案。一个完整的推荐系统其核心是推荐引擎,推荐引擎是一种算法,旨在通过从大量数据中过滤有用的信息,为用户提供所需的相关项目。推荐引擎可以通过存储和分析用户行为日志、物品评分等历史信息挖掘数据集中的样本模式,进一步分析用户特征,产生与用户需求和兴趣共同相关的项目结果,提供推荐服务。这些推荐系统给用户带来便捷的信息筛选服务的同时,也丰富了用户的互联网生活。
传统的推荐算法包括协同过滤推荐算法(Collaborative FilteringRecommendation,CF算法)和基于内容的推荐算法(Content-based Recommendation,CB算法),这两种算法也是大多数电商网站和门户网站所采取的推荐方案,应用十分广泛。CF算法是通过用户历史行为信息和物品信息,生成UI(User-Item)矩阵,通过矩阵计算出推荐内容间的相关程度,给出推荐结果。CB算法具体分为两种,引入item属性的基于内容推荐即以物品特征为相似度的计算依据,和引入user属性的基于内容推荐即以用户特征作为相似度的计算依据。上述两种算法在实际的推荐应用中都存在一些问题,传统的CF算法和CB算法由于仅仅依赖于物品特征或用户特征分析,推荐精度较低、缺乏个性化,推荐结果无法对用户进行有效解释并且易产生马太效应,同时可能会由于用户行为稀疏而导致推荐结果覆盖率低的问题。
因此,基于这些问题,提供一种使用CF算法和CB算法进行项目召回完成粗排序后,再利用逻辑回归算法(Logistic Regression,LR算法)建立精排序的算法模型完成筛选工作,对索引库中由CB算法、CF算法召回的数据进行去重、精排,筛选出最终的Top-N推荐结果反馈给用户的基于逻辑回归精排序模型的混合推荐方法,具有重要的现实意义。
发明内容
本发明的目的在于克服现有技术的不足,提供一种使用CF算法和CB算法进行项目召回完成粗排序后,再利用逻辑回归算法(Logistic Regression,LR算法)建立精排序的算法模型完成筛选工作,对索引库中由CB算法、CF算法召回的数据进行去重、精排,筛选出最终的Top-N推荐结果反馈给用户的基于逻辑回归精排序模型的混合推荐方法。
本发明解决其技术问题是采取以下技术方案实现的:
基于逻辑回归推荐方法,所述混合推荐方法为:
S1、获取用户行为相关数据;
S2、根据步骤S1获取的用户行为相关数据,提取物品特征元数据、用户特征元数据、用户行为特征元数据,并对元数据进行处理,通过CF算法和CB算法进行检索引擎的搜索,对物品召回,得到粗排序索引库数据;
S3、物品召回完成后,利用训练后的逻辑回归模型对粗排序索引库数据进一步精排序,得到精排序索引库数据,其中,所述逻辑回归模型的表示方法为:
P(y=1|x;θ)表示给定x条件下事件y发生的条件概率,即用户选中物品y的概率,θ是该条件概率的权重列向量,x为条件行向量;θT为权重列向量的转置;
S4、按规定的度量标准对精排序索引库数据进行去重过滤,取出前N项推荐结果返回给页面,呈现给用户。
进一步的,所述步骤S3中对逻辑回归模型的训练方法为:
S301、获取并处理逻辑回归模型训练数据集及测试数据集;
S302、利用训练数据集对逻辑回归模型进行训练,并通过最大似然原理及梯度下降法确定一组特征权重[θ0,θ1,θ2,θ3,……θn],将得到的一组特征权重与特征值加权即可确定线性回归函数:
hθ(x)=θ0+θ1x1+θ2x2+…+θnxn
式中:x1,x2,x3,……,xn是每个样本的n个特征值,将线性回归函数与Sigmoid函数结合,从而可求出P(y=1|x;θ),最终得到逻辑回归模型;
S303、利用测试数据集对步骤S302中得到的逻辑回归模型进行测试,若测试结果满足要求,则确定逻辑回归模型;若测试结果不满足要求,则重复步骤S301、S302直至测试结果满足要求,最后得到确定后的逻辑回归模型。
进一步的,所述步骤S301中对逻辑回归模型训练数据进行获取并处理的方法为:
a)获取用户画像数据、物品数据、标签数据;
b)定义用户的标签label,并将label值设置为0或1;
c)抽取用户画像数据,将用户的信息转换成多个特征格式,每个用户特征都赋权重值为1,将所有的权重值放入字典中;
d)抽取物品特征,将去重后的物品名称itemName取出进行分词,然后把分好的词放入字典中再去重,将分词标记token转换成标识符ID,把标识符ID当作物品的特征来处理;
e)将标签值label、用户信息、物品信息列表中的数据进行替换,即将分词标记token转换成标识符ID,在原有字典的基础上生成第1步字典,将用户特征user_feature转换为用户标识符userID,生成第2步字典,将物品特征item_feature转换为物品标识符itemID,生成第3步字典,从第3步字典中取出用户标识符userID、物品标识符itemID,拼接在一起放入文件中,得到最终的训练测试数据集。
进一步的,在对逻辑回归模型进行训练时,使用数据加载load_data()函数加载数据,对模型进行训练;其中,使用数据加载load_data()函数加载数据的过程为:
a、建立4个列表,分别用来存放label、行号、列特征、各个列特征对应的分数;
b、将步骤a中的4个列表转换合成为矩阵:使用NumPy系统将列表转换成NumPy.array,再使用稀疏矩阵csr_matrix建成矩阵;
c、通过train_test_split函数得到训练集及测试集。
进一步的,所述步骤S2中采用CB算法进行物品召回前的元数据处理方法为:
a)提取元数据,采用TF-IDF算法对提取的数据进行分词分析,并设置各分词的权重值;
b)将生成的标记token文件、项目标识符itemid文件,评分score文件进行转换,转成Item-based矩阵,在转换过程中采用皮尔逊相关系数计算公式进行相似度计算,然后两两配对,将包含相同的标记token的物品放在一起;
c)格式化数据,并将格式化后的数据放入NoSql数据库。
进一步的,所述S2中采用CF算法进行物品召回前的元数据处理方法为:
a)进行用户对物品喜好程度的分数计算,得到User-Item矩阵;
b)CF算法数据准备:将User-Item矩阵转成Item-based矩阵,在转换过程中采用皮尔逊相关系数计算公式进行相似度计算,对得到的II矩阵进行归一化,在矩阵与矩阵之间进行两两配对,将相同物品item的pair对的分数相加,得到两个物品item的相似度;
c)数据格式化后放入NoSql数据库。
进一步的,所述步骤a)中的分词使用结巴分词接口直接调用实现。
基于逻辑回归推荐装置,包括:
用户行为相关数据获取模块,用于获取用户行为相关数据;
粗排序数据获取模块,用于搜索检索引擎,对物品进行召回并得到粗排序索引库数据;
精排序数据获取模块,用于对粗排序索引库数据进一步精排序,从而得到精排序索引库数据;
精排序数据过滤推荐模块,用于对精排序索引库数据去重过滤,并将推荐结果呈现给用户。
一种计算设备,包括:一个或多个处理单元;存储单元,用于存储一个或多个程序,其中,当所述一个或多个程序被所述一个或多个处理单元执行,使得所述一个或多个处理单元执行如权利要求1至7中任一项所述的方法。
一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至7任意一项所述方法的步骤。
本发明的优点和积极效果是:
本发明在基于内容和协同过滤方法的基础上,融入逻辑回归算法的推荐方法,能够有效提升推荐效果;先使用基于内容和协同过滤的混合推荐算法对物品进行召回并排序,得到初步的粗排序推荐列表,再利用逻辑回归算法对粗排序结果进行训练,通过精排序训练模型的加工,最后得到更加完善的推荐结果;当综合考虑物品特征和用户特征时,本发明的方法能够达到更为理想的推荐效果。
附图说明
以下将结合附图和实施例来对本发明的技术方案作进一步的详细描述,但是应当知道,这些附图仅是为解释目的而设计的,因此不作为本发明范围的限定。此外,除非特别指出,这些附图仅意在概念性地说明此处描述的结构构造,而不必要依比例进行绘制。
图1为本发明实施例提供的四种推荐方法在三种不同推荐场景下的准确率指标折线图;
图2为本发明实施例提供的四种推荐方法在三种不同推荐场景下的召回率指标折线图;
具体实施方式
首先,需要说明的是,以下将以示例方式来具体说明本发明的具体结构、特点和优点等,然而所有的描述仅是用来进行说明的,而不应将其理解为对本发明形成任何限制。
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
下面就结合图1至图2来具体说明本发明。
本实施例使用的数据集为2017年11月25日至2017年12月3日之间,某音乐门户网站有行为的约两万名随机用户的历史行为(行为包括点击、收听、喜欢)。数据集的组织形式和MovieLens-20M类似,即数据集的每一行表示一条用户行为,由用户ID、歌曲ID、歌曲类别ID、用户行为类型等和时间戳组成,并以逗号分隔。
实验环境搭建了4个节点的Hadoop集群,每个节点的配置为:四核Intel Core CPU集群,主频3.6GHz,内存4GB,1TB硬盘空间,其中一台机器作为NameNode,其余三台作为DataNode.每台节点安装的操作系统为RedHat6.7,Hadoop版本为Hadoop-2.6.3,JDK版本为1.8.0_73.实验用到的数据类型为txt格式文档,txt文档大小分布在2MB-10MB。
采用基于逻辑回归精排序模型的混合推荐方法对上述数据集进行处理,从而得到精排序,具体步骤为:
S1、通过Web页面反馈的用户历史行为(行为包括点击、收听、喜欢),获取用户行为相关数据;
S2、根据步骤S1获取的用户行为相关数据,提取物品特征元数据、用户特征元数据、用户行为特征元数据,并对元数据进行处理,通过CF算法和CB算法进行检索引擎的搜索,对物品召回,得到粗排序索引库数据;
S201、元数据准备
根据步骤S1获得的用户行为相关数据,提取物品特征元数据、用户特征元数据、用户行为特征元数据,并对元数据进行处理,将元数据进行格式化处理,放入同一文件中,完成数据拼接工作,为后面的算法和模型建立做数据准备。
表1元数据处理格式
S202、采用CB算法进行物品召回,并将召回的数据放在索引库中;需要指出的是,在采用CB算法进行物品召回之前,对元数据的处理方法为:
a)采用TF-IDF算法对提取的数据进行分词分析,并设置各分词的权重值;具体的:首先,把元数据阶段准备好的数据进行提取,提取需要的物品标识符itemid,名称name,标签tags,desc表名;其次,进行物品标识符itemid去重工作,因为相同的物品名称itemName没必要重复添加;然后,将物品名称itemName进行分词,得到TF-IDF值,同时将desc表名进行分词,在元数据中已有分类好的标签tags,因此标签tags没必要再次进行切分,只需要用IDF词表查出TF-IDF值即可进行分词工作;最后,用分词后的TF-IDF值乘以各自的权重(设置三个形式的权重,名称name权重赋值0.9,desc表名赋值0.2,标签tags赋值0.05,该权重可以根据具体应用需求自行定义),得到标记token文件、项目标识符itemid文件、评分score文件。
b)将生成的标记token文件、项目标识符itemid文件,评分score文件进行转换,转成Item-based矩阵,在转换过程中采用皮尔逊相关系数计算公式进行相似度计算,然后两两配对,将包含相同的标记token的项目放在一起,以达到最后召回的目的。
需要说明的是,相似度计算,要用到MapReduce的框架来进行,只要用到shuffle阶段,对map出来的结果排序,reduce进行两两配对,这里就是主要的wordcount逻辑;需要注意的是:需要把两两相同分数的过滤掉,或是把相同的物品item过滤掉;
c)格式化数据,并将格式化后的数据放入NoSql数据库;
格式化数据放入NoSql数据库,需要将itemA设置为key,itemB和score组成“itemB:score”这种方式,利用字典,将与itemA配对的都放在一起,最后组成NoSql数据库的key文件为itemA,value为与A有关联的其他item,生成数据数据后,利用NoSql数据库的管道形式批量插入NoSql库,在插入前格式化一下数据。
S203、采用CF算法进行物品召回,并将召回的数据放在索引库中;需要指出的是,在采用CF算法进行物品召回之前,对元数据的处理方法为:
a)进行用户对物品喜好程度的分数计算,得到User-Item矩阵;
b)CF算法数据准备:将User-Item矩阵转成Item-based矩阵,在转换过程中采用皮尔逊相关系数计算公式进行相似度计算,对得到的II矩阵进行归一化,在矩阵与矩阵之间进行两两配对,将相同物品item的pair对的分数相加,得到两个物品item的相似度;
c)数据格式化后放入NoSql数据库。
CF算法使用的是用户对物品的打分信息,因此要进行打分计算,用户行为日志记录了用户收听一首歌曲的具体时长,歌曲信息中包含这首歌曲的总时长,所以该用户对当前歌曲的喜好程度表示为:用户收听时长/歌曲总时长。
具体的,在CF算法的数据处理过程中,所使用的数据是基于用户历史行为信息和物品信息的UI(User-Item)矩阵数据,通过计算矩阵相似度来度量物品或用户间的相似度。UI矩阵有两种不同的相似度计算方法:一种是UU(User-based)矩阵,即基于用户与用户的协同过滤推荐(User CF);另一种是II(Item-based)矩阵,即基于物品与物品的协同过滤推荐(Item CF)。当系统要对用户做出推荐时,直接查询计算UU矩阵,推荐与之有相似兴趣的其他用户喜好的物品内容。如果该用户并没有与之有相似兴趣的其他用户记录,则可以根据物品信息来推荐,查询计算II矩阵,直接推荐与当前用户喜好物品相似的其他物品。
需要说明的是,在本实施例中,CF算法采用基于物品与物品的协同过滤推荐(ItemCF)方法。
作为举例,Item-based矩阵计算原理:
给定用户u,找到一个物品集合R(u),该集合包含的物品与用户u过去喜欢的物品具有相似的特征属性,将与集合R(u)内物品相似的其他物品推荐给用户u。同样以数据处理为例说明(与上述User-based矩阵使用的数据为同一组):首先得到四位用户的UI矩阵,将矩阵转置后进行相似度计算,将UI矩阵转换成II矩阵(表4所示)。转换过程中的相似度计算所用公式仍为皮尔逊相关系数计算公式。
表2 UI矩阵
表4 II矩阵
得到II矩阵,对歌曲Electric做数据分析后,使用C用户已经评分过的其余四首歌曲的评分来预测C用户对歌曲Electric的评分。计算过程如下:
根据公式计算C用户对歌曲Electric的预测评分为
S3、物品召回完成后,利用训练后的逻辑回归模型对粗排序索引库数据进一步精排序,得到精排序索引库数据,其中,所述逻辑回归模型的表示方法为:
P(y=1|x;θ)表示给定x条件下事件y发生的条件概率,即用户选中物品y的概率,θ是该条件概率的权重列向量,x为条件行向量;θT为权重列向量的转置;
需要说明的是,所述步骤S3中对逻辑回归模型的训练方法为:
S301、获取并处理逻辑回归模型训练数据集及测试数据集:
其中,逻辑回归模型训练集及测试集数据处理过程为:
a)、获取用户画像数据、物品数据、标签数据;
b)、定义用户的标签label,并将label值设置为0或1;以用户实际收听歌曲的时间watchTime除以该首歌曲的总时长totalTime,得到比值t,设置两个阈值,作为判断用户喜欢当前歌曲的概率邻域的上限值和下限值;通过多组实验,测试得出上限值设为Tmax=0.7、下限值设为Tmin=0.2时,最能准确判别用户对歌曲的喜爱程度;两个阈值作为标准与比值t进行大小比较;t大于0.7则认为用户喜爱当前歌曲,t小于0.2则认为用户不喜欢当前歌曲;
c)、抽取用户画像,将用户的信息转换成多个特征格式,按性别特征抽取、年龄特征抽取的顺序进行。每个用户特征都赋权重值为1,将所有的权重值放入字典中,方便全部数据替换时进行查询;
d)、抽取物品特征将去重后的itemName取出进行分词,然后把分好的词放入字典中再去重,这样可以将分词token转换成标识符ID,把标识符ID当作物品的特征来处理,便于进行模型计算;由于之前用户画像的特征取值是从0开始的,所以给物品特征的index值加上偏移量+10,防止与用户画像冲突;
e)、将标签值label、用户信息、物品信息列表中的数据进行替换,即将分词标记token转换成标识符ID,在原有字典的基础上生成第1步字典,将用户特征user_feature转换为用户标识符userID,生成第2步字典,将物品特征item_feature转换为物品标识符itemID,生成第3步字典,从第3步字典中取出用户标识符userID、物品标识符itemID,拼接在一起放入文件中,得到最终的训练测试数据集。
S302、利用训练数据集对逻辑回归模型进行训练,并通过最大似然原理及梯度下降法确定一组特征权重[θ0,θ1,θ2,θ3,……θn],将得到的一组特征权重与特征值加权即可确定线性回归函数:
hθ(x)=θ0+θ1x1+θ2x2+…+θnxn
式中:x1,x2,x3,……,xn是每个样本的n个特征值,将线性回归函数与Sigmoid函数结合,从而可求出P(y=1|x;θ),最终得到逻辑回归模型;
具体的:在训练时,先进入main方法,其次,调用load_data函数,返回四个值,分别是训练x、测试x、训练y、测试y;训练的x和y是用来做训练用,测试的x和y用来做测试用;直接使用sklearn里面已经提供的ogisticsRegression方法,该方法中有个参数,就是正则化的L1或是L2,使用L1正则化或是L2正则化使得到结果更加可靠;然后,用该模型拟合训练集x、y,得到模型,模型中的参数就是特征权重[θ0,θ1,θ2,θ3,……θn]。得到特征权重后,在测试集上进行测试,评估当前模型。
需要说明的是,load_data()函数的主要是将label、各类特征转换成矩阵的形式。首先,需要建立4个list,分别用来存放label、行号、列特征、各个列特征对应的分数,这主要是为了提前申请好空间,每一行代表个记录,每一列代表一个特征;使用csr_matrix将这4个list转换合成为表,但是不能直接使用list,需要使用np转换成np.array,再使用csr_matrix建成矩阵,最后通过train_test_split得到训练x、测试x、训练y、测试y。
S303、利用测试数据集对步骤S302中得到的逻辑回归模型进行测试,若测试结果满足要求,则确定逻辑回归模型;若测试结果不满足要求,则重复步骤S301、S302直至测试结果满足要求。
S4、精排序完成之后,进行去重过滤,取出前N项推荐结果返回给页面,呈现给用户。
通过对比实验,比较基于CB、CF算法的推荐算法,与本文提出的基于CB、CF算法融合LR精排序模型的推荐算法在准确率、召回率上的差异,来证明融入LR算法进行精排序的推荐算法具有更好的推荐效果。为了突出本文方法在特定场景下的优越性,选用三种主流的推荐方法与本文设计的方法(our method(CB&CF,LR))进行对比,这三种主流推荐方法是文献Yan Li,Hanjie Wang,Hailong Liu,Bo Chen.A Study On Content-Based VideoRecommendation[C].2017IEEE International Conference on Image Processing(ICIP),2017,4581-4585.提出的video recommendation(item-based CB)、文献XiwangYang,Chao Liang,Miao Zhao,Member,IEEE,Hongwei Wang,Hao Ding,Yong Liu,Fellow,IEEE,Yang Li,and Junlin Zhang.Collaborative Filtering-Based Recommendation ofOnline Social Voting[J].IEEE Transactions on Computational Social Systems,2017,4(1):1-13.提出的online social voting recommendation(user-based CF)、文献Ashish Pal,Prateek Parhi and Manuj Aggarwal Department of Computer ScienceARSD College,University of Delhi New Delhi,India.An Improved Content BasedCollaborative Filtering Algorithm For Movie Recommendations[C].Proceedings of2017Tenth International Conference on Contemporary Computing(IC3),2017,1-3.提出的movie recommendation(CB&CF)。
设计三组实验,每组实验设置不同的特征权重值,比较不同特征权重值条件下四种方法的效果差异。三组对比实验中物品特征和用户特征的权重值设置分别如下。
实验1:
设置歌曲特征权重值为0.6(item=0.6)、用户特征权重值为0.3(user=0.3),比较四种方法。实验结果如表5所示。结果表明,此时item-based CB算法在两项评测指标上表现最好。这是因为item-based CB算法着重于计算物品间相似度,所以当物品特征的重要性强于用户特征时,该推荐方法对提升推荐物品的相关性有显著帮助。
表5 item=0.6,user=0.3时的准确率和召回率
实验2:
设置歌曲特征权重值为0.3(item=0.3)、用户特征权重值为0.6(user=0.6),比较四种方法。实验结果如表6所示。结果表明,此时user-based CF算法在两项评测指标上表现最好。这是因为user-based CF算法着重于分析用户特征,在对用户个性化要求高、用户特征信息数量足够多的推荐场景下有更好的性能表现,所以当用户特征的重要性强于物品特征时,user-based CF算法对用户个性化推荐有显著帮助。
表6 item=0.3,user=0.6时的准确率和召回率
实验3:
设置歌曲特征权重值为0.45(item=0.45)、用户特征权重值为0.45(user=0.45),比较四种方法。实验结果如表7所示。结果表明,此时基于CB、CF融合LR精排序模型的推荐算法在两项评测指标上表现最好,CB&CF算法表现其次。这是因为当物品特征和用户特征没有明显的侧重性,即综合考虑这两种特征时,CB&CF推荐方法因同时考虑物品相关性和用户个性化能够展现出比之前场景更好的推荐性能,而本文设计的方法在其基础上融入LR算法进行精排序,对推荐结果的精确性和个性化程度有更显著的提升。
表7 item=0.45,user=0.45时的准确率和召回率
图1为四种推荐方法在三种不同场景下的准确率指标折线图,图2为四种推荐方法在三种不同推荐场景下的召回率指标折线图。通过折线图更直观地展现出实验结果。在准确率方面,本文方法比CB&CF推荐方法提升了1.35%。在召回率方面,本文方法比CB&CF推荐方法提升了1.4%。
基于逻辑回归推荐装置,包括:
用户行为相关数据获取模块,用于获取用户行为相关数据;
粗排序数据获取模块,用于搜索检索引擎,对物品进行召回并得到粗排序索引库数据;
精排序数据获取模块,用于对粗排序索引库数据进一步精排序,从而得到精排序索引库数据;
精排序数据过滤推荐模块,用于对精排序索引库数据去重过滤,并将推荐结果呈现给用户。
一种计算设备,包括:
一个或多个处理单元;
存储单元,用于存储一个或多个程序,
其中,当所述一个或多个程序被所述一个或多个处理单元执行,使得所述一个或多个处理单元执行如权利要求1至7中任一项所述的方法;需要说明的是,计算设备可包括但不仅限于处理单元、存储单元;本领域技术人员可以理解,计算设备包括处理单元、存储单元并不构成对计算设备的限定,可以包括更多的部件,或者组合某些部件,或者不同的部件,例如计算设备还可以包括输入输出设备、网络接入设备、总线等。
一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至7任意一项所述方法的步骤。
需要说明的是,可读存储介质例如可以是,但不限于,电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合;可读介质上包含的程序可以用任何适当的介质传输,包括,但不限于无线、有线、光缆,RF等等,或者上述的任意合适的组合。例如,可以以一种或多种程序设计语言的任意组合来编写用于执行本发明操作的程序代码,所述程序设计语言包括面向对象的程序设计语言,诸如Java,C++等,还包括常规的过程式程序设计语言,诸如C语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行,或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。
以上实施例对本发明进行了详细说明,但所述内容仅为本发明的较佳实施例,不能被认为用于限定本发明的实施范围。凡依本发明申请范围所作的均等变化与改进等,均应仍归属于本发明的专利涵盖范围之内。
Claims (10)
1.基于逻辑回归推荐方法,其特征在于:所述混合推荐方法为:
S1、获取用户行为相关数据;
S2、根据步骤S1获取的用户行为相关数据,提取物品特征元数据、用户特征元数据、用户行为特征元数据,并对元数据进行处理,通过CF算法和CB算法进行检索引擎的搜索,对物品召回,得到粗排序索引库数据;
S3、物品召回完成后,利用训练后的逻辑回归模型对粗排序索引库数据进一步精排序,得到精排序索引库数据,其中,所述逻辑回归模型的表示方法为:
P(y=1|x;θ)表示给定x条件下事件y发生的条件概率,即用户选中物品y的概率,θ是该条件概率的权重列向量,x为条件行向量;θT为权重列向量的转置;
S4、按规定的度量标准对精排序索引库数据进行去重过滤,取出前N项推荐结果返回给页面,呈现给用户。
2.根据权利要求1所述的基于逻辑回归推荐方法,其特征在于:所述步骤S3中对逻辑回归模型的训练方法为:
S301、获取并处理逻辑回归模型训练数据集及测试数据集;
S302、利用训练数据集对逻辑回归模型进行训练,并通过最大似然原理及梯度下降法确定一组特征权重[θ0,θ1,θ2,θ3,……θn],将得到的一组特征权重与特征值加权即可确定线性回归函数:
hθ(x)=θ0+θ1x1+θ2x2+…+θnxn
式中:x1,x2,x3,……,xn是每个样本的n个特征值,将线性回归函数与Sigmoid函数结合,从而可求出P(y=1|x;θ),最终得到逻辑回归模型;
S303、利用测试数据集对步骤S302中得到的逻辑回归模型进行测试,若测试结果满足要求,则确定逻辑回归模型;若测试结果不满足要求,则重复步骤S301、S302直至测试结果满足要求,最后得到确定后的逻辑回归模型。
3.根据权利要求2所述的基于逻辑回归推荐方法,其特征在于:所述步骤S301中对逻辑回归模型训练数据进行获取并处理的方法为:
a)获取用户画像数据、物品数据、标签数据;
b)定义用户的标签label,并将label值设置为0或1;
c)抽取用户画像数据,将用户的信息转换成多个特征格式,每个用户特征都赋权重值为1,将所有的权重值放入字典中;
d)抽取物品特征,将去重后的物品名称itemName取出进行分词,然后把分好的词放入字典中再去重,将分词标记token转换成标识符ID,把标识符ID当作物品的特征来处理;
e)将标签值label、用户信息、物品信息列表中的数据进行替换,即将分词标记token转换成标识符ID,在原有字典的基础上生成第1步字典,将用户特征user_feature转换为用户标识符userID,生成第2步字典,将物品特征item_feature转换为物品标识符itemID,生成第3步字典,从第3步字典中取出用户标识符userID、物品标识符itemID,拼接在一起放入文件中,得到最终的训练测试数据集。
4.根据权利要求3所述的基于逻辑回归推荐方法,其特征在于:在对逻辑回归模型进行训练时,使用数据加载load_data()函数加载数据,对模型进行训练;其中,使用数据加载load_data()函数加载数据的过程为:
a、建立4个列表,分别用来存放label、行号、列特征、各个列特征对应的分数;
b、将步骤a中的4个列表转换合成为矩阵:使用NumPy系统将列表转换成NumPy.array,再使用稀疏矩阵csr_matrix建成矩阵;
c、通过train_test_split函数得到训练集及测试集。
5.根据权利要求2所述的基于逻辑回归推荐方法,其特征在于:所述步骤S2中采用CB算法进行物品召回前的元数据处理方法为:
a)提取元数据,采用TF-IDF算法对提取的数据进行分词分析,并设置各分词的权重值;
b)将生成的标记token文件、项目标识符itemid文件,评分score文件进行转换,转成Item-based矩阵,在转换过程中采用皮尔逊相关系数计算公式进行相似度计算,然后两两配对,将包含相同的标记token的物品放在一起;
c)格式化数据,并将格式化后的数据放入NoSql数据库。
6.根据权利要求2所述的基于逻辑回归推荐方法,其特征在于:所述S2中采用CF算法进行物品召回前的元数据处理方法为:
a)进行用户对物品喜好程度的分数计算,得到User-Item矩阵;
b)CF算法数据准备:将User-Item矩阵转成Item-based矩阵,在转换过程中采用皮尔逊相关系数计算公式进行相似度计算,对得到的II矩阵进行归一化,在矩阵与矩阵之间进行两两配对,将相同物品item的pair对的分数相加,得到两个物品item的相似度;
c)数据格式化后放入NoSql数据库。
7.根据权利要求6所述的基于逻辑回归推荐方法,其特征在于:所述步骤a)中的分词使用结巴分词接口直接调用实现。
8.基于逻辑回归推荐装置,其特征在于:包括:
用户行为相关数据获取模块,用于获取用户行为相关数据;
粗排序数据获取模块,用于搜索检索引擎,对物品进行召回并得到粗排序索引库数据;
精排序数据获取模块,用于对粗排序索引库数据进一步精排序,从而得到精排序索引库数据;
精排序数据过滤推荐模块,用于对精排序索引库数据去重过滤,并将推荐结果呈现给用户。
9.一种计算设备,其特征在于:包括:
一个或多个处理单元;
存储单元,用于存储一个或多个程序,
其中,当所述一个或多个程序被所述一个或多个处理单元执行,使得所述一个或多个处理单元执行如权利要求1至7中任一项所述的方法。
10.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至7任意一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911128523.3A CN111008321B (zh) | 2019-11-18 | 2019-11-18 | 基于逻辑回归推荐方法、装置、计算设备、可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911128523.3A CN111008321B (zh) | 2019-11-18 | 2019-11-18 | 基于逻辑回归推荐方法、装置、计算设备、可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111008321A true CN111008321A (zh) | 2020-04-14 |
CN111008321B CN111008321B (zh) | 2023-08-29 |
Family
ID=70113797
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911128523.3A Active CN111008321B (zh) | 2019-11-18 | 2019-11-18 | 基于逻辑回归推荐方法、装置、计算设备、可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111008321B (zh) |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111914182A (zh) * | 2020-09-11 | 2020-11-10 | 福州淘股吧互联网股份有限公司 | 一种个性化内容推荐系统及其方法 |
CN111931065A (zh) * | 2020-09-03 | 2020-11-13 | 猪八戒股份有限公司 | 基于lstm模型的商机推荐方法、系统、电子设备及介质 |
CN112528164A (zh) * | 2020-12-14 | 2021-03-19 | 建信金融科技有限责任公司 | 一种用户协同过滤召回方法及装置 |
CN112612957A (zh) * | 2020-12-24 | 2021-04-06 | 北京百度网讯科技有限公司 | 兴趣点的推荐方法、兴趣点推荐模型的训练方法、装置 |
CN112667923A (zh) * | 2021-01-15 | 2021-04-16 | 北京金和网络股份有限公司 | 基于大数据的智能推荐方法及装置 |
CN113379482A (zh) * | 2021-05-28 | 2021-09-10 | 车智互联(北京)科技有限公司 | 一种物品推荐方法、计算设备以及存储介质 |
CN113505273A (zh) * | 2021-05-24 | 2021-10-15 | 平安银行股份有限公司 | 基于重复数据筛选的数据排序方法、装置、设备及介质 |
CN113837843A (zh) * | 2021-09-29 | 2021-12-24 | 平安科技(深圳)有限公司 | 产品推荐方法、装置、介质及电子设备 |
CN114066278A (zh) * | 2021-11-22 | 2022-02-18 | 北京百度网讯科技有限公司 | 物品召回的评估方法、装置、介质及程序产品 |
CN114579801A (zh) * | 2022-04-28 | 2022-06-03 | 深圳市华曦达科技股份有限公司 | 一种基于天鹰优化算法的长视频推荐方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20170169341A1 (en) * | 2015-12-14 | 2017-06-15 | Le Holdings (Beijing) Co., Ltd. | Method for intelligent recommendation |
CN107220217A (zh) * | 2017-05-31 | 2017-09-29 | 北京京东尚科信息技术有限公司 | 基于逻辑回归的特征系数训练方法和装置 |
CN107341687A (zh) * | 2017-06-01 | 2017-11-10 | 华南理工大学 | 一种基于多维标签与分类排序的推荐算法 |
CN110162700A (zh) * | 2019-04-23 | 2019-08-23 | 腾讯科技(深圳)有限公司 | 信息推荐及模型的训练方法、装置、设备以及存储介质 |
CN110309195A (zh) * | 2019-05-10 | 2019-10-08 | 电子科技大学 | 一种基于fwdl模型的内容推荐方法 |
-
2019
- 2019-11-18 CN CN201911128523.3A patent/CN111008321B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20170169341A1 (en) * | 2015-12-14 | 2017-06-15 | Le Holdings (Beijing) Co., Ltd. | Method for intelligent recommendation |
CN107220217A (zh) * | 2017-05-31 | 2017-09-29 | 北京京东尚科信息技术有限公司 | 基于逻辑回归的特征系数训练方法和装置 |
CN107341687A (zh) * | 2017-06-01 | 2017-11-10 | 华南理工大学 | 一种基于多维标签与分类排序的推荐算法 |
CN110162700A (zh) * | 2019-04-23 | 2019-08-23 | 腾讯科技(深圳)有限公司 | 信息推荐及模型的训练方法、装置、设备以及存储介质 |
CN110309195A (zh) * | 2019-05-10 | 2019-10-08 | 电子科技大学 | 一种基于fwdl模型的内容推荐方法 |
Cited By (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111931065A (zh) * | 2020-09-03 | 2020-11-13 | 猪八戒股份有限公司 | 基于lstm模型的商机推荐方法、系统、电子设备及介质 |
CN111914182A (zh) * | 2020-09-11 | 2020-11-10 | 福州淘股吧互联网股份有限公司 | 一种个性化内容推荐系统及其方法 |
CN112528164B (zh) * | 2020-12-14 | 2023-02-03 | 中国建设银行股份有限公司 | 一种用户协同过滤召回方法及装置 |
CN112528164A (zh) * | 2020-12-14 | 2021-03-19 | 建信金融科技有限责任公司 | 一种用户协同过滤召回方法及装置 |
CN112612957A (zh) * | 2020-12-24 | 2021-04-06 | 北京百度网讯科技有限公司 | 兴趣点的推荐方法、兴趣点推荐模型的训练方法、装置 |
CN112612957B (zh) * | 2020-12-24 | 2023-09-29 | 北京百度网讯科技有限公司 | 兴趣点的推荐方法、兴趣点推荐模型的训练方法、装置 |
CN112667923A (zh) * | 2021-01-15 | 2021-04-16 | 北京金和网络股份有限公司 | 基于大数据的智能推荐方法及装置 |
CN113505273A (zh) * | 2021-05-24 | 2021-10-15 | 平安银行股份有限公司 | 基于重复数据筛选的数据排序方法、装置、设备及介质 |
CN113505273B (zh) * | 2021-05-24 | 2023-08-22 | 平安银行股份有限公司 | 基于重复数据筛选的数据排序方法、装置、设备及介质 |
CN113379482A (zh) * | 2021-05-28 | 2021-09-10 | 车智互联(北京)科技有限公司 | 一种物品推荐方法、计算设备以及存储介质 |
CN113379482B (zh) * | 2021-05-28 | 2023-12-01 | 车智互联(北京)科技有限公司 | 一种物品推荐方法、计算设备以及存储介质 |
CN113837843A (zh) * | 2021-09-29 | 2021-12-24 | 平安科技(深圳)有限公司 | 产品推荐方法、装置、介质及电子设备 |
CN113837843B (zh) * | 2021-09-29 | 2023-11-24 | 平安科技(深圳)有限公司 | 产品推荐方法、装置、介质及电子设备 |
CN114066278A (zh) * | 2021-11-22 | 2022-02-18 | 北京百度网讯科技有限公司 | 物品召回的评估方法、装置、介质及程序产品 |
CN114579801A (zh) * | 2022-04-28 | 2022-06-03 | 深圳市华曦达科技股份有限公司 | 一种基于天鹰优化算法的长视频推荐方法 |
Also Published As
Publication number | Publication date |
---|---|
CN111008321B (zh) | 2023-08-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111008321A (zh) | 基于逻辑回归推荐方法、装置、计算设备、可读存储介质 | |
US10146862B2 (en) | Context-based metadata generation and automatic annotation of electronic media in a computer network | |
CN108694223B (zh) | 一种用户画像库的构建方法及装置 | |
CN108280114B (zh) | 一种基于深度学习的用户文献阅读兴趣分析方法 | |
CN110909182B (zh) | 多媒体资源搜索方法、装置、计算机设备及存储介质 | |
MX2013005056A (es) | Enfoque multimodal para entrada de busqueda de consulta. | |
CN107832338B (zh) | 一种识别核心产品词的方法和系统 | |
CN103136228A (zh) | 一种图片搜索方法以及图片搜索装置 | |
CN111475725A (zh) | 用于搜索内容的方法、装置、设备和计算机可读存储介质 | |
CN106446235A (zh) | 视频的搜索方法和装置 | |
CN111159563A (zh) | 用户兴趣点信息的确定方法、装置、设备及存储介质 | |
CN109819002B (zh) | 数据推送方法和装置、存储介质及电子装置 | |
US9552415B2 (en) | Category classification processing device and method | |
CN111538903B (zh) | 搜索推荐词确定方法、装置、电子设备及计算机可读介质 | |
JP7395377B2 (ja) | コンテンツ検索方法、装置、機器、および記憶媒体 | |
Tan et al. | Placing videos on a semantic hierarchy for search result navigation | |
US9208157B1 (en) | Spam detection for user-generated multimedia items based on concept clustering | |
CN105279172B (zh) | 视频匹配方法和装置 | |
US11726972B2 (en) | Directed data indexing based on conceptual relevance | |
US20160335325A1 (en) | Methods and systems of knowledge retrieval from online conversations and for finding relevant content for online conversations | |
CN113744011A (zh) | 物品搭配方法和物品搭配装置 | |
CN115795023B (zh) | 文档推荐方法、装置、设备以及存储介质 | |
KR20120133546A (ko) | 사용자가 선정한 키워드에 기반한 콘텐츠 관련정보 제공장치 및 방법 | |
CN114282536A (zh) | 一种基于ai算法的智能推荐引擎系统 | |
CN108268552B (zh) | 网站信息的处理方法及装置 |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |