如何使用 OpenIE 执行搜索

How to perform search using OpenIE

我下载了 UWashington 的 OpenIE。二进制接受一个句子并输出标签。但是在他们的网站 http://openie.cs.washington.edu/ 上,他们展示了搜索功能。您可以搜索 "person" 和 "location" 并获得 "live in"、"work in" 等结果。但是他们的 github 网站没有告诉您如何执行此操作。我如何做到这一点并提供我自己的数据?

您可以使用搜索软件(例如 elasticsearch、Whoosh)在从数据中提取的主谓宾元组上建立索引。例如,如果您使用 elasticsearch,则需要遍历所有 OpenIE 输出并为每个元组创建这样的请求:

curl -XPOST 'http://localhost:9200/spos/spo/' -d '{ "subject" : "martians", "predicate" : "live in", "object" : "the moon" }'

建立索引后,您可以对主语、谓语和宾语的任意组合进行搜索和聚合:

curl -XGET 'http://localhost:9200/spos/_search?q=predicate:live in AND object:the moon'