我寫了一個70行左右的python小程序,用來計算文件的相似性。
材料是88篇論文文檔,用到了gensim包。
程式的流程是預處理文件(刪除不必要的符號,分詞等),計算文件的tfidf值,建立88篇論文的tfidf模型以及模型索引。到這裡程式運行都是正常的,但是在使用索引的時候,報錯:
請問這是什麼原因引起的呢?謝謝~
以下是部分執行沒有問題的原始碼:
#分词:
texts = [[word for word in document.split()]for document in documents]
#利用所有文档,创建词典
dictionary = corpora.Dictionary(texts)
#创建语料
corpus = [dictionary.doc2bow(text) for text in texts]
#利用这些语料,创建tfidf模型
tfidf_model = models.TfidfModel(corpus)
#计算每个文档的tfidf
tfidfs = tfidf_model[corpus]
#创建tfidf的索引
index = similarities.SparseMatrixSimilarity(tfidfs,num_features=88075)
執行這個程式碼時出現了問題:
#创建目标文档的语料
content = 'A student of music needs as long and as arduous a training to become a performer as a medical student needs to become a doctor'
content = content.lower().split()
test = dictionary.doc2bow(content)
#计算目标文档的tfidf
test_tfidf = tfidf_model[test]
sims = index[test_tfidf]#**就是这一句出现了问题!**
ringa_lee2017-05-18 10:49:38
你的python版本?目前 gensim
的版本?是否和官网测试过的稳定版一致?还有,建议使用类Unix系统,gensim基于 NumPy
和 Scipy
,這兩者在win上都不好安裝吧,安裝好了也看不見得不會出問題
曾经蜡笔没有小新2017-05-18 10:49:38
這種錯誤也有可能是Windows作業系統的鍋,你把程式碼複製到Google一下會發現很多解決方案,像是這個: