本文的内容主要来自于Quora上的一个问题,这里简单的做一下总结,感兴趣的可查看原帖:
https://www.quora.com/What-is-the-best-feature-selection-method-on-text-mining
<https://www.quora.com/What-is-the-best-feature-selection-method-on-text-mining>
为了使用机器学习方法处理文本数据,需要找到适合的文本表示形式,对于传统机器学习方法而言,常用的一种表示方法是将文档转换为文档-词项矩阵(document
term matrix)。具体就是将多篇文档转换为数据帧(dataframe),其中:
每个行标签代表一个文档(document),相当于一个实例或一个样本。
每个列标签代表一个词项(term),相当于属性或特征,每个单元格中的数据也就相当于特征值。
因此,如果选择文档-词项矩阵来表示文本数据,那么文本特征提取所要解决的主要问题就有以下两个:
1、提取哪些词项??即提取哪些特征??
2、选择哪种类型的特征值??
一 提取哪些词项(特征)?
根据待解决任务的不同,可以考虑的方法有以下几种:
* 每个词都作为一个特征,可以当作一个baseline
* 词干化(或者称为规范化,例如kick, kicked, kicking - 规范化为’kick’)
* 去停词,去掉一些分类能力差的词(例如a,is)
* 可以对一些文本打标签,例如four 可以被表示成 [four, numeric] ,以此表示这是一 类特殊形式的词语。
* 一个词项不一定是一个单词,也可以是多个(bi-gram,tri-grams)
* 可以同时进行一些语法/句法的处理,例如对词性进行标注
* 命名实体可以进行标注
二 选择哪种类型的特征值??
常见的有:
- 词频
- tf-idf
热门工具 换一换