「テキストエクスプローラ」プラットフォームは、構造化されていないテキストを分析し、その意味を把握する助けになります。構造化されていないテキストデータは珍しくありません。たとえば、アンケートの自由回答欄や、製品のレビューコメント、インシデントレポートといった例があります。
テキスト分析は、通常、単語の整理(キュレーティング)と、統計分析とを交互に行いながら進めていきます。
テキスト分析では、独自の用語が使用されます。単語(term, token)はテキストを構成する最小単位で、文章におけるワード(word)のようなものです。単語を定義する方法は、正規表現の使用をはじめ、多数の方法があります。テキストを単語に分解することを、トークン化(tokenization)と呼びます。
• 句は少数の単語から構成されます。このプラットフォームには、句を単語として扱うオプションも用意されています。
• 文書は単語の集合です。JMPのデータテーブルでは、テキスト列に含まれる各行の非構造化テキストが、1つの文書に対応します。
• コーパスは複数の文書の集合を指します。
通常は、いくつかの単語を除外して分析したほうがよいでしょう。これらの除外する単語は、「ストップワード」と呼ばれます。「テキストエクスプローラ」プラットフォームには、いくつかのストップワードが予め定義されていますが、分析者が自分でストップワードを追加することもできます。ストップワードは、単語としては除外されますが、句の中には含まれていても構いません。ただし、ストップワードで始まる句やストップワードで終わる句は除外されます。
単語を再コード化することもできます。この機能は、同義語を1つにまとめるのに便利です。
語幹抽出とは、単語の語尾の変化を取り除き、語幹が共通する単語をまとめる処理のことを指します。たとえば、「jump」、「jumped」、「jumping」は、すべて「jump」として扱われます。JMPで行われる語幹抽出は、文字列処理言語のSnowballで使われている方法と似ています。句に対しては、単語単体に対する語幹抽出と同じように、句に含まれる各単語を語幹抽出します。
「テキストエクスプローラ」プラットフォームでは、テキスト分析にbag of words(単語の袋)というアプローチを採用しています。このアプローチでは、句における構成を除き、語順は考慮されません。分析は、単語の出現頻度だけに基づいて行われます。
正規表現(Regex)、ストップワード、再コード化、語幹抽出などの整理(キュレーティング)を行って単語リストを作成したら、その整理した単語リストに対して統計分析を行ってください。このプラットフォームでは、文書単語行列(DTM; Document-Term Matrix)に対する統計分析を行えます。文書単語行列の各行は、1つの文書に対応しています(JMPデータテーブルにおけるテキスト列の1セルが、1文書に対応しています)。文書単語行列の各列は、整理した後の各単語に対応しています。文書単語行列に対する統計分析では、語順を無視する bag of words アプローチを採用しています。もっとも単純な場合では、文書単語行列は、単語の出現頻度となっています。それ以外の重みを用いる方法もいくつかあり、これについては保存に関するオプションで説明します。
このプラットフォームの統計分析では、最初に文書単語行列に対して特異値分解(SVD; Singular Value Decomposition)を実行します。これにより、単語情報に関するデータの次元を減らすことができます。特異値分解の詳細については、『多変量分析』の統計的詳細を参照してください。また、階層型クラスター分析によって、単語や文書をクラスタリングできます。クラスター分析によって、似たような単語や文書をグループにまとめることができます。
「テキストエクスプローラ」プラットフォームの通常の手順は以下のとおりです。
1. どのようにトークン化を行うかを指定します。予め用意されている正規表現や、自分でカスタマイズした正規表現などを指定します。
2. レポート上で、ストップワードの追加や、単語リストへの句の追加、単語の再コード化、語幹抽出の例外指定などを行います。
3. 語幹抽出の方法を指定します。
4. 単語と句の出現頻度、特異値分解、クラスター分析などの手法を使って、重要な単語や句を見極めます。
メモ: 特異値分解とクラスター分析は、JMP Proでのみ使用できます。
5. 必要に応じて、単語テーブル、文書単語行列、特異ベクトルなどの結果を保存し、それらをもとに追加の分析を行います。
メモ: 特異ベクトルを保存するオプションは、JMP Proでのみ使用可能です。
6. 場合によっては、句、再コード化、ストップワードの設定を、再分析するときに利用できるよう保存します。