文本预处理流水线:
Python的NLTK库介绍和使用
NLTK:
-
官网地址:http://www.nltk.org/
-
Python上注明的自然语言处理库,具有如下优点:
-
自带语料库,词性分类库
-
自带分类,分词等功能
-
强大的社区支持
-
还有N多的简单版wrapper
NLTK实现词干的抽提(stemming)
- from nltk.stem.porter import PorterStemmer
- from nltk.stem.lancaster import LancasterStemmer
- from nltk.stem import SnonballStemmer
NLTK实现 Lemma:还原到单词最初的形式
from nltk.stem import WordNetLemmatizer
wordnet_lemmatizer = WordNetLemmatizer()
wordnet_lemmatizer.lemmatize('dogs')
更好地实现Lemma
没有POS Tag,默认时NN(名词)
wordnet_lemmatizer.lemmatize(‘are’)
wordnet_lemmatizer.Lemmatize(‘is’,pos=v)
TF-IDF
TF:Term Frequencey,衡量一个term在文档中出现得多频繁
TF(t)=(t出现在文档中的次数)/(文档中的term总数)
IDF:inverse Document Frequency,衡量一个term由多重要。
有些词出现的很多,但没啥作用,比如“is”,‘and’,‘the’,之类的。为了平衡,我们把罕见词的重要性(weight)提高,把常见词的重要性降低。
IDF=In(文档总数/含有t的文档总数)
TF-IDF=TF*IDF