单词词典的word2vec

2024-10-03 04:36:04 发布

您现在位置:Python中文网/ 问答频道 /正文

我需要为单词字典生成word2vec数组。字典看起来像这样

test={0: 'tench, Tinca tinca',
 1: 'goldfish, Carassius auratus',
 2: 'great white shark, white shark, man-eater, man-eating shark, Carcharodon carcharias',
 3: 'tiger shark, Galeocerdo cuvieri',
 4: 'hammerhead, hammerhead shark'}

循环应该遍历每一行,检查模型中是否存在单词,如果存在,则将向量存储在数组中,否则检查行中的下一个单词。如果gensim模型中没有一个单词,那么它应该什么也不做(数组初始化为零) 但是,如果预先训练的模型中不存在单词,则会引发以下异常:

KeyError: "word 'Galeocerdo cuvieri' not in vocabulary"

什么是理想的循环,也有例外,以绕过提出的错误? 这是我的起始代码:

^{pr2}$

Tags: 模型test字典word2vec数组单词whiteman
1条回答
网友
1楼 · 发布于 2024-10-03 04:36:04

为什么不试试这个

vectors= list()
for i in test:
    flag=True
    synonyms=test[i].split(',')
    for k in synonyms:
        try:
            vectors.append(model[k]])
            flag = False
            break
        except KeyError as e:
            print(e)
            continue
    if flag:
        vectors.append(# Insert your array with zeroes here)               

我假设你需要一个列表中的所有向量

相关问题 更多 >