基于情感词典改进情感分析的方法

《Franklin Open》:Methods of improving sentiment analysis based on sentiment dictionary

【字体: 大 中 小 】 时间:2026年05月02日 来源:Franklin Open CS1.4

编辑推荐:

  杨章勋 美国宾夕法尼亚州阿宾顿市宾夕法尼亚州立大学科学与工程学院 **摘要** 依赖于预定义词典的情感分析往往由于某些单词的情感评分存在偏见而准确性降低。为了克服这一限制,我们提出了一种新的框架,该框架将情感词典与朴素贝叶斯机器学习方法相结合用于情感分析。该框架将词

  杨章勋
美国宾夕法尼亚州阿宾顿市宾夕法尼亚州立大学科学与工程学院

**摘要**
依赖于预定义词典的情感分析往往由于某些单词的情感评分存在偏见而准确性降低。为了克服这一限制,我们提出了一种新的框架,该框架将情感词典与朴素贝叶斯机器学习方法相结合用于情感分析。该框架将词典创建和情感分类无缝整合为一个统一的过程。为了提高情感预测的质量,我们提出了两种互补技术。第一种技术利用统计分析来检测并消除可能扭曲结果的潜在停用词;第二种技术通过调整正负情感评分的均值和方差来使其分布对称。我们使用不同的分词器和数据集构建了多个情感词典来评估所提出的方法。实验结果表明,这些技术通过减少情感词典中固有的偏见成功提高了情感分析的性能。

**1. 引言**
人工智能的最新进展催生了大型语言模型(LLMs),这些模型在提供以前被认为无法实现的各种创新服务方面表现出色[1]。尽管LLMs在许多自然语言处理(NLP)任务中具有令人印象深刻的能力,但它们仍面临一些限制,包括操作复杂性、在特定应用中的性能不佳以及与其计算需求相关的日益严重的环境问题[2]。与此同时,深度学习和机器学习在情感分析领域取得了显著进展——这一领域因其基础重要性和实际用途而吸引了大量研究兴趣。应用范围从跟踪客户意见和识别市场趋势到制定基于情感的营销计划以及理解公众情绪的变化。尽管深度学习方法在情感分析中通常优于其他方法[3,4],但它们需要大量的标记数据集,由于其不透明的性质而缺乏可解释性,并且对于没有高级计算技能的研究人员来说可能难以使用。相比之下,基于词典的方法[5-15]具有计算效率高、数据需求低、结果清晰可解释以及广泛可访问性等优点。

为了提高效率和针对性,情感词典通常会根据特定领域进行定制。例如,特定领域的SentiDomain词典的性能略优于通用SentiWords[5]。已经开发了专门的财务情感词典来解释与负债、股市情绪和经济背景相关的文本[6,7],而政治情感词典则用于分析新闻文章、立法讨论和法律文本[8,9]。一套精心策划的德语情感词典经过手动优化,用于研究德语中的政治语言[10]。结合表情符号和缩写的词典在社交媒体和金融帖子中用于评估情感[[11], [12], [13], [14]]。还提出了一种专注于俚语的词典来捕捉社交数据中的非正式语言[15]。此外,还有一种词典用于评估土耳其语叙述中的情感[16]。关于基于词典的情感分析的详细调查可以在[16]和[17]中找到。

情感词典通常通过三种方法获取单词的情感值:手动、半自动和自动生成。手动方法依赖于人类注释者为预选单词列表分配情感,通常使用多数投票[15]或众包平台收集标签[18,19]。半自动方法将人类输入与自动化相结合,例如对包含某个单词的社交媒体句子中的情感进行平均[20],或使用特定领域的词向量来确定极性。另一种半自动技术是对现有词典应用二进制极性编码,然后通过手动调整来处理否定词[21]。完全自动的方法,如受限对称非负矩阵分解(CSNMF)算法,通过分析数据集(如社交媒体)来算法生成词典,并根据观察到的情感分配极性分数[22]。

为了改进基于词典的情感分析,人们探索了各种技术。一种方法是采用两步分类:首先确定句子是中性的还是极性的,然后评估该极性内的情感强度,这提高了对错误的抵抗力[23]。研究还表明,结合不同的情感词典可以导致不同的性能,这突显了将词典与文本的领域和上下文相匹配的必要性[17]。此外,纳入否定词(例如“not”)和强化词(例如“very”)对于准确的情感分类至关重要,这可以通过添加二元组或三元组、在否定后反转极性或根据修饰符调整分数来实现[[24], [25], [26]]。

虽然已知子词嵌入可以提高深度学习模型中的NLP性能[27,28],但它们在基于词典的情感分析中的潜力尚未得到充分探索。本研究调查了子词级情感词典,以解决领域偏见问题并检测非正式在线文本中的情感,包括拼写错误。可以通过使用TF-IDF等方法识别特定领域的关键词,并计算跨领域的共享关键词比例来评估领域偏见。为了减轻领域偏见,可以在涵盖多个领域的大型多样化语料库上训练模型,或在优化过程中应用正则化技术。子词可能捕捉到词级方法遗漏的形态学情感,例如‘un-’或‘-less’。它们可以从更细粒度的学习模式中潜在地提高泛化能力。我们首先开发了一个基于朴素贝叶斯的框架,将情感词典的构建和分析统一起来。选择朴素贝叶斯算法作为情感分析的底层模型,因为它提供了一个不需要超参数调整的封闭形式解决方案,并产生可解释的分数。为了提高结果,我们提出了两种方法:一种方法移除统计识别的停用词以克服固定停用词列表的局限性;另一种方法对情感分数分布进行正则化以减少偏见和过拟合。数值测试表明,这些方法通过减轻分数偏见来提高词典的质量。子词级词典的有效性取决于词典与领域的匹配程度。

**2. 问题表述**
文档不仅传达事实信息,还传达情感内容。提取事实信息依赖于现有的知识结构,而情感内容通常分散在文本中。此外,在长文档中,随着后续句子的意义展开并与前面的句子相互作用,情感可能会发生变化。虽然确定情感及其在句子序列中的时间进展之间的确切边界具有挑战性,但由于正面和负面情感的对比性质,整体文档的情感通常更容易识别。这是因为情感更具普遍性[29],并且识别情感流并不一定需要精确指出文档中的特定段落。为了更正式地表述情感,我们引入了一些符号。设Si为第i个文档,它包含nˉ(i)个单词。每个单词可以根据其结构进一步划分为2个或3个子词,甚至更多。设子词的总数为n(i)。给定文档Si的情感分析可以表示为
(1) f(Si),其中函数f(Si)的输出代表文档的情感。根据是否包含“中性”情感,情感分析的类型可以进一步分类。为了简单起见,我们假设文档的情感要么是积极的,要么是消极的,从而排除了中性情感。尽管一些现有研究通过包含中性类别将情感分析视为三类问题,但这种做法在不同算法方法中很常见。引入中性类别通常会稀释极性信号并增加模型开发和推理的复杂性。当明确识别中性文档是主要目标时,包含中性类别才有意义。基于这些基本假设和条件,我们可以如下表述情感的最大后验(MAP)决策:
(2) sMAP = argx∈{Pos, Neg} P(x|Si),其中Pos和Neg分别表示积极情感和消极情感的标签。然而,找到P(x|Si)并不简单。因此,我们引入了一个机器学习框架来近似解决这个问题。

**3. 用于构建情感词典和情感分析的朴素贝叶斯方法**
朴素贝叶斯在各种应用中已被证明是成功的,包括从评论中分类客户满意度[30]和基于期刊属性的期刊四分位数分类[31]。在本节中,我们将利用朴素贝叶斯通过近似情感分析的MAP决策来共同设计情感词典和情感分析,尽管它对条件独立性的假设不一定总是成立,但朴素贝叶斯在机器学习任务中往往表现出惊人的好性能。情感的MAP决策可以使用贝叶斯规则表示为:
(3) sMAP = argx∈{Pos, Neg} P(Si|x) p(x)
表示第i个文档的第jh个子词为wi,j,MAP决策可以近似为:
(4) sMAP ≈ argx∈{Pos, Neg} P(x) ∏j=1n(i) P(wi,j|x)
由于我们只考虑积极和消极情感,这个近似的MAP可以使用奇数比来解决,即:
(5) P(Pos) ∏j=1n(i) P(wi,j|Pos) P(Neg) ∏j=1n(i) P(wi,j|Neg)
奇数比对数的对数可以进一步表示为:
(6) log(P(Pos) P(Neg)) + ∑j=1n(i) lo(wi,j)
其中log(P(w|Pos) P(w|Neg))为简化表示,记为lo(w)。除非另有说明,否则lo(w)将用于表示子词w的情感值。为了计算这个值,我们需要P(Pos)和P(wi,j|Pos),而消极情感的相应值也可以用同样的方法获得。对于给定的训练数据集,P(Pos)可以使用相对频率计算为:
(7) P(Pos) = Npos / (Npos + Nneg),其中Npos和Nneg分别是积极标签和消极标签的数量。P(wi,j|Pos)也可以容易地计算为:
(8) P(wi,j|Pos) = g(wi,j|pos) ∑wg(w|pos),其中g(w|pos)是带有积极情感标签的文档集合中子词w的频率。

为了提高情感分析的性能,基于词典的方法通常会对“not”、“never”和“no”等否定词进行特殊处理。这些词通常会反转后面单词的情感。例如,“I am happy”和“I am not happy”传达相反的情感。一些方法在否定词之前简单地反转极性,而复合词方法将否定词视为一个整体单元,可以与前面描述的朴素贝叶斯MAP估计方法一致应用。带有子词wi,j的文档Si可以重新表示为w′i,j,以便包含否定词中的复合词:
(9) w′i,j = {wi,j + wi,j+1} if wi,j ∈ SNegation, else ...
其中SNegation是否定词的集合,q(j)表示与第j个子词匹配的适当索引。通过滥用索引和符号,wi,j+wi,j+1意味着当wi,j是否定词时,否定词和后面的词将被视为情感词典中的一个词。使用w′i,j表示句子Si后,我们可以应用相同的概率方法。新词集的奇数比对数可以对数可以表示为:
(10) log(P(Pos) P(Neg)) + ∑j=1n′(i) lo(w′i,j)
其中n′(i)是当以否定词开头的二元组被视为情感词典中的单个有效子词时的有效子词数量。像‘-ing’和‘-ly’这样的高频子词自然会获得接近零的对数概率分数,因为它们在积极和消极文档中出现的频率几乎相等。这是可取的,因为它自动降低了无信息令牌的权重,而无需手工制作停用词列表。

**3.1. 统计停用词**
在自然语言处理(NLP)中贡献最小信息的单词通常被称为停用词。由于它们会干扰NLP任务,因此在预处理过程中通常会移除它们以提高目标任务的性能。常用的NLTK库包含179个停用词,如‘a’、‘about’、‘above’和‘yourselves’。然而,这些常用的停用词可能无法充分捕捉特定领域的细微差别,在NLP任务中利用特定领域的属性可以显著影响性能。在[32]中,发现通过在常用的停用词中添加在工程和技术相关文本中识别的87个额外停用词,使用LSTM模型进行多类文本分类的性能得到了提高。

在NLP的预处理步骤中分词后,通常会移除停用词。然而,在使用子词级词典进行情感分析时,某些作为子词级别的标记可能也会被视为停用词。例如,单词“investment”可以被分解为两个子词:“invest”和“ment”。后缀“ment”可以来源于许多不同的单词,如“development”、“employment”、“achievement”、“movement”等。这些频繁使用的子词携带的信息量很少,可能在情感分析中起到干扰作用。因此,移除这些停用词有助于提高情感分析的质量。为此,我们利用统计方法来识别停用词,具体方法如下:设wi,pos和wi,neg分别表示按频率降序排列的正面词和负面词序列。需要注意的是,这两个序列包含相同的子词集,而序列的顺序可以通过g(w|pos)和g(w|neg)轻松确定。利用这些序列,我们可以确定一组统计停用词Sstop(α),公式如下:
(11) Spos(α) = {w1,pos,?wk,pos | k = argmax∑i=1k P(wi,pos|pos) < α}
(12) Sneg(α) = {w1,neg,?wk,neg | k = argmax∑i=1k P(wi,neg|neg) < α}
(13) Sstop(α) = Spos(α) ∩ Sneg(α)
Spos(α)和Sneg(α)分别是概率P(wi,pos|pos)和P(wi,neg|neg)的分位数低于α的子词集合。也就是说,Sstop(α)是那些在正面和负面情感中都出现概率相对较高的子词集合。为了消除属于Sstop(α)的子词的影响,可以在进行子词分词后移除相应的子词,或者将lo(w)设置为0(对于wESint(α))。需要注意的是,这种方法也可以在单词级别上使用相同的程序。

3.2 强制对称分布
在用子词分数训练情感分析算法时,可用的训练数据往往有限。这种限制可能导致过拟合,即算法在训练数据上表现良好,但在未见过的数据上却无法泛化。为了解决这个问题,通常会引入各种类型的正则化技术。这些技术通过施加约束来惩罚过于复杂的模型,促使它们从数据中学习更通用的模式。在这种情况下,可以利用子词情感分数分布的对称性作为特定的正则化技术,使情感词典能够抵抗训练数据中可能存在的噪声。自然的情感表达大致是对称的,因为对于大多数情感概念来说,表达强烈积极性的词都有一个几乎对应的表达强烈消极性的词。然而,训练语料库往往不平衡或存在领域偏斜,导致正面和负面分数分布发散。强制对称性可以作为一种与领域无关的正则化方法,对抗特定语料库统计特征的过拟合,类似于权重衰减或标签平滑。这一假设意味着正面情感值的分布应该与负面情感值的绝对值的分布相似。强制这种假设可能有助于防止算法因训练数据中的分词和子词特性而过度拟合于特定的情感表达。由于训练数据可能无法捕捉到所有情感表达的范围,强制对称性可以促使情感词典在全局情感分布的背景下表示情感分数。

然而,估计最佳的对称分布可能是一个具有挑战性的问题。因此,将对称性应用于某些统计度量(如均值和方差)可能是一个更可行的方法。设正面情感分数的均值为mp,负面情感分数的均值为mn,标准差分别为σp和σn。为了计算这些统计度量,需要将词典中的子词分为正面子词集Dp和负面子词集Dn。可以使用lo(w)来划分这些子词,公式如下:
(14) Dp = {w | lo(w) > 0}
(15) Dn = {w | lo(w) < 0}
然后,根据每个集合的样本均值和样本标准差的定义,从Dp和Dn中确定mp、mn、σp和σn。接下来,我们可以调整每个情感分数的均值,使其具有相同的幅度:
(16) m′p = mp + |mn|/2
m′n = ?m′p
调整后的标准差σ′p和σ′n可以通过以下公式确定:
(17) σ′p = σp * σn / (σp + σn)
为了满足对称统计度量的要求,情感分数需要相应地进行转换:
(18) s′p = (sp ? mp + mp′) / (σ′p / σp)
(19) s′n = (sp ? mn + mn′) / (σ′n / σn)
调整后的s′p和s′n的均值分别为mp′和mn′,标准差分别为σp′和σn′。然而,还有一个问题:由于情感分数发生了变化,情感的极性也可能改变。对于那些情感极性非常弱的子词,可能会出现极性反转。为了解决这个问题,需要实施额外的裁剪步骤:
(20) s′p = {s′p if s′p > 0, 0 otherwise}
(21) s′n = {s′n if s′n < 0, 0 otherwise}
由于这种裁剪步骤的存在,实现完美的统计对称性可能并不现实。尽管如此,预计对每个单词的情感分数进行这种转换有助于更平衡地调节不同情感子词对最终情感分数的贡献。通过方程16-21的调整和裁剪后,极性较弱的子词的一部分可能会改变极性,而强情感的子词保持不变。这样可以选择性地消除由语料库不平衡引起的虚假弱信号,同时保留真正携带情感的子词。

尽管所提出的对称性强制方法在大多数情况下成功减轻了语料库引起的偏差,但它并非没有局限性。当某一极性严重偏斜时,将两侧强制拉向相同的绝对均值可能会无意中放大代表性不足一方的噪声。此外,硬裁剪步骤会在0处产生一个人为的峰值,可能会抵消那些尽管单个分数较弱但总体上贡献了有用情感信号的子词。未来的工作可以通过更温和的方法(如保留排名的对称缩放)来解决这些问题。潜在的方向包括无需参数的对称缩放,这种缩放可以在不进行裁剪的情况下平衡平均绝对强度,或者基于分位数的方法将一种极性的分数分布镜像到另一种极性上。这样的方法将更好地保留相对情感强度,并避免信息损失,同时保留减少偏差的核心优势。

4. 实验
4.1 数据集
IMDb电影评论:该数据集包含来自IMDb的电影、电视剧和视频游戏的评论。原始的IMDb数据集的全球观众评分范围是从1到10星。本研究中使用的数据集来自TensorFlow数据集,其中正面和负面评论的数量相等,每个数据集包含25,000个样本。每个训练数据实例被标记为0或1。
Yelp评论极性:该数据集包含来自Yelp的评论,类别标签为0或1。数据集来自TensorFlow数据集,包含56,000个训练样本和38,000个测试样本,两类样本的比例相等。
Sentiment140:该数据集包含从Twitter收集的160万个训练样本和498个测试样本。原始数据集包含负面、中性和正面三种极性标签。然而,在评估所提出的方法时,只选择了359个带有正面和负面情感的测试样本。
为了简化表示,IMDb评论、Yelp评论极性数据集和Sentiment140数据集分别称为IMDB、YELP和SENT140。

4.2 数据预处理
默认的预处理包括将字符转换为小写、删除特殊字符以及进行词形还原。对于分词,考虑了三种公开可用的分词器:The SentencePiece分词器[33]、WordPiece分词器[34]和Transformer-XL[35]分词器。SentencePiece分词器将输入文本视为原始输入流,适用于不使用空格分隔单词的语言。SentencePiece根据输入文本的特点动态构建子词单元,这比传统的字节对编码(BPE)分词具有优势。WordPiece分词器首先通过合并Unicode集中的每个字符来构建其词典,并通过最大化子词单元的可能性来扩展词典。这种分词器以相对粗糙的级别对句子进行分词。而Transformer-XL分词器可以是子词级别的分词器,也可以是单词级别的分词器,但在这个实验中只使用了单词级别的分词器。该分词器是从WikiText-103数据集训练而来的,该数据集是一个非常大的语料库。这个分词器的词汇量为267735个。
为了更具体地描述所使用的分词器,我们对一个示例句子“Do we really need a Unbelievable subword tokenizer?”进行了分词,结果如表1所示。我们使用了Huggingface提供的BertTokenizer进行WordPiece分词,XLNetTokenizer进行SentencePiece分词,以及Transformer-XL进行单词级别分词。正如预期的那样,SentencePiece的分词粒度比WordPiece更细,而Transformer-XL仅在单词级别进行分词。

表1. 示例句子的分词结果
| 分词器 | 分词结果 |
|--------------|-----------------------------------|
| SentencePiece | ['Do', 'we', 'really', 'need', 'a', 'Unbelievable', 'sub', 'word', 'token', 'izer', '?'] |
| WordPiece | ['do', 'we', 'really', 'need', 'a', 'unbelievable', 'sub', '#word', 'token', '#izer', '?'] |
| Transformer-XL | ['Do', 'we', 'really', 'need', 'a', 'Unbelievable', 'subword', 'tokenizer', '?'] |

所有实验都是使用Python和TensorFlow 2.10.1以及Hugging Face Transformers 4.3.8.1实现的。使用了三种分词器:XLNetTokenizer.from_pretrained("xlnet/xlnet-base-cased")用于基于SentencePiece的分词,BertTokenizer.from_pretrained("google-bert/bert-base-uncased")用于WordPiece分词,TransfoXLTokenizer.from_pretrained("transfo-xl-wt103")用于Transformer-XL分词。情感词典是根据Yelp Polarity数据集的训练部分构建的;评估是在IMDb Reviews(25,000个样本)和Yelp Polarity(38,000个样本)的标准测试部分上进行的。文本预处理包括转换为小写,并仅保留字母、数字和空格。如果启用,固定停用词删除会通过正则表达式应用标准的NLTK英语停用词列表。统计停用词删除(α = 0.1)会移除在正面和负面类别中合计占10%以上分词质量的子词(排除了每个类别中最常见的四个词)。否定处理是通过在频率计数和评分时将16个预定义的否定词与紧随其后的词合并来处理的。所有实验都在配备了AMD Ryzen 7 5800H CPU、32 GB RAM和NVIDIA GeForce RTX 3070 GPU的笔记本电脑上运行。

4.3 情感词典构建
利用每个分词器提供的基础词典来统计每个子词的频率。为训练数据集和分词器的组合构建了6个情感词典。分别计算每个子词在正面样本和负面样本中的频率后,计算P(w|Pos)和P(w|neg)。最后,通过lo(w)确定给定子词w的情感分数。考虑的否定词包括“neither”、“never”、“no”、“not”、“nobody”、“none”、“nor”、“nothing”、“nowhere”、“little”、“few”、“hardly”、“rarely”、“scarcely”和“seldom”。这些词在所有使用的分词器中都不会进一步分词。在频率计数之前,我们将否定词+下一个词视为一个复合词元。这在功能上等同于二元否定处理,但在子词级别上透明地操作。与单独的三元规则相比,我们的方法更简单,不需要手工制作的模式,并且能够从数据中自然学习否定强度。

构建子词级别情感词典的流程如图1所示。首先,将语料库中的原始文本分词。对于每个子词,在正面和负面训练文档中分别收集频率计数,然后计算朴素贝叶斯对数计数比率情感分数。最后,移除统计停用词,并施加对称正则化以平衡正面和负面分数的分布,从而得到用于文档级别分类的最终稳健情感词典。

4.4 实验结果
为了确定统计停用词的参数α,对IMDB测试数据集进行了情感分析,α的范围是从0到0.8,步长为0.1。阈值α控制共现概率P(w|Pos)和P(w|Neg)的分位数。因此,可以选择α以在减少噪声和保留情感词汇之间取得平衡。图2表明,当α为0.1时,准确率和F1分数最高。随着α值的增大,性能会下降,因为更多的子词变成了停用词,导致情感分析变得模糊。为了找到更好的α值,再次进行了实验,α的范围是从0.05到0.14,步长为0.01。然而,观察到α为0.1时性能最佳。在α=0.1时,只移除了少数几个最中性的子词(例如常见的后缀‘-ment’、‘-ly’)。这个值在各种分词器和数据集中一致地最大化了验证F1分数,实现了噪声减少和保留情感词汇之间的平衡。因此,后续实验将α设置为0.1。统计停用词的百分比在α为0.1时为0.001875%,这构成了非常小的一部分。同时,前100个带有情感的子词(例如‘un-’、‘-less’、‘great’、‘terri’)都没有受到影响。然而,这一比例可能会根据训练样本的数量和领域而有所不同。还值得注意的是,虽然去除这些停用词可以减少情感分析中的噪声,但去除过多的停用词可能会剥夺潜在有用的否定线索,从而损害情感分类的性能,因为一些上下文信息可能会丢失。

为了评估所提出方法的效果,我们根据表2中用于构建情感词典的方法定义了七种不同的配置情况。为了简化,我们将使用IMDB和YELP训练数据训练的情感词典分别称为IMDB情感词典和YELP情感词典。首先,我们检查了使用与测试数据相同领域的数据集构建的情感词典来分析测试数据的情感的情况。图3和图4展示了使用IMDB情感词典对IMDB测试数据进行分析时的准确率和F1分数,其中案例1表示未经任何额外处理的基线性能。在所有模拟案例和分词器中,都没有观察到显著的性能提升。值得注意的是,词级分词器在去除静态停用词时表现出最佳性能,而每个子词级分词器在去除静态和统计停用词时都达到了最佳准确率。然而,当使用IMDB情感词典分析IMDB测试数据时,性能提升非常有限。

图5和图6展示了使用YELP情感词典对YELP测试数据进行分析的实验结果。与IMDB数据集的实验相比,所提出的方法显示出显著的性能提升。此外,去除固定停用词也被发现对性能提升有显著贡献。由于相同的方法被应用于不同的数据集,数据集之间的差异可能会在不同程度上影响性能。为了研究固定停用词在不同数据集中的不同影响,我们分别统计了正面和负面情感训练数据集中每个单词的出现次数。尽管YELP数据集的总单词数量大约是IMDB数据集的15倍,但由于每种情感标签的样本数量相等,不同情感单词的数量差异不到1%。为了进一步阐明固定停用词的影响,我们从具有正面情感和负面情感的句子集中分别检索了100个最常出现的单词。表3显示了仅属于其中一个集合的固定停用词列表。虽然这些单词可能无法完全描述整个词典,但它们足以解释不同数据集和方法之间的实验结果。根据领域不同,某些停用词在一种情感中可能比在另一种情感中更为常见。例如,在IMDB数据集中,“most”这个词经常出现在正面句子中,如“It is the most beautiful story”、“The most interesting part is to see the contradiction”和“It is the most spectacular movie”。相反,在YELP数据集中,“didn’t”这个词更常出现在负面句子中,如“The manager didn’t even say hello to us”、“They didn’t provide clean cups”和“The employee didn’t answer at all”。这些选定的停用词中存在的偏见在YELP数据集中更为明显。此外,虽然IMDB数据集中选定的停用词中的偏见分布相对均匀,但YELP数据集中大多数选定的停用词表现出负面偏见。这些停用词中的偏见有可能在情感分析中引入噪声。

在案例1中,使用YELP数据集时的准确率和F1分数明显低于使用IMDB数据集时的准确率和F1分数,尤其是F1分数显著较低。这种较低的F1分数归因于召回率低,尽管精确度非常高。考虑到表3中的结果,似乎YELP情感词典可能存在负面偏见。这种负面偏见可能会降低召回率,同时导致高精确度,这与实验结果一致。因此,去除停用词在减少偏见方面是有效的。然而,由于NLTK库中的固定停用词具有通用性,特定于某个领域的频繁出现的单词可能不会包含在这组固定停用词中。使用SentencePiece分词器时,在IMDB数据集中的‘film’和‘movie’以及在YELP数据集中的‘place’和‘food’等代表领域特异性的单词被归类为统计停用词。出于类似的原因,去除统计停用词被发现可以进一步提高准确率和F1分数。此外,如图5和图6所示,强制对称分布也可以产生类似的效果。然而,去除统计停用词和强制对称分布的联合效果似乎并没有进一步提升性能。由于这两种方法都解决了由偏见引起的性能下降问题,因此预计同时应用这两种方法的性能提升是有限的。另外,值得注意的是,基于Transformer-XL分词器的情感词典的性能略优于基于其他子词级分词器的性能,而无论使用哪种分词器,性能都相对一致。尽管子词级别的词汇量通常比词级别少,但词级别的停用词偏见可能会传播到多个子词上,从而导致相对较多的噪声子词。

表3. 停用词的情感值。
| IMDB | YELP |
|-------|------|
| most | 0.238 |
| has | 0.004 |
| we | 0.028 |
| too | -0.002 |
| will | 0.271 |
| because | -0.664 |
| him | 0.263 |
| don | -0.541 |
| other | 0.129 |
| do | -0.518 |
| because | -0.203 |
| he | -1.007 |
| no | -0.572 |
| no | -1.102 |
| do | -0.248 |
| she | -1.276 |
| been | -0.199 |
| didn | -0.911 |
| them | -0.682 |
| other | -0.350 |

由于领域特定的停用词会影响情感分析的性能,领域不匹配也是自然语言处理中性能下降的另一个原因,无论任务类型如何。进行了另一组实验来评估所提出的方法在存在领域不匹配的情况下对情感分析性能的影响。图7和图8分别展示了使用IMDB情感词典分析YELP测试数据时的准确率和F1分数。有几个值得注意的观察结果。正如预期的那样,使用IMDB情感词典时所能达到的最佳性能略低于使用YELP情感词典时的性能,而这种下降在使用Transformer-XL分词器时更为明显。这一发现表明,子词级情感词典可能比词级情感词典对领域不匹配具有更强的鲁棒性。据推测,由于词典包含了更细粒度的词汇,它由更多通用的子词组成,从而可能减少因领域不匹配造成的性能下降。然而,无论使用哪种分词器,应用所提出的方法都会略微降低性能。随着额外方法的应用,情感词典变得更加针对特定领域,可能会引入该领域的偏见。然而,使用YELP情感词典时观察到了相反的结果,如图9和图10所示。当情感词典表现出显著偏见时,减少这种偏见的效果比领域不匹配带来的噪声更为显著。尽管由于领域不匹配导致轻微的性能下降,但显然所提出的方法有助于提高情感词典的质量。

为了全面评估情感词典在不同领域的性能,使用了与IMDB和YELP数据集都无关的Sentiment140测试数据作为第三数据集。如图11和图12所示,使用IMDB情感词典时的性能特征与使用IMDB情感词典分析YELP测试数据时观察到的性能特征相似。鉴于IMDB情感词典表现出最小的偏见,领域特定方法由于引入的偏见而导致性能略有下降。值得注意的是,基于SentencePiece分词器的情感词典的性能略优于Transformer-XL分词器,这表明选择合适的分词器可以提高对领域不匹配的鲁棒性。同样,使用YELP情感词典时的性能特征,如图13和图14所示,与使用YELP情感词典分析IMDB测试数据时观察到的性能特征非常相似。鉴于减少YELP情感词典中的偏见可以显著提高性能,所提出的方法在应用于不同领域的测试数据时成功提升了性能。然而,去除统计停用词的性能略优于强制对称分布,而同时应用这两种方法并不会因为过拟合特定领域而优于单独应用任一种方法。使用Sentiment140测试数据可以更客观地比较使用不同训练数据设计的情感词典。对于这两种词典,仅去除统计停用词(表2中的测试案例3)在所有测试案例中都能获得接近最优的性能。当训练数据的偏见适中时,仅去除统计停用词就足够了,而强制对称分布则可能导致过度正则化。有趣的是,在这种情况下,YELP情感词典在所有考虑的分词器中都表现出比IMDB情感词典更好的准确率和F1分数。此外,Transformer-XL的性能略优于子词级分词器,这与图9和图10中的发现一致。

最后,我们将我们提出的方法与VADER [11] 和一种最先进的(SOTA)深度学习方法进行了比较,如表4所示。XLNet [3] 提出了一种通用的自回归预训练方法,通过捕获双向上下文来提高语言理解能力,而不依赖于掩码标记。LlamBERT [36] 利用了LLM和BERT模型的优势进行文本分类。RoBERTa-LSTM [37] 也采用了混合架构,结合了RoBERTa的嵌入和LSTM来增强情感分析性能。VADER(Valence Aware Dictionary and Sentiment Reasoner)是一种基于规则的方法,用于分析社交媒体情感,利用10位人类注释员给出的评分来计算情感分数。为了评估VADER的性能,我们使用了Python vaderSentiment库中的SentimentIntensityAnalyzer,并在预处理过程中进行了停用词去除。将我们使用来自不同领域词典的方法与VADER进行比较是合理的,因为这两种方法都依赖于来自不同来源的词典。我们的方法在仅去除统计停用词时表现出最佳性能。具体来说,我们的方法在准确率上分别比VADER高出12.1%和21.6%,适用于IMDB和Yelp测试数据,并且在F1分数上也有所提升。然而,使用IMDB情感词典的方法在Sentiment140测试数据上的表现略逊一筹,而使用YELP情感词典的方法在Sentiment140测试数据上的表现与VADER相当。词汇量的重叠程度越高,跨领域的鲁棒性就越强。子词能够捕捉到跨领域共有的形态学特征和词根,这解释了该方法在多个领域中的稳健表现。

表4. 与传统方法和最先进方法的性能比较。

| 情感词典 | 测试数据集 | 提出方法 | VADER | SOTA |
|---------|---------|--------|------|------|
| IMDB | 0.834 | 0.694 | 0.967 | [37] |
| YELP | 0.776 | 0.694 | 0.967 | [37] |
| IMDB/YELP | 0.761 | 0.712 | 0.986 | [3] |
| IMDB/Sentiment140 | 0.688 | 0.780 | 0.898 | [38] |
| YELP/Sentiment140 | 0.782 | 0.780 | 0.898 | [38] |

总体而言,我们提出的方法在大多数情况下都优于现有方法,尽管在某些领域中的表现可能会下降,这突显了未来研究需要提高其对领域依赖性的鲁棒性。尽管与最先进方法的性能相比略有逊色,但该方法具有更低的复杂性,使其成为情感分析任务的实用选择。与现有结果的比较表明,我们的方法在性能和复杂性之间取得了平衡。总之,我们提出的方法有效地减轻了情感词典中的偏见。当情感词典的偏见较小时,它们的性能可能会略有下降,但当偏见明显时,性能会有显著提升。选择用于构建情感词典的分词器会影响性能,基于SentencePiece的YELP情感词典在不同领域的句子中提供了更好的结果,而基于Transformer-XL的IMDB情感词典则整体表现更好。这一观察结果表明,选择合适的分词器可以进一步增强不同领域的情感分析能力。这两种提出的方法都能有效消除偏见,尽管同时应用这两种方法可能带来的收益有限。考虑到所有结果,去除统计停用词似乎比强制对称分布更有益,因为它有可能提高性能,并且在情感词典的偏见较小时降低性能下降的风险。

为了展示所提出方法的有效性,我们考虑了两个被VADER错误分类的负面评论。第一个是YELP评论:“这个地方并不是很好。Shogun Express的鸡照烧饭更好吃。真正让我不满意的是鸡肉,它非常硬且嚼起来很费劲,而且那是白肉。他们的碗大约5美元,我挺喜欢的,但饭并没有装满。总之,我来这里是因为Shogun关门了,而且据我所知Scottsdale没有其他卖饭的地方。”使用IMDB情感词典时,这个评论被正确分类为负面。第二个是IMDB评论:“我真的很努力看了这部电影,但它对我来说并不合适。动作场面很乏味,表演也非常糟糕,有些角色太刻板了,甚至一点都不好笑。Pam Grier尽力了,但当没有什么可以发挥的时候,即使她的才华也无法挽救这部电影的失败。”使用Yelp情感词典时,这个评论被正确识别为强烈负面。在这两种情况下,统计停用词去除(α=0.1)抑制了高频且类别平衡的子词,如“really”、“like”、“way”、“even”和“try”,这些词几乎没有区分能力。对称分布的强制应用进一步中和了那些由于语料库不平衡而获得轻微正面评分的弱偏斜但具有误导性上下文的子词,如“white”、“top”、“scenes”和“action”。通过联合消除这些噪声源,这两个无监督正则化步骤确保了主导的负面信号(如“bothered”、“chewy”、“poor”、“disaster”、“bad”和“Eh”)得以凸显。这两个例子表明,这两个无监督正则化步骤有效地消除了来自表面积极词汇的误报,使得在高度讽刺和让步的文本中实现准确的情感检测成为可能,而这在VADER和其他基于词典的方法中是难以实现的。

评估结果总结在表5中。当词典和测试领域匹配时,单独或结合固定停用词去除统计停用词可以始终获得最高的准确率和F1分数,而SentencePiece和Transformer-XL作为最佳分词器的选择则取决于具体领域。在跨领域和领域外设置中,统计停用词去除对于鲁棒性至关重要,而对称正则化主要在训练词典存在强偏见时有所帮助,但在偏见已经较小时则几乎没有或带来负面影响。总体而言,结果证实,自动识别和抑制接近中性的子词是提高性能和可转移性的关键因素,而强制对称性只提供了有限的、有时甚至是适得其反的正则化效果。

5. 评估结果总结

| 词典 | 测试数据 | 最佳分词器 | 最佳配置 | 统计量 |
|-------|---------|---------|--------|--------|
| IMDB | | Transformer-XL | case 2,5 | 准确率 |
| IMDB | | Transformer-XL | case 2 | F1 |
| YELP | | SentencePiece | Case 4 | 准确率 |
| IMDB/YELP | | Transformer-XL | case 3,5,7 | 准确率 |
| IMDB/YELP | | Transformer-XL | case 3,7 | F1 |
| IMDB/Sentiment140 | | SentencePiece | Case 1,3 | 准确率 |
| YELP/Sentiment140 | | Transformer-XL | case 5 | 准确率 |

5. 结论

在本文中,情感词典和情感分析被构建为一个朴素贝叶斯问题。提出了两种方法来改进情感词典的质量,从而进一步提升基于词典的情感分析。这些方法显著提高了性能,特别是在情感词典由于构建方式而存在内在偏见的情况下,无论它应用于同一领域还是不同领域的句子。尽管在不同目标领域中分词器的选择会导致轻微的性能差异,但使用所提出方法构建的情感词典在许多情况下都优于传统方法,尽管它们在某些方面略逊于基于深度学习的最新方法。预计所提出的方法可以轻松集成到低复杂度的硬件环境中,并与任何大型语言模型(LLM)结合使用,以提供额外的上下文信息。虽然该方法最初是为英语情感分析开发的,但可以使用相同的程序扩展到其他语言。然而,仍有一些问题需要通过进一步的研究来解决。尽管在这些多样化的数据集中观察到了一致的趋势,但需要在更广泛的领域和语言上进行全面评估,包括多语言和资源匮乏的环境。与其他基于词典的方法类似,所提出的方法在领域不匹配时也会出现性能下降。这表明需要额外的方法来增强基于词典的情感分析的泛化能力。机器学习模型通常采用集成方法来减轻过拟合,因此以精细的方式使用来自不同领域的数据集训练的多个词典可能会提高泛化能力。机器学习中的提升方法也可以在这个方向上进行扩展。另一个限制在于那些仅依赖组件统计特性的方法,而没有明确考虑句子中元素的顺序。因此,一种能够在代数层面有效结合结构信息的方法,同时避免复杂的参数化并保持非参数性质,将具有很高的价值。在基于词典的情感分析中,模型的敏感性更多地取决于分词器,而不是其词汇量或粒度,因为分词器决定了文本被分割成词元的分辨率。因此,为基于词典的情感模型设计一个优化的分词器代表了未来研究的一个有趣方向。

CRediT作者贡献声明:
Janghoon Yang:写作——审阅与编辑、原始草稿撰写、可视化、验证、监督、软件开发、资源管理、项目管理、方法论研究、资金获取、形式分析、数据整理、概念化。
相关新闻
生物通微信公众号
微信
新浪微博

热点排行

    今日动态 | 人才市场 | 新技术专栏 | 中国科学人 | 云展台 | BioHot | 云讲堂直播 | 会展中心 | 特价专栏 | 技术快讯 | 免费试用

    版权所有 生物通

    Copyright© eBiotrade.com, All Rights Reserved

    联系信箱:

    粤ICP备09063491号