CN115422453B - 项目推荐方法及项目推荐装置 - Google Patents
项目推荐方法及项目推荐装置 Download PDFInfo
- Publication number
- CN115422453B CN115422453B CN202211066084.XA CN202211066084A CN115422453B CN 115422453 B CN115422453 B CN 115422453B CN 202211066084 A CN202211066084 A CN 202211066084A CN 115422453 B CN115422453 B CN 115422453B
- Authority
- CN
- China
- Prior art keywords
- matrix
- user
- project
- representing
- emoticon
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 35
- 239000011159 matrix material Substances 0.000 claims abstract description 355
- 230000003993 interaction Effects 0.000 claims abstract description 163
- 230000008451 emotion Effects 0.000 claims abstract description 116
- 238000011156 evaluation Methods 0.000 claims abstract description 48
- 239000013598 vector Substances 0.000 claims description 175
- 238000004590 computer program Methods 0.000 claims description 21
- 230000006870 function Effects 0.000 claims description 11
- 238000006243 chemical reaction Methods 0.000 claims description 10
- 230000004044 response Effects 0.000 claims description 3
- 230000000295 complement effect Effects 0.000 abstract description 9
- 238000000354 decomposition reaction Methods 0.000 abstract description 2
- 238000010586 diagram Methods 0.000 description 6
- 230000008569 process Effects 0.000 description 5
- 238000012545 processing Methods 0.000 description 4
- 230000005540 biological transmission Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000000605 extraction Methods 0.000 description 2
- 238000001914 filtration Methods 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- NAWXUBYGYWOOIX-SFHVURJKSA-N (2s)-2-[[4-[2-(2,4-diaminoquinazolin-6-yl)ethyl]benzoyl]amino]-4-methylidenepentanedioic acid Chemical compound C1=CC2=NC(N)=NC(N)=C2C=C1CCC1=CC=C(C(=O)N[C@@H](CC(=C)C(O)=O)C(O)=O)C=C1 NAWXUBYGYWOOIX-SFHVURJKSA-N 0.000 description 1
- 230000001186 cumulative effect Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000002996 emotional effect Effects 0.000 description 1
- 230000036541 health Effects 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 239000003550 marker Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
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/953—Querying, e.g. by the use of web search engines
- G06F16/9535—Search customisation based on user profiles and personalisation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/279—Recognition of textual entities
- G06F40/284—Lexical analysis, e.g. tokenisation or collocates
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本公开的实施例提供一种项目推荐方法,其包括:获取m个用户分别对n个项目中的一个或多个项目的实际评价;根据实际评价中的实际评分来构建初始用户‑项目交互矩阵;根据实际评价中的实际表情符号来构建初始用户‑项目‑表情符号交互张量;获取k个表情符号与g个情感标签的相似度矩阵;借助相似度矩阵对初始用户‑项目交互矩阵和初始用户‑项目‑表情符号交互张量进行联合分解;获得表情符号自表示矩阵;对初始用户‑项目‑表情符号交互张量进行补全;根据表情符号自表示矩阵对补全后的用户‑项目‑表情符号交互张量进行修正;对初始用户‑项目交互矩阵进行补全;以及基于补全后的用户‑项目交互矩阵来确定n个项目中针对m个用户的推荐项目。
Description
技术领域
本公开的实施例涉及计算机技术领域,具体地,涉及项目推荐方法及项目推荐装置。
背景技术
评分预测问题是项目推荐系统中研究的热点,它被广泛地应用在各种领域来对项目(如商品、音乐、电影、旅游等)进行排序和预测。在一些项目推荐系统中采用协同过滤算法来执行推荐任务。协同过滤算法利用用户的交互历史和评分信息来预测未知评分,并为用户生成推荐列表,帮助目标用户发现其感兴趣及相关的项目。
随着互联网技术的发展,信息传播的速度被极大地提高,人类表情传意的方式也被极大地丰富了。因此,形成了独特的网络语言,其中,最具表现力的就是表情符号。表情符号超越了纯文本,使信息内容更加生动。表情符号的大量使用使得表情符号推荐任务受到国内外学者的广泛关注。
在如今的社会媒体与电子商务平台上,人们已经习惯于通过发布表情符号来分享自己的感受并对各种项目进行点评。但是,目前的项目推荐系统只能处理一种类型的数据,例如显式的评分数据或者隐式的浏览数据,而不能处理表情符号。而且目前的表情符号推荐任务也没有考虑用户评分的影响。
发明内容
本文中描述的实施例提供了一种项目推荐方法、项目推荐装置以及存储有计算机程序的计算机可读存储介质。
根据本公开的第一方面,提供了一种项目推荐方法。该项目推荐方法包括:获取m个用户分别对n个项目中的一个或多个项目的实际评价,其中,实际评价中的每个实际评价包括实际评分和实际表情符号中的至少一者;根据实际评价中的实际评分来构建初始用户-项目交互矩阵;根据实际评价中的实际表情符号来构建初始用户-项目-表情符号交互张量;获取k个表情符号与g个情感标签的相似度矩阵;借助相似度矩阵对初始用户-项目交互矩阵和初始用户-项目-表情符号交互张量进行联合分解,以获得估计的用户-潜在因子矩阵、估计的项目-潜在因子矩阵、估计的表情符号-潜在因子矩阵、表情符号的第一权重向量、以及情感标签的第二权重向量;根据估计的用户-潜在因子矩阵、估计的项目-潜在因子矩阵、以及估计的表情符号-潜在因子矩阵和/或根据所述相似度矩阵来获得表情符号自表示矩阵;根据估计的用户-潜在因子矩阵、估计的项目-潜在因子矩阵、以及估计的表情符号-潜在因子矩阵来对初始用户-项目-表情符号交互张量进行补全,以获得补全后的用户-项目-表情符号交互张量;根据表情符号自表示矩阵对补全后的用户-项目-表情符号交互张量进行修正,以获得修正后的用户-项目-表情符号交互张量;利用修正后的用户-项目-表情符号交互张量、相似度矩阵、第一权重向量、第二权重向量、估计的用户-潜在因子矩阵、以及估计的项目-潜在因子矩阵来对初始用户-项目交互矩阵进行补全,以获得补全后的用户-项目交互矩阵;以及基于补全后的用户-项目交互矩阵来确定n个项目中针对m个用户的推荐项目;其中,m、n、k和g均为大于1的整数。
在本公开的一些实施例中,项目推荐方法还包括针对m个用户中的单个用户:从修正后的用户-项目-表情符号交互张量中获取与针对该用户的推荐项目对应的表情符号;从相似度矩阵中获取与所获取的表情符号对应的情感标签;以及使用所获取的表情符号和所获取的情感标签来对针对该用户的推荐项目进行解释。
在本公开的一些实施例中,实际评价中的一个或多个实际评价包括评论文本。实际评价中的实际表情符号的种类数为k。其中,获取k个表情符号与g个情感标签的相似度矩阵包括:对实际评价中的所有评论文本和所有实际表情符号进行特征提取,以获得所有评论文本中的每个词语的第一特征向量以及k个表情符号中的每个表情符号的第二特征向量;从g个情感标签中确定每个词语对应的情感标签;针对g个情感标签中的每个情感标签,确定该情感标签对应的所有第一特征向量的局部均值向量;将每个情感标签对应的局部均值向量的均值确定为全局均值向量;从每个情感标签对应的局部均值向量中减去全局均值向量以得到更新后的局部均值向量;确定与k个表情符号对应的所有第二特征向量的均值向量,并从每个表情符号对应的第二特征向量中减去所有第二特征向量的均值向量以得到更新后的第二特征向量;以及根据与k个表情符号中的每个表情符号对应的更新后的第二特征向量和与g个情感标签中的每个情感标签对应的更新后的局部均值向量的余弦相似度来构建相似度矩阵。
在本公开的一些实施例中,借助相似度矩阵对初始用户-项目交互矩阵和初始用户-项目-表情符号交互张量进行联合分解包括联合求解以下4个式子:
以及
其中,o表示实际评分所在的维度,Ro表示第o维度的初始用户-项目交互矩阵,指示Ro中的元素是否包括实际评分,Po表示第o维度的用户-潜在因子矩阵,Qo表示第o维度的项目-潜在因子矩阵,S表示初始用户-项目-表情符号交互张量,HS指示S中的元素是否包括实际表情符号,X表示表情符号-潜在因子矩阵,L表示情感标签-潜在因子矩阵,E表示相似度矩阵,diag(a)表示把向量a转换成一个对角值为a的矩阵,w1表示表情符号的第一权重向量,w2表示情感标签的第二权重向量,Ω表示包括实际评价的元素的位置,表示Po的第i列,表示Qo的第j列,||·||ρ表示正则化算子,*表示哈达玛乘积,表示矩阵中对应向量的外积和,λ和η是经验值。
在本公开的一些实施例中,根据估计的用户-潜在因子矩阵、估计的项目-潜在因子矩阵、以及估计的表情符号-潜在因子矩阵来获得表情符号自表示矩阵包括求解下式:
s.t.C1≥0,diag(C1)=0,eTC1=eT;
其中,o表示实际评分所在的维度,Po表示第o维度的用户-潜在因子矩阵,Qo表示第o维度的项目-潜在因子矩阵,X表示表情符号-潜在因子矩阵,C1表示表情符号自表示矩阵,diag(a)表示把向量a转换成一个对角值为a的矩阵,||·||ρ表示正则化算子,表示矩阵中对应向量的外积和,α是经验值。
在本公开的一些实施例中,根据相似度矩阵来获得表情符号自表示矩阵包括求解下式:
s.t.C2≥0,diag(C2)=0,eTC2=eT;
其中,C2表示表情符号自表示矩阵,diag(a)表示把向量a转换成一个对角值为a的矩阵,E表示相似度矩阵,||·||ρ表示正则化算子,α是经验值。
在本公开的一些实施例中,根据估计的用户-潜在因子矩阵、估计的项目-潜在因子矩阵、以及估计的表情符号-潜在因子矩阵和根据所述相似度矩阵来获得表情符号自表示矩阵包括求解下式:
C=γC1+(1-γ)C2;
其中,C1根据下式求出:
s.t.C1≥0,diag(C1)=0,eTC1=eT;
C2根据下式求出:
s.t.C2≥0,diag(C2)=0,eTC2=eT;
其中,o表示实际评分所在的维度,Po表示第o维度的用户-潜在因子矩阵,Qo表示第o维度的项目-潜在因子矩阵,X表示表情符号-潜在因子矩阵,C表示表情符号自表示矩阵,diag(a)表示把向量a转换成一个对角值为a的矩阵,E表示相似度矩阵,||·||ρ表示正则化算子,表示矩阵中对应向量的外积和,α和γ是经验值。
在本公开的一些实施例中,根据估计的用户-潜在因子矩阵、估计的项目-潜在因子矩阵、以及估计的表情符号-潜在因子矩阵来对初始用户-项目-表情符号交互张量进行补全,以获得补全后的用户-项目-表情符号交互张量包括求解下式:
其中,Po表示第o维度的估计的用户-潜在因子矩阵,Qo表示第o维度的估计的项目-潜在因子矩阵,X表示估计的表情符号-潜在因子矩阵,表示补全后的用户-项目-表情符号交互张量。
在本公开的一些实施例中,根据表情符号自表示矩阵对补全后的用户-项目-表情符号交互张量进行修正,以获得修正后的用户-项目-表情符号交互张量包括求解下式:
其中,C表示表情符号自表示矩阵,表示补全后的用户-项目-表情符号交互张量,表示修正后的用户-项目-表情符号交互张量,I表示单位矩阵,β是经验值。
在本公开的一些实施例中,利用修正后的用户-项目-表情符号交互张量、相似度矩阵、第一权重向量、第二权重向量、估计的用户-潜在因子矩阵、以及估计的项目-潜在因子矩阵来对初始用户-项目交互矩阵进行补全,以获得补全后的用户-项目交互矩阵包括求解下式:
其中,表示补全后的用户-项目交互矩阵中的坐标为(i,j)的元素,表示修正后的用户-项目-表情符号交互张量中的坐标为(i,j)的向量,E表示相似度矩阵,w1表示表情符号的第一权重向量,w2表示情感标签的第二权重向量,表示第o维度的第i用户的潜在因子向量,表示第o维度的第j项目的潜在因子向量,δ是经验值。
在本公开的一些实施例中,基于补全后的用户-项目交互矩阵来确定n个项目中针对m个用户的推荐项目包括:确定补全后的用户-项目交互矩阵中的各个元素是否大于推荐阈值;以及响应于补全后的用户-项目交互矩阵中的任一元素大于推荐阈值,将与该元素对应的项目确定为针对与该元素对应的用户的推荐项目。
根据本公开的第二方面,提供了一种项目推荐装置。该项目推荐装置包括至少一个处理器;以及存储有计算机程序的至少一个存储器。当计算机程序由至少一个处理器执行时,使得项目推荐装置获取m个用户分别对n个项目中的一个或多个项目的实际评价,其中,实际评价中的每个实际评价包括实际评分和实际表情符号中的至少一者;根据实际评价中的实际评分来构建初始用户-项目交互矩阵;根据实际评价中的实际表情符号来构建初始用户-项目-表情符号交互张量;获取k个表情符号与g个情感标签的相似度矩阵;借助相似度矩阵对初始用户-项目交互矩阵和初始用户-项目-表情符号交互张量进行联合分解,以获得估计的用户-潜在因子矩阵、估计的项目-潜在因子矩阵、估计的表情符号-潜在因子矩阵、表情符号的第一权重向量、以及情感标签的第二权重向量;根据估计的用户-潜在因子矩阵、估计的项目-潜在因子矩阵、以及估计的表情符号-潜在因子矩阵和/或根据所述相似度矩阵来获得表情符号自表示矩阵;根据估计的用户-潜在因子矩阵、估计的项目-潜在因子矩阵、以及估计的表情符号-潜在因子矩阵来对初始用户-项目-表情符号交互张量进行补全,以获得补全后的用户-项目-表情符号交互张量;根据表情符号自表示矩阵对补全后的用户-项目-表情符号交互张量进行修正,以获得修正后的用户-项目-表情符号交互张量;利用修正后的用户-项目-表情符号交互张量、相似度矩阵、第一权重向量、第二权重向量、估计的用户-潜在因子矩阵、以及估计的项目-潜在因子矩阵来对初始用户-项目交互矩阵进行补全,以获得补全后的用户-项目交互矩阵;以及基于补全后的用户-项目交互矩阵来确定n个项目中针对m个用户的推荐项目;其中,m、n、k和g均为大于1的整数。
在本公开的一些实施例中,计算机程序在由至少一个处理器执行时使得项目推荐装置还针对m个用户中的单个用户:从修正后的用户-项目-表情符号交互张量中获取与针对该用户的推荐项目对应的表情符号;从相似度矩阵中获取与所获取的表情符号对应的情感标签;以及使用所获取的表情符号和所获取的情感标签来对针对该用户的推荐项目进行解释。
在本公开的一些实施例中,实际评价中的一个或多个实际评价包括评论文本。实际评价中的实际表情符号的种类数为k。计算机程序在由至少一个处理器执行时使得项目推荐装置通过以下操作来获取k个表情符号与g个情感标签的相似度矩阵:对实际评价中的所有评论文本和所有实际表情符号进行特征提取,以获得所有评论文本中的每个词语的第一特征向量以及k个表情符号中的每个表情符号的第二特征向量;从g个情感标签中确定每个词语对应的情感标签;针对g个情感标签中的每个情感标签,确定该情感标签对应的所有第一特征向量的局部均值向量;将每个情感标签对应的局部均值向量的均值确定为全局均值向量;从每个情感标签对应的局部均值向量中减去全局均值向量以得到更新后的局部均值向量;确定与k个表情符号对应的所有第二特征向量的均值向量,并从每个表情符号对应的第二特征向量中减去所有第二特征向量的均值向量以得到更新后的第二特征向量;以及根据与k个表情符号中的每个表情符号对应的更新后的第二特征向量和与g个情感标签中的每个情感标签对应的更新后的局部均值向量的余弦相似度来构建相似度矩阵。
在本公开的一些实施例中,计算机程序在由至少一个处理器执行时使得项目推荐装置通过以下操作来借助相似度矩阵对初始用户-项目交互矩阵和初始用户-项目-表情符号交互张量进行联合分解:联合求解以下4个式子,
以及
其中,o表示实际评分所在的维度,Ro表示第o维度的初始用户-项目交互矩阵,指示Ro中的元素是否包括实际评分,Po表示第o维度的用户-潜在因子矩阵,Qo表示第o维度的项目-潜在因子矩阵,S表示初始用户-项目-表情符号交互张量,HS指示S中的元素是否包括实际表情符号,X表示表情符号-潜在因子矩阵,L表示情感标签-潜在因子矩阵,E表示相似度矩阵,diag(a)表示把向量a转换成一个对角值为a的矩阵,w1表示表情符号的第一权重向量,w2表示情感标签的第二权重向量,Ω表示包括实际评价的元素的位置,表示Po的第i列,表示Qo的第j列,||·||ρ表示正则化算子,*表示哈达玛乘积,表示矩阵中对应向量的外积和,λ和η是经验值。
在本公开的一些实施例中,计算机程序在由至少一个处理器执行时使得项目推荐装置通过以下操作来根据估计的用户-潜在因子矩阵、估计的项目-潜在因子矩阵、以及估计的表情符号-潜在因子矩阵来获得表情符号自表示矩阵:求解下式,
s.t.C1≥0,diag(C1)=0,eTC1=eT;
其中,o表示实际评分所在的维度,Po表示第o维度的用户-潜在因子矩阵,Qo表示第o维度的项目-潜在因子矩阵,X表示表情符号-潜在因子矩阵,C1表示表情符号自表示矩阵,diag(a)表示把向量a转换成一个对角值为a的矩阵,||·||ρ表示正则化算子,表示矩阵中对应向量的外积和,α是经验值。
在本公开的一些实施例中,计算机程序在由至少一个处理器执行时使得项目推荐装置通过以下操作来根据相似度矩阵来获得表情符号自表示矩阵:求解下式,
s.t.C2≥0,diag(C2)=0,eTC2=eT;
其中,C2表示表情符号自表示矩阵,diag(a)表示把向量a转换成一个对角值为a的矩阵,E表示相似度矩阵,||·||ρ表示正则化算子,α是经验值。
在本公开的一些实施例中,计算机程序在由至少一个处理器执行时使得项目推荐装置通过以下操作来根据估计的用户-潜在因子矩阵、估计的项目-潜在因子矩阵、以及估计的表情符号-潜在因子矩阵和根据所述相似度矩阵来获得表情符号自表示矩阵:求解下式,
C=γC1+(1-γ)C2;
其中,C1根据下式求出:
s.t.C1≥0,diag(C1)=0,eTC1=eT;
C2根据下式求出:
s.t.C2≥0,diag(C2)=0,eTC2=eT;
其中,o表示实际评分所在的维度,Po表示第o维度的用户-潜在因子矩阵,Qo表示第o维度的项目-潜在因子矩阵,X表示表情符号-潜在因子矩阵,C表示表情符号自表示矩阵,diag(a)表示把向量a转换成一个对角值为a的矩阵,E表示相似度矩阵,||·||ρ表示正则化算子,表示矩阵中对应向量的外积和,α和γ是经验值。
在本公开的一些实施例中,计算机程序在由至少一个处理器执行时使得项目推荐装置通过以下操作来根据估计的用户-潜在因子矩阵、估计的项目-潜在因子矩阵、以及估计的表情符号-潜在因子矩阵来对初始用户-项目-表情符号交互张量进行补全,以获得补全后的用户-项目-表情符号交互张量:求解下式,
其中,Po表示第o维度的估计的用户-潜在因子矩阵,Qo表示第o维度的估计的项目-潜在因子矩阵,X表示估计的表情符号-潜在因子矩阵,表示补全后的用户-项目-表情符号交互张量。
在本公开的一些实施例中,计算机程序在由至少一个处理器执行时使得项目推荐装置通过以下操作来根据表情符号自表示矩阵对补全后的用户-项目-表情符号交互张量进行修正,以获得修正后的用户-项目-表情符号交互张量:求解下式,
其中,C表示表情符号自表示矩阵,表示补全后的用户-项目-表情符号交互张量,表示修正后的用户-项目-表情符号交互张量,I表示单位矩阵,β是经验值。
在本公开的一些实施例中,计算机程序在由至少一个处理器执行时使得项目推荐装置通过以下操作来利用修正后的用户-项目-表情符号交互张量、相似度矩阵、第一权重向量、第二权重向量、估计的用户-潜在因子矩阵、以及估计的项目-潜在因子矩阵来对初始用户-项目交互矩阵进行补全,以获得补全后的用户-项目交互矩阵:求解下式,
其中,表示补全后的用户-项目交互矩阵中的坐标为(i,j)的元素,表示修正后的用户-项目-表情符号交互张量中的坐标为(i,j)的向量,E表示相似度矩阵,w1表示表情符号的第一权重向量,w2表示情感标签的第二权重向量,表示第o维度的第i用户的潜在因子向量,表示第o维度的第j项目的潜在因子向量,δ是经验值。
在本公开的一些实施例中,计算机程序在由至少一个处理器执行时使得项目推荐装置通过以下操作来基于补全后的用户-项目交互矩阵来确定n个项目中针对m个用户的推荐项目:确定补全后的用户-项目交互矩阵中的各个元素是否大于推荐阈值;以及响应于补全后的用户-项目交互矩阵中的任一元素大于推荐阈值,将与该元素对应的项目确定为针对与该元素对应的用户的推荐项目。
根据本公开的第三方面,提供了一种存储有计算机程序的计算机可读存储介质,其中,计算机程序在由处理器执行时实现根据本公开的第一方面所述的项目推荐方法的步骤。
附图说明
为了更清楚地说明本公开的实施例的技术方案,下面将对实施例的附图进行简要说明,应当知道,以下描述的附图仅仅涉及本公开的一些实施例,而非对本公开的限制,其中:
图1是根据本公开的实施例的项目推荐方法的示例性流程图;
图2是在图1所示的实施例中的获取k个表情符号与g个情感标签的相似度矩阵的过程的示例性流程图;
图3是根据本公开的实施例的项目推荐方法所包括的进一步的步骤的示例性流程图;以及
图4是根据本公开的实施例的项目推荐装置的示意性框图。
在附图中,最后两位数字相同的标记对应于相同的元素。需要注意的是,附图中的元素是示意性的,没有按比例绘制。
具体实施方式
为了使本公开的实施例的目的、技术方案和优点更加清楚,下面将结合附图,对本公开的实施例的技术方案进行清楚、完整的描述。显然,所描述的实施例是本公开的一部分实施例,而不是全部的实施例。基于所描述的本公开的实施例,本领域技术人员在无需创造性劳动的前提下所获得的所有其它实施例,也都属于本公开保护的范围。
除非另外定义,否则在此使用的所有术语(包括技术和科学术语)具有与本公开主题所属领域的技术人员所通常理解的相同含义。进一步将理解的是,诸如在通常使用的词典中定义的那些的术语应解释为具有与说明书上下文和相关技术中它们的含义一致的含义,并且将不以理想化或过于正式的形式来解释,除非在此另外明确定义。诸如“第一”和“第二”的术语仅用于将一个部件(或部件的一部分)与另一个部件(或部件的另一部分)区分开。
如上所述,目前的项目推荐系统只能处理一种类型的数据,例如显式的评分数据或者隐式的浏览数据,而不能处理表情符号。而且目前的表情符号推荐任务也没有考虑用户评分的影响。考虑到在如今的项目推荐平台上,人们已经习惯于通过发布表情符号来对各种项目进行点评。用户评分越高,具有积极情感信息的表情符号出现的概率越大,这对表情符号的推荐有重大意义。如果只对评分数据进行预测,再根据预测的评分数据进行推荐,则很难取得很好的推荐效果,尤其是对于可以进行表情符号分享的社会媒体与电子商务平台。因此,需要结合评分数据和表情符号来提升预测效果。此外,表情符号与评分数据之间是有相关性的,如果在进行预测的时候不考虑它们之间的相关性也会影响预测和推荐的效果。
本公开的实施例提出了一种项目推荐方法。图1示出了根据本公开的实施例的项目推荐方法100的示例性流程图。
在该项目推荐方法100中,在框S102处,获取m个用户分别对n个项目中的一个或多个项目的实际评价。其中,m和n均为大于1的整数。对n个项目的实际评价中的每个实际评价包括实际评分和实际表情符号中的至少一者。换句话说,用户可只使用评分来对项目进行评价,也可只使用表情符号来对项目进行评价,还可以使用评分和表情符号二者来对项目进行评价。
在本公开的一些实施例中,项目可包括:商品、音乐、电影、旅游等。实际评价指的是用户提供的对其使用过的项目的真实评价(而非预测评价或者补全评价)。m个用户对n个项目的实际评价可以部分重合或者全部重合。实际评价中的实际评分是预设范围内的数字。实际评价中的实际表情符号可包括由图形图像表示的表情符号(也可被称为“图形表情符号”)。图形表情符号可以是静态的,也可以是动态的。表情符号可展示生气、恐惧、希望、信任、惊奇、悲伤、高兴和反感等表情。
在框S104处,根据实际评价中的实际评分来构建初始用户-项目交互矩阵。用户-项目交互矩阵在上下文中也可被称为“用户评分矩阵”。用户评分矩阵中的元素指示用户对项目的评分。在上下文中,可使用 来表示用户-项目交互矩阵。由于用户的评分体系可能是多维的,例如整体评分、基于服务质量的评分、基于卫生条件的评分等等。本公开的实施例可以对不同维度的评分分别处理。假如用户的评分体系的维度是d,则基于第o(o=1,…,d)维度的用户-项目交互矩阵被表示为在上下文中,以第o维度的评分体系为例来进行讨论。o表示实际评分所在的维度。
在初始用户-项目交互矩阵中,可使用非空元素来表示用户对项目的实际评分,并且使用空元素(在替代示例中,也可使用零元素)来表示用户没有对项目提供评分。
在框S106处,根据实际评价中的实际表情符号来构建初始用户-项目-表情符号交互张量。用户-项目-表情符号交互张量在上下文中也可被简称为“表情符号张量”。用户-项目-表情符号交互张量中的元素指示用户对项目的评价中所使用的表情符号。在上下文中,可使用来表示用户-项目-表情符号交互张量。其中,k表示表情符号的种类数,k为大于1的整数。
在初始用户-项目-表情符号交互张量中,可使用非空元素来表示用户对项目的评价中使用了表情符号,并且使用空元素(在替代示例中,也可使用零元素)来表示用户对项目的评价中没有使用表情符号。
在框S108处,获取k个表情符号与g个情感标签的相似度矩阵。其中,g为大于1的整数。在本公开的一些实施例中,实际评价中的一个或多个实际评价包括评论文本。例如,第i用户对第j项目做出的实际评价可包括:实际评分5分、实际表情符号以及评论文本“非常好,很推荐”。情感标签是针对评论文本中的词语确定的标签。在本公开的一些实施例中,实际表情符号与评论文本可被输入在同一个文本框中。因此,也可以认为实际表情符号是评论文本的一部分。
表情符号可蕴含丰富的情感信息,而情感信息与用户评分有紧密联系,所以本公开的实施例可通过提取表情符号的情感信息,并利用此情感信息学习表情符号的潜在因子以及获取评分数据和表情符号的外部相关性。
下面结合图2来说明获取k个表情符号与g个情感标签的相似度矩阵的过程。
在框S202处,对实际评价中的所有评论文本和所有实际表情符号进行特征提取,以获得所有评论文本中的每个词语的第一特征向量以及k个表情符号中的每个表情符号的第二特征向量。在本公开的一些实施例中,可采用如Word2Vec、BERT等特征提取的方法来执行特征提取的操作。
在框S204处,从g个情感标签中确定每个词语对应的情感标签。在这里,可使用NRC情感词典(简称EmoLex或NRC)来确定评论文本中的词语的情感标签。EmoLex包含了多种语言的词汇情感值,涉及g种(例如,8种)情感标签,包括:生气、恐惧、希望、信任、惊奇、悲伤、高兴和反感等。
在框S206处,针对g个情感标签中的每个情感标签,确定该情感标签对应的所有第一特征向量的局部均值向量。例如,针对情感标签“生气”,可确定所有表示生气的词语的第一特征向量。然后对所有表示生气的词语的第一特征向量取均值,以获得情感标签“生气”对应的局部均值向量。针对情感标签“恐惧”,可确定所有表示恐惧的词语的第一特征向量。然后对所有表示恐惧的词语的第一特征向量取均值,以获得情感标签“恐惧”对应的局部均值向量。对其它情感标签也做类似处理。
在框S208处,将每个情感标签对应的局部均值向量的均值确定为全局均值向量。在这里,将g个情感标签对应的局部均值向量之和除以g可得到全局均值向量。
在框S210处,从该情感标签对应的局部均值向量中减去全局均值向量以得到更新后的局部均值向量。例如,从与情感标签“生气”对应的局部均值向量中减去该全局均值向量。这样,与情感标签“生气”对应的局部均值向量被更新,从而得到与情感标签“生气”对应的更新后的局部均值向量。从与情感标签“恐惧”对应的局部均值向量中减去该全局均值向量。这样,与情感标签“恐惧”对应的局部均值向量被更新,从而得到与情感标签“恐惧”对应的更新后的局部均值向量。对其它情感标签也做类似处理。
因为所有的EmoLex标记都是语言的,当它们对应的第一特征向量与表情符号(非语言标记)进行比较时,可能会呈现一种偏差,所以从g个局部均值向量中的每个局部均值向量中减去上述全局均值向量。这本质上是将由g个情感标签定义的多面体的中心归零。
出于类似的原因,所有表情符号的第二特征向量的平均值也会从每个表情符号的第二特征向量中减去。因此,与在框S206-210处执行的操作类似的,在框S212处,确定与k个表情符号对应的所有第二特征向量的均值向量,并从每个表情符号对应的第二特征向量中减去所有第二特征向量的均值向量以得到更新后的第二特征向量。
在框S206-210和框S212处执行的操作可并行地执行,或者先后执行。本公开的实施例不限制在框S206-210和框S212处执行的操作的顺序。
在框S214处,根据与k个表情符号中的每个表情符号对应的更新后的第二特征向量和与g个情感标签中的每个情感标签对应的更新后的局部均值向量的余弦相似度来构建相似度矩阵。在本公开的一些实施例中,相似度矩阵中的元素ei,j可被计算为:
ei,j=cos(fi,tj) (1)
其中,fi是第i表情符号的第二特征向量,tj是第j情感标签的局部均值向量。
在图1的框S104、框S106、框S108处执行的操作可并行地执行,或者先后执行。本公开的实施例不限制在框S104、框S106、框S108处执行的操作的顺序。
在框S110处,借助相似度矩阵对初始用户-项目交互矩阵和初始用户-项目-表情符号交互张量进行联合分解,以获得估计的用户-潜在因子矩阵、估计的项目-潜在因子矩阵、估计的表情符号-潜在因子矩阵、表情符号的第一权重向量、以及情感标签的第二权重向量。
初始用户-项目交互矩阵中的空元素可通过预测来补全。假设可在潜在空间中找到用户的潜在因子和项目的潜在因子,则用户-项目交互矩阵中的空元素可以通过用户-潜在因子矩阵和项目-潜在因子矩阵来补全,其中用户和项目之间的交互可以被表示为用户的潜在因子和项目的潜在因子的内积。其中,l表示潜在因子的维度。那么,Ro中的每个预测值(估计值)可被计算为:
其中,表示Po的第i列(即,第i用户的潜在因子向量),表示Qo的第j列(即,第j项目的潜在因子向量)。通常来说,初始用户-项目交互矩阵是不完整的,初始用户-项目交互矩阵的补全问题可被转换为对评分数据的预测。所以实际上需要求解的是下面这个式子:
其中,Ω表示包括实际评价的元素(非空元素)的位置,是Ro中的坐标为(i,j)的元素,λ是正则化参数,其可以是经验值。可使用式(3)对Ro中的非空元素进行最小化误差重建。式(3)可以用矩阵运算形式重新写为:
其中,指示Ro中的元素是否包括实际评分。是一个只包含0或者1的矩阵(如果(i,j)∈Ω,则中的元素否则),*表示哈达玛(Hadamard乘积)(即两个相同形状的矩阵的对应元素相乘)。
类似地,初始用户-项目-表情符号交互张量中的空元素可通过预测来补全。假设可在潜在空间中找到用户的潜在因子、项目的潜在因子和表情符号的潜在因子,则表情符号张量中的空元素可以通过用户-潜在因子矩阵项目-潜在因子矩阵和表情符号-潜在因子矩阵 来补全,其中用户、项目和表情符号之间的交互可以被表示为用户的潜在因子、项目的潜在因子和表情符号的潜在因子的外积和。其中,l表示潜在因子的维度。那么,表情符号张量S中的每个预测值(估计值)可被计算为:
那么,表情符号张量S的重建损失函数可以被表示为:
其中,表示矩阵中对应向量的外积和,HS∈{0,1}m×n×k指示S中的元素是否包括实际表情符号,HS也可指示表情符号张量S的稀疏性(如果(i,j,k)∈Ω,则HS中的元素否则Ω表示包括实际表情符号的元素(即,非空元素)的位置)。λ是经验值。
由于表情符号的潜在因子包含表情符号的情感信息,可以假设表情符号-潜在因子矩阵X可以被相似度矩阵E重构,表情符号-潜在因子矩阵X的重建损失函数可以被表示为:
其中,表示情感标签-潜在因子矩阵。λ是经验值。由于用户的评分数据通常与表情符号的情感信息相关,可以假设它们之间存在某种映射关系。然后可以从预测的评分数据和预测的表情符号之间学习表情符号的第一权重向量和情感标签的第二权重向量如下所示:
其中,是第i用户和第j项目对应的表情符号的估计向量。diag(a)表示把向量a变为一个对角值为a的矩阵,那么在表情符号的估计向量中融合了情感信息。通过融合表情符号及其蕴含的情感信息来进行第i用户对第j项目的评分预测。η是经验值。||·||ρ表示正则化算子,如平方Frobenius范数和l1范数。平方Frobenius范数往往产生很少的较大值和许多重要的较小值,而l1范数往往产生一些较大值和许多不重要的较小值。因此,当想保持整体值很小,可以使用平方Frobenius范数。当想要一些较大值同时保持大多数值较小,可以使用l1范数。在这里,使用l1范数的效果更好,因为每个评分数据只能与有限数量的表情符号和有限数量的情感标签相关。
因此,可通过联合求解式(4)、式(6)、式(7)和式(8)来对初始用户-项目交互矩阵和初始用户-项目-表情符号交互张量进行联合分解,以获得估计的用户-潜在因子矩阵Po、估计的项目-潜在因子矩阵Qo、估计的表情符号-潜在因子矩阵X、表情符号的第一权重向量w1、以及情感标签的第二权重向量w2。
在框S112处,根据估计的用户-潜在因子矩阵、估计的项目-潜在因子矩阵、以及估计的表情符号-潜在因子矩阵来获得表情符号自表示矩阵。表情符号自表示矩阵旨在体现k个表情符号的共现关系。表情符号可以被视为不同的标签,可以将表情符号问题看作一个多标签学习问题,并利用表情符号一起出现的频率来帮助表情符号的补全。在这里,将使用高阶策略来提取表情符号之间的相关性,因为高阶策略通常比一阶和二阶策略具有更强的相关性建模能力。为了建立高阶表情符号相关性模型,假设每个表情符号都可以由其它表情符号中的一个或多个来重构。然后,在重构过程中,基于上一阶段的表情符号张量,得到表情符号自表示矩阵(也可被称为“全局表情符号关系矩阵”),如下所示:
s.t.C1≥0,diag(C1)=0,eTC1=eT; (9)
其中,o表示实际评分所在的维度,Po表示第o维度的用户-潜在因子矩阵,Qo表示第o维度的项目-潜在因子矩阵,X表示表情符号-潜在因子矩阵,表示表情符号自表示矩阵,||·||ρ表示正则化算子,表示矩阵中对应向量的外积和,α是经验值。
可替代地,也可以根据表情符号之间的情感信息相关性来帮助表情符号张量的补全。因此,表情符号自表示矩阵也可以由下式获得:
s.t.C2≥0,diag(C2)=0,eTC2=eT; (10)
其中,表示表情符号自表示矩阵,diag(a)表示把向量a转换成一个对角值为a的矩阵,E表示相似度矩阵,||·||ρ表示正则化算子,α是经验值。
可替代地,可结合上述两种方式(采用式(9)和式(10)的方式)来得到表情符号自表示矩阵:
C=γC1+(1-γ)C2; (11)
其中,表示表情符号自表示矩阵,C1采用式(9)来获得,C2采用式(10)来获得,γ是经验值。
在框S114处,根据估计的用户-潜在因子矩阵、估计的项目-潜在因子矩阵、以及估计的表情符号-潜在因子矩阵来对初始用户-项目-表情符号交互张量进行补全,以获得补全后的用户-项目-表情符号交互张量。
在框S110处获得了估计的用户-潜在因子矩阵、估计的项目-潜在因子矩阵、以及估计的表情符号-潜在因子矩阵,可根据下式(12)对初始用户-项目-表情符号交互张量进行补全,以获得补全后的用户-项目-表情符号交互张量:
其中,Po表示第o维度的估计的用户-潜在因子矩阵,Qo表示第o维度的估计的项目-潜在因子矩阵,X表示估计的表情符号-潜在因子矩阵,表示补全后的用户-项目-表情符号交互张量。
在框S116处,根据表情符号自表示矩阵对补全后的用户-项目-表情符号交互张量进行修正,以获得修正后的用户-项目-表情符号交互张量。可根据下式(13)对补全后的用户-项目-表情符号交互张量进行修正,以获得修正后的用户-项目-表情符号交互张量:
其中,C表示表情符号自表示矩阵,表示补全后的用户-项目-表情符号交互张量,表示修正后的用户-项目-表情符号交互张量,I表示单位矩阵,β是经验值。可替代的,式(13)中的C也可以替换成C1或者C2。修正后的用户-项目-表情符号交互张量结合了表情符号的共现关系和情感信息,因此修正后的用户-项目-表情符号交互张量中的预测元素更加准确。
在框S118处,利用修正后的用户-项目-表情符号交互张量、相似度矩阵、第一权重向量、第二权重向量、估计的用户-潜在因子矩阵、以及估计的项目-潜在因子矩阵来对初始用户-项目交互矩阵进行补全,以获得补全后的用户-项目交互矩阵。在本公开的一些实施例中,可根据下式(14)对初始用户-项目交互矩阵进行补全,以获得补全后的用户-项目交互矩阵:
其中,表示补全后的用户-项目交互矩阵中的坐标为(i,j)的元素,表示修正后的用户-项目-表情符号交互张量中的坐标为(i,j)的向量,E表示相似度矩阵,w1表示表情符号的第一权重向量,w2表示情感标签的第二权重向量,表示第o维度的第i用户的潜在因子向量,表示第o维度的第j项目的潜在因子向量,δ是经验值。
在框S120处,基于补全后的用户-项目交互矩阵来确定n个项目中针对m个用户的推荐项目。在本公开的一些实施例中,可确定补全后的用户-项目交互矩阵中的各个元素(评分数据)是否大于推荐阈值。如果补全后的用户-项目交互矩阵中的任一元素大于推荐阈值,则将与该元素对应的项目确定为针对与该元素对应的用户的推荐项目。在一个示例中,假设采用五级评分(0-5分),如果预测评分大于3分则可将相应项目推荐给相应客户。若第i用户对第j项目的预测评分为4,则确定向第i用户推荐第j项目(即,第j项目是针对第i用户的推荐项目)。若第i用户对第j项目的预测评分为2,则确定不向第i用户推荐第j项目(即,第j项目不是针对第i用户的推荐项目)。
在本公开的一些实施例中,在对测试集进行测试时,式(13)和式(14)中的参数β和δ可以根据评价指标的结果进行微调,以得到更好的推荐效果。可使用四个面向排名的评价指标来评估推荐任务的排名前K名。这四个评价指标可包括:归一化折损累计增益(NDCG),精度(Precision),召回率(Recall)和F1。
通过对用户评分矩阵和表情符号张量联合分解,利用评分数据和表情符号的关系,融合表情符号的情感信息,在补全表情符号张量时,结合表情符号的共现关系和情感信息构建表情符号自表示矩阵来做修正,在补全用户评分矩阵时,充分利用表情符号和评分数据之间的相关性,根据本公开的实施例的项目推荐方法能够提高项目推荐的准确性。
进一步地,为了向用户更友好地推荐项目,本公开的实施例提出了如图3所示的步骤。
在图3的框S302处,从修正后的用户-项目-表情符号交互张量中获取与针对该用户的推荐项目对应的表情符号。假设在框S120处确定向第i用户推荐第j项目,则从修正后的用户-项目-表情符号交互张量中获取与第j项目对应的表情符号。
在框S304处,从相似度矩阵中获取与所获取的表情符号对应的情感标签。在本公开的一些实施例中,可根据在框S302处获取的表情符号,在相似度矩阵中寻找表示正相关的元素,以确定与所获取的表情符号对应的情感标签。
在框S306处,使用所获取的表情符号和所获取的情感标签来对针对该用户的推荐项目进行解释。在本公开的一些实施例中,可在向用户显示推荐项目时直接显示与推荐项目相对应的表情符号和情感标签,以便用户更直观的理解推荐理由。因此,根据本公开的实施例的项目推荐方法能够对用户提供更友好的推荐信息。
图4示出根据本公开的实施例的项目推荐装置400的示意性框图。如图4所示,该项目推荐装置400可包括处理器410和存储有计算机程序的存储器420。当计算机程序由处理器410执行时,使得项目推荐装置400可执行如图1至图3所示的方法的步骤。在一个示例中,项目推荐装置400可以是计算机设备或云计算节点。项目推荐装置400可获取m个用户分别对n个项目中的一个或多个项目的实际评价。其中,实际评价中的每个实际评价包括实际评分和实际表情符号中的至少一者。项目推荐装置400可根据实际评价中的实际评分来构建初始用户-项目交互矩阵。项目推荐装置400可根据实际评价中的实际表情符号来构建初始用户-项目-表情符号交互张量。项目推荐装置400可获取k个表情符号与g个情感标签的相似度矩阵。项目推荐装置400可借助相似度矩阵对初始用户-项目交互矩阵和初始用户-项目-表情符号交互张量进行联合分解,以获得估计的用户-潜在因子矩阵、估计的项目-潜在因子矩阵、估计的表情符号-潜在因子矩阵、表情符号的第一权重向量、以及情感标签的第二权重向量。项目推荐装置400可根据估计的用户-潜在因子矩阵、估计的项目-潜在因子矩阵、以及估计的表情符号-潜在因子矩阵和/或根据相似度矩阵来获得表情符号自表示矩阵。项目推荐装置400可根据估计的用户-潜在因子矩阵、估计的项目-潜在因子矩阵、以及估计的表情符号-潜在因子矩阵来对初始用户-项目-表情符号交互张量进行补全,以获得补全后的用户-项目-表情符号交互张量。项目推荐装置400可根据表情符号自表示矩阵对补全后的用户-项目-表情符号交互张量进行修正,以获得修正后的用户-项目-表情符号交互张量。项目推荐装置400可利用修正后的用户-项目-表情符号交互张量、相似度矩阵、第一权重向量、第二权重向量、估计的用户-潜在因子矩阵、以及估计的项目-潜在因子矩阵来对初始用户-项目交互矩阵进行补全,以获得补全后的用户-项目交互矩阵。项目推荐装置400可基于补全后的用户-项目交互矩阵来确定n个项目中针对m个用户的推荐项目。其中,m、n、k和g均为大于1的整数。
在本公开的实施例中,处理器410可以是例如中央处理单元(CPU)、微处理器、数字信号处理器(DSP)、基于多核的处理器架构的处理器等。存储器420可以是使用数据存储技术实现的任何类型的存储器,包括但不限于随机存取存储器、只读存储器、基于半导体的存储器、闪存、磁盘存储器等。
此外,在本公开的实施例中,装置400也可包括输入设备430,例如键盘、鼠标等,用于输入用户对项目的实际评价。另外,装置400还可包括输出设备440,例如显示器等,用于输出针对用户的推荐项目。
在本公开的其它实施例中,还提供了一种存储有计算机程序的计算机可读存储介质,其中,计算机程序在由处理器执行时能够实现如图1至图3所示的方法的步骤。
综上所述,根据本公开的实施例的项目推荐方法在对用户-项目交互矩阵(即,用户评分矩阵)和用户-项目-表情符号交互张量(即,表情符号张量)联合分解时,既利用了评分数据和表情符号的关系,又融合了表情符号的情感信息。根据本公开的实施例的项目推荐方法在补全表情符号张量时,结合表情符号的共现关系和情感信息构建表情符号自表示矩阵来做修正。根据本公开的实施例的项目推荐方法在补全用户评分矩阵时,充分利用表情符号和评分数据之间的相关性。因此,根据本公开的实施例的项目推荐方法能够提高项目推荐的准确性。此外,通过在显示推荐项目时还同时显示与推荐项目相对应的表情符号和情感标签,根据本公开的实施例的项目推荐方法能够对用户提供更友好的推荐信息。
附图中的流程图和框图显示了根据本公开的多个实施例的装置和方法的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或指令的一部分,所述模块、程序段或指令的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
除非上下文中另外明确地指出,否则在本文和所附权利要求中所使用的词语的单数形式包括复数,反之亦然。因而,当提及单数时,通常包括相应术语的复数。相似地,措辞“包含”和“包括”将解释为包含在内而不是独占性地。同样地,术语“包括”和“或”应当解释为包括在内的,除非本文中明确禁止这样的解释。在本文中使用术语“示例”之处,特别是当其位于一组术语之后时,所述“示例”仅仅是示例性的和阐述性的,且不应当被认为是独占性的或广泛性的。
适应性的进一步的方面和范围从本文中提供的描述变得明显。应当理解,本申请的各个方面可以单独或者与一个或多个其它方面组合实施。还应当理解,本文中的描述和特定实施例旨在仅说明的目的并不旨在限制本申请的范围。
以上对本公开的若干实施例进行了详细描述,但显然,本领域技术人员可以在不脱离本公开的精神和范围的情况下对本公开的实施例进行各种修改和变型。本公开的保护范围由所附的权利要求限定。
Claims (5)
1.一种项目推荐方法,包括:
获取m个用户分别对n个项目中的一个或多个项目的实际评价,其中,所述实际评价中的每个实际评价包括实际评分和实际表情符号中的至少一者;
根据所述实际评价中的所述实际评分来构建初始用户-项目交互矩阵;
根据所述实际评价中的所述实际表情符号来构建初始用户-项目-表情符号交互张量;
获取k个表情符号与g个情感标签的相似度矩阵;
借助所述相似度矩阵对所述初始用户-项目交互矩阵和所述初始用户-项目-表情符号交互张量进行联合分解,以获得估计的用户-潜在因子矩阵、估计的项目-潜在因子矩阵、估计的表情符号-潜在因子矩阵、所述表情符号的第一权重向量、以及所述情感标签的第二权重向量;
根据所述估计的用户-潜在因子矩阵、所述估计的项目-潜在因子矩阵、以及所述估计的表情符号-潜在因子矩阵和/或根据所述相似度矩阵来获得表情符号自表示矩阵;
根据所述估计的用户-潜在因子矩阵、所述估计的项目-潜在因子矩阵、以及所述估计的表情符号-潜在因子矩阵来对所述初始用户-项目-表情符号交互张量进行补全,以获得补全后的用户-项目-表情符号交互张量;
根据所述表情符号自表示矩阵对所述补全后的用户-项目-表情符号交互张量进行修正,以获得修正后的用户-项目-表情符号交互张量;
利用所述修正后的用户-项目-表情符号交互张量、所述相似度矩阵、所述第一权重向量、所述第二权重向量、所述估计的用户-潜在因子矩阵、以及所述估计的项目-潜在因子矩阵来对所述初始用户-项目交互矩阵进行补全,以获得补全后的用户-项目交互矩阵;以及
基于所述补全后的用户-项目交互矩阵来确定所述n个项目中针对所述m个用户的推荐项目;
其中,m、n、k和g均为大于1的整数;
其中,借助所述相似度矩阵对所述初始用户-项目交互矩阵和所述初始用户-项目-表情符号交互张量进行联合分解包括联合求解以下4个式子:
以及
其中,o表示所述实际评分所在的维度,Ro表示第o维度的初始用户-项目交互矩阵,HRo指示Ro中的元素是否包括实际评分,Po表示第o维度的用户-潜在因子矩阵,Qo表示第o维度的项目-潜在因子矩阵,S表示所述初始用户-项目-表情符号交互张量,HS指示S中的元素是否包括实际表情符号,X表示表情符号-潜在因子矩阵,L表示情感标签-潜在因子矩阵,E表示所述相似度矩阵,diag(a)表示把向量a转换成一个对角值为a的矩阵,w1表示所述表情符号的所述第一权重向量,w2表示所述情感标签的所述第二权重向量,Ω表示包括所述实际评价的元素的位置,表示Po的第i列,表示Qo的第j列,‖·‖ρ表示正则化算子,*表示哈达玛乘积,表示矩阵中对应向量的外积和,λ和η是经验值;
根据所述估计的用户-潜在因子矩阵、所述估计的项目-潜在因子矩阵、以及所述估计的表情符号-潜在因子矩阵来获得表情符号自表示矩阵包括求解下式:
s.t.C1≥0,diag(C1)=0,eTC1=eT;
其中,o表示所述实际评分所在的维度,Po表示第o维度的用户-潜在因子矩阵,Qo表示第o维度的项目-潜在因子矩阵,X表示表情符号-潜在因子矩阵,C1表示表情符号自表示矩阵,diag(a)表示把向量a转换成一个对角值为a的矩阵,‖·‖ρ表示正则化算子,表示矩阵中对应向量的外积和,α是经验值;
根据所述相似度矩阵来获得表情符号自表示矩阵包括求解下式:
s.t.C2≥0,diag(C2)=0,eTC2=eT;
其中,C2表示表情符号自表示矩阵,diag(a)表示把向量a转换成一个对角值为a的矩阵,E表示所述相似度矩阵,‖·‖ρ表示正则化算子,α是经验值;
根据所述估计的用户-潜在因子矩阵、所述估计的项目-潜在因子矩阵、以及所述估计的表情符号-潜在因子矩阵和根据所述相似度矩阵来获得表情符号自表示矩阵包括求解下式:
C=γC1+(1-γ)C2;
其中,C1根据下式求出:
s.t.C1≥0,diag(C1)=0,eTC1=eT;
C2根据下式求出:
s.t.C2≥0,diag(C2)=0,eTC2=eT;
其中,o表示所述实际评分所在的维度,Po表示第o维度的用户-潜在因子矩阵,Qo表示第o维度的项目-潜在因子矩阵,X表示表情符号-潜在因子矩阵,C表示表情符号自表示矩阵,diag(a)表示把向量a转换成一个对角值为a的矩阵,E表示所述相似度矩阵,‖·‖ρ表示正则化算子,表示矩阵中对应向量的外积和,α和γ是经验值;
其中,根据所述估计的用户-潜在因子矩阵、所述估计的项目-潜在因子矩阵、以及所述估计的表情符号-潜在因子矩阵来对所述初始用户-项目-表情符号交互张量进行补全,以获得补全后的用户-项目-表情符号交互张量包括求解下式:
其中,Po表示第o维度的估计的用户-潜在因子矩阵,Qo表示第o维度的估计的项目-潜在因子矩阵,X表示估计的表情符号-潜在因子矩阵,表示补全后的用户-项目-表情符号交互张量;
其中,根据所述表情符号自表示矩阵对所述补全后的用户-项目-表情符号交互张量进行修正,以获得修正后的用户-项目-表情符号交互张量包括求解下式:
其中,C表示所述表情符号自表示矩阵,表示补全后的用户-项目-表情符号交互张量,表示修正后的用户-项目-表情符号交互张量,I表示单位矩阵,β是经验值;
其中,利用所述修正后的用户-项目-表情符号交互张量、所述相似度矩阵、所述第一权重向量、所述第二权重向量、所述估计的用户-潜在因子矩阵、以及所述估计的项目-潜在因子矩阵来对所述初始用户-项目交互矩阵进行补全,以获得补全后的用户-项目交互矩阵包括求解下式:
其中,表示所述补全后的用户-项目交互矩阵中的坐标为(i,j)的元素,表示修正后的用户-项目-表情符号交互张量中的坐标为(i,j)的向量,E表示所述相似度矩阵,w1表示所述表情符号的所述第一权重向量,w2表示所述情感标签的所述第二权重向量,表示第o维度的第i用户的潜在因子向量,表示第o维度的第j项目的潜在因子向量,δ是经验值。
2.根据权利要求1所述的项目推荐方法,还包括,针对所述m个用户中的单个用户:
从所述修正后的用户-项目-表情符号交互张量中获取与针对该用户的推荐项目对应的表情符号;
从所述相似度矩阵中获取与所获取的表情符号对应的情感标签;以及
使用所获取的表情符号和所获取的情感标签来对针对该用户的推荐项目进行解释。
3.根据权利要求1所述的项目推荐方法,其中,所述实际评价中的一个或多个实际评价包括评论文本,所述实际评价中的所述实际表情符号的种类数为k,
其中,获取k个表情符号与g个情感标签的相似度矩阵包括:
对所述实际评价中的所有评论文本和所有实际表情符号进行特征提取,以获得所有评论文本中的每个词语的第一特征向量以及所述k个表情符号中的每个表情符号的第二特征向量;
从所述g个情感标签中确定每个词语对应的情感标签;
针对所述g个情感标签中的每个情感标签,确定该情感标签对应的所有第一特征向量的局部均值向量;
将每个情感标签对应的所述局部均值向量的均值确定为全局均值向量;
从每个情感标签对应的所述局部均值向量中减去所述全局均值向量以得到更新后的局部均值向量;
确定与所述k个表情符号对应的所有第二特征向量的均值向量,并从每个表情符号对应的第二特征向量中减去所有第二特征向量的所述均值向量以得到更新后的第二特征向量;以及
根据与所述k个表情符号中的每个表情符号对应的更新后的第二特征向量和与所述g个情感标签中的每个情感标签对应的更新后的局部均值向量的余弦相似度来构建所述相似度矩阵。
4.根据权利要求1所述的项目推荐方法,其中,基于所述补全后的用户-项目交互矩阵来确定所述n个项目中针对所述m个用户的推荐项目包括:
确定所述补全后的用户-项目交互矩阵中的各个元素是否大于推荐阈值;以及
响应于所述补全后的用户-项目交互矩阵中的任一元素大于所述推荐阈值,将与该元素对应的项目确定为针对与该元素对应的用户的推荐项目。
5.一种项目推荐装置,包括:
至少一个处理器;以及
存储有计算机程序的至少一个存储器;
其中,当所述计算机程序由所述至少一个处理器执行时,使得所述项目推荐装置执行根据权利要求1至4中任一项所述的项目推荐方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211066084.XA CN115422453B (zh) | 2022-08-31 | 2022-08-31 | 项目推荐方法及项目推荐装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211066084.XA CN115422453B (zh) | 2022-08-31 | 2022-08-31 | 项目推荐方法及项目推荐装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115422453A CN115422453A (zh) | 2022-12-02 |
CN115422453B true CN115422453B (zh) | 2023-09-29 |
Family
ID=84202393
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211066084.XA Active CN115422453B (zh) | 2022-08-31 | 2022-08-31 | 项目推荐方法及项目推荐装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115422453B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116701773B (zh) * | 2023-08-04 | 2023-11-10 | 哈尔滨工业大学(深圳)(哈尔滨工业大学深圳科技创新研究院) | 可解释推荐方法及用于可解释推荐的装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107145541A (zh) * | 2017-04-24 | 2017-09-08 | 安徽师范大学 | 基于超图结构的社交网络推荐模型构建方法 |
KR101997222B1 (ko) * | 2018-01-03 | 2019-07-05 | 연세대학교 산학협력단 | 다수상황 간의 상관관계를 고려한 추천 시스템 및 방법 |
CN110781405A (zh) * | 2019-10-12 | 2020-02-11 | 山东师范大学 | 基于联合卷积矩阵分解的文档上下文感知推荐方法及系统 |
CN112883289A (zh) * | 2021-04-16 | 2021-06-01 | 河北工程大学 | 一种基于社交信任和标签语义相似度的pmf推荐方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20170278114A1 (en) * | 2016-03-24 | 2017-09-28 | Xerox Corporation | Adaptive collaborative filtering with extended kalman filters and multi-armed bandits |
-
2022
- 2022-08-31 CN CN202211066084.XA patent/CN115422453B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107145541A (zh) * | 2017-04-24 | 2017-09-08 | 安徽师范大学 | 基于超图结构的社交网络推荐模型构建方法 |
KR101997222B1 (ko) * | 2018-01-03 | 2019-07-05 | 연세대학교 산학협력단 | 다수상황 간의 상관관계를 고려한 추천 시스템 및 방법 |
CN110781405A (zh) * | 2019-10-12 | 2020-02-11 | 山东师范大学 | 基于联合卷积矩阵分解的文档上下文感知推荐方法及系统 |
CN112883289A (zh) * | 2021-04-16 | 2021-06-01 | 河北工程大学 | 一种基于社交信任和标签语义相似度的pmf推荐方法 |
Non-Patent Citations (1)
Title |
---|
A Collaborators Recommendation Method Based on Multi-feature Fusion;Qi Yuan 等;《Neural Computing for Advanced Applications,Third International Conference, NCAA 2022》;第247-261页 * |
Also Published As
Publication number | Publication date |
---|---|
CN115422453A (zh) | 2022-12-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111079028B (zh) | 基于多源辅助信息的协同过滤推荐系统及方法 | |
Ren et al. | Matching algorithms: Fundamentals, applications and challenges | |
US7383254B2 (en) | Method and system for identifying object information | |
Ghasemi et al. | Neural text similarity of user reviews for improving collaborative filtering recommender systems | |
Han et al. | Eliciting attribute-level user needs from online reviews with deep language models and information extraction | |
CN106156023B (zh) | 语义匹配的方法、装置和系统 | |
CN106778878B (zh) | 一种人物关系分类方法及装置 | |
Weber et al. | Investigating textual case-based XAI | |
Mazharov et al. | Some problems of dynamic contactless charging of electric vehicles | |
CN115422453B (zh) | 项目推荐方法及项目推荐装置 | |
Kasap et al. | A polynomial modeling based algorithm in top-N recommendation | |
Khan et al. | Comparative analysis on Facebook post interaction using DNN, ELM and LSTM | |
CN112036189A (zh) | 一种金文语义识别方法和系统 | |
Hernandez et al. | A framework for deriving analytic steady states of biochemical reaction networks | |
Stein et al. | Applying QNLP to sentiment analysis in finance | |
Iram et al. | Anatomy of Sentiment Analysis of Tweets Using Machine Learning Approach: Anatomy of Sentiment Analysis of Tweets | |
US20220165007A1 (en) | Machine architecture for computerized plan analysis with provenance | |
CN111383042A (zh) | 房源推荐方法和装置 | |
Zhu et al. | Fundamental ideas and mathematical basis of ontology learning algorithm | |
Han et al. | Developing smart service concepts: morphological analysis using a Novelty-Quality map | |
Raeesi Vanani et al. | Using text mining algorithms in identifying emerging trends for recommender systems | |
CN116340635A (zh) | 物品推荐方法、模型训练方法、装置及设备 | |
CN112785372B (zh) | 一种基于语义关系的智能推荐方法 | |
CN114429384A (zh) | 基于电商平台的产品智能推荐方法及系统 | |
Lemoisson et al. | ViewpointS: capturing formal data and informal contributions into an adaptive knowledge graph |
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 |