大新闻媒体数据的情感分析
立即解锁
发布时间: 2025-08-30 02:04:37 阅读量: 75 订阅数: 15 

# 大新闻媒体数据的情感分析
## 1. 引言
情感分析(又称意见挖掘)旨在发现公众对其他实体的意见和情感。近年来,随着网络上公众意见、评论和留言数量的激增,通过互联网获取这些数据的成本却在降低。因此,情感分析不仅成为了一个活跃的研究领域,还被众多组织和企业广泛应用以获取经济利益。
传统的意见挖掘方法通常将任务分解为一系列子任务,先提取事实或情感项目,然后将情感分析任务视为监督学习问题(如文本分类)或无监督学习问题。为了提高意见挖掘系统的性能,通常会使用辅助意见词典和一系列手动编码的规则。
在基于传统机器学习的意见挖掘问题中,构建特征向量是核心。不过,传统的词嵌入方法(如 GloVe、CBOW 和 Skim - gram)在处理某些自然语言处理任务(如情感分析)时可能存在问题,因此需要特定任务的词嵌入或微调预定义的词嵌入技术。
## 2. 背景知识
### 2.1 文本文档分类
#### 2.1.1 经典文档表示
在介绍文本文档分类算法之前,先介绍两种常见的经典文档表示方法:向量空间模型和独热表示。
- **向量空间模型**:从包含 N 个文档的文档集合中提取所有术语,生成一个词汇集 v∈RV,每个文档由一个 V 维向量表示。文档集合 D∈RV×N,其中元素 dij 的值由词频/逆文档频率(TF/IDF)技术确定,即 dij = tfij/idfi,tfij 是术语 i 在文档 j 中出现的次数,idfi 是包含术语 i 的文档在 D 中的数量。两个文档 di 和 dj 的相似度可以通过两个向量夹角的余弦值来估计。
- **布尔表示**:只检查术语 i 是否出现在文档 dj 中,如果出现则 dij = 1,否则为 0。
- **独热表示**:将文档中的每个术语视为一个 V 维向量,向量中只有一个元素的值为 1,其余元素的值为 0。
这些表示方法都属于词袋模型(BOW),不考虑单词的位置,在实际应用中,这种假设并非总是成立,在高级算法(如神经网络词嵌入)中不应被忽视。
#### 2.1.2 点互信息 - 一种无监督方法
点互信息(PMI)或信息增益(IG)通过计算 P(x, y) 和 P(x)P(y) 的对数比,来衡量两个事件 x 和 y 共同出现的频率与它们独立出现时的频率的关系,公式如下:
\[PMI(x, y)=\frac{P(x, y)}{P(x)P(y)}\]
为了评估术语 t 与类别 c 的关联程度,可以计算它们的 PMI。如果 PMI 值为 0,则表示 t 与 c 没有关联;值越大,关联越强。
\[PMI(t, c)=\frac{P(t, c)}{P(t)P(c)}\]
#### 2.1.3 朴素贝叶斯
给定一个文档 d,朴素贝叶斯分类器的目标是找到一个类别 c∈C,使得 P(c|d) 最大。根据贝叶斯规则:
\[P(c|d)=\frac{P(c)P(d|c)}{P(d)}\approx P(c)P(d|c)\]
为了估计 P(d|c),朴素贝叶斯假设文档中的所有特征(或单词)在给定文档类别 d 的条件下相互独立:
\[P(c|d)\approx P(c)P(d|c)=P(c)\prod_{i = 1}^{m}P(f_i|c)^{n_i(d)}\]
其中,ni(d) 是特征 fi 在文档 d 中出现的频率,P(fi|c) 是术语 fi 在类别 c 的文档中出现的条件概率,m 是文档集合中词汇表的大小。根据估计的 P(c|d),将 c* = arg maxcP(c | d) 分配给文档 d,或者使用多数投票策略选择类别 c*。
#### 2.1.4 最大熵
最大熵方法用于估计 P(c|d),定义如下:
\[P_{ME}(c|d)=\frac{1}{Z(d)}\exp\left(\sum_{i}\gamma_{i,c}F_{i,c}(d, c)\right)\]
其中,γi,c 是待评估的特征加权参数,值越高表示 Fi,c 对类别 c 越重要,Z(d) 是归一化函数,通过以下公式计算:
\[Z(d)=\sum_{c}\exp\left(\sum_{i}\gamma_{i}F_{i,c}(d, c)\right)\]
Fi,c 是特征 fi 和类别 c 的函数,定义为:
\[F_{i,c}(d, c')=\begin{cases}1, & n_i(d)>0\text{ 且 }c' = c\\0, & \text{否则}\end{cases}\]
由于最大熵方法不做条件独立性假设,当术语依赖关系起重要作用时,它可能优于朴素贝叶斯模型。
#### 2.1.5 支持向量机(SVMs)
支持向量机是另一种广泛用于文本分类的技术。设 D = {xi,yi|i = 1, 2, ... n};yi∈{ - 1, +1};xi∈X⊆Rd 是一个训练数据集,xi∈Rd,yi 为正(+1)或负( - 1)。对于线性支持向量机,训练样本可以由超平面 <w·x> + b = 0 分隔,其中 w 是超平面的法向量,b 是偏置。
SVM 的目标是找到一个超平面 H,使正例和负例到 H 的最短距离之和 d+ + d- 最大。可以证明,最大化 H+ 和 H- 之间的间隔等于最小化 ||wd||/2。优化问题可以通过拉格朗日乘数法解决,最终的超平面如下:
\[\langle\hat{w}\cdot x\rangle+\hat{b}=\sum_{i\in sv}y_i\alpha_i\langle x_i\cdot x\rangle+\hat{b}=0\]
对于一个未见过的测试向量 z,训练好的 SVM 将根据以下符号估计将其分配到一个类别:
\[\text{sign}(\langle\hat{w}\cdot z\rangle+\hat{b})=\text{sign}\left(\sum_{i\in sv}y_i\alpha_i\langle x_i\cdot z\rangle+\hat{b}\right)\]
符号大于 0 表示 z 属于正类,否则属于负类。
### 2.2 神经网络
深度神经网络(DNN)是深度学习(DL)的一个实例,是一种包含大量神经元、连续层和链接处理器的人工神经网络。下面介绍一些基本的神经网络知识。
####
0
0
复制全文
相关推荐










