从非结构化文本中提取具有属性的事件

数据挖掘 nlp 文本挖掘 信息提取
2022-02-24 13:21:05

我正在抓取组织(主要是零售商)的网站,我想使用 NLP 从网站的非结构化文本中提取信息。我要做的第一件事是在文本中识别与新冠病毒相关的事件,例如“商店将从 3 月 3 日起关闭”或“不幸的是,我们必须永久关闭”。词典相当有限,可能涉及几十个(或最多数百个)短语/表达。

我对正则表达式非常熟悉,并且我认为可以使用基于规则的方法来提取一些事件及其属性(例如,日期),尤其是使用小型词典。然而,规则的局限性是显而易见的(很容易错过变化很小的表达式),我也想使用一些 ML 方法。我熟悉情绪分析和主题建模等机器学习方法,但它们似乎是为分类问题而设计的,而不是从文本中提取特定属性和数据点的这种方法。我也知道NER可以很好地获取日期和地名,例如,但不适用于事件(例如,在日期 y 关闭商店 x)。

有没有更聪明的方法来做这种 NLP,超越几个 RegEx 的手动定义?也许是从注释示例中学习的词汇模式?

1个回答

我认为最接近的标准 NLP 任务是关系提取一般来说,这是一项相当复杂的任务,涉及 NER、句法分析和语义角色标记。

请注意,有各种工作使用术语“事件提取”(例如this),但据我所知,该任务没有明确的定义。它通常与将事件放在时间线上有关,这与您的目标完全不同,但可能相关。

一种基本方法是将问题视为像 NER 一样的序列标记任务:给定训练语料库中的一些带注释的“事件”,模型可能能够学习模式并检测文本中的任何新“事件”。