【问题标题】:How to deserialize a CoNLL format dependency tree with ClearNLP?如何使用 ClearNLP 反序列化 CoNLL 格式的依赖树?
【发布时间】:2015-05-21 06:47:58
【问题描述】:

使用 ClearNLP 进行依赖解析会创建一个 DEPTree 对象。我已经解析了一个大型语料库并将所有数据序列化为 CoNLL 格式(例如,this ClearNLP page on Google code)。

但我不知道如何反序列化它们。 ClearNLP 提供了一个DEPTree#toStringCoNLL() 方法(向下滚动this page 以查看它)。我正在寻找一些东西来读取 CoNLL 格式的解析树并创建一个 DEPTree 对象。我试图对其进行逆向工程,但并没有真正理解代码的内部工作原理。

相反,我创建了自己的依赖树类来处理我需要的基本功能,但我真的很想知道如何获取DEPTree 对象。到目前为止,我还没有在他们的 API 中找到任何这样做的方法。

【问题讨论】:

    标签: java nlp deserialization parse-tree clearnlp


    【解决方案1】:

    找到了答案,所以分享关于 SO 的智慧 :-) ...

    可以使用edu.emory.clir.clearnlp.reader 包中的TSVReader 完成反序列化。

    public void readCoNLL(String inputFile) throws Exception {
        TSVReader reader = new TSVReader(0, 1, 2, 4, 5, 6, 7);
        reader.open(new FileInputStream(inputFile));
        DEPTree tree;
        while ((tree = reader.next()) != null)
            System.out.println(tree.toString(DEPNode::toStringDEP));
    }
    

    这是ClearNLP的作者Jinho Choi提供的here

    在旧版本 (com.clearnlp.reader.DEPReader 类而不是 TSVReader

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2023-01-12
      • 1970-01-01
      • 1970-01-01
      • 2018-04-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多