小説家になろうからルビを取ってきて漢字から読みを推論する

twitterで、タイトルみたいなのを見つけた。確かに、小説家になろうからルビをとって読みを推論すれば中二病的なイカす読みを取り出せるのではということでやってみました。

ルビを集め辞書を作成

クロールしてよしなに集める 単語総数は8932です。

word2vecで解析

元文字列は、基本的に単語(文のときもある)なので、単語として解析すると関係性を表現できないので、元文字列を文字に分解して その文字を、wordとしてword2vecを作成しました。

暗黒物質を例に
word => 暗黒, 物質
char => 暗, 黒, 物, 質

それぞれの、文字のベクトルの総和を素性としました。

読みの推論

以上の素性を用いて、一般的な学習機で分類を行いました。

結果

辞書に存在しないワードを選んでいます

"悪魔の左腕" => "レッドネイル"
"青空文書書式" => "エキスパート"
"国際宇宙ステーション" => "箱舟"

まとめ

割りとそれっぽい読みを取り出せた。 ただ、クロールしてきた単語の重複や、特殊文字を含んでいるもの削除するなどした結果、辞書が9000ワードくらいになっていた。そのため、word2vecに含まれていない文字があったり、推論したワードの読みの重複が目立ちました。 また、今回は、ワードの分類だったので、文字列生成のように驚きのある読みは出現しませんでした。次は、生成の方もやってみたい。

source

github.com