,, ,,
(1.上海理工大学复杂系统研究中心,上海 200093;2.上海财经大学金融科技研究院,上海 200433)
网络科学是一门极富交叉性又与互联网前沿技术紧密相联的学科,近年来有许多学者结合自己的专业背景在网络科学中不同的分支领域做了相关研究[1-2],但没有在宏观层面对整个网络科学的研究趋势和研究热点作出分析。全国复杂网络大会是紧密围绕复杂系统与复杂网络展开的国际性研讨会,是网络科学学科最具权威性的会议之一,通过对该会议的摘要文本进行主题挖掘能分析出会议的研究趋势与研究热点,一定程度上能反映国内网络科学领域最新的研究态势。在主题挖掘中,通常采用主题模型进行主题研究。
主题挖掘主要用于处理和分析海量信息,发现文档中的核心主题,实现对信息的有效处理和深层次利用[3],通常应用于非结构化数据的处理。文献[4-7]运用主题挖掘模型研究科研文献以及在线数据库的研究热点及发展趋势。文献[8-11]分别对新闻报道、在线论坛的文本进行了主题发现;文献[12-16]则对于短文本如微博、推文、用户评论等进行主题提取发现热门话题。
文本主题挖掘有许多方法,如使用共词分析进行研究[17],或基于共词分析结合社会网络的方法进行文本主题的挖掘[18],但共词分析没有考虑到文献是由语义表达构成的,故有学者提出LSA、PLSA和LDA模型来挖掘文档的主题,并估算主题对应词的概率。其中,潜在语义分析LSA(latent semantic analysis)将词和文档映射到潜在语义空间[19],通过奇异值分解得到文本的主题,相比传统的空间向量模型解决了一义多词问题,但缺乏可解释的嵌入[20],表征效率低,需要大量的文件和词汇来获得准确的结果。概率潜在语义分析PLSA(Probabilistic Latent Semantic Analysis)采用概率方法替代SVD以解决问题,将概率模型引入LSA,用EM算法估计文档-主题分布和主题-词分布,但PLSA难为新数据分配概率,存在过拟合问题[21]。LDA(Latent dirichlet allocatio)即潜在狄利克雷分布,是PLSA[22-23]的贝叶斯版本,它使用狄利克雷先验来处理文档-主题和主题-词分布,从而有助于更好地泛化[24]到新文档中。通过使用LDA,可以从文档语料库中提取可解释的主题[25],其中每个主题都以与之关联度最高的词语作为特征。在实际应用中,LDA具有很好的适应性[26],广泛应用于主题提取。
本文的主要贡献是:第一,实验使用LDA主题模型对网络科学会议的摘要进行主题挖掘,用困惑度确定最佳主题数目,以JS距离作为距离度量指标,对摘要进行凝聚层次聚类,发现了10个研究主题以及不同研究方向的热门程度,一定程度上能反映出网络科学领域近期的研究态势,帮助从事网络科学研究的学者以主题的相似度为参考指标,拓展自己的研究方向。该工作拓展了主题模型在学术会议研究态势与研究热点挖掘上的应用范围,丰富了学术会议主题挖掘与研究热点分析的思路,能为其他学科学术会议挖掘研究态势提供借鉴。第二,提出一种基于主题模型和社交网络分析相结合来挖掘机构关联关系的研究方法。将机构研究主题的相似性与社会网络分析相结合,挖掘机构间的关联关系,构建机构关系网络。以机构研究主题相似度为参考指标,为机构寻找合适的科研合作单位提供参考建议。
实验以第十三届全国复杂网络大会的会议摘要为研究对象,对摘要文本进行主题建模,分析出复杂网络科研领域的研究趋势,并基于机构摘要主题的相似性,挖掘机构间的关联关系,为机构推荐合适的科研合作单位。实验首先对会议文本进行预处理,再建立自定义词典和专用停用词库,利用jieba对中文文本做切词处理;然后使用LDA主题模型对会议摘要的主题进行研究,并用困惑度作为评测指标来确定最佳主题个数;接着利用JS散度来计算摘要间的距离,基于距离进行凝聚层次聚类,得到摘要主题分布结果。最后为了基于机构研究主题的相似性为机构推荐合适的科研合作单位,将JS散度做邻接矩阵转化,利用社会网络分析工具构建机构主题关联网络。实验过程如图1所示:
图1 实验流程图Fig.1 Experimental flowchart
图2 LDA的图模型表示Fig.2 LDA′s graph model representation
LDA是Blei基于PLSA算法提出的主题模型,该模型在学术领域衍生了大量的变体[27-29],它采用的是词袋模型[30],由文档、主题、词三层结构组成,该模型认为一篇文章由多个主题构成,主题服从一定的概率分布,而描述每个主题的词也是以一定概率分布的。LDA的图模型如图2所示,通过使用联合概率分布计算给定观测变量值下的隐含变量的条件分布[31]。
在训练的文档集M中,主题数为K,一篇文档的总词数为N。LDA模型运行过程如下:1)从中取样生成文档的主题分布;2)从主题的多项式分布中取样生成文档的第i个词的主题;3)从中取样生成主题对应的词语分布;4)从词的多项式分布中采样最终生成词语。整个模型中所有已知变量和隐含变量的联合分布如式(1)所示:
(1)
式(1)中,N代表一篇文档的总词数。最终一篇文档的词分布的最大似然函数估计可以通过将式(1)的θi以及φ进行积分和对进行求和得到:
(2)
在实验过程中,整个文档集作为输入内容进行LDA训练,但主题数K需要在模型训练前指定。
在自然语言处理分析中,困惑度是衡量语言模型性能的主流评测指标。困惑度取值越小,表明语言模型的泛化能力越强,模型性能越好。在对文本做主题分析时,主题数K的取值对LDA模型的文本提取和拟合性能影响较大。而困惑度可以从模型泛化能力衡量LDA主题模型对于新文本的预测能力,当困惑度越小时,模型的性能越好,通过多组对比实验找出困惑度最小时对应的主题数[32-33]K,便为最佳主题个数。计算公式如式(3)所示:
(3)
其中,M为测试集,V为文档集中的总词数,P(w)表示单词Wij在所有主题的分布值与该词所在文档的主题分布的乘积。
1.3.1 距离测量
实验对会议摘要语料进行LDA训练后,得到每篇文档的主题概率分布矩阵θ。统计学上常用JS距离(Jensen-Shannon divergence)来衡量两个不同的分布[34],故选择它作为摘要距离的度量指标。JS由KLD发展而来,是基于信息熵的概念定义的,可以衡量相同时间空间里两个概率分布的差异情况。JS的取值是对称并且有界的,当两个分布相同时,JS取值为0,当两个分布完全不同时,JS取值为1。JS距离的计算公式如下所示:
(4)
(5)
1.3.2 层次聚类
层次聚类是一种无监督聚类方法,初始对给定数据逐步进行凝聚,距离越近越容易被聚为一类,直到满足一定条件为止[35]。在文本分析中,最初将每个文档看作单独的一簇,然后依次根据距离最近的文档进行合并,直到与待合并的文档距离大于给定的阈值为止。本文通过计算JS距离度量文档之间的相似性,进而对153篇摘要进行凝聚层次聚类,并通过可视化的方式展示聚类结果。
具体的算法步骤为:
1) 将每篇摘要都看作一个簇;
2) 计算摘要文档两两之间的JS距离;
3) 当摘要i的文本文档和摘要j的文本文档之间的JS距离小于等于阈值时,将两篇摘要合并为一簇;
4) 重复步骤2)、3),直到所有满足该条件阈值的摘要合并完;
5) 增大阈值,按上述方法继续合并,直到所有的摘要都合并完成。在合并过程中,两簇之间的距离取值为两簇中文档JS距离的平均值。
1.3.3 聚类有效性评价
基于凝聚层次聚类的原理分析,距离阈值的不断增大才使得原本可能不被归为一个簇的样本归属于同一簇。有监督分类学习算法的评价指标将预测结果与原样本对比,从而评价有监督聚类算法的有效性,无监督聚类算法聚类的有效性则以类内相似度高、类间相似度低作为评价原则。实验选择邓恩指数[36]作为层次聚类的有效性评价指标,两个簇的样本容量分别为m和n时,DVI的计算如式(6)所示:
(6)
其中,m和n分别为两个类别的样本容量,分子表示类间的最短距离,分母表示类内的最大距离。对于无监督聚类算法,类内距离越小、类间距离越大,则聚类效果越好。在式(6)中,当分子越大分母越小时,即DVI的值最大,聚类效果最好。
文本预处理工作主要是对原始数据集进行筛选过滤,并将数据中的英文摘要翻译为中文文本,然后分别整理为基于摘要的主题分析数据集和基于机构的主题分析数据集,最后基于自建的自定义词典和停用词词库,利用Python的Jieba模块切词处理。文本的预处理工作如图3所示。
2.1.1 数据准备
本文数据来源于2017年第十三届全国复杂网络大会中所投的155篇摘要,每条摘要字数在200-450词之间。会议摘要包含51篇中文摘要,103篇英语摘要和1篇内容待定摘要。摘要的描述信息主要包括有论文标题、科研机构、作者和摘要内容。我们先删除了1篇内容待定摘要,然后对剩余的154篇摘要进行去重后,剩下102篇英文摘要和51篇中文摘要,合并整理成总文本文档,得到153篇摘要作为本文的数据基础,数据的时间窗口为2017年11月24日至2017年11月27日。
图3 预处理流程图Fig.3 Preprocessing flowchart of preprocessing
会议摘要文本数据中包含了102篇英文摘要。由于摘要内容存在大量的网络科学研究方向的专用名词,为了确保英文摘要翻译的规范性与准确性,本文的研究选用了5个来自网络科学研究背景的志愿者,将英文摘要翻译成中文。
由于后续工作的研究主体分别是基于摘要的主题分析和基于机构的主题分析,数据的预处理方法存在一些差异,具体体现如下:
1)基于摘要的主题分析需要将翻译后的102篇英文摘要与原始的51篇中文摘要合并成153条总文本数据。
2)基于机构的主题分析需要将同一机构下的所有摘要合并为一行,从而得到61条文本数据。
2.1.2 中文分词
由于中文词间无间隙、语法结构的特殊性,为了提取非结构化文本数据中的有效信息,需要对文本做进一步的分析处理。在开始文本分析工作前,首先要利用中文分词算法将这些非结构化的描述性文本转化成结构化的数据。本文采用Python中Jieba分词模块的精确模式来对语料进行分词[37]。
虽然jieba有新词识别能力,但是由于使用的语料是网络科学会议的摘要文本,文本内容极为精简且专业术语较多,这将会给分词工作带来如下困难:1)歧义的消除问题。如“神经网络结构”是切分为“神经/网络结构”或“神经网络/结构”,还是将“神经网络结构”这一整体作为一个专有名词;2)jieba词库中未登录词的识别问题。实验中发现语料中有很多专业术语,这些需要通过结合实际情况和专业背景,建立贴合语料的自定义词典,从而得到有效的分词结果,提高分词的准确性。比如,对于“构建网络科学社区检测的零模型”这个摘要标题,不添加自定义词典的情况下,会被分成“构建/复杂/网络/社区/检测/的/零/模型”,可以看出“复杂”、“网络”、“社区”、“检测”、“零”、“模型”这些词失去了在语境中的本来意义,而如果将“网络科学”、“社区检测”、“零模型”加入到自定义词典并且在分词的过程中读取自定义词典,这句话则会被切分成“构建/网络科学/社区检测/的/零模型”,显然这样的分词结果更有效。
基于对原始语料的初步了解,首先建立了含有1 372个词条的自定义词典,并在实验中人工地逐条比较原始语料和分词结果,然后不断地扩充自定义词典,使得分词结果尽可能地准确。最后,实验总共建立了含有1 670个词条的自定义词典。基于已建立好的自定义词典,利用Python的Jieba分词包,对会议的所有摘要进行了分词。
2.1.3 停用词过滤
在分词的过程中,发现了类似“大量的、准确地、一次、并且、它、然而”等出现频率太高却没有太大意义或者类别色彩不强的形容词、副词,量词、连词、介词,语气助词等,需要被过滤掉从而减少存储空间和计算时间。并且由于网络科学领域的专业性,一些类似于“建立、尝试、应对、足够”等与主题不相关的词也需要被过滤以减少噪音影响。文本预处理阶段的处理方法通常是添加停用词库,对分词结果进行筛选过滤,从而得到质量较高的分词结果。
使用停用词库之前,比如“基于启发式算法的空间网络最优分解策略”这句话,会被分成“基于/启发式算法/的/空间网络/最优分解策略”,而加入了停用词库以后的结果是“启发式算法/空间网络/最优分解策略”,可以看出剔除掉了“基于”、“的”等无效信息后,分词结果内容显得精炼集中。在实验中,除了加入通用的中文停用词库过滤无效信息以外,我们还针对语料的特点以及实际需求建立了贴合语料的专用停用词库,对初步的分词结果进行减噪,最终所建的通用停用词库和专用停用词库共包含3 216个词条。
通过中文分词和停用词过滤,最终得到含有13 981个词汇的语料库。
通过LDA主题模型训练,得到摘要不同主题数对应的困惑度和机构不同主题数对应的困惑度,随不同主题个数的变化趋势如图4和图5所示:
图4中,困惑度最小时对应的摘要主题个数为190,故设定摘要主题个数K=190。图5中,困惑度最小时对应的机构主题个数为100,故设定机构主题个数K=100。对于经验参数α和β,参照文献[32]设置为α=50/k,β=0.01。LDA主题建模需要分别对各主题下的词语概率分布φ和各文档下的主题概率分布θ[38]做估计,这些估计值是LDA训练之后通过采样得到的输出结果。实验选用吉布斯抽样的方法,每次选取概率向量的一个维度,给定其它维度的变量值抽样确定当前维度的值,不断迭代,直至收敛后输出待估参数[39]。
设定迭代次数为2 000,最后得到的参数估计结果如下:
一个K×V的矩阵φ,表示每个主题下生成每个词的概率。K分别表示摘要的主题个数190和机构的主题个数100,V表示文档集去重后的词汇个数。
图5 机构不同主题数的困惑度Fig.5 Institutional confusion under different subject numbers
一个M×K的矩阵θ,表示数据集中每个文档生成主题的概率;M是文档总数,它的值分别为摘要文档153篇和机构文档61篇,K是主题数。
表1列出了LDA训练之后摘要主题得到的190个主题中的前4个主题,表2列出了机构主题得到的100个主题中的前4个主题。表中的数值越大表示该主题产生该词的概率越大。
表1 基于摘要的前4个主题Tab.1 The first 4 topics based on abstract
表2 基于机构的Top4个主题Tab.2 The first 4 topics based on organization
表1中,4个主题产生“同步性”、“复杂网络”、“空间网络”、“权重预测”的概率最大,即认为基于摘要的4个主题与这4个词最相关。表2中,4个主题产生“网络模型”、“网络科学”、“演化博弈”、“网络节点”的概率最大,即认为基于机构的前4个主题与这4个词最相关。
2.3.1 层次聚类结果及有效性评价
基于摘要的文档-主题分布,用JS距离公式计算153篇摘要两两间的距离,并且利用凝聚层次聚类的方法将距离最近的摘要逐步聚合,最终所有摘要在距离为1.27时聚为一类。从图6中可以看出,在合并过程中,随着距离阈值的增大,簇与簇之间的合并变得迟缓、距离的跨度越来越大。
实验从聚类的最后一步倒推,寻找最佳聚类效果的距离阈值。根据邓恩指数对聚类的全过程进行裁剪,图6为最后14步的聚类结果。黑色的横线是由DVI确定的距离阈值,当距离阈值为0.56时,聚类最有效。将距离小于0.56的过程裁剪掉,得到最后10步的聚类结果如图7所示。
图6 摘要不同主题数的困惑度Fig.6 Clustering results of the last 14 steps
图7 机构不同主题数的困惑度Fig.7 Clustering results of the last 10 steps
2.3.2 主题聚类结果
基于图7的结果提取10簇所代表的主题,这10簇的样本容量分别为90,3,51,1,1,1,2,2,1和1。使用关键词提取的方法分别筛选出子簇内摘要的特征词中概率最大的关键词作为该簇的主题,而对于横线(距离阈值大于0.56)以上的聚类点,根据特征词汇人工概括为新的主题。子簇中若含有网络同步性、博弈或传播等关键词的摘要被归纳为网络动力学;含有链路预测、推荐算法和社团检测等的子簇被归纳为网络应用;结构可控性和渗透阈值等被归纳为网络控制;子簇中金融网络分析被归为网络分析;编队模型和评价模型被归纳为网络建模。实验统计了每簇下包含子簇的百分比,其中网络动力学这一簇容量为90,说明该主题下包含了90篇摘要,占比为58.8%;网络应用这一簇容量为51,占比为34%;网络控制占比2%;网络分析和网络建模占比均为1%。
本文列举了排名前5的主题的组成成分如表3所示,可观察出最热门的研究方向是网络动力学和网络应用,其次是网络控制、网络分析和网络建模。
根据图7的聚类结果,将10簇的主题和聚类过程相结合,得到主题发现的树状图,如图8所示。
表3 排名前五的主题分布表Tab.3 Top five topic distribution
图8 主题发现结果Fig.8 Results of the topic discovery
图8主题发现结果图中,来自于网络科学大会的153篇摘要被划分为10类,各个摘要所属的主题依次为网络动力学、网络控制、网络应用、合作行为、时间序列、网络同步性、网络分析、网络建模、社区划分和节点重要性,主题标签上的数值表示聚类到该主题下的摘要篇数。从图中可以看到,最热门的网络动力学和网络控制、网络应用在一定的距离阈值下聚为一类,而社区划分和节点重要性聚为一类后,又与网络建模、分析、同步性等聚为一类,最终两大类聚集到网络科学大主题下。基于层次聚类结果,发现网络科学领域的各研究方向并不是独立存在,而是彼此关联。从事网络科学领域的学者可以基于各研究方向间的关联性,拓展自己的研究领域,提高学术创新,如将网络应用和网络控制相联系,网络分析和网络建模相融合。
2.3.3 主题聚类结果准确性检验
实验为了检验会议研究主题聚类结果的科学性与准确性,选用5名参与会议并从事复杂网络研究的志愿者分别对153篇摘要按研究主题分类并贴标,然后基于主题分类结果计算聚类的准确率、召回率和F1测度值。
准确率(P,precision):A/(A+B),表示在所有被判断为正确的文档中,有多大的比例是正确的。召回率(R,Recall):A/(A+C),表示在所有正确的文档中,有多大的比例被我们判定为正确。F1测度(F-measure):2PR/(P+R),既衡量准确率,又衡量召回率。其中,A表示系统检索到的相关文档;B表示系统检索到的不相关文档;C表示相关但是系统没有检索到的文档;P表示准确率;R表示召回率。表4是会议研究主题的准确率、召回率和F1测度值检测结果。
表4 会议主题聚类的检验结果Tab.4 Test results of conference topic clustering
从表4可以看出,会议主题聚类结果的准确率为78.5%,召回率为81.9%,F1测度值为80.2%,表明会议主题聚类结果较为有效。
实验将主题模型和社交网络分析相结合来挖掘机构关联关系。基于机构研究主题的相似性与社会网络分析相结合,以研究主题相似度为参考指标,为机构寻找合适的科研合作单位提供参考建议。
社会网络分析常将社会网络的形式化转换成邻接矩阵来表达。邻接矩阵[40]是表示顶点之间相邻关系的矩阵,在无向图中,是一个阶方阵,第行和第列上的元素定义如下:
首先将摘要语料按其所属机构合并为61条记录,然后基于机构研究主题间的相似性,当机构研究主题相似性较高时,构建机构间的连边,从而生成机构关联网络。研究主题相似性越高时,JS距离越小,统计JS距离频次分布如图9所示。
图9 摘要距离频次分布图Fig.9 Abstract distance frequency distribution
从统计结果上看,JS距离频次分布图近似于正态分布,因此实验设定:当JS距离大于0.27时,判定机构研究主题间的相似性较低,定义为无关系,统一取值为0;当JS距离小于0.27时,判定机构研究主题间的相似性较高,定义为有关系,统一取值为1,生成摘要距离的机构邻接矩阵。
基于机构邻接矩阵,用社会网络分析工具Ucinet构建机构关联关系,得到61所机构基于研究主题相似性的关联网络,整体上的机构关联网络如图10所示。
在图10中,颜色越深,代表机构节点的度越大[41],即表明在此次会议中与该机构研究内容相似的科研单位较多;而颜色越浅,代表机构节点的度越小,表明在此次会议中与其研究内容相似的科研单位较少。从图中可观察得到:国防科技大学、华中科技大学、上海财经大学、武汉大学、香港城市大学等24个机构的邻居节点较多,表明在网络科学领域与这些机构具有相似研究方向的科研单位数量较多;而佛罗里达大学、东北大学、安徽大学、上海交通大学这4个机构的邻居节点数量相对较少,表明在网络科学领域与这4个机构研究方向相似的科研单位数量较少。
图10 基于机构研究主题相似性的关联网络Fig.10 Association network based on research topic similarity
在社会网络分析工具Gephi中,将光标移至某一节点,可显示该节点及其邻居节点的连接关系。研究主题相似的机构间存在一条连边,研究主题差异大的机构间没有连边且无关系的节点会隐去。基于此,能找出各机构在网络科学研究领域的关联关系。然后以机构研究主题间的相似性为参考指标,为各机构寻找合适的科研合作单位提供参考建议。
图11为北京大学及其邻居节点基于会议研究主题相似性的关联网络图,从图11得知:在网络科学研究领域中,与北京大学研究方向相近的机构有:中国科技大学、国防科技大学、北京工业大学、西南大学等12个机构。由于北京大学与该12个机构的研究方向相近,则可以建议它与这些机构建立科研合作关系来提高学术创新。
图11 北京大学邻居节点网络Fig.11 Network of neighbor nodes of Peking University
本文通过对2017年第十三届全国复杂网络大会中的摘要进行预处理,利用LDA主题模型对会议摘要的主题进行研究,选用困惑度作为评测指标确定最佳主题个数;使用JS距离计算摘要间的距离,对距离进行凝聚层次聚类得到摘要主题结果,实验挖掘出:网络动力学、网络控制、网络应用、合作行为、时间序列、网络同步性、网络分析、网络建模、社区划分和节点重要性10个研究主题。根据摘要主题的层次聚类结果,可以清晰地看出复杂网络会议当前热门的研究方向是网络动力学和网络应用,该会议的研究趋势一定程度上能反映出网络科学的研究态势,帮助相关科研人员了解网络科学学科当前的热门领域,拓展他们的科研方向。同时,将机构摘要研究主题的相似性与社会网络分析相结合,挖掘机构间的关联关系,基于机构研究主题的相似性,以相似度为参考指标,为机构寻找合适的科研合作单位提供参考建议。
本文的工作拓展了主题模型在学术会议研究态势与研究热点挖掘上的应用范围,丰富了学术会议主题挖掘与研究热点分析的思路,能为其他学术会议快速挖掘研究态势提供借鉴;同时提出一种基于主题模型和社交网络分析相结合来挖掘机构关联关系的研究方法,以机构研究主题相似度为参考指标,为机构寻找合适的科研合作单位提供参考建议。然而,本文的研究也存在以下不足:层次聚类后的摘要主题类别是由人工进行归纳总结,总结的好坏还未找到合适的评价指标,若未来能使用自动化贴标签技术完善分析方法,相信能更好地提高实验效率和实验的科学性,挖掘出更准确地网络科学会议主题。
致谢:感谢深圳大学丰建文教授提供2017年第十三届全国复杂网络会议摘要数据。