# SentimentalPerson **Repository Path**: hdt3213/SentimentalPerson ## Basic Information - **Project Name**: SentimentalPerson - **Description**: Chinese Sentiment Analyse powered by python, word2vec, - **Primary Language**: Python - **License**: GPL-3.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2016-09-01 - **Last Updated**: 2022-06-21 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README 基于Python3的中文情感分析算法示例, 使用结巴分词(jieba>=0.38)进行中文分词, 部分模型需要依赖gensim. 使用data_source.FileSource将文件模拟为列表, 每个元素代表原文件中的一行. 一共做了word2vec, doc2vec, 词典和朴素贝叶斯四个算法. word2vec是做的第一个思路, 分词, 过滤停用词, 提取词向量, 朴素贝叶斯分类. 设计得很好, 然而发现word2vec会使特征不明显, 而且一个词一个特征向量使得贝叶斯分类器实际上是在对单词而非句子进行分类.最终, 该思路成了效果最差的一个. doc2vec是对word2vec的自然改进, 直接采用提取句子特征向量, LR分类的思路. 解决了对单词分类的问题, 但是doc2vec自身的问题更多, 严重依赖上下文, 没有在训练集中出现过的句子是没法提取特征的, 偏偏又不支持Resume Trainin(不知道怎么翻译了)所以是没办法即时使用的.仅从准确率来看,这个思路仅优于word2vec. 词典法简单粗暴, 但是取得了很好的效果. 分词, 过滤停用词, 分析句子成分, 分析情感倾向和程度.词典法好得超乎我意料, 位居第二. 目前我还不能建立可以分析句子结构的模型, 仅能把句子理解为单词的有序组合.分词, 将`word_list`直接交给朴素贝叶斯分类器分类. 实际上,`word_list`是一个用稀疏矩阵形式表示的特征, 真正特征向量的长度为训练集中词汇表的长度. 贝叶斯分类器有倾向于积极情感的偏差, 只有认为`p > 0.65`的样本为积极情感才能排除大多数中性情感的干扰.就目前而言这是效果最好的算法.