在文本分析中,其中有一类比较重要的应用就是将文本进行分类。这一类应用非常广泛,比如:情感分析[(正面、负面、中性)评价、(快乐、愤怒、痛苦)情感]、文章分类[汽车、时政、科技]等。

  这里总结一些,防止遗忘。

分词工具

  在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进行分类的一般步骤:

  1. 输入样本,进行分词;
  2. 输入分词之后的词组:一行表示一个输入样本,其中各个分词使用空格、逗号、分号等分割;
  3. 使用HashingTF进行转换为向量;
  4. 根据标签数据,进行训练;
  5. 输入未分类样本,进行标签预测;
  6. 计算准确率。

DL4J环境

  使用DeepLearning4J训练文本分类,需要事先计算词向量:

  1. 样本分词;
  2. 计算词向量,并保存为向量文件;
  3. 根据LSTM等网络模型,输入词向量,进行训练;
  4. 得到训练结果,输出为文件。

  为了得到更好的效果涉及文本方面的模型,一般需要进行:
1. 自定义词库:行业词库,实体词,名次,极性词库,情感词库等;
2. 进行其它的相关模型,比如word2vec、关键词提取等辅助模型,提高精确度;
3. 根据不同的语境、环境,进行特殊的处理,一般来说比较容易实现的就是指定一些”规则”。