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
```

登録できました！