在 NLP 中,有一个概念Gazetteer
对于创建注释非常有用。据我所理解:
地名词典由一组包含实体名称的列表组成,例如城市、组织、星期几等。这些列表用于在文本中查找这些名称的出现,例如用于命名实体识别的任务。
所以它本质上是一个查找。这不是骗人的吗?如果我们使用 aGazetteer
来检测命名实体,那么不会发生太多Natural Language Processing
事情。理想情况下,我想使用NLP
技术检测命名实体。否则,它比正则表达式模式匹配器更好吗?
在 NLP 中,有一个概念Gazetteer
对于创建注释非常有用。据我所理解:
地名词典由一组包含实体名称的列表组成,例如城市、组织、星期几等。这些列表用于在文本中查找这些名称的出现,例如用于命名实体识别的任务。
所以它本质上是一个查找。这不是骗人的吗?如果我们使用 aGazetteer
来检测命名实体,那么不会发生太多Natural Language Processing
事情。理想情况下,我想使用NLP
技术检测命名实体。否则,它比正则表达式模式匹配器更好吗?
当您遇到有限大小的问题时,例如固定语料库中的 NER、POS 标记或其他任何东西,地名词典或任何其他有意固定大小特征的选项似乎是学术论文中非常流行的方法。除非您将使用的唯一功能是地名词典匹配,否则我不会认为它作弊。
但是,当您训练任何类型的 NLP 模型(在训练时确实依赖字典)时,您可能会获得比初始测试报告的实际性能低得多的方式,除非您可以将所有感兴趣的对象包含在地名词典中(以及为什么您需要那个模型吗?)因为您训练的模型在某些时候会依赖该特征,并且在其他特征太弱或无法描述的情况下,将无法识别新的感兴趣对象。
如果您确实在模型中使用了地名词典,您应该确保该功能具有让模型自我平衡的反特征,因此简单的字典匹配不会是正类的唯一特征(更重要的是,地名词典应该不仅匹配正例,还匹配负例)。
例如,假设您确实拥有所有人名的完整无限变体,这使得一般人 NER 无关紧要,但现在您尝试确定文本中提到的对象是否能够唱歌。您将依赖包含在您的个人地名词典中的功能,这会给您带来很多误报;然后,你将添加一个以动词为中心的特征“是动词的主语 sing ”,这可能会给你各种对象的误报,比如鸟,你饿了的肚子,喝醉了的人会思考他会唱歌(但老实说,他不会)——但以动词为中心的功能将与你的人名词典平衡,将“歌手”的正面类别分配给人,而不是动物或任何其他物体。虽然,它并没有解决醉酒表演者的情况。
使用实体列表有几个缺点:
您可以按照@emre 建议的方向处理这些缺点,并使用列表来学习分类器。
例如,您可以在实体附近使用标记并学习规则,例如“我住在 X”是一个地方的指示符,“我和 X 交谈过”是一个人的指示符。您可以通过规则的命中来增加您的列表并使用新列表来了解更多规则来玩这个游戏几轮。
请不要在本次学习中将噪声引入数据中,因此在大多数情况下,学习应该如此简单。