
1.3 本书主要内容
1.3.1 研究内容体系结构
本书研究内容的体系结构如图1-1所示。

图1-1 本书研究内容的体系结构
该框架包含以下4个主要功能模块:
(1)基于Nutch的虚拟社区多源数据采集系统研究。虚拟社区的形式层出不穷,其中最为重要的几种形式有新闻网站、论坛、贴吧、微博、博客等,针对这些多源虚拟社区,采用建立在Nutch基础上的通用数据采集系统获取数据资源,具体方法主要包括基于免费或者付费API接口抓取数据资源、利用网络爬虫工具进行数据源采集、从数据公开网站获取相应数据集等。
(2)虚拟社区社会化专家建模理论研究。基于主题模型构建用户—专长—词项混合图,将待研究的虚拟社区抽象成理论研究模型,并采用融合多类专家证据的混合图生成方法对虚拟社区中的用户进行建模。进一步地,基于主题模型的知识共享网络构建将基于社区用户角度建模上升为基于社区层面进行建模分析。
(3)虚拟社区社会化专家推荐方法研究。在针对虚拟社区专家模型建立的基础上,构建基于混合图的社会化专家推荐算法,为虚拟社区中的用户提供更加高效、优质的服务。
(4)应用及实证研究。利用真实数据集(微博、百度知道、39健康网艾滋病论坛等)中的实验对构建的虚拟社区专家用户模型、社会化专家推荐方法及在线社会支持应用模型进行检验,以验证模型的有效性、可行性及其实用价值。
1.3.2 主要功能模块介绍
模块一:基于Nutch的虚拟社区多源数据采集系统研究
数据采集是虚拟社区实证研究的基础,其功能主要是完成虚拟社区包括新闻网站、论坛、贴吧、微博、博客等的各种数据资源采集,该模块为本书提供了最有价值的原始数据或结构化数据。互联网上的虚拟社区是人们进行交流、娱乐、开展交易等各种经济社会活动的重要场所,也是弱势群体寻求和提供在线社会支持的主要手段。首先,在网络领域数据库设计采集数据源的结构,分别针对新闻网站、论坛、贴吧、微博、博客等不同类型的虚拟社区进行相应的采集方案设计,为基于虚拟社区的社会化专家推荐研究确定研究对象;然后在通用的搜索引擎框架Nutch的基础上结合不同社区的特点对其进行改造,采用不同的方式进行线上数据采集,并以此作为系统的初始输入,使虚拟社区集达到实时、定向、精准的目标。
虚拟社区中的网页新闻采集首先从一个工作种子集出发,将新闻网页URL放到待抓取队列中,从队列中取出一个URL抓取下来对应的网页,然后提取出网页相应的URL放到队列中,如此按照广度优先或者深度优先策略不断抓取网页,直到达到设定的停止标准为止。
针对论坛、贴吧的数据采集,本书提出“分块解析”理论,论坛中无论是帖子列表页面,还是帖子页面,其正文内容都由若干块组成,帖子列表页面中每条主帖就是一个块,帖子页面中主帖、每条回帖都是一个块。同时,每个块中都包括若干数据项,如主帖中包含主题、内容、点击数、回复数等数据项。因此,分块解析就是从一个页面中定位出每个数据块(这些数据块通常具有相同或相似的源码特征),再从每个数据块中抽取出对应的数据项。从而解决了论坛贴吧采集中大规模采集、自动化采集、准实时采集、定向采集、翻页抓取、通用解析与精准解析的难题,实现了准实时采集和精准化抽取的目标。
针对微博、博客的数据采集主要采用微博API与网络爬虫相结合的形式,建立通用的微博资源采集方案,实现对微博平台数据的采集。微博需要登录后才能看到具体内容,而登录问题就对网络爬虫提出了很大的难题,因此,本书采用微博API进行微博模拟登录,具体通过建立应用池和账号池来抓取相应微博内容。首先,在微博平台申请多个开发者账号及测试账号,以规避平台对服务器IP的限制;然后周期性刷新测试应用的Token;接着获取当前所有满足条件的Token,依次利用这些Token进行请求,通过相应的API获取最新的微博数据;最后将这些数据进一步解析为满足我们概念模型的微博的形式,并对所有微博建立索引。由于API的许多限制及API高级接口暂时不免费对外开放,登录成功以后,本书使用基于HTTP请求的爬虫来实现相应数据的抓取。
为了尽可能达到数据共享的最高标准,以确保数据集可发现性、可访问性、互操作性和可复用性,当前,许多大型平台公开了各领域数据集,相关研究人员可以通过免费下载或者付费获取的形式便捷地对相关数据进行采集。
模块二:虚拟社区社会化专家建模理论研究
该模块由专家用户建模和虚拟社区建模两个子模块组成,其主要功能是对虚拟社区中的专家用户进行识别,进一步构建社区模型以达到虚拟社区知识共享目的,从而实现“人人为我,我为人人”的高效知识获取与利用。
1.专家用户建模
专家用户建模子模块针对虚拟社区中的专家用户识别及模型构建,提出了基于证据增强混合图的专家用户建模方法。对各模型构建问题的描述及定义、建模框架、建模具体流程及算法等进行详细介绍,充分利用了社区中的各类专家证据并将其有机融合,生成混合图并对虚拟社区中的专家用户进行建模。
首先,对多类专家证据进行概述,用户—专长—词项混合图的构建,就是在用户—专长—词项三部图的基础上有机融合上述多类专家证据。
其次,基于主题模型构建用户—专长—词项混合图,将待研究的虚拟社区抽象成理论研究模型,对问题进行描述和定义,针对本书待解决问题提出虚拟社区下的用户—专长—词项三部图模型,并针对专家用户画像进行构建,融合了用户属性、社会化标签和主题网络,从而构成了基于主题模型的虚拟社区用户画像模型,包括静态用户画像和动态用户画像的模型。用户画像的作用主要是对虚拟社区中用户的特征进行客观、准确的描述,以此满足社区用户的个性化需求。
最后,在LDA主题模型的基础上,对社会化专家建模问题进行剖析与分解,设计一套应用于虚拟社区的社会化专家建模框架体系,进而基于专家用户知识度量,以增强用户—专长—词项三部图中用户与专长、专长与词项之间的关联边及权重,同时基于节点多属性的相似性计算进行链接预测,以增强用户—专长—词项三部图各节点属性及节点间关系,目的是将影响社会化专家推荐的多类专家证据信息融入用户—专长—词项三部图模型中并增强三部图中的定点属性、关联边和权值,生成混合图,最终进行虚拟社区专家用户的模型构建。知识度量主要用于如何识别出虚拟社区中专业知识水平高、经验丰富、沟通技巧好的专家型用户,并对这些用户资源进行深度挖掘和利用这一问题进行研究。链接预测部分提出一种基于信息融合相似性算法的链接预测指标SNEUGC指标,接着对SNEUGC指标构建框架进行设计,最后分别针对输出的文档计算相应SNEUGC值设计具体算法流程,从而进行基于SNEUGC指标的链接预测。基于混合图的社会化专家建模部分主要实现在用户—专长—词项三部图基础上利用多类专家证据来构建并增强三部图中的节点属性、关联边及权值,从而生成混合图,构建社会化专家模型。
2.虚拟社区建模
虚拟社区建模模块基于知识网络共享模型进行虚拟社区的模型构建,其研究内容主要包括3个部分。①知识网络的表示。本书的知识网络是指虚拟社区中每个成员在网络中存在显式或隐式的知识,由知识节点间内在关系而形成的网络。以虚拟社区成员为知识主体,以主体间的知识相似度为边,虚拟社区的知识网络可以表示为P-P网络。②基于HAPM模型的知识模式获取。借鉴HPAM模型的思想,构建虚拟社区知识共享网络,包括虚拟社区成员关系网络和虚拟社区知识网络,其中知识网络又是在知识元网络基础上构建的。③知识主体间知识相似性度量。以知识模式为标准抽取虚拟社区每个成员的知识模式,其中设定知识元个数阈值,提取相应阈值下的知识元。知识主体间知识相似性采用空间向量VSM模型度量。
该模块的研究结合HPAM主题模型,提出一种虚拟社区知识网络共享模型研究方法,有效地解决了虚拟社区存在的以下问题:①如何描述虚拟社区及用户的知识,实现虚拟社区知识的自组织;②如何在知识描述及知识共享网络的基础上进行可视化研究;③如何发现专家用户并促进知识共享。
模块三:虚拟社区社会化专家建模方法研究
在对虚拟社区中的专家用户进行识别,从而构建社区模型这一基础上,实现虚拟社区中资源利用最大化、服务最优化才是本书的最终目的。社会化专家推荐有助于用户快速、准确获取所需信息或知识,对于解决信息过载、提升用户体验和知识共享水平具有重要意义。社会化专家推荐子模块包括重启动随机游走和情境感知两个部分,其主要功能是基于证据增强混合图进行社会化专家推荐。该子模块在融合了多类专家证据的用户—专长—词项混合图模型的基础上设计社会化专家推荐系统框架结构,分两阶段进行专家推荐,即基于重启动随机游走的专家推荐和基于情境感知的专家推荐相结合。
重启动随机游走部分使用重启动随机游走算法研究社会化专家推荐,通过计算节点之间的相关性,从而得出个性化的专家推荐列表,并将这些专家推荐给目标用户,为其提供专家解答服务。本书把社会化专家推荐问题转化为一个图的问题,提出使用重启动随机游走算法研究社会化专家推荐,它是本书基于证据增强混合图进行社会化专家推荐的第一阶段。这个阶段首先要对用户的提问进行解析,采用CRP隐主题模型的方法对用户提出的问题进行主题识别,提问的主题可以映射为回答者的个人专长。紧接着对得到的稳定概率进行排序,稳定概率越大,被推荐的机会则越大,从而生成候选专家Top-N列表。情境感知部分的主要作用是确定各类情境对用户回答行为的影响权重,为基于情境感知的社会化专家进行推荐,从而提高社会化专家的推荐精度和可用性。首先,要获取用户的情境知识,针对不同类别的情境知识采用不同方式来获取相应数据。其次,在基于混合图的社会化专家推荐算法的基础上,通过提问者与候选专家之间的情境相似性对候选专家列表进行二次过滤,从而保证推荐专家的可用性。也就是说,通过计算候选专家的历史情境和提问者的当前情境的相似度来匹配适合的专家,得出最终的社会化专家推荐列表。
模块四:应用及实证研究
在理论模块构建完成后,检验其是否具有实际应用价值尤为重要,否则本书将沦为一纸空谈。鉴于此,本模块利用新浪微博、百度知道平台、39健康网艾滋病论坛等虚拟社区中的真实数据集,在理论模型构建的基础上,共设计3组实验进行实证研究:用户画像模型实证、社会化专家推荐模型实证、在线社会支持模型实证。
1.基于新浪微博的用户画像应用与实证
本模块包含两类实验,分别是基于主题模型的用户画像实验及在此基础上的虚拟社区知识共享实证。基于用户画像的用户建模实验包括基于LDA主题模型的静态用户画像和动态用户画像。基于知识共享网络模型的社区建模实验的数据包括用户节点、用户关系信息和微博3类数据,通过基于主题模型构建的虚拟社区知识共享网络,得到虚拟社区知识元网络、虚拟社区知识网络、虚拟社区成员网络及知识主体的知识描述,从而定量、易理解及可视化地发现虚拟社区知识共享规律。
2.基于百度知道的社会化专家推荐应用与实证
本模块实验即证据增强混合图的社会化专家推荐实验,在全球最大的中文互动问答社区——百度知道平台的基础上展开的实证研究,包含用户—专长—词项混合图的生成和社会化专家推荐算法的实现两部分。首先,构建用户—专长—词项混合图,通过增强图中边的类型和权值、增强用户节点的属性特征这样的方式,将4类专家证据有机融合到混合图中;其次,在上述实验得出的用户—专长—词项混合图基础上,通过识别用户提出的新问题的主题领域,采用基于证据增强混合图的社会化专家推荐算法即二阶段推荐算法进行社会化专家推荐。
3.基于39健康网艾滋病论坛的在线社会支持应用与实证
本模块包含4类实验,分别是基于用户专业度识别的用户建模实验、基于链接预测算法的用户建模实验,以及在此基础上的在线社会支持网络构建实验和在线社会支持网络演化追踪实验。基于用户专业度识别的用户建模实验利用Offline Explorer采集论坛的所有网页信息,并通过预处理去掉页面中包含的冗余信息,将用户信息、帖子内容和回复关系等数据解析出来作为实验数据。基于链接预测算法的用户建模实验包括基于节点内容相似性的链接预测实验和基于SNEUGC指标的链接预测实验。在线社会支持网络构建实验以论坛用户为节点、以用户间发生的各种类型的社会支持为连接边,进而构建在线社会支持网络,并在此基础上,通过在线社会支持网络演化追踪实验对虚拟社区网络社团的多种演化情形和演化路径进行探测分析。
1.3.3 章节结构
本书首先针对虚拟社区中的专家用户进行识别并进行用户建模及社区建模,在此基础上研究如何更好地实现面向虚拟社区的社会化专家推荐和在线社会支持,以便更好地实现社区资源最大化利用,使用户获得更加专业的帮助,从而使整个虚拟社区更加优质。本书主要分为6章,包含虚拟社区用户及社区建模、社会化专家推荐和在线社会支持3个主要知识点。
第1章:绪论。阐述了本书研究的虚拟社区用户建模相关背景和相关理论的国内外研究现状,并总结了本书的主要研究内容。首先,针对用户建模与识别理论、社会专家推荐算法和在线社会支持的研究现状及存在的问题展开论述;其次,确定本书的体系结构,并就主要功能模块进行详细论述。
第2章:相关理论基础。详细介绍了社会网络、复杂网络社团、用户画像、链接预测及混合图模型及算法这5个相关理论和技术,对后面各章起到支撑作用。其中重点针对各理论的基本思想、表示方法、分析方法及各理论所涉及的具体算法及步骤进行介绍。
第3章:面向虚拟社区的社会化专家建模。该部分是全书的核心章节,从虚拟社区专家用户建模和社区建模两个角度进行研究,首先基于主题模型构建用户—专长—词项三部图,将待研究的虚拟社区抽象成理论研究模型,并采用融合多类专家证据的混合图生成方法对虚拟社区中的用户进行建模。
第4章:基于证据增强混合图的社会化专家推荐。提出了一种基于证据增强混合图的社会化专家推荐方法,将用户专长知识、网络关系和情境信息等充分融入社会化专家推荐,在用户—专长—词项混合图模型的基础上提出基于证据增强混合图的两阶段推荐方法。
第5章:面向虚拟社区的应用与实证研究。利用从新浪微博、百度知道论坛、39健康网艾滋病论坛等虚拟社区平台获取的实际数据资源,对理论模型和相关算法进行实际运用,分别设计基于主题模型的虚拟社区用户画像实证、基于证据增强混合图的社会化专家推荐实证,以及在线社会支持网络构建与演化追踪实证,用以验证本书模型与算法的有效性和可行性。
第6章:基于Nutch的虚拟社区多源数据采集系统。以Nutch开源技术为基石,针对基于网络新闻的数据采集、基于论坛贴吧的数据采集和基于微博的数据采集进行研究。其中,重点设计了基于分类指标的新闻网站排名方法,从而进行网络新闻的采集解析研究、论坛采集流程和基于模板的Web论坛解析流程,并以新浪微博和腾讯微博为例,研究它们基于API方法抓取数据的流程和基于爬虫抓取数据的方法。