ジャンルは問わない

見たもの聞いたものをタラタラ書きます。

hangman攻略のための日本語分析

python入門に書いてあった、hangmanという有名な単語をあてるゲームを作った(コピペ)
単語.csv(多分7464単語)を入れてみてゲームをしたところ、激ムズだったのである程度のズルをしようと思った
それが、「単語リストの分析」。である
そもそも人と話さない僕が7000もの単語を取り出せる能力があるか甚だ疑問だ。

データ↓(これ以外にもいろいろ取ってきたけどどっか行きました。111 KBあります。)

単語リストのダウンロード

最初に思い付いたのが、50音の何が一番使われているか調べた。
ン 2117
イ 1611
ウ 1342
シ 1261
マ 1217
ス 1092
ツ 1010
ク 986
キ 903
カ 784
============
ポ 34
ペ 23
ィ 10
ヲ 10
ヂ 6
* 5
ァ 4
0 4
ォ 2
・ 1
以外にも「ン」。一文字に何度も使われるってことなのか?
*,・が含まれてるのは愛嬌ってことで
下位が語尾にすれば「しりとり」に使えそう、LINEのりんなで遊んでみるかな。

次に、何文字目に何が使われるか(特に意味はない)
--1文字目--
シ 312
カ 296
キ 293
オ 285
218
...
ポ 11
ピ 8
ペ 6
0 4
ー 2
--2文字目--
ン 953
イ 546
ウ 365
ツ 302
ク 283
...
ヂ 2
ヲ 2
プ 2
ォ 1
ィ 1
--3文字目--
ウ 350
イ 319
マ 318
シ 300
ガ 251
...
ヘ 18
ポ 15
ペ 10
ヲ 5
ヂ 4
--4文字目--
ン 782
ツ 417
イ 372
マ 322
ウ 297
...
ペ 2
ヲ 2
ポ 2
ヅ 2
ォ 1
--5文字目--
ス 233
ン 158
ウ 119
イ 108
シ 107
...
ポ 1
プ 1
ザ 1
ソ 1
・ 1
--6文字目--
マ 103
ス 97
シ 49
ン 39
...
* 1
ガ 1
オ 1
ロ 1
--7文字目--
ス 96
マ 53
イ 15
シ 14
...
ド 1
オ 1
プ 1
ダ 1
--8文字目--
ス 49
マ 8
ウ 6
シ 6
...
ハ 1
ュ 1
ギ 1
テ 1
--9文字目--
タ 8
ウ 6
ス 6
イ 3
...
セ 1
デ 1
チ 1
マ 1
--10文字目--
ン 3
ー 2
ク 2
ス 2
ウ 1
シ 1
バ 1
ブ 1
--11文字目--
ツ 1
ダ 1
シ 1
マ 1
ン 1
--12文字目--
ョ 1
サ 1
カ 1
ス 1
--13文字目--
イ 1
ウ 1
ン 1

シンウンスマススタタンツョイ
単語にデスマスも含まれているので5~8文字目は多い

 

f:id:gagatuyome:20210131231320p:plain

std/wordcount

次に、標準偏差、データのばらつきを表すやつ。計算式調べて意味が分からなかったけど、最初のギザギザが面白い、人間が反応する音に割り当てられてんのかなとか、糞少ないデータで思ってみた。

 

f:id:gagatuyome:20210131231405p:plain

sum/wordcount

なんとなく、標準偏差ってデータ量が一定じゃないと意味なくね?と思ったので何文字目の合計もさらしていく

 

実践

ハングマンへようこそ
> _ _ _

1文字を予想してね : ン(定石の「ン」)

> _ _ ン

1文字を予想してね : ワ(ワインと予想)

_____
> _ _ ン

1文字を予想してね : リ(キリンと予想)

_____
| |
> _ _ ン

1文字を予想してね : イ(サインと予想)

_____
| |
| ○
> _ _ ン

1文字を予想してね : ウ(ウランと予想)

_____
| |
| ○
| /|\
> _ _ ン

1文字を予想してね : ア(アカンと予想)投げやり

_____
| |
| ○
| /|\
| / \
> _ _ ン

1文字を予想してね : カ(降参)

_____
| |
| ○
| /|\
| / \
|________
> _ _ ン
you lose!正解は ジシン.(勝てない)