从tex中提取关系

2024-10-02 08:14:26 发布

您现在位置:Python中文网/ 问答频道 /正文

我想从非结构化文本中提取关系,形式是(主语、宾语、动作)关系

例如

“男孩正坐在桌子上吃鸡肉”

会给我,

(男孩,鸡肉,吃)
(男孩,桌子,位置)

等等。。在

虽然python程序+NLTK可以处理上面这样一个简单的句子。在

我想知道你们中是否有人使用过工具或库(最好是开源)从更广泛的领域(如大量文本文档或web)提取关系。在


Tags: 工具文本程序关系开源形式句子结构化
1条回答
网友
1楼 · 发布于 2024-10-02 08:14:26

如果你的句子没有比你展示的例子复杂得多(例如,关于回指),那么Stanford parser会给出很好的结果,基于一个你可以很容易地转换成你想要的格式的probabilistic context-free grammar,。有一个demo available online.作为您的示例,它将给出类似于

nsubj(sitting, boy)

prep_on(sitting, table)

etc.

如果你的句子变得更复杂,你可能会有兴趣尝试Boxer,,它基于概率combinatory categorial grammars.从C&C语法分析生成discourse representation structures。这些结构可能更难适应你想要的格式,但会给你更大的灵活性。对于您的示例,还有一个demo available online.,它看起来像

sit(x)

boy(y)

table(z)

agent(x,y)

on(x,z)

etc.

Stanford解析器是用Java编写的,可以在GPL下使用。C++C是用C++编写的,在SWI PROlog中是拳击手。这两个版本不是在真正免费的许可下发布的,但是您可以获得源代码,对其进行修改,并将其用于任何非商业项目。在

这两种方法都不能描述“boy”和“table”之间的关系,在你的例子中,你需要更强大的语义推理工具,我不确定是否存在类似的东西。在

编辑

It has now become once more possible to obtain the source code for C&C and Boxer, along with a collection of models.

相关问题 更多 >

    热门问题