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

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

【技术实现步骤摘要】

本专利技术涉及一种对在线论坛用户影响力进行计算和排名的方法,属于对互联网信息进行自动采集和处理的技术。
技术介绍
随着互联网用户的不断增加,以及各类在线论坛的发展等,用户在在线论坛上的各种讨论话题也愈加深入和广泛,因此针对在线论坛的用户进行影响力的计算和排名具有潜在的科研和商业价值。特别的,拥有几万乃至几十万用户的在线论坛并不鲜见,因此只有基于计算机程序的计算方法才具备实用意义。
技术实现思路
本专利技术要解决的问题是对在线论坛上每个用户的观点影响到他人的可能性(简称为影响力)进行自动计算和排名。现有评价用户在论坛上影响力的方法是依据两项简单和直观的数据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主题文章页面(见图幻由一系列文章内容组成,包括处于位置顶端的主题文章, 以及以下的回复文章。每一篇文章包含标题(回复文章可能不包含标题),内容,作者,发表时间。由此可推导,论坛上主题文章列表,主贴文章页面,以及回复文章可以被表达为一个树形结构(见图3),论坛首页的url是根节点,每一个主题列表页面的url是第一级子节点,每一个主题首页是第二级子节点,每一个主题分页是第三级子节点,每一篇文章是第四级子节点。可以通过深度优先遍历树的算法编写抓取程序,数据结果存放在三张数据表中。存放用户信息的数据表T_USERID 主题编号,从0开始按照步进1增长NAME 用户昵称存放主题文章的数据表T_T0PICID主题编号,从0开始按照步进1增长USER_ID主题作者用户编号CONTENT 主题内容存放回复文章的数据表!^!^卩!^ID主题编号,从0开始按照步进1增长T0PIC_ID 回复文章所针对的主题编号USER_ID 回复作者用户编号抓取逻辑伪码如下function collection() {当前主题列表页面url =论坛首页urlWhile当前主题列表页面url上有内容{利用正则表达式解析当前主题列表页面内容,得到所有主题文章页面url ;对于每一个主题文章url {解析主题文章标题,内容,作者; 根据作者名称检查数据库表T_USER中是否存在主题作者,否则存入; 取得回复作者编号; 将当前主题文章编号,回复文章作者编号存入T_REPLY表 解析所有回复文章; 对于每一篇回复文章{ 解析回复文章作者;取得主题作者编号;根据作者名称检查数据库表T_USER中是否存在回复作者,否则存入 将主题作者编号,主题文章标题,内容存入T_T0PIC表;} }用正则解析下一页主题页面列表url ;当前主题列表页面url =下一页主题页面列表url ; } }关于树的遍历算法,可进一步参考《数据结构C语言版》(清华大学出版社ISBN: 9787302023685)程序中所使用的正则表达式是在文本中根据特定模板解析出内容的计算机编程常用技术,可进一步参看《精通正则表达式第3版》(电子工业出版社出版,ISBN: 9787121046841)步骤102,领域关键字过滤如果希望计算用户在某个特定领域的影响力,则可以预先设定一组领域关键字, 对主题文章内容进行匹配,如果任意一个关键字在主题文章内容中匹配成功,则保留该篇文章;如果没有任何关键字匹配成功,则该主题文章以及所有对应的回复文章都删除,不纳入后续分析。关键字匹配所使用的字符串查找匹配技术是计算机程序编写的基本技术,主流计算机语言都有现成的支持,比如C语言中的strstr方法,Java语言中Mring类的karch 方法。需要说明的是,本步骤102可以跳过不执行,这表明所有的主题文章都会纳入后续分析,不限领域。步骤103,生成用户邻接矩阵在论坛上的用户之间关系可以用一个有向无环图来表示(图三),每一个节点代表一个用户,节点A指向节点B的有向边代表用户A曾经回复过用户B的主题文章,边的权重为A回复B的回复文章数。用户自我回复的文章不纳入处理。本文档来自技高网...

【技术保护点】
1.一种分析在线论坛用户发表的文章以及相互间回复关系,对用户对其他用户的影响程度(简称影响力)进行计算和排名的方法,其特征在于:具有:采集论坛上的文章内容以及文章的作者用户名;对用户进行唯一编号;记录用户之间的回复关系;根据用户间回复关系建立邻接矩阵;对邻接矩阵进行特征向量分解,求得最大特征向量,其中每个元素对应相应编号用户的影响力数值;对用户按照各自影响力数值进行排名。

【技术特征摘要】

【专利技术属性】
技术研发人员:王捷
申请(专利权)人:上海佳艾商务信息咨询有限公司
类型:发明
国别省市:31

相关技术
    暂无相关专利
网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1