テキストマイニング
テキストマイニングとは
テキストマイニング(text mining)は、文字列を対象としたデータマイニングのことである。通常の文章からなるデータを単語や文節で区切り、それらの出現の頻度や共出現の相関、出現傾向、時系列などを解析することで有用な情報を取り出す、テキストデータの分析方法である。
テキストデータの多くは形式が定まっておらず、また日本語は英語などと比べて単語の境界判別の必要性(→わかち書き)や文法ゆらぎが大きい点において形態素解析が困難であったが、自然言語処理の発展により実用的な水準の分析が可能となった。テキストマイニングの対象としては、顧客からのアンケートの回答やコールセンターに寄せられる質問や意見、電子掲示板やメーリングリストに蓄積されたテキストデータなどがある。
(wikipedia)
インターネット上には大量の文章があります。
これらを上手く解析すればビジネスに繋がるおいしい情報を抽出できる可能性があるため、近年非常に注目されている分野です。
アカデミックの世界でもテキストマイニングを利用することが検討されており、つくば市にある国立研究開発法人「物質・材料研究機構」では、論文から有用な情報を拾う際にテキストマイニングを利用し、材料開発のスピードを促進するような研究も行われています。
テキストマイニングを試すツール
私自身、縁あって自然言語処理に触れる機会ができ、テキストマイニングなどの分野にも興味を持つようになりました。(自然言語処理は、画像認識や音声認識などに並ぶ機械学習の深層学習の代表的な応用分野です。)
そこで今回はユーザーローカルが公開している無料ツールである「テキストマイニング」を試してみました。使うのに特に知識は必要ありません。
「Twitterアカウントを解析」と書かれていますが、文章を放り込めば何でも解析できます。
ユーザーローカル
人工知能や機械学習を用いてビッグデータ解析を行っているベンチャーです。
代表的なサービスに「User Insight」や「Social Insight」などがあり、会社の規模からは想像もできないほどの数のシェアを持っています。
テキストマイニングを試す
例文で試す
以下のページ
サンプル1:太宰治『走れメロス』
をクリックすると、走れメロスの文章のテキストマイニングを行ってくれます。
テキストマイニングのページ画面
以下で出力の結果を見て行きましょう。
共起ネットワーク
名詞が青色、動詞が赤色、形容詞が緑色で表示されます。
丸の大きさが出現頻度に対応しており、単語の共起が多いほど太い線で結ばれます。
走れメロスが題材なので、メロスという単語が最も多くなっております。
ちなみに単語をマウスポインタで掴んで動かすこともできます。
そのとき掴んだ単語に関係のある他の単語も一緒についてくるのが面白いところです。
ワードクラウド
名詞が青色、動詞が赤色、形容詞が緑色で表示されます。
文字の大きさは「スコア」を反映しており、これは出現頻度とは異なる概念であることに注意しましょう。
出現頻度もスコアに考慮されていますが、「どのような種類の文書にも現れやすいような単語についてはスコアが低めになる」ように設定されているようです。
ここで大きく表示されている単語は、文章内で特に特徴的なワードになっているということになります。「メロス」に続いて「走る」が大きな文字になっているのは的を得ている証拠です。
単語のスコアと出現頻度の表
上記の2つの出力(共起ネットワークとワードクラウド)は、データを可視化し直感的に把握できるようにしたものです。それに対して、スコアと出現頻度を数値を表示する表も一緒に出てきます。
ブログの記事で試す
文章量も多く、かつ最も読まれたであろう以下の記事の文章を、記事編集画面からごっそりとってきてテキストマイニングに投げてみたいと思います。
共起ネットワーク
画像は、「人工知能」という単語を掴んで動かしているところです。
さすがに共起しているワードがかなり多いですね。
ワードクラウド
「ディープ」と「ラーニング」が別々の単語で認識されていますが、どちらもかなりスコアが大きかった模様。今回解析した記事は、このブログの最初期に書いたものですが、当時からディープラーニングをかなり強く意識していたのでしょうか。
言葉としては珍しいので、スコアが高めに出るというのもあるでしょう。
単語の表
学習という言葉が頻出しています。
地味に自分の形容詞の語彙力のなさが痛い。
感想と応用の例
ブログを書いている身としては、「共起ネットワーク」や「ワードクラウド」を、記事の冒頭に載せておくことで、記事がメインに扱っている対象や内容を予め直感的に提示できるのではないかと感じました。
通常ブログでは、題目の付け方や目次を工夫して、なるべくどのような内容かを最初に提示します。実はこれが中々難しいのです。
読んでもらってから「思った記事と違った」と思われてしまっては読者が減ってしまいますので、気にかけているところではありますが、正直あまり得意なタスクではありません。ちょっと他の記事でも試してみたいなと思いました。
他にも自分のツイッターを読み込ませることで、同様の解析ができます。
普段どんなことをつぶやいているのか試してみるのも面白いでしょう(というかこっちがメインか)。
ちなみに私は「食う」という単語のスコアが一番高かったです。
※デブじゃありません。