python tfidf值计算方法汇总

来源:互联网 发布:淘宝匿名评价id采集 编辑:程序博客网 时间:2024/04/19 16:47

1、sklearn包计算
1.1 transformer函数计算

from sklearn.feature_extraction.text import TfidfTransformerif __name__ == "__main__":    corpus=["我 来到 北京 清华大学",    "小明 硕士 毕业 与 中国 科学院",    "我 爱 北京 天安门"]    vectorizer=CountVectorizer()    transformer=TfidfTransformer()tfidf=transformer.fit_transform(vectorizer.fit_transform(corpus))    word=vectorizer.get_feature_names()    weight=tfidf.toarray()

1.2TfidfVectorizer函数计算

from sklearn.feature_extraction.text import TfidfVectorizercount_vec = TfidfVectorizer()  x_train = count_vec.fit_transform(sentences_train)  x_test  = count_vec.transform(sentences_test)  

TfidfVectorizer函数的输入为分词后的句子列表,而transformer函数需要先用CountVectorizer函数把句子列表变为词袋模型在转换为tfidf值

2、gensim包计算tfidf值

from gensim.models import TfidfModeldictionary=Dictionary(sentences) #为每个出现在语料库的词语分配一个独一无二的编号corpus = [dictionary.doc2bow(sen) for sen in self.sentences]tfidf=TfidfModel(corpus) corpus_tfidf=tfidf[corpus]
0 0
原创粉丝点击