大作になっちゃったもんで隠しておくのにしのびなくなっちゃったのよね。
「日本の姓一覧」みたいな検索をかけると、二つ大きなサイトがヒットする。このうち 苗字の読み方辞典のほうの成果を MeCab 辞書に仕立て上げよう、って話。
一連の MeCab 話内で「公開条件がよくわからない」と囁いてたのは実はこれ。今でもよくわからないんだけれど、ただ少なくとも「ダメとは言ってない」し、少なくとも私の配布はデータそのものではないので、問題がなかろうと判断し、お披露目することにした。
冒頭で言ったように結構な大作になってしまったので、説明を先に。
動かし方の説明はあんましいらんかな。「動くなら動く」はず、Python 3.x なら。オプションなしで動かせば、勝手に 苗字の読み方辞典からダウンロードして、こいつ用の入力を生成する。
ただ、作られる辞書(の入力csv)は結構説明必要かなと思う。
基本的には「この辞書を登録することによる悪影響」を極力小さくなるように考えていて、なので作る単位がいちいち細かい。たとえば「conflict/lt30」というのが出来るが、これは「ほかの品詞と衝突してるやつのうち結構致命的なもので、myoujijiten による実在推計数が 30人未満」というカテゴリ。このフォルダの単位でユーザ辞書を作って、「欲しいものだけ欲しい」とすれば、思わぬ合致が少なかろう、という考え方。
事実「日本中のありとあらゆる苗字」を扱おうとすると、トラブルメーカになりうる姓は非常に多く、たとえば「仮」さんなんてのが実在してて、なので「電話レンジ(仮)」に反応する。「宇宙」さんなんてのもいるよ。是非是非生成してみてそうした「ヤバい姓」を楽しんで欲しい。
んで、「コスト」が結構重要で。結局その衝突の件とも密接に関係するんだけど、myoujijiten での読みの「頻度」の情報を活用したかったわけだね。これによる「最頻」が選ばれないと困る。だからシステム辞書にあるものも含めて myoujijiten が持ってる姓全てを扱い、全てのコストを調整する。(ざっくりと現実のドキュメントに適用してみて「そう悪くないかな」という調整はしたけど、この調整値そのものはちまちま直していこうとは思う。)
てわけでご賞味くたされ:
蛇足。
実はいざこうやって公開しようとして致命傷に気付き修正した…てな事情は、Rev1 から Rev2 への変更で堪能してくれ。かなり楽しいミスをやらかしてる。少し前のこのネタに関するミスね。