如何使用 spaCy 对真实大小写进行 NER,然后对小写进行词形还原

How to perform NER on true case, then lemmatization on lower case, with spaCy

我尝试使用带有法语模型的 spaCy 2.0.12 对文本进行词形还原 fr_core_news_sm。 Morevoer,我想用任意字符序列替换人名,使用 token.ent_type_ == 'PER' 检测这些名字。示例结果将是 "Pierre aime les chiens" -> "~PER~ aimer chien".

问题是我无法找到两者兼顾的方法。我只有这两个部分选项:

我的想法是执行标准管道(标记器、解析器、NER),然后小写,然后仅在最后进行词形还原。

但是,词形还原似乎没有自己的管道组件,文档也没有解释它是如何以及在何处执行的。 This 答案似乎暗示词形还原是独立于任何管道组件执行的,并且可能在它的不同阶段执行。

所以我的问题是:如何选择何时执行词形还原以及为其提供哪个输入?

如果可以,请改用最新版本的 spacy。法语词形还原器在 2.1 中得到了很大改进。

如果您必须使用 2.0,请考虑使用像这样的备用词形还原器:https://spacy.io/universe/project/spacy-lefff