Shingoの数学ノート

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

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

日付:    カテゴリ: 自然言語処理


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


ロリポップ!とは?

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

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

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


>MeCabのインストール方法

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

  2. ここではMac、linuxの場合の例を書いています。WindowsはBash on Windowsを入れて実行しましょう。
    # 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"

    結果(例)
    /usr/local/lib/mecab/dic/mecab-ipadic-neologd

  3. ロリポップ!のサーバーにNeologdを配置します。
  4. djangoを使用したWebサーバーの作成を参照しながら進めていってください。


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

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

  5. ロリポップ!のサーバーにmecab-python3をインストールします。

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

    pip install mecab-python3==0.966.2

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


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

  8. pythonを起動して、以下のコマンドを打ってください。
    import MeCab
    t=MeCab.Tagger("-d /var/app/current/mecab-ipadic-neologd")
    print(t.parse("東京スカイツリーで遊びました。"))

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

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


Comment Box is loading comments...