评价性短语抽取

一、方案目标

从已经标注有正、中、负极性的的微博或评论数据中抽取出正负面短语,或是关于指定的某个明星的正负面短语。

二、方案实现

2.1总体思路

2.11具体思路

1)抽取短语时是按照词性的规律,总结出一般有效短语的词性模板,然后在已经标注有正、中、负的数据中,根据模板来匹配出评价短语。

2)合并语义相近的短语

3)按照电影维度种子词把短语划分到各个维度(或映射到指定明星)

4)根据短语匹配上的情感词来划分正负极性

2.12 流程图

 

2.2具体细节

2.2.1模板的选择

1)模板选择方法:

a)根据一般有效评价短语的词性规律总结了部分模板,共23个模板。

a n

a d n

a a n

a a

a u n

d v n

n a

n d a

n d v

n v n

n n d a

n d d a

n c a

n u n a

n u n d a

n n

v n d a

v n

v u d a

v u a

i u n

n a a

a a a n

n c a n

v n v

n v u a

n d n u a

n u n d a

n n d d a

n v u d a

v u d v n

v u v n

n v u v n

v n v n

n d v n

n d v n n

n v n n

n v u a u n

n d v u n

 

b)通过统计相临的词性模板(最长5个词性)的频率,筛选出高频模板,通过观察匹配上这些模板的数据,筛选出部分模板。

2)存在的问题:

现在模板匹配出的短语有一部分是不完整的,不具有实际意义。(这是一个很重要的问题,有待解决)

2.2.2 短语的抽取

1)整体短语的抽取:

匹配出符合模板的短语,并记录其在正、中、负数据中的DF。匹配时可以把原始数据分离成 汉字串 和 词性串(两个串的下标要对应),分离过程中要生成一个词性串下标对应的词性序号的map,然后使用Trie对词性串进行匹配,然后按返回的下标在汉字串中取词。

Eg. “这个/r 电影/n 很/d 好看/a !/w”

汉字串:这个 电影 很 好看 !

词性串:r n d a w

Map:0 0

2 1

4 2

6 3

8 5

使用trie树匹配出词性模板n d a,并且知道模板的开始位置是2,然后查保存的下标对应的序号表,得出模板是在第二个词开始的(下标是1),然后在测字串中,从第二个词 开始,取和词性模板长度一样的词做为抽取出的短语。

 

2)存在的问题:上面的方法分成了几步稍显麻烦,快速的方法是根据词性模板构造一个有限状态自动机,在匹配时遍历一次数据就抽取出短语。

 

2.2.3短语的合并

1)基于词典的合并

首先,根据数据总结了一个程度副词词典。然后遍历抽取出的评价短语,如果包含有程度副词词典中的词语,则把此副词去掉,短语的其它部分组成新的短语。

现在使用的程度副词词典

八成

大都

纷纷

基本

来讲

每每

始终

向来

有时

真是

大多

刚刚

基本上

来说

明明

似的

有些

真心

白白

大略

格外

偶尔

一般

比较

大体上

极度

老是

一个劲儿

与否

只是

不仅仅

大约

更加

极了

颇为

通常

一面

直直

不免

大致

更为

极力

确实

同样

一向

越发

终年

差点儿

过于

几乎

连连

日常

统共

一再

越来越

逐步

差一点

渐渐

屡次

日日

统统

一直

越是

逐渐

的的确确

好好

屡屡

万分

依然

云云

转眼间

常常

多么

好容易

较为

稍微

万万

已经

再三

常年

而言

好在

略微

十分

往往

矣乎

早晚

总是

趁早

而已

仅仅

马上

时常

微微

永远

足足

处处

尔尔

很少

经常

时而

未免

尤其

纯粹

非常

很早

久久

慢慢

时时

显然

有点

最最

从来

分外

缓慢

实在

相当

有点儿

真的

 

 

2)存在的问题:

a)只是合并包含程度副词的评价短语,明显合并力度不够。有些评价短语的主语相同,定语/谓语 的情感也很相近,这类短语也应该合并。而且某些副词同时也具有形容词的词性,例:“杨幂 好 漂亮”  这里的“好”字明显可以合并,但在“杨幂 嗓音 好”中的“好”字明显不能合并。但由于现在没有考虑词性,没法判断这种情况,所以这样的副词没有加入到副词词典。

b)像“杨坤 扭 屁股”与“杨坤 扭 臀”这样的短语没有合并

c)由于后添加了一部分较长的模板,而这些长模板包含了部分短模板,所以抽取出的短语中,有部分较长的短语包含了较短的短语,这种情况也没有合并。

2.2.4维度划分

1)划分方法:

在抽取出中的短语中匹配维度词,按照匹配出的维度词,把短语映射到相遇到维度。

2)存在的问题:一个短语中如果有多个维度词时,则划分到了多个维度,这里把所有的维度词都当成等权重处理的。

2.2.5划分正负评价短语

1)根据情感词典的划分:

使用正、负情感词典及否定词词典在短语中匹配,若匹配上正面情感词则划分到正向评价中,若匹配上负面情感词则划分到负向评价中。若匹配上正面情感词且匹配上否定词,则划为负向评价,若匹配上负向情感词且匹配上否定词,则划分为正向评价词。若不符合这几种情况,则转入评分划分。(否定词只有在情感词之前才生效)

2)存在的问题:

一个短语中如果有两个极性相反的情感词,现在是直接去掉。这个办法有点粗,应该再进一步优化。

 

三、性能的提高

3.1 资源的补充

1)情感词典的补充(用于划分正负短语)

2)同义词典的建立(用于合并)

3)模板的完善(覆盖率与边界)

4)无意义词典的建立(用于过滤)

3.2 相关细节的处理

1)多模式匹配算法的改进

在匹配情感词和维度词阶段,都是使用的的Wu-Manber算法,但此算法在存在大量的模式串时性能下降太快。可以使用AC自动机(Trie树)取代。

       3.3 边界问题

              1)由于直接采取词性模板匹配的方法,有时候会出现边界切分不好的现象,对于此问题,可以考虑使用词的左右熵或互信息处理下。这样边界可能会好一些

 

 四、其它方法

  1、使用stanford parser对句子解析后,根据解析后的语法信息能更准确的找出评价短语。

转载请注明出版:本文地址 http://www.cnblogs.com/nocml/p/3542265.html

  2、使用序列标注模型,例如 HMM,CRF

 

你可能感兴趣的:(评价性短语抽取)