[发明专利]一种基于多指标评分的推荐算法在审

专利信息
申请号: 201510493550.6 申请日: 2015-08-12
公开(公告)号: CN105095477A 公开(公告)日: 2015-11-25
发明(设计)人: 陈健;林世杭 申请(专利权)人: 华南理工大学
主分类号: G06F17/30 分类号: G06F17/30
代理公司: 广州市华学知识产权代理有限公司 44245 代理人: 罗观祥
地址: 510006 广东省*** 国省代码: 广东;44
权利要求书: 查看更多 说明书: 查看更多
摘要: 发明公开了一种基于多指标评分的推荐算法,包括以下步骤:1)指标关键词的识别;2)意见评分抽取;3)用户和商品相似度矩阵构建;4)使用双向聚类算法得到聚类矩阵;5)单一簇内推荐;6)使用综合函数算法得到最终推荐结果。本发明可以解决用户对于不同的商品可能具有不同的指标偏好的个性化推荐问题,具有较高的准确率,可以获得更高质量的推荐结果。
搜索关键词: 一种 基于 指标 评分 推荐 算法
【主权项】:
一种基于多指标评分的推荐算法,其特征在于,包括以下步骤:1)指标关键词的识别1.1)将数据集中的每一条评论分割成句子{x1,x2,…},并且构造一个由具有表征性的关键字组成的列表;1.2)根据原始的关键字列表,将评论语料库中的每一个句子标识至与其具有最大词频重合度的指标;1.3)使用χ2统计指标衡量每一个指标与关键字之间的词频关系,并将前t个具有最高词频依赖关系的关键字加入该指标的关键字列表中;1.4)重复上述过程直至算法满足终止条件,即指标的关键字列表保持不变或者算法的循环次数到达阈值;2)意见评分抽取在识别商品指标及其相关的特征关键字之后,对评论中的语句进行语法分析并抽取用户对指标或者特征关键字的意见;对于每一条评论,它关于第k个指标的意见评分计算如下:<mrow><msub><mi>o</mi><mi>k</mi></msub><mo>=</mo><mfrac><mrow><msub><mo>&Sigma;</mo><mrow><mi>s</mi><mo>&Element;</mo><msub><mi>OP</mi><mi>k</mi></msub></mrow></msub><mi>s</mi><mi>c</mi><mi>o</mi><mi>r</mi><mi>e</mi><mrow><mo>(</mo><mi>s</mi><mo>)</mo></mrow></mrow><mrow><mo>|</mo><mrow><msub><mi>OP</mi><mi>k</mi></msub></mrow><mo>|</mo></mrow></mfrac></mrow>其中,s表示表述意见的形容词;OPk表示由关于第k个指标的意见形容词组成的集合;|OPk|表示集合元素的个数;score(s)表示形容词s的意见极性,即+1、‑1或者0;通过这样的方式,非结构化的评论文本可以转化为一个由意见评分组成的向量Ou,i=[ou,i,1,…,ou,i,k];抽取出来的意见评分的取值范围为[‑1,1],而用户直接给出的多指标评分的范围则为[1,5],为了使得两者具有相同的取值范围,采用等距离转换的方式将意见评分转换至区间[1,5]之内,具体转换公式如下:oafter=obefore×2+3其中,obefore和oafter分别表示转换前后的意见评分数据,通过采用上式,可以确保多指标评分数据与意见评分数据具有相同的取值范围,由此可以将两者分别直接用于进行推荐的过程并比较它们的作用;3)用户和商品相似度矩阵构建在推荐系统中,使用U={u1,…,un}表示用户的集合,I={i1,…,im}表示商品的集合,其中n和m分别表示用户和商品的总数;一个用户对于某一商品的评价可以表示为一个由综合评分和多指标评分构成的评分向量r=[r0,r1…,rk],其中r0表示综合评分,r1…,rk表示关于k个指标的评分,该评分向量也可以由综合评分和意见评分构成,即r=[r0,o1…,ok],其中r0,o1…,ok表示从用户撰写的商品评论中挖掘得到的意见评分;在实验过程中,可以直接将r=[r0,r1…,rk]替换为r=[r0,o1…,ok]并用于聚类与推荐的过程之中;目标是同时对用户{u1,…,un}和商品{i1,…,im}聚类为c个簇;聚类结果应该被表示为一个分块矩阵M∈[0,1](n+m)×c,其中每个元素Mi,j表示相应的元素对象i属于簇j的概率,因此,当元素对象i属于簇j的时候Mi,j>0,否则Mi,j=0;由于Mi,j的大小直接反应了该元素对象i属于簇j的可能性,所以分块矩阵M的每一行之和要求为1;此外,如果限制每一个元素对象能够加入的簇的最大个数,譬如l个簇,即1≤l≤c,那么最多只可能在M中的每一行中得到l个非零值;上述分块矩阵可以被改写为:<mrow><mi>M</mi><mo>=</mo><mfenced open = '[' close = ']'><mtable><mtr><mtd><mi>P</mi></mtd></mtr><mtr><mtd><mi>Q</mi></mtd></mtr></mtable></mfenced></mrow>其中,P∈[0,1]n×c为关于用户的分块矩阵,Q∈[0,1]m×c为关于商品的分块矩阵;对于用户,相似性矩阵SU∈[‑1,1]n×n采用以下方式进行构建:<mrow><msub><mi>SU</mi><mrow><mi>x</mi><mo>,</mo><mi>y</mi></mrow></msub><mo>=</mo><mfenced open = '(' close = ''><mtable><mtr><mtd><mrow><munder><mo>&Sigma;</mo><mrow><mi>i</mi><mo>&Element;</mo><msub><mi>CI</mi><mrow><mi>x</mi><mo>,</mo><mi>y</mi></mrow></msub></mrow></munder><mrow><mfrac><mrow><mo>(</mo><msub><mi>r</mi><mrow><mi>x</mi><mo>,</mo><mi>i</mi></mrow></msub><mo>-</mo><mover><msub><mi>r</mi><mi>x</mi></msub><mo>&OverBar;</mo></mover><mo>)</mo><mo>&CenterDot;</mo><mo>(</mo><msub><mi>r</mi><mrow><mi>y</mi><mo>,</mo><mi>i</mi></mrow></msub><mo>-</mo><mover><msub><mi>r</mi><mi>y</mi></msub><mo>&OverBar;</mo></mover><mo>)</mo></mrow><mrow><mrow><mo>|</mo><msub><mi>r</mi><mrow><mi>x</mi><mo>,</mo><mi>i</mi></mrow></msub><mo>|</mo></mrow><mo>&CenterDot;</mo><mrow><mo>|</mo><msub><mi>r</mi><mrow><mi>y</mi><mo>,</mo><mi>i</mi></mrow></msub><mo>|</mo></mrow></mrow></mfrac><mo>/</mo><mrow><mo>|</mo><mrow><msub><mi>CI</mi><mrow><mi>x</mi><mo>,</mo><mi>y</mi></mrow></msub></mrow><mo>|</mo></mrow></mrow></mrow></mtd><mtd><mrow><mi>i</mi><mi>f</mi><mrow><mo>|</mo><mrow><msub><mi>CI</mi><mrow><mi>x</mi><mo>,</mo><mi>y</mi></mrow></msub></mrow><mo>|</mo></mrow><mo>&NotEqual;</mo><mn>0</mn></mrow></mtd></mtr><mtr><mtd><mn>0</mn></mtd><mtd><mrow><mi>o</mi><mi>t</mi><mi>h</mi><mi>e</mi><mi>r</mi><mi>w</mi><mi>i</mi><mi>s</mi><mi>e</mi></mrow></mtd></mtr></mtable></mfenced></mrow>其中,rx,i和ry,i分别表示用户ux和uy对商品i的评分向量,分别表示用户ux和uy的平均评分向量,CIx,y表示用户ux和uy共同评论过的商品集合,|CIx,y|表示属于CIx,y的商品的个数;关于商品的相似性矩阵SI∈[‑1,1]m×m可以采用以下方式进行构建:<mrow><msub><mi>SI</mi><mrow><mi>x</mi><mo>,</mo><mi>y</mi></mrow></msub><mo>=</mo><mfenced open = '(' close = ''><mtable><mtr><mtd><mrow><munder><mo>&Sigma;</mo><mrow><mi>u</mi><mo>&Element;</mo><msub><mi>CU</mi><mrow><mi>x</mi><mo>,</mo><mi>y</mi></mrow></msub></mrow></munder><mrow><mfrac><mrow><mo>(</mo><msub><mi>r</mi><mrow><mi>u</mi><mo>,</mo><mi>x</mi></mrow></msub><mo>-</mo><mover><msub><mi>r</mi><mi>x</mi></msub><mo>&OverBar;</mo></mover><mo>)</mo><mo>&CenterDot;</mo><mo>(</mo><msub><mi>r</mi><mrow><mi>u</mi><mo>,</mo><mi>y</mi></mrow></msub><mo>-</mo><mover><msub><mi>r</mi><mi>y</mi></msub><mo>&OverBar;</mo></mover><mo>)</mo></mrow><mrow><mrow><mo>|</mo><msub><mi>r</mi><mrow><mi>u</mi><mo>,</mo><mi>x</mi></mrow></msub><mo>|</mo></mrow><mo>&CenterDot;</mo><mrow><mo>|</mo><msub><mi>r</mi><mrow><mi>u</mi><mo>,</mo><mi>y</mi></mrow></msub><mo>|</mo></mrow></mrow></mfrac><mo>/</mo><mrow><mo>|</mo><mrow><msub><mi>CU</mi><mrow><mi>x</mi><mo>,</mo><mi>y</mi></mrow></msub></mrow><mo>|</mo></mrow></mrow></mrow></mtd><mtd><mrow><mi>i</mi><mi>f</mi><mrow><mo>|</mo><mrow><msub><mi>CU</mi><mrow><mi>x</mi><mo>,</mo><mi>y</mi></mrow></msub></mrow><mo>|</mo></mrow><mo>&NotEqual;</mo><mn>0</mn></mrow></mtd></mtr><mtr><mtd><mn>0</mn></mtd><mtd><mrow><mi>o</mi><mi>t</mi><mi>h</mi><mi>e</mi><mi>r</mi><mi>w</mi><mi>i</mi><mi>s</mi><mi>e</mi></mrow></mtd></mtr></mtable></mfenced></mrow>其中,ru,x和ru,y分别表示用户u对商品ix和iy的评分向量,分别表示用户ux和uy的平均评分向量,CUx,y表示曾经对商品ix和iy进行过评分的用户集合,|CUx,y|表示属于CUx,y的用户的个数;4)使用双向聚类算法得到聚类矩阵为了能够对用户和商品进行双向聚类,提出通过最小化以下目标函数将紧密相关的用户或者商品关联起来;<mrow><mi>&epsiv;</mi><mrow><mo>(</mo><mi>P</mi><mo>,</mo><mi>Q</mi><mo>)</mo></mrow><mo>=</mo><munderover><mo>&Sigma;</mo><mrow><mi>i</mi><mo>=</mo><mn>1</mn></mrow><mi>n</mi></munderover><munderover><mo>&Sigma;</mo><mrow><mi>j</mi><mo>=</mo><mn>1</mn></mrow><mi>n</mi></munderover><mrow><mo>(</mo><mo>|</mo><mo>|</mo><mfrac><msub><mi>p</mi><mi>i</mi></msub><msqrt><msubsup><mi>D</mi><mrow><mi>i</mi><mi>i</mi></mrow><mrow><mi>r</mi><mi>o</mi><mi>w</mi></mrow></msubsup></msqrt></mfrac><mo>-</mo><mfrac><msub><mi>p</mi><mi>j</mi></msub><msqrt><msubsup><mi>D</mi><mrow><mi>j</mi><mi>j</mi></mrow><mrow><mi>c</mi><mi>o</mi><mi>l</mi></mrow></msubsup></msqrt></mfrac><mo>|</mo><msup><mo>|</mo><mn>2</mn></msup><mo>&CenterDot;</mo><msub><mi>SU</mi><mrow><mi>i</mi><mo>,</mo><mi>j</mi></mrow></msub><mo>)</mo></mrow><mo>+</mo><munderover><mo>&Sigma;</mo><mrow><mi>i</mi><mo>=</mo><mn>1</mn></mrow><mi>m</mi></munderover><munderover><mo>&Sigma;</mo><mrow><mi>j</mi><mo>=</mo><mn>1</mn></mrow><mi>m</mi></munderover><mrow><mo>(</mo><mo>|</mo><mo>|</mo><mfrac><msub><mi>q</mi><mi>i</mi></msub><msqrt><msubsup><mi>E</mi><mrow><mi>i</mi><mi>i</mi></mrow><mrow><mi>r</mi><mi>o</mi><mi>w</mi></mrow></msubsup></msqrt></mfrac><mo>-</mo><mfrac><msub><mi>q</mi><mi>j</mi></msub><msqrt><msubsup><mi>E</mi><mrow><mi>j</mi><mi>j</mi></mrow><mrow><mi>c</mi><mi>o</mi><mi>l</mi></mrow></msubsup></msqrt></mfrac><mo>|</mo><msup><mo>|</mo><mn>2</mn></msup><mo>&CenterDot;</mo><msub><mi>SI</mi><mrow><mi>i</mi><mo>,</mo><mi>j</mi></mrow></msub><mo>)</mo></mrow></mrow>其中,pi是分块矩阵P的第i行,是关于用户的对角度矩阵,计算方式为:qi是分块矩阵Q的第i行,是关于商品的对角度矩阵,计算方式为:通过代数转换,上式可以转化为:其中:<mrow><mi>X</mi><mo>=</mo><msup><mrow><mo>(</mo><msup><mi>D</mi><mrow><mi>r</mi><mi>o</mi><mi>w</mi></mrow></msup><mo>)</mo></mrow><mrow><mo>-</mo><mfrac><mn>1</mn><mn>2</mn></mfrac></mrow></msup><mi>S</mi><mi>U</mi><msup><mrow><mo>(</mo><msup><mi>D</mi><mrow><mi>c</mi><mi>o</mi><mi>l</mi></mrow></msup><mo>)</mo></mrow><mrow><mo>-</mo><mfrac><mn>1</mn><mn>2</mn></mfrac></mrow></msup><mo>,</mo></mrow><mrow><mi>Y</mi><mo>=</mo><msup><mrow><mo>(</mo><msup><mi>E</mi><mrow><mi>r</mi><mi>o</mi><mi>w</mi></mrow></msup><mo>)</mo></mrow><mrow><mo>-</mo><mfrac><mn>1</mn><mn>2</mn></mfrac></mrow></msup><mi>S</mi><mi>I</mi><msup><mrow><mo>(</mo><msup><mi>E</mi><mrow><mi>c</mi><mi>o</mi><mi>l</mi></mrow></msup><mo>)</mo></mrow><mrow><mo>-</mo><mfrac><mn>1</mn><mn>2</mn></mfrac></mrow></msup><mo>,</mo></mrow><mrow><mi>K</mi><mo>=</mo><mfenced open = '[' close = ']'><mtable><mtr><mtd><mrow><msub><mi>I</mi><mi>n</mi></msub><mo>-</mo><mi>X</mi></mrow></mtd><mtd><mn>0</mn></mtd></mtr><mtr><mtd><mn>0</mn></mtd><mtd><mrow><msub><mi>I</mi><mi>m</mi></msub><mo>-</mo><mi>Y</mi></mrow></mtd></mtr></mtable></mfenced></mrow>In∈Rn×n表示单位矩阵;求解以下优化问题:<mrow><munder><mi>min</mi><mi>M</mi></munder><mi>T</mi><mi>r</mi><mrow><mo>(</mo><msup><mi>M</mi><mi>T</mi></msup><mi>K</mi><mi>M</mi><mo>)</mo></mrow></mrow>满足:M∈[0,1](n+m)×c,P1C=1n+m,|pi|=l,i=1,…,(n+m);参数c是聚类的簇的个数以及l是每个用户或者商品可以属于的簇的最大个数,即1≤l≤c;另外,符号|·|表示一个向量的非零元素的个数;提出一个两阶段的策略对上式进行求解,具体描述如下:4.1)搜索一个共享低维空间对所有的用户和商品信息进行表示,最优的保留用户和商品信息的t维矩阵Z′可以通过对以下问题求解获取:<mrow><munder><mi>min</mi><mi>Z</mi></munder><mi>T</mi><mi>r</mi><mrow><mo>(</mo><msup><mi>Z</mi><mi>T</mi></msup><mi>K</mi><mi>Z</mi><mo>)</mo></mrow></mrow>满足:Z∈[0,1](n+m)×t,ZTZ=It;其中,It∈Rt×t表示单位矩阵并且ZTZ=It;在这里,ZTZ=It主要用于避免矩阵Z任意扩展;由于k是一个半正定矩阵,所以对于最优解Z′可以通过对特征值问题KZ=λZ进行求解获得,也就是Z′=[z1,…,zt],其中z1,…,zt是根据矩阵k的特征值保留的最小特征向量;4.2)对用户与商品同时进行聚类,即双向聚类;考虑到用户与商品均可以同时出现在一个或者多个簇内,提出对在最大程度上保留了用户与商品信息的矩阵Z′上执行Fuzzy C‑Means聚类算法;执行Fuzzy C‑Means聚类算法的过程,也就是对以下目标函数进行迭代优化的过程:<mrow><mi>min</mi><mi>J</mi><mrow><mo>(</mo><mi>M</mi><mo>,</mo><mi>V</mi><mo>)</mo></mrow><mo>=</mo><mi>min</mi><munderover><mo>&Sigma;</mo><mrow><mi>i</mi><mo>=</mo><mn>1</mn></mrow><mrow><mi>m</mi><mo>+</mo><mi>n</mi></mrow></munderover><munderover><mo>&Sigma;</mo><mrow><mi>j</mi><mo>=</mo><mn>1</mn></mrow><mi>c</mi></munderover><mrow><msup><mrow><mo>(</mo><msub><mi>M</mi><mrow><mi>i</mi><mo>,</mo><mi>j</mi></mrow></msub><mo>)</mo></mrow><mi>&theta;</mi></msup><mi>d</mi><msup><mrow><mo>(</mo><msub><mi>e</mi><mi>i</mi></msub><mo>,</mo><msub><mi>v</mi><mi>j</mi></msub><mo>)</mo></mrow><mn>2</mn></msup></mrow></mrow>其中Mi,j表示元素ei属于簇j的概率,vj表示簇j的中心;函数d(﹒)表示欧几里得距离函数,θ表示用于控制聚类结果的模糊程度的参数;在每一次迭代过程中,算法根据以下式子更新矩阵M和V的元素:<mrow><msub><mi>M</mi><mrow><mi>i</mi><mo>,</mo><mi>j</mi></mrow></msub><mo>=</mo><msup><mrow><mo>(</mo><mi>d</mi><mo>(</mo><mrow><msub><mi>e</mi><mi>i</mi></msub><mo>,</mo><msub><mi>v</mi><mi>j</mi></msub></mrow><mo>)</mo><mo>)</mo></mrow><mrow><mn>2</mn><mo>/</mo><mrow><mo>(</mo><mn>1</mn><mo>-</mo><mi>&theta;</mi><mo>)</mo></mrow></mrow></msup><mo>/</mo><mo>&lsqb;</mo><munderover><mo>&Sigma;</mo><mrow><mi>l</mi><mo>=</mo><mn>1</mn></mrow><mi>c</mi></munderover><msup><mrow><mo>(</mo><mi>d</mi><mo>(</mo><mrow><msub><mi>e</mi><mi>i</mi></msub><mo>,</mo><msub><mi>v</mi><mi>l</mi></msub></mrow><mo>)</mo><mo>)</mo></mrow><mrow><mn>2</mn><mo>/</mo><mrow><mo>(</mo><mn>1</mn><mo>-</mo><mi>&theta;</mi><mo>)</mo></mrow></mrow></msup><mo>&rsqb;</mo></mrow><mrow><msub><mi>v</mi><mi>j</mi></msub><mo>=</mo><mo>&lsqb;</mo><munderover><mo>&Sigma;</mo><mrow><mi>i</mi><mo>=</mo><mn>1</mn></mrow><mrow><mi>m</mi><mo>+</mo><mi>n</mi></mrow></munderover><msup><msub><mi>M</mi><mrow><mi>i</mi><mo>,</mo><mi>j</mi></mrow></msub><mi>&theta;</mi></msup><mo>&CenterDot;</mo><msub><mi>e</mi><mi>i</mi></msub><mo>&rsqb;</mo><mo>/</mo><mo>&lsqb;</mo><munderover><mo>&Sigma;</mo><mrow><mi>i</mi><mo>=</mo><mn>1</mn></mrow><mrow><mi>m</mi><mo>+</mo><mi>n</mi></mrow></munderover><msup><msub><mi>M</mi><mrow><mi>i</mi><mo>,</mo><mi>j</mi></mrow></msub><mi>&theta;</mi></msup><mo>&rsqb;</mo></mrow>其中i=1,..,(m+n),j=1,..,c如果在两个连续的迭代过程中目标函数min J(M,V)的差距不小于阈值ε,算法将被终止;在对矩阵M进行求解之后,矩阵每一行中l个最大并且总和超过预设阈值的元素将被保留下来,并且进行归一化,因此,矩阵M中每一行的元素之和为1;5)单一簇内推荐5.1)使用聚合函数算法得到单一簇内推荐基于聚合函数的推荐方法一般假设:用户对商品的综合评分与多指标评分紧密相关,即综合评分往往由多指标评分决定;由此,基于聚合函数的推荐方法提出利用多指标评分构建关于综合评分的聚合函数,由构建的聚合函数对用户的评分进行预测;提出使用基于主成份分析的回归方法构建关于综合评分的聚合函数并将其用于计算推荐结果;主成份分析是一种用于对数据进行降维分析的方法,其主要核心思想是通过从数据样本中抽取出少数的主成份来代表全体数据样本;如何选择主成份主要是根据样本数据的特征值方差进行的,即每次选择的主成份都是数据样本中特征值方差最大的;根据特征值方差选取的主成分之间是互不相关的,由此可以排除多指标评分之间存在的共线性关系影响;在此基础上,利用选取的主成份构建关于因变量的聚合函数;在使用主成份回归对用户构建关于综合评分的聚合函数之后,目标用户对候选推荐商品的可能评分由下式进行预测:<mrow><msub><mi>r</mi><mrow><mi>u</mi><mo>,</mo><mi>i</mi></mrow></msub><mo>=</mo><munderover><mo>&Sigma;</mo><mrow><mi>c</mi><mo>=</mo><mn>1</mn></mrow><mi>k</mi></munderover><msub><mi>w</mi><mi>c</mi></msub><mrow><mo>(</mo><munder><mo>&Sigma;</mo><mrow><msup><mi>u</mi><mo>&prime;</mo></msup><mo>&Element;</mo><mi>C</mi><mi>U</mi></mrow></munder><msub><mi>r</mi><mrow><msup><mi>u</mi><mo>&prime;</mo></msup><mo>,</mo><mi>c</mi></mrow></msub><mo>/</mo><mrow><mo>|</mo><mrow><mi>C</mi><mi>U</mi></mrow><mo>|</mo></mrow><mo>)</mo></mrow></mrow>其中,ru,i表示目标用户u对候选推荐商品i的预测评分,wc表示聚合函数中关于指标c的系数,ru′,c表示用户u′对商品i在指标c上的评分,cu表示位于同一簇内对商品i进行过评分的用户集合,|CU|表示位于集合cu中的用户的个数;5.2)使用协同过滤函数算法得到单一簇内推荐基于多指标评分的协同过滤算法的核心思想是:即便用户被聚类至同一个具有相同或者相似的指标偏好的簇内,他们也不是具有完全一致的指标偏好;换而言之,在预测推荐结果的时候,同一簇内的不同用户应该被差异化对待;由此,提出使用基于多指标评分的协同过滤算法产生推荐结果,具体计算公式为:<mrow><msub><mi>r</mi><mrow><mi>u</mi><mo>,</mo><mi>i</mi></mrow></msub><mo>=</mo><mover><msub><mi>r</mi><mi>u</mi></msub><mo>&OverBar;</mo></mover><mo>+</mo><mfrac><mrow><msub><mo>&Sigma;</mo><mrow><msup><mi>u</mi><mo>&prime;</mo></msup><mo>&Element;</mo><mi>C</mi><mi>U</mi></mrow></msub><mi>s</mi><mi>i</mi><mi>m</mi><mrow><mo>(</mo><mi>u</mi><mo>,</mo><msup><mi>u</mi><mo>&prime;</mo></msup><mo>)</mo></mrow><mo>&times;</mo><mrow><mo>(</mo><msub><mi>r</mi><mrow><msup><mi>u</mi><mo>&prime;</mo></msup><mo>,</mo><mi>i</mi></mrow></msub><mo>-</mo><mover><msub><mi>r</mi><msup><mi>u</mi><mo>&prime;</mo></msup></msub><mo>&OverBar;</mo></mover><mo>)</mo></mrow></mrow><mrow><msub><mo>&Sigma;</mo><mrow><msup><mi>u</mi><mo>&prime;</mo></msup><mo>&Element;</mo><mi>C</mi><mi>U</mi></mrow></msub><mi>s</mi><mi>i</mi><mi>m</mi><mrow><mo>(</mo><mi>u</mi><mo>,</mo><msup><mi>u</mi><mo>&prime;</mo></msup><mo>)</mo></mrow></mrow></mfrac></mrow>其中,表示用户u的综合评分的均值,ru′,i表示用户u′对商品i的综合评分,sim(u,u′)表示利用多指标评分计算的关于用户u和u′之间的兴趣相似度;采取基于欧几里得距离的计算方法,具体描述如下:用户ux和uy对商品i的两个评分向量为rx,i=[rx,1…,rx,k]和ry,i=]ry,1…,ry,k],两者的欧几里得距离计算如下:<mrow><mi>d</mi><mrow><mo>(</mo><msub><mi>r</mi><mrow><mi>x</mi><mo>,</mo><mi>i</mi></mrow></msub><mo>,</mo><msub><mi>r</mi><mrow><mi>y</mi><mo>,</mo><mi>i</mi></mrow></msub><mo>)</mo></mrow><mo>=</mo><msqrt><mrow><munderover><mo>&Sigma;</mo><mrow><mi>c</mi><mo>=</mo><mn>0</mn></mrow><mi>k</mi></munderover><msup><mrow><mo>|</mo><mrow><msub><mi>r</mi><mrow><mi>x</mi><mo>,</mo><mi>c</mi></mrow></msub><mo>-</mo><msub><mi>r</mi><mrow><mi>y</mi><mo>,</mo><mi>c</mi></mrow></msub></mrow><mo>|</mo></mrow><mn>2</mn></msup></mrow></msqrt></mrow>用户ux和uy的整体距离计算为他们共同评论过的商品的评分向量的欧几里得距离的均值,即:<mrow><mi>d</mi><mrow><mo>(</mo><msub><mi>u</mi><mi>x</mi></msub><mo>,</mo><msub><mi>u</mi><mi>y</mi></msub><mo>)</mo></mrow><mo>=</mo><munder><mo>&Sigma;</mo><mrow><mi>i</mi><mo>&Element;</mo><mi>C</mi><mi>I</mi></mrow></munder><mfrac><mrow><mi>d</mi><mrow><mo>(</mo><msub><mi>r</mi><mrow><mi>x</mi><mo>,</mo><mi>i</mi></mrow></msub><mo>,</mo><msub><mi>r</mi><mrow><mi>y</mi><mo>,</mo><mi>i</mi></mrow></msub><mo>)</mo></mrow></mrow><mrow><mo>|</mo><mrow><mi>C</mi><mi>I</mi></mrow><mo>|</mo></mrow></mfrac></mrow>如果两个用户的兴趣相似度越高,则他们的整体距离应该越小;换言之,两者之间存在逆关系;由此,用户ux和uy的兴趣相似度计算如下:<mrow><mi>s</mi><mi>i</mi><mi>m</mi><mrow><mo>(</mo><msub><mi>u</mi><mi>x</mi></msub><mo>,</mo><msub><mi>u</mi><mi>y</mi></msub><mo>)</mo></mrow><mo>=</mo><mfrac><mn>1</mn><mrow><mn>1</mn><mo>+</mo><mi>d</mi><mrow><mo>(</mo><msub><mi>u</mi><mi>x</mi></msub><mo>,</mo><msub><mi>u</mi><mi>y</mi></msub><mo>)</mo></mrow></mrow></mfrac><mo>;</mo></mrow>6)使用综合函数算法得到最终推荐结果上面所采用的基于多指标评分的双向聚类算法,在经过聚类后,同一个用户或者商品允许同时出现在多个簇内,提出的推荐算法每次只利用一个簇内存在的评分数据预测推荐结果,这样就会得到一个或者多个来源于不同簇的推荐结果,因此,需要找到合适的策略将这些推荐结果综合起来返回给目标用户作为最终推荐结果;由于提出的聚类算法基于以下两个假设:①如果两个用户对同一个或多个商品给出了相同或者相似的综合评分和多指标评分,这两个用户极有可能同时属于一个或者多个簇;②如果两个商品被一个或者多个用户给出了相同或者相似的综合评分和多指标评分,这两个商品极有可能同时属于一个或者多个簇;因此,可以将聚类后的关于用户和商品归属分布的分块矩阵M中的元素,即Mi,j,视作该元素对象i与簇j内其它元素的相似程度,即一个用户与簇内其它用户的指标偏好的相似性,或者,一个商品与簇内其它商品被用户评论的相似性;在综合多个推荐结果时,需要将关于用户和商品的相似性指示值即Mi,j考虑入内,由此提出以下综合策略:<mrow><msub><mi>R</mi><mrow><mi>u</mi><mo>,</mo><mi>i</mi></mrow></msub><mo>=</mo><mfenced open='{' close=''><mtable><mtr><mtd><mrow><munderover><mo>&Sigma;</mo><mrow><mi>l</mi><mo>=</mo><mn>1</mn></mrow><mi>h</mi></munderover><mi>Pr</mi><mi>e</mi><mrow><mo>(</mo><mi>u</mi><mo>,</mo><mi>i</mi><mo>,</mo><mi>l</mi><mo>)</mo></mrow><mo>&CenterDot;</mo><msub><mi>M</mi><mrow><mi>u</mi><mo>,</mo><mi>l</mi></mrow></msub><mo>&CenterDot;</mo><msub><mi>M</mi><mrow><mi>i</mi><mo>,</mo><mi>l</mi></mrow></msub></mrow></mtd><mtd><mi>if u and i belong to one</mi></mtd></mtr><mtr><mtd><mn>0</mn></mtd><mtd><mrow><mi>o</mi><mi>t</mi><mi>h</mi><mi>e</mi><mi>r</mi><mi>w</mi><mi>i</mi><mi>s</mi><mi>e</mi></mrow></mtd></mtr></mtable></mfenced></mrow>其中,Ru,i表示用户u对商品i的最终预测评分,Pre(u,i,l)表示用户u对商品i在簇l中的推荐结果;使用上述综合策略,只有当用户u和商品i同时属于一个或者多个簇的时候,即Mx,l≠0,My,l≠0,l=1,…,h,h≤c;推荐算法才能产生预测结果;另外,参数h表示在参数推荐是考虑的具有最大隶属概率的簇的个数,只有前h个具有最大隶属概率的簇的信息才会被考虑入内产生推荐,这样做主要是为了过滤噪声信息。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于华南理工大学,未经华南理工大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/patent/201510493550.6/,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top