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

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

摘要

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

著录项

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2018-09-07

    授权

    授权

  • 2016-08-03

    实质审查的生效 IPC(主分类):G06F17/27 申请日:20160129

    实质审查的生效

  • 2016-07-06

    公开

    公开

说明书

技术领域

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

背景技术

面向文本的情感分析在市场决策、舆情分析等领域具有十分重要 的应用。作为影响情感分析效果的重要因素,情感词随着时间的推移 层出不穷。因此,自动识别文本中的情感新词对文本情感分析具有重 要意义。随着自媒体时代的到来,互联网上积聚的海量社会媒体文本 在给情感新词识别工作带来数据支持的同时也提出了严峻的技术挑 战。

以往的中文情感新词识别工作可以分为两类:其中一类工作将情 感新词识别作为新词发现的扩展任务,代表性工作包括:付丽娜等(" 基于OC-SVM的新情感词识别,"计算机应用研究,2015,32(7),pp. 1946-1948)结合种子字、词频、停用词过滤等发现新词,然后基于 前缀词、词性等特征训练One-classSVM分类器以识别新词集合中的 情感词;另一类工作通过总结情感词的上下文匹配模式识别新情感词, 代表性工作包括:Wang等("ABootstrappingMethodforExtracting SentimentWordsUsingDegreeAdverbPatterns,"in2012 InternationalConferencesonComputerScience&ServiceSystem (CSSS),2012,pp.2173-2176),其将传统情感词的前后词汇作为提 取其它情感词的上下文匹配模板,并采用Bootstrapping策略迭代地 抽取新情感词及上下文匹配模板。以往中文情感新词识别方法主要存 在以下不足:(1)基于新词发现的方法在发现新词时需要人工设置、 调整参数阈值,不利于扩展且效率低下;(2)基于新词发现的方法往 往通过过滤低频新词以保证精度,导致低频情感新词难以识别;(3) 基于情感词上下文匹配模式的方法仅利用情感词的上下文词汇、词性、 句法结构等有限特征,忽略了词在句子中的位置、句子的标点符号、 词的中文拼音、文本作者的写作特征等重要信息,导致其情感词识别 性能受到制约。

有鉴于此,特提出本发明。

发明内容

本发明实施例的主要目的在于提供一种中文情感新词识别方法, 其至少部分地解决了如何提高情感新词识别精度和召回率的技术问 题。此外,还提供一种中文情感新词识别系统。

为了实现上述目的,根据本发明的一个方面,提供了以下技术方 案:

一种中文情感新词识别方法,所述方法至少包括:

获取待识别的文本子句以及包含传统情感词的文本子句集合;

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

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

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

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

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

根据本发明的另一个方面,还提供了一种中文情感新词识别系统。 所述系统至少包括:

第一获取单元,被配置为获取待识别的文本子句以及包含传统情 感词的文本子句集合;

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

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

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

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

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

与现有技术相比,上述技术方案至少具有以下有益效果:

本发明实施例对于输入文本子句,基于情感词的作者写作特征和 情感词的序列特征,对文本子句进行特征表示,即:将文本子句表示 为各种特征(如:字、词性、拼音等)的序列。然后,基于特征表示 的文本子句,利用线性链条件随机场模型,获取与文本子句对应的情 感词标签序列。接着,基于文本子句中字的序列和情感词标签序列, 利用有限状态自动机,识别文本子句中的情感词,形成情感词集合。 最后,利用中文旧词词库对情感词集合进行过滤,将未出现在中文旧 词词库中的情感词作为中文情感新词;其中,中文旧词词库是指包含 中文词汇的词典。由此,解决了如何提高情感新词识别精度和召回率 的技术问题。

当然,实施本发明的任一产品不一定需要同时实现以上所述的所 有优点。

本发明的其它特征和优点将在随后的说明书中阐述,并且,部分 地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的 目的和其它优点可通过在所写的说明书、权利要求书以及附图中所特 别指出的方法来实现和获得。

需要说明的是,发明内容部分并非旨在标识出请求保护的主题的 必要技术特征,也并非是用来确定请求保护的主题的保护范围。所要 求保护的主题不限于解决在背景技术中提及的任何或所有缺点。

附图说明

附图作为本发明的一部分,用来提供对本发明的进一步的理解, 本发明的示意性实施例及其说明用于解释本发明,但不构成对本发明 的不当限定。显然,下面描述中的附图仅仅是一些实施例,对于本领 域普通技术人员来说,在不付出创造性劳动的前提下,还可以根据这 些附图获得其他附图。在附图中:

图1为根据一示例性实施例示出的中文情感新词识别方法的流程 示意图;

图2为根据一示例性实施例示出的有限状态自动机的示意图;

图3为根据一示例性实施例示出的中文情感新词识别系统的结构 示意图;

图4为根据一示例性实施例示出的训练单元的结构示意图。

这些附图和文字描述并不旨在以任何方式限制本发明的构思范 围,而是通过参考特定实施例为本领域技术人员说明本发明的概念。

具体实施方式

下面结合附图以及具体实施例对本发明实施例解决的技术问题、 所采用的技术方案以及实现的技术效果进行清楚、完整的描述。显然, 所描述的实施例仅仅是本申请的一部分实施例,并不是全部实施例。 基于本申请中的实施例,本领域普通技术人员在不付出创造性劳动的 前提下,所获的所有其它等同或明显变型的实施例均落在本发明的保 护范围内。本发明实施例可以按照权利要求中限定和涵盖的多种不同 方式来具体化。

需要说明的是,在下面的描述中,为了方便理解,给出了许多具 体细节。但是很明显,本发明的实现可以没有这些具体细节。

需要说明的是,在没有明确限定或不冲突的情况下,本发明中的 各个实施例及其中的技术特征可以相互组合而形成技术方案。

本发明实施例的主要技术构思是针对海量的社会媒体文本,结合 情感词的用户写作特征和序列特征,将情感新词识别作为序列标注问 题,以每个字为单位,基于包含传统情感词的文本子句训练条件随机 场模型,预测文本子句中每个字的序列标签,从包含传统情感词的文 本中自动生成有标注数据,从而训练条件随机场模型以学习不同特征 权重;对于待识别情感新词的文本子句,将其特征化表示后作为所述 线性链条件随机场模型的输入,利用该模型得到其情感词标签序列; 然后将其对应的字序列以及情感词标签序列作为所述有限状态自动 机的输入,识别序列中的情感词,进而识别待识别文本中的情感新词。

本发明实施例提供一种中文情感新词识别方法。如图1所示,该 方法至少可以包括:S100至S150。

S100:获取待识别的文本子句以及包含传统情感词的文本子句集 合。

其中,待识别的文本子句不一定包含情感词。包含传统情感词的 文本子句集合用于训练线性链条件随机场模型。

其中,获取待识别的文本子句还可以具体包括:

S102:获取第一输入文本。

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

其中,文本子句定义为由以下单个或连续多个标点符号分割的文 本:中英文逗号(“,”,“,”)、中英文句号(“。”,“.”)、中 英文感叹号(“!”,“!”)、中英文问号(“?”,“?”)、中英文 冒号(“:”,“:”)、中英文分号(“;”,“;”)和中英文波浪 号(“~”,“~”)。用于切分文本子句的正则表达式为:“[\\,\\.,。 \\?\\!?!::~~;;]+”。

例如,对“时尚别致的房间设计,还带空中房间!稀饭吗?”进 行子句切分,可以得到如下三个文本子句:

1.时尚别致的房间设计,

2.还带空中房间!

3.稀饭吗?

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

其中,情感词的作者写作特征具体包括:平均文本长度、表情符 使用比例、连续感叹号使用比例、连续问号使用比例和连续波浪号使 用比例。情感词的作者写作特征从作者(也即用户)写作习惯的角度 来预测用户使用情感词的可能性,从而提供用户所发布文本中包含情 感词的先验概率。

情感词的序列特征具体包括:字、词性、分词结果、拼音、位置、 位置-标点符号组合、拼音-序列标签组合、字-词性-序列标签组合和 相邻序列标签。情感词的序列特征综合考察与情感词上下文相关的多 种不同类型信息及其组合,以捕获或挖掘出情感词的各种上下文匹配 模式。

本发明实施例基于包含传统情感词的文本子句自动生成用于训 练线性链条件随机场模型的有标注数据,从而避免了人工标注。

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

在本步骤中,训练模型的目的是学习各类特征的权值。其中,训 练步骤可以包括:

S1201:获取第二输入文本集合。

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

S1203:过滤第二文本子句集合中不包含传统情感词的第二文本 子句,形成包含传统情感词的第二文本子句集合。

S1204:统计第二文本子句集合中存在于传统情感词库中的各情 感词的词频。

S1205:将各情感词频按照词频进行排序,得到传统情感词列表。

在本步骤中,例如,可以将各情感词频按照词频从高到低进行排 序,形成传统情感词列表。

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

在本步骤中,顺序遍历已排序的传统情感词列表,每次取出一个 情感词,将包含该情感词的至多m条文本子句加入训练集合中,直至 训练集合的大小超过n。

其中,词频是指词在文本语料(例如第二文本子句集合)中的出 现频次。m为训练集合中每个情感词对应的最大文本数量。n为训练 数据集合的大小。传统情感词库以及m和n的取值均可根据实际情况 来确定。

其中,针对各情感词,选取包含该情感词的至多m条第二文本子 句,形成包含传统情感词的文本子句集合还可以包括:

S12061:如果包含情感词的第二文本子句数量小于等于m,则执 行S12052;否则,执行S12053。

S12062:选取全部包含该情感词的第二文本子句。

S12063:随机选取m个第二文本子句。

以包含传统情感词的文本子句为单位构建训练数据集合,能够有 效地提高训练效率并减少训练数据中包含的噪声。

S1207:获取到包含传统情感词的文本子句集合。

S1208:基于情感词的作者写作特征和情感词的序列特征,对包 含传统情感词的文本子句集合中的文本子句进行特征表示,形成训练 数据特征表示集合;其中,情感词的作者写作特征包括:平均文本长 度、表情符使用比例、连续感叹号使用比例、连续问号使用比例和连 续波浪号使用比例;情感词的序列特征包括:字、词性、分词结果、 拼音、位置、位置-标点符号组合、拼音-序列标签组合、字-词性- 序列标签组合和相邻序列标签。

由于情感词的作者写作特征从作者(用户)写作习惯的角度预测 用户使用情感词的可能性,所以,情感词的作者写作特征有助于提供 文本中是否包含情感词的先验概率。由于情感词的序列特征综合考察 与情感词上下文相关的多种不同类型信息及其组合,所以,情感词的 序列特征有助于挖掘出更多有效的情感词上下文模式。

对文本子句进行特征表示之后,就将每个文本子句表示为各种特 征(如:字、词性、拼音、分词结果、拼音、位置、位置-标点符号 组合、拼音-序列标签组合、字-词性-序列标签组合、相邻序列标签、 平均文本长度、表情符使用比例、连续感叹号使用比例、连续问号使 用比例和连续波浪号使用比例)的序列,得到训练数据特征表示集合。 将该训练数据特征表示集合作为训练数据文件。

在实际应用中,用一行表示文本子句中的一个字及其相关信息的 取值、以及该字对应的序列标签。将包含传统情感词的文本子句集合 中所有文本子句的特征表示整合到一个训练数据文件中,各个文本子 句之间用一个空行隔开。训练数据文件的每行可以包括以下成分:字、 字所在词的词性、分词结果标签、有音调的拼音、无音调的拼音、与 句首的距离、与句尾的距离、所在子句的标点符号、作者的平均文本 长度、作者的表情符使用比例、作者的连续感叹号使用比例、作者的 连续问号使用比例、作者的连续波浪号使用比例以及相邻序列标签。 其中,每行中各成分之间用制表符隔开。相邻序列标签定义如下:S- 单字情感词、B-多字情感词的第一个字、M-多字情感词的中间几个字、 E-多字情感词的最后一个字、N-非情感词。分词结果标签的定义与相 邻序列标签类似,即:S-单字词、B-多字词的第一个字、M-多字词的 中间几个字、E-多字词的最后一个字。其中,有音调的拼音、无音调 的拼音对应于传统情感词的序列特征中的拼音特征。与句首的距离、 与句尾的距离对应于传统情感词的序列特征中的位置特征。其他以此 类推,在此不再赘述。

具体地,在实际操作中,分词结果标签和字所在词的词性可通过 中文分词工具(如:Ansj)得到;有音调和无音调的拼音可通过现有 的拼音识别工具包(如:Pinyin4j)得到;作者的平均文本长度、表 情符使用比例、连续感叹号使用比例、连续问号使用比例和连续波浪 号使用比例均采用区间表示法进行表示,即:假定区间大小为d,则 1表示区间(0,d),2表示区间[d,2d),以此类推。特别地,用0表示 取值为0。在该实施例中,平均文本长度、表情符使用比例、连续感 叹号使用比例、连续问号使用比例和连续波浪号使用比例的区间大小 分别为:5、0.1、0.1、0.1、0.1。

例如:文本子句“时尚别致的房间设计,”的特征表示如下:

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

其中,特征模板定义了特征的组成规则,用于自动从文本子句中 提取对应的各类具体特征。情感词的特征模板包含对多个特征的描述, 并用每一行描述一个特征。其中,每个特征包括:与文本子句相关的 信息和标签信息。也就是说,特征模板中定义了模型所考虑的各类特 征以及各类特征的不同组合方式。例如:字特征包括:窗口大小为5 的范围内各位置的单字以及相邻两个位置的字组合。

在实际应用中,将与文本子句相关的信息表示为%x[offset,id], 其中,offset为该特征考虑的字及其相关信息的位置与当前位置的 偏移量,id为该特征考虑的字相关信息的索引值,即:文本子句进 行特征表示后每行中该信息的索引值。将标签信息表示为%y[offset], 其中,offset表示该特征考虑的标签位置与当前位置的偏移量。由 于本发明实施例采用线性链条件随机场识别情感新词,因此,在仅考 虑最多二阶的情况下,每个特征中的标签信息部分为%y[0] 或%y[-1]%y[0]。此外,该标签信息部分也可以为%y[-2]%y[-1]%y[0]。

下面示意性地示出特征模板,如下:

%x[-3,0]%y[0]

%x[-2,0]%y[0]

%x[-1,0]%y[0]

%x[1,0]%y[0]

%x[2,0]%y[0]

%x[3,0]%y[0]

……

基于上述特征模板的定义,情感词的用户写作特征的具体含义及 表示方式如下:

平均文本长度:用户发布的所有文本的平均长度,表示为:

%x[0,8]%y[0]

表情符使用比例:用户发布的所有文本中包含一个及以上表情符 的比例,表情符表示为由英文中括号(“[”和“]”)包括起来的短 语,表示为:

%x[0,9]%y[0]

连续感叹号使用比例:用户发布的所有文本中包含连续两个及以 上中英文感叹号(“!”,“!”)的比例,表示为:

%x[0,10]%y[0]

连续问号使用比例:用户发布的所有文本中包含连续两个及以上 中英文问号(“?”,“?”)的比例,表示为:

%x[0,11]%y[0]

连续波浪号使用比例:用户发布的所有文本中包含连续两个及以 上中英文波浪号(“~”,“~”)的比例,表示为:

%x[0,12]%y[0]

基于上述特征模板的定义,情感词序列特征的具体含义及表示方 式如下:

字:以当前位置为中心、窗口大小为7的范围内对应位置的字, 考虑单个位置的字以及连续2个位置的字组合,表示为:

%x[offset,0]%y[0]offset=-3,-2,-1,0,1,2,3

%x[offset,0]%x[offset+1,0]%y[0]offset=-3,-2,-1,0,1,2

词性:以当前位置为中心、窗口大小为7的范围内对应位置的词 性,考虑单个位置的词性以及连续2个位置的词性组合,表示为:

%x[offset,1]%y[0]offset=-3,-2,-1,0,1,2,3

%x[offset,1]%x[offset+1,1]%y[0]offset=-3,-2,-1,0,1,2

分词结果:以当前位置为中心、窗口大小为5的范围内对应位置 的分词结果标签,仅考虑单个位置的分词结果标签,表示为:

%x[offset,2]%y[0]offset=-2,-1,0,1,2

拼音:以当前位置为中心、窗口大小为3的范围内对应位置的拼 音,分别考虑有音调和无音调的拼音,并考虑单个位置的拼音以及连 续2~3个位置的拼音组合,表示为:

%x[offset,3]%y[0]offset=-1,0,1

%x[offset,3]%x[offset+1,3]%y[0]offset=-1,0

%x[offset,3]%x[offset+1,3]%x[offset+2,3]%y[0]offset=-1

%x[offset,4]%y[0]offset=-1,0,1

%x[offset,4]%x[offset+1,4]%y[0]offset=-1,0

%x[offset,4]%x[offset+1,4]%x[offset+2,4]%y[0]offset=-1

位置:在不考虑标点符号的情况下,当前位置离句首的距离、离 句尾的距离以及离句首、句尾的距离组合,表示为:

%x[0,id]%y[0]id=5,6

%x[0,id]%x[0,id+1]%y[0]id=5

位置与标点符号组合:当前位置离句首、句尾的距离与当前子句 标点符号的组合,表示为:

%x[0,id]%x[0,id+1]x[0,id+2]%y[0]id=5

拼音与序列标签组合:为当前位置与前一位置的有音调拼音与前 一位置序列标签的组合,表示为:

%x[-1,3]%x[0,3]%y[-1]%y[0]

字、词性与序列标签组合:为前一位置的字、词性及序列标签的 组合,表示为:

%x[-1,0]%x[-1,1]%y[-1]%y[0]

相邻序列标签:为相邻两个位置的序列标签,表示为:

%y[-1]%y[0]

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

其中,线性链条件随机场模型可以通过如下数学表达式表示:

P(y|x)=1Z(x)exp(Σi,kλktk(yi-1,yi,x,i)+Σi,lμlsl(yi,x,i))

Z(x)=Σyexp(Σi,kλktk(yi-1,yi,x,i)+Σi,lμlsl(yi,x,i))

其中,x表示输入的观察序列,即:文本子句对应的各种特征(如: 字、词性、拼音等)的序列;y表示待识别的情感词标签序列,即: 描述文本子句中每个字是否为情感词的标签序列;i表示序列中元素 的序号,取正整数;tk和sl是特征函数,与特征模板所描述的特征相 对应;tk考虑了标签之间的转移特征;l和k表示特征函数的序号;λk和μl是对应特征的权值,即模型所要学习的参数;P表示概率;Z(x) 为归一化因子。

线性链条件随机场模型在给定特征表示的、包含传统情感词的文 本子句集合(即:训练数据特征表示集合)下,基于人工设定的特征 模板,自动从包含传统情感词的文本子句集合(即训练数据)中提取 各类特征,并通过极大化训练数据的对数似然函数来求解模型参数 λk和μl

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

在本步骤中,通过极大化包含传统情感词的文本子句集合的对数 似然函数来求解线性链条件随机场模型中的λk和μl。其中,采用的 算法至少包括但不限于改进的迭代尺度算法、梯度下降法、拟牛顿法 等,这可由具体的实际情况来确定。

在实际应用中,可以采用线性链条件随机场模型工具包(如: “PocketCRF”)训练线性链条件随机场模型。

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

在本步骤中,将包含传统情感词的文本子句集合中的文本子句表 示为各种特征(如:字、词性、拼音等)的序列(即特征表示)后, 将其作为线性链条件随机场模型的输入。采用经典的维特比算法对该 序列中每个字的标签进行标注,选取P值最大的序列作为输出,输出 对应的情感词标签序列。

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

本步骤是通过构建有限状态自动机(“FiniteStateAutomaton, FSA”),在线性时间复杂度内从线性链条件随机场模型的输入序列 (这里仅提取字的序列)和对应的输出序列(即:情感词标签序列) 中获取情感词。

如图2所示,有限状态自动机每次同时接收输入序列和输出序列 的一个元素(x,p),根据接收到的元素执行特定操作并进行状态转移。

其中,有限状态自动机共包含两个状态:初始态(S)和中间态 (I),通过维护一个字符串RS以存储当前的情感词识别结果,其状 态转移函数f定义如下:

f(c,(x,p))∈{S,I};c∈{S,I};p∈{N,B,E,M,S}

其中,c表示有限状态自动机的当前状态;x表示当前接收到的 输入序列的元素;p表示当前接收到的输出序列的元素。N、B、E、 M和S由相邻序列标签定义:S-单字情感词、B-多字情感词的第一 个字、M-多字情感词的中间几个字、E-多字情感词的最后一个字、 N-非情感词。

初始时,该有限状态自动机处于初始态(S),并置RS为空串(即: RS="")。其状态转移函数f的自变量取不同值时对应的输出及执行 的操作如下:

f(S,(x,N))=S,执行操作:无;

f(S,(x,B))=I,执行操作:RS=RS+x;

f(S,(x,E))=S,执行操作:RS="",输出错误信息;

f(S,(x,M))=S,执行操作:RS="",输出错误信息;

f(S,(x,S))=S,执行操作:将x加入情感词识别结果集合中, RS="";

f(I,(x,N))=S,执行操作:RS="",输出错误信息;

f(I,(x,B))=S,执行操作:RS="",输出错误信息;

f(I,(x,E))=S,执行操作:将RS+x加入情感词识别结果集合中, RS="";

f(I,(x,M))=I,执行操作:RS=RS+x;

f(I,(x,S))=S,执行操作:RS="",输出错误信息。

其中,RS=RS+x表示将字符x拼合到字符串RS的尾部。

通过构建有限状态自动机,实现在线性时间复杂度内提取已标注 文本中的所有情感词,有效地提升了情感词提取的效率。

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

其中,中文旧词词库是指包含中文词汇的词典。

需要说明的是,对待识别文本子句进行处理的步骤与训练线性链 条件随机场模型的步骤有相同的地方,对此相同的地方,可以互相参 考,在此不再赘述。

下面以一优选实施例来对本发明进行详细的说明。该优选实施例 不应视为对本发明的不当限定。

本实施例以新浪微博用户发布的微博文本作为输入文本。其中, 输入文本由来自3007个微博用户的共计925943条微博文本组成。

将“大连理工大学情感词库”作为传统情感词库,并将 “COAE2014评测”中“任务三:微博情感新词发现与判定”提供的 情感新词列表作为情感新词识别的标准答案。

输入文本中共471138条微博包含传统情感词,输入文本中共 282787条微博包含不重复的5340个情感新词。

基于上述情景,本实施例将包含传统情感词的471138条微博作 为条件随机场模型的训练数据来源;并将包含不重复的5340个情感 新词的282787条微博的子句作为情感新词发现的测试数据。

本实施例可以包括:

步骤S200:基于输入文本中包含传统情感词的微博子句,构建 用于训练条件随机场模型的训练数据文件。

本步骤具体可以包括:

步骤S201:获取输入文本。

步骤S202:对输入文本进行子句切分。

步骤S203:过滤不包含传统情感词的子句,得到大小为42230 的包含传统情感词的文本子句集合。

步骤S204:统计该文本子句集合中存在于传统情感词库中的各 情感词的词频,将各情感词频按照词频从高到低排序,得到传统情感 词列表:

步骤S205:顺序遍历按词频从高到低已排序的传统情感词列表, 对于每个情感词,选择包含该情感词的至多2条微博文本子句加入训 练数据集合中,直至训练数据集合的大小超过20000。

步骤S206:基于情感词的作者写作特征和情感词的序列特征, 对训练数据集合中的所有文本子句进行特征表示。即:将每个文本子 句表示为各种特征(如:字、词性、拼音等)以及情感词标签的序列, 并生成训练数据文件。

具体地,对每个文本子句用一行表示其中的一个字及其相关信息 和情感词标签,每行中各个成分之间用制表符分隔开;然后,将训练 集合中所有文本子句的特征表示整合到一个训练数据文件中,各个文 本子句之间用一个空行隔开。

步骤S210:定义线性链条件随机场模型的特征模板。

步骤S220:基于生成的训练数据文件以及人工定义的特征模板, 训练线性链条件随机场模型。

步骤S230:获取待识别的文本子句。

步骤S240:将待识别情感词的文本子句进行特征表示。

例如:文本子句“哈哈哈哈感觉自己萌萌哒!”的特征表示为:

步骤S250:利用训练得到的线性链条件随机场模型,获取文本 子句对应的情感词标签序列,其为“BEBENNNNBMEN”。

步骤S260:采用有限状态自动机从文本子句的字的序列(哈哈 哈哈感觉自己萌萌哒)以及情感词标签的序列(BEBENNNNBMEN) 中识别该文本子句包含的情感词。

即:识别出其中“BE”、“BE”、“BME”这三个子序列对应 的情感词分别为“哈哈”、“哈哈”和“萌萌哒”。其中,“哈哈” 和“萌萌哒”即为输入文本子句所包含的情感词。

步骤S270:利用中文旧词词库(如:大连理工大学情感词库、 知网词库、CSDN中文分词词库、COAE2014评测提供的旧词词库等) 对条件随机场模型识别出的情感词集合进行过滤,保留旧词词库中不 包含的情感词作为最终的中文情感新词。

下面以本发明实施例提出的方法与付丽娜等(2015)提出的方法 及Wang等(2012)提出的方法进行对比,对比实验测试结果见下表:

方法 精度 召回率 F1值 付丽娜等提出的方法(2015) 30.10% 7.85% 12.45% Wang等提出的方法(2012) 30.05% 10.69% 15.77% 本发明实施例提出的方法 76.21% 23.63% 36.08%

在该表中,精度为识别出的情感新词中正确情感新词所占的比例; 召回率为识别出的正确情感新词占所有情感新词的比例;F1值为精 度和召回率的简单调和平均数。

本实施例中将各个步骤按照上述先后次序的方式进行了描述,本 领域技术人员可以理解,为了实现本实施例的效果,不同的步骤之间 不必按照这样的次序执行,其可以同时执行或执行次序颠倒,这些简 单的变化都在本发明的保护范围之内。

基于与方法实施例相同的技术构思,还提供一种中文情感新词识 别系统30,如图3所示,该系统30至少包括:第一获取单元31、训 练单元32、表示单元33、第二获取单元34、识别单元35和过滤单 元36。其中,第一获取单元31被配置为获取待识别的文本子句以及 包含传统情感词的文本子句集合。训练单元32被配置为基于情感词 的作者写作特征和情感词的序列特征,利用包含传统情感词的文本子 句集合,训练线性链条件随机场模型。表示单元33被配置为基于情 感词的作者写作特征和情感词的序列特征,将文本子句表示为作者写 作特征和序列特征的特征序列;其中,特征序列包括字的序列。第二 获取单元34被配置为基于特征序列,利用训练得到的线性链条件随 机场模型,获取与文本子句对应的情感词标签序列。识别单元35被 配置为基于字的序列和情感词标签序列,利用有限状态自动机,识别 文本子句中的情感词,形成情感词集合。过滤单元36被配置为利用 中文旧词词库对所述情感词集合进行过滤,将未出现在中文旧词词库 中的情感词作为中文情感新词。

在本发明实施例的一些可选的实现方式中,第一获取单元具体可 以包括:第一获取模块和第一切分模块。其中,第一获取模块被配置 为获取第一输入文本。第一切分模块被配置为利用正则表达式,对第 一输入文本进行子句切分,形成待识别的文本子句。

在本发明实施例的一些可选的实现方式中,如图4所示,训练单 元40具体可以包括:表示模块42、定义模块44、提取模块46和训 练模块48。其中,表示模块42被配置为基于情感词的作者写作特征 和情感词的序列特征,对包含传统情感词的文本子句集合中的文本子 句进行特征表示,形成训练数据特征表示集合。定义模块44被配置 为定义情感词的特征模板;其中,特征模板定义了如下特征及其组合 方式:平均文本长度、表情符使用比例、连续感叹号使用比例、连续 问号使用比例和连续波浪号使用比例,以及字、词性、分词结果、拼 音、位置、位置-标点符号组合、拼音-序列标签组合、字-词性-序列 标签组合和相邻序列标签,用于自动提取与文本子句相关的具体特征。 提取模块46被配置为基于训练数据特征表示集合以及特征模板中定 义的特征及其组合方式,从包含传统情感词的文本子句集合中提取与 作者写作特征和序列特征中所述各项特征对应的第一特征。训练模块 48被配置为通过极大化包含传统情感词的文本子句集合的对数似然 函数,训练线性链条件随机场模型,从而得到第一特征的权值。

在本发明实施例的一些可选的实现方式中,第一获取单元还可以 包括:第二获取模块、第二切分模块、过滤模块、统计模块、排序模 块和选取模块。其中,第二获取模块被配置为获取第二输入文本集合。 第二切分模块被配置为利用正则表达式,对第二输入文本集合中的文 本进行子句切分,形成第二文本子句集合。过滤模块被配置为过滤第 二文本子句集合中不包含传统情感词的第二文本子句,形成包含传统 情感词的第二文本子句集合。统计模块被配置为统计第二文本子句集 合中存在于传统情感词库中的各情感词的词频。排序模块被配置为将 各情感词频按照词频进行排序,得到传统情感词列表。选取模块被配 置为顺序遍历传统情感词列表,针对各情感词,选取包含该情感词的 至多m条第二文本子句,形成包含传统情感词的文本子句集合,直至 文本子句集合的大小超过预定值;其中,m为各情感词对应的最大文 本数量。

在本发明实施例的一些可选的实现方式中,选取模块具体可以包 括:子选取模块。其中,子选取模块被配置为如果包含情感词的第二 文本子句数量小于等于m,则选取全部包含该情感词的第二文本子句; 否则,随机选取m个第二文本子句。

需要说明的是:上述实施例提供的中文情感新词识别系统在进行 中文情感新词识别时,仅以上述各功能模块的划分进行举例说明,在 实际应用中,可以根据需要而将上述功能分配由不同的功能模块来完 成,即将系统的内部结构划分成不同的功能模块,以完成以上描述的 全部或者部分功能。

上述系统实施例可以用于执行上述方法实施例,其技术原理、所 解决的技术问题及产生的技术效果相似,所属技术领域的技术人员可 以清楚地了解到,为描述的方便和简洁,上述描述的系统的具体工作 过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

与现有技术相比,本发明实施例提出的中文情感新词识别方法和 系统由于结合了作者写作特征和序列特征,通过训练线性链条件随机 场模型从数据中自动学习不同特征的权重,并且能够基于传统情感词 自动生成条件随机场模型的有标注训练数据,因此,在中文情感新词 识别的精度和召回率、及适用于处理大规模文本方面较已有方法具有 明显的优势。

另外,本发明实施例直接从文本中识别中文情感新词,而非在新 词发现的基础上筛选情感词,从而避免了新词发现带来的错误,明显 提高了情感新词识别的精度。此外,所述模型不过滤低频词,进一步 提高了中文情感新词识别的召回率;

本发明实施例基于包含传统情感词的文本自动生成有标注训练 数据,进而训练条件随机场模型以自动识别情感新词,模型训练及使 用过程均无须人工介入,适合于面向海量文本的中文情感新词识别。

应指出的是,上面分别对本发明的系统实施例和方法实施例进行 了描述,但是对一个实施例描述的细节也可应用于另一个实施例。对 于本发明实施例中涉及的模块、步骤的名称,仅仅是为了区分各个模 块或者步骤,不视为对本发明的不当限定。本领域技术人员应该理解: 本发明实施例中的模块或者步骤还可以再分解或者组合。例如上述实 施例的模块可以合并为一个模块,也可以进一步拆分成多个子模块。

以上对本发明实施例所提供的技术方案进行了详细的介绍。虽然 本文应用了具体的个例对本发明的原理和实施方式进行了阐述,但是, 上述实施例的说明仅适用于帮助理解本发明实施例的原理;同时,对 于本领域技术人员来说,依据本发明实施例,在具体实施方式以及应 用范围之内均会做出改变。

需要说明的是,本文中涉及到的流程图或框图不仅仅局限于本文 所示的形式,其还可以进行划分和/或组合。

需要说明的是:附图中的标记和文字只是为了更清楚地说明本发 明,不视为对本发明保护范围的不当限定。

术语“包括”、“包含”或者任何其它类似用语旨在涵盖非排他性 的包含,从而使得包括一系列要素的过程、方法、物品或者设备/装 置不仅包括那些要素,而且还包括没有明确列出的其它要素,或者还 包括这些过程、方法、物品或者设备/装置所固有的要素。

本发明的各个步骤可以用通用的计算装置来实现,例如,它们可 以集中在单个的计算装置上,例如:个人计算机、服务器计算机、手 持设备或便携式设备、平板型设备或者多处理器装置,也可以分布在 多个计算装置所组成的网络上,它们可以以不同于此处的顺序执行所 示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者 将它们中的多个模块或步骤制作成单个集成电路模块来实现。因此, 本发明不限于任何特定的硬件和软件或者其结合。

本发明提供的方法可以使用可编程逻辑器件来实现,也可以实施 为计算机程序软件或程序模块(其包括执行特定任务或实现特定抽象 数据类型的例程、程序、对象、组件或数据结构等等),例如根据本 发明的实施例可以是一种计算机程序产品,运行该计算机程序产品使 计算机执行用于所示范的方法。所述计算机程序产品包括计算机可读 存储介质,该介质上包含计算机程序逻辑或代码部分,用于实现所述 方法。所述计算机可读存储介质可以是被安装在计算机中的内置介质 或者可以从计算机主体上拆卸下来的可移动介质(例如:采用热插拔 技术的存储设备)。所述内置介质包括但不限于可重写的非易失性存 储器,例如:RAM、ROM、快闪存储器和硬盘。所述可移动介质包括但 不限于:光存储介质(例如:CD-ROM和DVD)、磁光存储介质(例如: MO)、磁存储介质(例如:磁带或移动硬盘)、具有内置的可重写非易 失性存储器的媒体(例如:存储卡)和具有内置ROM的媒体(例如: ROM盒)。

本发明并不限于上述实施方式,在不背离本发明实质内容的情况 下,本领域普通技术人员可以想到的任何变形、改进或替换均落入本 发明的范围。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号