文本向量化方法比較:tf-idf挑格、doc2bow沾歪、doc2vec、lsi挫望、lda

先放個(gè)代碼和結(jié)果狂窑,改天閑了總結(jié)。
用余弦距離計(jì)算相似度以判斷向量化效果
tf-idf泉哈、doc2bow稀疏,適合短文本
doc2vec效果時(shí)好時(shí)壞奕纫,偶然性大,不穩(wěn)
lsi若锁、lda效果好且較穩(wěn)斧吐,但lda計(jì)算量偏大

from gensim.models import doc2vec
from gensim import corpora,models
import jieba,os
from gensim.similarities.docsim import Similarity
raw_documents=[]
for root,p,files in os.walk('C:/Users/Administrator/Desktop/testdata/'):
    for file in files:
        f=open(root+file,encoding='utf8')
        s=f.read().replace(' ','').replace('\t','').replace('\r\n','').replace('\r','').replace('\n','')
        raw_documents.append(s)
        f.close()
print('data ok!')
corpora_documents = []
corpora_documents2=[]
for i, item_text in enumerate(raw_documents):
    words_list = list(jieba.cut(item_text))
    document = doc2vec.TaggedDocument(words=words_list, tags=[i])
    corpora_documents.append(words_list)
    corpora_documents2.append(document)
# 生成字典和向量語料
dictionary = corpora.Dictionary(corpora_documents)
corpus = [dictionary.doc2bow(text) for text in corpora_documents]
#sim模型
similarity = Similarity('-Similarity-index', corpus, num_features=10000)
#測試數(shù)據(jù)
test_data_1 = '周杰倫是個(gè)低調(diào)愛做慈善的好明星'
test_cut_raw_1 = list(jieba.cut(test_data_1))
#用sim計(jì)算相似度
'''test_corpus_1 = dictionary.doc2bow(test_cut_raw_1)
similarity.num_best = 5
print('——————————————sim———————————————')
print(similarity[test_corpus_1])  # 返回最相似的樣本材料,(index_of_document, similarity) tuples'''

#doc2vec計(jì)算相似度
model = doc2vec.Doc2Vec(size=89, min_count=1, iter=10)
model.build_vocab(corpora_documents2)
model.train(corpora_documents2,total_examples=model.corpus_count, epochs=model.iter)
print('——————————————doc2vec———————————————')
inferred_vector = model.infer_vector(test_cut_raw_1)
sims = model.docvecs.most_similar([inferred_vector], topn=5)
print(sims)

#轉(zhuǎn)化成tf-idf向量
tfidf_model=models.TfidfModel(corpus)
corpus_tfidf = [tfidf_model[doc] for doc in corpus]
#轉(zhuǎn)化成lsi向量
lsi= models.LsiModel(corpus_tfidf,id2word=dictionary,num_topics=50)
corpus_lsi = [lsi[doc] for doc in corpus]
similarity_lsi=Similarity('Similarity-Lsi-index', corpus_lsi, num_features=1600,num_best=5)
test_corpus_3 = dictionary.doc2bow(test_cut_raw_1)  # 2.轉(zhuǎn)換成bow向量
test_corpus_tfidf_3 = tfidf_model[test_corpus_3]  # 3.計(jì)算tfidf值
test_corpus_lsi_3 = lsi[test_corpus_tfidf_3]  # 4.計(jì)算lsi值
# lsi.add_documents(test_corpus_lsi_3) #更新LSI的值
print('——————————————lsi———————————————')
print(similarity_lsi[test_corpus_lsi_3])
#轉(zhuǎn)化成lda向量
lda= models.LdaModel(corpus_tfidf,id2word=dictionary,num_topics=50)
corpus_lda = [lda[doc] for doc in corpus]
similarity_lda=Similarity('Similarity-LDA-index', corpus_lda, num_features=1600,num_best=5)
test_corpus_lda_3 = lda[test_corpus_tfidf_3]  # 4.計(jì)算lda值
# lda.add_documents(test_corpus_lda_3) #更新Lda的值
print('——————————————lda———————————————')
print(similarity_lda[test_corpus_lda_3])
print(lsi)
print('——————————————向量———————————————')
print(lsi[corpus_tfidf[0]])
#print(lsi.print_topics())
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市洋只,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌识虚,老刑警劉巖担锤,帶你破解...
    沈念sama閱讀 219,039評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件肛循,死亡現(xiàn)場離奇詭異,居然都是意外死亡多糠,警方通過查閱死者的電腦和手機(jī)浩考,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,426評論 3 395
  • 文/潘曉璐 我一進(jìn)店門析孽,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人闷畸,你說我怎么就攤上這事∮悠校” “怎么了?”我有些...
    開封第一講書人閱讀 165,417評論 0 356
  • 文/不壞的土叔 我叫張陵赴精,是天一觀的道長蕾哟。 經(jīng)常有香客問我,道長谭确,這世上最難降的妖魔是什么票渠? 我笑而不...
    開封第一講書人閱讀 58,868評論 1 295
  • 正文 為了忘掉前任问顷,我火速辦了婚禮,結(jié)果婚禮上肠骆,老公的妹妹穿的比我還像新娘塞耕。我一直安慰自己,他們只是感情好荷科,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,892評論 6 392
  • 文/花漫 我一把揭開白布畏浆。 她就那樣靜靜地躺著,像睡著了一般刻获。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上厚柳,一...
    開封第一講書人閱讀 51,692評論 1 305
  • 那天别垮,我揣著相機(jī)與錄音扎谎,去河邊找鬼碳想。 笑死,一個(gè)胖子當(dāng)著我的面吹牛逊移,可吹牛的內(nèi)容都是我干的龙填。 我是一名探鬼主播,決...
    沈念sama閱讀 40,416評論 3 419
  • 文/蒼蘭香墨 我猛地睜開眼扇商,長吁一口氣:“原來是場噩夢啊……” “哼钳吟!你這毒婦竟也來了窘拯?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,326評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎嗤放,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體恨课,經(jīng)...
    沈念sama閱讀 45,782評論 1 316
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡岳服,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,957評論 3 337
  • 正文 我和宋清朗相戀三年纲辽,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了璃搜。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,102評論 1 350
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡吊档,死狀恐怖唾糯,靈堂內(nèi)的尸體忽然破棺而出涡上,到底是詐尸還是另有隱情吩愧,我是刑警寧澤雁佳,帶...
    沈念sama閱讀 35,790評論 5 346
  • 正文 年R本政府宣布同云,位于F島的核電站,受9級特大地震影響星澳,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜禁偎,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,442評論 3 331
  • 文/蒙蒙 一如暖、第九天 我趴在偏房一處隱蔽的房頂上張望忌堂。 院中可真熱鬧盒至,春花似錦枷遂、人聲如沸酒唉。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,996評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至笆制,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間证薇,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,113評論 1 272
  • 我被黑心中介騙來泰國打工寇窑, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留箩张,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,332評論 3 373
  • 正文 我出身青樓饮笛,卻偏偏與公主長得像论熙,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個(gè)殘疾皇子脓诡,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,044評論 2 355

推薦閱讀更多精彩內(nèi)容