如何解决Gensim LSI方法show_topics返回的概率为何为负? 2
通过show_topics方法返回的某些值具有累赘性,例如-0.000“बुद्ध” -0.000 *“जन्म”'-0.000“युन” -0.000“स्थली”
如文件所述
show_topics(num_topics = -1,num_words = 10,log = False,formatted = True)
返回num_topics最重要的主题(默认情况下全部返回)。对于每个主题,请显示num_words个最重要的单词(默认为10个单词)。
主题以列表形式返回-如果格式为True,则为字符串列表,如果为False,则为(单词,概率)2元组的列表。
如果log为True,则将此结果也输出到log。
http://man.hubwiz.com/docset/gensim.docset/Contents/Resources/Documents/radimrehurek.com/gensim/models/lsimodel.html
corpus = ['लुंबिनी भगवान बुद्ध जन्म स्थली नेपाल स्थित युन','किंगडम ऑफ़ बेल्जियम','उत्तरपश्चिमी यूरोप दे']
def preprocessing(corpus):
for document in corpus:
doc = strip_short(document,3)
doc = strip_punctuation(doc)
yield word_tokenize(doc)
texts = preprocessing(corpus)
dictionary = corpora.Dictionary(texts)
dictionary.filter_extremes(no_below=1,keep_n=25000)
doc_term_matrix = [dictionary.doc2bow(tokens) for tokens in preprocessing(corpus)]
tfidf = models.TfidfModel(doc_term_matrix)
corpus_tfidf = tfidf[doc_term_matrix]
lsi = models.LsiModel(corpus_tfidf,id2word=dictionary)
pprint(lsi.show_topics(num_topics=4,num_words=10))
[(0,'0.707*"उत्तरपश्चिमी" + 0.707*"यूरोप" + -0.000*"बुद्ध" + -0.000*"जन्म" + '
'0.000*"बेल्जियम" + 0.000*"किंगडम" + 0.000*"नेपाल" + 0.000*"ऑफ़" + '
'-0.000*"युन" + -0.000*"स्थली"'),(1,'0.577*"किंगडम" + 0.577*"बेल्जियम" + 0.577*"ऑफ़" + -0.000*"जन्म" + '
'-0.000*"बुद्ध" + -0.000*"भगवान" + -0.000*"स्थित" + -0.000*"लुंबिनी" + '
'-0.000*"उत्तरपश्चिमी" + -0.000*"यूरोप"'),(2,'0.354*"जन्म" + 0.354*"भगवान" + 0.354*"स्थित" + 0.354*"स्थली" + 0.354*"युन" '
'+ 0.354*"बुद्ध" + 0.354*"लुंबिनी" + 0.354*"नेपाल" + 0.000*"उत्तरपश्चिमी" + '
'0.000*"यूरोप"')]
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。