この記事では、言語処理100本ノック第2章の解説に引き続き、言語処理100本ノック第3章の解説を行っていきます。 第3章では、正規表現ライブラリやメタ文字を使用して、wikipediaの記事を処理していきます。 それでは、 第3章の問題を解きましたので、処理の流れとポイントを踏まえて、解説していきます。
問題と解説
Wikipediaの記事を以下のフォーマットで書き出したファイルjawiki-country.json.gzがある.
- 1行に1記事の情報がJSON形式で格納される
- 各行には記事名が”title”キーに,記事本文が”text”キーの辞書オブジェクトに格納され,そのオブジェクトがJSON形式で書き出される
- ファイル全体はgzipで圧縮される
以下の処理を行うプログラムを作成せよ.
JSONデータの読み込み
カテゴリ名を含む行を抽出
カテゴリ名の抽出
セクション構造
ファイル参照の抽出
テンプレートの抽出
強調マークアップの除去
内部リンクの除去
MediaWikiマークアップの除去
国旗画像のURLを取得する
おわりに
以上が、言語処理100本ノック第3章の解説になります。正規表現のメタ文字については、最初は理解する事に時間がかかるかもしれませんが、第3章を通して徐々に理解していくと思います。実装方法は、一通りではないので、自分なりのコードで挑戦してみてはいかかでしょうか。次は、言語処理100本ノック第4章の解説を行っていきます。
K.Y