1

私は小さなプログラムを作成しようとしています。このプログラムは、txt ファイルのコンテキストを読み取り、Spotlight Web サービスに送信してセマンティック アノテーション (text\html 出力形式) を取得します。残念ながら、Spotlight Demo と比較すると、エンティティの断片しか「認識」されていません。 「映画」と「エイリアン」は、デモのどこにあるのか注釈が付けられていません。大きなテキストでも同じことが起こります.OpenCalais WebServiceでも同様の問題がありましたが、これは、コマンドを使用して入力テキストをエンコードしようとしたためです.

     input = URLEncoder.encode(input, "UTF-8");

これをコメントアウトしたら、問題は解決しました。残念ながら、ここではそうではありません。

4

1 に答える 1

2

何が起こっているのかを理解できるように、デモとあなたのプログラムで得られた結果を、デモ インターフェースで使用されるパラメータとともに投稿していただけると助かります。これ以上の情報がなければ、私が助けることができるかどうかわかりません.

しかし、いくつか推測してみましょう。次のいずれかだと思います。

  1. パラメーターの信頼とサポートを設定しなかったため、Web サービス呼び出しの結果が、デモ インターフェイスよりも高い値によって除外されている可能性があります。パラメータ「&confidence=0.0」と「&support=0」を追加してみてください。これにより、すべてが表示されます (明らかに正しくない注釈も含まれます)。より高い精度を得るために、これらのパラメーターをより高く設定できます (再現率が低くなります)。投稿パラメーターの追加に関するヘルプについては、この他の回答を参照してください: How to add parameters to HttpURLConnection using POST
  2. また、使用するスポッターを明示的に設定していないため、Web サービスが Web サービスとは異なるスポッターを使用している可能性があります。DBpedia Spotlight でのスポッティングの詳細: https://github.com/dbpedia-spotlight/dbpedia-spotlight/wiki/Spotting (同じパラメーターが /annotate に適用されます)
于 2012-06-28T07:42:07.563 に答える