とある童話の統計科学(1)

Toaru_Logo

TeXでとある魔術のロゴ作成 というページを見つけたのがきっかけで、今回のネタをやってみようと思った(texソースお借りしました。ありがとうございます。素晴らしい出来ですね)。

何がしたいかというと、童話を対象に統計的自然言語処理をしてみようというお話。n-gram, LDA, HMMとフォローしていく予定だけど、長くなりそうなので、少しずつ。どこまでいけるかな。

今回はイントロダクションとして、何を対象にしたのかと文字の統計についての紹介。


準備

対象とする童話は、

  • Alice’s Adventures in Wonderland
  • A Christmas Carol
  • The Adventures of Tom Sawyer
  • Grimms’ Fairy Tales

いずれも、Project Gutenbergから入手した英語版。英語の方が、単語の切れ目がはっきりしていて扱いやすい。選択に特に意味はない。

前処理

今回はあまり関係ないけれど、主な前処理は以下。

  • Project Gutenbergのヘッダ・フッタの除去
  • 小文字化
  • [a-z0-9,.!?’]以外の文字を空白で置換
  • 数字列の置換 (e.g. 123 -> #)
  • ‘,.!?’を終端文字’$’として置換

文字(アルファベット)の統計

まず、各文書の総文字数を表したグラフを示す。

Toaru1_1

不思議の国のアリスが最も少なく、グリム童話が最も多い。その差は、300k文字程度である。

次に、各文字の出現確率(各文字の出現回数を総文字数で割ったもの)を表したグラフを示す。

Toaru1_2

自然言語処理を勉強したときに、一番最初に衝撃を受けたのは、文書が異なっても文字の頻度分布にそれほど大きな差がないということだった。文書のサイズが大きく違っているにもかからず、上図の結果はそれを良く表している。


今回は、ここまで。統計的自然言語処理は、このような言語に潜むパターンをモデル化して、利用する研究分野である。

一通り勉強はしたけれど、忘れかけているので、少しずつ更新していってリマインダにする予定。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA