2017年1月10日火曜日

テキストマイニングとは何を解析するの?

テキストマイニングとは

テキストマイニング(※注1)とはテキスト(文字列)の中から
  • 特徴ある単語や文節を見つける。
  • 代表的な単語や文節を見つける。
  • 単語や文節間の関係を見つける。
などを解析によって実現し可視化することです。

(※注1)
テキストマイニング(text mining)は、文字列を対象にしたデータマイニングのことである。通常の文章からなるデータを単語や文節で区切り、それらの出現の相関、出現傾向、時系列などを解析することで、有用な情報を取り出す、テキストデータの分析方法。
(出典:Wikipedia  https://ja.wikipedia.org/wiki/テキストマイニング)

最近は、ブログやSNSなどのソーシャルメディアが普及してきており、有益な情報をこれらのインターネットを介して得る需要が増えてきています。実際にtwitterからインフルエンザの流行をとらえ、事前に予防処置をとることができるなどが話題になりました。

本投稿ではテキストマイニングとはいったい何をやる解析なのかをご紹介したいと思います。

まず、テキストマイニングといっても、実は普通のデータ解析と基本的に変わりのないものだということを先に述べておきます。とは言え、そこにはテキストマイニング特有の注意点もありますので、解析のフローに沿ってテキストマイニングとは何かを見ていきましょう。

※解析のフロー

(1)データ

通常、データを取り扱おうとすると、データを集める(つくる)仕組が必要です。それは、小売りであれば購買POSシステムや、ECサイトにおけるwebのアクセスログであったりします。テキストマイニングで扱うデータは自由記述のテキストが多くなりますが、特にwebサイトの特定ページやtwitterなどのSNSから得られるテキストデータに需要があります。この2つのケースでは、データを集める仕組みが既に用意されているため、それを利用できるというところが利点です。一方で、真に欲しいデータからは外れていることが多いため、取り扱いには気をつけないといけません。例えば火事がどの場所で起こっているかをtwitterから解析する場合、tweetの中には「近所で火事があった」のような具体的な投稿テキスト以外にも、「地震雷火事親父」や「対岸の火事」などの“実際の火事とは関係のない“と考えられる投稿テキストが含まれていることに注意が必要です。

(2)前処理

テキストデータは文字列の連なりであり、そのままでは解析することができません。そのためデータ前処理として、形態素解析やクレンジングを実施します。形態素解析(分かち書き)では、テキストデータをそれ以上分けることのできない単語単位に分割します。こうすることで、単語の出現頻度を集計することができ、テキストデータを数値データとして扱えるようになります。

また、データを整理するために、クレンジング処理を行います。この処理の中で「表記ゆれ統一」と「クレンジング」の2ステップを踏みます。
「表記ゆれ統一」では、単語中に現れる大文字・小文字・半角・全角を統一し、一つの単語として扱えるようにします(ex. 「タナカ」、「タナカ」を「タナカ」へ統一)。また「クレンジング」では、テキスト中に現れる「、(句点)」や「★(記号)」などそれ自身には意味のない単語を除去します。これらは必須の処理ではありませんが、解析結果にごみを出す可能性があるため通常は実施します。例として単語の頻度を集計する場合、「句読点」などはよく使われるため、高頻出の単語ということになってしまいます。

こういった工程を経て、分析できる状態のデータを作成することができます。


(3)解析

テキストマイニングで解析できることに、他のデータ解析と比べて特殊なものがあるわけではありません。代表的な単語であれば、単語を頻度集計することで知ることができます。また単語同士のつながりの強さは、単語同士の相関や距離によって算出できます。よく知られているような受信したメールがスパムメールかどうかを判定(分類)したいのであれば、スパムメールを正解としたロジスティック回帰やナイーブベイズなどを用いることで実施できます。またそのような特定テキストに現れる特徴ある単語も知ることが可能です。
目的は何かによって解析手法を選ぶ点は、他の解析と何ら変わりはありません。

(4)施策

「(1)データ」や「(3)解析」で記述したように、テキストマイニングは特殊な分析ではありません。しかし、webから入手できるという点において、「データを集めて分析ができれば何か新しい発見があるだろう」という安易な気持ちで始めてしまうと、その分析やその先の施策はうまくいきません。

結局のところ、「CRISP-DMにおける“ビジネスの理解”」を行う事なくテキストマイニングをしても意味がないのは他の解析と同じです。

解析の考え方は常に目的から始まります。
  1. 目的・目標の設定
  2. 達成までに超えるべき困難・問題の整理
  3. 解決する方法の決定
これら3つを順に考えていくことで、最終的には目的を達成することができます。
3.の中に解析という方法(手段)が含まれているだけであり、分析をしなければ解決できないわけではありません。

結論として、テキストマイニングは他のデータ解析と大きく変わるものではありません。
目的・目標を明確にもって取り組むことで、その力を発揮するでしょう。


投稿者: データサイエンス部 谷口 (株式会社アイズファクトリー