読者です 読者をやめる 読者になる 読者になる

コードネームは初話ユウ

自然言語処理でいろいろやってみる

ちょっと立ち止まって分析してみる

ツテをたどって、京大コーパスなるものにアクセスできたのでちょっとトライしてみた。正答率83.0%。KNBCとあまり変わらないレベル。元データがフリーでないので環境の公開はしないが、やってることとしてはcabOnKnbcと似たようなことをやっている。(IPA辞書の文節に変換して、できなかった文章は外して、etc)

 

今までは改善ネタを探すのに、誤答を出した文章をいくつか見てみてその解析結果を見て考える、というまあなんというか原始的なやり方がメインだったが、京大コーパスはKNBCよりかなり量が多く、いくつかの誤答を見ただけではちょっと対応しきれないかも(時間かけて改善して、正答数3とかしか上がらなかったら悲しい)、という気がする。なので、まずコーパスの文章はどんな感じなのか、どんな傾向があるのか、どういうところで間違えているのか、どこを修正すべきなのか等をつかむため、いくつか統計をとってみた。結果を以下にまとめてみる。

 

 

・文章あたりの文節数

 

対象とした文章の数と、それに含まれる文節の数を数えた。文節区切りはcabochaによるもの。結果:

    文章数 37027  文節数 358744

 

一文あたり9.7文節。ちなみに、1文節と2文節の文は除いてある(係り受けやる意味がないので)ため、実際にはもう少し短いはずだが、まあ大勢には影響ない。

 

・文あたり文節数の分布

 

 1-10: 0 4 1744 2494 3095  3434 3523 3356 3177 2830

11-20: 2405 2166 1803 1497 1149  933 718 558 505 342

21-30: 286 248 189 123 87  96 70 49 43 18

31-40: 19 17 7 14 8  7 4 4 2 1

41-50: 0 2 0 0 0  0 0 0 0 0

 

上の見方は、たとえば3文節からなる文章は1744個あった、ということ。コーパス中には、かぎかっこの中に引用文が複数あって句点(。)で区切られてるものもあるのだが、その辺は気にせず単純に数えている。1文節の文は除いたんじゃないの?と自分で書いててつっこみたくなるのだが、なぜ4個あるのか、原因調べてない。

 

 

・文節機能辞の品詞分布

 

全ての文節を、文節の機能辞(≒ 最後の形態素)の品詞で分類してみた。ただし助詞の場合は細分類まで見た。

 

動詞      33568

助動詞    39305

名詞      30713

副詞       8412

格助詞   112464

係助詞    39438

副助詞     3038

終助詞      162

接続助詞  11975

並立助詞   6119

副詞化     3100

連体化    52694

形容詞     5924

接続詞     4362

感動詞       52

連体詞     5516

total    356842

 

たとえば格助詞の場合なら、その文節が「XXが(/を/に/…)」の形だった、ということ。

トップ6が格助詞、連体化(ノ)、係助詞(主にハ、モ)、助動詞、動詞、名詞。この6つで86%を占める。

 

 

・誤答の係り元の品詞分布

 

係ろっとが誤答したケースについて、上と同じく係り元文節の機能辞の品詞で分類してみた。

 

動詞    4015

助動詞  2933

名詞    12757

副詞    1552

格助詞  12698

係助詞  9429

副助詞  1394

終助詞  283

接続助詞2859

並立助詞1941

副詞化  269

連体化  3143

形容詞  436

接続詞  810

感動詞  26

連体詞  198

total: 54746

 

トップ5は名詞、格助詞、係助詞、動詞、連体化。この5つで76%、約4分の3を占める。なお、このほかにフィラーとか接頭詞とかがあるため、数字は細かいところまでは合っていない。また、上の数字との比較では、最後の2文節を除くか否かとかで処理に違いがあるため、やはり細かいところは整合性がない。

 

終助詞が誤答数>総数になってて変だと思ったが、調べてみたら助詞カの細分類が「副助詞/並立助詞/終助詞」となっていて、ここの関係で数え間違いしていた。大勢に影響ないと思われるのでほうってある。

 

この数字と上のを比べると、品詞別の誤答率、なんてものも出せる。どのタイプの誤答をまずいちばんに調査するべきなのかと考えると、誤答数をみるべきか総数(誤答率)もみるべきか迷うところ。たとえば連体化助詞などは誤答数はそれなりに多いが総数も多く、誤答率としてはけっこう低い。これを修正しても、ひとつの修正で直るのはごく一部なんじゃないだろうか、などとよけいなことを考えてしまう。

 

・文あたり述語数の分布

 

 0- 9: 0 6833 10348 8240 5360   3017 1557 804 458 204 

10-19: 91 57 24 13 6   6 2 2 1 0 

20-29: 0 0 0 0 0   0 0 0 0 0

 

これの見方は、文中に1個だけ述語を持つ文が6833個あった、ということ。なんでこれを数えたかというと、格補語にせよ接続助詞にせよ「述語のみに係る」文節は多いので、誤答の多くは「述語が複数あって、そのどれに係るかを間違う」ケースが多いと思ったからである。上の数字から平均を計算すると、1文中の述語(動詞、形容[動]詞、名詞+助動詞ダ)の平均個数は3.0である。

 

 

以上から見ると、やっぱり名詞がまずそうかな。と思ってログを見ると、副詞可能タイプ(結局、当面、etc)の扱いは明らかにおかしそう。あと格助詞が多いか。格助詞については、たとえば日本語係り受けコーパス等から(名詞、格助詞、述語)の組の頻度をとってきて判定に使えば改善できるんじゃないか、などと考えたり。係助詞についても格助詞の情報が使えそうか。まあいろいろと改善点はありそうである。