新規作成  編集  差分  FrontPage  ページ一覧  検索  更新履歴  編集履歴  管理

ChaSen's Wiki - 辞書の作り方 差分

  • 最後の更新で追加された行はこのように表示します。
  • 最後の更新で削除された行はこのように表示します。

!辞書、文法定義ファイル 
茶筌の辞書をつくるためには以下のファイルが必要です。

*辞書定義ファイル
** *.dic
*文法定義ファイル
**grammar.cha - 品詞定義ファイル
**ctypes.cha - 活用型定義ファイル
**cforms.cha - 活用形定義ファイル
**connect.cha - 連接表定義ファイル

一般に、ユーザーが変更を加えるのは辞書定義ファイルのみです。

!辞書のコンパイル
辞書のコンパイルには makeda コマンドを使います。
この作業は文法定義ファイルのあるディレクトリでおこなう必要があります。

$ makeda dic_name input1.dic input2.dic

dic_name には出力したい辞書ファイルのベースネーム(拡張子を除いたファイル名)を指定します。たとえば、user を指定すると、user.da、user.lex、user.dat が生成されます。
入力の辞書定義ファイルは複数指定できます。入力のフォーマットは[[辞書定義ファイルのフォーマット]]を参照してください。

!辞書の指定
前節で作成した辞書を使うには chasenrc で次のように指定します。

(DADIC chadic) (DADIC user) (DADIC chadic user)
この場合、chadic.* と user.* の両方を辞書に使います。

!文法定義ファイルの変更
品詞、活用定義と連接表定義の内容が矛盾していると茶筌は正しい解析をおこなえません。
正しい連接表定義を作成できないときは、これらのファイルは変更してはいけません。

文法定義ファイルを変更した場合、以下の手順で連接表のコンパイルをおこなってください。

!!連接表のコンパイル

連接表のコンパイルには makemat コマンドを使います。

文法定義ファイルのあるディレクトリで以下のように実行します。

$ makemat

matrix.cha、table.cha が出力されます。


!文字コード
システム標準の文字コード(Unix では EUC-JP、Windows では Shift_JIS)以外の文字コードを使うには、その文字コードでの辞書を用意する必要があります。

#当該文字コードで書かれた文法定義ファイル、辞書定義ファイルを用意する
#makemat、makeda に -i オプションで当該文字コードを指定して、連接表と辞書をコンパイルする
#茶筌実行時に -i オプションで当該文字コードを指定する

-i オプションに指定できるのは e、s、w、a のいずれかで、それぞれ EUC-JP、Shift_JIS、UTF-8、ISO-8859-1 を指定します。