网络舆情热点信息自动发现方法
来源:化拓教育网
第36卷 第3期 36 ・计算机工程 2010年2月 February 2010 No.3 Computer Engineering 博士论文・ 文章缩号:l00o_-3428(2ol0)o3—一_o004—o3 文献标识码l A 中圈分类号l TP309.2 网络舆情热点信息自动发现方法 郑魁 ,疏学明 ,袁宏永 (1.中国科学技术大学火灾科学国家重点实验室,合肥230026;2.清华大学公共安全研究中心,北京100084) 捕要:根据公共安全网络舆情研究的需求,将中文分词技术应用于突发事件应急管理中,提出基于ICTCLAS分词技术的网络舆情热点 信息的自动发现方法。该方法读入新闻文本并进行分词和词频统计,从词频表中去除停用词,合并多单位关键词得到突发事件热点信息关 键词列表,对网络信息及时进行检索,为突发事件应急决策提供技术支持。通过1个突发事件的实例验证了该方法的实用性和可靠性。 关健词:网络舆情;突发事件;公共安全;热点信息;中文分词 H0t Spot Information Auto.detection Method 0f Network Public Opinion ZHENG Kui ,-,SHU Xue-ming ,YUAN Hong-yong (1.State Key Laboratory ofFire Science,University ofScience and Technology ofChina,Hefei 230026; 2.Center for Public Safety Research.Tsinghua University,Beijing 100084) [AbsWact]According to the needs ofnetwork public opinion research in public safety,using Chinese word segmentation technology n ithe ifeld of eme ̄ency management,this paper presents a hot spot information auto—detection method of network public opinion based on ICTCLAS,which inputs the text of the news corpus,uses Chinese word segmentation and word frequency statistics,gives the hot spot information list of keywords through the removal of stop words and the me ̄ed of multiple keywords.It is veriifed through two emergency examples that the practicaliy and treliability ofthe method. [Key wordsI network public opinion;emergency;public safety;hot spot nfiormation;Chinese word segmentation 网络舆情是社会舆情的一个重要组成部分,不仅反映了 某些社会群体或阶层的社会政治态度,而且是社情民意的一 个重要表现…。因此,建立网络舆情分析系统,及时、全面 地掌控社情民意,对于提高决策的民主化与科学化,对于维 护社会的稳定,都具有十分重要的意义。 的领域很广泛,涵盖了机器翻译、自动分类、自动摘要等多 个方面,在处理中文信息时,几乎都需要用到中文分词技术。 本文使用了中国科学院计算技术研究所研制的分词系统 ICTCLAS【3】。该系统是目前应用较为广泛的一种中文分词技 术,它基于层叠型隐式马尔科夫模型,包括了切分、标注、 命名实体识别等功能,使用角色模型(role mode1)的方法进行 命名实体识别,不仅有较高的分词准确率,分词效率也较好。 根据公共安全研究的需求,清华大学公共安全研究中心 自主开发了网络舆情监测与预警系统。但是,现有的网络舆 情监测与预警系统监控的范围被限定在使用者所给出的关键 词中,由于使用者的知识、信息的来源、对突发事件的关注 2 网络典情热点信息的自动发现方法 2.1基本流程 网络舆情热点信息自动发现方法的基本流程见图1。具 体步骤如下: Stepl读入新闻文本文件。从网络上获取的新闻HTML 程度等诸多人为的主观因素所产生的局限性,致使系统无法 监测使用者未知的突发事件。因此,通过计算机对突发事件 的新闻进行整理,自动查找出热点事件的关键词,及时更新 网络舆情系统使用者的公共安全词频库,就可以实现对突发 事件的实时跟踪。 本文提出了一种基于中文分词技术的热点信息自动发现 方法并用1个实例进行了验证。 页面经过一定的格式转化与内容过滤后,形成网络舆情监控 与预警系统的语料库中的新闻文本文件,采用文件坟件夹的 方式进行存储,使用Java的1/O类从系统中读取每个新闻文 本文件的正文内容,并将其作为字符串保存在本地变量 SourceText中。 1 中文分词技术及其应用 英文以词作为单位,中文以字作为单位。英语中词与词 之间由空格来区分开,比较容易识别;而在汉语中,词汇是 由若干个字组合而成的,一句话中能够起到间隔作用的仅仅 是标点符号,词汇与词汇之间没有相区分的符号。现有的分 基金项目:国家自然科学基金资助项目“面向公共安全的网络舆情 预警方法研究”(70773069);国家“十一五”科技支撑计划应急平台 基金资助重大项FI 词算法主要分为3大类:(1)机械式分词法,它是基于字典及 词库匹配技术;(2)词频统计分词法,它基于词汇的频度统计; (3)智能分词法,关键技术在于知识的理解L2J。中文分词应用 作者倚介:郑魁(1982一),男,博士研究生,主研方向:网络舆情 E-mail:zhengkui@mail.ustc.edu.Oil 监控;疏学明,助理研究员、博士;袁宏永,教授、博士 收稿日期:2009—07-10 Step2导入ICTCLAS,对新闻文本进行分词。ICTCLAS 有专为Java设计的接口,研究中只需作一些必要的声明,即 可实现分词功能。 应用ICTCLAS将新闻文本字符串SourceText分词的结 果保存在变量SegmentationResult中。如字符串“我爱祖国”, 那么分词的结果以“我(空格)(空格)爱(空格)(空格)祖国”这 样的形式存储,每2个词之间有2个空格作为区分。对上述 变量SegmentationResult通过分隔符(2个空格)来进行字符串 分割,所得到的结果用一个一维字符串数组Segment[n]进行 保存,数组中的元素就是分割出来的单个词。 Step3将分词结果累计到总词频表。为了对词频进行统 计,需要对相同词出现的次数进行计算。建立一个映射,每 个不同的词都对应一个数值,这个数值代表它出现的次数。 程序中建立了一个TreeMap数据结构L4 J,这个数据结构是一 个“键一键值”的映射,其中,键就是“词”,而键值就是“词 频”。利用这个数据结构可以实现搜索某个“词”是否存在, 并获得这个“词”的“词频”。程序的流程如下:依次读取 Segment[n]数组中每个元素,在TreeMap中搜索其是否存在, 如果存在则让词频加1,如果不存在则添加这个词,并设置 词频为1。依次对所有新闻文本重复Stepl-Step3即可得到总 词频表。 当文件数达到一定数量级之后,在TreeMap这个映射中, 词条数目量可能超出了Java的允许范围。研究发现,在总词 频表中,含有相当多的词出现次数仅有1次,而且4次以内 的词超过总词数的2/3。热点事件的关键词词频一般都比较 高,去掉这些低频词也不会对最终结果产生太大影响。因此, 在程序中设置一个词频的阈值下限FrequencyMIN(本文设定 为4),当TreeMap的长度达到预设值TreeMapMAX时,就自 动清除一次词频数小于FrequencyMIN的所有词条。 Step4对总词频表进行排序。在完成词频统计与过滤后 得到的TreeMap结构是“键一键值”映射结构,只能按照词的 拼音次序进行排序,而不能按照词频大小进行排序。因此, 将TreeMap转换为能够进行排序的ArrayList数据结构_4J。 ArrayList能够按照用户定义的方法,对结构中的对象进行排 序。在ArrayList结构内部定义一种Compare方法(当一个词 的词频大于另一个时返回0值,否则返回1值),ArrayList 结构即可通过自身的排序功能获得按照词频高低而排序的词 频列表。本文按照降序对词频数进行排列,排在前列位置上 的是词频较高的词。 Step5从总词频表中去除停用词。停用词是指出现频度 较高,且没有任何实际意义的词汇L5J,如“的、在、和、以 及”等,由于ICTCLAS将标点符号也分为一个词,因此把 标点符号也当作停用词库中的一部分。停用词库保存在tXt 文本文件中,文本文件的每一行都代表一个停用词。将总词 频表中的每个词,都在停用词库中搜索一遍,如果存在,则 删除,如果不存在,则保留。由此可得到过滤后的关键词 列表。 本文对网络舆情监测与预警系统中2008年4月所采集的 所有新闻文本进行统计,得到过滤前后的关键词列表见表1。 可见,过滤前词频统计情况中“的”、“在”、“是”等停用词 出现频率最高,几乎没有任何信息提示的作用;过滤后词频 统计情况中出现了一些与新闻热点相关的词,如“手足”、 “口”等。 读入并存储为字符串变量 二二二工二二二 导入ICTCLAS 行分词I 二二二工 统计每个词的词频并累l 计到总词频袭 f 是 按照词频由高到低进行排序l土墨 删除词频低于给定阈值的词条 去除停用词 图1 网络真情热点信息自动发现方法的基本漉程 表1未过滤妁关健词列表 2.2热点关健词列表的改进 可以看出,上述方法得到的关键词列表并不是很理想, 由于中文词汇的简洁性和新的热点词汇的未登录等诸多原 因,导致某些词的频率虽然很高,也确实与当前热点信息相 关,但是从单个词中完全无法看出热点信息的内容,因此, 本文提出一种多单位关键词合并的方法。 为方便研究,本文提出“关键词单位”的概念,即通过 分词工具分解出来的每一个词都作为一个基本单位,而Ⅳ个 “关键词单位”是指Ⅳ个连续的正向的基本单位的组合。如 “四JiI汶川发生7.8级地震”按照3单位关键词划分即为“四 川汶川发生”、“汶川发生7.8级”、“发生7.8级地震”。 按照中文语句中词的排列习惯,每一句话中,相邻的词 之间都是有一定联系的,也就是说相邻的词作为一个组合, 也可以起到一个“词汇”的作用,而这个组合所包含的信息 比一个词丰富得多。特别地,作为一个事件的关键词,它可 能是几个词的固定搭配,例如“手足El病”这个关键词,由 于是未登录的新词,由分词工具解释出来的结果是“手足”、 “口”、“病”这3个词,因此,有必要对这样的词进行组合。 研究发现,1个关键词单位列表中充斥了大量的背景噪 音,同时,本文发现选取2个~4个关键词单位可以有效地改 善关键词列表顺序,使其包含更多有用信息。因此,笔者以 1个关键词单位作为基准进行调整:一种情况是一个未登录 的新词在分词过程中被分割了,例如“手足口病”这样一个 3单位关键词出现的频率应该大致与“手足口”和“口病” 这样的2单位关键词出现的频率相同;另一种情况是多单位 关键词中的某个基本单位也会在行文中多次出现,如“汶川 地震”中的“地震”,导致多单位关键词的频率下降较多,由 于多单位关键词整体的频率都有大幅下降,所以“汶川地震” 在2单位关键词中的排名有可能比“地震”在1单位关 键词中的排名靠前些。这2种情况中都会用较多单位关键词 单位关键词列表。 图2是对2.1节得到的过滤后的关键词列表进行多关键 来替换较少单位关键词。通过大量实验发现,在关键词单位 达到5个或以上时,由于词频降低很多,列表中的前列已经 将许多无关短句混杂其中,因此,本文只处理到4个关键词 单位即可。 词组合的过程。左边是未组合韵关键词列表,中间是经过与 2单位关键词组合之后的结果,右边是将中间的结果与3单 位、4单位关键词组后之后的最终结果。可以看出,最后的 结果中已经出现了一些能描述事件信息的关键词,例如“手 在实际操作流程中,首先对2.1节的Step2进行改进:将 足13病”、“房屋拆迁管理”等。 新闻文本分词之后,会生成4个数组:Segment1[ 卜制 过■后来蛆合 2单位姐合 参单位氲合 Segment4[n],分别对应1个~4个关键词单位的关键词列表, 序号 词频 关键词 序号 词颇 关键词 序号 词频 关键词 71 区 54 热贡 l 45 手足口囊 然后依次对每个数组按照Step3-Step5生成相应的 2 64 张 2 50 乒层 2 38 热贡艺术 TreeMap1 ̄TreeMap4和ArrayList1-TreeMap4。最后进入多单 3 59 政府 3 32 反政府 3 32 反政府武装 4 56 热 4 27 口囊 —八 4 19 房屋拆迁管理 位关键词合并的工作,具体方法如下: 5 54 小 — 5 21 房屋拆迁 — 5 18 灞桥区 依次扫描TreeMap1中每个词wordl,将其与TreeMap2 6 52 内蒙古 6 8 城市房屋 6 ” 城市房屋拆迁 7 52 因 7 l8 奥威 7 l6 魏寿欣 中每个词进行子串匹配,若成功匹配出对应的word2,则进 8 50 手耀 8 18 灞桥 8 14 公安分局 行词频比较,如果frequency(word2)与frequency(word1)大致 9 45 县 9 16 桥区 9 l4 区招办 10 44 呼和话特市 1O l6 魏寿欣 l0 l3 三永 相同,即它们的比值大于给定的阈值(本文设定为0.9),则向 结果列表中添加word2,否则进行排名比较,如果rank(word2) 图2 关健词列表的多单位关健词组合过程 大于 nk(word1)(这里的排名是从对应的ArrayList中取出 3应用示例 的),则向结果列表中添加word2,否则说明TreeMap2中没 北京时间2008年5月12日14时28分,在四川汶川县 有任何一个词汇可以替代wordl,则向结果列表中添加 发生8.0级地震。以这次自然灾害发生当天的腾迅新闻网所 wordl,最后,如果word1不是TreeMap2中任何一个词的子 有的新闻作为样本,共3 956篇。 串,说明wordl完全是背景噪音,则从结果列表中去掉wordl。 程序执行时间为2 rain 31 S,平均每秒可以读取26篇, 用同样的方法对TreeMapResult和TreeMap3,TreeMap4进行 每秒处理文本量达38Kb。表2为按照6 h作为时间间隔,分 组合,最后即可得到一个由各种单位的关键词组合而成的多 时段前1O位关键词列表。 表2 迅新闻罔2008年5月12日分时段前10位关健诃 表 可见,5月12日O0:00-06:O0,由于新闻报道数量较 新闻报道,将本方法进行了实证性应用,结果证明了关键词 少,词频数因此较少,但仍可看出“手足口病”关注的程度 列表可以较好地反映出某个时间点上的热点新闻事件和描述 是比较高的。06:00-12:00,新闻报道数量上升,词频数提 事件的信息。 高,“手足口病”依然排在首位,说明其仍然是当Et关注的焦 参考文献 点。12:00-18:O0,可以看出地震相关的关键词都出现了, …1中共中央宣传部舆情信息局.舆情信息汇集分析机制研究【M]. 通过关键词还可以看到相关的信息,如地震发生地点、震级、 北京:学习出版社,2006. 发生时间等。18:00-24:00,所出现的关键词也基本都是与 [2]张素智,刘放美.基于矩阵约束法的中文分词研究【J】.计算机工 地震相关的,而且这个时段的报道几乎都以地震为内容,也 程,2007,33(15):98—100. 可看出事件的严重性。 【3】刘群,张华平.基于层叠隐马模型的汉语词法分析[J】.计算机 4结束语 研究与发展,2004,41(8):1421-1429. 本文将计算机自然语言处理中的中文分词技术引用到突 [4]Johnson R.Expea One—on—one J2EE Design and Development[M]. 发事件应急管理中,采用ICTCLAS分词技术,从大量的新 Malden,MA,USA:Wiley Publishing,Inc.,2003. 闻报道中自动提取突发事件热点信息;提出多单位关键词组 【5】熊文新,宋柔.信息检索用户查询语句的停用词过滤[J].计算 合方法,改进了传统的分词和词频统计方法,给出了代表突 机工程,2007,33(6):195-197. 发事件的关键词列表,同时结合今年发生的一起突发事件的 编辑金胡考 一6一
因篇幅问题不能全部显示,请点此查看更多更全内容