问题描述
我收集了超过 100 万个文本正文。在这些主体内有多个实体,其名称模仿常见的停用词和短语。
这在标记数据时产生了问题,因为有大约 50 个实体存在相同的问题。为了解决这个问题,我在删除之前禁用了匹配的停用词的删除。这很好,但理想情况下,我有一种方法可以区分令牌实际上是停止词还是实体,因为我只关心它何时用作实体。
这是一个示例摘录:
A determined somebody slept. Prior to this,A Could never be comfortable with the idea of responsibility. It was foreign,something heard about through a story passed down by words of U. As slow as it Could be,A began to find meaning in the words of a story.
A 和 U 在这里的大部分用法中都是实体/名词。到目前为止,POS 标记仅将 A 标记为限定词,而 NER 也不会标记该词的任何实例。将目标标签添加到 NER 列表会导致每个实例都被标记为一个实体,但事实并非如此。
到目前为止,我主要将斯坦福 POS Tagger 和 SpaCY 用于 NER。
解决方法
我认为您应该尝试训练自己的 NER 模型。
您可以分三步完成,如下所示:
- 在您的语料库中标记一些文档。 您可以使用 spacy-annotator 执行此操作。
- 从头开始训练您的 spacy NER 模型。 您可以按照 spacy docs 中的说明进行操作。
- 使用经过训练的模型来预测语料库中的实体。
通过在第 1 步标记大量实体,模型将学会区分确定器和实体。