我需要用RDF格式表示句子。
换句话说,“约翰喜欢可乐”将自动表示为:
Subject : John
Predicate : Likes
Object : Coke
有谁知道我应该从哪里开始?是否有任何程序可以自动执行此操作,还是需要从头开始执行所有操作?
答案 0 :(得分:10)
看起来你想要一个句子的类型依赖,例如John likes coke
:
nsubj(likes-2, John-1)
dobj(likes-2, coke-3)
我不知道任何直接生成RDF的依赖解析器。但是,他们中的许多人使用称为CoNLL-X的标准化制表符限制表示法生成解析,并且从CoNLL-X转换为RDF应该不会太难。
开源依赖解析器
有许多解析器可供选择提取类型依赖项,包括以下最新开源选项:
Stanford Parser 包括一个用于解析英语的预训练模型。要获取类型化的依赖项,您需要使用标记-outputFormat typedDependencies
。
对于 MaltParser ,您可以下载英文模型here。
MSTParser 包含一个200个小句的英语训练集,您可以使用它来创建自己的英语解析模型。但是,对这些小数据的培训会损害最终解析器的准确性。因此,如果您决定使用此解析器,最好使用可用的预训练模型here。
上面链接的所有预训练模型都根据斯坦福依赖形式(ACL paper和manual)生成解析。
在这三者中,斯坦福分析师是最准确的。 MaltParser是最快的,该软件包的一些配置能够解析1800 sentences in only 8 seconds。
答案 1 :(得分:2)
一种选择是使用Link Parser的输出,该输出可在兼容GPL的许可下使用。您可以根据需要在这些输出和RDF节点之间定义转换层。
查看{John like coke'示例中的this demo!