情感分类做为文本挖掘里重要的一个课题,有着非常多的应用。情感分析可有狭义和广义之分,广义的情感分析可定义为输入任意文本,自动得出此文本的情感倾向。多用在对商品评论、微博等 UGC 信息的分析,得出大众/客户的正负声音、从声音正负比例维度了解产品/事物。狭义的情感分析可以扩展为口碑分析/观点挖掘,除了得出文本的情感倾向,这里需要细化到具体主体、属性、评价(Iphone 手机-屏幕/分辨率-高),以便决策者能根据 C 端客户声音改进生产, 真正的做到 C2B。
我们暂且讨论广义的情感,情感分析为文本语义分析里的一个子 task, 它的一些难点如下:
情感分析可以从数据源、行业、使用方法三个维度对情感分析进行深度了解。
1、数据源
情感分析对不同种类的数据源还是有区别的,可以粗分为 UGC 用户生成的文本、新闻资讯类编辑生成的,两种在情感的定义上是有些许差别的,两者也存在很多交集。
2、行业
类似的文本、特征, 在不同的行业领域会有不同的情感,如果通用的情感分析达不到效果,我们会对行业细分领域进行调优。
比如汽车行业, 油耗很高,塑料感很强是很负面的情感,通用的情感分析里因为样本无法做到大而全并反映正常分布,很容易只看到 xx 很高, xxx 很强这些特征(标注集告诉我们多数情况为正面),就会分错。
我们不可能找到一个包罗万象的标注集对情感进行高质量标注,所以对于细分行业, 如果需要快速看效果,可以测试通用情感,效果上可以对行业领域进行调优。
3、使用方法
百分点内部经历了规则、统计机器学习、深度机器学习 3 个阶段,大幅提高短文本情感分析的效果,在 COAE 测试集上(未见过的样本),F1 值达到 85%。
规则:简单的规则、正则能够在长文本中,通过看正负词的数量比例,得出文章正负。需要正负词库。
统计机器学习:能够解决规则需要正负词库,但是正负词库又很难找到大而全的问题。利用机器学习的方法,先找到对文本而非词语标注的集合,进行统计机器学习,得出模型去预测句子的正负情感。
深度机器学习(语义分析引擎所带的版本): 短文本无论是规则、统计机器学习的方法都很难将效果提升,因文本很短、如果标注集不够的话,统计机器学习也很难命中特征,很容易造成效果不好。并且文本越短,context 信息富含的信息量越大,不能只看 1\2 个词的特征来判别情感。
随着大数据时代的来临,深度机器学习也逐步成为人工智能领域里最热的研究课题, 已在图像识别、语音识别等领域取得突飞猛进的效果, NLP 领域取得的成果虽不及图像、语音, 但通过实践,我们已经看到深度学习+NLP 的威力。
深度学习跟统计机器学习最大的不同:
1、主要指神经网络模型、且网络层次很高
2、利用数据自动提取特征
当我们在实践中遇到短文本情感分析难题时, 将技术手段转向了深度学习,取得了不错的效果,其模型网络结构如下:
深度学习为什么能解决我们的问题?
1、深度学习网络的模糊能力 &离线训练的 Word2Vec 语义信息,使得我们标注的训练样本不必做到非常大(当然越大越好);
2、深度学习 CNN 卷积神经网络,使得我们能够关注到超过 2 个词的特征组合(能够看到连续 5 个词);
3、多 Channel 的 CNN 卷积神经网络,能够使底层 Word2Vec 的输入数据(Semantic Similarity not Sentiment Similarity)在情感训练集上微调,提高效果;
4、Word2Vec 能够通过离线训练,得到 distributed 词向量,内涵语义信息。(如:漂亮 &好看 String 层面完全不一样,但是语义很相似)
百分点也试用了如 LSTM 等网络结构、它们本质上都为通过网络结构从词 vector(语义信息)提取出句子 vector(语义信息),效果上相差无几。
评论