デザインテクノロジーの最前線 - 桐山孝司

m.c.t.ホーム > エクスペリエンスマガジン > デザインテクノロジーの最前線 - 桐山孝司 > テキストマイニングの役割

2005.04.15テキストマイニングの役割

顧客サポートのデータベースから有用な情報を取り出したい、アンケート結果の分析を自動化したいなど、言葉で蓄積された情報をビジネスの資源として活かすニーズは強い。そしてテキストマイニングがそのために有効な技術だということもよく言われている。しかしテキストマイニングが具体的にどう有効かとなると、急に漠然としてくるのではないだろうか。

その原因のひとつは、データマイニングの類推でテキストマイニングを理解することにあるようだ。データマイニングでは、データ全体のパタンを分析する。たとえばオンラインで注文される本のデータを分析すると、消費者が続けて買う本があることがわかる。そこで買い物のパタンを分析しておいて、一冊注文するとこんな本も一緒にいかがですか?と薦める方法がこれである。

テキストマイニングでも使われる頻度の高い単語や同時に出てくる単語のペアを見つけることができる。しかしテキストマイニングの仕組みから言って、これだけではほとんど有用な情報にはならない。テキストマイニングでは文書を文→文節→単語という要素に分解し、単語の活用も無くして標準形にする。もとの文書が故障の報告書や顧客のクレームといったまとまった意味を表しているのに対して、これらの単語は建物でいえば金具やタイルのようなものである。使われている釘が多いからといって、もとの建物の特徴を言うことは難しい。

しかし使われる頻度が少なくても特徴的な単語を取り出せると、もとの文書全体が何についてかを推定することができる。例えばクレームデータの中に使い勝手に関する単語があれば商品デザインに関してだと思われるし、時間に関する単語があれば配送に関することだと推定できる。ちょうど建物に格子戸があれば多分和風建築だし、レンガ造りの外観が見えれば多分洋風建築だろうと推定するのと同じである。中に入ってみなくても種類について手がかりが得られれば、目的のものを探す上で効率がよい。

このようにテキストマイニングは、使われている単語を手がかりに文書を分類することに役立つ。もっともそのためにはマークすべき単語を見つける必要があり、その段階では手作業でキーワードの候補を見つけたり、試行錯誤的に分類をしてみる必要がある。

文書を分類する一例を紹介すると、東京大学の安藤英幸助教授(産業環境学)らはテキストマイニングを使って、船舶のエンジンの故障報告書を自動的に分類する研究を行っている。あらかじめ起こりえる故障にコードを割り振ったコードブックというものを用意し、故障報告書の単語からどのコードをつけるべきかをルールで推定する。最初にコードブックやルールを作る段階では手作業が必要であるが、同義語の解釈なども含めて分類が確立してくれば、機械学習の手法で精度が上げられる。同グループはこの方法で900件の故障を自動的に分類し、故障種類別の頻度とそれによる航行の遅れ時間とを掛け合わせて、故障による損失リスクを定量的に出している。

テキストマイニングは実際には複合的な技術である。文書を単語データへ分解するために日本語の形態素解析を使い、そのデータから文書を分類するためにクラスタリング手法を使い、さらに結果の視覚化にユーザインタフェース技術を使っている。逆に複合技術の中に新しいツールを組み込めば、文書の分類の自動化以上のことができる可能性もある。この分野の先駆者であるUCバークレーのMarti Hearstは、テキストマイニングは一人の人間だけでは調査しきれないほど広範囲の文献から得た情報を組み合わせて、新しい事実を発見することに真価があるといっている。一つの文書でAの原因はBだということを見つけ、別の文書からBの原因はCだということを見つけて、Aの原因はCにあるかもしれないという仮説を導くわけである。もっともこのような仮説は無数に作れるので、検討する価値のある仮説を選ぶ方法と一緒に使う必要がある。

テキストマイニングは現時点でも、人手で分析できる量を超える文書データを扱える点で有用な技術である。今後、形態素解析だけでなく文脈の中で単語の持つ意味も分析する手法が組み合わせられるようになれば、仮説形成も含めて言葉のデータを資源として活用できる方法がさらに増えるだろう。今後、注目していく価値のある技術の一つである。

顧客サポートのデータベースから有用な情報を取り出したい、アンケート結果の分析を自動化したいなど、言葉で蓄積された情報をビジネスの資源として活かすニーズは強い。そしてテキストマイニングがそのために有効な技術だということもよく言われている。しかしテキストマイニングが具体的にどう有効かとなると、急に漠然としてくるのではないだろうか。

その原因のひとつは、データマイニングの類推でテキストマイニングを理解することにあるようだ。データマイニングでは、データ全体のパタンを分析する。たとえばオンラインで注文される本のデータを分析すると、消費者が続けて買う本があることがわかる。そこで買い物のパタンを分析しておいて、一冊注文するとこんな本も一緒にいかがですか?と薦める方法がこれである。

テキストマイニングでも使われる頻度の高い単語や同時に出てくる単語のペアを見つけることができる。しかしテキストマイニングの仕組みから言って、これだけではほとんど有用な情報にはならない。テキストマイニングでは文書を文→文節→単語という要素に分解し、単語の活用も無くして標準形にする。もとの文書が故障の報告書や顧客のクレームといったまとまった意味を表しているのに対して、これらの単語は建物でいえば金具やタイルのようなものである。使われている釘が多いからといって、もとの建物の特徴を言うことは難しい。

しかし使われる頻度が少なくても特徴的な単語を取り出せると、もとの文書全体が何についてかを推定することができる。例えばクレームデータの中に使い勝手に関する単語があれば商品デザインに関してだと思われるし、時間に関する単語があれば配送に関することだと推定できる。ちょうど建物に格子戸があれば多分和風建築だし、レンガ造りの外観が見えれば多分洋風建築だろうと推定するのと同じである。中に入ってみなくても種類について手がかりが得られれば、目的のものを探す上で効率がよい。

このようにテキストマイニングは、使われている単語を手がかりに文書を分類することに役立つ。もっともそのためにはマークすべき単語を見つける必要があり、その段階では手作業でキーワードの候補を見つけたり、試行錯誤的に分類をしてみる必要がある。

文書を分類する一例を紹介すると、東京大学の安藤英幸助教授(産業環境学)らはテキストマイニングを使って、船舶のエンジンの故障報告書を自動的に分類する研究を行っている。あらかじめ起こりえる故障にコードを割り振ったコードブックというものを用意し、故障報告書の単語からどのコードをつけるべきかをルールで推定する。最初にコードブックやルールを作る段階では手作業が必要であるが、同義語の解釈なども含めて分類が確立してくれば、機械学習の手法で精度が上げられる。同グループはこの方法で900件の故障を自動的に分類し、故障種類別の頻度とそれによる航行の遅れ時間とを掛け合わせて、故障による損失リスクを定量的に出している。

テキストマイニングは実際には複合的な技術である。文書を単語データへ分解するために日本語の形態素解析を使い、そのデータから文書を分類するためにクラスタリング手法を使い、さらに結果の視覚化にユーザインタフェース技術を使っている。逆に複合技術の中に新しいツールを組み込めば、文書の分類の自動化以上のことができる可能性もある。この分野の先駆者であるUCバークレーのMarti Hearstは、テキストマイニングは一人の人間だけでは調査しきれないほど広範囲の文献から得た情報を組み合わせて、新しい事実を発見することに真価があるといっている。一つの文書でAの原因はBだということを見つけ、別の文書からBの原因はCだということを見つけて、Aの原因はCにあるかもしれないという仮説を導くわけである。もっともこのような仮説は無数に作れるので、検討する価値のある仮説を選ぶ方法と一緒に使う必要がある。

 テキストマイニングは現時点でも、人手で分析できる量を超える文書データを扱える点で有用な技術である。今後、形態素解析だけでなく文脈の中で単語の持つ意味も分析する手法が組み合わせられるようになれば、仮説形成も含めて言葉のデータを資源として活用できる方法がさらに増えるだろう。今後、注目していく価値のある技術の一つである。

d_07_text-mining-fig

参考:
・安藤, 大和: テキストマイニングによる船舶故障データの分析, 日本信頼性学会誌, Vol.26, No.8, pp.906-912 (2004).
・Hearst, M.A.: Untangling Text Data Mining, Proceedings of ACL'99: the 37th Annual Meeting of the Association for Computational Linguistics (1999).