代码之家  ›  专栏  ›  技术社区  ›  giorgio79

当为NLP手动标记语料库时,是否也要有未标记的文本?

  •  1
  • giorgio79  · 技术社区  · 12 年前

    我正在进行手动标记以训练自己的NER 我是否必须在我准备命名实体识别的句子中包含未标记的文本?

    <START:person> Olivier Grisel <END> is working on the <START:software> Stanbol <END> project .
    

    或者我可以省略这样的未标记部分吗?

    <START:person> Olivier Grisel <END>
    <START:software> Stanbol <END>
    

    PS(秒): 谢谢你的回答。我尝试省略未标记的部分,在这种情况下,OpenNLP将每一行标记为一个实体,因此它不起作用。正如答案所解释的,无标记的部分是必要的。

    2 回复  |  直到 12 年前
        1
  •  3
  •   Community Mohan Dere    8 年前

    如果您正在进行手动标记以训练您自己的NER模型(您的问题不是100%清楚),那么您应该包括您希望稍后标记的相同类型的数据,最可能是完整的句子。默认模型功能(请参见 OpenNLP docs )在当前正在考虑的令牌的左侧和右侧包括一个令牌窗口,以便您希望标记的实体显示在其正常上下文中。您还希望模型了解哪些单词不应标记为实体,因此它们还需要出现在训练数据的上下文中。

    参见相关问题: Open NLP Name Finder Training

        2
  •  2
  •   Yasen    12 年前

    这取决于你打算如何使用语料库。如果省略了未标记的部分,则会丢失文档中实体的位置。

    在经典的命名实体识别中,您还需要实体的准确位置。在您的系统中,您可能会有一些规则、字典、统计标记,您将查看文本中的每个标记,检查它是否是命名实体的一部分(NE识别)以及它是什么类型(NE分类)。

    如果您不知道实体在手动注释的语料库中的位置,那么不清楚如何使用它。如果您需要语料库仅比较实体列表(由您的系统创建并存在于语料库中),那么您可能可以不使用位置,但您无法检查实体出现的位置。

    例如,如果您有文档:

    “我知道巴拉克·奥巴马是总统,但米歇尔·奥巴马是谁? 巴拉克·奥巴马绝对是总统。"

    你的系统有一次得到“巴拉克·奥巴马”,而你的语料库有“巴拉克·欧巴马”x2,你不知道你得到了哪一个。此外,你可以将奥巴马作为一个命名实体。

    简而言之,我不会这么做:)

    推荐文章