4

私は、Python 自然言語処理ライブラリである Spacy を使用して、未加工のテキストをこのより複雑なオブジェクト指向形式、より具体的には依存関係ツリーに解析しています。

上記の操作の実行には時間がかかります。非常に高価なモデルをロードしてから、非常に大量のテキストを解析する必要があります。この最初の解析が完了した後、データの処理をより高速に繰り返すために、後続の実行で時間を節約したいと思います。

最初の実行後にこれらの結果を「保存」し、その後の実行でこれらの前処理されたバージョンをより速くリロードするにはどうすればよいですか?

PICKLE: pickle を使用しようとすると、Docs/Tokens クラスのシリアル化を解除するときに次のエラーが発生します。

File "spacy/tokens/token.pyx", line 56, in spacy.tokens.token.Token.__cinit__ (spacy/tokens/token.cpp:3868)
TypeError: __cinit__() takes exactly 3 positional arguments (0 given)

ありがとう。

4

1 に答える 1

0

pickle ソリューションはありませんが、過去にこのスクリプトを作成して、SpaCy 出力を XML (NAF 形式) として保存しました。

パイプラインによっては、出力を CoNLL 形式 (例: CoNLL-U ) で保存することもできます。これにより、コードは他の多くの NLP ツールと相互運用可能になります。これは、パーサーを問題なく変更するだけで済むため、優れています。

このためのサンプル コードはありませんが、プロセスは似ているはずです。

于 2017-10-29T12:05:18.203 に答える