文章の単語分解 形態素解析


grepをご存知でしょうか。linuxなどunix系のOSに実装されていて、 ファイルやコマンド出力などから文字列を見つけ出すコマンドです。 テキストデータから何かを見つけ出すテキストマイニングのプリミティブな形態と言えるかも知れません。
grepではシンプルに文字列を検索しますが、テキストマイニングでは、マイニング対象となるテキストを 分解して品詞レベルで扱います。例えばこんな感じです。
竹やぶやけた。竹藪も焼けたようです。
「竹やぶ」 名詞,一般,*,*,*,*,竹やぶ,タケヤブ,タケヤブ
「焼け」 動詞,自立,*,*,一段,連用形,焼ける,ヤケ,ヤケ
「た」 助動詞,*,*,*,特殊・タ,基本形,た,タ,タ
「。」 記号,句点,*,*,*,*,。,。,。
「竹」 名詞,一般,*,*,*,*,竹,タケ,タケ
「藪」 名詞,固有名詞,地域,一般,*,*,藪,ヤブ,ヤブ
「も」 助詞,係助詞,*,*,*,*,も,モ,モ
「焼け」 動詞,自立,*,*,一段,連用形,焼ける,ヤケ,ヤケ
「た」 助動詞,*,*,*,特殊・タ,基本形,た,タ,タ
「よう」 名詞,非自立,助動詞語幹,*,*,*,よう,ヨウ,ヨー
「です」 助動詞,*,*,*,特殊・デス,基本形,です,デス,デス
「。」 記号,句点,*,*,*,*,。,。,。

アンケート集計

このような技術は身近なところでは、アンケート集計に使われています。
自由記述方式のアンケートなどは、全て読む事が原則だと思いますが、 時間やコスト、正確性などからもテキストマイニングも活躍しています。
アンケート回答者 100人の内訳
年代性別賛否
10代  22人
20代  44人
30代  8人
40代  5人
50代  9人
60代  4人
70代  3人
無回答 5人
男   53人
女   44人
無回答 3人
賛成    17人
反対    51人
どちらとも 10人
無回答   22人
左表は、2009年5月に実施された「あなたは裁判員制度についてどう思いますか?」 というアンケートの結果です。

年代別、賛否集計表
年代賛成反対どちらとも無回答
10代11326
20代916712
30代3401
40代0 3 0 2
50代1 6 1 1
60代2 2 0 0
70代0 3 0 0
無回答1 4 0 0
性別、賛否集計表
性別賛成反対どちらとも無回答
13 26 7 7
3 23 3 15
無回答1 2 0 0
通常のアンケート集計だとこのような感じでしょうか。
この結果を統計的にχ2検定すると、性別の場合のp値は0.065で、年代別では、0.377です。
年代別の意識差より、性別による違いの方が大きい事が分ります。


自由記述形式の回答から、名詞・形容詞を抜き出して、「制度」「裁判」「賛成」「反対」など 当然使われる単語で、賛否の理由として分析対象にならないものは除き、頻度解析をするとこうなります。

  
重なってしまい見難い所はありますが、プロットすると左図のようになります。
どしらでも(ない)と無回答の人の最も使われているキーワードが「知識」と共通しています。
この32人の方はジャッジの責任・重さへの配慮とそれに比例する知識の有無を考慮していると思われます。 ただそれだけでなくて、いろいろな意見が含まれています。
言葉自体にも解釈の幅があり、同じものを指していても違う言葉を使ったりする事があります。
「思う」「考える」「熟考する」「思案する」「頭に浮かぶ」など動詞的なものから、 「ランチ」「昼飯」ただ単に「昼」など名詞的なもの、省略形まで沢山ありますので、 全く同じ事を何通りの言い方で出来るのでは ないでしょうか。

分析の対象により、言葉を変換して共通化することもありますが、 明確な理由や方針が無い限りは、誤字脱字も含めてそのまま行うケースもあります。 判別不能な単語は欠損値扱いになる場合も、隠語や新しい言葉として登録される場合もあります。
また「ランチ」を使う派と「昼飯」を使う派では、『おすすめ商品』なども違ってくるかも知れません。
いくつものパターンを積み上げて分析するのがテキストマイニングなので、 やはり電子化されたテキスト文章が無数に流れるインターネットの分野で発展しています。
ここでは、単語頻度の分析を紹介していますが、どの言葉がどの言葉へ係るか、係り受けの分析など、 テキストマイニングの分析手法も幅広くあり、いずれご紹介したいと思います。

さて、賛成17人で頻度が一番高い「参加」というキーワードですが、 これは一人の人が4回使っています。17人の反対派の2人しか使っていません。
この偏りを解消するには、データ数を十分増やす事、またはカウントの仕方を変える事ですが、 データ数が少な過ぎてどちらも出来ませんので、そのまま分析しています。
ですので、分析としてはそれほど意味の無い、 テキストマイニングの紹介例として見て下さい。
年代別で分析してプロットしたものはこちらにリンクしました。

キーワード検出 ディープパケットインスペクション DPI

少し横路にそれますが、最近(2010年春頃)話題になった「利用者視点を踏まえたICTサービスに係る諸問題に関する研究会」(以下、利用者研究)というのをご存知でしょうか。簡単な言い方をすると「電気通信事業者(プロバイダ)がインターネット利用者の利用状況を調べて、広告に利用するのを認めましょうか」と言うものです。
賛否はともかく、これもテキストマイニングが関連します。
IPアドレスはご存知だと思いますが、ポート番号は如何でしょうか。 ポート番号は簡単に言うと内線みたいなものです。
IPアドレスはホストへの住所ですが、そのホストのどのサービスにアクセスするかを振り分けているのがポート番号です。 たとえばwebならポート番号80番へ、メール受信ならポート番号110番へ、送信なら25番などのように振り当てられています。 詳しくお知りなりたい方は、RFCという文書を御覧下さい。
時々、話題になるファイル交換などもある程度ポート番号が決まっていますので、 そのポートを使っていると、「あっ、ファイル交換してるかも」などとプロバイダ側では判ります。
ディープパケットインスペクション(以下 DPI)技術は、もう少し複雑でパケットの中まで見たりする、 複合的な技術の事をいいます。
例えば、ポート80なら普通のWebです。有名なIPアドレス(検索エンジン、大手販売サイト、巨大掲示板など)は 判っていますので、某サイトへのWebアクセスならパケットの中を見て、文字情報や検索キーワード記録して 、テキストマイニングしてみよう。などと言うDPIは実現されているかも知れません。



メインメニュー