質問

こんにちは皆さん:私は Stanford CoreNLP ソフトウェアを使用して、さまざまな人からの数百の手紙 (それぞれ約 10 KB) を処理しています。出力を取得したら、それをさらに処理して、トークン、文、文字のレベルで情報を追加する必要があります。私は NLP をまったく使用したことがありませんが、さらなる処理を可能にするために Stanford CoreNLP からパイプライン結果を出力する一般的または最良の方法は何だろうと疑問に思っていました。

一般的なアプローチは XML に出力することだと思います。そうすると、約 1 GB のディスク領域が必要になると推測されます。では、さらに処理したり情報を追加したりするために、それだけの量の XML を Java にロードし直すことがどれほど迅速かつ簡単になるだろうかと疑問に思います。

別の方法として、CoreNLP が生成するアノテーション オブジェクトをシリアル化し、それらをロードして処理することもできます。利点:さらに処理するために文解析文字列をツリーに変換する方法を考える必要がありません。欠点:アノテーション オブジェクトには、さまざまなタイプのオブジェクトが多数含まれており、私はまだ操作がかなり大まかであり、Stanford CoreNLP のこれらに関するドキュメントは私には薄いように思えます。

役に立ちましたか?

解決

これは本当に、その後何をしたいかの問題です。シリアル化を行うのがおそらく最も簡単で高速なアプローチですが、欠点は、CoreNLP データ構造を理解する必要があることです。

別の言語で読み込んだり、独自のデータ構造に読み込んだりする場合は、XML として保存します。

私なら最初の道を行きます。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top