LoginSignup
32
18

More than 3 years have passed since last update.

Ubuntu 20.04 LTSにMeCab(mecab-ipadic-neologd)/CaboChaのインストール

Last updated at Posted at 2021-02-03

前提

この記事は、Ubuntu 20.04LTSにMeCab(mecab-ipadic-neologd)とCaboChaをインストールし、pythonで使用できるようにするまでをまとめた記事です。

※本記事は以下の記事を大いに参考にさせて頂き、インストール場所など補足で記述しております。

MeCab(mecab-ipadic-neologd)のインストール

MeCabのインストール

まずMeCabをインストールします

mecabのインストール
$ sudo apt install mecab
$ sudo apt install libmecab-dev
$ sudo apt install mecab-ipadic-utf8

入力を求められた場合は、全てy(yes)で大丈夫です。
インストールできているか確認します。

mecabの確認
$ mecab
特急はくたか
特急    名詞,一般,*,*,*,*,特急,トッキュウ,トッキュー
は      助詞,係助詞,*,*,*,*,は,ハ,ワ
く      動詞,自立,*,*,カ変・クル,体言接続特殊2,くる,ク,ク
た      助動詞,*,*,*,特殊・タ,基本形,た,タ,タ
か      助詞,副助詞/並立助詞/終助詞,*,*,*,*,か,カ,カ
EOS

上記のように出力されたら、インストール成功です。
辞書はipadicを使用しているので、また正しく分割されません。

mecab-ipadic-neologdのインストール

次に、固有表現に強い辞書のmecab-ipadic-neologdをインストールしていきます。

mecab-ipadic-neologのインストール
$ git clone https://github.com/neologd/mecab-ipadic-neologd.git
$ cd mecab-ipadic-neologd
$ sudo bin/install-mecab-ipadic-neologd

上記を実行したときに、make is not foundのエラーが出る場合があります。

mecab-ipadic-neologdのインストールエラー
[install-mecab-ipadic-NEologd] : Start..
[install-mecab-ipadic-NEologd] : Check the existance of libraries
[install-mecab-ipadic-NEologd] :     find => ok
[install-mecab-ipadic-NEologd] :     sort => ok
[install-mecab-ipadic-NEologd] :     head => ok
[install-mecab-ipadic-NEologd] :     cut => ok
[install-mecab-ipadic-NEologd] :     egrep => ok
[install-mecab-ipadic-NEologd] :     mecab => ok
[install-mecab-ipadic-NEologd] :     mecab-config => ok
[install-mecab-ipadic-NEologd] :     make is not found.

エラーが出た場合は、build-essentialを再インストールし、もう一度mecab-ipadic-neologdをインストールします。

build-essentialの再インストール
$ sudo apt install --reinstall build-essential
$ sudo bin/install-mecab-ipadic-neologd

上手くいくと/usr/lib/x86_64-linux-gnu/mecab/dic/mecab-ipadic-neologdにインストールされます。
mecab-ipadic-neologdのインストール場所が、ipadicの場所と異なるため、移動させます。

mecab-ipadic-neologdの移動
$ sudo mv /usr/lib/x86_64-linux-gnu/mecab/dic/mecab-ipadic-neologd /var/lib/mecab/dic

次にMeCabの辞書の設定がまだipadicになっているので、変更します。MeCabの設定ファイルは、/etc/mecabrcにあります。

mecabrcの編集
$ sudo vim /etc/mecabrc

;
; Configuration file of MeCab
;
; $Id: mecabrc.in,v 1.3 2006/05/29 15:36:08 taku-ku Exp $;
;
; dicdir = /var/lib/mecab/dic/debian ⇐ 最初にセミコロン追加
dicdir = /var/lib/mecab/dic/mecab-ipadic-neologd ⇐ 一行追加
; userdic = /home/foo/bar/user.dic
; output-format-type = wakati
; input-buffer-size = 8192
; node-format = %m\n
; bos-format = %S\n
; eos-format = EOS\n

もう一度、mecabの動作確認をすると、先ほど分割されていた単語が分割されないようになっています。

mecabの再確認
$ mecab
特急はくたか
特急はくたか
特急    名詞,一般,*,*,*,*,特急,トッキュウ,トッキュー
はくたか        名詞,固有名詞,一般,*,*,*,はくたか,ハクタカ,ハクタカ
EOS

pythonへのバインディング

最後に、python3で使用できるようにします。

pipが入っていない場合
$ sudo apt install swig
$ sudo apt install python3-pip
$ sudo pip3 install mecab-python3
pipが入っている場合
$ pip install mecab-python3

pythonから使用するときは、下記のように入力すれば実行できます。

MeCabの実行
import MeCab
tokenizer = MeCab.Tagger()
print(tokenizer.parse('形態素解析したい文章を入力します'))

python実行時に、下記のようなエラーがでたらmecabrcを指定された場所にコピーします。
image.png

mecabrcのコピー
$ sudo cp /etc/mecabrc /usr/local/etc/

Cabochaのインストール

CRF++のインストール

Cabochaを使用するために、CRF++が必要となりますので、wgetでダウンロードし、インストールしていきます。

CRF++のインストール
$ wget "https://drive.google.com/uc?export=download&id=0B4y35FiV1wh7QVR6VXJ5dWExSTQ" -O CRF++-0.58.tar.gz
$ tar zxvf CRF++-0.58.tar.gz
$ cd CRF++-0.58
$ ./configure
$ make
$ sudo make install 
$ sudo ldconfig

cabochaのインストール

次に、cabochaをインストールしていきます。
cabochaのインストーラーはgoogle driveにあり、CUIでの取得が難しいですが、以下の方法で取得が可能です。

cabochaのダウンロード
$ cd ~
$ FILE_ID=0B4y35FiV1wh7SDd1Q1dUQkZQaUU
$ FILE_NAME=cabocha-0.69.tar.bz2
$ curl -sc /tmp/cookie "https://drive.google.com/uc?export=download&id=${FILE_ID}" > /dev/null
$ CODE="$(awk '/_warning_/ {print $NF}' /tmp/cookie)"  
$ curl -Lb /tmp/cookie "https://drive.google.com/uc?export=download&confirm=${CODE}&id=${FILE_ID}" -o ${FILE_NAME}

ダウンロードが成功したら、インストールしてきます。

cabochaのインストール
$ bzip2 -dc cabocha-0.69.tar.bz2 | tar xvf -
$ cd cabocha-0.69
$ ./configure --with-mecab-config=`which mecab-config` --with-charset=UTF8
$ make
$ make check
$ sudo make install
$ sudo ldconfig

インストールが成功していれば、cabochaの実行が可能となります。

cabochaの実行
$ cabocha
これはカボチャのテストです
    これは---D
  カボチャの-D
    テストです
EOS

pythonへのバインディング

最後にCabochaをpythonから使用できるように、バインディングをしていきます。

$ cd python
$ python setup.py install

pythonから使用するときは、下記のように入力すれば実行できます。

CaboChaの実行
import CaboCha
c = CaboCha.Parser()
sentence = "これはカボチャのテストです"
print(c.parseToString(sentence))

以上で完了です!

32
18
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
32
18