gpt4 book ai didi

python - 从文本中提取关系

转载 作者:太空狗 更新时间:2023-10-30 02:32:12 25 4
gpt4 key购买 nike

我想以 (SUBJECT,OBJECT,ACTION) 关系的形式从非结构化文本中提取关系,

例如,

“男孩正坐在 table 上吃鸡”

会给我,

(男孩,鸡,吃)
(男孩, table ,位置)

等..

虽然一个python程序+NLTK就可以处理上面这么简单的一句话。

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

最佳答案

如果您的句子没有比您展示的示例复杂得多(例如,关于照应),Stanford parser会给出好的结果,基于 probabilistic context-free grammar,这样您就可以轻松地将其转换为您想要的格式。有一个demo available online.对于你的例子,它会给出类似的东西

nsubj(sitting, boy)

prep_on(sitting, table)

etc.

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

sit(x)

boy(y)

table(z)

agent(x,y)

on(x,z)

etc.

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

在您的示例中,两者都不会为您提供“男孩”和“ table ”之间关系的特征——为此您需要更强大的语义推理工具,我不确定是否存在这样的东西。

编辑

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

关于python - 从文本中提取关系,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19574549/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com