我使用Maciejkula的实现(github repo)在python中训练了一个Glove模型。 对于下一步,我需要一个单词到嵌入字典。 但是,我似乎无法从我训练过的手套模型中找到一种简单的方法来提取这样的字典。
我可以通过访问model.word_vectors
来提取嵌入,但这只会返回一个包含向量的数组,而不会映射到相应的单词。
还有model.dictionary
属性包含单词到索引对。
我认为这些索引可能对应于model.word_vectors
数组中的嵌入索引,但我不确定这是否正确。
索引是否对应,还是有另一种简单的方法可以从手套-python模型中获取单词到嵌入字典?
我意识到Sanj问我类似但更广泛的问题,但由于没有回应,我以为我会问这个更具体的问题。
答案 0 :(得分:1)
您处在正确的轨道上。 NLP解决方案通常避免在整个算法中保留单词,并使用索引方案word-> idx,并且为了简单起见,在整个算法中都使用此idx。
对于此手套实现,model.dictionary包含word-> idx,而model.word_vectors包含idx-> vectors。
例如要获取与单词“ samsung”相对应的向量,您可以使用:
model.word_vectors [model.dictionary ['samsung']]