自動タグ付け機能でも作ってみる - 3 : Wikipediaによる事前単語重み付けを考える

ところで

そもそもの前提として、このブログは記事がとても少ない。 記事が少ないために、検索のための単語重み付けをしたところで、ベースとなる文章が少なすぎて、まともに機能しないだろう。

その為、学習(?)データとして、Wikipediaの日本語版データを拝借することにした。

日本語Wikipediaのダンプデータから本文を抽出する

【Python】日本語Wikipediaのダンプデータから本文を抽出する - プログラムは、用いる言葉の選択で決まる に詳しい。

WikiExtractorを使うと、最終的には次のようなファイルが大量に作られる。

<doc id="..." url="...">プレーンテキスト...</doc>
<doc id="..." url="...">プレーンテキスト...</doc>
<doc id="..." url="...">プレーンテキスト...</doc>
...

XMLの様でXMLでない、ちょっとXMLなファイルである。 簡単なIOのラッパーを書いて、内容を <root>...</root> で包み、xml.etree.ElementTree.iterparse で処理できよう。

こいつを先の MarkdownParser と同じIFにしてやれば、MarkdownではなくWikipediaのダンプデータを食って単語の重み付けをできるようになるはずだ。

figure-1

処理の流れ(学習フェーズを含む)

figure-2

いざ実装

考えるべきことは一通り考えきったはずなので、実装に入っていこうと思う。