【问题标题】:how to represent gazetteers or dictionaries as features in crf++?如何将地名词典或字典表示为 crf++ 中的特征?
【发布时间】:2016-01-16 16:09:10
【问题描述】:

如何使用地名词典或词典作为CRF++ 中的功能?

详细说明:假设我想对人名进行 NER,并且我有一个包含常见人名的地名词典(或字典),我想将此地名词典用作 crf++ 的输入,我该怎么做?

我正在使用条件随机字段包 crf++ 来执行命名实体识别任务。 我知道如何在 crf++ 中表示一些常用的特性。例如,如果我们想使用大写作为特征,我们可以在 crf 的特征模板中添加一个单独的列,指示单词是否大写。

【问题讨论】:

标签: nlp named-entity-recognition crf crf++


【解决方案1】:

您可以创建一个新功能来指示令牌是否在字典/地名词典中。只需检查集合成员并将 Gazeteer 功能设置为 1 或 0。

【讨论】:

  • 你是说训练期间?
  • 我可以知道更多细节吗?
  • 在训练和标记过程中特征提取必须相同,否则您无法为模型提供预期的结果。与在特征模板中添加单独的列以指示单词是否大写的方式相同,您可以添加另一列以说明给定单词是否存在于您的地名词典/字典中。让我们假设一个只包含“john”和“mary”的地名词典。使用序列“约翰爱玛丽”的两个特征(大写,InGazeeter),你会得到(1,0),(0,0),(0,1)。当然,真实模型会使用更多种类的功能。
  • 谢谢。我知道我们可以拥有许多其他功能。让我们专注于使用地名词典功能。继续您的示例,让我们假设一个地名词典仅包含“约翰”、“玛丽”和“杰克”,并且我使用一列来指示当前令牌是否在我的地名词典中。使用地名词典功能训练序列“john love mary”,我会得到 1, 0 1。这是用于训练的。如果我想标记序列“jack love john”,现在jack 在我的地名录中,如何在标记期间让 crf++ 知道我的地名录?
  • 感谢您的帮助。我设法使用简单的字符串匹配将地名词典作为特征插入。但是我的地名词典包含了很多常见的英文单词,这似乎对 crf 标记性能没有帮助。我们可以谈谈使用地名词典作为特征的性能吗?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2018-05-18
  • 1970-01-01
  • 2013-04-18
  • 1970-01-01
  • 2021-08-09
  • 1970-01-01
  • 2017-12-05
相关资源
最近更新 更多