CN102270204A - 一种基于矩阵分解对在线论坛用户影响力进行计算的方法 - Google Patents

一种基于矩阵分解对在线论坛用户影响力进行计算的方法 Download PDF

Info

Publication number
CN102270204A
CN102270204A CN2010101938410A CN201010193841A CN102270204A CN 102270204 A CN102270204 A CN 102270204A CN 2010101938410 A CN2010101938410 A CN 2010101938410A CN 201010193841 A CN201010193841 A CN 201010193841A CN 102270204 A CN102270204 A CN 102270204A
Authority
CN
China
Prior art keywords
user
article
influence
users
influence power
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.)
Pending
Application number
CN2010101938410A
Other languages
English (en)
Inventor
王捷
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shanghai Jia Ai Business Consulting Co Ltd
Original Assignee
Shanghai Jia Ai Business Consulting Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Shanghai Jia Ai Business Consulting Co Ltd filed Critical Shanghai Jia Ai Business Consulting Co Ltd
Priority to CN2010101938410A priority Critical patent/CN102270204A/zh
Publication of CN102270204A publication Critical patent/CN102270204A/zh
Pending legal-status Critical Current

Links

Images

Landscapes

  • Information Transfer Between Computers (AREA)

Abstract

本发明涉及一种利用计算机基于矩阵特征向量分解对互联网论坛(BBS)中用户的影响力进行自动计算和排名的方法,其中包括:采集论坛文章信息,包括每个对话的主题作者和回帖作者,对用户进行编号;按照领域关键字对主题文章内容进行筛选;根据回复的关系将文章用户进行关联,构成有向无环图,进一步表示成一个邻接矩阵;对该邻接矩阵进行特征向量分解,得到主特征向量,向量每一个元素的值为编号为对应下标的用户的影响力数值;对用户的影响力数值进行排序,即可得到用户影响力的排名。通过本发明,可以对论坛上的用户在一般意义上或者特定领域上的影响力进行计算和排名,能够更加准确的反映每个用户的观点影响到其他用户的可能性,同时结果不会被各类广告贴或者恶意频繁点击等行为干扰。

Description

一种基于矩阵分解对在线论坛用户影响力进行计算的方法
技术领域
本发明涉及一种对在线论坛用户影响力进行计算和排名的方法,属于对互联网信息进行自动采集和处理的技术。
背景技术
随着互联网用户的不断增加,以及各类在线论坛的发展等,用户在在线论坛上的各种讨论话题也愈加深入和广泛,因此针对在线论坛的用户进行影响力的计算和排名具有潜在的科研和商业价值。特别的,拥有几万乃至几十万用户的在线论坛并不鲜见,因此只有基于计算机程序的计算方法才具备实用意义。
发明内容
本发明要解决的问题是:对在线论坛上每个用户的观点影响到他人的可能性(简称为影响力)进行自动计算和排名。
现有评价用户在论坛上影响力的方法是依据两项简单和直观的数据:
1.发表文章数;2.文章点击率。
文章发表数和文章点击率这两项数据可以从论坛的数据库中直接获取,但是用于评价用户影响力有很大的局限和漏洞。譬如:
1.一些用户虽然发表的文章总数不多,但是因为文章质量很高,能吸引很多其他用户参与讨论;因此尽管这类用户的文章发表总数或者点击率都未必非常高,但是实际上他们很大程度上是可能利用自己的观点影响其他用户的;
2.在现实中,一些个人或者商业机构会大量发表各类广告贴来提高文章发表数,或者通过人为或自动的方式来不断打开自己发表的文章(俗称“刷贴”)来提高自己的文章点击率;这些用户虽然有很高的文章发表数或者点击率,但是他们实际上对论坛上其他用户的影响力是很小的。
因此简单的采用这两个数据是不能够准确反映用户的实际影响力的,同时无法避免被一些恶意行为所干扰影响结果。
为了解决上述问题,本发明的一个实施例提供了一种对在线论坛上用户的影响力进行计算和排名的方法,方法所获得的影响力取决于三个主要因素
1.参与某用户发起主题(即通过回帖)的用户数量;
2.每个参与用户的回复数量;
3.参与用户他们本身的影响力。
综合考虑了这三个因素来计算影响力的方法具备两大优点:
1.更加准确。假设用户A,和B是具有影响力的用户,那么如果A和B经常积极参与用户C发起的主题讨论,那么我们可以推断用户C也是具有影响力的,因为他的观点可能影响到A和B,从而进一步影响到参与A和B发起主题讨论的其他用户。
2.不易被伪造。大量的广告贴不太可能引起论坛上正常用户的参与讨论,更加不容易引起真正有影响力的用户来参与讨论。而刷屏所带来的单纯点击率的提升,也不会纳入影响力的计算。
我们会首先采集特定论坛的数据,再通过基于矩阵的数学模型来描述这三个因素,最后通过特征向量分解的算法来得到对每个用户的影响力的评价。
本方法主要由五个子模块组成:
第一模块,论坛数据采集。
针对论坛,可以编写相应的正则表达式来解析主题和回复文章的作者,内容。
在这个过程中,会同时对所有发表过文章的用户进行编号,保证每个用户有一个唯一对应的编号。并且将主题文章内容和主题文章作者编号,回复文章作者编号保存进数据表。
第二模块,针对特定关键字进行主题过滤,通过这一步骤,可以对不同话题领域内用户的影响力进行评估;特别的,也可以略过此步骤,则代表不限话题而在一般意义上对用户影响力进行评估。
第三模块,根据用户间回复关系,生成用户的邻接矩阵。邻接矩阵的每一行和每一列,都对应一个用户,其用户编号和行号或者列号相同;邻接矩阵的每个元素,代表列对应用户在行对应用户的主题文章中回复的数量。
第四模块,对用户邻接矩阵进行特征值分解,找到对应最大特征值的特征向量,特征向量的每一个元素对应一个用户,其下标对应用户编号,值为对应用户的影响力数值。
第五模块,将主特征向量按其值进行从大到小排序,即可得到用户的影响力排名。
下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。
附图说明
图1为一个典型的在线论坛主题列表页面;
图2为一个典型的在线论坛主题文章页面;
图3论坛主题列表,主题文章和回复文章的树形结构表示;
图4为用户间回复关系和邻接矩阵的示意图。
具体实施方式
实施例1
本实施例提供了一种网络文档信息处理方法,包括:
步骤101,从在线论坛上采集文档:
典型的论坛通常都由以下两个主要元素组成:
1主题文章列表页面(见图2),其上包含主题文章链接通往主题文章页面,以及翻页链接通往下一个主题文章列表页面;
2主题文章页面(见图3)由一系列文章内容组成,包括处于位置顶端的主题文章,以及以下的回复文章。每一篇文章包含标题(回复文章可能不包含标题),内容,作者,发表时间。
由此可推导,论坛上主题文章列表,主贴文章页面,以及回复文章可以被表达为一个树形结构(见图3),论坛首页的url是根节点,每一个主题列表页面的url是第一级子节点,每一个主题首页是第二级子节点,每一个主题分页是第三级子节点,每一篇文章是第四级子节点。
可以通过深度优先遍历树的算法编写抓取程序,数据结果存放在三张数据表中。
存放用户信息的数据表T_USER
ID      主题编号,从0开始按照步进1增长
NAME    用户昵称
存放主题文章的数据表T_TOPIC
ID       主题编号,从0开始按照步进1增长
USER_ID  主题作者用户编号
CONTENT  主题内容
存放回复文章的数据表T_REPLY
    ID         主题编号,从0开始按照步进1增长
    TOPIC_ID   回复文章所针对的主题编号
    USER_ID    回复作者用户编号
抓取逻辑伪码如下:
function collection(){
    当前主题列表页面url=论坛首页url
    While当前主题列表页面url上有内容{
         利用正则表达式解析当前主题列表页面内容,得到所有主题文章页面url;
         对于每一个主题文章url{
               解析主题文章标题,内容,作者;
             根据作者名称检查数据库表T_USER中是否存在主题作者,否则存入;
             取得主题作者编号;
             将主题作者编号,主题文章标题,内容存入T_TOPIC表;
                     解析所有回复文章;
             对于每一篇回复文章{
                 解析回复文章作者;
                 取得回复作者编号;
                 根据作者名称检查数据库表T_USER中是否存在回复作者,否则存入;
                 将当前主题文章编号,回复文章作者编号存入T_REPLY表
         }
     }
  用正则解析下一页主题页面列表url;
  当前主题列表页面url=下一页主题页面列表url;
 }
}
关于树的遍历算法,可进一步参考《数据结构C语言版》(清华大学出版社ISBN:9787302023685)
程序中所使用的正则表达式是在文本中根据特定模板解析出内容的计算机编程常用技术,可进一步参看《精通正则表达式:第3版》(电子工业出版社出版,ISBN:9787121046841)
步骤102,领域关键字过滤:
如果希望计算用户在某个特定领域的影响力,则可以预先设定一组领域关键字,对主题文章内容进行匹配,如果任意一个关键字在主题文章内容中匹配成功,则保留该篇文章;如果没有任何关键字匹配成功,则该主题文章以及所有对应的回复文章都删除,不纳入后续分析。
关键字匹配所使用的字符串查找匹配技术是计算机程序编写的基本技术,主流计算机语言都有现成的支持,比如C语言中的strstr方法,Java语言中String类的Search方法。
需要说明的是,本步骤102可以跳过不执行,这表明所有的主题文章都会纳入后续分析,不限领域。
步骤103,生成用户邻接矩阵:
在论坛上的用户之间关系可以用一个有向无环图来表示(图三),每一个节点代表一个用户,节点A指向节点B的有向边代表用户A曾经回复过用户B的主题文章,边的权重为A回复B的回复文章数。用户自我回复的文章不纳入处理。
根据数据结构的理论,一个有向无环图可以被邻接矩阵表示。
有向图邻接矩阵中第i行第j列的元素,表示第编号为j的用户曾经回复编号为i的用户的回复文章数。
A = A 11 A 12 . . . A 1 n A 21 A 22 . . . A 2 n . . . . . . A n 1 A n 2 . . . A nn 公式(1)
图(4)一个是包含5个用户的回复关系图和对应的邻接矩阵示例。
由用户的回复关系生成邻接矩阵的逻辑如下:
构造二维数组A[n][n],A的两个维度都是n,n为该论坛的用户总数,即T_USER数据表的长度。并初始化该数组,使其每个元素为0。
算法为:
遍历T_REPLY数据表{
对于T_REPLY每一条记录,得到{
(1)USER_ID,即该回复的回复作者用户编号USER_ID,假设是i
(2)TOPIC_ID,即所针对的主题文章编号
(3)根据TOPIC_ID,在T_TOPIC表里找到对应记录的USER_ID,即主题作者用户编号,假设是j
A[i][j]=A[i][j]+1更新数组A[i][j]的值为原有值加1
        }
}
步骤104对邻接矩阵A进行特征向量分解,求解主特征向量:
一个特定用户在多大程度上可以影响到其他用户,可以由三个指标反映:
1)有哪些其他用户回复过他的文章;
2)那些用户在他发表的主题文章中回复过多少次;
3)那些用户本身的影响力如何。
令Xi为编号为i的用户的影响力,那么这个值可以和其他用户影响力的加权总和成正比,可表达为:
X i = 1 λ Σ j = 1 n A ij X j 公式(2)
其中Xj为了用户j的影响力,Aij如步骤103说明为用户j对用户i的回复文章数,λ为一未知常数。
记X为所有用户影响力的向量表达形式,其中每个元素X1,X2,...,Xn_对应编号为1,2,...,n的用户的影响力数值,则公式(2)可表达为矩阵和向量相乘的形式,即:
λX=A·X  公式(3)
由公式(3)可见,用户影响力向量X是邻接矩阵A的一个特征向量,而λ为对应的特征值。
因此计算每个用户的影响力便成为一个对邻接矩阵A进行特征向量分解的问题。
进一步的,根据线性代数中的Perron-Frobenius定理,一个非负矩阵只有其最大特征值所对应的特征向量,亦即主特征向量,其每一个元素一定是严格非负的。很显然用户的影响力不可能是负值,因此我们要求得的影响力向量必须是邻接矩阵的主特征向量。
本实施例中对矩阵A进行特征向量分解采用基于修正版Gram-Schmidt进行QR分解的方法(可参考《矩阵分析与应用》作者:张贤达,ISBN:9787302092711出版社:清华大学出版社):
令向量a1,a2,...an为矩阵A的列向量,修正版Gram-Schmidt对它们正交化的方法可用表示为:
R ii = | | a i | | , q i = a i R ii R ij = q i H a j , a j = a j - q i R ij , i + 1 ≤ j ≤ n
算法可以表示为如下伪码:
(函数1)
function qr_refactor(A){
       for(i=i;i<=n;i++){
       Rii=‖ai
q i = a i R ii
         for(j=i+1;j<=n;j++){
R ij = q i H · a j
            aj=aj-qiRij
          }
        }
   return Q,R
}
从而原邻接矩阵A可分解为矩阵Q和R的乘积,即
A=QR
其中Q是一个正交矩阵,R是一个上三角矩阵。
令矩阵A_1=RQ,然后对A_1继续利用函数1进行Q,R分解,得到Q1,R1,再令A_2=R1Q1,以此类推,经过一系列迭代,A会收敛成为一个上三角阵。
算法可以表示为如下函数伪码:
(函数2)
function iterative_qr(A){
      δ=0.1;
B=A;
 S=I;//I为单位矩阵
while(true){
  Q,R=qr_refactor(B);
   A=RQ;
   S=SQ;
converged=true;
//检查是否收敛
for(i=1;i<=n;i++){
   for(j=1;j<=n;j++){
      if(((Bij-Aij))>δ){
        converged=false;
        break;
        }
}
if(!converged)
   break;
}
if(converged)
   return A,S;
    }
A,S=iterative_qr(A),
依据QR算法,A必然会收敛成一个上三角阵,其对角线上的值为A的特征值,矩阵S上每个列向量为A的特征向量。
假设特征值A_ii为最大特征值,则S的第i列列向量S_i为对应的特征向量,亦即原邻接矩阵A的主特征向量,也就是我们要求取的用户影响力向量。其每一个下标对应一个用户编号,每一个元素为对应用户的影响力数值。
步骤105将主特征向量按其数值进行从大到小排序,即可得到对应用户的影响力排名:
1.将主特征向量按下标顺序构造成一个数组,数组每个元素包含两个值,即向量下标i,以及对应向量元素值;
2.使用快速排序法按照向量元素值的大小从大到小排序;
3.从结果数组中依次取出数组元素,则可以得到编号为向量下标的用户影响力数值以及他们的排名顺序。
通过本实施例所述方法,可以对论坛上的用户在一般意义上或者特定领域上的影响力进行评价和排名,能够更加准确的反映每个用户的观点影响到其他用户的可能性,同时结果不会被各类广告贴或者恶意频繁点击等行为干扰。可以对论坛上的用户在一般意义上或者特定领域上的影响力进行评价和排名,能够更加准确的反映每个用户的观点影响到其他用户的可能性,同时结果不会被各类广告贴或者恶意频繁点击等行为干扰。
本领域普通技术人员借助文中给出的公开数学或者计算机科学文献可以理解本发明说明书和实施例;实现上述方法实施例的全部或部分步骤可以通过程序指令完成,前述的程序可以存储于一计算机可读取存储介质中;该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:R0M、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
最后所应说明的是,以上实施例仅用以说明本发明的技术方案而非限制,尽管参照较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或者等同替换,而不脱离本发明技术方案的精神和范围。

Claims (4)

1.一种分析在线论坛用户发表的文章以及相互间回复关系,对用户
对其他用户的影响程度(简称影响力)进行计算和排名的方法,其特征
在于:
具有:采集论坛上的文章内容以及文章的作者用户名;对用户进行唯一编号;记录用户之间的回复关系;根据用户间回复关系建立邻接矩阵;对邻接矩阵进行特征向量分解,求得最大特征向量,其中每个元素对应相应编号用户的影响力数值;对用户按照各自影响力数值进行排名。
2.根据权利要求1所述的对在线论坛用户影响力进行计算和排名的方法,其特征在于:在建立邻接矩阵之前,可以根据给定的领域关键字对文章进行筛选,从而可以计算特定领域内的用户影响力;此步骤如果略过,则计算一般意义上跨领域的用户影响力。
3.根据权利要求1所述的对在线论坛用户影响力进行计算和排名的方法,其特征在于:在对邻接矩阵A进行特征向量分解时,使用基于修正Gram-Schmidt方法的QR算法来迭代邻接矩阵,直到其收敛得到一个上三角阵A′,其对角线为特征值;同时在迭代过程中获得R矩阵的累计乘积S的每一个列向量为A′矩阵相同列上特征值所对应的特征向量;最大特征值对应的特征向量为邻接矩阵A的主特征向量,其中每个元素对应相应编号用户的影响力。
4.根据权利要求3所述的对在线论坛用户影响力进行计算和排名的方法,其特征在于:在取得邻接矩阵A的主特征向量后,其每个元素的值是编号为相应相应下标的用户的影响力指数,对用户的影响力指数进行从大到小排序,即可得到他们的影响力排名。
CN2010101938410A 2010-06-02 2010-06-02 一种基于矩阵分解对在线论坛用户影响力进行计算的方法 Pending CN102270204A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2010101938410A CN102270204A (zh) 2010-06-02 2010-06-02 一种基于矩阵分解对在线论坛用户影响力进行计算的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2010101938410A CN102270204A (zh) 2010-06-02 2010-06-02 一种基于矩阵分解对在线论坛用户影响力进行计算的方法

Publications (1)

Publication Number Publication Date
CN102270204A true CN102270204A (zh) 2011-12-07

Family

ID=45052511

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2010101938410A Pending CN102270204A (zh) 2010-06-02 2010-06-02 一种基于矩阵分解对在线论坛用户影响力进行计算的方法

Country Status (1)

Country Link
CN (1) CN102270204A (zh)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103257982A (zh) * 2012-06-13 2013-08-21 苏州大学 基于关注关系的Blog搜索结果排序算法
CN104133897A (zh) * 2014-08-01 2014-11-05 哈尔滨工程大学 一种基于话题影响力的微博话题溯源方法
CN105760426A (zh) * 2016-01-28 2016-07-13 仲恺农业工程学院 一种面向在线社交网络的主题社区挖掘方法
CN106952166A (zh) * 2016-01-07 2017-07-14 腾讯科技(深圳)有限公司 一种社交平台的用户影响力估算方法及装置
CN107688663A (zh) * 2017-09-19 2018-02-13 华南理工大学 无环数据分析队列的形成方法及包含其的大数据支撑平台
CN109684454A (zh) * 2018-12-26 2019-04-26 北京壹捌零数字技术有限公司 一种社交网络用户影响力计算方法及装置

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103257982A (zh) * 2012-06-13 2013-08-21 苏州大学 基于关注关系的Blog搜索结果排序算法
CN104133897A (zh) * 2014-08-01 2014-11-05 哈尔滨工程大学 一种基于话题影响力的微博话题溯源方法
CN104133897B (zh) * 2014-08-01 2017-07-11 哈尔滨工程大学 一种基于话题影响力的微博话题溯源方法
CN106952166A (zh) * 2016-01-07 2017-07-14 腾讯科技(深圳)有限公司 一种社交平台的用户影响力估算方法及装置
CN106952166B (zh) * 2016-01-07 2020-11-03 腾讯科技(深圳)有限公司 一种社交平台的用户影响力估算方法及装置
CN105760426A (zh) * 2016-01-28 2016-07-13 仲恺农业工程学院 一种面向在线社交网络的主题社区挖掘方法
CN105760426B (zh) * 2016-01-28 2018-12-21 仲恺农业工程学院 一种面向在线社交网络的主题社区挖掘方法
CN107688663A (zh) * 2017-09-19 2018-02-13 华南理工大学 无环数据分析队列的形成方法及包含其的大数据支撑平台
CN107688663B (zh) * 2017-09-19 2020-06-05 华南理工大学 无环数据分析队列的形成方法及包含其的大数据支撑平台
CN109684454A (zh) * 2018-12-26 2019-04-26 北京壹捌零数字技术有限公司 一种社交网络用户影响力计算方法及装置

Similar Documents

Publication Publication Date Title
Monroe et al. Evaluating structural equation models for categorical outcomes: A new test statistic and a practical challenge of interpretation
CN102521248B (zh) 一种网络用户分类方法及其装置
CN104484380A (zh) 个性化搜索方法及装置
CN110968782A (zh) 一种面向学者的用户画像构建及应用方法
CN102270204A (zh) 一种基于矩阵分解对在线论坛用户影响力进行计算的方法
CN107301199A (zh) 一种数据标签生成方法和装置
CN111767725A (zh) 一种基于情感极性分析模型的数据处理方法及装置
CN106934071A (zh) 基于异构信息网络和贝叶斯个性化排序的推荐方法及装置
CN111191099B (zh) 一种基于社交媒体的用户活动类型识别方法
CN102122294A (zh) 基于数据挖掘的大学生选课心理调查研究平台及方法
CN106156023A (zh) 语义匹配的方法、装置和系统
Beel et al. Exploring the potential of user modeling based on mind maps
Abuhay et al. Analysis of computational science papers from iccs 2001-2016 using topic modeling and graph theory
CN109635294A (zh) 基于单语义的未登录词处理方法、智能问答方法及装置
CN105931055A (zh) 一种面向众包平台的服务商特征建模方法
CN113434644B (zh) 一种农技知识服务方法及系统
CN110516164A (zh) 一种信息推荐方法、装置、设备及存储介质
CN104572915A (zh) 一种基于内容环境增强的用户事件相关度计算方法
CN114254615A (zh) 组卷方法、装置、电子设备和存储介质
CN107944946A (zh) 商品标签生成方法及装置
CN112084376A (zh) 基于图谱知识的推荐方法、推荐系统及电子装置
CN105303333A (zh) 招聘信息的处理方法及装置
EP3418916A1 (en) Method and apparatus for determining peak sale and one year sale prediction for hardcover first releases
CN106951517B (zh) 狭隘范围内文献的多样性查询方法
CN113051455B (zh) 一种基于网络文本数据的水务舆情识别方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
ASS Succession or assignment of patent right

Owner name: CIC INFORMATION TECHNOLOGY (SHANGHAI) CO., LTD.

Free format text: FORMER OWNER: SHANGHAI JIA AI BUSINESS CONSULTING CO., LTD.

Effective date: 20120508

C41 Transfer of patent application or patent right or utility model
TA01 Transfer of patent application right

Effective date of registration: 20120508

Address after: 200042. 125, 210, 9 North Jiangsu Road, Shanghai, Changning District, 208

Applicant after: Moxa information technology (Shanghai) Co., Ltd.

Address before: 108, room 200042, building A, Hualian creative Plaza, 125 North Jiangsu Road, Shanghai

Applicant before: Shanghai Jia Ai Business Consulting Co., Ltd.

C02 Deemed withdrawal of patent application after publication (patent law 2001)
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20111207