ChaSenをUTF-8用にインストール


はじめに

本記事では形態素解析器ChaSenでUTF-8を扱うための手順を説明します。
環境はMac上のVagrant、bento/centos-6.7です。(Macの環境を汚したくなかったためVagrantにしました。)

なお、この手順に従うとEUC-JPで読むことはできなくなります。

インストール

ローカル(Mac上での作業)

必要なファイルをローカルにダウンロードする

ライブラリ ダウンロードページ 取得するファイル
ChaSen https://osdn.jp/projects/chasen-legacy/releases/ chasen-2.4.5.tar.gz
IPADIC https://osdn.jp/projects/ipadic/releases/ ipadic-2.7.0.tar.gz

scpでVagrantに送信(ホスト:192.168.33.10、ユーザー:vagrant)
パスワードは変更していなければvagrantです。

scp ~/Downloads/chasen-2.4.5.tar.gz [email protected]:/home/vagrant
scp ~/Downloads/ipadic-2.7.0.tar.gz [email protected]:/home/vagrant

リモート(vagrant上での作業)

gcc-c++をインストール

[vagrant@ ~]$ sudo yum install gcc-c++ -y

Dartsをインストール

[vagrant@ ~]$ wget http://chasen.org/~taku/software/darts/src/darts-0.32.tar.gz
[vagrant@ ~]$ tar xvf darts-0.32.tar.gz
[vagrant@ ~]$ cd darts-0.32
[vagrant@ darts-0.32]$ ./configure
[vagrant@ darts-0.32]$ make
[vagrant@ darts-0.32]$ sudo make install

makeでmake: *** ターゲットが指定されておらず, makefile も見つかりません. 中止.というエラーが出たらgcc-c++がインストールされていない可能性があります。(./configureの出力にエラーがあるはずです)

ChaSenをインストール

[vagrant@ ~]$ tar xvf chasen-2.4.5.tar.gz
[vagrant@ ~]$ cd chasen-2.4.5
[vagrant@ chasen-2.4.5]$ ./configure
[vagrant@ chasen-2.4.5]$ make
[vagrant@ chasen-2.4.5]$ sudo make install

Dartsのインストールされていないと./configureにエラーが出て止まります。

IPADICをインストール(UTF-8)

UTF-8変換に必要なnkfをインストールしておきます。

[vagrant@ ~]$ sudo yum install nkf -y

辞書ファイルをUTF-8に変換した後でmakeします。

[vagrant@ ~]$ tar xvf ipadic-2.7.0.tar.gz 
[vagrant@ ~]$ cd ipadic-2.7.0
[vagrant@ ipadic-2.7.0]$ find -name '*.dic' | xargs nkf --overwrite -w
[vagrant@ ipadic-2.7.0]$ find -name '*.cha' | xargs nkf --overwrite -w
[vagrant@ ipadic-2.7.0]$ `chasen-config --mkchadic`/makemat -i w
[vagrant@ ipadic-2.7.0]$ `chasen-config --mkchadic`/makeda -i w chadic *.dic
[vagrant@ ipadic-2.7.0]$ ./configure
[vagrant@ ipadic-2.7.0]$ make
[vagrant@ ipadic-2.7.0]$ sudo make
[vagrant@ ipadic-2.7.0]$ sudo nkf -w --overwrite /usr/local/etc/chasenrc

実行

test.txtというファイルをUTF-8で作成します。

test.txt
これは茶筅のテストです。
すもももももももものうち!
[vagrant@ ~]$ chasen -iw test.txt
これ  コレ  これ  名詞-代名詞-一般     
は ハ は 助詞-係助詞        
茶筅  チャセン    茶筅  名詞-一般       
の ノ の 助詞-連体化        
テスト   テスト   テスト   名詞-サ変接続     
です  デス  です  助動詞   特殊・デス 基本形
。 。 。 記号-句点       
EOS
すもも   スモモ   すもも   名詞-一般       
も モ も 助詞-係助詞        
もも  モモ  もも  名詞-一般       
も モ も 助詞-係助詞        
もも  モモ  もも  名詞-一般       
の ノ の 助詞-連体化        
うち  ウチ  うち  名詞-一般       
! ! ! 記号-一般       
EOS
EOS

メモ

  • chasen実行でchasen: /usr/local/lib/chasen/dic/ipadic/cforms.cha:9-21: no basic form というメッセージが出たら、正しくUTF-8化できていません

参考リンク