概要
未知語処理(辞書に載っていない単語の形態素解析の処理)についてユーザが再定義できます。
設定ファイル
配布辞書のディレクトリにある char.def と unk.def という2つのファイル を変更します.
char.def
未知語処理のルールです. こちらを御覧ください.
unk.def
未知語に対する品詞列のテーブルです. こちらを 御覧ください.
ケーススタディ
数字の連続を1つの形態素とする
- 辞書 (*.csv ファイル)から数字のエントリを削除します。 ipadic の場合は、Noun.number.csv の中から、アラビア数字のエントリを消去します。
- char.def を修正し、数字の連続が未知語になるようにします。
..
NUMERIC 1 1 0
..
- unk.def を修正し、数字のコストを小さくします。
4カラム目のコスト値を 0以下の小さい値に設定します。
NUMERIC,1204,1204,0,名詞,数,*,*,*,*,*
- 辞書をコンパイルします。
% /usr/local/libexec/mecab/mecab-dict-index
ASCII 文字列は、スペース/タブのみで分割する (kakasiと同一動作)
-
- 辞書 (*.csv ファイル)からアスキー文字列を含むのエントリを削除します。
- char.def を修正し、スペース、記号を除く文字を同一字種(ASCII)にマッピ
ングします。他のエントリも同時にチェックし、0x0021..0x007E の領域を
他の字種にマッピングしないようにしてください。
```
ASCII 1 1 0
0x0021..0x007E ASCII
- unk.def を修正し、ASCIIのコストを小さくします。
4カラム目のコスト値を 0以下の小さい値に設定します。
ASCII,1192,1192,0,名詞,サ変接続,,,,,*
- 辞書をコンパイルします。
% /usr/local/libexec/mecab/mecab-dict-index