使用 glove-python 模型获取词嵌入字典
Posted
技术标签:
【中文标题】使用 glove-python 模型获取词嵌入字典【英文标题】:Get word-embedding dictionary with glove-python model 【发布时间】:2018-06-11 23:36:02 【问题描述】:我使用 Maciejkula 的实现 (github repo) 在 python 中训练了一个 Glove 模型。 下一步我需要一个词嵌入词典。 但是,我似乎找不到从我训练的手套模型中提取这样一个字典的简单方法。
我可以通过访问model.word_vectors
来提取嵌入,但这只会返回一个包含向量的数组,而不会映射到相应的单词。
还有包含单词到索引对的model.dictionary
属性。
我认为这些索引可能对应于 model.word_vectors
数组中的嵌入索引,但我不确定这是否正确。
索引是否对应,或者是否有另一种简单的方法可以从 glove-python 模型中获取词嵌入字典?
我知道Sanj 向我提出了类似的问题,虽然更广泛的问题,但由于没有回应,我想我会问这个更具体的问题。
【问题讨论】:
【参考方案1】:你在正确的轨道上。 NLP 解决方案通常避免在整个算法中保留单词,并使用索引方案 word -> idx,为简单起见,该 idx 在整个算法中都使用。
对于这个手套实现,model.dictionary 包含 word -> idx,而 model.word_vectors 包含 idx -> 向量。
例如要获取与单词“samsung”相对应的向量,您可以使用:
model.word_vectors[model.dictionary['samsung']]
【讨论】:
以上是关于使用 glove-python 模型获取词嵌入字典的主要内容,如果未能解决你的问题,请参考以下文章