【问题标题】:How to annotate and train data for predominantly numeric data extraction如何注释和训练数据以提取主要是数字数据
【发布时间】:2019-02-01 11:23:33
【问题描述】:

我正在尝试从非结构化文本中提取信息。例如

这位首席执行官最近寻求为正在开发的卡车添加功能的建议,他透露了一些计划中的功能,例如续航里程为 400 到 500 英里的选​​项、带动态悬架的双电机全轮驱动动力总成,'300,000磅的牵引能力”,等等。当被问及发布日期时,CEO 给出了 2021 年第二季度的估计时间。

理想的输出应该是这样的

[minRange = 400, maxRange = 500, allWheelDrive = TRUE, susepnsionType = 'Dynamic', releaseDate = 2021-04-01 00:00]

因为我要提取的数据并不总是以行为良好的对结构(例如,上面的 releaseDate 提取需要对整个句子进行语义处理)正则表达式和一些规则可能不够用。我认为我需要对我的数据集进行注释,然后使用 NLP 和 spaCy、NLTK 或 Stanford NLP 等学习工具从未来的示例中提取属性值对。

我正在尝试使用在线资源/教程,但它们似乎都专注于单独的命名实体识别或提取与基于字符串的实体的关系(例如 LOC:Paris、REL:is capital of、LOC:France )。我需要提取的大多数(不是全部)数据只是属性-数字值对。如何使用 NLP 工具完成此任务?在大多数情况下,我只是不确定这些数字是否应该被视为实体,如果是的话,是否应该将它们注释为名为“Value”的实体或赋予具有相关属性的实体名称。例如,这两种方式中哪一种是更好的注释方式?:

  1. 车辆的牵引能力为300,000 lbs
  2. 车辆的牵引能力为300,000 lbs,关系:“具有牵引能力”

【问题讨论】:

  • 你找到了好方法吗?

标签: nlp stanford-nlp spacy information-extraction named-entity-recognition


【解决方案1】:

如果您继续使用 spaCy,我会避免尝试识别 NER 中的数字,因为它们已经在解析器的依赖关系树中识别为 QUANTITY

>>> import spacy
>>> text = "We have a towing capacity of 5,000 lbs"
>>> nlp = spacy.load('en_core_web_lg')
>>> doc = nlp(text)
doc.print_tree()
<stdin>:1: DeprecationWarning: Positional arguments to Doc.merge are deprecated. Instead, use the keyword arguments, for example tag=, lemma= or ent_type=.
[{'word': 'have', 'lemma': 'have', 'NE': '', ...{'word': 'of', ... 'modifiers': [{'word': '5,000 lbs', 'lemma': '5,000 lbs', 'NE': 'QUANTITY', 'POS_fine': 'NNS', 'POS_coarse': 'NOUN', 'arc': 'pobj', 'modifiers': []}]}]}]}]

您可以训练ner 管道以获取新标签,例如PRODUCT,但我强烈建议您阅读catastrophic forgetting 问题,这样模型会在您磨练时“忘记”旧标签在新的。在我们训练 ner 将 COMPANY 识别为标签时,我曾与一位同事亲自遇到过这种情况。

我可能会做的不是训练 NER 来识别每个特征,而是训练它来识别 FEATURE 作为一个实体,然后给它提供诸如“全轮驱动”或“越野悬架”之类的东西,这样您就可以从一段文本中聚合所有 FEATUREs,而不是为每个文本进行训练。当然,这取决于你想从 NLP 中得到什么。我建议的唯一原因是,我认为车辆上可能的选项数量会越来越多(例如,您是否会将雷达巡航作为理想输出中的一个功能包括在内?)并且拥有一个包罗万象的意愿让事情变得更容易。同样,这取决于您的最终目标

【讨论】:

  • 这是有道理的起点,谢谢。整理好之后,我需要建立关系以将 QUANTITY(在大多数情况下)与 FEATURE 相关联。
猜你喜欢
  • 2019-06-16
  • 1970-01-01
  • 1970-01-01
  • 2019-04-22
  • 2014-04-21
  • 2017-02-20
  • 1970-01-01
  • 1970-01-01
  • 2021-01-29
相关资源
最近更新 更多