0

ClearNLP を使用した依存関係の解析により、DEPTreeオブジェクトが作成されます。大規模なコーパスを解析し、すべてのデータを CoNLL 形式でシリアル化しました (たとえば、Google コードのこの ClearNLP ページ)。

しかし、それらを逆シリアル化する方法がわかりません。ClearNLP はメソッドを提供します(このページDEPTree#toStringCoNLL()を下にスクロールして表示します)。CoNLL形式の解析木を読み込んでオブジェクトを作成するものを探しています。リバース エンジニアリングを試みましたが、コードの内部の仕組みがよくわかりませんでした。DEPTree

DEPTree代わりに、必要な基本機能を処理するために独自の依存関係ツリー クラスを作成しましたが、代わりにオブジェクトを取得する方法を知りたいと思っています。これまでのところ、これを行う API のメソッドは見つかりませんでした。

4

1 に答える 1

0

答えが見つかったので、SOに関する知恵を共有してください:-) ...

TSVReaderデシリアライゼーションは、edu.emory.clir.clearnlp.readerパッケージ内のを使用して実行できます。

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 によって提供されています。

com.clearnlp.reader.DEPReader古いバージョン (< 3.x)では、 の代わりに クラスを使用する必要がありますTSVReader

于 2015-05-21T16:08:49.620 に答える