tf-idfにより得られた結果から重要語を表示したい
下記のコードによりtf-idf計算自体は(おそらく)出来ているとは思うのですが、この先のtf-idf値の高い単語を表示する方法が分かりません。
どなたかご教授いただけると幸いです。
ソースコード
from sklearn.feature_extraction.text import TfidfVectorizer
from sklearn.feature_extraction.text import CountVectorizer
from sklearn.decomposition import TruncatedSVD
from sklearn.preprocessing import Normalizer
def tf(doc):
vectorizer = CountVectorizer(token_pattern=u'(?u)\\b\\w+\\b')
features = vectorizer.fit_transform(doc)
terms = vectorizer.get_feature_names()
return features, terms
def tfidf(docs_list):
vectorizer = TfidfVectorizer(min_df=1, max_df=50, token_pattern=u'(?u)\\b\\w+\\b')
features = vectorizer.fit_transform(docs_list)
terms = vectorizer.get_feature_names()
return features, terms
def reduction(x, dim=10):
'''
dimensionality reduction using LSA
'''
lsa = TruncatedSVD()
x = lsa.fit_transform(x)
x = Normalizer(copy=False).fit_transform(x)
return x
if __name__ == '__main__':
docs_list = [clu1,clu2,clu3,clu4,clu5]
docs_list = [' '.join(d) for d in docs_list]
features, terms = tfidf(docs_list)
features, terms = tfidf(docs_list)
features = reduction(features, dim=2)