スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
Comment (-)

Win機に茶筅をインストール(1) VMware + ubuntu の準備

自分用のメモです。

 ChaSen (茶筅) とは、UNIX系環境で動作する形態素解析ツールの一つ。日本語の文を自動で単語に分解してくれる。

 形態素解析ツールにはほかに MeCab (和布蕪)というのもあって、ネットでいろいろ検索してみた限りでは Mecab のほうがユーザーが多そうな印象を受ける。MeCab のほうが処理が速いそうだ。それに、MeCab のほうが後で出現したわけでどちらかというと新しく、今後もひょっとしてアップデートされるかもしれないという期待感もある。

 私が Mecab ではなく ChaSen を選んだ理由は、日本語の切り分けに使用する辞書にユーザーが単語を追加するとき、ChaSenのほうが記述が楽だから。特に、動詞など活用形のある単語を追加したいとき、Mecabだと1つの単語について各活用の形を何行にもわたって記述しないといけない。ChaSen は1行で済む。ChaSen の場合、解析するときに各語の活用形を自動で展開してくれるということらしい。MeCab では、辞書の側で事前に各活用形に展開しておくわけで、ひょっとしたらその分処理が余計に速いかも (?) しれない。でも私としてはユーザー辞書のメンテに削く時間のほうが問題なので、MaCab がその点を改善してくれないうちは、私にとって断然 ChaSen なのだ。しかも、以前に自分の作ったChaSen用ユーザー辞書を今度も利用しようとしている。以前のユーザー辞書に、もう少し追加して使うことになると思う。

 さて、その ChaSen を6年以上前の一時期に使ったことがあるだけだったが、今回久しぶりに自分の Windows 7 マシンにインストールした。
 まずは以前と同様に、Windows 上の VMware Player に ubuntu (LinuxベースのOS) を仮想マシンとしてインストールし、そこに ChaSen をインストールした。今回は、ChaSenを デフォルトの文字コード EUC ではなく初めて別の文字コード (utf-8) でインストールしてみた。自分はChaSen を使う目的以外で ubuntu やその他の Unix 系システムをいじったことなどない素人だし、しかも以前使ったときとはすべてのソフトがバージョンアップしていて、あれこれ変わった点が多数。予期しない動作やエラーも出て大変だったが何とか無事完了。

 勢いづいて、Windows に Cygwin (疑似的なLinux環境) もインストールして、そこに ChaSen をインストールしてみよう! と思いたった。 Cygwin のほうが、Windows 上の他のアプリとの間を行き来しやすく使いやすい。さらに、Cygwin にインストールした際には、ChaSen の辞書を UTF-8 と Shift-JIS でデュアルインストールして2つの文字コードを切り替えて使えるようにセットアップしてみた。そこそこ快適な環境ができてひと安心。

この作業の過程で、いろいろエラーが出てネット検索で解決策がわかって助けられたことも何度かあったが、なにしろ絶対ユーザー数が少ないようで、その解決策がWeb上に1箇所しか見つからなかったり、説明のリンク先ページがもう存在しなかったりするのだ。これじゃぁ今後私のように ChaSen を使おうとする人がいたら困るかもしれない。というわけで、ここに最新情報としてインストールについて3回にわたってメモしておきたい。


■ Windows マシンに VMware Player + ubuntu をインストールしたときのメモ

インストール環境の細かいバージョンは、
 - Windows 7 64-bit マシン +
 - VMware Player 7.7.0 +
 - ubuntu 16.04

VMware Player と ubuntu のインストールについては多くのサイトで丁寧に説明してくれているので、ここではあまり書かないけれど、私がいくつか困った点について、その解決策などを簡単にメモ。

● ubuntu インストール後、VMware Player から仮想マシン ubuntu を再生(起動)してみたら、画面が真っ暗だった。
 背景画像がすぐに消えて真っ暗。アイコンも何も表示されない。しばらく待ったらアイコンの一部だけ表示されるものの挙動が遅くてどうみてもおかしい。
 原因は、ディスプレイ設定のオプション「3D グラフィックス」にチェックマークが付いたままにしていたことだった。この設定は、VMware Player 側の ubuntu の仮想マシン設定で行う。ubuntu の VMware へのインストールの途中でも、インストール後でもこの設定画面を表示することができる。「3D グラフィックス」モードは、たぶんパワフルなグラフィックスボードを入れていないとだめなんだろう。なんでこれがデフォルトでONなんだ。ということで、「3D グラフィックス」をオフにしたら、ubuntu がやっと表示されるように!
 ところが、もう一つ問題…

●ubuntu の窓サイズが 800×600 ドットに固定されていて大きくできない
 ディスプレイの解像度の設定で窓サイズを変更できるはずなのだが、800X600 以外は選択できない。これは解決法がすぐに見つからず、めげた。
 結局この現象は、使用しているパソコンのメーカーから提供されている各種ドライバー・ユーティリティーのアップデートを適用することで解決した。BIOS、ドライバー、付属ユーティリティのアップデートをまとめていっきにやったので、どれが解決に関与したか検証できなかったけれど、たぶんビデオドライバーをアップデートしたのがよかったのだろう。
 ちなみに、この ubuntu の解像度(窓サイズ)については、VMware Player 側でも設定できるオプションがあるが、それを使うのはあまりよくないらしい。実際、私がやってみてもうまくいかなかった。解像度の設定は、ubuntu 内の「システム設定 / System Settings」(歯車アイコン)→「ディスプレイ / Display」で最大解像度を選択することで変更できた。最大解像度を設定しただけなので、窓枠をドラッグしてそれより小さくもできる。

●Windows との連携
・ホストOSとゲストOSを連携させるためにVMwareToolsを入れる
 これで Windows とのクリップボード共有が可能になる

・フォルダのネットワーク共有設定 & sambaとlibpam-smbpassのインストール

(以下、画像のオプション名が日本語だったり説明が英語だったりしますが、日本語用 ubuntu をデフォルトでインストールするとメニューも日本語になってしまい、それが不都合で utuntu のインストールをやりなおしてメニューを英語にしました。混在してるけど統一するのが面倒なのであしからず。)

 ホームディレクトリ内に共有用のフォルダを作り → ファイルブラウザでそれを右クリックして → Local Network Share を選択。→
ubuntu のフォルダ共有設定
→ 次の3つにチェックマークする。
 ○「Share this forlder」
 ○「Allow other people to write in this folder」
 ○「Guest acces (for people without a user accounte」
1番目の項目にチェックマークを付けた時点で、samba関連の自動インストールが始まるのでそれが終わってから2番目、3番目のオプションにもチェックマークを付ける。

 もしもこの自動インストールが中途で終わったりしたら、端末に sudo apt-get コマンドを打ち込んでインストール。

$ sudo apt-get update  #(apt-getする前に必ずこれで更新しておく)
$ sudo apt-get install samba libpam-smbpass


・smb.conf ファイル内で WORKGROUP名を変更

/etc/samba/smb.conf ファイルをエディタで開き、WORKGROUP 名を設定しておく。
workgroup = WORKGROUP の行を workgroup = *** (Windowsのホームグループ)
ワークグループ名なのだが接続時に Domain:***と表示されたりする。
パスワードはWindowsのログインパスワードと ubuntu のログインパスワードを同じにしたので、どのときにどちらを入力すべきなのかよくわからないまま。でも同じにしたのは楽てよい。

これで Windows と ubuntu の間で相互にフォルダ共有状態になる。


次に茶筅 ChaSen のインストール。

■ 茶筅用にインストールしたもの一覧

 * darts-0.32.tar.gz (茶筅の実行に必要なライブラリ)
 * libiconv-1.14.tar.gz (多言語を扱うためのライブラリ)
 * chasen-2.4.5.tar.gz (茶筅本体)
   これには茶筅の perlモジュールText::ChaSenのソース
   も含まれるが chasen 本体のインストールでは
   インストールされない。後で手動でインストール。
 * ipadic-2.7.0.tar.gz (日本文切り分け用の辞書)
 * ipadic 用のユーザー辞書(以前に自分で作成した *.dic ファイル)

■ Darts のインストール
 標準的なやりかたとしては、ソースファイルを /usr/local/src/ の下にダウンロードしてそこで展開するものらしいけれど、私は Windows でダウンロードしておいた darts-0.32.tar.gz をまずは Windows のフォルダから ubuntu の自分のホーム /home/hoge にコピーして、それから /usr/local/src/ の下に展開した。

$ cd /usr/local/src/
$ sudo tar -xvzf /home/hoge/darts-0.32.tar.gz
$ cd darts-0.32
$ sudo ./configure
$ sudo make
( make check )
$ sudo make install


■ libiconvのインストール

$ cd /usr/local/src/
$ sudo tar -xvzf /home/hoge/libiconv-1.14.tar.gz
$ cd libiconv-1.14


ここで、libiconv-1.14.tar.gz には make 時にエラーを出す1行があるので修正しておく。
( 私は一度インストールしようとしてエラーが出てから $ make clean して ./configure からやり直した。)
問題の箇所は、libiconv-1.14/srclib/stdio.in.h ファイル内。

stdio.in.h をエディタで開いて
$ sudo gedit srclib/stdio.in.h
次に示す問題の1行

_GL_WARN_ON_USE (gets, "gets is a security hole - use fgets instead");

これを単純に /* */ でコメントアウトした。(他の直し方もあると思う)
さて、ファイルを修正してから インストール:

  $ sudo ./configure --prefix=/usr/local
$ sudo make
( % make check )
$ sudo make install


さらに、libiconv インストール後の動作確認でもエラー発生。
$ iconv -l | grep -- -MS 
iconv: error while loading shared libraries: libiconv.so.2:
cannot open shared object file: No such file or directory


対策としては、/etc/ld.so.conf ファイルに /usr/local/lib の1行を追加する。そのために次のコマンドを実行してみる。

$ sudo echo '/usr/local/lib' >> /etc/ld.so.conf

これだと↑権限 permission がない! と拒絶されてしまった。
>> 記号以降にsudoが効かないせいらしい。次のようにすればいいみたい。

$ echo '/usr/local/lib' | sudo tee -a /etc/ld.so.conf


このようなコマンド実行の代わりにエディタで ld.so.conf ファイルを開いて /usr/local/lib の一行を追加してもいい。

そして必ず ライブラリ参照パスの更新もしておく
 $ sudo ldconfig


動作確認
$ iconv --version #バージョン表示。Ok! または
$ iconv -l #これにより文字コードがずらりと表示される。


思っていた以上に長くなったのでここで切って、ChaSen と ipadic 辞書のインストールについては 続編 (2) へ。 さらに (3) で Cygwin での2種文字コードを使用したデュアルインストールについて記録しておく。
スポンサーサイト
Comment (-)
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。