口コミ(クチコミ)とは、口頭やネット上などでのヒトからヒトへの情報伝達のことです。
ネット上の口コミでは、情報の内容だけでなく、いつ・どこでされた会話かといった情報もともに残されています。
こういった口コミを分析することで、
- 世論を調べる
- マーケティング
- 広告効果の測定
など、自社の強みの発見や改善案の抽出などのヒントにすることができます。
クチコミデータは、テキストデータなので、
テキストマイニングの手法を活用できます。
加えて、口コミの分析に独特の分析方法もプラスすることで、
より効果的に有益な情報を抽出することができます。
そこで本シリーズでは、口コミ分析の初心者の方から、実際にやってみたい方のために、
- 口コミの分析方法のやり方は?
- 口コミ分析を手軽に行うためのツールとは?
- 口コミ分析をpythonでやる方法
などについて、わかりやすく、サクッとまとめています。
第1話では、口コミデータの特定、収集、本文抽出、注意点などについてまとめました↓
『口コミの分析方法とは?(1) 口コミデータの特定、収集、本文抽出、注意点について、わかりやすく、サクッとまとめました』
第2話では、口コミデータの収集後のテキストデータから、1文を取り出す方法について、サクッとわかりやすくまとめました↓
『口コミの分析方法とは?(2) 口コミデータの1文抽出(文分割)について、オープンソースのフリーソフトなども含めて、わかりやすく、サクッとまとめました』
第3話となる本記事では、1文に分割された口コミデータから、
「形態素解析とは?」など、初心者の方向けに、
サクッとわかりやすく説明し、
- 形態素解析のツール・エンジン(mecab, 茶筅chasen, , juman, kytea, sudachi など)
- オープンソースのフリーソフト・ライブラリ・OSS(janome, kuromoji), webブラウザ(TinySegmenter, kuromoji.js)
- Google Cloud Natural Language API, Yahoo 形態素解析などのオンラインサービス
なども交えながら、ご紹介します。
本記事の概要
口コミの分析方法とは?(3) 口コミデータの形態素解析(単語分割と品詞付加、原形の特定)について、オープンソースのフリーソフトなども含めて、わかりやすく、サクッとまとめました
ここでは、1文1文に分けられたデータがあり、
そのデータを分析のスタートとします。
(日本語)形態素解析とは?
形態素解析とは、具体的には、以下の3つの処理を行うこと指します。
- 文を単語などに分割する(分かち書き)
- 単語などの品詞を推定する
- 語の原形を特定する
これらをまとめて形態素解析と言います。
単語に分割する、と書きましたが、
日本語の分割単位には、いろいろな定義があります。
英語であれば、単語間に空白がありわかりやすいですが、
日本語の場合は、どこで区切るかは、いくつかの定義があります。
文を単語に区切るのが形態素解析になります。
形態素解析の結果を理解するには、
以下の「語」に関する分類を知っておくことが役立ちます。
例えば、「単語(語)」には、
- 自立語(独立して使われる・意味を持つ)
- 付属語(付属して使われる・それだけでは意味はない・文法的な機能をする)
といった区別があります。
語は、さらに小さい単位に分けれ、「形態素」と呼ばれます。
「形態素」には、
- 自由形態素(語の一部として独立して現れるもの)
- 拘束形態素(他の形態素とともに現れるもの)
といった区別があります。
他にも、形態素は、語彙としての意味の有無で
- 語根(単独で出ることがある・語彙的な意味を持つ)
- 接辞(語彙的な意味を持たない)
といった分け方もあります。
なお、「接辞」には、
- 文法的な機能を表す「屈折接辞」
- 品詞の意味を変える「派生接辞」
- 先頭に出る「接頭辞」
- 末尾に出る「接尾辞」
があります。
語や形態素にはこのような区別がありますが、
形態素解析では、これらの区別は厳密に扱われているわけではなく、
何かしらの意味を持つ単位に、一貫して分割されています。
形態素解析を実行するためのツールとは?
日本語形態素解析器・ツール・エンジン
形態素解析は、オープンソースのソフトやツール、
形態素解析器、形態素解析エンジンなどを利用すると
サクッと実行できます。
JUMAN
京都大学で開発されている形態素解析システムです。
形態素解析器のオープンソースソフトウェアのはしりで、当初は研究者向けに公開されました。
解析のパラメータについて、自然言語処理の専門家の方がチューニングしており、
- 日本語の文法的な特徴を捉えている
- 分野依存性が低い
といった特徴があります。
ChaSen(茶筅)
奈良先端科学技術大学院大学で開発されている形態素解析システムです。
JUMANをベースにして開発され、
解析用のパラメータを注釈済みコーパスデータを使って、統計的に推定しています。
形態素解析システムと辞書が分離されている点も特徴の1つとなっています。
MeCab
ChaSen をベースに開発され、高速化された形態素解析システムです。
パラメータ推定に条件付き確率場を採用して精度の向上がなされました。
JUMANやChaSenが主に研究者向けなのに対して、
MeCabはエンジニアにも扱いやすいように、
Python, Perl, Ruby など様々なプログラミング言語から使うことができます。(MeCab自体はC++で開発されています)
また、MeCabを他の言語で再実装したシステムが様々公開されています。
- Javaでの Kuromoji, Sen, Igo
- JavaScriptでの kuromoji.js
- Pythonでの janome
- Goでの kagome
これらはMeCab の再実装なので、MeCab と同じ結果が得られます。
KyTea
京都テキスト解析ツールキットで、単語分割と品詞推定、読み推定を行えます。
読み推定では、音声言語処理などでも役立ちます。
単語分割処理が、文字の前が単語境界かどうかを機械学習の2値問題として定式化されています。
単語境界は、他の境界と独立に決める点予測の方法が使われており、短時間に効率的に精度向上が行えます。
品詞推定・読み推定も同様に点予測で行われています。
Sudachi
株式会社ワークスアプリケーションズ徳島人工知能NLP研究所が中心に開発している形態素解析システムです。
商業利用できる高品質で使い勝手の良いシステムの開発が目標にされています(現在開発継続中)。
Java で開発されています。
TinySegmenter
JavaScriptで実装されたコンパクトな単語分解ソフトウェアです。
辞書を使わず機械学習のみで単語分割を行っています。
学習データが新聞記事で、砕けた日本語の解析には不向きですが、
未知語の解析はMeCabよりも高いことがあります。
これまでの形態素解析器は、
ソフトをインストールしたり、辞書の導入など、
自分で環境構築する必要があります。
コンピュータにあまり詳しくない初心者の方には、
少しハードルが高い場合もあるかと思います。
そういう場合は、以下の形態素解析のオンラインのウェブサービスを使うという方法もあります。
オンライン日本語形態素解析器 web サービス
Google Cloud Natural Language API
グーグルが公開している自然言語処理のAPIです。
形態素解析に加え、構文解析などその他の処理も一貫して行えるのがうれしいところです。
システムメンテナンスや辞書の整備なども行う必要がなく、解析に集中することができます。
Yahoo! 日本語形態素解析 API
ヤフーが公開している日本語形態素解析のAPI です。
解析したいテキストをアップすると解析結果を受け取ることができます。
これらのオンラインサービスは便利である反面、
データを渡すことになりますので、
御社の重要な内部データなどの解析では慎重に使われてください。
というわけで、
本記事では、形態素解析とは?などについて、
初心者の方向けに、サクッとわかりやすく説明し、
- 形態素解析のツール・エンジン(mecab, 茶筅chasen, , juman, kytea, sudachi など)
- オープンソースのフリーソフト・ライブラリ・OSS(janome, kuromoji), webブラウザ(TinySegmenter, kuromoji.js)
- Google Cloud Natural Language API, Yahoo 形態素解析などのオンラインサービス
なども交えながら、ご紹介しました。
こちらもございます↓
こちらの記事もございます↓
『「テキストマイニング」を学びたいあなたにチェックしてほしい良書、12冊はこちらです』
『「自然言語処理」を学びたい人におすすめの良書、10冊はこちらです』