gpt4 book ai didi

nlp - 如何处理我从 syntaxnet 获得的树?(conll 格式)

转载 作者:行者123 更新时间:2023-12-01 13:35:52 24 4
gpt4 key购买 nike

我想我需要 edu.stanford.nlp 包中的 Semgrex。对于这个任务,我需要从 edu.stanford.nlp.trees.Tree 构建树并像

import edu.stanford.nlp.semgraph.semgrex.SemgrexMatcher;
import edu.stanford.nlp.trees.Tree;
import edu.stanford.nlp.semgraph.SemanticGraphFactory;

public class SemgrexDemo {
public static void main(String[] args) {
Tree someHowBuiltTree;//idnt know how to construct Tree from conll
SemanticGraph graph = SemanticGraphFactory.generateUncollapsedDependencies(someHowBuiltTree);
SemgrexPattern semgrex = SemgrexPattern.compile("{}=A <<nsubj {}=B");
SemgrexMatcher matcher = semgrex.matcher(graph);
}
}

实际上我需要一些关于如何从 conll 构造树的建议。

最佳答案

您想从您的 CoNLL 文件加载一个SemanticGraph

import edu.stanford.nlp.trees.ud.ConLLUDocumentReader;
...

CoNLLUDocumentReader reader = new CoNLLUDocumentReader();
Iterator<SemanticGraph> it = reader.getIterator(IOUtils.readerFromString(conlluFile));

这将生成一个 Iterator,它将为您的文件中的每个句子提供一个 SemanticGraph

从依赖项解析生成选区树是一个开放的研究问题,因此据我所知,目前 Stanford CoreNLP 无法做到这一点。

关于nlp - 如何处理我从 syntaxnet 获得的树?(conll 格式),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43210411/

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