发明名称 一种基于超图排序的新闻推荐方法
摘要 本发明公开了一种基于超图排序的新闻推荐方法,包括以下步骤:1)预处理,2)超图构建,3)矩阵构建,4)排序,5)获得排序结果,6)获得推荐结果。本发明主要通过使用超图模型挖掘用户和新闻内容的内在关系和排序关系,从而将新闻推荐比较繁杂的处理体系简化为一个明晰简洁的关联架构。本发明的特色在于简化了新闻推荐的预处理步骤,而且直接给出了推荐列表。使用本发明可以较好地保证推荐结果与用户偏好的准确性,同时对推荐结果无需做额外二次挑选的前提下又可以保证推荐结果的多样性。
申请公布号 CN104090936B 申请公布日期 2017.02.22
申请号 CN201410299211.X 申请日期 2014.06.27
申请人 华南理工大学 发明人 董守斌;古万荣;袁华
分类号 G06F17/30(2006.01)I 主分类号 G06F17/30(2006.01)I
代理机构 广州市华学知识产权代理有限公司 44245 代理人 蔡茂略
主权项 一种基于超图排序的新闻推荐方法,其特征在于,包括以下步骤:1)预处理处理分类问题和命名实体抽取问题,利用已有的分类标注新闻语料,将用户历史阅读的新闻以及待推荐的新出版新闻进行分类,同时,使用NLP开源工具GATE进行命名实体抽取,使新闻语料具有命名实体关联集;2)超图构建定义超图模型中的点、边及其相关的权重;3)矩阵构建超图排序所需的矩阵构建,有H矩阵、D<sub>e</sub>矩阵、D<sub>v</sub>矩阵、W矩阵,其中:H矩阵是超图中的“点‑边”关联矩阵,每个元素是h(v,e),如果点v和超边e关联,则h(v,e)=1,否则h(v,e)=0;D<sub>e</sub>矩阵是由所有超边e的度构成的对角矩阵,矩阵中的对角线元素值是每个超边的度,其余元素的值为0,超边e的度数δ(e)=|e|,即超边中包含的节点数;D<sub>v</sub>矩阵是由所有节点v的度构成的对角矩阵,矩阵中的对角线元素值是每个节点的度,其余元素的值为0,节点v的度数<img file="FDA0001159668090000011.GIF" wi="467" he="142" />即节点v所关联的所有边的权重之和;W矩阵是一个|E|×|E|的对角矩阵,其中对角元素是每条超边的权重,其余元素是0;4)排序定义一个代价函数,并最小化该代价函数来求得新闻文章的排序分数,该代价函数定义如下:<maths num="0001"><math><![CDATA[<mrow><mi>Q</mi><mrow><mo>(</mo><mi>f</mi><mo>)</mo></mrow><mo>=</mo><mfrac><mn>1</mn><mn>2</mn></mfrac><munderover><mo>&Sigma;</mo><mrow><mi>i</mi><mo>,</mo><mi>j</mi><mo>=</mo><mn>1</mn></mrow><mrow><mo>|</mo><mi>V</mi><mo>|</mo></mrow></munderover><munder><mo>&Sigma;</mo><mrow><mi>e</mi><mo>&Element;</mo><mi>E</mi></mrow></munder><mfrac><mn>1</mn><mrow><mi>&delta;</mi><mrow><mo>(</mo><mi>e</mi><mo>)</mo></mrow></mrow></mfrac><munder><mo>&Sigma;</mo><mrow><mo>{</mo><msub><mi>v</mi><mi>i</mi></msub><msub><mi>v</mi><mi>j</mi></msub><mo>}</mo><mo>&SubsetEqual;</mo><mi>e</mi></mrow></munder><mi>w</mi><mrow><mo>(</mo><mi>e</mi><mo>)</mo></mrow><mo>|</mo><mo>|</mo><mfrac><msub><mi>f</mi><mi>i</mi></msub><msqrt><mrow><mi>d</mi><mrow><mo>(</mo><msub><mi>v</mi><mi>i</mi></msub><mo>)</mo></mrow></mrow></msqrt></mfrac><mo>-</mo><mfrac><msub><mi>f</mi><mi>j</mi></msub><msqrt><mrow><mi>d</mi><mrow><mo>(</mo><msub><mi>v</mi><mi>j</mi></msub><mo>)</mo></mrow></mrow></msqrt></mfrac><mo>|</mo><msup><mo>|</mo><mn>2</mn></msup><mo>+</mo><mi>&mu;</mi><munderover><mo>&Sigma;</mo><mrow><mi>i</mi><mo>=</mo><mn>1</mn></mrow><mrow><mo>|</mo><mi>V</mi><mo>|</mo></mrow></munderover><mo>|</mo><mo>|</mo><msub><mi>f</mi><mi>i</mi></msub><mo>-</mo><msub><mi>y</mi><mi>i</mi></msub><mo>|</mo><msup><mo>|</mo><mn>2</mn></msup></mrow>]]></math><img file="FDA0001159668090000021.GIF" wi="1709" he="197" /></maths>式中,d(v<sub>i</sub>)表示v<sub>i</sub>节点的度数,f<sub>i</sub>表示第i个元素的排序得分,w(e)表示超边e的权重,μ是正则化参数,y<sub>i</sub>是第i个元素初始化的排序得分,δ(e)是e的度数,即超边e包含的节点数;该代价函数的含义在于,如果两个节点同时处于较多相同的超边之内,则这两个节点的排序得分应该是近似的,对代价函数进行f向量的求偏导数,并使偏导数公式等于0,即可求得最优解: f<sup>*</sup>=(I‑αA)<sup>‑1</sup>y式中,I是单位矩阵,<img file="FDA0001159668090000022.GIF" wi="660" he="108" />其中每个矩阵元素都可以在步骤3)中求解,y向量的维度是所有元素的总量,关于y向量的赋值,其对应的用户,即如需对某特定用户形成推荐列表,则对该当前用户所对应的分量赋值为1,其它分量有三种情况:分类点、新闻文章、命名实体;①分类点,对应分量的取值为对该分类点的访问占所有历史文章访问的比例,②新闻文章,有关联的则取值为1,如果没有关联,或该文章是待推荐新闻,则取值为0,③命名实体,有关联的则取值为1,如果没有关联,则取值为0;5)获得排序结果根据步骤4)提供的公式,代入相关的函数公式,获得f<sup>*</sup>的运算向量结果;6)获得推荐结果由于f<sup>*</sup>向量包含了超图模型中的所有元素,因此,需要对专门的“待推荐新闻集合”进行抽取,即对f<sup>*</sup>向量中,只提取对应的待推荐新闻所对应的向量的排序得分,然后取前n个新闻作为Top@n推荐列表。
地址 510640 广东省广州市天河区五山路381号