2016-05-07 4 views
0

私のプロジェクトでは、Stanford Parserを使用しています。そこでは、10万文以上の解析が行われます。 JavaまたはNLTKの両方からStanford Parserを実行すると、最初にパーサーがロードされ、実際にはその上で文が実行されます。入力文の実際の解析時間と比較して、読み込み時間がどれくらいあるか調べたいと思っていました。スタンフォードパーサーのプロファイリング

コードにprintステートメントを追加してコンパイルし、各ステートメントにかかる時間を調べる方法はありますか?

答えて

0

まず、shift reduce parser(〜10倍速い)を使用していることを確認し、依存性解析のみが必要な場合はdependency parser(〜100倍高速)です。

プロファイリングの場合:数百の文章を解析すると、文章を解析するのに要する時間は、モデルを読み込む時間よりもかなり長くなります。このモデルは、プログラムの起動時に一度だけロードされます。それほど細かくない場合は、パーサーを呼び出す前と呼び出し後に常にSystem.currentTimeMillis()呼び出しを行い、そのようにプロファイルできます。

関連する問題