斯坦福 NLP - NER - 使用具有多个令牌的名称训练 NER



我最近开始研究斯坦福NLP(使用C#端口(。 我计划使用 NER 来识别商店位置名称和产品名称 - 为此,我需要训练标记器,我正在这样做。

但是,某些位置(例如"国王十字"(只有在两个令牌在一起时才应真正被视为位置。 即我不希望"国王"在句子中单独使用时被标记为位置。

所以我的问题实际上是:是否有一种定义的方式来建议我处理其中有空格的位置/名称(在我的训练文件和代码中(?

感谢您的任何帮助。

您的两个选项是训练统计标记算法并希望它执行正确的操作,或者使用regexner注释器并为其提供已知命名实体的列表。 例如,在已知命名实体的列表中,您可以包含Kings Cross条目,并且只有在看到完整的短语Kings Cross时才起作用。

有关regexner的更多文档,请参阅此处:

https://nlp.stanford.edu/software/regexner.html

在NER中处理此问题的标准方法是使用IOB标签或某些变体。使用 IOB 的标签可能如下所示:

I        O
went     O
to       O
Kings    B-PLACE
Cross    I-PLACE

其中O的意思是"没有标签",B-XXX的意思是"XXX的开始",I-XXX的意思是"在XXX中"。

标记系统将学习多字令牌,从B开始,有时继续使用I标记;这只是另一个标记转换。要从您刚刚演练的标记器输出中收集多字令牌,请为任何B创建一个条目,并将I附加到其中。

最新更新