「テキストマイニングを使う技術/作る技術」を読んだ

自然言語処理は大学時代からやっていたのだが、恥ずかしながらテキストマイニングについてはよくわかっていなかった。@shima__shima先生から「テキストマイニングを使う技術/作る技術」を紹介していただいたので読んでみた(紹介していただき、ありがとうございました)。


本書によるとテキストマイニングは厳密な定義はないものの、テキストデータから抽出されたデータを用いたデータマイニングを指すらしい。
で、従来のデータマイニングであれば数値データからそのままマイニングすればいいけれどテキストデータは自然言語で書かれていてそのままでは使えないので自然言語処理(NLP)を用いてマイニングで使うデータを抽出するよ。ということらしい。なんとなくNLPの中にテキストマイニングがあるのかと思っていたのだが、テキストデータとデータマイニングの橋渡しをする技術としてNLPを使っている、というのが正しいのかも。
本書ではテキストマイニングの成功例として主にコールセンターのデータ等、社内で蓄積された大規模(といっても数十万から数百万程度らしいが)データに対する事例を紹介している。それによるとテキストマイニングでは技術的な問題よりもテキストマイニングによって得られた結果を正しく分析できることが重要なのだとか。
これには全面的に同意するが、実際テキストマイニングを活用するような体制を作るのは非常に困難だと思う。力のある人が理解を示してくれている場合でもなければ分析スキルのある技術者を育てるのも、いたとしても適切に評価するのも難しいし、仮によい分析ができてもトップダウンで全てが決まる体制だとせっかくマイニングで得た知見を活かすことが難しい。個人がテキストマイニング技術を使って仕事の助けにする、以上のことをするのは中々困難なのではと感じた。
また本書ではテキストマイニングには構造化されたデータや辞書が必要としている。コールセンターのタスクではデータはユーザが意識的に入力するためある程度構造化されているし、使われる単語も大きくは変動しないから辞書作成もさほど困難ではないと思う。
だが最近流行りのwebデータを用いたタスクでは、ユーザが意識的にフォーマットに従ったテキストを作ってくれているわけではないし、新語も膨大な量作られる(しかも評判情報が必要なのは新語に対して、である場合が多い)。本書では今後のタスクのひとつとして評判分析を挙げていたが実用的なものを実現するのは困難ではないかと感じた。
付け加えると評判情報を分析して知見を得る、というのはまだ可能性があるとして、(本書でも指摘されているが)テキストマイニングで直ちに誰にでもわかる面白い結果が出てくるわけではないので、世間でよく言われるような大量のwebデータから評判情報を抽出して面白いサービスをつくるぜ!うひゃー!とはならないと思った。
まとめると本書はコールセンターのような構造化された、単語に変化の少ない分野でテキストマイニングをして、その結果を正しく分析できる分析者がいる場合には有効にテキストマイニングが機能するよという話だった。これは全くそのとおりだと思うのでテキストマイニングの現状を知る上で大変参考になる本だと思う。
一方で世の中のテキストマイニングでいけてるサービスつくりたいぜ!な人たちははるかに大きな夢を膨らませている場合が多いので、そういった夢にどうやって近づけるかが重要な気がする。個人的には超すごいテキストマイニング技術者が超すごい技術を作る云々、よりはサービスを動かしている人たちが全員テキストマイニングの素養を身につけることのほうが重要な気がしている。
そうそう。@mamorukさんから紹介していただいた以下の資料もとても参考になりました。ありがとうございました。

http://people.ischool.berkeley.edu/~hearst/text-mining.html