私のプロジェクトでは、Stanford Parserを使用しています。そこでは、10万文以上の解析が行われます。 JavaまたはNLTKの両方からStanford Parserを実行すると、最初にパーサーがロードされ、実際にはその上で文が実行されます。入力文の実際の解析時間と比較して、読み込み時間がどれくらいあるか調べたいと思っていました。スタンフォードパーサーのプロファイリング
コードにprintステートメントを追加してコンパイルし、各ステートメントにかかる時間を調べる方法はありますか?
私のプロジェクトでは、Stanford Parserを使用しています。そこでは、10万文以上の解析が行われます。 JavaまたはNLTKの両方からStanford Parserを実行すると、最初にパーサーがロードされ、実際にはその上で文が実行されます。入力文の実際の解析時間と比較して、読み込み時間がどれくらいあるか調べたいと思っていました。スタンフォードパーサーのプロファイリング
コードにprintステートメントを追加してコンパイルし、各ステートメントにかかる時間を調べる方法はありますか?
まず、shift reduce parser(〜10倍速い)を使用していることを確認し、依存性解析のみが必要な場合はdependency parser(〜100倍高速)です。
プロファイリングの場合:数百の文章を解析すると、文章を解析するのに要する時間は、モデルを読み込む時間よりもかなり長くなります。このモデルは、プログラムの起動時に一度だけロードされます。それほど細かくない場合は、パーサーを呼び出す前と呼び出し後に常にSystem.currentTimeMillis()
呼び出しを行い、そのようにプロファイルできます。