こんにちは!統計ブロガーのにっしーです!
今回は、形態素解析について紹介します。
形態素解析とは、文章を細かい要素に分解することで、その文章を分析する手法です。
形態素解析は検索エンジンやSNSの分析などさまざまな場面で使用されています。
この記事を読むと以下のことがわかります。
- 形態素解析について
- 形態素解析のやり方
- 形態素解析のツール
ぜひ、最後まで楽しんで読んでいただければ幸いです。
テキストマイニングとは
そもそもテキストマイニングとはなんでしょうか。
テキストマイニングとは、大量のテキストデータから有用な情報を抽出し、それを分析する手法のことを指します。
例えば、ネットショッピングの口コミを分析すると、その商品の良し悪しがわかります。
また、記述式アンケートをテキストマイニングすると、人間が手動で行うより効率的に結果を集計できます。
テキストマイニングには形態素解析や構文解析などの手法があります。この記事では特に、形態素解析について説明していきます。
形態素解析とは
では、形態素解析とはなんでしょうか。
形態素解析とは、文章を形態素という意味のある最小単位に分解し、その品詞や基本形を対応させる手法です。
例えば、「彼はピアノを弾いています」を形態素解析してみましょう。この場合、以下のように形態素解析されます。
- 「彼」(名詞)
- 「は」(助詞)
- 「ピアノ」(名詞)
- 「を」(助詞)
- 「弾い」(動詞)
- 「て」(助詞)
- 「います」(助動詞)
形態素解析は対象の言語によって難しさが変わります。英語の場合、そもそも一つ一つの単語が離れているので、分解は簡単です。
一方、日本語の場合、すべての文字がつながっているため、どこで単語が切れるかを判断するのが困難です。
そのため、日本語の形態素解析は自分で分割ルールを決めるのではなく、以下で紹介するような形態素解析専用のツールを用いることが一般的です。
形態素解析の流れ
形態素解析の一般的な流れは以下のようになります。
- テキストの準備
- 文章を形態素に分解する
- 分解した形態素に品詞を対応させる
- 結果の解釈
テキストの準備
形態素解析を行うテキストを用意します。これはウェブページのテキスト、SNSの投稿、レビューなど、任意のテキストが対象となります。
文章を形態素に分解する
準備した文章を形態素に分解します。多くの場合、形態素解析ツールが自動で意味のある要素ごとに分解してくれます。
分解した形態素に品詞を対応させる
分解した形態素にそれぞれの品詞を対応させます。ここの工程も形態素解析ツールを使うと自動で行われます。
結果の解釈
形態素解析をした結果から、テキストの内容や文法、感情などを解釈します。
形態素解析の活用事例
形態素解析は、言語データを理解・解析するための基盤となるため、多岐にわたる活用事例があります。
例えば、形態素解析が使われるものとして以下の4つがあります。
- SNS分析
- 自然言語処理
- 機械翻訳
- 検索エンジン
以下ではそれぞれの項目を具体的に見ていきます。
SNS分析
TwitterやInstagram、FacebookなどのSNSの投稿の分析に形態素解析が使われています。
SNS分析を通して、調べたい事例が一般の人にどのように評価されているのかを調べられます。
例えば、自社が開発した製品を調べることで、その製品が肯定的に思われているのか、否定的に思われているのかを分析によって判断できます。
また、SNSで社会的事件を調べることで、その事件の評価が得られます。
自然言語処理
自然言語とは私たちが普段使っている言語です。
一般的にコンピュータはプログラミング言語を理解することに長けている一方、自然言語を理解することはあまり得意ではありません。
この自然言語をコンピュータに理解してもらうには、自然言語処理が必要です。
この自然言語処理にも形態素解析が使われています。
現在は特にAIの発展により大量の自然言語を処理して、そこから新たに文章が生成できるようになりました。
今後もより一層、自然言語処理の分野は大きく発展していくことが期待されています。
機械翻訳
機械翻訳でも形態素解析は使われます。翻訳したい文章を形態素解析し、それぞれの形態素ごとに翻訳したい言語に翻訳していきます。
この分野もAIの台頭により、より一層発展していくことが予想されます。
検索エンジン
検索フォームで検索された文章を形態素分析することで、適切な検索結果が表示されるようになります。
例えば、「形態素解析の勉強法について」と検索すれば、検索に不要な「の」や「に」、「ついて」のような部分は無視されて、「形態素解析」「勉強法」というキーワードで検索されるようになります。
形態素解析のツール
形態素解析を行う際には、一般的に形態素解析専用のツールが使われます。
現在、さまざまな形態素解析ツールが開発されています。
中には、プログラミングの知識がなくてもネットで簡単に形態素解析ができるツールがあるので、試しに利用してみることをおすすめします。
特に日本では、以下の4つのツールが使われています。
- MeCab
- Janome
- JUMAN
- NLTK
以下ではそれぞれのツールを紹介します。
MeCab
MeCabは、京都大学と日本電信通信株式会社コミュニケーション科学基礎研究所が開発したフリーソフトウェアです。
さまざまな辞書と連結させられたり、C言語、Java、Python、Rなど複数のプログラミング言語で使用できたりと汎用性が高いことから、日本語での形態素解析で最も使用されています。
Janome
Janomeもまた日本語の形態素解析に使用されます。
Pythonで書かれていて、Pythonのパッケージとして簡単にインストールできる利点があります。
JUMAN
JUMANは、京都大学が開発した日本語の形態素解析システムです。
Wikipediaから抽出した辞書を使えるのが特徴です。現在ではより発展したJUMAN++になっています。
NLTK
NLTKは「Natural Language Tool Kit」の略で、英語の形態素解析が可能です。
Pythonのライブラリとして利用ができ、形態素解析だけでなく、構文解析や意味解析など他のテキストマイニングも可能です。
まとめ
形態素解析はテキストマイニングの手法の一種で、文章をコンピュータに分析させるために行われます。
形態素解析はさまざまな領域で使われていて、現在、SNS分析や機械翻訳、検索エンジンなどで利用されています。
また、現在、複数の形態素解析ツールが存在しており、それぞれの状況に適したツールを選べます。
中には、簡単に使える形態素解析ツールもあるので仕事で使う場面が出てきたら、ぜひ使ってみてください。