5

一部のテキスト マイニング アプリケーションでは、英語版ウィキペディアの記事ごとにすべての単語の頻度を特定し、そのデータを MySQL データベースに入力する必要があります。この公式ページは、ダンプで mwdumper または xml2sql を使用することを提案していますが、それらは私の目的に直接は役立ちません (誰かがその方法を説明できない限り)。

一方、 WikiExtractor、MySQLdb for Python、およびローカルの MySQL サーバーを使用すると、やりたいことを正確に実行できますが、ダンプ全体を解析するのに 1 か月かかるほど遅くなります。変更された WikiExtractor プログラムをプロファイリングすると、実行時間のほとんどがネストされた正規表現の検索とデータベースの挿入に費やされていることがわかります。

理想的には、記事の処理に数日以上かかることは望ましくありません。どうすれば効率的にできますか?

4

1 に答える 1

2

Perl パッケージのMediaWiki::DumpFileは解析に適しています。ダンプをロードして各ページを読み取るには、ほんの数行のコードしか必要ありません。

簡単な単語頻度の計算を行うには、Perl FAQ のサンプル コードを使用するか、よりスマートなパッケージText::Ngramsを使用できます。

結果をデータベースに追加するのはあなた次第です。アプリケーションを開発していて、ニーズを知っているはずだからです。

于 2012-11-25T17:28:36.787 に答える