介绍
本文主要介绍自然语言处理中的特征提取。文档数据是不可计算的,必须将其转换为数值数据,例如向量空间模型。该转换任务通常称为文档数据的特征提取。
特征提取主要有两种方法:Bag-of-Words和词嵌入法。它们都是常用的,并且有不同的方法。我将解释这两者以及它们之间的区别。
Bag of Words with TF-IDF
Bag-of-Words with TF-IDF是自然语言处理中的传统且简单的特征提取方法。Bag-of-Words是文本数据的“表示模型”,TF-IDF是用于对文档中的单词的重要性进行评分的“计算方法”。
Bag of Words
Bag of Words是文档数据的表示模型,它简单地计算单词在文档中出现的次数。Bag-of-Words通常通过权衡特殊单词和相关术语来用于聚类,分类和主题建模。以下是Bag-of-Words转换的流程。
该过程直观易懂。第一步是标记化,将句子转换为标记。第二步是创建字典,它删除重复单词并制作单词集(称为字典或词汇表)。最后一步是计算每个单词的出现次数并使其成为Bag-of-Words模型。正如你所看到的,“likes”和“movies”显示2,因为它们在样本句中出现了两次。
Bag-of-Words with python
这里展示了python的Bag-of-Words示例代码。Scikit-learn是最受欢迎的机器学习库之一,并提供用于特征提取的API。
from sklearn.feature_extraction.text import CountVectorizer# Sample sentences.sentences = [ "This is a sample sentence