张露晨 张 良 孙昊良 方 芳 曹 阳 曹存根
1(国家计算机网络应急技术处理协调中心 北京 100029)2(中国科学院计算技术研究所智能信息处理重点实验室 北京 100190)3(广西师范大学计算机科学与信息工程学院 广西 桂林 541000)
基于领域文法的微博舆情分析方法及其应用
张露晨1张良1孙昊良1方芳2曹阳3曹存根2
1(国家计算机网络应急技术处理协调中心北京 100029)2(中国科学院计算技术研究所智能信息处理重点实验室北京 100190)3(广西师范大学计算机科学与信息工程学院广西 桂林 541000)
传统的舆情分析方法存在两个缺陷:由于缺少对舆情文本必要的语义处理,传统的基于关键词或热词的网络舆情分析方法往往分析结果不准确,即漏判率和假阳性比较高;在舆情发展初期,由于数据稀疏,一般不能及时发现舆情“苗头”。针对这些问题,提出一种基于领域文法的分析方法对微博文法进行分析,并给出一套通用的领域文法的设计原则以及分析方法。基于领域文法的方法与统计方法相比主要的优点和创新点包括:领域文法可以在数据稀疏的情况下依然可以很好的工作;领域文法的方式不需要对信息进行统计,不会受到距离的影响;领域文法的方法可以很好地提取真正有用的信息而不会像统计方法易受到词搭配的影响。为论证该方法,选择贪腐类舆情作为一个验证应用。实验表明,贪腐舆情文法很好地对贪腐类微博舆情文本内容进行识别和提取,从而达到贪腐舆情监控的目的。
微博舆情分析领域文法文法设计反贪腐领域
随着网络技术的迅猛发展,网络舆情以舆论多元化为最大的特点,而网络舆情信息的丰富程度呈现“爆炸”的趋势。造成这个现象的主要原因一是网络舆情信息量非常庞大;二是舆情的类别繁多;三是背景信息复杂[1,2]。
如今,微博已经成为最流行的社交工具之一,它变成人们实时了解社会与获取新闻的流行形式。而微博的起源是国外的Twitter[3],它的主要功能是实现即时的分享。随着微博的产生,一些隐蔽的、不为人知的消息变得透明化[4]。如果可以有效地分析微博、博客以及论坛等内容,不仅对及时掌握百姓的舆情具有重要的意义,而且对国家安全、政府官员行为、企业产品声誉、个人形象等信息的及时掌握具有重要作用[5]。
目前,舆情分析的主要研究方法都是依靠关键字进行测试验证,然而这种方法的准确率较低[6]。为了提高对舆情文本内容分析的准确率,提出领域文法设计这一思想。该方法的主要目标是对文本内容进行文法分析,建立形式文法到语义的一个映射,利用语义文法将无结构的网络舆情文本转化成结构化的网络舆情语义表示[7,8]。
一般而言,常用的自然语言处理方法主要分为词法分析、文法分析和语义分析等。其中,文法分析的主要工作是跟据语料总结文法以及它们之间的相互关系来产生一个文法库。上下文无关文法CFG(Context Free Grammar)是被看作接近自然语言的表示形式。为了解决文法的歧义问题,有人还提出了概率上下文无关文法和概率词汇化上下文无关文法等方法[9-11]。
虽然上下文无关文法有很强的表达能力,但是一般文法的编写结构是混乱的,文法之间也没有联系,缺乏语义理解的信息。因此,我们引入“领域文法”的概念。领域文法与候圣峦提出的语义文法[12]类似,但是不同的是,领域文法强调某领域的文法,即在文法中加入领域的语义信息,可以给出文本中丰富的领域语义结构,得到丰富的领域信息。
领域文法与普通的文法相比有自己的特点,主要特点包括:
(1) 领域文法的建立一定适合某个具体的领域
就像上述介绍的领域文法一样,领域文法中包含特定的领域语义信息。因为不同的领域有自己的领域特点,语句中也会有适合自己的特点,因此对于不同领域建立特定的领域文法,可以突出各个领域的特点。
(2) 领域文法的建立是结合本体的思想,设计过程中突出该领域的语义,并且用非终结符表示出来
本体是人工智能领域提出的思想,是用来研究特定领域内的知识的对象分类、对象属性及对象间关系,它为领域知识提供描述术语。一个领域本体对该领域进行了一个清晰的、可共享的刻画,保持了语义上的一致[13]。一般文法的建立,通常采用的方法是巴科斯范式BNF[14,15]。我们在BNF中融入语义,与本体相结合。这是通过非终结符来体现的,即在非终结符命名中加入语义信息。
(3) 文法设计过程中,按照领域进行文法设计任务分解
领域文法中领域语义与本体相结合,还可以按照领域对文法设计的任务进行分解。也就是对文法进行领域分析,对整个领域的特点和内容进行描述和划分。
本文提到的基于领域文法的分析方式相较于统计的方法主要的优点和创新点包括:
(1) 当关键信息以及相关信息数据稀疏的情况下,领域文法的方式依然可以很好地监测到,但是统计的方式却因为数据稀疏丢掉重要内容。
(2) 领域文法的方式不需要对信息进行统计,这样就可以避免相关信息内容因为距离太远而不能找到的情况,同时领域文法可以更好地精确查找信息。
(3) 从搭配的角度来看,有些词汇之间只有搭配起来使用才会起到一定的作用和意义,统计的方法会受到无用冗余信息的影响,而领域文法的方法可以很好地提取真正有用的信息。
但基于领域文法的方式也存在相应的弱点:
(1) 领域文法并不是万能的和开放的,只是针对一个具体领域。
(2) 正是因为第一条,因此领域文法并不能解决所有领域的大规模数据,但是却可以通过并行解析,实行一个领域中的大规模数据分析。
(3) 由于是针对特定领域的(包括电子产品或是有行情等都进行过尝试和运用),如果出现缺少文法的情况会影响分析率。因此我们正在研究文法的自动学习算法,重点是对已经形成的种子的文法而自动产生新的文法。
在反贪腐领域的文法,在舆情分析中的主要作用是抓住舆情的苗头,而不受到关注度以及转发度、评论以及是否热门的影响,从而达到最快抓住苗头的目标。
在文法设计的过程中,为了使文法更容易维护更健壮,且文法之间不会出现重叠,我们总结出以下文法设计原则。遵守以下原则,可以更容易地进行文法设计工作。我们中间以贪腐主题语料的文法设计为例来解释说明每条原则。
1.1语料采集原则
在文法设计之前,为了使文法有更好准确率和覆盖面,语料的准备和采集变得至关重要,因此在前期语料准备工作中我们应该遵守和参考以下原则:
① 语料采样、覆盖面要足够广。
在查找语料时,要选择尽量涉及不同类别内容的语料;语句也尽量涉及更多不同类型、不同结构。只有语料的选择面、采样面广,才能使得文法的涉及面更广,对领域分析带来帮助。
② 语料要选择对文法有意义的语句,要选择符合要求内容的语句。
选择对自己设计的文法有意义的语料,选择符合领域且对目的有帮助的语句。文法的筛选过程就是参照该原则。
1.2顶层设计原则
在语料准备完成以后进入语句文法设计之前,首先要进行一个顶层的设计。该设计就是建立语法树根基,只有根基建立得稳定才会使整个语法树更加健壮、稳定,也更容易维护。该过程我们应遵守以下原则:
① 顶层设计要方便维护。
对于整个大的知识系统来说,必不可少要面对维护的问题,因此在设计顶层的时候一定要方便以后的维护。我们采用的方式是将结构自顶向下进行层层分类,以后维护时只维护某一层的某一项即可。
例如:在贪腐领域的应用中,当出现一个语句不属于某一类时,可以直接将一个形成一个新类进行提升。当要修改其中一个类别的内容以及语句文法时,也不用顾忌其他的语句文法和类别。这样对于维护来说,变得更加容易省时。
② 顶层设计的各类之间不要有重叠。
对于某一层的各类之间不要出现语句的重叠,这样会使得整个顶层看起来干净清晰。
例如:“<指名道姓腐败描述语句_不明房产>”和“<指名道姓腐败描述语句_买卖官职>”下面的文法语句中,不会出现重复的内容,分类清晰明了。这样不仅使得整个文法结构分明还可以帮助我们更加方便查看和修改。
③ 语法树的结构越清晰越好。
设计的文法最终会转化成一棵语法树,因此顶层设计的好坏决定了该语法树的结构。语法树的结构越清晰越好,因此顶层设计的结构和类之间越清晰越好。
1.3语句文法设计原则
顶层设计后是对语句进行文法编写,在文法设计的过程中,我们要不断地修改顶层设计以及非终结符设计从而适应语料、语句增多的变化。在文法设计过程中,要遵照一定的原则,才会使得每个语句文法准确、简单以及涵盖面广等。
① 文法编写要采用正规的BNF语法。
该原则是文法编写的主要以及首要原则,所有的语句编写文法时必须采用正规的BNF语法。
② 编写文法的语句划分,主要采用“,”进行断句。
在文法设计时,语料中编写文法的语句以“,”为一句,对于每一句有用的语句都要进行文法编写。
③ 当一个句子的同一位置可以由两个非终结字符的选择时,我们可以选择将两个终结符合并或者写成两个语句。
在文法编写时出现同一个语法结构和句型,某一个非终结符换成另一个非终结符依然成立。这时处理办法主要有两种:一是将可以替换的非终结符进行合并,二是形成多个文法语句。对于两种方法的选择,要考虑非终结符是否可以合并,以及多个文法语句是否累赘等因素。
例如:文法“<指名道姓贪腐主语>[<任职期间>]<无视><法律法规>”和文法“<指名道姓贪腐主语>[<任职期间>]<无视><党纪词连用>”两者之前句型类似,但这里我们选择写成两句,因为两者在语义上理解不适合合并。
④ 文法设计过程中要时刻注意保证文法的可读性。
文法的可读性是指编写的文法可以很容易看出中心思想、相应的句子结构以及所属的类型。对于贪腐领域文法来说,文法应该可以一眼就看出是跟贪污腐败相关。
例如:对于语句“XX省药监局长黄某坐拥84套房产”,我们设计的文法为“<指名道姓贪腐主语><含有词><房产数量词><房产词连用>”,很容易看出来文法很好地反映了语句是关于有过多非法房产的贪污腐败语句。这样设计的文法可读性很强,也很容易他人和自己理解。
⑤ 当某些语句本身并不与主题相关,但是却是辅助和说明语句,这时我们也要将该句也编写成文法。
当一个语句要与前面或后面连起来才会反应出主题,这时我们也要将其用文法编写出,因为只有这样才是一个完整的语句,才可以反映出中心思想。
例如:语句“通过各种非法途径,获取住宅楼房和沿街商品房共70套”,前半句单独使用时,不符合语法也不能反映出贪污腐败的事实,而 “,”设置成可省。最后形成的语句文法是“[<指名道姓贪腐主语>][<其>][<本人>]<通过>[<各种>]<非法><方法>[<间隔标点>]<获取><房产>[<共>]<房产数量词>”。
⑥ 文法非终结符的可选要注意可选后语句是否通顺,是否符合文法的主题和中心思想,一般修饰性的、做状语的等非终结符都是可以省略的。
为了扩展文法,最简单的方法就是对非终结符进行可选的操作,判断一个非终结符是否可以可选,主要遵从以下原则:首先要看不加该非终结符以后,整个文法语句是否通顺是否符合我们的语法要求;然后判断省略该非终结符后的文法是否还符合整体主题;最后则是判断省略该非终结符后的文法是否还符合之前所属分类,如果属于则不用修改,若不属于,则要将省略后的文法放置本该属于的类中。
例如:文法“<看来><指名道姓贪腐主语><先后><收受><人称代词><的><价值数量词><好处费>”中,可以很明显地看出非终结符“<看来>”、“<先后>”、“<人称代词>”以及“<的>”、 “<价值数量词>”都是可以省略的。通过上述的分析我们得到最后的文法为“[<看来>][<指名道姓贪腐主语>][<先后>]<收受>[<人称代词>][<的>][<价值数量词>]<好处费>”。
⑦ 设置非终结符可选时要注意文法没有主语的情况。
虽然规则6中已经给出了文法中非终结符可选的原则,但是当非终结符为主语时,在考虑是否可选时,要注意文法缺少主语时是否文法所表达的意义符合中心思想,且不会匹配到其他无关的语句。
例如:文法“<指名道姓贪腐主语><玩弄包养>[<多个>]<女受害者>”中的非终结符“<指名道姓贪腐主语>”在句中做主语,而如果将该主语设置为可选,文法“<玩弄包养>[<多个>]<女受害者>”却不只是可以匹配官员贪污腐败的情况,还可以匹配其他商人等一些其他方面内容,因此该主语就不能设置成为可选。
⑧ 文法编写时,要适当的对文法进行扩充。
文法扩充主要包括两个方法。一是改变文法的结构从而形成一个新的文法;二则是根据一个文法进行联想,可以是对同一个语意的不同说法,也可以是同一种结构的不同语意。
例如:文法“<指名道姓贪腐主语><长期><以来><贪污受贿成语连用>”可以联想到将非终结符“<贪污受贿成语连用>”换成“<贪污受贿短语>”,也符合要求的文法,因此产生了一个新的文法“<指名道姓贪腐主语><长期><以来><贪污受贿短语>”。
1.4非终结符设计原则
在整个文法设计中另外一个重要的部分就是非终结符的设计。在文法语句设计进行过程中,要同时对非终结符进行设计,非终结符设计的好坏也对文法设计的质量有影响。为了更好地进行非终结符设计,我们要遵守以下几条原则:
① 非终结字符的名字定义,要符合终结字符的共同表达,能够反映终结字符的含义,并可以看出文法的中心思想。
例如:非终结符“<程度副词>”可以看出它定义的终结符是表示程度的,还可以看出在句子中是作为副词使用的。
② 对于非终结字符来说,为了更好地维护和更准确地表示其含义,有时要对非终结符继续进行细分。
例如:非终结符“<政府管理部门>”这个非终结字符,包含的范围很广,因此按照不同的级别进行划分,得到的非终结符为“<国家政府管理部门>”、“<省政府管理部门>”等。这样可以很好地维护非终结符,也使他们的定义更加准确单一。
③ 根据句法的应用,有时要对非终结字符进行合并。
例如:文法“<指名道姓贪腐主语><娶有><人数数量词><妻>”中非终结符“<娶有>”可以换成 “<含有词>”,合并两者,文法就变得简单并容易维护。
④ 当表示两个非终结符的终结字符出现交叉的时候,对这两个非终结字符要进行合并。
在设计非终结符使,如果出现两个非终结符定义的终结符有重叠,这时要考虑这两个非终结符是否可以合并。
例如:非终结符“<女受害者>”和“<有夫之妇>”,定义时出现了重叠,这时将两者合并形成一个非终结符“<女受害者>”。这样文法就减少了冗余。
⑤ 在合并非终结符时,我们要考虑是否可以合并。
验证是否可以合并最好的方法是在出现一个非终结符的句子中替换成另一个非终结符,若句子是通顺的,相反亦然时就可以将两个非终结符合并。
例如:非终结符“<贩卖>”和“<出让>”两者都有卖的意思,在“XX贩卖土地谋取私利”可以替换,但是 “XX贩卖官职”这时并不能将“贩卖”替换为“出让”,这样做可保证文法的准确性。
⑥ 当多个非终结符经常成组出现,考虑合并抽象成更高层的非终结符,这样可以简化文法增加文法的可维护性。
例如:非终结符“<利用>”和“<职权>”在句子中经常一起出现,这时可以将两者组合形成高一层的非终结符“<利用职权>”,采用这种方式可以使文法更加简洁且更方便维护。
本文主要采用领域文法分析的方式对微博进行舆情分析,而为了得到的结果更加准确以及文法的涉及面够广,领域文法设计的过程变得非常重要。
对贪污腐败语料分析可以起到对政府官员们监督和督促的作用,减少现当今官员贪污腐败、不受信赖的现状。本节主要以领域文法设计在贪污腐败语料的应用来说明文法设计的主要过程。
2.1领域分析
领域分析主要是根据本体的思想理念,结合领域自身的特点来对整个领域文法从语义方面进行划分和刻画。我们可以通过观察语料对语句进行分析,将贪腐舆情领域划分不同的类,而划分的标准则是使类与类之间可以很好的区别开,结果可以很明显看出属于贪腐舆情的范围。
首先,我们可以大致对类进行划分,然后根据语料进行修改和扩展。本文通过语句的语义,按照贪腐的不同表现对整个贪腐舆情领域进行划分。划分的类的结果如图1所示。
图1 贪腐舆情领域分析图
2.2语料准备
在领域文法设计之前,我们要做好准备工作,而准备工作当中最重要的则是对语料的准备。
对于语料的查找,可以先根据初步的领域分析,来进行语料的查找,并在语料的过程中对领域分析进行修改,并对新产生的类进行语料的查找,如此循环进行,完成语料的准备工作和领域分析的工作。语料查找方式有很多,使用微博的语料主要采用的准备方法有以下两种:
(1) 关键字搜索,并搭配复杂的搜索
直接通过关键字的查找对微博进行搜索,并可以采用多个关键字的复杂形式;关键字主要是与贪腐相关的字眼。
(2) 关注用户,从而获取用户发布的相关内容
因为当前微博的用户很多是以机构、单位以及团体等形式的用户,我们可以根据要搜索的语料类型来对相应的用户搜索,再对该用户发布的帖子进行查看,再筛选出相应的语料。
因为关键字的查询,准确率并不高,这时需要对语料进行筛选。首先要选择真正属于贪腐的语料,其次在筛选语料时,只选择原创性和第一次爆料的。因为只有第一次爆料原创性的语料,才会帮助有关部门得到第一手消息对相关人员进行调查。
2.3领域文法设计
完成语料准备工作以后,进入领域文法设计阶段。该步骤中,主要是对标注的语句进行分析和文法总结。整个文法设计过程中,我们不仅是对句子进行文法设计,还包括其他方面的设计。其过程如下:
2.3.1顶层设计
顶层设计主要在顶层设计原则的指导下针对各个语句文法的上层进行设计。因此在具体语句文法设计之前,要先对顶层进行设计,同时为了形成一个更好维护的分析树,顶层设计也要具有层次性。从根到语句文法设计成层次清楚、结构鲜明的形式。
对于贪污腐败文法的顶层设计,我们首先考虑根的设计。既然我们主要工作是对贪污腐败的描述进行文法设计,因此我们的根就可以设计成<贪腐描述语句>,下面则是对语句进行细分。为了更好地维护和扩展,要保证每类文法的区分度要大,并且可以很好地表现该类文法的特点。之前领域分析的结果可以很好地满足需求,因此对于类的划分可以采用参考领域分析的结果。处理语句的过程中,发现了有些句子是没有主语的,因此在划分类之前先对有无主语进行划分,划分为<指名道姓贪腐描述语句>和<非指名道姓贪腐描述语句>;然后则是根据其贪污腐败内容也就是领域分析的结果进行分类,最后我们得到的顶层如图2所示。
图2 领域文法设计顶层
2.3.2语句文法设计
在完成顶层设计以后,开始进行语句的文法设计。对语句进行文法设计时,要遵照语句文法设计原则进行领域文法的编写。
根据每一个语句中的词语或词组来设置非终结符,而文法语句就是靠非终结符的连接形成。非终结符的定义可以是终结符、非终结符以及终结符和非终结符的组合。
例如:语句“XX省委罗某昏官!”写成的简单文法为“<省><官职><官员名字><昏官>”。
2.3.3非终结符设计
当语句文法完成,要根据非终结符设计原则进行非终结符设计。非终结符设计要对终结符进行联想,联想出意思相近或是符合语句的其他词语,一些情况下还要考虑将非终结符进行合并。
例如:如非终结符“<国外目的地>”可以联想到的类似词语有“海外”、“境外”、“国外”等,但是除了这些统称词语以外,当语句文法中该位置换成某个国家的名称,语句也符合。因此“<国外目的地>”最后定义为“<国外目的地>::=海外|境外|国外|外国|<具体国家名称>”
2.4领域文法修改、合并以及扩充
领域文法设计完成以后,随着文法语句的增多,要在语句文法设计原则的指导下对文法进行修改合并或扩充。进行文法的修改和合并,主要是检查是否存在类似的文法,是否存在不通顺的文法,是否存在不准确的语句文法。文法的扩充则是为了使文法的涵盖面更广通过改变说法、改变句型结构以及联想等方式来增加文法。
2.4.1文法修改
文法的修改,针对的问题是文法中可选的非终结符导致句子成分残缺而不成句子或文法语句的结构等不符合我们的习惯,以及文法并不能体现出语句意义的情况。而改进的方法主要是改变文法语法结构、直接删除或修改非终结符。
例如:文法“[<指名道姓贪腐主语>][<的>]<财产>[<全都词>]<转移>[<到>][<国外目的地>]”该语句的主语为“<财产>”可以匹配出不是贪污腐败的语句,因此在“<财产>”前加入“<非法>”的非终结符。
2.4.2文法合并
文法合并针对的问题包括两个文法之间类似或一个文法包含另一个文法的情况。这时改进方法是合并文法并改变非终结符的定义,同时适当地对非终结符进行合并;或者对非终结符进行可选设置,从而使得长句子通过可选方式从而形成包含的短句子。
例如:文法“[<指名道姓贪腐主语>][<自己>][<在某地>]<当官><贪污>”和文法“[<指名道姓贪腐主语>][<自己>][<在某地>]<当官><受贿>”,我们可以看到两句文法类似,这时我们将“<贪污>”“<受贿>”进行合并形成新的非终结符“<贪污受贿>”,最后形成一句文法“[<指名道姓贪腐主语>][<自己>][<在某地>]<当官><贪污受贿>”,新形成的文法更容易维护且文法涵盖面更广。
2.4.3文法扩充
虽然完成现有语料的所有语句文法,但是不能保证总结的文法涵盖所有的语句,特别是语法结构不同,就会变成不同的语句,所以我们要通过改变语法结构或者联想来扩充文法。
例如:文法“[<原>]<指名道姓贪腐主语><人数数量词><含有词><房产数量词><房产词连用>”中非终结符“<房产数量词>”和“<房产词连用>”交换位置依然成立。因此产生一个新的文法“[<原>]<指名道姓贪腐主语><人数数量词><含有词><房产词连用><房产数量词>”。
为了验证上述提出的文法设计方法和原则的有效性, 本文将上述方法应用到贪污腐败主题的舆情分析中,并采用LL(1)分析方法进行实验[8]。我们从新浪微博中下载了涉及贪腐的语料,对系统进行了初步的测试。
3.1文法分析器设计
本文选择通用的分析器,可以从外界导入文法,建立推导、分析树等。该文法分析器的设计和实现主要参考了一个开源语法分析器,并在此基础上进行了补充和完善。完善了语句推导过程和文法树建立过程,补充添加了语句推导导出功能和文法树保存输出功能。
文法分析器是一个分析文法并验证某一个语句是否符合该文法的系统,
整个文法分析器的主要流程包括以下三个步骤:
(1) 导入文法。该系统采用从外界导入文法的形式,用户将文法写入一个txt中,然后选择导入文法功能,将文法导入。
(2) 语句推导。在完成了文法导入操作以后,只要选择创建推导功能,输入要判断的语句进行推导;推导完成后可以选择查看推导功能,这时系统将显示推导过程。
(3) 分析树建立。在完成语句推导之后,可以选择建立分析树来更形象的观察语句的推导过程,还能根据需要将分析树进行输出。
根据主要步骤得到的流程如图3所示。
图3 文法分析器流程图
3.2文法验证
3.2.1实验
依照上述描述的过程,使用LL(1)文法分析器,根据语料完成的文法数量为526条,共分为38类。语料的主要来源于新浪微博,所有语料准备为重点贪腐语以及首发语句,处理后分成句子223条,其中随机挑出了100条语料进行文法编写,所有的223条语料在分析器上进行了运行。下面以几条例句为例来进行结果的演示:
(1) “XX市国税局局长任职期间含有三辆豪华高级轿车”
该语句属于生活腐败类中,使用文法分析器根据领域文法得到的文法推导过程如图4所示。
图4 句(1)文法推导过程
根据推导可以分析得到一棵完整的例句的文法分析树,分析树可以很清晰地看出例句到文法的对应关系,得到的文法分析树如图5所示。
图5 句(1)文法分析树结果
(2) “XX市武装部部长买支书给妻子当”
该语句属于买卖官职类,使用文法分析器得到的结果会与上述过程一致,而最终的结果得到的文法树如图6所示。
图6 句(2)文法分析结果
(3) “村干部周某任职我们村主任7年,期间利用职权便利,非法变卖霸占村委集体土地”
本语句表达的方面是关于贪腐关于非法抢占土地的问题, 根据文法,可以分析得到一棵完整的例句的文法分析树。分析树可以很清晰地看出例句到文法的对应关系,得到的文法分析树如图7所示。
图7 句(3)文法分析结果
3.2.2结果分析
采用以上几个典型的例句进行分析,可以很容易地看出我们方法的优越性和准确性。
以上的例句都很容易地可以看出属于贪腐语句。但如果只是单纯地采用关键字的搜索,例如一般搜索关键字“高级轿车”、“买官”等,会得到很多冗余的信息。因为同样的说法也可能试用于商业人士或一些明星等,这时为了得到想要的贪腐相关语句,就要对所有的语料进行查看筛选;而如果采用领域文法的形式,就可以很容易地直接得到贪腐的语句,并将一些无关的相似语句排除。另外如果为了准确率而输入多个关键字,限制就会更多,很多相关语句会被过滤掉;而采用领域文法的分析的方式,因为有非终结符可选的灵活使用,就可以对相关的内容很充分地晒选出来。对于微博来说,一些重要事件的暴露主要依靠网友的转发以及评论,当达到一定数目才会被发觉,而这些是需要时间的;如果采用领域文法的形式,那么再出现的时候就可以很容易地监测出来,实时性更好。
通过以上的分析,可以看出文法分析的优越性以及实时性,以及领域文法分析在舆情分析中的特色。
为了解决语义舆情分析基于关键字准确率较低的问题,本文提出基于领域文法设计的方式,并详细总结和说明了领域文法设计过程和涉及到的原则。本文首先对文法和领域文法进行简单的介绍,为领域文法设计打下了技术基础。然后对领域文法设计进行了总结,总结了领域文法设计的原则和过程。
随后将领域文法设计的过程和原则在贪腐主题的网络舆情分析中进行应用,形成贪腐领域文法并进行实验,结果表明该方法对文本分析是有效的。而本研究总结的领域文法设计过程和原则对所有的领域文法设计通用,为基于语义的舆情监测系统的文法设计提供理论基础,有利于帮助相关工作合理地设计和编写领域文法,具有重要的理论意义和实用价值。
本文方法相较于统计的方法主要的优点和创新点包括:
(1) 当关键信息数据稀疏的情况下,领域文法的方式依然可以很好地监测;
(2) 领域文法的方式不需要对信息进行统计,可以避免相关信息内容因为距离太远而不能找到,同时可以更好地精确查找信息;
(3) 领域文法的方法可以很好地提取真正有用的信息,避免统计方法的容易受到无用冗余信息的影响,因为有些词汇之间只有搭配起来使用才会起到一定的作用和意义。
但是也不能忽略其中包含的问题,因此后面要解决的主要问题和方向包括:(1) 虽然文法设计的准确率高,但是却存在人工耗费过大的缺点,因此要寻找机器学习的方式,从人工的文法设计中,自动提取更多的相关文法,从而提高效率和减少人力。(2) 领域文法只是适用于某个领域,因此并不是开放的,并不能很好地适用于所有领域的大规模数据。 (3) 要设计更有效的检测方式来对设计的文法检测,而不是单纯的靠语料的对比,还要可以根据方法来检测文法的模糊性、歧义性、冗余性等方面。
[1] 张超.文本倾向性分析在舆情监控系统中的应用研究[D].北京邮电大学,2008.
[2] 王来华.舆情研究概论[M].天津社会科学院出版社,2003.
[3] Bharath S,Dave F,Hakan F,et al.Short text classification in Twitter to improve information filtering[C]//Crestani F,Marchand-Maillet S,Chen Hsin-Hsi,et al. Proceedings of the 33rd International ACM SIGIR Conference on Research and Development in Information Retrieval.New York:ACM,2010:841-842.
[4] 夏雨禾.微博互动的结构与机制——基于对新浪微博的实证研究[J].新闻与传播研究,2010(4):60-69.
[5] 朱国华.文本信息处理中汉语句法分析方法研究[D].大连理工大学,2003.
[6] 庞磊,李寿山,周国栋.基于情绪知识的中文微博情感分类方法[J].计算机工程,2012,38(13):156-158,162.
[7] 姚天昉,娄德成.汉语语句主题语义倾向分析方法的研究[J].中文信息学报,2007,21(5):73-79.
[8] 王海涛,曹存根,高颖.基于领域本体的半结构化文本知识自动获取方法的设计和实现[J].计算机学报,2005,28(12):2010-2018.
[9] 冯志伟.自然语言处理中的概率语法[J].当代语言学,2005,7(2):166-178.
[10] 冯志伟.用上下文无关语法来描述汉字结构[J].语言科学,2006,5(3):14-23.
[11] Jurafsky D,Martin J H,冯志伟.自然语言处理综论[M].电子工业出版社,2003.
[12] 侯圣峦.基于语义文法的网络舆情精准分析方法研究[D].北京:北京工业大学,2014.
[13] 杨明辉,郭肇德.基于扩展的BNF文法的通用语法分析算法[J].软件学报,1992(3):24-32.
[14] Charniak E.Statistical parsing with a context-free grammar and word statistics[C]//Proceedings of the national conference on artificial intelligence.JOHN WILEY & SONS LTD,1997:598-603.
[15] Aho A V,赵建华,郑滔,等.编译原理[M].机械工业出版社,2009.
[16] 王海涛.文本知识处理方法及智能叙事生成应用研究[D].北京:中国科学院研究生院,2008.
[17] 黄萱菁,张奇,吴苑斌.文本情感倾向分析[J].中文信息学报,2011,25(6):118-126.
[18] 吴昱明,曹存根.一种介词-动词模式的获取方法[J].计算机科学,2008,35(11):139-143.
A METHOD FOR ANALYSING PUBLIC OPINIONS IN MICROBLOGS BASED ON DOMAIN-SPECIFIC GRAMMAR AND ITS APPLICATION
Zhang Luchen1Zhang Liang1Sun Haoliang1Fang Fang2Cao Yang3Cao Cungen2
1(NationalComputerNetworkEmergencyResponseTeam/CoordinationCenterofChina,Beijing100029,Chima)2(KeyLaboratoryofIntelligentInformationProcessing,InstituteofComputingTechnology,ChineseAcademyofSciences,Beijing100190,China)3(CollegeofComputerScienceandInformationTechnology,GuangxiNormalUniversity,GuiLin541000,Guangxi,China)
Traditional public opinion analysis method has two defects: since lacking necessary semantic processing on public opinion texts, traditional network public opinions analysis method based on keywords or bag-of-words usually has inaccurate analysis results, i.e., the false negative and false positive rates are relatively high; and because of sparse data, generally the method can’t timely catch the ″signs″ of public opinions in early stage of public opinion development. To solve these problems, this paper presents a domain-specific grammar-based analysis method for analysing microblogging grammars, and puts forward a list of universal design principles and an analysis method for domain-specific grammar. Compared with statistical method, the advantages and the innovation points of domain-specific grammar-based method include: the domain-specific grammar can still work well in the case of data sparsity; the work mode of domain-specific grammar does not need to make statistics on information, and will not be affected by the distance of words. The domain-specific grammar-based method can well extract really useful information but will not be affected by the word collocation as the statistical method is. To demonstrate the utility of our method, we choose the public opinions of anti-corruption as the verification application. Experiments show that the grammar of public opinions in regard to corruption domain can well recognise and extract the text contents of microblogging public opinions of corruption category, therefore reaches the goal of corruption public opinions inspection.
Microblogging public opinion analysisDomain-specific grammarGrammar designAnti-corruption domain
2014-12-18。国家自然科学基金项目(91224006,6103 5004,61173063,61203284);科技部项目(201303107)。张露晨,工程师,主研领域:网络与信息安全。张良,高工。孙昊良,工程师。方芳,硕士生。曹阳,硕士生。曹存根,研究员。
TP391
A
10.3969/j.issn.1000-386x.2016.08.010