テキストを分析する!テキストマイニングの基本と使い方

こんにちは!
IT企業に勤めて、約2年間でデータサイエンティストになったごぼちゃん(@XB37q)です!

このコラムでは、テキストデータを分析する技術であるテキストマイニングを紹介します。
数値系のデータや画像系のデータは、どちらも数値に変換を行ってコンピュータが理解しています。

しかし、テキストデータはどうやって分析を行うのでしょうか。
このコラムでは、テキストデータの分析方法を説明しようと思います。

自然言語処理

まず初めに、自然言語とは何のことでしょうか?
自然言語とは、「私たち人間が日常書いたり話したりしている日本語や英語のような、自然な言語のこと」のことを指しています。
この自然言語には、コンピュータが扱っている数字とは大きな違いがあります。

それが、「言葉の曖昧性」です。
自然言語は、文の意味が1つに決まらない曖昧性が存在します。
数値の10は誰がどう見ても数字の10という意味ですが、文章や単語はそうではありません。
例えば、以下のような例文は、下記2通りの解釈が可能です。
「望遠鏡で泳ぐ彼女を見た。」

  • 解釈①:望遠鏡で泳いでいる / 彼女を見た。(彼女は、望遠鏡という場所で泳いでいる)
  • 解釈②:望遠鏡で / 泳いでいる彼女を見た。(泳いでいる彼女を望遠鏡で見た)

このように、1つの文章でも複数の意味で解釈することができる性質を「言葉の曖昧性」と呼んでいます。
私たちが使っている自然言語には、このような曖昧性がありながら、人は過去の経験やその場の空気でどちらの意味なのかを解釈しているのでしょう。

しかし、コンピュータは与えられたデータからでしか物事を判断することができません。
そのため、人が簡単に扱っている自然言語は、コンピュータにとって複雑なものになってしまうのです。

このような「言葉の曖昧性」を踏まえて、自然言語を使って書かれた膨大なテキストデータをコンピュータが理解するために自然言語処理という技術が使われています。

意味をきちんと定義しにくい自然言語について、コンピュータに処理させるのは難しいですが、今後はコンピュータに処理をさせようという試みによって、現実世界の「言葉の曖昧性」も無くなっていくかもしれません。

では、これから自然言語処理の流れを簡単に説明していきます。

テキストデータとは

テキストデータのイメージ
テキストデータのイメージ

テキストデータとは、日本語や英語などで記載されている文章が混じっているデータです。
上の例では、「内容」の項目に文章が入っており、あとは受付日や受付時間、年齢など数値が入っている場合もあります。
このような文章が混じっているデータは、他の章でご紹介している数値系のデータや画像系のデータとはまた違うデータとして扱います。

言語系のデータには、様々なデータが該当します。
例えば、アンケートに入力する自由記述文や、コールセンターの通話記録を記入したデータなどがビジネスで多く分析する対象になるでしょう。

それでは、このような言語系のデータを、どのようにパソコンに認識させればよいのでしょうか?

数値への変換方法

テキストデータの扱い方
テキストデータの扱い方

この章では、実際にテキストデータを使った分析の流れを紹介します。

コンピュータは数値しか扱うことができません。
そのため、テキストデータも何らかの処理を行い、数値へ変換する必要があります。

数値データの場合、数値そのものが入力されているため、特別な処理をすることなくコンピュータは扱うことが出来ます。
また、画像データの場合、画像そのものをRGBという色を表す数値へ変換し、コンピュータが扱うことができるようになります。

では、テキストデータの場合はどのように処理をするのでしょうか?
何種類かの処理方法はありますが、ここでは簡単な方法を紹介します。

まず、文章そのままではどの文章とも全く違うデータになってしまうため、文章を構成している単語に注目します。
例えば、「電源がつかなくなった。」という文章は、「電源」「が」「つかなく」「なった」の単語から構成されています。
こういった単語が文章に出現しているかどうかを判定し、出現する場合は”1″、出現しない場合は”0″と変換することで、文章を数字で表せるようになりました。

このように文章を数値で表すことにより、数字データとして扱えることが可能になり、AIを使い分析を行うことができます。

テキストマイニング 単語と係り受けの集計

テキストマイニング 解析イメージ
テキストマイニング 解析イメージ

テキストマイニングは、単語や係り受けなどを集計して分析を行います。
係り受けとは、「電源が落ちる」など単語と単語のつながりを「電源 – 落ちる」といった表現で表す組み合わせを係り受けと呼びます。

この単語や係り受けを集計することで、テキストデータの内容を把握することが可能です。

アンケートデータやコールセンターの受付内容データ、ニュースのデータなどに対してテキストマイニングを行うことで、有用なインサイトを得ることが可能です。
膨大な量のデータがある場合、それを人の目で全て読み込み、内容を把握するには膨大な時間が必要になります。
テキストマイニングでは、単語と係り受けに着目をすることにより、膨大な量のデータを少ない時間で理解することが可能です。

テキストマイニングで使われている技術については、他のコラム「テキストを数値として考える!テキストマイニングの方法とは」で紹介しています!

まとめ

  • 自然言語とは、私たち人間が日常書いたり話したりしている日本語や英語のような、自然な言語のこと
  • 自然言語処理とは、自然言語を使って書かれた膨大なテキストデータをコンピュータが理解するための技術
  • テキストマイニングでは、単語が文章に出現しているかどうかを判定し、出現する場合は”1″、出現しない場合は”0″と変換することで、文章を数字で表す
  • 係り受けとは、単語と単語のつながりを表現する組み合わせ
  • テキストマイニングでは、単語や係り受けを集計する

参考図書