经过遍历了一下最近八年的自然语言处理的项目,比赛,算法。初步了解了一下流程之后,最后制定出来了一个大致的步骤。
以下是关于NLP的基本步骤
- 数据预处理
- 中文分词
—— (方法)基于词典 基于规则 基于统计 基于字标注 基于人工智能
——(工具)哈工大资料,东北大学资料,中科院,波森,jieba,ansj,HanLP - 特征提取
—— (方法)根据词性,单词组合,位置
—— (方式)词是否出现,词的次数 - 特征选择
—— (方法)去停词,卡方,互信息
—— (工具)word2vec, doc2vec - 分类模型
—— (NB-SVM, LSTM, 隐马尔科夫, 贝叶斯) - 识别结果
其实可以把马尔科夫链看作是贝叶斯是他的延续
之后再github上面找到了一个开源的代码直接可以进行感情分析
而且作者真的巨良心,里面所有的代码没封装所以直接也可以根据他写的代码做一下二次开发,像我这种代码极其不规范的人来说,真的是一个很好的学习模板
下述是github上面readme的相关关于这个代码的方法总结
1.数据预处理
2.中文分析(Character-Based Generative Model)论文出处
3.特征提取
词性标注(TnT 3-gram 隐马)
4.特征选择
朴素贝叶斯
我们需要做的是模型改进比如中间可以用word2vec进行特征提取,在特征选择是也可以改成SVM和lstm进行相关的测评。其实最后还随便套了类似决策树的模型进行比较。
意义不大,随着我之后要考研,其实在算法研究上面没有得到有效的弥补
最后确定的方案如下:
分词——jieba,NLTK
特征提取——word2vec
Model ——
1.lstm
2.Nb-SVM
3.朴素贝叶斯(snownlp)
4.最大熵
附录:
在MIT自然语言课上截图的步骤:
文本—标志器—语法分析—语义理解—处理
以下是做这个项目我所查阅的相关资料:
1.利用python实现酒店评论的中文情感分析
2.ADER(Valence Aware Dictionary and sEntiment Reasoner)
3.一个很详细分析的情感分析的博客
4.情感极性分析repository1:基于情感词典、k-NN、Bayes、最大熵、SVM的情感极性分析。
5.使用深度学习方法对IMDB电影评价做情感分析,使用的方法分别为:MLP、BiRNN、BiGRU+Attention Model
6.[Algorithm & NLP] 文本深度表示模型—word2vec&doc2vec词向量模型
7.jieba分析资料
8.NLP之淘宝商品评论情感分析
9.知乎情感分析
10.机器学习-基于LSTM的情感分析