具体实施方式
下面将参考附图并结合实施例,来详细说明本发明。
图1示出了根据本发明实施例的舆情事件的实体关系抽取方法的流程图,包括:
步骤S10,对舆情事件的文本集合进行分词之类的预处理;
步骤S20,从分词得到的切分单元中抽取主题短语;
步骤S30,基于聚类方法从主题短语中获取子主题;
步骤S40,从子主题中获取实体关系。
本方法属于无监督的实体关系抽取,不依赖语料库,因此提高了抽取实体关系的性能。
另外,现有研究中大多针对各种及关系的标注,标注的关系比较局限在朋友、上下级、家庭、同学、合作等方面,或者出现关系词的获取不十分准确的现象。而本实施例的方法不依赖于标注的关系,所以还解决了关系词获取不准确的问题。
优选地,步骤S10包括:
对文本集合进行预处理,预处理主要包括分词、词性标注、命名实体识别、禁用词标注,断句。命名实体可以包括人名、地名、机构名。文本由句组成,句由分词的切分单元组成;
对于断句得到的每一句中连续的切分单元进行组合,对生成的词串统计词频,以词频作为指标进行过滤,其中,被标记为禁用词的切分单元不作为组合单元,词性打分低于第一预设阀值的切分单元,不作为词串的开头与结尾;
利用改进的C-Value算法计算词串的词频,以词串计算后的词频作为指标进行过滤,改进的C-Value算法公式为:
log2|a|*f(a) 当a没有被包含现象
其它
其中,a表示词串,||表示取词串的长度,f(a)表示a的词频,b表示包含了a的长串特征项,Ta表示b的集合;
计算过滤的词串之间的重复度,对于重复度大于第二预设阀值的词串进行合并得到主题短语。
优选地,词串x与y的重复度dup的计算公式如下:
其中,freq(x,y)表示词串x与y的共现句子数,freq(x)表示词串x出现的句子总数,freq(y)表示词串y出现的句子总数。
优选地,步骤S30包括:
将得到的N个主题短语构建一个N*N的二维共现关系度矩阵;
利用互信息计算二维共现关系度矩阵中每两个主题短语x和y的共现关系度I(x,y),计算公式如下:
其中freq(x,y)表示x和y的出现频率;
对大于第三预设阀值的共现关系度按值从大到小排序,生成集合I;
确定生成的二维共现关系度矩阵中与x有共现关系度的y列表;
将所有x的y列表构成集合X。
例如主题短语分别为:你、我、他,常见的构建N*N的二维共现关系度矩阵如下:
你,你 你,我 你,他
我,你 我,我 我,他
他,你 他,我 他,她
从N个主题短语中,依次取各个短语与所有短语依次地构成N个共现关系对;将各个短语的N个共现关系对构成N行,即得到N*N的二维共现关系度矩阵。
优选地,对N个主题短语执行基于共现关系度的凝聚式层次聚类包括:
1、从集合I中取一个关系(x,y);
2、判断在所有已有聚类Ck中是否存在满足包含x的聚类Cx,包含y的聚类Cy;
3、若Cx与Cy同时不存在,则创建新的聚类C={x,y|I(x,y)};
4、若C
x与C
y只存在一个,如为C
y,则从集合X中得到x的y列表,计算当将y列表中第i个主题短语y
i归入C
y聚类中时,C
y聚类的平均点共现关系度
如下:
若
的值增加,则将y
i归入聚类C
y,依次计算y列表中的所有主题短语;
否则创建新的聚类Ck={y|Φ};
若C
x与C
y只存在一个,如为C
x,则从集合X中得到x的y列表,计算当将y列表中第i个主题短语x
i归入C
x聚类中时,C
x聚类的平均点共现关系度
如下:
若
的值增加,则将x
i归入聚类C
x,依次计算x列表中的所有主题短语;否则创建新的聚类C
k={y|Φ};
5、若C
x与C
y都存在,则计算当将聚类C
x与聚类C
y合并时的平均点共现关系度
若
的值增加,则合并聚类C
x与聚类C
y,否则保持两个聚类不变;
6、重复执行1到5,直至集合I中所有关系全部被取出;
7、生成的聚类Ck是由具有相关性的主题短语构成,构成了舆情事件的一个子主题。
优选地,步骤S40包括:以子主题创建有向图;从有向图中获取实体关系。
优选地,以子主题创建有向图包括:
将一个子主题内部的主题短语作为点集合,主题短语之间的共现关系度作为边集合,共现关系度的值越大,两点的距离越小,边由早时间指向晚时间,由索引号小的主题短语指向索引号大的主题短语,由此得到一个有向图,用于表示舆情事件的发展脉络。
优选地,从有向图中获取实体关系包括:
对有向图中存在共现关系对的主题短语A与B按切分单元进行分解;
对于主题短语A与B中的人名,将人名前的名词、形容词和/或命名实体作为人名的修饰性属性;
对于主题短语A与B中的非人名的命名实体,则将该命名实体左右连续的名词进行合并;
对于主题短语A与B中的连续的名词进行合并;
对于主题短语A与B中的连续的动词进行合并;
对于主题短语A与B中的多个名词性结构之间无动词性结构,则将前者变为后者的修饰属性;
对于主题短语A与B中的多个名词性结构之间存在动词性结构,则将多个名词性结构并列成为短语主体,将动词性结构添加到关系词列表中;
将主题短语A与B分别用其短语主体表示,将主题短语A与B的关系词列表合并后,作为关系A与B的关系词;
其中,若其中一主题短语没有短语主体,则将此主题短语退化为关系词。
优选地,本方法还包括:通过对切分单元进行词频分析,消除文本集合中重复的文本。具体可包括:
如果文本x和y的文本向量维度差距不大于第四预设阀值,则利用动态规划算法计算其相似度sim,计算公式为:
其中,Lcs()是最大公共子序列函数,用于求取文本x和y的最大公共子序列;
如果sim大于第五预设阈值,则消除文本x和y中的一个。
上世纪40年代,Richard Bellman最早使用动态规划这一概念表述通过遍历寻找最优决策解问题的求解过程。1953年,RichardBellman将动态规划赋予现代意义,该领域被IEEE纳入系统分析和工程中。为纪念Bellman的贡献,动态规划的核心方程被命名为贝尔曼方程,该方程以递归形式重申了一个优化问题。
图2示出了根据本发明优选实施例的舆情事件的实体关系抽取方法的流程图,包括以下步骤:
步骤101,对文本集合进行预处理;
对于文本集合中的每篇文本,主要根据常见断句的标点符号对文本进行断句。利用分词和词性标注工具对每个句子进行分词及词性标注,根据自然语言处理领域中常用的禁用词表对分词得到的切分单元进行禁用词标注。对不同词性进行打分,对于名词,动作,形容词,前接成分,后接成分等几种词性重点考虑。可以利用各种工具进行命名实体的获取,例如分词、词性标注、命名实体识别工具均来自方正智思系统软件,文本集合来源于方正智思互联网舆情监控系统软件。这里的文本集合,是针对互联网上出现的一个具体舆情事件的文本集合。
步骤102,对几乎相同文本的消重;
由于一个舆情事件的文本集合中往往包含大量被转载的信息,重复性很大,而一个舆情事件即使是内容不一样的文本,所使用的词汇本身就具有很高的关系度,因此对几乎相同的转载文本进行消重。此类相似文本所使用的主要词汇及顺序具有很高相似性。据此对每篇文本,统计切分单元及其词频。只考虑对于文本语义指示性较大的名词及动词,按照词频由大到小抽取一定数量关键词形成向量来代表此文本。具体判定步骤为:
(1)对于不同的文本向量维度(一个文本用若干个词来表示,一个词是一维。)差距大于预设阀值的,判定为不相似。
(2)利用动态规划(dynamic programming)算法计算非连续最长公共子串,如有以下两个向量:AYBYCYD及AXBXCXD,两者最长公共子串为ABCD。设置较大阀值,相似度大于阀值的,不考虑。两个文本的相似度sim计算公式为:
其中,分子表示最长公共子串长度,分母表示两个文本向量维度的最大值。Lcs()是最大公共子序列函数,用于求取文本x和y的最大公共子序列。
步骤103,舆情主题短语的自动抽取;
舆情主题短语的自动抽取主要包括三个步骤:
(1)对连续的切分单元进行重组,对于每句中的切分单元,从第1个切分单元开始进行组合,组合窗口最长为句子长度。但对于在步骤101中被标记为禁用词的切分单元,不能作为重组单元。对于在步骤101中词性打分低于预设阀值的切分单元,不能作为词串的开头与结尾。如有序切分单元序列“AYCX”,X为禁用词,Y为低于词性打分阀值的切分单元,则生成词串的组合只包括:AYC。对生成的词串统计词频。以词频作为指标进行过滤,对词频大于等于阈值的词串保留,小于阈值的词串剔除,可以调整阈值对保留的范围进行控制。
(2)此时得到的大量词串之间,互相包含现象比较严重,一般而言,长词串的词频会低于其子词串的词频,但这并不合理(长词串比短词串具有更强的语义信息,比子词串更重要,这里的词频是衡量词重要程序的重要依据)。因此利用改进的C-Value算法重新计算词频,再以计算后的词串的词频作为指标进行过滤,对词频大于等于阈值的词串保留,小于阈值的词串剔除,可以调整阈值,对保留的范围进行控制。改进的C-Value算法公式为:
log2|a|*f(a) 当a没有被包含现象
其它
其中,a表示特征项;f(a)表示a的词频;b表示包含了a的长串特征项;Ta表示b的集合。
(3)经过两次过滤,生成了和舆情事件相关的主题词串,但要对以下两种情况进行合并,得到主题短语:
●对于词串ABCD与词串AB,将合并成一个ABCD。
●对于词串ABCD与词串BCDE,将合并成一个ABCDE。
这两种情况要计算词串之间重复度,对于大于预设阀值的词串进行合并,重复度dup计算公式如下:
其中,freq(x,y)表示词串x与y的共现句子数,freq(x)表示词串x出现的句子总数。
步骤104,基于聚类方法的子主题获取;
基于聚类方法的子主题获取,利用统计学中的互信息方法来度量主题短语间的共现关系度。利用基于共现的层次聚类算法对主题词短语进行聚类,生成若干个子主题。
基于聚类方法的子主题获取主要包括两个步骤:
(1)对于步骤103得到主题短语共N个,构建一个N*N的二维共现关系度矩阵。利用互信息计算每两个主题短语的共现关系度,当共现关系度大于预设阀值时保留两者的关系,计算公式如下:
对生成的二维矩阵中的关系按值从大到小排序,生成集合I。
对生成的二维矩阵中按x统计与其有共现关系度的y列表。统计所有N个主题短语,生成集合X。
(2)基于共现关系度的凝聚式层次聚类的算法流程如下:
1、从集合I中取一个关系(x,y);
2、在所有已有聚类中,判断是否存在聚类,使得x属于Cx,y属于Cy。
3、若Cx与Cy同时不存在,则创建新的聚类C={x,y|I(x,y)}
4、若Cx与Cy只存在一个,如为Cy,则从集合X中得到x的y列表,假设将列表中一个主题短语yi归入Cy聚类中,计算增加此主题短语后的聚类Cy的平均点共现关系度。计算公式如下:
若
的值增加,则将y
i归入C
y聚类,依次计算y列表中的所有主题短语;否则创建新的聚类C={x|Φ}
5、若C
x与C
y都存在,则计算聚类C
x与聚类C
y合并后的平均点共现关系度,若
的值增加,则合并聚类C
x与聚类C
y,否则保持两个聚类不变。
6、重复执行1到5,直至集合I中所有关系全部被取出。
7、返回生成的词类集合C。
此算法生成的聚类数目自动确定,且每个聚类Ck是由具有相关性的主题短语构成,构成了舆情事件的一个子主题。
步骤105,舆情事件子主题的发展脉络获取;
将一个子主题内部的主题短语当作无向图的点集合,主题短语之间的共现关系度当作无向图的边集合,由点和边相连形成一个局部连通图。共现关系度的值越大,两点的距离越小。若考虑主题短语所属文本的时间属性,关系边由早时间画向晚时间,若考虑主题短语所属句子的顺序属性,关系边由索引号小的画向索引号大的。据此,获取到一个有向图或有向链,由于每个主题短语都是尽量语义完整的短语,链接后将表示一个子主题事件的发展脉络。
步骤106,舆情事件关系网的获取。
舆情事件关系网是在若干个子主题局部连通图的基础上构建。目的是抽取出事件主体及事件主体之间的关系,这里的事件主体主要包括命名实体、名词性结构、动词性结构。这里的关系从词性角度来讲,主要有对事件发展起指示性作用的名词性结构和动词性结构。在一个主题短语中,表示的信息有限,一般常见语义信息有事件主体,事件主体及其动作,事件主体、动作及其对象。本方法抽取的主题短语的繁杂情况较为少见。
在子主题发展脉络图中,对一个主题短语进行分析,抽取短语主体,步骤如下:
●将主题短语按切分单元进行分解。
●若存在人名,则将人名实体前的若干个名词、形容词、命名实体作为该命名实体的修饰性属性,如,派出所所长[人名]。
●若存在其它类型的命名实体,则将该命名实体左右连续的名词进行合并,如,北京警方。
●若存在连续的名词,则将连续的名词进行合并。
●若存在连续的动词,则将连续的动词进行合并。
●考虑主题短语内词性顺序,若名词性结构之间无动词性结构,则将前者变为后者的修饰属性。若存在动词性结构则将若干个名词性结构并列成为短语主体,若干个动词性结构添加到关系词列表中。
在子主题发展脉络图中,对存在共现关系对的主题短语A与B按照上述方法进行分析后,进行关系词抽取,步骤如下:
●将主题短语A用其短语主体表示,主题短语B用其短语主体表示,将A与B的关系词列表合并后,作为此关系的关系词。
●若其中一主题短语没有短语主体,则将此主题短语退化为关系词
至此,将一个子主题的发展脉络图变为一个子主题关系网。若干个子主题关系网中,会存在相同的短语主体,这些短语主体将作为连接子主题关系网的纽带和桥梁,两个子主题关系网通过此结点进行连通。
图2示出了根据本发明实施例的舆情事件的实体关系抽取装置的示意图,包括:
分词模块,用于对舆情事件的文本集合进行分词;
主题短语模块,用于从分词得到的切分单元中抽取主题短语;
子主题模块,用于基于聚类方法从主题短语中获取子主题;
实体关系模块,用于从子主题中获取实体关系。
本装置属于无监督的实体关系抽取,不依赖语料库,因此提高了抽取实体关系的性能。
显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。