第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

無法使用 gensim 加載 Doc2vec 對象

無法使用 gensim 加載 Doc2vec 對象

開滿天機 2022-11-29 17:21:25
我正在嘗試使用 gensim 加載預(yù)訓練的 Doc2vec 模型,并使用它將段落映射到向量。我指的是https://github.com/jhlau/doc2vec,我下載的預(yù)訓練模型是英文維基百科的DBOW,也在同一個鏈接里。但是,當我在維基百科上加載 Doc2vec 模型并使用以下代碼推斷向量時:import gensim.models as gimport codecsmodel="wiki_sg/word2vec.bin"test_docs="test_docs.txt"output_file="test_vectors.txt"#inference hyper-parametersstart_alpha=0.01infer_epoch=1000#load modeltest_docs = [x.strip().split() for x in codecs.open(test_docs, "r", "utf-8").readlines()]m = g.Doc2Vec.load(model)#infer test vectorsoutput = open(output_file, "w")for d in test_docs:    output.write(" ".join([str(x) for x in m.infer_vector(d, alpha=start_alpha, steps=infer_epoch)]) + "\n")output.flush()output.close()我得到一個錯誤:/Users/zhangji/Desktop/CSE547/Project/NLP/venv/lib/python2.7/site-packages/smart_open/smart_open_lib.py:402: UserWarning: This function is deprecated, use smart_open.open instead. See the migration notes for details: https://github.com/RaRe-Technologies/smart_open/blob/master/README.rst#migrating-to-the-new-open-function  'See the migration notes for details: %s' % _MIGRATION_NOTES_URLTraceback (most recent call last):  File "/Users/zhangji/Desktop/CSE547/Project/NLP/AbstractMapping.py", line 19, in <module>    output.write(" ".join([str(x) for x in m.infer_vector(d, alpha=start_alpha, steps=infer_epoch)]) + "\n")AttributeError: 'Word2Vec' object has no attribute 'infer_vector'我知道有幾個關(guān)于堆棧溢出的 infer_vector 問題的線程,但它們都沒有解決我的問題。我使用下載了gensim包pip install git+https://github.com/jhlau/gensim另外,我查看了gensim包中的源代碼后,發(fā)現(xiàn)當我使用Doc2vec.load()時,Doc2vec類本身并沒有真正的load()函數(shù),但由于它是Word2vec的子類,它調(diào)用Word2vec中l(wèi)oad()的super方法,然后使模型成為Word2vec對象。然而,infer_vector() 函數(shù)是 Doc2vec 獨有的,在 Word2vec 中不存在,這就是它導(dǎo)致錯誤的原因。我還嘗試將模型 m 轉(zhuǎn)換為 Doc2vec事實上,我現(xiàn)在想要的 gensim 只是使用在學術(shù)文章上運行良好的預(yù)訓練模型將段落轉(zhuǎn)換為向量。由于某些原因,我不想自己訓練模型。如果有人可以幫助我解決問題,我將不勝感激。btw,我用的是python2.7,目前的gensim版本是0.12.4。
查看完整描述

1 回答

?
呼喚遠方

TA貢獻1856條經(jīng)驗 獲得超11個贊

我會避免使用https://github.com/jhlau/doc2vec上已有 4 年歷史的非標準 gensim 分支,或任何僅加載此類代碼的已有 4 年歷史的已保存模型。

那里的維基百科 DBOW 模型也小得令人懷疑,只有 1.4GB。即使在 4 年前,維基百科也有超過 400 萬篇文章,而一個 300 維的Doc2Vec模型經(jīng)過訓練以擁有 400 萬篇文章的文檔向量,其大小至少4000000 articles * 300 dimensions * 4 bytes/dimension= 4.8GB,甚至不包括模型的其他部分。(因此,該下載顯然不是相關(guān)論文中提到的 4.3M 文檔、300 維模型——而是以其他不明確的方式被截斷的內(nèi)容。)

當前的 gensim 版本是 3.8.3,幾周前發(fā)布。

使用當前代碼和當前維基百科轉(zhuǎn)儲構(gòu)建您自己的Doc2Vec模型可能需要一些修補,以及一整夜或更長時間的運行時間——但隨后您將使用現(xiàn)代支持的代碼,以及更好地理解單詞的現(xiàn)代模型在過去 4 年中投入使用。(而且,如果你在你感興趣的文檔類型的語料庫上訓練模型——比如學術(shù)文章——詞匯、詞義和與你自己的文本預(yù)處理的匹配將用于以后推斷的文檔一切都會更好。)

有一個從維基百科構(gòu)建模型的 Jupyter notebook 示例,該模型在源代碼樹中Doc2Vec具有功能性或非常接近功能性:gensim

https://github.com/RaRe-Technologies/gensim/blob/develop/docs/notebooks/doc2vec-wikipedia.ipynb


查看完整回答
反對 回復(fù) 2022-11-29
  • 1 回答
  • 0 關(guān)注
  • 247 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號