我想在葡萄牙语的SpaCy模型中添加更多的单词,这样我就可以使用特定领域的PoS (词性的一部分),但是我不想添加孤立的单词,而是添加句子。我做了这三个步骤:
https://spacy.io/usage/training#data):

python -m spacy convert PetroTok-UDPIPE.conllu .这创建了"PetroTok-UDPIPE.spacy“文件。
然后,我创建了“https://spacy.io/usage/training#quickstart):”文件(如SpaCy页面:base_config.cfg中所示)。

将"train“和"dev”的值更改为:
train = "PetroTok-UDPIPE.spacy"
dev = "PetroTok-UDPIPE.spacy"(在本例中,我正在考虑用于训练和验证的相同数据,只是用于测试)。
对于该文件,我使用以下命令行创建"config.cfg“文件(也在SpaCy页面:https://spacy.io/usage/training#quickstart中表示):

python -m spacy init fill-config base_config.cfg config.cfghttps://spacy.io/usage/training#quickstart):

python -m spacy train config.cfg --output ./output它打印以下输出:

...When测试一个简单的代码,在粘贴“输出”中加载创建的模型,它返回字符串".lemma_“和".pos_”的空列表:
lemma = ['', '']
pos = ['', '']你能帮我找出隐式错误吗?我还有另一个问题,以这种方式创建的模型只使用"PetroTok-UDPIPE.conllu“文件创建,还是用葡萄牙语将元素合并到模型中(在本例中)?
谢谢。
发布于 2021-09-28 05:16:59
您的模型可能正在设置.tag_属性,而不是.pos_属性。
在官方模型中,所发生的事情是由模型学习特定于语言的标记(.tag_),然后AttributeRuler将它们映射到通用依赖标记(.pos_)。在默认情况下,快速启动并不会对其进行配置,因为有不同的方法来实现它,所以您只需要获得.tag_。
I还有另一个问题,以这种方式创建的模型只使用"PetroTok.conllu“文件创建,还是用葡萄牙语将元素合并到模型中(在本例中)?
这个模型将从零开始学习,除非你告诉它不这样做。在没有其他数据的情况下对模型进行再培训很容易导致灾难性的遗忘,因此不推荐对两个数据集进行相同任务的不同标记集的培训,这听起来不可行。
https://stackoverflow.com/questions/69352275
复制相似问题