结合写作特征和序列特征的中文情感新词识别方法和系统转让专利

申请号 : CN201610066957.5

文献号 : CN105740236B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 林俊杰毛文吉王磊王卿马宏远

申请人 : 中国科学院自动化研究所国家计算机网络与信息安全管理中心

摘要 :

本发明公开了一种结合写作特征和序列特征的中文情感新词识别方法和系统。该方法对于输入文本子句,基于情感词的作者写作特征和情感词的序列特征将文本子句表示为各种特征(如:字、词性等)的序列。然后,针对特征表示的文本子句,利用线性链条件随机场模型输出与文本子句对应的情感词标签序列。其中,线性链条件随机场模型基于包含传统情感词的文本训练得到。接着,基于文本子句中字的序列和情感词标签序列,利用有限状态自动机识别文本子句中的情感词,形成情感词集合。最后,利用中文旧词词库对情感词集合进行过滤,将未出现在中文旧词词库中的情感词作为中文情感新词。通过本发明实施例解决了如何提高情感新词识别精度和召回率的技术问题。

权利要求 :

1.一种中文情感新词识别方法,其特征在于,所述方法至少包括:获取待识别的文本子句以及包含传统情感词的文本子句集合;

基于情感词的作者写作特征和情感词的序列特征,将所述文本子句表示为所述作者写作特征和所述序列特征的特征序列;其中,所述特征序列包括字的序列;

基于所述情感词的作者写作特征和所述情感词的序列特征,利用所述包含传统情感词的文本子句集合,训练线性链条件随机场模型;

基于所述特征序列,利用训练得到的线性链条件随机场模型,获取与所述文本子句对应的情感词标签序列;

基于所述字的序列和所述情感词标签序列,利用有限状态自动机,识别所述文本子句中的情感词,形成情感词集合;

利用中文旧词词库对所述情感词集合进行过滤,将未出现在所述中文旧词词库中的情感词作为中文情感新词。

2.根据权利要求1所述的方法,其特征在于,所述获取待识别的文本子句具体包括:获取第一输入文本;

利用正则表达式,对所述第一输入文本进行子句切分,形成所述待识别的文本子句。

3.根据权利要求1所述的方法,其特征在于,所述基于情感词的作者写作特征和情感词的序列特征,利用所述包含传统情感词的文本子句集合,训练线性链条件随机场模型,具体包括:基于情感词的作者写作特征和情感词的序列特征,对所述包含传统情感词的文本子句集合中的文本子句进行特征表示,形成训练数据特征表示集合;

定义情感词的特征模板,用于自动提取所述文本子句中的特征及其组合方式;其中,所述特征模板定义了所述特征及其组合方式:平均文本长度、表情符使用比例、连续感叹号使用比例、连续问号使用比例和连续波浪号使用比例,以及字、词性、分词结果、拼音、位置、位置-标点符号组合、拼音-序列标签组合、字-词性-序列标签组合和相邻序列标签;

基于所述训练数据特征表示集合以及所述特征模板中定义的特征及其组合方式,从所述包含传统情感词的文本子句集合中提取与所述作者写作特征和所述序列特征中各项特征对应的第一特征;

通过极大化所述包含传统情感词的文本子句集合的对数似然函数并根据所述第一特征,训练线性链条件随机场模型,从而得到所述第一特征的权值。

4.根据权利要求3所述的方法,其特征在于,所述获取包含传统情感词的文本子句集合具体包括:获取第二输入文本集合;

利用正则表达式,对所述第二输入文本集合中的文本进行子句切分,形成第二文本子句集合;

过滤所述第二文本子句集合中不包含传统情感词的第二文本子句,形成包含传统情感词的第二文本子句集合;

统计所述第二文本子句集合中存在于传统情感词库中的各情感词的词频;

将所述各情感词频按照所述词频进行排序,得到传统情感词列表;

顺序遍历所述传统情感词列表,针对所述各情感词,选取包含该情感词的至多m条第二文本子句,形成所述包含传统情感词的文本子句集合,直至所述文本子句集合的大小超过预定值;其中,所述m为所述各情感词对应的最大文本数量。

5.根据权利要求4所述的方法,其特征在于,所述针对所述各情感词,选取包含该情感词的至多m条第二文本子句,形成训练数据集合,具体包括:如果包含所述情感词的第二文本子句数量小于等于m,则选取全部所述包含该情感词的第二文本子句;否则,随机选取m个所述第二文本子句。

6.一种中文情感新词识别系统,其特征在于,所述系统至少包括:第一获取单元,被配置为获取待识别的文本子句以及包含传统情感词的文本子句集合;

训练单元,被配置为基于情感词的作者写作特征和情感词的序列特征,利用所述包含传统情感词的文本子句集合,训练线性链条件随机场模型;

表示单元,被配置为基于所述情感词的作者写作特征和所述情感词的序列特征,将所述文本子句表示为所述作者写作特征和所述序列特征的特征序列;其中,所述特征序列包括字的序列;

第二获取单元,被配置为基于所述特征序列,利用训练得到的线性链条件随机场模型,获取与所述文本子句对应的情感词标签序列;

识别单元,被配置为基于所述字的序列和所述情感词标签序列,利用有限状态自动机,识别所述文本子句中的情感词,形成情感词集合;

过滤单元,被配置为利用中文旧词词库对所述情感词集合进行过滤,将未出现在所述中文旧词词库中的情感词作为中文情感新词。

7.根据权利要求6所述的系统,其特征在于,所述第一获取单元具体包括:第一获取模块,被配置为获取第一输入文本;

第一切分模块,被配置为利用正则表达式,对所述第一输入文本进行子句切分,形成所述待识别的文本子句。

8.根据权利要求6所述的系统,其特征在于,所述训练单元具体包括:表示模块,被配置为基于情感词的作者写作特征和情感词的序列特征,对所述包含传统情感词的文本子句集合中的文本子句进行特征表示,形成训练数据特征表示集合;

定义模块,被配置为定义情感词的特征模板;其中,所述特征模板用于自动提取所述文本句子的特征及其组合方式;所述特征模板定义了所述特征及其组合方式:平均文本长度、表情符使用比例、连续感叹号使用比例、连续问号使用比例和连续波浪号使用比例,以及字、词性、分词结果、拼音、位置、位置-标点符号组合、拼音-序列标签组合、字-词性-序列标签组合和相邻序列标签;

提取模块,被配置为基于所述训练数据特征表示集合以及所述特征模板中定义的特征及其组合方式,从所述包含传统情感词的文本子句集合中提取与所述作者写作特征和所述序列特征中各项特征对应的第一特征;

训练模块,被配置为通过极大化所述包含传统情感词的文本子句集合的对数似然函数并根据所述第一特征,训练线性链条件随机场模型,从而得到所述第一特征的权值。

9.根据权利要求8所述的系统,其特征在于,所述第一获取单元还包括:第二获取模块,被配置为获取第二输入文本集合;

第二切分模块,被配置为利用正则表达式,对所述第二输入文本集合中的文本进行子句切分,形成第二文本子句集合;

过滤模块,被配置为过滤所述第二文本子句集合中不包含传统情感词的第二文本子句,形成包含传统情感词的第二文本子句集合;

统计模块,被配置为统计所述第二文本子句集合中存在于传统情感词库中的各情感词的词频;

排序模块,被配置为将所述各情感词频按照所述词频进行排序,得到传统情感词列表;

选取模块,被配置为顺序遍历所述传统情感词列表,针对所述各情感词,选取包含该情感词的至多m条第二文本子句,形成所述包含传统情感词的文本子句集合,直至所述文本子句集合的大小超过预定值;其中,所述m为所述各情感词对应的最大文本数量。

10.根据权利要求9所述的系统,其特征在于,所述选取模块具体包括:子选取模块,被配置为如果包含所述情感词的第二文本子句数量小于等于m,则选取全部所述包含该情感词的第二文本子句;否则,随机选取m个所述第二文本子句。

说明书 :

结合写作特征和序列特征的中文情感新词识别方法和系统

技术领域

[0001] 本发明实施例涉及计算机科学技术领域,尤其是涉及一种结合写作特征和序列特征的中文情感新词识别方法和系统。

背景技术

[0002] 面向文本的情感分析在市场决策、舆情分析等领域具有十分重要的应用。作为影响情感分析效果的重要因素,情感词随着时间的推移层出不穷。因此,自动识别文本中的情
感新词对文本情感分析具有重要意义。随着自媒体时代的到来,互联网上积聚的海量社会
媒体文本在给情感新词识别工作带来数据支持的同时也提出了严峻的技术挑战。
[0003] 以往的中文情感新词识别工作可以分为两类:其中一类工作将情感新词识别作为新词发现的扩展任务,代表性工作包括:付丽娜等("基于OC-SVM的新情感词识别,"计算机
应用研究,2015,32(7),pp.1946-1948)结合种子字、词频、停用词过滤等发现新词,然后基
于前缀词、词性等特征训练One-class SVM分类器以识别新词集合中的情感词;另一类工作
通过总结情感词的上下文匹配模式识别新情感词,代表性工作包括:Wang等("A 
Bootstrapping Method for Extracting Sentiment Words Using Degree Adverb 
Patterns,"in 2012International Conferences on Computer Science&Service System
(CSSS),2012,pp.2173-2176),其将传统情感词的前后词汇作为提取其它情感词的上下文
匹配模板,并采用Bootstrapping策略迭代地抽取新情感词及上下文匹配模板。以往中文情
感新词识别方法主要存在以下不足:(1)基于新词发现的方法在发现新词时需要人工设置、
调整参数阈值,不利于扩展且效率低下;(2)基于新词发现的方法往往通过过滤低频新词以
保证精度,导致低频情感新词难以识别;(3)基于情感词上下文匹配模式的方法仅利用情感
词的上下文词汇、词性、句法结构等有限特征,忽略了词在句子中的位置、句子的标点符号、
词的中文拼音、文本作者的写作特征等重要信息,导致其情感词识别性能受到制约。
[0004] 有鉴于此,特提出本发明。

发明内容

[0005] 本发明实施例的主要目的在于提供一种中文情感新词识别方法,其至少部分地解决了如何提高情感新词识别精度和召回率的技术问题。此外,还提供一种中文情感新词识
别系统。
[0006] 为了实现上述目的,根据本发明的一个方面,提供了以下技术方案:
[0007] 一种中文情感新词识别方法,所述方法至少包括:
[0008] 获取待识别的文本子句以及包含传统情感词的文本子句集合;
[0009] 基于情感词的作者写作特征和情感词的序列特征,利用所述包含传统情感词的文本子句集合,训练线性链条件随机场模型;
[0010] 基于所述情感词的作者写作特征和所述情感词的序列特征,将所述文本子句表示为所述作者写作特征和所述序列特征的特征序列;其中,所述特征序列包括字的序列;
[0011] 基于所述特征序列,利用训练得到的线性链条件随机场模型,获取与所述文本子句对应的情感词标签序列;
[0012] 基于所述字的序列和所述情感词标签序列,利用有限状态自动机,识别所述文本子句中的情感词,形成情感词集合;
[0013] 利用中文旧词词库对所述情感词集合进行过滤,将未出现在所述中文旧词词库中的情感词作为中文情感新词。
[0014] 根据本发明的另一个方面,还提供了一种中文情感新词识别系统。所述系统至少包括:
[0015] 第一获取单元,被配置为获取待识别的文本子句以及包含传统情感词的文本子句集合;
[0016] 训练单元,被配置为基于情感词的作者写作特征和情感词的序列特征,利用所述包含传统情感词的文本子句集合,训练线性链条件随机场模型;
[0017] 表示单元,被配置为基于所述情感词的作者写作特征和所述情感词的序列特征,将所述文本子句表示为所述作者写作特征和所述序列特征的特征序列;其中,所述特征序
列包括字的序列;
[0018] 第二获取单元,被配置为基于所述特征序列,利用训练得到的线性链条件随机场模型,获取与所述文本子句对应的情感词标签序列;
[0019] 识别单元,被配置为基于所述字的序列和所述情感词标签序列,利用有限状态自动机,识别所述文本子句中的情感词,形成情感词集合;
[0020] 过滤单元,被配置为利用中文旧词词库对所述情感词集合进行过滤,将未出现在所述中文旧词词库中的情感词作为中文情感新词。
[0021] 与现有技术相比,上述技术方案至少具有以下有益效果:
[0022] 本发明实施例对于输入文本子句,基于情感词的作者写作特征和情感词的序列特征,对文本子句进行特征表示,即:将文本子句表示为各种特征(如:字、词性、拼音等)的序
列。然后,基于特征表示的文本子句,利用线性链条件随机场模型,获取与文本子句对应的
情感词标签序列。接着,基于文本子句中字的序列和情感词标签序列,利用有限状态自动
机,识别文本子句中的情感词,形成情感词集合。最后,利用中文旧词词库对情感词集合进
行过滤,将未出现在中文旧词词库中的情感词作为中文情感新词;其中,中文旧词词库是指
包含中文词汇的词典。由此,解决了如何提高情感新词识别精度和召回率的技术问题。
[0023] 当然,实施本发明的任一产品不一定需要同时实现以上所述的所有优点。
[0024] 本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其它优点可通过在所写的说明
书、权利要求书以及附图中所特别指出的方法来实现和获得。
[0025] 需要说明的是,发明内容部分并非旨在标识出请求保护的主题的必要技术特征,也并非是用来确定请求保护的主题的保护范围。所要求保护的主题不限于解决在背景技术
中提及的任何或所有缺点。

附图说明

[0026] 附图作为本发明的一部分,用来提供对本发明的进一步的理解,本发明的示意性实施例及其说明用于解释本发明,但不构成对本发明的不当限定。显然,下面描述中的附图
仅仅是一些实施例,对于本领域普通技术人员来说,在不付出创造性劳动的前提下,还可以
根据这些附图获得其他附图。在附图中:
[0027] 图1为根据一示例性实施例示出的中文情感新词识别方法的流程示意图;
[0028] 图2为根据一示例性实施例示出的有限状态自动机的示意图;
[0029] 图3为根据一示例性实施例示出的中文情感新词识别系统的结构示意图;
[0030] 图4为根据一示例性实施例示出的训练单元的结构示意图。
[0031] 这些附图和文字描述并不旨在以任何方式限制本发明的构思范围,而是通过参考特定实施例为本领域技术人员说明本发明的概念。

具体实施方式

[0032] 下面结合附图以及具体实施例对本发明实施例解决的技术问题、所采用的技术方案以及实现的技术效果进行清楚、完整的描述。显然,所描述的实施例仅仅是本申请的一部
分实施例,并不是全部实施例。基于本申请中的实施例,本领域普通技术人员在不付出创造
性劳动的前提下,所获的所有其它等同或明显变型的实施例均落在本发明的保护范围内。
本发明实施例可以按照权利要求中限定和涵盖的多种不同方式来具体化。
[0033] 需要说明的是,在下面的描述中,为了方便理解,给出了许多具体细节。但是很明显,本发明的实现可以没有这些具体细节。
[0034] 需要说明的是,在没有明确限定或不冲突的情况下,本发明中的各个实施例及其中的技术特征可以相互组合而形成技术方案。
[0035] 本发明实施例的主要技术构思是针对海量的社会媒体文本,结合情感词的用户写作特征和序列特征,将情感新词识别作为序列标注问题,以每个字为单位,基于包含传统情
感词的文本子句训练条件随机场模型,预测文本子句中每个字的序列标签,从包含传统情
感词的文本中自动生成有标注数据,从而训练条件随机场模型以学习不同特征权重;对于
待识别情感新词的文本子句,将其特征化表示后作为所述线性链条件随机场模型的输入,
利用该模型得到其情感词标签序列;然后将其对应的字序列以及情感词标签序列作为所述
有限状态自动机的输入,识别序列中的情感词,进而识别待识别文本中的情感新词。
[0036] 本发明实施例提供一种中文情感新词识别方法。如图1所示,该方法至少可以包括:S100至S150。
[0037] S100:获取待识别的文本子句以及包含传统情感词的文本子句集合。
[0038] 其中,待识别的文本子句不一定包含情感词。包含传统情感词的文本子句集合用于训练线性链条件随机场模型。
[0039] 其中,获取待识别的文本子句还可以具体包括:
[0040] S102:获取第一输入文本。
[0041] S104:利用正则表达式,对第一输入文本进行子句切分,形成待识别的文本子句。
[0042] 其中,文本子句定义为由以下单个或连续多个标点符号分割的文本:中英文逗号(“,”,“,”)、中英文句号(“。”,“.”)、中英文感叹号(“!”,“!”)、中英文问号(“?”,“?”)、中英文冒号(“:”,“:”)、中英文分号(“;”,“;”)和中英文波浪号(“~”,“~”)。用于切分文本子句的正则表达式为:“[\\,\\.,。\\?\\!?!::~~;;]+”。
[0043] 例如,对“时尚别致的房间设计,还带空中房间!稀饭吗?”进行子句切分,可以得到如下三个文本子句:
[0044] 1.时尚别致的房间设计,
[0045] 2.还带空中房间!
[0046] 3.稀饭吗?
[0047] S110:基于情感词的作者写作特征和情感词的序列特征,将文本子句表示为作者写作特征和序列特征的特征序列;其中,特征序列包括字的序列。
[0048] 其中,情感词的作者写作特征具体包括:平均文本长度、表情符使用比例、连续感叹号使用比例、连续问号使用比例和连续波浪号使用比例。情感词的作者写作特征从作者
(也即用户)写作习惯的角度来预测用户使用情感词的可能性,从而提供用户所发布文本中
包含情感词的先验概率。
[0049] 情感词的序列特征具体包括:字、词性、分词结果、拼音、位置、位置-标点符号组合、拼音-序列标签组合、字-词性-序列标签组合和相邻序列标签。情感词的序列特征综合
考察与情感词上下文相关的多种不同类型信息及其组合,以捕获或挖掘出情感词的各种上
下文匹配模式。
[0050] 本发明实施例基于包含传统情感词的文本子句自动生成用于训练线性链条件随机场模型的有标注数据,从而避免了人工标注。
[0051] 步骤S120:基于所述情感词的作者写作特征和所述情感词的序列特征,利用所述包含传统情感词的文本子句集合,训练线性链条件随机场模型。
[0052] 在本步骤中,训练模型的目的是学习各类特征的权值。其中,训练步骤可以包括:
[0053] S1201:获取第二输入文本集合。
[0054] S1202:利用正则表达式,对第二输入文本集合中的文本进行子句切分,形成第二文本子句集合。
[0055] S1203:过滤第二文本子句集合中不包含传统情感词的第二文本子句,形成包含传统情感词的第二文本子句集合。
[0056] S1204:统计第二文本子句集合中存在于传统情感词库中的各情感词的词频。
[0057] S1205:将各情感词频按照词频进行排序,得到传统情感词列表。
[0058] 在本步骤中,例如,可以将各情感词频按照词频从高到低进行排序,形成传统情感词列表。
[0059] S1206:顺序遍历传统情感词列表,针对各情感词,选取包含该情感词的至多m条第二文本子句,形成包含传统情感词的文本子句集合,直至该文本子句集合的大小超过预定
值;其中,m为各情感词对应的最大文本数量。
[0060] 在本步骤中,顺序遍历已排序的传统情感词列表,每次取出一个情感词,将包含该情感词的至多m条文本子句加入训练集合中,直至训练集合的大小超过n。
[0061] 其中,词频是指词在文本语料(例如第二文本子句集合)中的出现频次。m为训练集合中每个情感词对应的最大文本数量。n为训练数据集合的大小。传统情感词库以及m和n的
取值均可根据实际情况来确定。
[0062] 其中,针对各情感词,选取包含该情感词的至多m条第二文本子句,形成包含传统情感词的文本子句集合还可以包括:
[0063] S12061:如果包含情感词的第二文本子句数量小于等于m,则执行S12052;否则,执行S12053。
[0064] S12062:选取全部包含该情感词的第二文本子句。
[0065] S12063:随机选取m个第二文本子句。
[0066] 以包含传统情感词的文本子句为单位构建训练数据集合,能够有效地提高训练效率并减少训练数据中包含的噪声。
[0067] S1207:获取到包含传统情感词的文本子句集合。
[0068] S1208:基于情感词的作者写作特征和情感词的序列特征,对包含传统情感词的文本子句集合中的文本子句进行特征表示,形成训练数据特征表示集合;其中,情感词的作者
写作特征包括:平均文本长度、表情符使用比例、连续感叹号使用比例、连续问号使用比例
和连续波浪号使用比例;情感词的序列特征包括:字、词性、分词结果、拼音、位置、位置-标点符号组合、拼音-序列标签组合、字-词性-序列标签组合和相邻序列标签。
[0069] 由于情感词的作者写作特征从作者(用户)写作习惯的角度预测用户使用情感词的可能性,所以,情感词的作者写作特征有助于提供文本中是否包含情感词的先验概率。由
于情感词的序列特征综合考察与情感词上下文相关的多种不同类型信息及其组合,所以,
情感词的序列特征有助于挖掘出更多有效的情感词上下文模式。
[0070] 对文本子句进行特征表示之后,就将每个文本子句表示为各种特征(如:字、词性、拼音、分词结果、拼音、位置、位置-标点符号组合、拼音-序列标签组合、字-词性-序列标签
组合、相邻序列标签、平均文本长度、表情符使用比例、连续感叹号使用比例、连续问号使用
比例和连续波浪号使用比例)的序列,得到训练数据特征表示集合。将该训练数据特征表示
集合作为训练数据文件。
[0071] 在实际应用中,用一行表示文本子句中的一个字及其相关信息的取值、以及该字对应的序列标签。将包含传统情感词的文本子句集合中所有文本子句的特征表示整合到一
个训练数据文件中,各个文本子句之间用一个空行隔开。训练数据文件的每行可以包括以
下成分:字、字所在词的词性、分词结果标签、有音调的拼音、无音调的拼音、与句首的距离、与句尾的距离、所在子句的标点符号、作者的平均文本长度、作者的表情符使用比例、作者
的连续感叹号使用比例、作者的连续问号使用比例、作者的连续波浪号使用比例以及相邻
序列标签。其中,每行中各成分之间用制表符隔开。相邻序列标签定义如下:S-单字情感词、
B-多字情感词的第一个字、M-多字情感词的中间几个字、E-多字情感词的最后一个字、N-非
情感词。分词结果标签的定义与相邻序列标签类似,即:S-单字词、B-多字词的第一个字、M-
多字词的中间几个字、E-多字词的最后一个字。其中,有音调的拼音、无音调的拼音对应于
传统情感词的序列特征中的拼音特征。与句首的距离、与句尾的距离对应于传统情感词的
序列特征中的位置特征。其他以此类推,在此不再赘述。
[0072] 具体地,在实际操作中,分词结果标签和字所在词的词性可通过中文分词工具(如:Ansj)得到;有音调和无音调的拼音可通过现有的拼音识别工具包(如:Pinyin4j)得
到;作者的平均文本长度、表情符使用比例、连续感叹号使用比例、连续问号使用比例和连
续波浪号使用比例均采用区间表示法进行表示,即:假定区间大小为d,则1表示区间(0,d),
2表示区间[d,2d),以此类推。特别地,用0表示取值为0。在该实施例中,平均文本长度、表情符使用比例、连续感叹号使用比例、连续问号使用比例和连续波浪号使用比例的区间大小
分别为:5、0.1、0.1、0.1、0.1。
[0073] 例如:文本子句“时尚别致的房间设计,”的特征表示如下:
[0074]
[0075]
[0076] S1209:定义情感词的特征模板;其中,特征模板定义了如下特征及其组合方式:平均文本长度、表情符使用比例、连续感叹号使用比例、连续问号使用比例和连续波浪号使用
比例,以及字、词性、分词结果、拼音、位置、位置-标点符号组合、拼音-序列标签组合、字-词性-序列标签组合和相邻序列标签,用于自动提取与文本子句相关的具体特征。
[0077] 其中,特征模板定义了特征的组成规则,用于自动从文本子句中提取对应的各类具体特征。情感词的特征模板包含对多个特征的描述,并用每一行描述一个特征。其中,每
个特征包括:与文本子句相关的信息和标签信息。也就是说,特征模板中定义了模型所考虑
的各类特征以及各类特征的不同组合方式。例如:字特征包括:窗口大小为5的范围内各位
置的单字以及相邻两个位置的字组合。
[0078] 在实际应用中,将与文本子句相关的信息表示为%x[offset,id],其中,offset为该特征考虑的字及其相关信息的位置与当前位置的偏移量,id为该特征考虑的字相关信息
的索引值,即:文本子句进行特征表示后每行中该信息的索引值。将标签信息表示为%y
[offset],其中,offset表示该特征考虑的标签位置与当前位置的偏移量。由于本发明实施
例采用线性链条件随机场识别情感新词,因此,在仅考虑最多二阶的情况下,每个特征中的
标签信息部分为%y[0]或%y[-1]%y[0]。此外,该标签信息部分也可以为%y[-2]%y[-
1]%y[0]。
[0079] 下面示意性地示出特征模板,如下:
[0080] %x[-3,0]%y[0]
[0081] %x[-2,0]%y[0]
[0082] %x[-1,0]%y[0]
[0083] %x[1,0]%y[0]
[0084] %x[2,0]%y[0]
[0085] %x[3,0]%y[0]
[0086] ……
[0087] 基于上述特征模板的定义,情感词的用户写作特征的具体含义及表示方式如下:
[0088] 平均文本长度:用户发布的所有文本的平均长度,表示为:
[0089] %x[0,8]%y[0]
[0090] 表情符使用比例:用户发布的所有文本中包含一个及以上表情符的比例,表情符表示为由英文中括号(“[”和“]”)包括起来的短语,表示为:
[0091] %x[0,9]%y[0]
[0092] 连续感叹号使用比例:用户发布的所有文本中包含连续两个及以上中英文感叹号(“!”,“!”)的比例,表示为:
[0093] %x[0,10]%y[0]
[0094] 连续问号使用比例:用户发布的所有文本中包含连续两个及以上中英文问号(“?”,“?”)的比例,表示为:
[0095] %x[0,11]%y[0]
[0096] 连续波浪号使用比例:用户发布的所有文本中包含连续两个及以上中英文波浪号(“~”,“~”)的比例,表示为:
[0097] %x[0,12]%y[0]
[0098] 基于上述特征模板的定义,情感词序列特征的具体含义及表示方式如下:
[0099] 字:以当前位置为中心、窗口大小为7的范围内对应位置的字,考虑单个位置的字以及连续2个位置的字组合,表示为:
[0100] %x[offset,0]%y[0] offset=-3,-2,-1,0,1,2,3
[0101] %x[offset,0]%x[offset+1,0]%y[0] offset=-3,-2,-1,0,1,2
[0102] 词性:以当前位置为中心、窗口大小为7的范围内对应位置的词性,考虑单个位置的词性以及连续2个位置的词性组合,表示为:
[0103] %x[offset,1]%y[0] offset=-3,-2,-1,0,1,2,3
[0104] %x[offset,1]%x[offset+1,1]%y[0] offset=-3,-2,-1,0,1,2
[0105] 分词结果:以当前位置为中心、窗口大小为5的范围内对应位置的分词结果标签,仅考虑单个位置的分词结果标签,表示为:
[0106] %x[offset,2]%y[0] offset=-2,-1,0,1,2
[0107] 拼音:以当前位置为中心、窗口大小为3的范围内对应位置的拼音,分别考虑有音调和无音调的拼音,并考虑单个位置的拼音以及连续2~3个位置的拼音组合,表示为:
[0108] %x[offset,3]%y[0] offset=-1,0,1
[0109] %x[offset,3]%x[offset+1,3]%y[0] offset=-1,0
[0110] %x[offset,3]%x[offset+1,3]%x[offset+2,3]%y[0] offset=-1
[0111] %x[offset,4]%y[0] offset=-1,0,1
[0112] %x[offset,4]%x[offset+1,4]%y[0] offset=-1,0
[0113] %x[offset,4]%x[offset+1,4]%x[offset+2,4]%y[0] offset=-1
[0114] 位置:在不考虑标点符号的情况下,当前位置离句首的距离、离句尾的距离以及离句首、句尾的距离组合,表示为:
[0115] %x[0,id]%y[0] id=5,6
[0116] %x[0,id]%x[0,id+1]%y[0] id=5
[0117] 位置与标点符号组合:当前位置离句首、句尾的距离与当前子句标点符号的组合,表示为:
[0118] %x[0,id]%x[0,id+1]x[0,id+2]%y[0] id=5
[0119] 拼音与序列标签组合:为当前位置与前一位置的有音调拼音与前一位置序列标签的组合,表示为:
[0120] %x[-1,3]%x[0,3]%y[-1]%y[0]
[0121] 字、词性与序列标签组合:为前一位置的字、词性及序列标签的组合,表示为:
[0122] %x[-1,0]%x[-1,1]%y[-1]%y[0]
[0123] 相邻序列标签:为相邻两个位置的序列标签,表示为:
[0124] %y[-1]%y[0]
[0125] S1210:基于训练数据特征表示集合以及特征模板中定义的特征及其组合方式,从包含传统情感词的文本子句集合中提取与作者写作特征和序列特征中各项特征对应的第
一特征。
[0126] 其中,线性链条件随机场模型可以通过如下数学表达式表示:
[0127]
[0128]
[0129] 其中,x表示输入的观察序列,即:文本子句对应的各种特征(如:字、词性、拼音等)的序列;y表示待识别的情感词标签序列,即:描述文本子句中每个字是否为情感词的标签
序列;i表示序列中元素的序号,取正整数;tk和sl是特征函数,与特征模板所描述的特征相
对应;tk考虑了标签之间的转移特征;l和k表示特征函数的序号;λk和μl是对应特征的权值,即模型所要学习的参数;P表示概率;Z(x)为归一化因子。
[0130] 线性链条件随机场模型在给定特征表示的、包含传统情感词的文本子句集合(即:训练数据特征表示集合)下,基于人工设定的特征模板,自动从包含传统情感词的文本子句
集合(即训练数据)中提取各类特征,并通过极大化训练数据的对数似然函数来求解模型参
数λk和μl。
[0131] S1211:通过极大化包含传统情感词的文本子句集合的对数似然函数并根据第一特征,训练线性链条件随机场模型,从而得到第一特征的权值。
[0132] 在本步骤中,通过极大化包含传统情感词的文本子句集合的对数似然函数来求解线性链条件随机场模型中的λk和μl。其中,采用的算法至少包括但不限于改进的迭代尺度算
法、梯度下降法、拟牛顿法等,这可由具体的实际情况来确定。
[0133] 在实际应用中,可以采用线性链条件随机场模型工具包(如:“Pocket CRF”)训练线性链条件随机场模型。
[0134] 步骤S130:基于特征序列,利用训练得到的线性链条件随机场模型,获取与文本子句对应的情感词标签序列。
[0135] 在本步骤中,将包含传统情感词的文本子句集合中的文本子句表示为各种特征(如:字、词性、拼音等)的序列(即特征表示)后,将其作为线性链条件随机场模型的输入。采
用经典的维特比算法对该序列中每个字的标签进行标注,选取P值最大的序列作为输出,输
出对应的情感词标签序列。
[0136] 步骤S140:基于字的序列和情感词标签序列,利用有限状态自动机,识别文本子句中的情感词,形成情感词集合。
[0137] 本步骤是通过构建有限状态自动机(“Finite State Automaton,FSA”),在线性时间复杂度内从线性链条件随机场模型的输入序列(这里仅提取字的序列)和对应的输出序
列(即:情感词标签序列)中获取情感词。
[0138] 如图2所示,有限状态自动机每次同时接收输入序列和输出序列的一个元素(x,p),根据接收到的元素执行特定操作并进行状态转移。
[0139] 其中,有限状态自动机共包含两个状态:初始态(S)和中间态(I),通过维护一个字符串RS以存储当前的情感词识别结果,其状态转移函数f定义如下:
[0140] f(c,(x,p))∈{S,I};c∈{S,I};p∈{N,B,E,M,S}
[0141] 其中,c表示有限状态自动机的当前状态;x表示当前接收到的输入序列的元素;p表示当前接收到的输出序列的元素。N、B、E、M和S由相邻序列标签定义:S-单字情感词、B-多字情感词的第一个字、M-多字情感词的中间几个字、E-多字情感词的最后一个字、N-非情感
词。
[0142] 初始时,该有限状态自动机处于初始态(S),并置RS为空串(即:RS="")。其状态转移函数f的自变量取不同值时对应的输出及执行的操作如下:
[0143] f(S,(x,N))=S,执行操作:无;
[0144] f(S,(x,B))=I,执行操作:RS=RS+x;
[0145] f(S,(x,E))=S,执行操作:RS="",输出错误信息;
[0146] f(S,(x,M))=S,执行操作:RS="",输出错误信息;
[0147] f(S,(x,S))=S,执行操作:将x加入情感词识别结果集合中,RS="";
[0148] f(I,(x,N))=S,执行操作:RS="",输出错误信息;
[0149] f(I,(x,B))=S,执行操作:RS="",输出错误信息;
[0150] f(I,(x,E))=S,执行操作:将RS+x加入情感词识别结果集合中,RS="";
[0151] f(I,(x,M))=I,执行操作:RS=RS+x;
[0152] f(I,(x,S))=S,执行操作:RS="",输出错误信息。
[0153] 其中,RS=RS+x表示将字符x拼合到字符串RS的尾部。
[0154] 通过构建有限状态自动机,实现在线性时间复杂度内提取已标注文本中的所有情感词,有效地提升了情感词提取的效率。
[0155] 步骤S150:利用中文旧词词库对情感词集合进行过滤,将未出现在中文旧词词库中的情感词作为中文情感新词。
[0156] 其中,中文旧词词库是指包含中文词汇的词典。
[0157] 需要说明的是,对待识别文本子句进行处理的步骤与训练线性链条件随机场模型的步骤有相同的地方,对此相同的地方,可以互相参考,在此不再赘述。
[0158] 下面以一优选实施例来对本发明进行详细的说明。该优选实施例不应视为对本发明的不当限定。
[0159] 本实施例以新浪微博用户发布的微博文本作为输入文本。其中,输入文本由来自3007个微博用户的共计925943条微博文本组成。
[0160] 将“大连理工大学情感词库”作为传统情感词库,并将“COAE2014评测”中“任务三:微博情感新词发现与判定”提供的情感新词列表作为情感新词识别的标准答案。
[0161] 输入文本中共471138条微博包含传统情感词,输入文本中共282787条微博包含不重复的5340个情感新词。
[0162] 基于上述情景,本实施例将包含传统情感词的471138条微博作为条件随机场模型的训练数据来源;并将包含不重复的5340个情感新词的282787条微博的子句作为情感新词
发现的测试数据。
[0163] 本实施例可以包括:
[0164] 步骤S200:基于输入文本中包含传统情感词的微博子句,构建用于训练条件随机场模型的训练数据文件。
[0165] 本步骤具体可以包括:
[0166] 步骤S201:获取输入文本。
[0167] 步骤S202:对输入文本进行子句切分。
[0168] 步骤S203:过滤不包含传统情感词的子句,得到大小为42230的包含传统情感词的文本子句集合。
[0169] 步骤S204:统计该文本子句集合中存在于传统情感词库中的各情感词的词频,将各情感词频按照词频从高到低排序,得到传统情感词列表:
[0170]
[0171]
[0172] 步骤S205:顺序遍历按词频从高到低已排序的传统情感词列表,对于每个情感词,选择包含该情感词的至多2条微博文本子句加入训练数据集合中,直至训练数据集合的大
小超过20000。
[0173] 步骤S206:基于情感词的作者写作特征和情感词的序列特征,对训练数据集合中的所有文本子句进行特征表示。即:将每个文本子句表示为各种特征(如:字、词性、拼音等)
以及情感词标签的序列,并生成训练数据文件。
[0174] 具体地,对每个文本子句用一行表示其中的一个字及其相关信息和情感词标签,每行中各个成分之间用制表符分隔开;然后,将训练集合中所有文本子句的特征表示整合
到一个训练数据文件中,各个文本子句之间用一个空行隔开。
[0175] 步骤S210:定义线性链条件随机场模型的特征模板。
[0176] 步骤S220:基于生成的训练数据文件以及人工定义的特征模板,训练线性链条件随机场模型。
[0177] 步骤S230:获取待识别的文本子句。
[0178] 步骤S240:将待识别情感词的文本子句进行特征表示。
[0179] 例如:文本子句“哈哈哈哈感觉自己萌萌哒!”的特征表示为:
[0180]
[0181]
[0182] 步骤S250:利用训练得到的线性链条件随机场模型,获取文本子句对应的情感词标签序列,其为“BEBENNNNBMEN”。
[0183] 步骤S260:采用有限状态自动机从文本子句的字的序列(哈哈哈哈感觉自己萌萌哒)以及情感词标签的序列(BEBENNNNBMEN)中识别该文本子句包含的情感词。
[0184] 即:识别出其中“BE”、“BE”、“BME”这三个子序列对应的情感词分别为“哈哈”、“哈哈”和“萌萌哒”。其中,“哈哈”和“萌萌哒”即为输入文本子句所包含的情感词。
[0185] 步骤S270:利用中文旧词词库(如:大连理工大学情感词库、知网词库、CSDN中文分词词库、COAE2014评测提供的旧词词库等)对条件随机场模型识别出的情感词集合进行过
滤,保留旧词词库中不包含的情感词作为最终的中文情感新词。
[0186] 下面以本发明实施例提出的方法与付丽娜等(2015)提出的方法及Wang等(2012)提出的方法进行对比,对比实验测试结果见下表:
[0187]方法 精度 召回率 F1值
付丽娜等提出的方法(2015) 30.10% 7.85% 12.45%
Wang等提出的方法(2012) 30.05% 10.69% 15.77%
本发明实施例提出的方法 76.21% 23.63% 36.08%
[0188] 在该表中,精度为识别出的情感新词中正确情感新词所占的比例;召回率为识别出的正确情感新词占所有情感新词的比例;F1值为精度和召回率的简单调和平均数。
[0189] 本实施例中将各个步骤按照上述先后次序的方式进行了描述,本领域技术人员可以理解,为了实现本实施例的效果,不同的步骤之间不必按照这样的次序执行,其可以同时
执行或执行次序颠倒,这些简单的变化都在本发明的保护范围之内。
[0190] 基于与方法实施例相同的技术构思,还提供一种中文情感新词识别系统30,如图3所示,该系统30至少包括:第一获取单元31、训练单元32、表示单元33、第二获取单元34、识
别单元35和过滤单元36。其中,第一获取单元31被配置为获取待识别的文本子句以及包含
传统情感词的文本子句集合。训练单元32被配置为基于情感词的作者写作特征和情感词的
序列特征,利用包含传统情感词的文本子句集合,训练线性链条件随机场模型。表示单元33
被配置为基于情感词的作者写作特征和情感词的序列特征,将文本子句表示为作者写作特
征和序列特征的特征序列;其中,特征序列包括字的序列。第二获取单元34被配置为基于特
征序列,利用训练得到的线性链条件随机场模型,获取与文本子句对应的情感词标签序列。
识别单元35被配置为基于字的序列和情感词标签序列,利用有限状态自动机,识别文本子
句中的情感词,形成情感词集合。过滤单元36被配置为利用中文旧词词库对所述情感词集
合进行过滤,将未出现在中文旧词词库中的情感词作为中文情感新词。
[0191] 在本发明实施例的一些可选的实现方式中,第一获取单元具体可以包括:第一获取模块和第一切分模块。其中,第一获取模块被配置为获取第一输入文本。第一切分模块被
配置为利用正则表达式,对第一输入文本进行子句切分,形成待识别的文本子句。
[0192] 在本发明实施例的一些可选的实现方式中,如图4所示,训练单元40具体可以包括:表示模块42、定义模块44、提取模块46和训练模块48。其中,表示模块42被配置为基于情
感词的作者写作特征和情感词的序列特征,对包含传统情感词的文本子句集合中的文本子
句进行特征表示,形成训练数据特征表示集合。定义模块44被配置为定义情感词的特征模
板;其中,特征模板定义了如下特征及其组合方式:平均文本长度、表情符使用比例、连续感
叹号使用比例、连续问号使用比例和连续波浪号使用比例,以及字、词性、分词结果、拼音、
位置、位置-标点符号组合、拼音-序列标签组合、字-词性-序列标签组合和相邻序列标签,
用于自动提取与文本子句相关的具体特征。提取模块46被配置为基于训练数据特征表示集
合以及特征模板中定义的特征及其组合方式,从包含传统情感词的文本子句集合中提取与
作者写作特征和序列特征中所述各项特征对应的第一特征。训练模块48被配置为通过极大
化包含传统情感词的文本子句集合的对数似然函数,训练线性链条件随机场模型,从而得
到第一特征的权值。
[0193] 在本发明实施例的一些可选的实现方式中,第一获取单元还可以包括:第二获取模块、第二切分模块、过滤模块、统计模块、排序模块和选取模块。其中,第二获取模块被配
置为获取第二输入文本集合。第二切分模块被配置为利用正则表达式,对第二输入文本集
合中的文本进行子句切分,形成第二文本子句集合。过滤模块被配置为过滤第二文本子句
集合中不包含传统情感词的第二文本子句,形成包含传统情感词的第二文本子句集合。统
计模块被配置为统计第二文本子句集合中存在于传统情感词库中的各情感词的词频。排序
模块被配置为将各情感词频按照词频进行排序,得到传统情感词列表。选取模块被配置为
顺序遍历传统情感词列表,针对各情感词,选取包含该情感词的至多m条第二文本子句,形
成包含传统情感词的文本子句集合,直至文本子句集合的大小超过预定值;其中,m为各情
感词对应的最大文本数量。
[0194] 在本发明实施例的一些可选的实现方式中,选取模块具体可以包括:子选取模块。其中,子选取模块被配置为如果包含情感词的第二文本子句数量小于等于m,则选取全部包
含该情感词的第二文本子句;否则,随机选取m个第二文本子句。
[0195] 需要说明的是:上述实施例提供的中文情感新词识别系统在进行中文情感新词识别时,仅以上述各功能模块的划分进行举例说明,在实际应用中,可以根据需要而将上述功
能分配由不同的功能模块来完成,即将系统的内部结构划分成不同的功能模块,以完成以
上描述的全部或者部分功能。
[0196] 上述系统实施例可以用于执行上述方法实施例,其技术原理、所解决的技术问题及产生的技术效果相似,所属技术领域的技术人员可以清楚地了解到,为描述的方便和简
洁,上述描述的系统的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘
述。
[0197] 与现有技术相比,本发明实施例提出的中文情感新词识别方法和系统由于结合了作者写作特征和序列特征,通过训练线性链条件随机场模型从数据中自动学习不同特征的
权重,并且能够基于传统情感词自动生成条件随机场模型的有标注训练数据,因此,在中文
情感新词识别的精度和召回率、及适用于处理大规模文本方面较已有方法具有明显的优
势。
[0198] 另外,本发明实施例直接从文本中识别中文情感新词,而非在新词发现的基础上筛选情感词,从而避免了新词发现带来的错误,明显提高了情感新词识别的精度。此外,所
述模型不过滤低频词,进一步提高了中文情感新词识别的召回率;
[0199] 本发明实施例基于包含传统情感词的文本自动生成有标注训练数据,进而训练条件随机场模型以自动识别情感新词,模型训练及使用过程均无须人工介入,适合于面向海
量文本的中文情感新词识别。
[0200] 应指出的是,上面分别对本发明的系统实施例和方法实施例进行了描述,但是对一个实施例描述的细节也可应用于另一个实施例。对于本发明实施例中涉及的模块、步骤
的名称,仅仅是为了区分各个模块或者步骤,不视为对本发明的不当限定。本领域技术人员
应该理解:本发明实施例中的模块或者步骤还可以再分解或者组合。例如上述实施例的模
块可以合并为一个模块,也可以进一步拆分成多个子模块。
[0201] 以上对本发明实施例所提供的技术方案进行了详细的介绍。虽然本文应用了具体的个例对本发明的原理和实施方式进行了阐述,但是,上述实施例的说明仅适用于帮助理
解本发明实施例的原理;同时,对于本领域技术人员来说,依据本发明实施例,在具体实施
方式以及应用范围之内均会做出改变。
[0202] 需要说明的是,本文中涉及到的流程图或框图不仅仅局限于本文所示的形式,其还可以进行划分和/或组合。
[0203] 需要说明的是:附图中的标记和文字只是为了更清楚地说明本发明,不视为对本发明保护范围的不当限定。
[0204] 术语“包括”、“包含”或者任何其它类似用语旨在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备/装置不仅包括那些要素,而且还包括没有明
确列出的其它要素,或者还包括这些过程、方法、物品或者设备/装置所固有的要素。
[0205] 本发明的各个步骤可以用通用的计算装置来实现,例如,它们可以集中在单个的计算装置上,例如:个人计算机、服务器计算机、手持设备或便携式设备、平板型设备或者多
处理器装置,也可以分布在多个计算装置所组成的网络上,它们可以以不同于此处的顺序
执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多
个模块或步骤制作成单个集成电路模块来实现。因此,本发明不限于任何特定的硬件和软
件或者其结合。
[0206] 本发明提供的方法可以使用可编程逻辑器件来实现,也可以实施为计算机程序软件或程序模块(其包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件或
数据结构等等),例如根据本发明的实施例可以是一种计算机程序产品,运行该计算机程序
产品使计算机执行用于所示范的方法。所述计算机程序产品包括计算机可读存储介质,该
介质上包含计算机程序逻辑或代码部分,用于实现所述方法。所述计算机可读存储介质可
以是被安装在计算机中的内置介质或者可以从计算机主体上拆卸下来的可移动介质(例
如:采用热插拔技术的存储设备)。所述内置介质包括但不限于可重写的非易失性存储器,
例如:RAM、ROM、快闪存储器和硬盘。所述可移动介质包括但不限于:光存储介质(例如:CD-ROM和DVD)、磁光存储介质(例如:MO)、磁存储介质(例如:磁带或移动硬盘)、具有内置的可
重写非易失性存储器的媒体(例如:存储卡)和具有内置ROM的媒体(例如:ROM盒)。
[0207] 本发明并不限于上述实施方式,在不背离本发明实质内容的情况下,本领域普通技术人员可以想到的任何变形、改进或替换均落入本发明的范围。