Shingoの数学ノート

プログラミングと機械学習のメモ

ロリポップ!でPythonからMeCabを使用する(辞書はneologdを使用)

そろそろ自然言語処理のブログを書こうと思っていたこの頃。自然言語処理の基礎編もそのうち書きたいのですが、今回はロリポップ!にMeCabをインストールする方法についての備忘録を記しておきます。

ロリポップ!とは?

ロリポップ!はレンタルサーバーで、ブログやアプリ等をweb上で公開したいときなんかに使用できます(このブログもロリポップ!を使用して公開しています。)。最近、pythonに対応したらしいですね。嬉しい!

Pythonに対応しました!|ロリポップ!マネージドクラウド|note

しかし、ロリポップ!のサーバーは「apt-get」を使用できないため、MeCabを使用するのに少し注意が必要です。自分はDjangoでWebアプリを作成する際にMeCabとneologdが必要でした。

>MeCabのインストール方法

  1. ローカルPCでmecab-ipadic-neologdをインストールします。

ここではMac、linuxの場合の例を書いています。WindowsはBash on Windowsを入れて実行しましょう。

bash
# MeCabをインストール(インストールしている人は飛ばしてください)
sudo apt install mecab
sudo apt install libmecab-dev
sudo apt install mecab-ipadic-utf8

# Neologdのインストール
git clone https://github.com/neologd/mecab-ipadic-neologd.git
cd mecab-ipadic-neologd
./bin/install-mecab-ipadic-neologd -n

# pathの確認
echo `mecab-config --dicdir`"/mecab-ipadic-neologd"

結果(例)

text
/usr/local/lib/mecab/dic/mecab-ipadic-neologd
  1. ロリポップ!のサーバーにNeologdを配置します。

djangoを使用したWebサーバーの作成を参照しながら進めていってください。

  1. 1でインストールしたmecab-ipadic-neologdのフォルダをdjangoのアプリを開発しているフォルダにコピーします。

  2. そのフォルダへ移動し、gitでリポジトリに記録します。

bash
# フォルダ移動
cd [アプリを開発しているフォルダ]
# 変更のあったファイルをすべて登録する
sudo git add .
# 登録された変更を確認する
sudo git status
# コミット
sudo git commit -m "ここにコミットメッセージを記載します (例: ファーストコミット)"
  1. ロリポップ!のサーバーにmecab-python3をインストールします。

sshでロリポップ!のサーバーに入り、以下のコマンドを打ってください。

python
pip install mecab-python3==0.966.2

実は、2019年にmecab-python3に新しいバージョンができまして、apt-installを使用せずにmecabを使用することができるようになりました。ちなみに、本体の辞書がどこにあるのかはよくわかりませんでした(笑) つまり、mecabのみを使いたいならpip installだけでokになったということです。

  1. ロリポップ!のサーバーでMeCabを使用します。

pythonを起動して、以下のコマンドを打ってください。

python
import MeCab

t = MeCab.Tagger("-d /var/app/current/mecab-ipadic-neologd")
print(t.parse("東京スカイツリーで遊びました。"))

結果

text
東京スカイツリー 名詞,固有名詞,地域,一般,*,*,東京スカイツリー,トウキョウスカイツリー,トーキョースカイツリー で 助詞,格助詞,一般,*,*,*,で,デ,デ 遊び 動詞,自立,*,*,五段・バ行,連用形,遊ぶ,アソビ,アソビ まし 助動詞,*,*,*,特殊・マス,連用形,ます,マシ,マシ た 助動詞,*,*,*,特殊・タ,基本形,た,タ,タ 。 記号,句点,*,*,*,*,。,。,。

見事MeCabとneologdを使用することができました!

Comments

Loading comments...