从原始文本创建语句

数据挖掘 nlp
2022-02-28 06:51:58

背景

我有一大堆写得很糟糕的陈述,一些事实,一些观点。它都是从各种公共互联网资源中刮下来的,都是英文的。

我现在在 python 中使用 nltk 来尝试从这个庞大的文本块中找出一些基本语句。

我的目标不是捕捉所有陈述,误报也不算太糟糕。我只是想从这个文本块中得到一些可能真实而简单的断言。

例子

鲍勃自 1983 年起与丽莎结婚。

丽莎的猫雪球两年前去世了。

鲍勃和丽莎有一个 30 岁的儿子,名叫乔治。

从这些简单的句子中,我想解析出一些简单的事实,比如:

"Bob is married", "Lisa is married", "George is Lisa's son", "George is Bobs son", "Snowball is a cat"

它不需要完全是这样。

实际问题

这种处理叫什么?(除了它是自然语言处理的一个子类别。)

解决这个问题的更简单和更难的方法是什么?

公共和专有算法在多大程度上解决了这个问题?

1个回答

您可能想了解关系提取的任务。最常见的场景是提取三元组(entity1、relation、entity2)。通常 entity1 和 entity2 是给定的,并且可能的关系列表是已知的。常用方法使用分类器,其他方法可以基于规则。

以“鲍勃自 1983 年与丽莎结婚”这句话中的例子为例。系统可以提取 (Bob, is_married, Lisa)

一种变体是开放信息提取,它尝试提取关系但没有指定信息。

该主题存在多个项目,例如DeepDiveIEPYopenie-standalone

演示文稿此评论概述了该任务。