テクノロジー

形態素解析エンジンMeCabの使い方完全マニュアル〜Python編〜

形態素解析エンジンMeCabの使い方完全マニュアル〜Python編〜

今では機械に複数の言語を翻訳させたり、知りたい情報を検索サービスですぐに得られるようになりましたよね。実はこの背景には形態素解析という技術が大きく関係しています。

実はこの形態素解析は形態素解析エンジン「MeCab」で体験することができます。

それではこの形態素解析が体験できる形態素解析エンジン「MeCab」をPythonで利用する方法を説明していきましょう。

このMeCabとは形態素解析ができるソフトウェアのこと。単体で利用したり、プログラミング言語「Python」とMeCab連携して使うことが可能です。

そこでまずMeCabと形態素解析についての基本やどのような環境構築・準備が必要なのか。また、MeCabのインストール・Pythonと連携させる方法、PythonでMeCabを利用した形態素解析をする方法を具体的にお話します。

最後にはMeCabを使うときのポイントや、みなさんに併せておすすめしたいことについてもお伝えしていきますのでぜひ、現在広く利用されている形態素解析をMeCabとPythonで扱ってみてください。

MeCabとは

MeCabとは

それでは、この「MeCab」がどのようなものであるのかを説明していきましょう。

こちらは以下の2点で説明できるものです。

MeCabとは形態素解析ができるソフトウェア

まず、MeCabは形態素解析ができるソフトウェアです。
京都大学などの研究から生まれたものであり、作者がメカブを好んだことに由来しています。MeCabは無料で利用できるためこの分野では定番的なソフトウェアとなっています。

自然言語処理を行う際に利用されることが多い

次に、MeCabは自然言語処理を行う際に利用されることが多いです。こちらは以下でも説明しますが、自然言語処理では形態素解析を第一段階として行い、次の工程に進む流れとなっています。

ですので、自然言語処理にとってなくてはならないものであり、それが手軽に行えるMeCabは非常に使い勝手が良いのです。

以上がMeCabについての説明になります。これを踏まえて以下では「形態素解析」とは何であるのかを説明していきましょう。

MeCabができる「形態素解析」とは

MeCabができる「形態素解析」とは

上でも言葉として出てきた「形態素解析」とは以下のようなものです。

形態素解析とは文章を「形態素」に分けることを意味する

形態素解析とは文章を「形態素」に分けることを意味するものです。なお、形態素とは言葉の最小単位を意味し、よりわかりやすくすると名詞や動詞などに分けていくこと。

例えば、「私は走る」という文を形態素で分けていくと以下のようになります。

私:名詞
は:副助詞
走る:動詞
このように形態素ごとに分けていく処理が形態素解析です。これによって文章を情報へと変換可能。

ただし、この処理には語句に対応した辞書が必要なため、MeCabでは対応する辞書を導入して精度を高めています。

自然言語処理の中で最初に行われる処理である

そして形態素解析とは自然言語処理の中で最初に行われる処理です。

ちなみに自然言語処理とはAI(人工知能)技術の一部に分類され、機械に言語などを理解させる技術のこと。

こちらは以下の4つの手順で成り立っており、形態素解析はその中でも最初に行われます。

  • 形態素解析
  • 構文解析
  • 意味解析
  • 文脈解析

ですので、機械が文章などを理解するためにこちらは必要なものであり、自然言語処理技術においては欠かせません。そのため、この処理を無料で行え、Pythonと連携可能なMeCabは非常に便利なため、多くの人に利用されています。

以上が形態素解析についてです。

それでは、いよいよPythonを利用したMeCabの環境構築・準備、インストールなどを説明していきましょう。

MeCabを使うために必要な環境構築・準備

MeCabを使うために必要な環境構築・準備

Pythonを利用してMeCabを使うためには環境構築や準備が必要です。なお、環境構築とは端末内で使えるような設定を行うこと。ここでは以下の3つを行う必要があります。

1.Pythonの環境構築を行う

まず、MeCabの利用はPythonの環境構築が必要です。MeCabとPythonを連携させることが目標なので、Pythonを扱える環境は必須。

ちなみにPythonは公式以外にパッケージでも導入できるので、好きな方法で行いましょう。

2.MeCabをダウンロード

次に、MeCabをダウンロードしてください。こちらは公式サイトからダウンロードの項目をクリックし、OSに合わせて行えばok。

MeCab

具体的にはWindowsの場合は「mecab-0.996.exe」をダウンロードしてください。それ以外の場合には「mecab-0.996.tar.gz」をダウンロードし、OSに合わせてインストールをおこなってください。

3.MeCabに必要な辞書をダウンロードする

そして、MeCabは辞書をダウンロードする必要があります。

Windowsの場合には本体にIPA辞書というものが付属されていますが、これだけでは精度が低いので他の辞書もダウンロードすると良いでしょう。
具体的には「mecab-ipadic-NEologd」というものの導入をおすすめします。こちらなら多数の固有名詞や品詞が網羅されており、効率的にPythonでMeCabが利用が可能です。詳しくはNEologdの公式から導入方法を確認してください。

mecab-ipadic-NEologd

以上がPythonを利用してMeCabを使うための環境構築・準備。基本的にはPythonの環境構築、MeCab本体と辞書をダウンロードすれば良いです。

これを踏まえて次の章ではダウンロードしたMeCabなどをPythonと連携させる方法を説明していきましょう。

MeCabのインストール・Pythonと連携させる方法

MeCabのインストール・Pythonと連携させる方法

それでは、MeCabをPythonと連携させる方法を説明していきましょう。

ただし、前提としてOSによる違いや、Pythonがどのように端末に導入されているのかにより手順が異なるので、ここでは概要としてお伝えします

1.MeCab、辞書をインストールする

まず、MeCab、辞書をインストールしてください。こちらはWindowsではダウンロードしたファイルを実行、それ以外ではコマンドラインでインストール可能。

なお、この際にWindowsでは本体のインストールを行う際に、文字コードを「UTF-8」に設定するようにしてください。

これはこの形式で設定しないと、その後の過程で文字化けが発生するからです。PythonとMeCabを連携するためには必ず以上の設定で行ってください。

mecab-python3をインストールする

次に、PythonとMeCabを連携するためにmecab-python3をインストールしましょう。こちらはPython上でMeCabを動かせるようにするモジュール。
コマンドプロンプトやPythonなどのCUIで導入ができますが、Windowsの場合ではかなり煩雑な手順が必要です。そのため、自身の環境などに合わせて適切な方法をサイトなどから確認して行うと良いでしょう。

ちなみに端末がMacOSやLinuxなどの場合には

pip install mecab-python3

のコマンド入力ですぐにインストール可能です。

以上が簡単なMeCabをPythonと連携させる方法。OSがWindowsの場合ではMeCabとPythonの連携が大きなハードルとなります。OSをよく確認してください。

MeCabで形態素解析をする方法

MeCabで形態素解析をする方法

それでは適切な手順でMeCabのインストール、Pythonとの連携が成功したら以下の手順に則って形態素解析をしてみましょう。

・1.Pythonを起動する

まず、Pythonを起動しましょう。CUIのコマンドプロンプトやGUI対応のパッケージなどから実行してください。基本的に環境構築とインストールが済んでいれば問題なくできるはず。

・2.処理を記述して実行する

次に、処理を記述して実行してみましょう。ちなみにMeCab自体は以下のコマンドの後に形態素解析したい言葉を入力すれば、それが処理され結果が出力されるようになっています。

mecab
mecab -O wakati
以上のコマンドを簡単に説明すると「mecab」と記述しただけの場合では、文章が品詞ごとに分けられて表示されます。MeCabの中ではもっとも基本的なコマンドです。
そして、「mecab -O wakati」と記述するとわかち書きをしてくれます。

例えば、「私は走る」であれば「私 は 走る」と表示。

あくまでもこれらは機能の一部なので、詳しくは公式サイトから確認してみましょう。

これを踏まえてPython上でMeCabのコマンドを以下の例文で記述していくと以下のようなります。

・例文「私の飼っている犬は白い」を「mecab」コマンドで形態素解析した場合

import MeCab
mecab= MeCab.Tagger("")
text="私の飼っている犬は白い"
result = mecab.parse(text)
print(result)

以上のように記述するとMeCab単体で形態素解析した結果と同様のものがPython上で表示されます。なお、コマンドを変えれば出力結果も変化するので、よろしければ試してみてください。

次の章ではPythonでMeCabを使うときのポイントをお伝えしてきます。

MeCabを使うときのポイント

MeCabを使うときのポイント

これまでの説明で形態素解析を行うMeCabやPythonとの連携方法についてある程度理解していただけたでしょう。しかし、PythonでMeCabを使うときには以下のポイントを押さえることが大切です。

  1. OSによって環境構築などの手順が異なることを理解しておく
  2. Pythonを積極的に活用していく
まず、1にあるようにOSによって環境構築などの手順が異なることを理解しておきましょう。こちらについては端末のOSの種類によっては煩雑な作業を要求される場合もあるので、あらかじめどうすれば導入が簡単になるかを把握しておくのがおすすめです。

例えば、特定のパッケージの利用を検討してみたり、検索したサイトにある情報に沿ってやってみるのがよいでしょう。ただし、記載された情報が正しいものでないこともあるので、MeCab公式サイトなどをしっかりと参考にした上で実行に移してください。

次に、2にあるようにPythonを積極的に活用していきましょう。やはりMeCabはPythonと連携することでできることが増えていきます。例えば、コマンドを組み合わせることで長い文章の中から特定の言葉を抜き出したり、自身でオリジナルの辞書を作成することも可能。

ですから、形態素解析をより高いレベルで行うためにもPythonを活用してMeCabを利用しましょう。そうすればただ形態素解析を体験するだけでなく、別の場所で応用することもできるかもしれません。

以上がPythonでMeCabを使うときのポイントです。

 

まとめ

今回は形態素解析エンジン「MeCab」についてお話しました。

  • MeCabとは形態素解析ができるソフトウェアである
  • 形態素解析とは文章を「形態素」に分けることを意味する
  • MeCabの利用にはPythonの環境構築やMeCabのダウンロードが必要
  • 文字コードは「UTF-8」に設定し、その上でmecab-python3をインストールする
  • PythonでMeCabを使うときにはPythonの構文でMeCabのコマンドを入力す
  • OSによって環境構築などの手順が異なることを理解しておく

これらを踏まえて以下のことを提案したいです。

・自然言語処理について学んでみる

説明したようには形態素解析は自然言語処理でも行われます。ですので、形態素解析をPythonを利用したMeCabで体験した後に、自然言語処理についても学んでいけばより多くのことに活用できるかもしれません。

実際、自然言語処理はSNSの解析やスマートスピーカーなど、現在の世の中で広く利用されています。したがって自然言語処理は技術として非常に魅力的。

よろしければMeCabをきっかけに自然言語処理も学んでみませんか。そうすればみなさんの手で新しいサービスを開発し、それによって世の中をより明るくすることも夢ではないでしょう。

【お知らせ】

当メディア(AIZINE)を運営しているAI(人工知能)/DX(デジタルトランスフォーメーション)開発会社お多福ラボでは「福をふりまく」をミッションに、スピード、提案内容、価格、全てにおいて期待を上回り、徹底的な顧客志向で小規模から大規模ソリューションまで幅広く対応しています。

御社の悩みを強みに変える仕組みづくりのお手伝いを致しますので、ぜひご相談ください。

お多福ラボコーポレートサイトへのバナー

トップへ戻る
タイトルとURLをコピーしました