2011-12-02 6 views
2

決定的な決定を下すための助けを求める。 私はウィキペディアにアクセスして記事の内容を入手するのに役立つJava APIを探しています。私のプロジェクトは、特定のドメインのコンセプトの分類法を構築することです。 詳細:NLP Wikipediaを使用して(Javaプログラミング)

  1. 私はドメインテキストのコーパスを持っています。私はドメインの最初のセットを抽出します。
  2. 私はウィキペディアでその定義を抽出するためにこれらの単語の記事を検索します。単語の定義は、私がこの単語のハイパーソームを見つけるのに役立ちます。 Wikipediaの呼び出しは確実にJavaループで行われます。
  3. 前の手順で見つかったハイパーソンの定義を検索して、そのハイパーソンを見つけます。
  4. 単語をそのハイパーリンクにリンクするグラフを描きます。

私の問題は、ステップ2では決定的な決定ができ​​ないということです。

  1. 私は、WikipediaのオンラインにアクセスするためのJavaコードを書きました。それは成功しますが、私の結びつきのスピードは、執行が成功するか失敗するかを決定し、一連の例外を与えます。時々、実行は私にわずか2か3の記事を与える。
  2. 私はWikipediaダンプを処理するためにJWPLを使用しようとしました。私は十分なRAMがないために失敗しました。
  3. 私は現在、一連のJava APIの間に躊躇しています。

この意味で既に何かを行っている場合は、私の見解をお聞かせください。私は本格的な調査をしたと私は、次のリンクが見つかりました:私は、任意の提案をいただければと思います

  1. http://wdm.cs.waikato.ac.nz:8080/wiki/Wiki.jsp?page=Installing%20the%20Java%20API
  2. http://jwikiapi.sourceforge.net/index.html
  3. http://code.google.com/p/gwtwiki/
  4. http://www.mediawiki.org/wiki/API%3aMain_page
  5. http://jwbf.sourceforge.net/

を。

+0

手順2で抽出した「定義」の正式な説明を教えてください。 –

+0

定義は正式にはWikipediaの記事の最初の文です。たとえば、「掘削リグ」という単語の場合、次のプレーンテキストを抽出する必要があります。「掘削リグは、地面に穴(通常はボアホールと呼ばれる)またはシャフトを作成する機械です。 – Lida

+0

DBpediaを使用していますか? http://dbpedia.org –

答えて

0

私は修士論文をしている間、何か似たようなことをしました。私は便利なコードはありませんが、私はwikipediaページを取得するためにスタンドアロンのPythonライブラリ(python requestを使用)を書いたと思います。

時折例外が発生することがあります。私の解決策は、フェッチを行うためにスレッドを生成することでした。スレッドが非アクティブだった場合は、現在の用語でフェッチプロセスを再開しました。接続速度は重要ではありません。ウィキペディアのページはあまり大きくありません。 WikipediaのAPI私はあまり役に立ちませんでした。 Wikipediaを掻き集めるpythonやrubyスクリプトを書くのは簡単です。

関連する問題