论文部分内容阅读
〔摘要〕文章概述了主题概率模型(LDA)的计算原理和方法,以及开源R语言中lda程序包采用快速压缩吉普抽样算法分析语料库的处理流程。设计了基于LDA模型的查新辅助分析系统设计功能框架,对其功能、编程实现思路和工作流程做了描述。最后结合课题查新实例,详述了采用LDA模型通过相关文献关键词进行潜在主题挖掘,对比分析课题研究内容,对课题给出客观评价的过程。结果表明,基于主题模型的查新辅助分析系统可以快速有效挖掘相关文献主题,降低查新员对相关文献的分析难度,提高课题评价的客观性,整体辅助分析效果良好。
〔关键词〕主题模型;R语言;查新;课题评价
DOI:10.3969/j.issn.1008-0821.2018.02.018
〔中图分类号〕TP31152;G2507〔文献标识码〕A〔文章编号〕1008-0821(2018)02-0111-05
Research on Design of Novelty Retrieval Aided Analysis
System Based on LDA Model
Ma Linshan1Guo Lei2
(1.Library,Hefei University,Hefei 230022,China;
2.Library,University of Science and Technology of China,Hefei 230026,China)
〔Abstract〕This paper summarized the calculation principle and method of Latent Dirichlet Allocation(LDA),and the treatment flowsheet using the fast collapsed Gibbs samplings algorithm to analyze the corpus in open source R language.The paper designed the function framework of the novelty retrieval aided analysis system based on LDA model,and described its functions,programming mentality and workflow.Finally,with a novelty retrieval case,this paper explained the basic process of using LDA model,mining potential theme using the keywords of relevant literature,comparing comparative analysis the subject of research content,giving an objective to the research topic.The results showed that the novelty retrieval aided analysis system based on LDA could quickly and effectively mining related literature,reduced the difficulty of analyzing relevant literature topics to Novelty Consultant,improved the objectivity of evaluation subject.The overall analysis effect was good.
〔Key words〕latent dirichlet allocation;R language;novelty retrieval;subject evaluation
科技查新是指查新機构对委托人课题的科学技术内容,通过检索文献,对比观点分析,做出新颖性客观公正评价的过程。其在科学研究、开发产品、科技管理活动中扮演十分重要的角色。查新的结果一般是一份规范的报告,但是其过程是十分复杂的脑力智慧劳动。查新员不仅要弄清楚委托人的研究内容,还要利用相关检索技巧,搜集到相关的文献,并从中分析出与委托人研究点的异同。一个高质量的查新,周期一般3~5个工作日,智力劳动强度非常大,需要查新员全身心的投入。为了有效帮助查新员,减轻其工作负担,在信息技术的支持下,出现了一些查新委托系统,从订单委托,报告格式生成等形式上实现自动化。对于查新分析评价内容方面,探讨较少,基本思路还是交给查新员手动完成。
随着信息技术的发展,特别是大数据挖掘技术的发展,从大量数据中智能分析出评价预测观点的方法越来越多,并且日益成熟。其中基于文本挖掘的聚类方法、潜在主题的挖掘LDA模型方法,应用日益广泛。文章计划立足于文本聚类挖掘方法,探讨构建科技查新辅助分析系统,帮助查新员从检索到的文献中提取潜在主题,有效减轻查新员的对比分析负担,极大提高查新的效率和智能性。
1LDA模型
LDA(Latent Dirichlet Allocation)模型是一种典型的用于主题提取的概率潜语义模型,由Blei等在2003年提出,是一种具有文本主题表示能力的非指导学习模型,已经成功应用到文本分类、信息检索等诸多文本相关领域[1]。其内在结构非常清晰。如图1所示,LDA模型假设一篇文档(Document)由多个隐含主题随机组成,文档的主题(Topic)是由一系列相关联的词汇构成。文档语料集(Corpus)是由若干文档构成。基于这一假设,可将隐含主题看做词汇的概率分布(Topic~Word),单个文档可表示为这些隐含主题的概率分布(Doc~Topic),该模型有利于大规模数据处理中的空间降维,将文档投影到Topic空间。另外,该模型中词汇之间假设无关联性,不考虑语法和词序,即所谓的“Bag of Words”假设[2]。 LDA模型假设一篇文档中的主题序列z={z1,z2,z3,…}是可交换顺序,并且其中每一个主题zi服从参数为θ的多项分布,zi~Multinomial(θ),N个词语对应的主题有(依据de Finetti定理):p(z1,z2,…,zN)=∫∏Ni=1p(zi|θ) p(θ)dθ;文档中的词语由给定主题的条件分布生成,即wi~p(wi|zi)。从而文档中词语和主题的概率模型可表示为:p(w,z)=∫p(θ)(∏Ni=1p(zi|θ)p(wi|zi))dθ。p(zi|θ)表示每个文档中各个主题出现的概率,可理解为一篇文档中每个主题所占的比例;p(wi|zi)表示在每个主题中每个词语出现的概率,p(w,z)表示的是每个文档中各个词语出现的概率。这个概率可通过如下步骤得到:第一步,先对文档进行分词,得到一个词语列表,从而将文档表示为一个词语的集合;第二步,计算每个词语在列表中出现的频率,以这个频率作为这个词语在文档中出现的概率。因此,对于任意一篇长度为N的文档,p(w,z)是已知的,而p(zi|θ)和p(wi|zi)未知。需要利用大量的文本数据p(w,z),训练得出p(zi|θ)和p(wi|zi),进而获得文档的主题信息[2]。
LDA模型生成一篇文档的步骤如下:
1)选择N~poission(γ),N为文档长度(文档中词语的数量);
2)选择θ~Dirichlet(α),θ为k维列变量,代表文档中k个主题发生的概率,其中k被假设为固定且已知的量;
3)对于N个词语中的每一个:
①选择主题zi~Multinomial(θ),主题zi服从参数为θ的多项式分布。
②在选定的主题zi下选择词语wi~p(wi|zi,β),其中p(wi|zi,β)为给定的zi条件下的多项分布,参数β是一个k×N矩阵,βij=p(wj=1|zi=1),表示主题i下生成单词j的概率。每个文档所对应的概率密度函数为:
P(w|α,β)=∫P(θ|α)(∏Ni=1∑ziP(zi|θ)P(wi|zi,β))dθ
LDA模型的层次结构如图2所示,该图模型由外到内依次表示LDA模型的文档语料集层、文档层和词层[3]。
2LDA模型的实现
采用LDA模型挖掘文本中的主题,实际上就是估计参数α和β。α反映主题的概率性质,β反映词语在给定主题下的概率性质。Blei提出LDA模型时,在EM算法中结合了变分推断来估计参数α和β。2004年,Griffiths和Steyvers在Blei提出的原始LDA模型上增加了参数β的先验Dirichlet分布,即β~Dir(η);进而他们提出了用于这个LDA模型的估计压缩吉普抽样(Collapsed Gibbs Sampling)算法。EM算法下的变分推断计算速度相对更快,而Collapsed Gibbs Sampling的估计准确率更高。在压缩吉普抽样算法的基础上,又提出了快速压缩吉普抽样(Fast Collapsed Gibbs Sampling)算法,在保证了估计准确率的条件下,大大提高了估计的计算效率。目前在各种软件编程中应用较多的是Gibbs Sampling算法[4]。
开源解释型语言R中的lda程序包封装实现了LDA模型求解。该包使用的是快速压缩吉普抽样算法。分析处理流程如图3所示。
首先要整理文档,形成数据源,一般是txt或者Excel格式的文本文档。其次,对文档中的文本进行分词,形成词条。因英文语句中单词与单词之间有空格分割,切分比
较方便,且准确率高;R语言中中文分词较好的是Rwordseg包,它使用rJava调用Java中文分词工具Ansj来实现分词。分词时能标记出名词、动词、形容词等词的属性,且能按照詞性再进一步提取。第三,利用R语言中的tm包,生成语料库(Corpus)和文档(Document)的内存表示,表现为词汇向量、数据框等。第四,生成词条和文档对应的关系矩阵,便于词汇与对应文档的核对分析。最后利用相关函数和lda包中的函数,进行高频词统计、生成词条出现频次散点图、词云、分析相关性词条以及罗列挖掘出的主题等等。
求解LDA模型,采用Fast Collapsed Gibbs Sampling算法。要给定主题个数k的取值以及参数α和β的初始值。因参数α和β的估计值需经反复迭代得出,初始值的设定对模型最终结果影响不大,一般可随机设定,可设置处置为01。主题个数k对LDA模型的结果影响较大,若k过大,会使相同主题的类别被拆分;若k过小,则主题易混杂,影响对主题的判断、理解[5]。
3基于主题模型的查新辅助分析系统设计
基于主题概率模型(LDA)方法,可以用来识别大规模文档集(Document Collection)或语料库(Corpus)中潜藏的主题信息,其采用的词袋处理机制,不考虑词与词之间的顺序,简化了问题的复杂性,便于实现,实验也证明它具有较好的主题识别能力[6]。目前LDA模型在舆情分析、个性化推荐、社交网络、广告预测、专利分析等领域应用十分广泛。
课题查新过程中,依据委托人提供的关键词,一般能找出较多的相关文献,这些参考文献一一审阅工作量非常大,查新人员可以借助LDA模型,设计一个辅助分析系统,依据参考文献作者提供的关键词,构建词向量空间,进行挖掘分析,汇聚提取出潜在主题,然后再与委托人课题研究内容和方向进行对比,找出合适、精确的相关文献,进而对课题给出客观的评价。下面给出基于LDA模型的查新辅助分析系统设计功能框架,如图4所示[7]。
因R软件是一款功能强大的统计软件,而且是开源项
目,其软件包覆盖了统计计算的所有领域,从传统的回归分析到前沿的金融时间序列分析都有。所以整个系统基于net开发,C#做应用程序,R软件做后台的统计分析,安装R(D)COM组件,注册到Windows的组件服务中,供程序调用[8]。 该模型由查新委托申请、检索相关文献、参考文献信息导出、参考文献主题挖掘和格式化查新报告生成打印五大基本功能组成。工作流程是:首先委托人注册账户进行查新委托申请,按照格式填写指定的课题研究内容、查新点、关键词、以及课题申请书附件等相关资料。其次,查新员相应接受申请,依据委托内容切换到中国知网、万方数据、智立方、超星发现以及外文数据库进行检索,查找相关文献。第三,对于检索获得的参考文献,在检索平台上选择题名、关键字、摘要、作者、全文地址等项,导出为文本格式文件(一般选择Excel格式)。第四,启动核心的参考文献主题挖掘功能模块,导入格式参考文献信息,提取关键词,生成向量空间,选择主题挖掘模型,如LDA、共词等模型,进行挖掘。找出核心关键词,生成聚类潜在主题。查新员利用生成的主题信息,做深入分析,对比课题委托人的研究内容,找出合适的参考文献,并给课题做出合理评价。该功能模块按照文章第2部分——LDA模型的实现流程实现。第五,完善查新报告格式内容,如罗列选出的参考文献,生成最终报告并进行打印。
4实例测试分析
基于以上的主题模型理论及实现思路流程的研究,将其尝试运用到课题查新中的辅助分析方面,探索设计了基于主题模型的查新辅助分析系统,并对该系统的功能框架和工作流行进行了讲解。下面结合具体的课题查新实例,详述采用主题模型对检索初步获得的相关文献进行主题挖掘的过程,重点测试一下主题模型在课题查新中应用的辅助分析效果。
41课题委托概述
课题名称是“单幅二维图像的深度信息提取方法的研究”,研究方向主要是单幅图像中物体边缘散焦程度的度量方法和提出新的构建稠密深度图算法两个方面的研究。委托人标注的查新点是:第一,通过利用已知的高斯核函数与图像进行卷积,然后用梯度比值求弥散半径的修正,获得更精确的稀疏深度图。第二,利用扩散张量和二阶总广义变分将稠密深度图的构建转化为凸最优化问题,从而达到提高稠密深度图的精度的目的。提供的关键词主要有单幅图像,边缘散焦,稀疏深度图,高斯核函数,稠密深度图,扩散张量,图像深度。查新范围限定在国内,用于教育厅省级课题的立项申请。
42参考文献获取说明
为了重点突出说明采用LDA模型进行潜在主题挖掘的过程,且能有效降低复杂度,仅以中国知网(www.cnki.net)检索平台获取的参考文献为例进行说明。根据课题研究内容和方向,先尽可能扩大检索范围,选择二位图像和深度两个关键词,构建检索式“检索式A:关键词=二维图像 and 关键词=深度(模糊匹配)”;检索范围:中国学术期刊网络出版总库,中国博士学位论文全文数据库,中国优秀硕士学位论文全文数据库,中国重要会议论文全文数据库,国际会议论文全文数据库,中国重要报纸全文数据库;检索年限:——2016年11月29日(委托日)。
检索得到128条记录,勾选全部文献,除去3条报纸记录(不含关键词),剩余125条有效记录。点击导出/参考文献,选择“CNKI E-Study”格式导出到Excel保存(文件名为:hlx_cnki.xlsx)。
43提取关键词构建语料库
文本分析采用R语言中的核心工具包tm,语料库(Corpus)是tm包处理所有文本的集合。下载的125条相关文献信息组成一个语料库,每一条文献的关键词(题名、作者、摘要不考虑)视为一个文档(Document)。
加载Excel处理包(library(″xlsx″)),调用read.xlsx(),将hlx_cnki.xlsx文档读入内存,生成数据框对象Data。转换Data关键字列的数据类型为字符向量(data[[“keyword”]]〈-as.character(Data2[[“keyword”]]))。再依据逗号分隔符将每一行中的关键词分裂成字符串向量(便于汇总统计),命令为data[[“keyword”]]〈-strsplit(data[[“keyword”]],split=″,″)。加载tm包和绘图展示包ggplot2,命令为,library(tm),library(ggplot2)。使用VectorSource()函数把data[[“keyword”]]向量转化为可以被Corpus函数直接读取的数据,然后使用Corpus函数完成语料库的转化,放于corpus对象中。命令为corpus=Corpus(VectorSource(data[[“keyword”]]))。进而生成可以统计的词条——文档关系矩阵,命令为sample.dtm〈-DocumentTermMatrix(corpus,control=list(wordLengths=c(2,Inf)))(参数2限定关键词最少2个字符)[9]。
44找高频词,生成词条和出现频次散点图
统计包含关键词的文档数,需要把关系矩阵sample.dtm转化为普通矩阵putong.matrix,命令为putong.matrix〈-as.matrix(sample.dtm)。用Apply函数统计各个关键词在所有文档中出现的次数,命令doc.freq〈-apply(putong.matrix,2,sum)。依据关键词在文档中的出现次数排序,找到频次出现最多的20个词条:names(doc.freq)〈-colnames(putong.matrix);rev(sort(doc.freq))[1∶20],结果如表1所示。
从高频关键词表和散点图可以推测利用二维图像进行提取深度信息的研究较多,应用领域研究多集中在机器视觉、人脸识别、体感游戏等方面。
45挖掘潜在主题,分析挑选相关文献
加载topicmodels和lda包,命令library(topicmodels),library(lda)。依照课题作者提供的研究方面数和新颖点数来适当设置k的数量。本课题研究方向主要是2个方面,设置k=3,lda主题模型的实现方法选择压缩吉普抽样算法Gibbs,其他参数选取默认值。命令为Gibbs=LDA(sample.dtm,k=3,method=″Gibbs″,control=list(seed=2015,burnin=1000,thin=100,iter=1000))。提取与3个主题分别最相关的10个关键词,Terms〈-terms(Gibbs,10),結果如表2所示。 从3个主题的关键词分析,Topic1主要概括机器视觉方面的深度信息;Topic2概括二位图像深度信息提取,涉及到坐标变换、背向散射积分方法,体现出深度信息提取采用的方法问题;Topic3概述有关二位图像特征提取深度信息、进行三维重建在超声诊断仪、体感游戏等领域的应用情况。
分析挖掘出的3个潜在主题,对比课题基于单幅二维图像的深度信息提取方法研究,主要涉及利用高斯核函数与图像进行卷积,用梯度比值求弥散半径的修正方法,以及利用扩散张量和二阶总广义变分方法。主题分析出来的主题未曾涉及到这些研究点,客观判断课题比较新颖。
再审阅主题关键词对应的文献,最后给出的结论是:
目前有关该课题的研究领域,单幅图像中物体边缘散焦程度的度量研究采用的方法主要是迭代方法对深度图像进行修正,利用对象引导的深度优化提取,以及基于柯西分布的点扩散函数模型计算物体图像边缘散焦模糊量的方法。有关稀疏深度图方面的报道较少,且未找到采用高斯核函数方法提取深度信息的报道。有关构建稠密深度图方面的报道较少,未见采用扩散张量的方法。对于本课题提出的利用扩散张量将图像提供的边缘信息引入二阶总广义变分正则项,获得高质量的稠密深度图的算法研究,未见相关文献报道,比较新颖。
46测试总结
该设计系统通过课题查新实例测试表明,通过相关文献的关键词进行主题挖掘,主旨较强,避免歧意,过程相对简单,速度快。可以在整个查新过程中有效降低查新员对大量相关文献主题的分析难度,从中筛选出一定量的文献进行深入分析即可,有效减少了阅读相关文献的数量,提高了工作效率。对于查到的大量相关文献进行潜在主题挖掘,对比验证课题研究内容方向是否新颖,可以提供有效的参考依据,对课题作出评价相对更加客观。但是,对于挖掘出来的主题一般难以通过关键词快速给出结论,需要在参阅含有这些关键词文献的基础上才能给出准确的概括解释。另外,相关文献的获取也要注意采用一定的策略,在适当学科范围的基础上,尽量放大研究范围,检索到尽可能多的有效文献,挖掘效果会更好。
5结束语
主题概率模型(LDA)方法在大量文档中挖掘潜藏主题,识别能力多年来实验和实践证明都是非常有效的。课题查新长期以来,有关内容分析方面,特别是评价的客观性方面,一直是个难题。研究者一直想探索、实践智能查新系统,结果除了查新报告形式可以自动满意生成外,分析结论难以实现智能自动化。基于大量文本挖掘分析方法,如主题概率模型(LDA),来实现查新课题过程的辅助分析,对于提高查新员的相关文献内容主题分析效率,以及课题评价的客观性方面,实践证明有较好的效果。目前主要是通过相关文献的关键词来分析挖掘主题,从题名、摘要内容,甚至全文中切分提取关键词汇进行多途径对比挖掘分析,还需进一步探索。
参考文献
[1]Blei D,Ng A,Jordan M.Latent Dirichlet Allocation[J].Journalof Machine Learning Research,2003,(3):993-1022.
[2]Griffiths TL,Steyvers M.Finding Scientific Topics[C].Process of the National Academy of Sciences,2004,101:5228-5235.
[3]Blei,David M,etc.Latent Dirichlet Allocation[L].Journal of Machine Learning Research,2003,(3):993-1022.
[4]王星,等.大数据分析:方法与应用[M],北京:清华大学出版社,2013:287-289.
[5]王力,李培峰,朱巧明.一种基于LDA模型的主题句抽取方法[J].计算机工程与应用,2013,49(2):160-164.
[6]叶春蕾,冷伏海.基于概率模型的主题识别方法实证研究[J].情报科学,2013,31(1):135-139.
[7]张宏鸣,.NET框架程序设计[M].北京:清华大学出版社,2016:1-330.
[8]Jeff B.Cromwell,The R Statistical Language and C#NET:Foundations[EB/OL].https://www.codeproject.com/Articles/25819/The-R-Statistical-Language-and-C-NET-Foundations,2016-02-16.
[9]李明,R语言与网站分析[M].北京:机械工业出版社,2014:381-386.
(责任編辑:孙国雷)
〔关键词〕主题模型;R语言;查新;课题评价
DOI:10.3969/j.issn.1008-0821.2018.02.018
〔中图分类号〕TP31152;G2507〔文献标识码〕A〔文章编号〕1008-0821(2018)02-0111-05
Research on Design of Novelty Retrieval Aided Analysis
System Based on LDA Model
Ma Linshan1Guo Lei2
(1.Library,Hefei University,Hefei 230022,China;
2.Library,University of Science and Technology of China,Hefei 230026,China)
〔Abstract〕This paper summarized the calculation principle and method of Latent Dirichlet Allocation(LDA),and the treatment flowsheet using the fast collapsed Gibbs samplings algorithm to analyze the corpus in open source R language.The paper designed the function framework of the novelty retrieval aided analysis system based on LDA model,and described its functions,programming mentality and workflow.Finally,with a novelty retrieval case,this paper explained the basic process of using LDA model,mining potential theme using the keywords of relevant literature,comparing comparative analysis the subject of research content,giving an objective to the research topic.The results showed that the novelty retrieval aided analysis system based on LDA could quickly and effectively mining related literature,reduced the difficulty of analyzing relevant literature topics to Novelty Consultant,improved the objectivity of evaluation subject.The overall analysis effect was good.
〔Key words〕latent dirichlet allocation;R language;novelty retrieval;subject evaluation
科技查新是指查新機构对委托人课题的科学技术内容,通过检索文献,对比观点分析,做出新颖性客观公正评价的过程。其在科学研究、开发产品、科技管理活动中扮演十分重要的角色。查新的结果一般是一份规范的报告,但是其过程是十分复杂的脑力智慧劳动。查新员不仅要弄清楚委托人的研究内容,还要利用相关检索技巧,搜集到相关的文献,并从中分析出与委托人研究点的异同。一个高质量的查新,周期一般3~5个工作日,智力劳动强度非常大,需要查新员全身心的投入。为了有效帮助查新员,减轻其工作负担,在信息技术的支持下,出现了一些查新委托系统,从订单委托,报告格式生成等形式上实现自动化。对于查新分析评价内容方面,探讨较少,基本思路还是交给查新员手动完成。
随着信息技术的发展,特别是大数据挖掘技术的发展,从大量数据中智能分析出评价预测观点的方法越来越多,并且日益成熟。其中基于文本挖掘的聚类方法、潜在主题的挖掘LDA模型方法,应用日益广泛。文章计划立足于文本聚类挖掘方法,探讨构建科技查新辅助分析系统,帮助查新员从检索到的文献中提取潜在主题,有效减轻查新员的对比分析负担,极大提高查新的效率和智能性。
1LDA模型
LDA(Latent Dirichlet Allocation)模型是一种典型的用于主题提取的概率潜语义模型,由Blei等在2003年提出,是一种具有文本主题表示能力的非指导学习模型,已经成功应用到文本分类、信息检索等诸多文本相关领域[1]。其内在结构非常清晰。如图1所示,LDA模型假设一篇文档(Document)由多个隐含主题随机组成,文档的主题(Topic)是由一系列相关联的词汇构成。文档语料集(Corpus)是由若干文档构成。基于这一假设,可将隐含主题看做词汇的概率分布(Topic~Word),单个文档可表示为这些隐含主题的概率分布(Doc~Topic),该模型有利于大规模数据处理中的空间降维,将文档投影到Topic空间。另外,该模型中词汇之间假设无关联性,不考虑语法和词序,即所谓的“Bag of Words”假设[2]。 LDA模型假设一篇文档中的主题序列z={z1,z2,z3,…}是可交换顺序,并且其中每一个主题zi服从参数为θ的多项分布,zi~Multinomial(θ),N个词语对应的主题有(依据de Finetti定理):p(z1,z2,…,zN)=∫∏Ni=1p(zi|θ) p(θ)dθ;文档中的词语由给定主题的条件分布生成,即wi~p(wi|zi)。从而文档中词语和主题的概率模型可表示为:p(w,z)=∫p(θ)(∏Ni=1p(zi|θ)p(wi|zi))dθ。p(zi|θ)表示每个文档中各个主题出现的概率,可理解为一篇文档中每个主题所占的比例;p(wi|zi)表示在每个主题中每个词语出现的概率,p(w,z)表示的是每个文档中各个词语出现的概率。这个概率可通过如下步骤得到:第一步,先对文档进行分词,得到一个词语列表,从而将文档表示为一个词语的集合;第二步,计算每个词语在列表中出现的频率,以这个频率作为这个词语在文档中出现的概率。因此,对于任意一篇长度为N的文档,p(w,z)是已知的,而p(zi|θ)和p(wi|zi)未知。需要利用大量的文本数据p(w,z),训练得出p(zi|θ)和p(wi|zi),进而获得文档的主题信息[2]。
LDA模型生成一篇文档的步骤如下:
1)选择N~poission(γ),N为文档长度(文档中词语的数量);
2)选择θ~Dirichlet(α),θ为k维列变量,代表文档中k个主题发生的概率,其中k被假设为固定且已知的量;
3)对于N个词语中的每一个:
①选择主题zi~Multinomial(θ),主题zi服从参数为θ的多项式分布。
②在选定的主题zi下选择词语wi~p(wi|zi,β),其中p(wi|zi,β)为给定的zi条件下的多项分布,参数β是一个k×N矩阵,βij=p(wj=1|zi=1),表示主题i下生成单词j的概率。每个文档所对应的概率密度函数为:
P(w|α,β)=∫P(θ|α)(∏Ni=1∑ziP(zi|θ)P(wi|zi,β))dθ
LDA模型的层次结构如图2所示,该图模型由外到内依次表示LDA模型的文档语料集层、文档层和词层[3]。
2LDA模型的实现
采用LDA模型挖掘文本中的主题,实际上就是估计参数α和β。α反映主题的概率性质,β反映词语在给定主题下的概率性质。Blei提出LDA模型时,在EM算法中结合了变分推断来估计参数α和β。2004年,Griffiths和Steyvers在Blei提出的原始LDA模型上增加了参数β的先验Dirichlet分布,即β~Dir(η);进而他们提出了用于这个LDA模型的估计压缩吉普抽样(Collapsed Gibbs Sampling)算法。EM算法下的变分推断计算速度相对更快,而Collapsed Gibbs Sampling的估计准确率更高。在压缩吉普抽样算法的基础上,又提出了快速压缩吉普抽样(Fast Collapsed Gibbs Sampling)算法,在保证了估计准确率的条件下,大大提高了估计的计算效率。目前在各种软件编程中应用较多的是Gibbs Sampling算法[4]。
开源解释型语言R中的lda程序包封装实现了LDA模型求解。该包使用的是快速压缩吉普抽样算法。分析处理流程如图3所示。
首先要整理文档,形成数据源,一般是txt或者Excel格式的文本文档。其次,对文档中的文本进行分词,形成词条。因英文语句中单词与单词之间有空格分割,切分比
较方便,且准确率高;R语言中中文分词较好的是Rwordseg包,它使用rJava调用Java中文分词工具Ansj来实现分词。分词时能标记出名词、动词、形容词等词的属性,且能按照詞性再进一步提取。第三,利用R语言中的tm包,生成语料库(Corpus)和文档(Document)的内存表示,表现为词汇向量、数据框等。第四,生成词条和文档对应的关系矩阵,便于词汇与对应文档的核对分析。最后利用相关函数和lda包中的函数,进行高频词统计、生成词条出现频次散点图、词云、分析相关性词条以及罗列挖掘出的主题等等。
求解LDA模型,采用Fast Collapsed Gibbs Sampling算法。要给定主题个数k的取值以及参数α和β的初始值。因参数α和β的估计值需经反复迭代得出,初始值的设定对模型最终结果影响不大,一般可随机设定,可设置处置为01。主题个数k对LDA模型的结果影响较大,若k过大,会使相同主题的类别被拆分;若k过小,则主题易混杂,影响对主题的判断、理解[5]。
3基于主题模型的查新辅助分析系统设计
基于主题概率模型(LDA)方法,可以用来识别大规模文档集(Document Collection)或语料库(Corpus)中潜藏的主题信息,其采用的词袋处理机制,不考虑词与词之间的顺序,简化了问题的复杂性,便于实现,实验也证明它具有较好的主题识别能力[6]。目前LDA模型在舆情分析、个性化推荐、社交网络、广告预测、专利分析等领域应用十分广泛。
课题查新过程中,依据委托人提供的关键词,一般能找出较多的相关文献,这些参考文献一一审阅工作量非常大,查新人员可以借助LDA模型,设计一个辅助分析系统,依据参考文献作者提供的关键词,构建词向量空间,进行挖掘分析,汇聚提取出潜在主题,然后再与委托人课题研究内容和方向进行对比,找出合适、精确的相关文献,进而对课题给出客观的评价。下面给出基于LDA模型的查新辅助分析系统设计功能框架,如图4所示[7]。
因R软件是一款功能强大的统计软件,而且是开源项
目,其软件包覆盖了统计计算的所有领域,从传统的回归分析到前沿的金融时间序列分析都有。所以整个系统基于net开发,C#做应用程序,R软件做后台的统计分析,安装R(D)COM组件,注册到Windows的组件服务中,供程序调用[8]。 该模型由查新委托申请、检索相关文献、参考文献信息导出、参考文献主题挖掘和格式化查新报告生成打印五大基本功能组成。工作流程是:首先委托人注册账户进行查新委托申请,按照格式填写指定的课题研究内容、查新点、关键词、以及课题申请书附件等相关资料。其次,查新员相应接受申请,依据委托内容切换到中国知网、万方数据、智立方、超星发现以及外文数据库进行检索,查找相关文献。第三,对于检索获得的参考文献,在检索平台上选择题名、关键字、摘要、作者、全文地址等项,导出为文本格式文件(一般选择Excel格式)。第四,启动核心的参考文献主题挖掘功能模块,导入格式参考文献信息,提取关键词,生成向量空间,选择主题挖掘模型,如LDA、共词等模型,进行挖掘。找出核心关键词,生成聚类潜在主题。查新员利用生成的主题信息,做深入分析,对比课题委托人的研究内容,找出合适的参考文献,并给课题做出合理评价。该功能模块按照文章第2部分——LDA模型的实现流程实现。第五,完善查新报告格式内容,如罗列选出的参考文献,生成最终报告并进行打印。
4实例测试分析
基于以上的主题模型理论及实现思路流程的研究,将其尝试运用到课题查新中的辅助分析方面,探索设计了基于主题模型的查新辅助分析系统,并对该系统的功能框架和工作流行进行了讲解。下面结合具体的课题查新实例,详述采用主题模型对检索初步获得的相关文献进行主题挖掘的过程,重点测试一下主题模型在课题查新中应用的辅助分析效果。
41课题委托概述
课题名称是“单幅二维图像的深度信息提取方法的研究”,研究方向主要是单幅图像中物体边缘散焦程度的度量方法和提出新的构建稠密深度图算法两个方面的研究。委托人标注的查新点是:第一,通过利用已知的高斯核函数与图像进行卷积,然后用梯度比值求弥散半径的修正,获得更精确的稀疏深度图。第二,利用扩散张量和二阶总广义变分将稠密深度图的构建转化为凸最优化问题,从而达到提高稠密深度图的精度的目的。提供的关键词主要有单幅图像,边缘散焦,稀疏深度图,高斯核函数,稠密深度图,扩散张量,图像深度。查新范围限定在国内,用于教育厅省级课题的立项申请。
42参考文献获取说明
为了重点突出说明采用LDA模型进行潜在主题挖掘的过程,且能有效降低复杂度,仅以中国知网(www.cnki.net)检索平台获取的参考文献为例进行说明。根据课题研究内容和方向,先尽可能扩大检索范围,选择二位图像和深度两个关键词,构建检索式“检索式A:关键词=二维图像 and 关键词=深度(模糊匹配)”;检索范围:中国学术期刊网络出版总库,中国博士学位论文全文数据库,中国优秀硕士学位论文全文数据库,中国重要会议论文全文数据库,国际会议论文全文数据库,中国重要报纸全文数据库;检索年限:——2016年11月29日(委托日)。
检索得到128条记录,勾选全部文献,除去3条报纸记录(不含关键词),剩余125条有效记录。点击导出/参考文献,选择“CNKI E-Study”格式导出到Excel保存(文件名为:hlx_cnki.xlsx)。
43提取关键词构建语料库
文本分析采用R语言中的核心工具包tm,语料库(Corpus)是tm包处理所有文本的集合。下载的125条相关文献信息组成一个语料库,每一条文献的关键词(题名、作者、摘要不考虑)视为一个文档(Document)。
加载Excel处理包(library(″xlsx″)),调用read.xlsx(),将hlx_cnki.xlsx文档读入内存,生成数据框对象Data。转换Data关键字列的数据类型为字符向量(data[[“keyword”]]〈-as.character(Data2[[“keyword”]]))。再依据逗号分隔符将每一行中的关键词分裂成字符串向量(便于汇总统计),命令为data[[“keyword”]]〈-strsplit(data[[“keyword”]],split=″,″)。加载tm包和绘图展示包ggplot2,命令为,library(tm),library(ggplot2)。使用VectorSource()函数把data[[“keyword”]]向量转化为可以被Corpus函数直接读取的数据,然后使用Corpus函数完成语料库的转化,放于corpus对象中。命令为corpus=Corpus(VectorSource(data[[“keyword”]]))。进而生成可以统计的词条——文档关系矩阵,命令为sample.dtm〈-DocumentTermMatrix(corpus,control=list(wordLengths=c(2,Inf)))(参数2限定关键词最少2个字符)[9]。
44找高频词,生成词条和出现频次散点图
统计包含关键词的文档数,需要把关系矩阵sample.dtm转化为普通矩阵putong.matrix,命令为putong.matrix〈-as.matrix(sample.dtm)。用Apply函数统计各个关键词在所有文档中出现的次数,命令doc.freq〈-apply(putong.matrix,2,sum)。依据关键词在文档中的出现次数排序,找到频次出现最多的20个词条:names(doc.freq)〈-colnames(putong.matrix);rev(sort(doc.freq))[1∶20],结果如表1所示。
从高频关键词表和散点图可以推测利用二维图像进行提取深度信息的研究较多,应用领域研究多集中在机器视觉、人脸识别、体感游戏等方面。
45挖掘潜在主题,分析挑选相关文献
加载topicmodels和lda包,命令library(topicmodels),library(lda)。依照课题作者提供的研究方面数和新颖点数来适当设置k的数量。本课题研究方向主要是2个方面,设置k=3,lda主题模型的实现方法选择压缩吉普抽样算法Gibbs,其他参数选取默认值。命令为Gibbs=LDA(sample.dtm,k=3,method=″Gibbs″,control=list(seed=2015,burnin=1000,thin=100,iter=1000))。提取与3个主题分别最相关的10个关键词,Terms〈-terms(Gibbs,10),結果如表2所示。 从3个主题的关键词分析,Topic1主要概括机器视觉方面的深度信息;Topic2概括二位图像深度信息提取,涉及到坐标变换、背向散射积分方法,体现出深度信息提取采用的方法问题;Topic3概述有关二位图像特征提取深度信息、进行三维重建在超声诊断仪、体感游戏等领域的应用情况。
分析挖掘出的3个潜在主题,对比课题基于单幅二维图像的深度信息提取方法研究,主要涉及利用高斯核函数与图像进行卷积,用梯度比值求弥散半径的修正方法,以及利用扩散张量和二阶总广义变分方法。主题分析出来的主题未曾涉及到这些研究点,客观判断课题比较新颖。
再审阅主题关键词对应的文献,最后给出的结论是:
目前有关该课题的研究领域,单幅图像中物体边缘散焦程度的度量研究采用的方法主要是迭代方法对深度图像进行修正,利用对象引导的深度优化提取,以及基于柯西分布的点扩散函数模型计算物体图像边缘散焦模糊量的方法。有关稀疏深度图方面的报道较少,且未找到采用高斯核函数方法提取深度信息的报道。有关构建稠密深度图方面的报道较少,未见采用扩散张量的方法。对于本课题提出的利用扩散张量将图像提供的边缘信息引入二阶总广义变分正则项,获得高质量的稠密深度图的算法研究,未见相关文献报道,比较新颖。
46测试总结
该设计系统通过课题查新实例测试表明,通过相关文献的关键词进行主题挖掘,主旨较强,避免歧意,过程相对简单,速度快。可以在整个查新过程中有效降低查新员对大量相关文献主题的分析难度,从中筛选出一定量的文献进行深入分析即可,有效减少了阅读相关文献的数量,提高了工作效率。对于查到的大量相关文献进行潜在主题挖掘,对比验证课题研究内容方向是否新颖,可以提供有效的参考依据,对课题作出评价相对更加客观。但是,对于挖掘出来的主题一般难以通过关键词快速给出结论,需要在参阅含有这些关键词文献的基础上才能给出准确的概括解释。另外,相关文献的获取也要注意采用一定的策略,在适当学科范围的基础上,尽量放大研究范围,检索到尽可能多的有效文献,挖掘效果会更好。
5结束语
主题概率模型(LDA)方法在大量文档中挖掘潜藏主题,识别能力多年来实验和实践证明都是非常有效的。课题查新长期以来,有关内容分析方面,特别是评价的客观性方面,一直是个难题。研究者一直想探索、实践智能查新系统,结果除了查新报告形式可以自动满意生成外,分析结论难以实现智能自动化。基于大量文本挖掘分析方法,如主题概率模型(LDA),来实现查新课题过程的辅助分析,对于提高查新员的相关文献内容主题分析效率,以及课题评价的客观性方面,实践证明有较好的效果。目前主要是通过相关文献的关键词来分析挖掘主题,从题名、摘要内容,甚至全文中切分提取关键词汇进行多途径对比挖掘分析,还需进一步探索。
参考文献
[1]Blei D,Ng A,Jordan M.Latent Dirichlet Allocation[J].Journalof Machine Learning Research,2003,(3):993-1022.
[2]Griffiths TL,Steyvers M.Finding Scientific Topics[C].Process of the National Academy of Sciences,2004,101:5228-5235.
[3]Blei,David M,etc.Latent Dirichlet Allocation[L].Journal of Machine Learning Research,2003,(3):993-1022.
[4]王星,等.大数据分析:方法与应用[M],北京:清华大学出版社,2013:287-289.
[5]王力,李培峰,朱巧明.一种基于LDA模型的主题句抽取方法[J].计算机工程与应用,2013,49(2):160-164.
[6]叶春蕾,冷伏海.基于概率模型的主题识别方法实证研究[J].情报科学,2013,31(1):135-139.
[7]张宏鸣,.NET框架程序设计[M].北京:清华大学出版社,2016:1-330.
[8]Jeff B.Cromwell,The R Statistical Language and C#NET:Foundations[EB/OL].https://www.codeproject.com/Articles/25819/The-R-Statistical-Language-and-C-NET-Foundations,2016-02-16.
[9]李明,R语言与网站分析[M].北京:机械工业出版社,2014:381-386.
(责任編辑:孙国雷)