「Cygwin」タグアーカイブ

Windows10 64bit, Cygwin 64bit で ChaSen

ChaSen は形態素解析機です。ざっくり言うと日本語の文章を単語ごとに区切ってくれるソフトウェアです。
ChaSen
縁あって ChaSen を使う機会がありましたのでインストール方法などを説明します。

環境

  • Windows 10 Pro 64bit
  • Cygwin 64bit 版 ( 2.873 )

インストール手順

基本的には以下のページ内容でいけますが、若干補足します。
cygwin 環境に chasen を install 2013秋 – NAVER まとめ

  1. 事前準備
  2. 当然ですが Cygwin は既に設定してあるものとします。これからインストールする方はデフォルトの設定のまま進めてから以下のパッケージを入れることをお勧めします。
    また、ウィルス対策ソフトも停止します。chasen の ./configure を実行していると反応がなくなるため。作業終了後にウィルス対策ソフトを再開するのを忘れずに。
    libiconv-devel, libcrypt-devel, make, gcc-g++ が必要になります。Cygwin 64bit の Setup.exe から入れます。あと wget があると幸せになれます。
    libiconv はソースから入れたりしてみたのですが、うまく動作しなかったので後ほど検証。

  3. Darts
  4. cf. Darts: Double-ARray Trie System
    上記サイトからソースコード ( 今回は darts-0.32.tar.gz ) を取得します。

    $ tar -xzvf darts-0.32.tar.gz
    $ cd darts-0.32
    $ ./configure
    $ make
    $ make check
    $ make install
    
  5. ChaSen legacy
  6. cf. ChaSen legacy
    上記サイトからソースコード ( 今回は chasen-2.4.5.tar.gz ) を取得します。
    “ダウンロード” タブの左側メニューの “chasen-2.4” から選ぶと吉。

    $ tar -xzvf chasen-2.4.5.tar.gz
    $ cd chasen-2.4.5
    $ ./configure LDLAGS="-liconv"
    $ make
    $ make check
    $ make install
    

    configure で libiconv が見つからないような表示は出ますが、これでコンパイルは通ります。

  7. IPAdic legacy
  8. IPAdic legacy
    ChaSen legacy で配布している chasen for windows は「OS 非対応」と表示されてインストールできない点に注意。
    上記サイトからソースコード ( 今回は ipadic-2.7.0.tar.gz ) を取得します。

    $ tar -xzvf ipadic-2.7.0.tar.gz
    $ cd ipadic-2.7.0
    $ ./configure
    $ make
    $ make install
    

使用方法

今回はサンプルとして、以下の文字列を gondola.euc.txt として euc-jp で保存します。

いのちみじかしたたえよV8

そして以下のコマンドを実行します。

$ chasen gondola.euc.txt > gondola.euc.out.txt

以下のような出力がされていればOK。

いのち	イノチ	いのち	名詞-一般		
み	ミ	みる	動詞-自立	一段	連用形
じ	ジ	じ	助動詞	不変化型	基本形
か	カ	か	助詞-副助詞/並立助詞/終助詞		
し	シ	する	動詞-自立	サ変・スル	連用形
たたえよ	タタエヨ	たたえる	動詞-自立	一段	未然ウ接続
V	ブイ	V	記号-アルファベット		
8	ハチ	8	名詞-数		
EOS

文字コードが euc-jp なのは、ipadic が euc-jp の辞書ファイルだからです。Cygwin の表示も utf8 なので結果をリダイレクトしてファイルに書き込むと吉。
なお、chasen のマニュアルは以下にあります ( pdf のみ)。
ChaSen legacy の文書
ちなみに、1 行に 1 単語ずつ出力してほしい場合は以下のようにします。

$ chasen -F "%m\n" gondola.euc.txt > gondola.line.euc.txt

以下のような出力が出ます。

いのち
み
じ
か
し
たたえよ
V
8
EOS

おまけ:perl module Text::ChaSen

CPAN module からはインストールできません。Makefile.PL を修正する必要があるため。
まず、CPAN Serch で出てくる Text::ChaSen のサイトからソースコードをダウンロードします。
で、解凍。

$ tar -xzvf Text-ChaSen-1.04.tar.gz
$ cd Text-ChaSen-1.04
$ vi Makefile.PL

Makefile.PL の修正箇所は

'LIBS' => ['-lchasen']

の箇所を

'LIBS' => ['-lchasen -liconv']

に修正します。あとはいつものコマンドでOK

$ perl Makefile.PL
$ make
$ make install

make test はやらなくてもよさそうです。
Text::ChaSen の使用方法についてはまた改めて。