# 未知語処理の定義

## 概要

未知語処理(辞書に載っていない単語の形態素解析の処理)についてユーザが再定義できます。

## 設定ファイル

配布辞書のディレクトリにある 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