国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

【NLP】如何實(shí)現(xiàn)快速加載gensim word2vec的預(yù)訓(xùn)練的詞向量模型

這篇具有很好參考價(jià)值的文章主要介紹了【NLP】如何實(shí)現(xiàn)快速加載gensim word2vec的預(yù)訓(xùn)練的詞向量模型。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

1 問(wèn)題

通過(guò)以下代碼,實(shí)現(xiàn)加載word2vec詞向量,每次加載都是幾分鐘,效率特別低。

from gensim.models import Word2Vec,KeyedVectors

# 讀取中文詞向量模型(需要提前下載對(duì)應(yīng)的詞向量模型文件)
word2vec_model = KeyedVectors.load_word2vec_format('hy-tmp/word2vec.bz2', binary=False)

2 解決方案

(1)方案一
第一次加載后保存為能夠快速加載的文件,第二次加載就能快讀讀取。

file_path = "word2vec/train_bio_word"
if os.path.exists(file_path):
    word2vec_model = KeyedVectors.load(file_path,mmap='r')
else:
    # 讀取中文詞向量模型(需要提前下載對(duì)應(yīng)的詞向量模型文件)
    word2vec_model = KeyedVectors.load_word2vec_format('hy-tmp/word2vec.bz2', binary=False)
    word2vec_model.init_sims(replace=True)
    word2vec_model.save(file_path)
    

(2)方案二
第一次加載后,只將使用到的詞向量以表格的形式保存到本地,第二次讀取就不需要加載全部word2vec的,只加載表格中的詞向量。

file_path = "word2vec/train_vocabulary_vector.csv"
if os.path.exists(file_path):
    # 讀取詞匯-向量字典,csv轉(zhuǎn)字典
    vocabulary_vector = dict(pd.read_csv(file_path))
    # 此時(shí)需要將字典中的詞向量np.array型數(shù)據(jù)還原為原始類型,方便以后使用
    for key,value in vocabulary_vector.items():
       vocabulary_vector[key] = np.array(value)
    
else:
    # 所有文本構(gòu)建詞匯表,words_cut 為分詞后的list,每個(gè)元素為以空格分隔的str.
    vocabulary = list(set([word for item in text_data1 for word in item]))
    # 構(gòu)建詞匯-向量字典
    vocabulary_vector = {}
    for word in vocabulary:
       if word in word2vec_model:
          vocabulary_vector[word] = word2vec_model[word]
    # 儲(chǔ)存詞匯-向量字典,由于json文件不能很好的保存numpy詞向量,故使用csv保存
    pd.DataFrame(vocabulary_vector).to_csv(file_path)

(3)方案三
不使用word2vec的原訓(xùn)練權(quán)重,使用Embedding工具庫(kù)。自動(dòng)下載權(quán)重文件后,高效使用。
參考:https://github.com/vzhong/embeddings
安裝庫(kù)文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-839720.html

pip install embeddings  # from pypi
pip install git+https://github.com/vzhong/embeddings.git  # from github
from embeddings import GloveEmbedding, FastTextEmbedding, KazumaCharEmbedding, ConcatEmbedding

g = GloveEmbedding('common_crawl_840', d_emb=300, show_progress=True)
f = FastTextEmbedding()
k = KazumaCharEmbedding()
c = ConcatEmbedding([g, f, k])
for w in ['canada', 'vancouver', 'toronto']:
    print('embedding {}'.format(w))
    print(g.emb(w))
    print(f.emb(w))
    print(k.emb(w))
    print(c.emb(w))

到了這里,關(guān)于【NLP】如何實(shí)現(xiàn)快速加載gensim word2vec的預(yù)訓(xùn)練的詞向量模型的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • NLP——分布式語(yǔ)義 Distributional Semantics:Word Vectors;Word2Vec

    NLP——分布式語(yǔ)義 Distributional Semantics:Word Vectors;Word2Vec

    傳統(tǒng)的詞匯數(shù)據(jù)庫(kù)(Lexical Database),如WordNet,是自然語(yǔ)言處理中一種常見的資源,用于提供詞匯的定義、詞義關(guān)系(如同義詞、反義詞)和詞匯層次結(jié)構(gòu)(如上下位詞)。雖然這些資源在許多任務(wù)中都非常有用,但它們也存在一些限制,這促使了分布式語(yǔ)義的發(fā)展。以下是

    2024年02月08日
    瀏覽(24)
  • NLP入門:word2vec & self-attention & transformer & diffusion的技術(shù)演變

    NLP入門:word2vec & self-attention & transformer & diffusion的技術(shù)演變

    這一段時(shí)間大模型的相關(guān)進(jìn)展如火如荼,吸引了很多人的目光;本文從nlp領(lǐng)域入門的角度來(lái)總結(jié)相關(guān)的技術(shù)路線演變路線。 1、introduction 自然語(yǔ)言處理(Natural Language Processing),簡(jiǎn)稱NLP,是通過(guò)統(tǒng)計(jì)學(xué)、數(shù)學(xué)模型、機(jī)器學(xué)習(xí)等相關(guān)技術(shù)研究人類語(yǔ)言的特征,對(duì)其進(jìn)行數(shù)學(xué)的表

    2024年02月11日
    瀏覽(26)
  • NLP自然語(yǔ)言處理理論解釋(單詞分布式表示,共現(xiàn)矩陣,word2vec,CBOW模型詳解)

    NLP自然語(yǔ)言處理理論解釋(單詞分布式表示,共現(xiàn)矩陣,word2vec,CBOW模型詳解)

    自然語(yǔ)言處理:一種能讓計(jì)算機(jī)理解人類語(yǔ)言的技術(shù),換而言之自然語(yǔ)言處理的目標(biāo)就是讓計(jì)算機(jī)理解人說(shuō)的話, 單詞的含義 讓計(jì)算機(jī)理解語(yǔ)言,首先要理解我們的單詞,有三種方法,1.基于同義詞詞典,2.基于計(jì)數(shù)方法,3.基于推理的方法(word2vec)。 單詞分布式表示 大家都

    2024年02月03日
    瀏覽(34)
  • Word2Vec實(shí)現(xiàn)文本識(shí)別分類

    Word2Vec實(shí)現(xiàn)文本識(shí)別分類

    ?? 本文為??365天深度學(xué)習(xí)訓(xùn)練營(yíng) 中的學(xué)習(xí)記錄博客 ?? 參考文章:365天深度學(xué)習(xí)訓(xùn)練營(yíng)-第N4周:用Word2Vec實(shí)現(xiàn)文本分類 ?? 原作者:K同學(xué)啊|接輔導(dǎo)、項(xiàng)目定制 語(yǔ)言環(huán)境:Python3.9.12 編譯器:jupyter notebook 深度學(xué)習(xí)環(huán)境:TensorFlow2 本次內(nèi)容我本來(lái)是使用miniconda的環(huán)境的,但是好

    2024年02月16日
    瀏覽(25)
  • 第N4周:使用Word2vec實(shí)現(xiàn)文本分類

    第N4周:使用Word2vec實(shí)現(xiàn)文本分類

    ?? 本文為??365天深度學(xué)習(xí)訓(xùn)練營(yíng) 中的學(xué)習(xí)記錄博客 ?? 原作者:K同學(xué)啊|接輔導(dǎo)、項(xiàng)目定制 # 一、課題背景和開發(fā)環(huán)境 ??第N4周:使用Word2vec實(shí)現(xiàn)文本分類?? Python 3.8.12 gensim 4.3.1 numpy 1.21.5 - 1.24.3 portalocker 2.7.0 pytorch 1.8.1+cu111 torchtext==0.9.1 ??本周任務(wù):?? 結(jié)合Word2Vec文本內(nèi)

    2024年02月13日
    瀏覽(21)
  • 基于Word2vec詞聚類的關(guān)鍵詞實(shí)現(xiàn)

    基于Word2vec詞聚類的關(guān)鍵詞實(shí)現(xiàn)

    基于Word2Vec的詞聚類提取包括以下步驟: 整個(gè)流程的核心在于使用Word2Vec模型得到詞向量,然后通過(guò)聚類算法將相似的詞語(yǔ)歸為一簇,最終提取每個(gè)簇的代表性詞語(yǔ)作為。這種方法能夠捕捉詞語(yǔ)之間的語(yǔ)義關(guān)系,提高的表達(dá)力。 詞向量的預(yù)處理 基于word2

    2024年01月18日
    瀏覽(17)
  • 自然語(yǔ)言處理(三):基于跳元模型的word2vec實(shí)現(xiàn)

    自然語(yǔ)言處理(三):基于跳元模型的word2vec實(shí)現(xiàn)

    回顧一下第一節(jié)講過(guò)的跳元模型 跳元模型(Skip-gram Model)是一種用于學(xué)習(xí)詞向量的模型,屬于Word2Vec算法中的一種。它的目標(biāo)是通過(guò)給定一個(gè)中心詞語(yǔ)來(lái)預(yù)測(cè)其周圍的上下文詞語(yǔ)。 這節(jié)我們以跳元模型為例,講解word2vec的實(shí)現(xiàn) 文章內(nèi)容來(lái)自李沐大神的《動(dòng)手學(xué)深度學(xué)習(xí)》并加

    2024年02月11日
    瀏覽(20)
  • Word2Vec詳解

    Word2Vec詳解

    Word2Vec 基本思想:通過(guò)訓(xùn)練將每一個(gè)詞映射成一個(gè)固定長(zhǎng)度的向量,所有向量構(gòu)成一個(gè)詞向量空間,每一個(gè)向量(單詞)可以看作是向量空間中的一個(gè)點(diǎn),意思越相近的單詞距離越近。 如何把詞轉(zhuǎn)換為向量? 通常情況下,我們可以維護(hù)一個(gè)查詢表。表中每一行都存儲(chǔ)了一個(gè)特

    2024年02月13日
    瀏覽(22)
  • 機(jī)器學(xué)習(xí)——Word2Vec

    機(jī)器學(xué)習(xí)——Word2Vec

    參考資料: https://zhuanlan.zhihu.com/p/114538417 https://www.cnblogs.com/pinard/p/7243513.html 統(tǒng)計(jì)語(yǔ)言模型是基于 語(yǔ)料庫(kù) 構(gòu)建的 概率模型 ,用來(lái)計(jì)算一個(gè)詞串 W = ( w 1 , w 2 , ? ? , w T ) W=(w_1,w_2,cdots,w_T) W = ( w 1 ? , w 2 ? , ? , w T ? ) 構(gòu)成句子的概率 : p ( W ) = p ( w 1 , w 2 , ? ? . w T ) = p

    2024年02月11日
    瀏覽(18)
  • 論文精讀--word2vec

    論文精讀--word2vec

    word2vec從大量文本語(yǔ)料中以無(wú)監(jiān)督方式學(xué)習(xí)語(yǔ)義知識(shí),是用來(lái)生成詞向量的工具 把文本分散嵌入到另一個(gè)離散空間,稱作分布式表示,又稱為詞嵌入(word embedding)或詞向量 We propose two novel model architectures for computing continuous vector representations of words from very large data sets. The qua

    2024年02月22日
    瀏覽(19)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包