Help us understand the problem. What is going on with this article?

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

More than 3 years have passed since last update.

はじめに

本記事では形態素解析器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化できていません

参考リンク

noobar
自分がつまづいたいた石ころを取り除くための場所にしてます
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした