コラム「どこかおかしいよ、データマイニング!」麻生川 静男


【第15回】テキストマイニングについて  


【第28回】データマイニング・夜話
(その十:子供の頃わくわくした事)


コラムTOPへ戻る

最近よく耳にする言葉に、『テキストマイニング』というのがあります。データマイニングが対象とするのは、主として数値データですが、テキストマイニングでは、自然言語で書かれたテキスト文です。

データマイニングと異なりテキストマイニングは人によってさまざまに理解されています。しかし、基本的には『文章に含まれている単語の発生頻度と、その分布状態から文章の内容を機械的に理解す る』という共通点があります。この点について文脈解析や辞書(シソーラス)を必然とする自然語解析や自動翻訳と一線を画しているといえます。テキストマイニングのソフトは人間が感じるような意味で文章を理解している訳ではなく、文章に表れている単語の相互関係を数値的観点から評点づけているに過ぎないのです。

ある学者などは、テキストマイニングをdatabase tomography(トモグラフィー)と名づけているぐらいです。人体という立体的な構造体を理解するに、断層X線写真を撮って部分的な解析をするのと同様、テキストマイニングとは、自然語で書かれた文章から、概念的に重要な語句を断片的に切り出して、その相互関係(特に、語句同士の近接性)から文章全体の内容を数値化しようとするものだと述べています。

私は、テキストマイニングは数値データ対象のデータマイニングと比較して、高い成果を期待するのが難しいと感じています。それは、テキストマイニングの技術自体の問題ではなく、人間とコンピュータの感性が異なっている点にあります。この観点は別にテキストマイニングに限ったわけでなく、全てのデータ解析についていえます。言い換えれば、人間の感性は、現在の科学技術ではかなりとらえどころのない代物(数値化しにくい)であると言えます。

一例を挙げましょう。画像検索技術というのがあります。与えられた画像と似た画像を検索する機能です。

楽しい色、寂しい色、厳しい表情などと言った人間の感情に関係する情報は数値化できないので、例えば、厳しい表情というのを『眉間に縦皺が入っていること』と定義したとしましょう。人の顔を写真にとり、画像解析によって、しわの数や皺の濃さなどを数値化します。問題は、そのように数値化されたデータと厳しい表情との間に密接な関係があるかどうかです。

同じことが言葉についてもいえます。自然語解析やテキストマイニングでは、文章から単語を切り出したあとで、その単語の分野・意味を数値化するために、辞書(シソーラス)を使うことになりますが、なかなかよい辞書ができません。私たちの感情豊かさが返って文章を機械的に理解するのを妨げているのです。

しかし感情がストレートに表現できている場合は数値化可能です。例えば犬の尻尾を考えて見ましょう。犬の尻尾は犬の感情をかなり正確に表現しています。悲しい時は垂れているとか、恐れている時 は、尻尾を巻いて後ろの両足の間に入れているとか、うれしい時は盛んに振っているとか、非常に直接的ですね。こういう感情は正確にデータとして取り込むことができるのです。

さて、純粋に技術面から見ると、データマイニングもテキストマイニングも適用している手法自体にはそれほど大差があるわけではありません。その手順は:

  1.データを数値化する
  2.距離(類似度、あるいは非類似度)を定義する
  3.評価関数を定義する
  4.望ましい結果を得るプロセス(最終的にどういう分類、近似関数を得られるとよいのか)

というステップを踏んでいます。データマイニングでは元のデータが比較的数値化しやすいのに反し、テキストマイニングでは、1.の数値化の段階でてこずっている、というのが現状でしょう。

テキストマイニングにおける数値化の基本的な考えかたは、次の3点に集約できます。

  1.同一文脈(文節)内に頻出する単語は文章の中核の概念と密接な関連にある。
  2.概念が近い単語は近接(同一ページ内、同一パラグラフ内など)して現れる。
  3.並時発生頻度の高い単語群ほど互いに、近接的な意味を持っている。

こういった前提に基づいて単語の各分野に対する重み付けがなされています。従って、各単語の重み付け(コンテキストベクター)は学習のために与えられる文章に大きく依存してしまいます。そのた め未知の分野に関しては一向に力を発揮しません。

たとえば、次のような完全に関係のない、支離滅裂な複数の単語を入れたとしましょう。
  『月旅行、大島渚、ナポレオン、タヒチ、メンタイコ、公定歩合、シマウマ、アップルコンピュータ』

これらの単語からもっとも意味的に近い文章を検索するとどうなるでしょうか?元来まったく無関係な分野の単語同士ですからどんな物知りに聞いても、この全ての単語に関連する事項を思い浮かべる ことは不可能でしょう。ところが、テキストマイニングのソフト(と言っても検索機能ですが)でこれらの単語を入れると、『関係のある文書』が堂々と列挙されてきます。不思議だと思いませんか?この原因はデータのベクトル値の比較という点が人間の感性と合っていないことが多いというのが基本的な問題です。

例えば果実を類似度によって分類するという問題を考えてみましょう。果実のベクトル値とはそれぞれの果実が持っている属性を記述したテーブルです。ここでいう属性とは具体的には:

「形状、色、かおり、柔らかさ、皮のうぶ毛、果汁の量」などです。これらの性質

表1:果実の性質のベクトル値

  形状 かおり 柔らかさ 皮のうぶ毛 果汁の量
りんご 丸い 弱い 硬い あり やや多い
なし 丸い 黄土色 ゼロ 硬い なし 多い
もも 丸い 桃色 強い 柔らかい あり やや多い
みかん 丸い 黄色 弱い 柔らかい なし 多い
イチゴ 三角錘 強い 柔らかい あり 少ない

これらの属性値から、類似の果実を見つけて下さい。途端にこまるのは、この『類似』という概念ではないでしょうか?

色に注目すると、りんごとイチゴ、なしとみかんが似ているといえます。しかし、硬さに注目すると、りんごとなし、ももとイチゴが似ているといえます。果汁の量からするとイチゴだけがどれとも似ていないということになります。

こういった結果から、結局どれとどれが似ていると結論付けることができるのでしょうか?困りませんか?ベクトル値同士の比較は、普通の値(スカラー値)の比較と異なり、実は、正しい答えが存在
しないのです!もっと正確に言うと、幾つもの回答が同時に存在するのです。

考えてみて下さい、どこかで食事をしたいとき、和食にしようか、洋食にしようか、それとも中華にしようか迷いませんか?洋食でもフランス、イタリア、スペイン、アジアンエスニック料理などいろいろとありますね。どれも、いい点もあるので、決めかねていますが、結局はどこかに決める時はある点(例えば金額、近さ、雰囲気 )を他の要素より高めに評価して決めるはずです。つまり、決定が非常に主観的である訳です。

ベクトル値の比較というのは、私たちのレストラン選択や果実の類似度決定のプロセスで見るように、実は数学的には根拠薄弱な、かなり恣意的なプロセスで結論づけられていると言えます。

数学的にいうと、ベクトルのそれぞれの要素(果実の例で言うと、形状、色、かおりなどの属性)に重み(重視する度合い)を掛けた瞬間に恣意的になる訳です。つまり、重みが強い要素ほど、結果が
その方面に引きずられてしまうからです。

実はテキストマイニングだけでなく、データマイニングにもこのベクトルの値比較という問題はいつも存在しています。しかしデータマイニングの分野では、分類結果の検証がしやすいため、この恣意性が問題としてクローズアップしにくいと言えるでしょう。

テキストマイニングの技法も実用的観点から言えば、適用分野ごとに辞書をチューニングしたり、論文や記事などでは、見出し・タイトルや要約などに出現する単語を重要視するようにソフトウェアをチューニングしたり、まだまだ手間を掛ける必要がありそうです。
続く...

TOPへ


Copyright © 2005 Zetta Technology Inc. All rights reserved.