前回の記事で、「クラスター分析とは?」についてまとめました。
- クラスター分析という言葉を初めて聞いたという方
- クラスター分析ってどんなものなの?
- クラスター分析はどう役に立つの?
という方は、こちらをどうぞ↓
第1回『「クラスター分析」とは?膨大な情報の内容を、ラク〜にサクッと理解したいあなたはこちらをどうぞ』
今回は、クラスター分析を、どう行うかについてまとめてみたいと思います。
例として、文書などのテキストデータをクラスター分析することを考えてみます。
本記事の概要
クラスター分析の手順は、おおまかにこんな感じです
1、データ(今回は文書)から特徴量を抽出し、「素性ベクトル(特徴ベクトル)」の形で保存する
2、素性ベクトルに対して、「クラスター分析」を行う
- え? 特徴量?
- 素性ベクトル?ってなに?
いきなり専門的な用語も出てきたので、「?」となった方もおられるかもしれませんが、これから説明するので安心してください。
ここでは、クラスター分析をするには、
①、まず、文書(データ)を何か別のモノ(素性ベクトル)に変えて、
②、それを使ってクラスター分析する
と理解しておけばオッケーです。
文書をそのまま使うのでなく、別のモノを経由してクラスター分析するわけです。
文書は、テキストデータ形式で保存されている
まず前提なんですが、
(テキストマイニングでの)クラスター分析の入力となる文書データは、
「テキストデータ」と呼ばれるデータ形式で保存されていることが多いです。
以下にテキストデータの例を3つ挙げてみました。
”自然言語処理(しぜんげんごしょり、英語: natural language processing、略称:NLP)は、人間が日常的に使っている自然言語をコンピュータに処理させる一連の技術であり、人工知能と言語学の一分野である。”(Wikipediaより)
”人工知能(じんこうちのう、英: artificial intelligence、AI)とは、人工的にコンピュータ上などで人間と同様の知能を実現させようという試み、或いはそのための一連の基礎技術を指す。”(Wikipediaより)
”日本国(にっぽんこく、にほんこく)、または日本(にっぽん、にほん)は、東アジアに位置する日本列島(北海道・本州・四国・九州の主要四島およびそれに付随する島々)及び、南西諸島・小笠原諸島などの諸島嶼から成る島国である”(Wikipediaより)
テキストデータはいたって普通のデータです。
Wikipediaやポータルサイトのニュース、ブログ、ツイッターなどで見かける文書データです。
これらの文書を整理・分類することを考えてみます。
文書が3つなら、すべて読んで分類することができますよね。
上の例だと、「自然言語処理」と「人工知能」は似ていて、「日本国」は似ていないことがわかるかと思います。
今回の目的は、文書データが3つではなく、100や1000と、たくさんあったときに、
- どれが似ている
- どれが似ていないか
という「類似性」を調べて、似ているものは一緒にまとめるという処理をします。
それを実現するアルゴリズムが、クラスター分析(クラスタリング)なわけです。
上のクラスター分析の手順をみると、
1、データ(今回は文書)から特徴量を抽出し、「素性ベクトル」の形で保存する
となっています。まず素性ベクトルを作る必要があります。
なぜ、素性ベクトルに変換するの?
文書をクラスター分析するときには、まず、文書であるテキストデータを、ベクトル形式のデータに変換します。
なぜかというと、
クラスター分析をするためには、類似度を計算する必要があります。
類似度を計算するときには、ベクトル形式だと便利なんです。
ベクトル形式だとコンピュータで表現しやすく、数学的な計算もやりやすいんです。
なので、文書をベクトルデータに変換します。
実はこのベクトルへの変換過程には色々とノウハウがあって、ひと工夫が必要です。
この工夫をすることで、単なるベクトルでなく、文書の特徴を表したベクトル(素性ベクトル)になるんです。
この工夫については本連載でまとめていきます。
素性ベクトルとは?なぜ必要なの?
「素性ベクトル」というのは、文書の特徴を表現したベクトルのことです。
初学者の方など、
え?なにそれ??
という方も多いかと思います。1つずつ考えていくので安心してください。
まず、「文書の特徴」は、どう表現できるかを考えてみましょう。もう一度同じ例を出しますね。
””自然言語処理(しぜんげんごしょり、英語: natural language processing、略称:NLP)は、人間が日常的に使っている自然言語をコンピュータに処理させる一連の技術であり、人工知能と言語学の一分野である。”(Wikipediaより)
この文書の特徴を考えてみると、たとえば、
”自然言語処理”、”自然言語”、”人工知能”、言語学”
という単語は、他の文書ではなかなか出てこない単語だと思います。
それに対して、
”日常的”、”使っている”、”人間”、”である”
といった単語は、他の文書でもよく見かけますよね。
つまり、単語には、
- どの文章でもよくみる単語
- あまり見ないその文書に独特の単語
があるわけです。つまり
「その文書に独特の単語を集める」 と、その文書の特徴を表現できそうです。
文書の特徴が表現できれば、
その特徴同士を比較することで、似ている・似ていない
を考えることができるようになります。
この似ている似ていないを表現したのを「類似度」と呼び、類似度をもとにクラスター分析を行う、という流れになるわけです。
というわけで、今回は、
「素性ベクトル」は、その文書に特徴的な単語の情報を表現したもの
ということを学びました。
じゃあ、素性ベクトルってどうやって作るの?
と思われるかと思います。
ということで、次回は、「素性ベクトルの作り方」をまとめたいと思います↓
第3回『テキストマイニングなどのクラスター分析でも重要な「素性(そせい)ベクトル」を作るための3つのステップとは?』
過去記事はこちらです↓
第1回『「クラスター分析」とは?膨大な情報の内容を、ラク〜にサクッと理解したいあなたはこちらをどうぞ』
こちらもございます↓
こちらの記事もございます↓
ベクトルってなんだったっけ?という方はこちらの記事もございます↓
『「ベクトル」を身につけたい方にチェックしてほしい良書、10冊はこちらです』
こちらもどうぞ
『「機械学習」に入門したいあなたにチェックしてほしい良書、10冊はこちらです』
『「データマイニング」を勉強したいあなたにチェックしてほしい良書、10冊はこちらです』
『「エクセル」で「データ分析」できるようになりたいあなたにチェックしてほしい良書10冊はこちらです』
『「データ分析」を活用したい!けど分からないことだらけの方、その悩みを解決する良書10冊はこちらです』
『「アンケート調査」をしたいあなたにチェックしてほしい良書、8冊はこちらです』
本連載では、クラスター分析の記事を定期的に更新していきます。
Twitterなどフォローしてもらえると、更新情報が届くので便利です!
↓こちら無料で読めます