用gensim快速打開詞向量

gensim是一個(gè)方便的nlp工具,特別是用來導(dǎo)入詞向量,這里簡單記錄一下gensim導(dǎo)入詞向量的方法

import gensim

w2v = gensim.models.KeyedVectors.load_word2vec_format("small_embedding.txt")
print(w2v['a'])

gensim導(dǎo)入詞向量需要詞向量文件的首行是:所有的單詞數(shù) 詞向量的維度
如果不是這個(gè)格式,需要做額外的操作

利用下面的代碼,可以跨平臺的自動添加第一行,生成符合要求的詞向量文件,記錄下來方便使用

def get_line_nums(filename):
    f = open(filename, 'r')
    count = 0
    for line in f:
        count += 1
    return count


# Linux或者Windows下打開詞向量文件,在開始增加一行
def prepend_line(infile, outfile, line):
    with open(infile, 'r') as old:
        with open(outfile, 'w') as new:
            new.write(str(line) + "\n")
            shutil.copyfileobj(old, new)


def prepend_slow(infile, outfile, line):
    with open(infile, 'r') as fin:
        with open(outfile, 'w') as fout:
            fout.write(line + "\n")
            for line in fin:
                fout.write(line)
    

def add_first_line(filename):
    num_lines = get_line_nums(filename)
    gensim_file = 'glove_model.txt'
    gensim_first_line = "{} {}".format(num_lines, 300)
    # Prepends the line.
    if platform == "linux" or platform == "linux2":
        prepend_line(filename, gensim_file, gensim_first_line)
    else:
        prepend_slow(filename, gensim_file, gensim_first_line)
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容