形態素解析システム茶筌

2006 年 3 月 30 日 | カテゴリー: 環境構築

2006033001.png

形態素解析システム茶筌

以前使った覚えはあるのだけど、何に使ったのか覚えてません。
使おうとしたら入れるのに時間がかかりました。

環境

サーバー CentOS 4.x
茶筌はホームディレクトリ内にディレクトリを作って展開する。
Windows から PuTTY と WinSCP を使って ssh で作業を行う。

【コラム】Yet Another 仕事のツール 第45回 日本語形態素解析ツール「ChaSen」 (MYCOM PC WEB)

上記サイトを参考にしてインストールしました。

作業ディレクトリの作成

$ mkdir -p ~/local/src

ダウンロード

Darts 0.2
http://chasen.org/~taku/software/darts/src/darts-0.2.tar.gz
ChaSen 2.3.3
http://chasen.aist-nara.ac.jp/stable/chasen/chasen-2.3.3.tar.gz
ipadic 2.7.0
http://chasen.naist.jp/stable/ipadic/ipadic-2.7.0.tar.gz

ポートが閉じているのか、wget は使えませんでした。ファイルは一度ローカルにダウンロードしてからWinSCP でファイル転送することにします。

Darts のインストール

Darts 0.3 のインクルードファイルを使って茶筌をコンパイルしたらエラーになりました。Darts 0.2 を使うことにします。
Darts をホームディレクトリに入れるのでインストール先を変更します。

$ tar zxvf darts-0.2.tar.gz
$ cd darts-0.2
$ ./configure --prefix=$HOME/local
$ make
$ make install

ChaSen のインストール

$ tar zxvf chasen-2.3.3.tar.gz
$ cd chasen-2.3.3
$ gcc --version

GCC 3.4.5 でした。このままコンパイルするとエラーになるので lib/dartsdic.cpp を編集します。
編集箇所は 180行目 なので、vi で行番号を表示して確認します。

$ vi lib/dartsdic.cpp 
:set number
/*(const char*)keys[size] = key.data();*/
keys[size] = const_cast(key.data());

ChaSen は Darts のインクルードファイルを使ってコンパイルします。パスが通っていないので場所を指定します。

$ ./configure --prefix=$HOME/local --with-darts=$HOME/local/include
$ make
$ make install

ipadic のインストール

$ tar zxvf ipadic-2.7.0.tar.gz
$ cd ipadic-2.7.0

chasen-config にパスが通っていないとエラーになるので場所を指定します。

$ ./configure --prefix=$HOME/local --with-chasen-config=$HOME/local/bin/chasen-config

*.dicと*.chaファイルをすべてUTF8にコンバートします。

$ vi convert.sh
#!/bin/sh
for file in *.dic *.cha
do
if [ -f $file ]; then
echo $file
iconv -f euc-jp -t utf-8 $file > tmpfile
mv tmpfile $file
fi
done
exit
$ sh ./convert.sh

辞書のインストール

etc ディレクトリが存在しないとコンパイル時にエラーになるので作成します。

$ `$HOME/local/bin/chasen-config --mkchadic`/makemat -i w
$ `$HOME/local/bin/chasen-config --mkchadic`/makeda -i w chadic *.dic
$ mkdir ~/local/etc
$ make install

設定ファイル~/local/etc/chasenrcもUTF-8に変換します。

$ cd ~/local/etc
$ iconv -f euc-jp -t utf-8 chasenrc > chasenrc.tmp
$ mv chasenrc.tmp chasenrc

~/local/bin/chasen -i w ファイル名 で実行します。

  1. com4
    2006 年 3 月 31 日 19:37

    あ、おれWindowsの方に入れてあります。AIMistちゅうのを使う時に必要なもんで。

  2. 2006 年 3 月 31 日 19:52

    ああそうかー、昔ゴーストをいじったときに入れたのかも?いや違う気もするけど。
    最近のゴースト事情は知らないけど、久しぶりに入れてみようかなー

    今回はファイルを引数に渡すだけだったからサーバのほうにいれました。

  3. 神無月はづき
    2006 年 4 月 1 日 04:31

    ChaSen、学校の講義で使いましたー。
    自然言語処理って講義だったのですが、
    結局よくわからないまま単位だけは取得しました(^-^;
    ダメっ子でごめんなさいorz

  4. 2006 年 4 月 2 日 00:57

    うちも言語学って講義はありましたよー、なぜか分類は社会でしたが(ぇ
    講義で使うんですねー。うちはその言語学で、名詞や動詞を手書きで構文木にした覚えだけあります…しかも試験の日に熱出してその成績Bでした(´Д⊂