发明名称 微博中用户间潜在关注关系的发现方法及装置
摘要 本发明提供一种微博中用户间潜在关注关系的发现方法,包括:根据用户集和用户间关注关系集构建用户关注关系矩阵;计算用户关注关系矩阵的两个非负分解矩阵;根据两个非负矩阵的乘积以及用户关注关系矩阵得到潜在关注关系矩阵。本发明结合了微博中用户间的关注关系和用户间交互行为信息来发现潜在关注关系,能够减少发现用户间潜在关注关系的结果误差。
申请公布号 CN103150678B 申请公布日期 2014.12.10
申请号 CN201310077524.6 申请日期 2013.03.12
申请人 中国科学院计算技术研究所 发明人 程学旗;贾岩涛;王元卓;于建业;李静远;冯凯
分类号 G06F17/30(2006.01)I 主分类号 G06F17/30(2006.01)I
代理机构 北京泛华伟业知识产权代理有限公司 11280 代理人 王勇
主权项 一种微博中用户间潜在关注关系的发现方法,包括:步骤1)、根据用户集和用户间关注关系集构建用户关注关系矩阵R,其中用户集中的用户包括目标用户、候选用户和中间用户,中间用户包括目标用户关注的用户以及关注目标用户的用户,候选用户包括中间用户关注的用户以及关注中间用户的用户,矩阵R中的每个元素R<sub>ij</sub>表示第i个用户对第j个用户的关注度;步骤2)、计算矩阵R的两个非负分解矩阵A和B,其中,矩阵A和矩阵B用于刻画用户间关注关系和交互行为对用户间潜在关注关系的影响;该步骤包括:步骤21)、初始化矩阵A和矩阵B为任意非负值矩阵,矩阵A和矩阵B相乘所得的矩阵维度与矩阵R的维度相同;步骤22)、更新矩阵A和矩阵B,其中,利用如下公式更新矩阵A中的每个元素:<maths num="0001" id="cmaths0001"><math><![CDATA[<mfenced open='' close=''><mtable><mtr><mtd><msub><msup><mi>a</mi><mo>&prime;</mo></msup><mi>uk</mi></msub><mo>=</mo><msub><mi>a</mi><mi>uk</mi></msub><mfrac><mrow><msub><mrow><mo>(</mo><munderover><mi>&Sigma;</mi><mrow><mi>u</mi><mo>=</mo><mn>1</mn></mrow><mi>n</mi></munderover><munderover><mi>&Sigma;</mi><mrow><mi>k</mi><mo>=</mo><mn>1</mn></mrow><mi>K</mi></munderover><munderover><mi>&Sigma;</mi><mrow><mi>k</mi><mo>&prime;</mo><mo>=</mo><mn>1</mn></mrow><mi>K</mi></munderover><msup><msub><mi>R</mi><mi>i</mi></msub><mi>f</mi></msup><mrow><mo>(</mo><mi>k</mi><mo>,</mo><mi>k</mi><mo>&prime;</mo><mo>)</mo></mrow><msup><mi>B</mi><mi>T</mi></msup><mo>)</mo></mrow><mi>uk</mi></msub><mo>-</mo><msub><mi>&lambda;</mi><mn>1</mn></msub><msub><mi>a</mi><mi>uk</mi></msub></mrow><msub><mrow><mo>(</mo><msup><mi>ABB</mi><mi>T</mi></msup><mo>)</mo></mrow><mi>uk</mi></msub></mfrac></mtd></mtr><mtr><mtd><mo>-</mo><mrow><mo>(</mo><msub><mi>&lambda;</mi><mn>2</mn></msub><munderover><mi>&Sigma;</mi><mrow><mi>k</mi><mo>&prime;</mo><mo>=</mo><mn>1</mn></mrow><mi>K</mi></munderover><msub><mi>W</mi><mi>u</mi></msub><mrow><mo>(</mo><mi>k</mi><mo>,</mo><mi>k</mi><mo>&prime;</mo><mo>)</mo></mrow><mo>-</mo><msub><mi>&lambda;</mi><mn>3</mn></msub><munderover><mi>&Sigma;</mi><mrow><mi>k</mi><mo>&prime;</mo><mo>=</mo><mn>1</mn></mrow><mi>K</mi></munderover><msup><msub><mi>R</mi><mi>i</mi></msub><mi>f</mi></msup><mrow><mo>(</mo><mi>k</mi><mo>,</mo><mi>k</mi><mo>&prime;</mo><mo>)</mo></mrow><mo>)</mo></mrow><mfrac><mrow><msub><mi>a</mi><mi>uk</mi></msub><mrow><mo>(</mo><msub><mi>a</mi><mi>uk</mi></msub><mo>-</mo><msub><mi>a</mi><mrow><mi>uk</mi><mo>&prime;</mo></mrow></msub><mo>)</mo></mrow></mrow><mrow><mi>W</mi><msub><mrow><mo>(</mo><msup><mi>ABB</mi><mi>T</mi></msup><mo>)</mo></mrow><mi>uk</mi></msub></mrow></mfrac></mtd></mtr></mtable></mfenced>]]></math><img file="FDA0000533134960000011.GIF" wi="1113" he="361" /></maths>非负参数λ<sub>1</sub>、λ<sub>2</sub>和λ<sub>3</sub>分别表示平滑系数、结构正则化系数和交互正则化系数,a<sub>uk</sub>表示矩阵A中的元素,n表示矩阵A的行的个数,K表示中间用户的个数,R<sub>i</sub><sup>f</sup>(k,k′)表示中间用户k和k’相对于用户i的交互行为相似度,W<sub>u</sub>(k,k')表示中间用户k和k’相对于用户u的结构相似度,W是由W<sub>u</sub>(k,k')构成的中间用户结构相似度矩阵;利用如下公式更新矩阵B中的每个元素:<maths num="0002" id="cmaths0002"><math><![CDATA[<mfenced open='' close=''><mtable><mtr><mtd><msub><msup><mi>b</mi><mo>&prime;</mo></msup><mi>ki</mi></msub><mo>=</mo><msub><mi>b</mi><mi>ki</mi></msub><mfrac><mrow><msub><mrow><mo>(</mo><msup><mi>A</mi><mi>T</mi></msup><munderover><mi>&Sigma;</mi><mrow><mi>u</mi><mo>=</mo><mn>1</mn></mrow><mi>n</mi></munderover><munderover><mi>&Sigma;</mi><mrow><mi>k</mi><mo>=</mo><mn>1</mn></mrow><mi>K</mi></munderover><munderover><mi>&Sigma;</mi><mrow><mi>k</mi><mo>&prime;</mo><mo>=</mo><mn>1</mn></mrow><mi>K</mi></munderover><msup><msub><mi>R</mi><mi>i</mi></msub><mi>f</mi></msup><mrow><mo>(</mo><mi>k</mi><mo>,</mo><mi>k</mi><mo>&prime;</mo><mo>)</mo></mrow><mo>)</mo></mrow><mi>ki</mi></msub><mo>-</mo><msub><mi>&lambda;</mi><mn>1</mn></msub><msub><mi>b</mi><mi>ki</mi></msub></mrow><msub><mrow><mo>(</mo><msup><mi>A</mi><mi>T</mi></msup><mi>AB</mi><mo>)</mo></mrow><mi>ki</mi></msub></mfrac></mtd></mtr><mtr><mtd><mo>-</mo><msub><mi>&lambda;</mi><mn>2</mn></msub><msub><mi>b</mi><mi>ki</mi></msub><mfrac><mrow><munderover><mi>&Sigma;</mi><mrow><mi>j</mi><mo>=</mo><mn>1</mn></mrow><mi>m</mi></munderover><msub><mi>W</mi><mi>k</mi></msub><mrow><mo>(</mo><mi>i</mi><mo>,</mo><mi>j</mi><mo>)</mo></mrow><mrow><mo>(</mo><msub><mi>b</mi><mi>ki</mi></msub><mo>-</mo><msub><mi>b</mi><mi>kj</mi></msub><mo>)</mo></mrow></mrow><mrow><mi>W</mi><mo>&prime;</mo><msub><mrow><mo>(</mo><msup><mi>A</mi><mi>T</mi></msup><mi>AB</mi><mo>)</mo></mrow><mi>ki</mi></msub></mrow></mfrac></mtd></mtr></mtable></mfenced>]]></math><img file="FDA0000533134960000012.GIF" wi="870" he="460" /></maths>b<sub>ki</sub>表示矩阵B中的元素,m表示矩阵B的列的个数,W<sub>k</sub>(i,j)是用户i和j相对于中间用户k的结构相似度,W’是由W<sub>k</sub>(i,j)构成的候选用户结构相似度矩阵;步骤23)、计算更新后的矩阵A和更新后的矩阵B的乘积R'=AB,利用如下公式计算矩阵R’与矩阵R之间的误差:<maths num="0003" id="cmaths0003"><math><![CDATA[<mrow><mi>rmse</mi><mo>=</mo><msqrt><mfrac><mrow><munderover><mi>&Sigma;</mi><mrow><mi>u</mi><mo>=</mo><mn>1</mn></mrow><mi>n</mi></munderover><munderover><mi>&Sigma;</mi><mrow><mi>i</mi><mo>=</mo><mn>1</mn></mrow><mi>m</mi></munderover><msup><mrow><mo>(</mo><msub><mi>r</mi><mi>ui</mi></msub><mo>-</mo><msub><mover><mi>r</mi><mo>^</mo></mover><mi>ui</mi></msub><mo>)</mo></mrow><mn>2</mn></msup></mrow><mi>mn</mi></mfrac></msqrt><mo>,</mo></mrow>]]></math><img file="FDA0000533134960000021.GIF" wi="547" he="217" /></maths>其中,r<sub>ui</sub>表示矩阵R中的元素,<img file="FDA0000533134960000022.GIF" wi="49" he="59" />表示矩阵R’中的元素,如果误差rmse小于预定阈值,则输出更新后的矩阵A和矩阵B;否则,调整参数λ<sub>1</sub>、λ<sub>2</sub>和λ<sub>3</sub>,返回步骤22);步骤3)、将矩阵A和矩阵B的乘积与矩阵R相减得到矩阵<img file="FDA0000533134960000023.GIF" wi="53" he="74" />,从矩阵<img file="FDA0000533134960000024.GIF" wi="42" he="69" />中挑出所有目标用户对应行与所有候选用户对应列的位置的所有元素,得到目标用户的潜在关注关系矩阵R<sup>*</sup>,其中矩阵R<sup>*</sup>的每个元素<img file="FDA0000533134960000026.GIF" wi="86" he="80" />表示第i’个目标用户对第j’个候选用户的潜在关注度。
地址 100190 北京市海淀区中关村科学院南路6号