NLP-Task03:基于机器学习的文本分类

1.Bag of Words/Count Vectors

每个文档的字/词可以使用其出现次数来进行表示。

from sklearn.feature_extraction.text import CountVectorizer
corpus = [
    'This is the first document.',
    'This document is the second document.',
    'And this is the third one.',
    'Is this the first document?',
]
vectorizer = CountVectorizer()
vectorizer.fit_transform(corpus).toarray()

2.N-gram

在Count Vectors上加入了相邻单词组合成为新的单词,并进行计数。

3.TF-IDF

TF-IDF 分数由两部分组成:

  • 第一部分是词语频率(Term Frequency)。
  • 第二部分是逆文档频率(Inverse Document Frequency)。

其中计算语料库中文档总数除以含有该词语的文档数量,然后再取对数就是逆文档频率。

tfidf = TfidfVectorizer(ngram_range=(1,3), max_features=3000)
train_test = tfidf.fit_transform(train_df['text'])

你可能感兴趣的:(NLP-Task03:基于机器学习的文本分类)