我想用Space来提取“agent, action, and patient”形式的词关系信息。例如,“自动驾驶汽车将保险责任转移给制造商”->(“自动驾驶汽车”,“shift”,“责任”)或(“自动驾驶汽车”,“shift”,“对制造商的责任”)。换句话说,“谁对谁做了什么”和“什么将动作应用于其他事情”。我对我的输入数据了解不多,所以我不能做出很多假设。
我也想提取逻辑关系。例如,“每当/如果太阳在天空中,鸟儿就会飞”或“热使冰淇淋融化”之类的因果案例。
对于依赖关系,Space 建议逐字迭代句子并以这种方式找到根,但我不确定在遍历中使用什么清晰的模式才能以我可以组织的可靠方式获取信息。我的用例涉及将这些句子结构化为可用于查询和逻辑结论的形式。这可能与我自己的迷你 Prolog 数据存储相当。
对于因果关系,我可以硬编码一些规则,但是我仍然需要找到一种可靠地遍历依赖树并提取信息的方法。(我可能会将其与使用神经核的核心解析以及词向量和概念网络相结合来解决歧义,但这有点切题。)
简而言之,问题实际上是关于如何提取该信息/如何最好地遍历。
顺便说一句,我想知道我是否真的需要一个选区树来进行短语级解析来实现这一点。我认为斯坦福提供了这一点,但 Spacy 可能没有。