1.4 网络舆情分析技术
随着网络舆论影响力的增强,网络舆情已经成为各级政府了解社情民意、改进工作作风、提高执政能力的重要窗口。近年来,国家大力推进网络舆情监控体系建设,各级宣传主管部门以及主流新闻媒体等大多设立了网络舆情监测机构,加强对网络舆情监测和引导。
在网络舆情监测中,面对海量的网络信息,必须借助于信息技术来实现网络舆情监测的自动化和智能化。于是,各种网络舆情监测系统便应运而生了。
1.4.1 网络舆情监测系统
网络舆情监测系统的主要功能是实现网络信息的自动采集和网络舆情的在线监测与分析。尽管不同的网络舆情监测系统产品存在一定的差异,但在系统架构和核心技术上大同小异。通常,一个网络舆情监测系统可以按照层次化结构来构建,主要分为数据采集处理、舆情分析引擎和舆情分析服务等三个层次,如图1-2所示。
图1-2 网络舆情监测系统层次结构
(1)数据采集处理层:主要提供网络数据采集和预处理功能,网络数据监测和采集的对象主要是主流的网络新闻、微博、网络论坛、网络博客等网站的文本信息,对于采集到的网络数据,首先需要进行初步的数据过滤、去重等预处理,经过数据格式转换及元数据标引后,存入数据库待进一步处理。
(2)舆情分析引擎层:主要提供话题检测、话题跟踪、倾向性分析、自动摘要以及中文分词等功能,舆情分析引擎是网络舆情监测系统的核心功能,主要完成热点话题的检测、跟踪以及情感倾向性分析,并且对各类热点话题及倾向性进行自动摘要,分析结果存入数据库,以便为用户提供各种舆情分析服务。舆情分析引擎的核心技术是文本聚类、文本分类、情感分析中所采用的模型与算法,直接关系到系统的性能高低。不同的网络舆情监测系统所采用的模型与算法可能有所不同,系统性能也会不同。
(3)舆情分析服务层:主要提供突发事件分析、舆情预警报警、舆情趋势分析、舆情统计报告以及舆情查询检索等各种舆情分析服务,以方便用户使用。
网络舆情监测系统通常采用基于客户/服务器的系统结构,系统分为客户机和服务器两个部分,服务器是整个系统的核心,系统核心软件运行在服务器上,提供数据采集、舆情分析、舆情服务等核心功能,并为用户舆情分析服务。客户机为基于浏览器的用户界面,用户使用浏览器登录到服务器的用户界面上,按照用户界面提供的功能菜单,获得系统提供的各种舆情分析服务。
可见,一个网络舆情监测系统的核心技术是网络舆情分析技术,主要涉及网络信息采集技术、话题检测与跟踪技术、文本情感分析技术等。
1.4.2 网络信息采集技术
网络舆情的数据来源是互联网中各种网络媒体、信息交流平台发布的网页信息,其中包括网络新闻、微博、论坛帖子等,尤其是微博、网络论坛等交互式网络平台,成为网络舆论的主要来源地。因此,在网络舆情分析中,首先需要使用网络信息采集工具自动搜索和采集主要网络媒体网站或平台发布的信息,为网络舆情分析提供数据资源,网络舆情分析的效果在很大程度上取决于网络信息搜索和采集的质量。
网络信息采集技术涉及搜索引擎、网络蜘蛛、网页搜索算法、网页相关性分析等相关技术。
1.搜索引擎
搜索引擎是互联网中最常用的信息搜索工具,著名的搜索引擎有Google、百度等。搜索引擎自动搜集互联网中的网页信息,经过整理、组织、加工和处理后,建立管理和存储这些信息的索引库,并提供基于索引的信息检索服务。当用户发出搜索请求时,搜索引擎便根据用户提交的查询条件,从索引库中迅速查找出用户所需的信息,并返回给用户。
搜索引擎通常由网络蜘蛛、索引器、检索器和用户接口等部分组成,网络蜘蛛在互联网中不断地搜索,发现和采集新的网页信息,然后将网页信息存入网页库,由索引器建立索引;索引器将分析网络蜘蛛所采集的信息,从中抽取出索引项,建立用于检索页面的索引表;检索器将根据用户的查询请求和条件,从索引库中快速检索出网页,并通过网页相似性分析和评价,对输出的结果进行排序;用户接口为用户提供一个输入查询请求和显示查询结果的用户界面。
根据信息搜索范围,搜索引擎可以分为通用搜索引擎和主题搜索引擎,通用搜索引擎的搜索范围比较广泛,但搜索出的无关信息较多;主题搜索引擎是针对特定主题的信息搜索,具有“专、精、深”特点。按照信息搜索方式和服务提供方式,搜索引擎可以分为目录搜索引擎、机器人搜索引擎、元搜索引擎等类型,其中,机器人搜索引擎也称为网络蜘蛛或网络爬虫,也是最常用的搜索引擎。
2.网络蜘蛛
网络蜘蛛也称网络爬虫,是搜索引擎的核心部件。在搜索引擎中,网络蜘蛛主要负责搜集网页、图片和文档等信息。其搜集过程是从给定的起始URL开始,沿着网页中的链接,按照一定的搜索策略进行遍历搜索,下载相应的网页,解析出网页中的超链接URL,将那些未访问过的URL加入到待搜索队列中,然后再搜索其他链接指向的网页,循环往复。整个过程如同一个蜘蛛在蜘蛛网(Web)上爬行。
网络蜘蛛在搜集网页时采用两种搜索策略:深度优先搜索策略和广度优先搜索策略。深度优先搜索策略是指网络蜘蛛从起始网页开始,一个链接一个链接地搜索下去,处理完这条路径之后再转入下一个起始网页,继续跟踪链接,直到遍历所有的网页及链接,搜索过程结束;广度优先搜索策略是指网络蜘蛛从起始网页开始,首先搜索完一个网页中所有的链接,然后再继续搜索下一层,直到底层为止。广度优先搜索策略通常是网络蜘蛛的最佳搜索策略,不仅容易实现,并且还能够实现并行处理,提高其搜索速度。
网络蜘蛛同样也可分为通用蜘蛛和主题蜘蛛,与通用蜘蛛相比,主题蜘蛛更加专业化和可定制化。通用蜘蛛的目标是尽可能多地采集网页信息,而不太关注网页采集的顺序和被采集网页的主题。主题蜘蛛能够定向性地采集与主题相关的网页,忽略无关的网页,并且还可以根据主题相似度值进行优先采集。
3.网页搜索算法
网页搜索算法是网络蜘蛛的核心,它采用一定的搜索策略来搜集网页资源,尽可能多地搜集与主题相关的网页,同时也要尽可能少地搜集无关的网页,以保证网页的搜集质量。目前,人们提出了多种搜索策略,如基于链接结构评价的搜索策略、基于网页内容评价的搜索策略等。
基于链接结构评价的搜索策略是利用Web结构信息来指导搜索,并通过分析Web网页之间的相互引用关系来评价网页和链接的重要性。这种策略的基本思想来自于文献计量学的引文分析理论,将引文分析理论应用于Web环境时,主要采用基于链接结构的评价方法。采用这种策略的搜索算法有PageRank算法、HITS(Hyperlink-Induced Topic Search)算法等,这两种算法的共同点是利用网页之间的引用关系来确定链接的重要性,充分考虑了链接的结构特征,但也存在一些缺陷:一是忽略了网页与主题的相关性,在某些情况下,可能会出现搜索偏离主题的“主题漂移”问题;二是计算复杂度将随访问网页和链接数量的增长呈指数级增长。
基于网页内容评价的搜索策略是利用网页文本内容作为领域知识来指导搜索,并根据网页文本与主题之间相似度的高低来评价链接价值的高低。采用这种策略的搜索算法有Fish Search算法、Shark Search算法等,Fish Search算法是一种基于客户端的搜索算法,根据用户的种子站点和查询的关键词或短语,将包含查询字符串的页面看作与主题相关,计算该网页与主题的相似度,动态地维护待搜集URL队列。Shark Search算法是对Fish Search算法的一种改进,主要改进了网页与查询信息相似度计算方法。
4.网页相似度计算
在主题蜘蛛中,需要对搜集的网页内容与查询的主题内容进行相似度计算,判别它们是否相关。因此需要采用适当的表示模型来描述文本,使之能够对网页内容和查询内容之间的相似度进行量化计算,准确地评估网页相关性。常用的表示模型是向量空间模型(VSM),该模型具有算法简单、计算复杂度低等特点,比较适合对网页文本内容进行实时处理。
在向量空间模型中,通过称为项的向量来表示用户的查询要求和文档信息,根据向量空间的相似度大小来排列查询结果。项也称为特征词,作为表示文档内容特征的基本语言单位,如字、词、词组或短语等。向量空间模型将查询词和文档按照特征词的维度分别进行向量化,然后通过适当的相似度度量方法计算出文档与查询词的相似度,优先检索那些与查询词相似度大的文档,并按照与查询词的相似度对检索出的文档进行排序。向量空间模型不仅可以方便地产生有效的查询效果,而且还能提供相关文档的文摘,对查询结果进行分类,为用户提供准确定位所需的信息。
在网页相似度计算时,首先需要对一个句子进行分词处理,即按照词的含义对一个句子进行切分,将连续的字串或序列按照一定的规范重新组合成词序列,以便机器理解。汉语分词比英文要复杂,常用的汉语分词方法有正向最大匹配分词、逆向最大匹配分词和基于统计的词网格分词等。
综上所述,网络信息采集技术应用比较广泛,技术也比较成熟。由于网络舆情主要是通过网络新闻、微博、网络论坛等网络媒体进行传播的,这些网络媒体通常为动态网页,以松散的非结构化信息为主题,使得对动态网页的信息采集存在一定的困难,一些搜索引擎采取消极的规避策略来尽量避免过多地采集动态页面信息,这样会影响到信息采集的准确率和覆盖率。另外,新浪微博等微博平台出于保护用户隐私信息的目的,对微博信息的采集进行了限制,也影响到对微博舆情监测与分析效果。
1.4.3 话题检测与跟踪技术
话题检测与跟踪(TDT)的研究最初是由美国国防高级研究计划署(DARPA)发起的,旨在没有人工干预的情况下自动检索、判断和识别新闻数据流中的话题,通过每年举行的TDT测评会议,发表和展示TDT研究成果,并确定TDT研究方向和课题,以及TDT测评任务。TDT测评会议共设立了6项测评任务,即:新事件检测(New Event Detection)、报道关系检测(Story Link Detection)、话题检测(Topic Detection)、话题跟踪(Topic Tracking)、自适应话题跟踪(Adaptive Topic Tracking)和层次话题检测(Hierarchical Topic Detection),其中话题检测与话题跟踪是核心问题。
TDT技术的最初应用主要是新闻出版领域,用于新闻流的话题检测和事件跟踪。后来被扩展到互联网上,用于检测和跟踪以话题词为中心的互联网新闻热点话题以及流行词,因此成为网络舆情分析中的重要技术。
TDT是从一篇文章的主题作为切入点,通过对文章主题的发现和跟踪,把各种分散的信息进行有效的汇集,并且组织成线索提供给用户进行查阅,厘清一个主题事件的来龙去脉,把握整个事件的整体和细节。例如,在网络舆情监测中,通过TDT技术对各种信息源的监测和分析,从中识别出针对某一突发事件的各种报道,并对事件的演化过程进行跟踪。TDT技术还可以应用于证券市场分析等领域,用途比较广泛。
TDT技术主要涉及报道和话题的表示模型、相似度计算、特征项权重计算、话题和报道间的相似度计算、文本分类与聚类的策略选择等相关技术。
1.表示模型
为了判断一个报道是否与某一话题相关,首先需要使用适当的模型来表示报道和话题,以便对两者的相关性进行计算和比较。常用的表示模型有向量空间模型和语言模型。其中,语言模型是一种概率模型,语言模型的基本思想是对于在某一报道中出现的词,采用期望最大化(EM)等算法来分别估算该词在某个话题所有报道的概率分布和在整个语料库中的概率分布,可以得到某一报道讨论该话题的概率,这样就构成了一个词的生成模型。
在话题检测与跟踪中,人们提出了多种语言模型,如隐马尔可夫模型、指数语言模型、层次语言模型、语义模型等,其中效果较好的是LDA(Latent Dirichlet Allocation)模型。
2.相似度计算
在TDT中,为了判断某个报道属于哪个主题,首先需要采用某种相似度度量方法来计算报道和主题之间的相似度,然后将相似度值和阈值进行比较,最后做出判断。相似度度量方法有很多种,TDT中常用的相似度度量方法有内积、Dice系数、Jaccard系数、余弦系数以及欧几里得度量等。
3.特征项选取
在向量空间模型中,使用特征项来表示文本向量空间中的各个维度,因此特征项选取方法非常关键。直接使用分词和词频统计方法来得到特征项,可能造成向量空间维度比较大,给后续处理带来很大的计算开销,还会影响到分类和聚类算法的性能。因此,需要对文本向量做净化处理,在保证原文含义的基础上,找出最具代表性的文本特征项。这个问题归结为找到一种低维度的特征选择方法。最常用的特征选取方法是统计方法,这种方法比较精确,人为因素的干扰较少,尤其适合于文本自动分类挖掘。
基于统计的特征选取方法通过构造评估函数,对特征集合中的每个特征进行评估和打分,这样每个词语都获得一个评估值,又称为权值。然后将所有特征按权值大小排序,提取预定数目的最优特征作为提取结果的特征子集。这种方法关键是评估函数的性能,决定了文本特征提取的效果。这类算法主要有文档频率(DF)、信息增益(IG)、互信息(MI)、卡方检验(CHI)等,其中CHI、IG和DF的性能较好。
4.文本聚类
话题检测是一个文本聚类问题,其任务是将某个话题的所有报道自动归入一个话题类,它是在事先没有分类体系和训练语料的情况下对报道进行聚类分析,给出一个最佳的划分,而不需要预先对文档类别进行标注。
文本聚类是一种无监督的学习过程,不需要预先对文档进行手工标注类别,即不依赖于文档集合划分的先验知识,仅仅根据文档集合内部的文档对象彼此之间相似度关系并按照某种准则进行文档集合划分。文本聚类划分主要依据于这样的聚类假设:同类中的文档彼此之间的相似度较大,而不同的类之间的文档相似度较小。由于文本聚类分析不需要事先定义文档类别,对获取大规模多元数据集合的结构特征是有效的,能够发现数据之间所隐含的某些关系,因此在数据挖掘和知识发现领域中得到了广泛应用。
典型的文本聚类过程可以分为三个步骤:文本表示、聚类算法和效果评估。文本表示是指使用向量空间模型等文本表示模型,把文档表示成聚类算法能够处理的形式;聚类算法是指使用无监督学习算法对文档集合进行划分,文本聚类算法有很多种,常用的算法有层次方法、划分方法、基于密度的方法、基于网格的方法、基于模型的方法等;效果评估是指使用准确率、召回率、漏报率和误报率等测评指标来评价聚类的效果,也是对聚类算法性能的评价。
5.文本分类
话题跟踪是一个文本分类问题,其任务是判断某个报道是描述了一个新话题还是对某个旧话题的进一步跟踪报道。话题跟踪是一种特殊的文本分类过程,与传统的文本分类过程相比,话题跟踪中的文本分类是面向话题而不是面向概念更宽泛的主题,判断的依据更具体、粒度更细,处理的对象是动态的、随时间变化的报道流,而不是静态的文本集合。因此,在话题检测和跟踪中,不遗漏信息更为重要。
文本分类是一种有监督的学习过程,需要事先给定一个分类体系和一个标注好类别的文本集合,利用这些资源来构造一个分类器,将待分类文本归入不同的、预先定义的类别中,可以把这种分类过程称为文本归类。
文本分类过程可以分为手工分类和自动分类,手工分类首先由专家定义分类体系,然后由人工进行网页分类。这种方法需要大量的人力,现实中已经很少采用了。自动文本分类方法大致可以分为两类:知识工程方法和机器学习方法。两者相比,机器学习方法能够达到相似的精确度,并减少了大量的人工参与,成为文本分类的主流方法。
典型的文本分类过程可以分为三个步骤:文本表示、分类器构建和效果评估,其中文本表示和效果评估的方法与文本聚类相同,而分类器构建是文本分类中关键的环节,应当根据所要解决问题的特点来选择一个分类器。在选定构建方法之后,在训练集上为每个类别构建分类器,然后把分类器应用于测试集上,得到分类结果。在文本分类中使用的学习算法有多种,如Rocchio算法、k最近邻居(KNN)、决策树、简单贝叶斯、神经网络、最大熵、支持向量机(SVM)等。其中,比较常用的是Rocchio、KNN、决策树、SVM等算法。
事实上,每种分类算法都有各自的长处和局限性,它们经常可以互为补充。实际应用和算法实验表明,在文本分类中,KNN方法和多种方法的组合具有较好的性能。
1.4.4 文本情感分析技术
在网络舆情监测中,对于一个突发社会公共事件引发的网络舆情,网民所持有的情感倾向性往往是多元化的,包括正面或负面、赞扬或批评、支持或质疑、肯定或否定等。通过文本情感分析技术,能够自动识别出其情感倾向性,并给出分类统计结果,有助于及时采取应对措施。
文本情感分析技术主要研究如何对文本所表达的观点、情感、立场、态度等主观性信息进行自动分析,从海量文本中识别出人们对某一事件或政策等所持有的观点是褒义还是贬义,提高对文本情感分析的效率。文本情感分析技术涉及自然语言处理、计算语言学、人工智能、机器学习、信息检索、数据挖掘等多个研究领域,属于交叉性技术。
文本情感分析可以分为词语情感分析、句子情感分析、段落情感分析、文档情感分析等不同的层次。
词语情感分析的对象是在特定的句子中出现的词和短语。表达情感的词大多是名词、动词、副词和形容词,其情感倾向可以分为褒义、贬义和中性等三类,词语情感分析包括对词的情感极性、情感强度以及上下文模式等进行分析。在词语情感分析时,需要借助于标注有倾向性的情感词典,通常是面向领域应用来构建情感词典。在构建情感词典时,大多采用在已有的电子词典或词库上进行扩展的方式。例如,在知网(HowNet)的知识库上进行扩展。
句子情感分析的对象是在特定的上下文中出现的句子,其目的是通过分析句子中的各种主观性信息,判断该句子是主观句还是客观句。对于主观句,进一步提取出句子中的主观关系,实现对句子的情感倾向的判断,同时还要分析与情感倾向性相关的各个要素,如评价对象、情感极性、情感强度等。由于文本情感分析的对象是主观句。因此,主题句、主观句以及主观关系等识别和提取是句子情感分析的基础。
段落情感分析的对象是经过文本分割后的语义段而不是自然段落。由于语义段之间存在着语义联系,因此有助于对文本情感进行细化分析。在语义段情感分析时,以语义段中的句子为基本单元,通过计算句子情感值和语义段情感值,最终得到文本的全局情感值,实现对整个文本的情感分析。
文档情感分析的对象是一篇完整的文章,从整体上分析某个文章的情感倾向性。由于文档情感分析属于文本分类问题,通常采用机器学习方法,如朴素贝叶斯、最大熵、支持向量机等方法来解决文本情感分析问题,首先构建语料库,人工标注语料库中每个文本的情感倾向,并将语料库分为训练集和测试集,然后对模型进行训练和算法测试,对模型和算法的文档情感倾向识别能力进行评价。
在文本情感分析中,主要采用有监督的机器学习算法来识别文本中的评价对象及情感倾向。这种方法需要事先由人工标注语料库的情感倾向,作为训练样本,不同领域的训练样本也不同。然后构造一个分类器算法,经过自动训练后,对待分析文本的情感倾向进行分类识别。这种方法的优点是简单易行、识别准确率较高,整体效果较好。但是该方法依赖于人工标注的语料库,而人工标注语料库费时费力,并且缺乏标注标准,语料库标注格式也不统一。
另外,在文本情感分析中可以采用语言建模方法,它采用统计学和概率论方法对自然语言进行建模分析,发掘出自然语言中的规律和特性,解决自然语言信息处理中的特定问题。语言建模技术已被广泛应用于语音识别、光学字符识别、手写字识别、机器翻译、文本分类以及文本检索等诸多领域,成为自然语言信息处理的主流技术之一。在基于语言建模的文本情感分析中,首先选择一种统计类语言模型作为基本语言模型,然后在标注有褒贬倾向的训练文本集上对情感模型进行估计。对于每一个测试文本,比较其语言模型与情感模型之间的相似度,如果与某个情感模型更为相似,则认为该文本的褒贬倾向与这个模型的褒贬倾向相一致,从而实现对文本情感倾向的识别。
由于文本情感分析技术将文本的情感倾向分为褒义和贬义两类,对于网络舆情监测中来说,还不够细致。在此基础上,还需要通过人工做进一步的统计分析。