Wikipediaから人名(姓・名別、読みつき)を取り出す

小ネタです。

日本語Wikipediaから人名(姓・名別、読みつき)を取り出すスクリプトを書きました。


https://github.com/hiroshi-manabe/extract_jawp_names


日本語の処理をする際に、Wikipediaのデータを使うことは多いと思います。

いろいろと便利なWikipediaのデータですが、人名に関しては「姓と名が分かれていない」という問題があります。

まあ、本文の冒頭にはたいていスペース区切りで書かれたものがあるので、それを使えば切ることができます。

また、Wikipediaの記事名には読みがついていないという問題もあります。

これも、たいてい本文の冒頭でカッコ内に書いてあります。


ですので、大きな問題はないのですが、Wikipediaのデータは基本的に人が編集しているので、形式がけっこう自由です。

例えば、本文冒頭の記事名はたいてい太字で強調されているのですが、読みはそうである場合もそうでない場合もあります。

そのほかにもいろいろと細々とした問題があり、対応するのはけっこう面倒です。


そういったわけで、人名抽出スクリプトを書いたので公開します。

大した手間ではないのですが、同じことがあちこちで繰り返されると不毛なので。


読みの抽出には、記事中の「DEFAULTSORT」というデータを使っています。

これは、例えば「織田 信長(おだ のぶなが)」であれば「おた のふなか」、「勝 海舟(かつ かいしゅう)」であれば「かつ かいしゆう」のように、濁音や半濁音を清音に直し、小書き文字を大書き文字に直す等の処理をしたソート用のキーで、たいていの記事についています。

このキーを正規表現にして本文にマッチさせることで、かなり確実に読みを取得することができます。


出力結果は次のようになります(2016/02/03版)。

士郎 正宗	しろう まさむね
高橋 留美子	たかはし るみこ
村上 もとか	むらかみ もとか
青木 光恵	あおき みつえ
赤塚 不二夫	あかつか ふじお
一条 ゆかり	いちじょう ゆかり
うすた 京介	うすた きょうすけ
浦沢 直樹	うらさわ なおき
車田 正美	くるまだ まさみ
高橋 しん	たかはし しん
...


読みを取り出す処理自体は人名に限ったものではないので、Wikipedia記事一般に使えるはずですが、今回の個人的な目的は人名抽出だったため、一般の記事についてはテストしていません。

一般の記事に対してやってみたい人は自己責任でお願いします(気が向いたら fork してください)。