Python 访问空间屏蔽语言模型

Python 访问空间屏蔽语言模型,python,nlp,spacy,language-model,Python,Nlp,Spacy,Language Model,从v2.1开始,spaCy有一个BERT风格的语言模型(LM)。它预测的是单词向量而不是单词,所以我将在这里交替使用“单词”和“单词向量” 我需要用一个单词蒙面的句子和一个单词列表,并根据单词出现在蒙面槽中的可能性对它们进行排序。目前我正在使用BERT来实现这一点(类似于)。我想看看斯帕西在这项任务上的表现是否可以接受。在和之间,我很确定有可能建造一些东西。然而,这感觉像是深入到了库的内部,而不是我想要的 有没有一种直接的方式与spaCy的蒙面语言模型交互 这基本上是LMAO近似的缺点。直到有人

从v2.1开始,spaCy有一个BERT风格的语言模型(LM)。它预测的是单词向量而不是单词,所以我将在这里交替使用“单词”和“单词向量”

我需要用一个单词蒙面的句子和一个单词列表,并根据单词出现在蒙面槽中的可能性对它们进行排序。目前我正在使用BERT来实现这一点(类似于)。我想看看斯帕西在这项任务上的表现是否可以接受。在和之间,我很确定有可能建造一些东西。然而,这感觉像是深入到了库的内部,而不是我想要的


有没有一种直接的方式与spaCy的蒙面语言模型交互

这基本上是LMAO近似的缺点。直到有人在
/r/machinelearning
子Reddit上向我指出这一点,我才意识到这一点

因为我们在预测一个向量,我们实际上只能预测向量空间中的一个点。这与预测单词的分布是完全不同的。想象一下,我们有一个缺口,比如玉米的缺口。让我们假设填充物的良好分布是
{kernel,ear,piece}
。这些单词的向量并不十分接近,因为
word2vec
算法正在基于单词的所有上下文构建向量空间,并且单词只能在此上下文中互换。在
piece
的绝大多数用法中,
ear
这个词是一个非常糟糕的替代词

如果可能的填充词在向量空间中不紧密,那么LMAO模型将无法返回对应于该组单词的答案

如果您只需要1-最佳答案,
spacy pretrain
中的算法很有可能为您提供答案。但是如果你需要分布,近似值就会分解,你应该使用类似于
BERT
的东西