はじめに
本記事では形態素解析器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 vagrant@192.168.33.10:/home/vagrant
scp ~/Downloads/ipadic-2.7.0.tar.gz vagrant@192.168.33.10:/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化できていません