勉強がてらコードネームの候補ワードを青空文庫から抽出してみる

コードネームが好きすぎるのでプログラミングしてみる(難しすぎるよ編)
前回に続きコードネームを作成中です。前回は外観だけ作成というところで終わっておりましたが、何とか予定していたゲームスタ...

大好きなボードゲームであるコードネームをプログラミングしてみる話の続き。大枠の処理は出来上がったがワードをどのように準備するかが課題となっています。

辞書データから一般名詞を持ってきたものの……

手っ取り早く一番初めに思いつくのは辞書データからの抽出。前回の記事ではこの方法で作成してみましたが、一般名詞といえども 8万7千語ありほとんどがきいたことないような言葉という状況。これではゲームになりませんでした。

そこで、いかにして普遍的に認知されているワードを用意するかということを考えてみました。ざっと思いついたのは「児童文学から単語を抽出」「中学レベルまでの英単語学習データから抽出」の二つです。前者は児童文学が青空文庫などからデータで抽出できること、また12歳あたりまでをターゲットとしていることからその中に出てくる単語は多くの人に認知されているものであろうと予想されます。後者については中学までに習う英単語であれば勿論その対応する日本語も皆が理解できるものであろうと考えました。

いざ青空文庫から単語を抽出

英単語は面白みに欠けるため青空文庫からデータを抽出することにいたしました。青空文庫の児童文学からデータをごそっと持ってきて形態素解析し一般名詞だけを抽出することにいたします。

gensimのライブラリを使うと、Word2Vecを使うことは恐ろしく簡単です。 (パラメータのチューニングは別にしてとにかく使ってみるという目的であれば) しかし、日本語を対象にする場合、形態素解析をしないといけないというハードルが...

データの抽出と解析については上記記事を参考にいたしました。(記事はword2vecがメインの内容ですが今回はデータ抽出だけ参考にしています。word2vecは非常に興味があるのでいずれボドゲに絡めて研究してみます。)

 むかし、むかし、あるところに、ちいちゃいかわいい女の子がありました。それはたれだって、ちょいとみただけで、かわいくなるこの子でしたが、でも、たれよりもかれよりも、この子のおばあさんほど、この子をかわ…

サンプルとして使ってみたデータはご存知「赤ずきんちゃん」です。これならば皆が知っている単語しか出てこないだろうとプログラムを走らせてみました。抽出された一般名詞が以下となります。

1:おなか
2:子
3:床
4:きり
5:あたり
6:へや
7:戸
8:ごらん
9:ばあちゃん
10:花
11:ぶどう酒
12:おば
13:町
14:耳
15:音
16:森
17:目
18:赤
19:はさみ
20:毛皮
21:日
22:お菓子
23:口
24:着物
25:まわり
26:やめ
27:ついで
28:声
29:先
30:中
31:胸
32:め
33:ぼん
34:*
35:うど
36:木
37:心
38:学校
39:おばあさん
40:小
41:お花
42:いっしょ
43:おかあさん
44:前かけ
45:手
46:指
47:びん
48:ずきん
49:くるみ
50:ごろた
51:すき
52:へん
53:くら
54:おかみ
55:女の子
56:虫の息
57:村
58:しら
59:りょう
60:こ
61:いびき
62:こいつ
63:鉄砲
64:道
65:かし
66:気
67:石
68:小鳥
69:下
70:横
71:寝床
72:光
73:もみ
74:横道
75:うち
76:あじ
77:歌
78:生垣
79:ばあさん
80:そこら
81:カーテン
82:ば

いくつか「ん?」と思う単語もありますがおおよそ期待通りの結果が得られたような気がします。もう少し作品を増やしたり、頻出度で絞ったりと練りこみが必要そうですのでまったり進めていきたいと思います。

スポンサーリンク
PR
PR

シェアする

  • このエントリーをはてなブックマークに追加

フォローする

スポンサーリンク
PR