Juman++(1.02)でユーザー辞書を登録(Mac => Vagrant => Ubuntu16.04)

備忘録として書いていきます。

Juman++ http://nlp.ist.i.kyoto-u.ac.jp/index.php?JUMAN++

0. Vagrantの環境構築

Vagrantで使用するOSをダウンロード

$ vagrant box add ubuntu1604 https://cloud-images.ubuntu.com/xenial/current/xenial-server-cloudimg-amd64-vagrant.box

作業用のディレクトリを作成

$ mkdir ubuntu1604

Vagrantの設定ファイルを作成

$ vagrant init ubuntu1604

Vagrant-disksizeをインストール

$ vagrant plugin install vagrant-disksize

Vagrantの設定変更

$ vi Vagrantfile

ディスクサイズを変更

$ config.disksize.size = 30GB

Active private network
Before # config.vm.network "private_network", ip: "192.168.33.10"
After config.vm.network "private_network", ip: "192.168.33.10"

仮想サーバーの立ち上げ

$ vagrant up

ログイン

$ vagrant ssh

サイズ確認

$ df -h

1. Juman++(1.02)のインストール

$ sudo apt-get update
$ sudo apt-get upgrade

gcc(4.9以降)が必要

$ sudo apt-get install g++-4.9

Boost C++のライブラリをインストール

$ sudo apt install google-perftools libgoogle-perftools-dev libboost-dev
$ sudo apt-get install build-essential

ccacheをインストール

$ sudo apt install ccache

作業用フォルダを用意しました。

$ mkdir workspace
$ cd workspace

juman++(ver1.0.2)圧縮ファイルをダウンロード

$ wget http://lotus.kuee.kyoto-u.ac.jp/nl-resource/jumanpp/jumanpp-1.02.tar.xz

解凍

$ tar xJvf jumanpp-1.02.tar.xz

ディレクトリ移動

$ cd jumanpp-1.02/

Configure

$ ./configure CC="ccache gcc" CFLAGS="-O3" CXX="ccache g++" CXXFLAGS="-O3"

Make

$ make

Make Install

$ sudo make install

Validate install

$ echo "お腹すいた" | jumanpp

以下のように表示されます

お腹 おなか お腹 名詞 6 普通名詞 1 * 0 * 0 "代表表記:お腹/おなか カテゴリ:動物-部位"
すいた すいた すく 動詞 2 * 0 子音動詞カ行 2 タ形 10 "代表表記:透く/すく 自他動詞:他:透かす/すかす;他:透かせる/すかせる"
@ すいた すいた すく 動詞 2 * 0 子音動詞カ行 2 タ形 10 "代表表記:空く/すく 自他動詞:他:空かす/すかす;他:空かせる/すかせる 反義:動詞:込む/こむ"
@ すいた すいた すく 動詞 2 * 0 子音動詞カ行 2 タ形 10 "代表表記:好く/すく 反義:動詞:嫌う/きらう"
EOS

2. Juman(7.01)をインストール

先ほど作成したworkspaceのディレクトリに戻ってJumanをインストール

$ cd ..
$ wget http://nlp.ist.i.kyoto-u.ac.jp/nl-resource/juman/juman-7.01.tar.bz2

解凍

$ tar jxvf juman-7.01.tar.bz2

ディレクトリ移動

$ cd juman-7.01

Configure

$ ./configure

Make

$ make

Make Install

$ sudo make install

パスを通す

$ sudo vim /etc/ld.so.conf

追加

$ include /usr/local/lib

パスを読み込み

$ sudo ldconfig

インストール確認

$ juman -v

結果

juman 7.01

3. ユーザー辞書登録

jumanrcファイルを検索

$ find / -name "jumanrc"

発見

/usr/local/etc/jumanrc

ファイル編集

$ sudo vim /usr/local/etc/jumanrc

以下が表示されます。

(辞書ファイル
        /usr/local/share/juman/dic
        /usr/local/share/juman/autodic
        /usr/local/share/juman/wikipediadic
)

ここが一番のキモです。
/usr/local/share/juman/wikipediadicの下に、
/usr/local/share/juman/userdicを追加します
追加後はこのようになります。

(辞書ファイル
        /usr/local/share/juman/dic
        /usr/local/share/juman/autodic
        /usr/local/share/juman/wikipediadic
    /usr/local/share/juman/userdic
)

辞書作成のディレクトリに移動

$ cd jumanpp-1.02/dict-build/userdic/

dummy.dicを削除

$ rm -rf dummy.dic

ユーザー辞書ファイル作成

$ vim virtual-idol.dic

以下をユーザー辞書として記入します

(名詞 (普通名詞 ((見出し語 東雲めぐ) (読み しののめめぐ) (意味情報 バーチャルSHOWROOMER))))

登録前の結果を確認

$ echo "東雲めぐはかわいい" | jumanpp

登録前の結果

東雲 しののめ 東雲 名詞 6 地名 4 * 0 * 0 "自動獲得:Wikipedia Wikipedia複合地名 Wikipedia多義"
めぐ めぐ めぐ 名詞 6 人名 5 * 0 * 0 "自動獲得:Wikipedia Wikipedia人名 Wikipedia名"
は は は 助詞 9 副助詞 2 * 0 * 0 NIL
かわいい かわいい かわいい 形容詞 3 * 0 イ形容詞イ段 19 基本形 2 "代表表記:可愛い/かわいい"
EOS

それでは登録していきましょう。
dict-buildディレクトリに移動

$ cd ..

Make

$ make

デフォルトではbashでインストールできなかったのでzshに変更していきます。
zshをインストール

$ sudo apt-get install zsh

シェルを確認

$ cat /etc/shells
$ which zsh

結果

# /etc/shells: valid login shells
/bin/sh
/bin/dash
/bin/bash
/bin/rbash
/usr/bin/tmux
/usr/bin/screen
/bin/zsh
/usr/bin/zsh

/usr/bin/zshと結果が返されます

シェルを変更

$ chsh
Changing the login shell for vagrant
Enter the new value, or press ENTER for the default
    Login Shell [/bin/bash]:

と表示されるのでさきほどの/usr/bin/zshを入力します

Changing the login shell for vagrant
Enter the new value, or press ENTER for the default
    Login Shell [/bin/bash]:/usr/bin/zsh

インストール

$ sudo ./install.sh

それでは登録後の結果を確認していきましょう。

$ echo "東雲めぐはかわいい" | jumanpp

どきどき...

東雲めぐ しののめめぐ 東雲めぐ 名詞 6 普通名詞 1 * 0 * 0 "バーチャルSHOWROOMER"
は は は 助詞 9 副助詞 2 * 0 * 0 NIL
かわいい かわいい かわいい 形容詞 3 * 0 イ形容詞イ段 19 基本形 2 "代表表記:可愛い/かわいい"
EOS

登録できました!

Sign up for free and join this conversation.
Sign Up
If you already have a Qiita account log in.