我正在使用一些特定领域的语言,其中有很多 OOV 词以及一些拼写错误。我注意到 Spacy 只会为这些 OOV 词分配一个全零向量,所以我想知道处理这个问题的正确方法是什么。如果可能的话,我感谢对所有这些要点的澄清:
预训练命令到底做了什么?老实说,我似乎无法正确解析网站上的解释:
使用近似的语言建模目标预训练流水线组件的“令牌到向量”(tok2vec) 层。具体来说,我们加载预训练向量,并训练像 CNN、BiLSTM 等组件来预测与预训练向量匹配的向量
tok2vec 不是生成向量的部分吗?那么这个命令不应该改变产生的向量吗?加载预训练向量然后训练一个组件来预测这些向量是什么意思?这样做的目的是什么?
--use-vectors 标志有什么作用?--init-tok2vec 标志有什么作用?这是否被错误地包含在文档中?
似乎 pretrain 不是我要找的,它不会改变给定单词的向量。生成包含我的 OOV 单词但仍包含该语言的一般知识的一组新向量的最简单方法是什么?
据我所知,Spacy 的预训练模型使用的是快速文本向量。Fasttext网站提到:
一个不错的功能是您还可以查询未出现在您的数据中的单词!事实上,单词是由其子串的总和表示的。只要未知单词是由已知子串组成的,就有它的表示!
但似乎 Spacy 没有使用此功能。有没有办法仍然将它用于 OOV 词?
多谢
SMILET
相关分类