在文本分析中,其中有一类比较重要的应用就是将文本进行分类。这一类应用非常广泛,比如:情感分析[(正面、负面、中性)评价、(快乐、愤怒、痛苦)情感]、文章分类[汽车、时政、科技]等。
这里总结一些,防止遗忘。
分词工具
在Java平台上,一般可以使用Word分词,可以参考:https://my.oschina.net/apdplat/blog/228619,Github:https://github.com/ysc/word 。WORD分词的作者,比较了各类主流分词软件的各种性能,可以参考:https://github.com/ysc/cws_evaluation 。更详细的说明,可以参考作者的Github主页:https://github.com/ysc 。
在Python平台上,最著名的莫过于Jieba分词包啦,没听过的可以自行百度。
词向量
Spark环境
使用Spark进行分类的一般步骤:
- 输入样本,进行分词;
- 输入分词之后的词组:一行表示一个输入样本,其中各个分词使用空格、逗号、分号等分割;
- 使用HashingTF进行转换为向量;
- 根据标签数据,进行训练;
- 输入未分类样本,进行标签预测;
- 计算准确率。
DL4J环境
使用DeepLearning4J训练文本分类,需要事先计算词向量:
- 样本分词;
- 计算词向量,并保存为向量文件;
- 根据LSTM等网络模型,输入词向量,进行训练;
- 得到训练结果,输出为文件。
注
为了得到更好的效果涉及文本方面的模型,一般需要进行:
1. 自定义词库:行业词库,实体词,名次,极性词库,情感词库等;
2. 进行其它的相关模型,比如word2vec、关键词提取等辅助模型,提高精确度;
3. 根据不同的语境、环境,进行特殊的处理,一般来说比较容易实现的就是指定一些”规则”。
本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!