MeCab システム辞書 指定方法



# 1. はじめに

Mac PCに導入したMeCab における システム辞書の指定方法について まとめます。

# 2. 準備

準備として、**MeCab** と **システム辞書** をインストールします。
今回、システム辞書は以下の2つをインストールします。

- **mecab-ipadic**（IPA辞書）
- **mecab-unidic**（UniDic）

## 2-1. Mecab インストール

以下を実行し、**Mecab** をインストールします。

```
brew install mecab
```


## 2-2. システム辞書 インストール

2つの**システム辞書**（**IPA辞書**：mecab-ipadic, **UniDic**：mecab-unidic）をインストールします。

### ・mecab-ipadic（IPA辞書）

以下を実行し、**mecab-ipadic**（IPA辞書）をインストールします。

```
brew install mecab-ipadic
```

### ・mecab-unidic（UniDic）

以下を実行し、**mecab-unidic**（UniDic）をインストールします。

```
brew install mecab-unidic
```

### ・確認

/usr/local/lib/mecab/dic ディレクトリー に、
インズトールしたシステム辞書が配置されていることが確認できます。

```
open /usr/local/lib/mecab/dic
```

![スクリーンショット 2021-03-16 15.55.42.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/174250/1b13c3a2-46d0-9d5f-5018-be12af9b727f.png)


# 3. 辞書指定

**mecab**コマンドの**-D**オプションを使用すると、
現在デフォルトで使用されるシステム辞書が確認できます。

```
mecab -D
```

実行例は以下の通りです。

```

$ mecab -D
filename: /usr/local/lib/mecab/dic/ipadic/sys.dic
version: 102
charset: utf8
type: 0
size: 392126
left size: 1316
right size: 1316
```

**filename**に */usr/local/lib/mecab/dic/ipadic/sys.dic* が設定されていることから、**mecab-ipadic（IPA辞書）**がデフォルト辞書となっていることがわかります。

## 3-1. 辞書指定

デフォルト以外のシステム辞書を使用したい時、
**mecab** コマンドで **-d** オプションで 辞書を指定します。

```
mecab -d <辞書配置ディレクトリー>
```

デフォルトのシステム辞書が**mecab-ipadic（IPA辞書）** となっている状態で、
前項でもう一つインストールした **mecab-unidic（UniDic）**を使用したい場合、
実行例は以下の通りです。

```
$ mecab -d "/usr/local/lib/mecab/dic/unidic/"
```


## 3-2. デフォルト辞書 設定

**mecab**で **-d** オプションを指定しない場合は、デフォルトのシステム辞書が使用されます。

デフォルトのシステム辞書自体を 変更したい場合は、
**/usr/local/etc/mecabrc** ファイルを編集します。

### ・mecabrc 確認

**usr/local/etc/mecabrc**ファイル の中身を確認します。

```
$  cat /usr/local/etc/mecabrc 
;
; Configuration file of MeCab
;
; $Id: mecabrc.in,v 1.3 2006/05/29 15:36:08 taku-ku Exp $;
;
dicdir =  /usr/local/lib/mecab/dic/ipadic

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

**dicdir** の値に、 */usr/local/lib/mecab/dic/ipadic*が指定されていることから、
**IPA辞書** (*/usr/local/lib/mecab/dic/ipadic*) がデフォルトのシステム辞書として 指定されていることがわかります。


### ・設定

デフォルトのシステム辞書を **UniDic** (*/usr/local/lib/mecab/dic/unidic*) に変更するため、**usr/local/etc/mecabrc** ファイルを編集します。

**dicdir** の値に デフォルトにしたいシステム辞書の配置場所を指定します。

デフォルトのシステム辞書を**UniDic**(*/usr/local/lib/mecab/dic/unidic*) に変更した場合、**usr/local/etc/mecabrc** ファイルは以下のようになります。


```
$ cat /usr/local/etc/mecabrc 
;
; Configuration file of MeCab
;
; $Id: mecabrc.in,v 1.3 2006/05/29 15:36:08 taku-ku Exp $;
;
dicdir =  /usr/local/lib/mecab/dic/unidic

; 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**コマンドで**-D**オプションを使用し、
デフォルトで使用されるシステム辞書が 変更されたか確認します。

```
mecab -D
```

実行例は以下の通りです。

```
$ mecab -D
filename: /usr/local/lib/mecab/dic/unidic/sys.dic
version: 102
charset: utf8
type: 0
size: 756463
left size: 5981
right size: 5981
```

**filename**に */usr/local/lib/mecab/dic/unidic/sys.dic* が設定されていることから**mecab-unidic（UniDic）** がデフォルト辞書に設定されたことがわかります。

# 4. おわりに

Mac PC上でのMecab の辞書指定方法について まとめました。

ネット上で 様々なシステム辞書が公開されており、
今回 インストールした **IPA辞書**・**UniDic** の他にも、
固有表現や新語が登録された **mecab-ipadic-NEologd （NEologd）** があり、これを使用することで 固有表現・新語を正確に 分割することが可能になります。

・GitHub：neology/mecab-ipadic-neologd
https://github.com/neologd/mecab-ipadic-neologd/blob/master/README.ja.md


# 参考情報

・MeCab: Yet Another Part-of-Speech and Morphological Analyzer
https://taku910.github.io/mecab/


・mwSoft ：MeCabのコマンドライン引数一覧とその実行例
http://www.mwsoft.jp/programming/munou/mecab_command.html#dictionary-info