相关疑难解决方法(0)

为 OOV 词添加新向量的正确方法

我正在使用一些特定于领域的语言,这些语言有很多 OOV 词以及一些拼写错误。我注意到 Spacy 只会为这些 OOV 词分配一个全零向量,所以我想知道处理这个问题的正确方法是什么。如果可能,我感谢对所有这些要点的澄清:

  1. pre-train 命令究竟是做什么的?老实说,我似乎无法正确解析网站上的解释:

使用近似的语言建模目标对管道组件的“令牌到向量”(tok2vec)层进行预训练。具体来说,我们加载预训练向量,并训练像 CNN、BiLSTM 等组件来预测与预训练向量匹配的向量

tok2vec 不是生成向量的部分吗?那么这个命令不应该改变产生的向量吗?加载预训练向量然后训练一个组件来预测这些向量是什么意思?这样做的目的是什么?

--use-vectors 标志有什么作用?--init-tok2vec 标志有什么作用?这是否错误地包含在文档中?

  1. 似乎 pretrain 不是我要找的,它不会改变给定单词的向量。生成一组新的向量的最简单方法是什么,其中包含我的 OOV 单词但仍包含语言的一般知识?

  2. 据我所知,Spacy 的预训练模型使用 fasttext 向量。Fasttext 网站提到:

一个不错的功能是您还可以查询未出现在您的数据中的单词!实际上,单词由其子串的总和表示。只要未知词是由已知子串组成的,就有它的表示!

但似乎 Spacy 不使用此功能。有没有办法仍然将这个用于 OOV 词?

非常感谢

python nlp spacy fasttext

5
推荐指数
1
解决办法
1021
查看次数

标签 统计

fasttext ×1

nlp ×1

python ×1

spacy ×1