对于这种情况,我应该使用 Spacy 命名实体识别吗?

Shoud i use Spacy Named Entity Recognition for this case?

我有一组名字,一组固定的名字,最多可以扩展 50,000 个名字。

"John","Mike","Josh","Peter","Karl".

而且我有一个文件,这个文件是动态的。我需要找到这个文件是否有 是否为预定义名称?

在 spacy nlp 中将一切都定义为实体是正确的方法吗?

Is defining everything as a entity in spacy nlp the right way to do it ?

没有。 NER 不是基于带有标签的大量值,而是作为包含值、标签和值位置的文本样本数据集。通常,机器学习模型然后在数据集上进行训练,找到可以帮助在文档中标记名称的概括。

所以你不能只添加这些名字来训练 NER。您必须提供上下文。

您可以尝试以下简单管道(考虑到这些名称有些常见):

  1. 将名称加载到集合数据结构中。
  2. 使用您选择的 NLP 库逐句分析文档。
  3. 对于每个句子,发现其中的 Person 类型的命名实体。
  4. 检查每个人是否在姓名集中。

我了解到您的目的是在文档中查找已知名称(从列表中)。

看来命名实体识别对你用处不大。

相反,解决此问题的可扩展方法可以是 Flashtext (https://github.com/vi3k6i5/flashtext)。