Mat*_*cha 5 python nlp machine-learning spacy natural-language-processing
我想用新实体更新模型。我正在加载“pt”NER 模型,并尝试更新它。在做任何事情之前,我尝试了这句话:“meu nome é Mário e hoje eu vou para academia”。(英文中这句话是“我的名字是马里奥,今天我要去健身房。在整个过程之前我得到了这个:
Entities [('Mário', 'PER')]
Tokens [('meu', '', 2), ('nome', '', 2), ('é', '', 2), ('Mário', 'PER', 3), ('e', '', 2), ('hoje', '', 2), ('eu', '', 2), ('vou', '', 2), ('pra', '', 2), ('academia', '', 2)]
Run Code Online (Sandbox Code Playgroud)
好的,马里奥是一个名字,它是正确的。但我希望模型将“hoje(今天)”识别为 DATE,然后我运行了下面的脚本。
运行脚本后,我尝试了相同的设置并得到了这个:
Entities [('hoje', 'DATE')]
Tokens [('meu', '', 2), ('nome', '', 2), ('é', '', 2), ('Mário', '', 2), ('e', '', 2), ('hoje', 'DATE', 3), ('eu', '', 2), ('vou', '', 2), ('pra', '', 2), ('academia', '', 2)]
Run Code Online (Sandbox Code Playgroud)
该模型将“hoje”识别为 DATE,但完全忘记了作为 Person 的 Mário。
Entities [('Mário', 'PER')]
Tokens [('meu', '', 2), ('nome', '', 2), ('é', '', 2), ('Mário', 'PER', 3), ('e', '', 2), ('hoje', '', 2), ('eu', '', 2), ('vou', '', 2), ('pra', '', 2), ('academia', '', 2)]
Run Code Online (Sandbox Code Playgroud)
在训练数据中,您需要将“Mario”称为“PER”。如果您错过了,该模型将从新的训练数据中学习,将“Mario”排除为“PER”。
(注意:您应该提及训练数据中句子中存在的所有实体,而不仅仅是新实体。)