2010年05月 / 04月≪ 12345678910111213141516171819202122232425262728293031≫06月

2010.05.23 (Sun)

[係り受け解析] cabochaのインストールでエラー [ver6.0-pre4]

とある事情で、「かぼちゃ/cabocha」という係り受け解析器をインストールすることになった。
これは形態素解析器:Mecabの作者が作成したものである。

で、ググって探してみるとver0.53くらいの古いものを発見。
この0.53のバージョンでも一応動作はするのですが、UTF-8に対応していないため、日本語を入力すると文字化けします。
nkfコマンドなどでいちいち変換すれば使えなくもないのですが、やはり面倒。
なので、UTF-8に対応している最新バージョンの0.60を configure -> make をしてインストールすることにしました。




[依存関係]
cabochaには依存しているパッケージが有ります。
・Mecab
・Juman
・TinySVM(Ver0.60以降は不要)
・Chasen(Ver0.60以降は不要)
CRF++(Ver0.60のmakeで下のようなエラーが出たため、必要だった)
          error: crfpp.h: No such file or directory

[Download]
cabochaでググってまず見つかるのはコチラのサイト。
しかし、ここにあるリンクはVer0.53の古いもの。
そのため、最新バージョンをきまぐれ日記でリンクされているsourceforge.net からDL.
** 2010/05/23 現在、最新版はver0.60-pre4。


ダウンロードして来たファイルは、.tar.bz2というファイル形式である。
以下のようにして解凍
   tar xvfj caboha-0.60pre4.tar.bz2 cabocha-0.60pre4


CRF++も同様にDLしてきて configure, make などすれば普通にインストールできるはず。
mecab や juman は apttitude のパッケージあったのでそれで。




[インストール]
通常通り、以下のようにしてインストールする。

   $./configure --with-charset=UTF8
   $make

ここで、エラー発生。

   error while loading shared libraries: libcrfpp.so.0: cannot open shared object file: No such file or directory
   
libcrfpp.so.0 が共有ライブラリに見つかりませんと怒られる。
しかし、
   
   # find / -name libcrfpp.so.0

としてどこにいるか確認してみると、ちゃんとそこに存在していた。
/usr/local/lib にパスが通っていないだけか? と思い、チェック。
/etc/ld.so.conf には /etc/ld.so.conf.d/*.conf という記載が有ったので、

/etc/ld.so.conf.d/libpath_for_cabocha.conf というファイルを新規作成、以下を記載。

   /usr/local/lib

これで

   # ldconfig

とし、再度 make したらコンパイル・リンクできました。

   # make install

として完了。



[実行例]

$ cabocha
かぼちゃのインストールが完了しました!
かぼちゃの-D
インストールが-D
完了しました!
EOS




テーマ : UNIX/Linux ジャンル : コンピュータ

07:06  |  LINUX  |  TB(0)  |  CM(2)  |  EDIT  |  Top↑

2010.05.18 (Tue)

フォルダ共有フリーソフト~DropBox~

DropBoxというフォルダ共有ソフトがある。
これは特定のフォルダ下にあるファイル・フォルダを自動で同期し、ダウンロードしてくれるオンラインストレージ兼同期ツールである。
無料での容量は2GBであるが、特定の条件を満たすと250MB増加する。
条件とは以下のとおりである。
他に、課金することでも大幅に容量を増やすことができる。

   ・StartGuidの項目を全て完了する(1回のみ)
   ・友人を紹介する(250MB/1人)


このソフトの便利な点は、自動で同期をとってくれる点である。
そのため、わざわざアップロードファイルを指定したりする必要は消え、特定のフォルダ下にアップしたいファイルやフォルダを放り込むだけで手軽にアップロードできる。
不満な点は、手動で同期をとらせることができない点である。
放り込んでから同期をとるまで10秒くらい時間があるため、すぐにでも同期をとりたい場合はもどかしい。
とはいえ、かなり便利なツールであることには変わりない。

また、指定したフォルダを他のユーザと共有することも可能である。


テーマ : フリーソフト ジャンル : コンピュータ

01:53  |  パソコン関連  |  TB(0)  |  CM(0)  |  EDIT  |  Top↑

2010.05.17 (Mon)

Debianで/homeだけRAID1構成のインストール

ちょっとわけあって、DebianをRAID1構成でインストールすることになりました。
但し、RAID1といっても、RAIDにするのは/homeパーティションだけで、他は普通に単一HDDにインストールしました。
構成は次のような感じ。

HDD1TB   ⇒ システム用(/home以外)
HDD2TBx2 ⇒ /homeパーティション用(RAID1)

参考URL:RAIDでOSをインストール



[インストール方法]
とりあえず、パーティションの設定をするところまでは通常通りインストール。
今回はamd64のCUIモードでインストール開始。
パーティションの設定画面になると、以下のような4つの選択肢が表示されると思います。

    ・ガイド - ディスク全体を使って設定
    ・ガイド - ディスク全体を使い、LVMで設定
    ・ガイド - ディスク全体を使い、暗号化LVMで設定
    ・手動

LVMは複数のHDDを一つのパーティションとして認識させ、より多くの容量にみせる技術のようなので、今回の主旨とは少し違います。
ここでは「手動」を選択。
次に、ハードディスクが表示されるので、自分の構成したい形に設定。
以下のような形に設定しました。

HDD1TB:
   ⇒ ext3 /  残りの約900GB強
   ⇒ swap 64GB
HDD2TB(1):
   ⇒ RAID
HDD2TB(2):
   ⇒ RAID

ここで、RAIDにしたいパーティションには、「ext3」や「swap」を設定する部分で「RAID」を選択しておきます。
これにより、
   ソフトウェアRAIDの設定
という選択肢が増えます。
RAIDにしたいパーティションを設定したら、その「ソフトウェアRAIDの設定」を選択します。

1.パーティショニングの確認があるので、「はい」を選択。

2.以下のMDデバイスの選択肢が表示される。
 MDデバイスとは、複数のHDDから構成されるパーティションのことです。
   ・MDデバイスの作成
   ・MDデバイスの削除
   ・完了
 ここでは「MDデバイスの作成」を選択。

3.RAIDのタイプを選択。
 以下の選択肢が存在するので、RAID1を選択。
   ・RAID0
   ・RAID1
   ・RAID5
   ・RAID6
   ・RAID10
   ・キャンセル
 
4.そのRAIDを構成するデバイス数を入力。
 今回はRAID1であり、2つしか余って無いので「2」を入力。

5.スペアデバイスを選択。
 余りは無いので「0」を入力。

6.RAIDを構成するパーティションの選択。
 先ほど作成した、2TBのHDDを選択。

設定したら、「完了」を選択して終了。
実際に設定が始まります。



その後は通常通りインストールを行い、起動後以下のコマンドを入力してRAIDが構成されているか確認。

       # mdadm --detail /dev/md0


HDDに異常が見つかったらメールを送るようにするには、以下の用に設定。

    # apt-get install sendmail
    # vi /etc/mdadm/mdadm.conf
         MAILADDR hogehoge@gmail.com を追加

テスト用メールの送信
    # mdadm --monitor --scan --test

正しく設定されていればメールが届くはず。



テーマ : Linux ジャンル : コンピュータ

09:19  |  LINUX  |  TB(0)  |  CM(0)  |  EDIT  |  Top↑

2010.05.14 (Fri)

[Python] GAEにおけるSSLの警告とSSLのインストール [GAE]

PythonのプログラムをGoogleAppEngineにUploadする時のログに警告を発見。
どうやら、

     SSLが入って無いから安全な通信できてないよ。。。

とか言われているようだ。
なので、easy_installを使用してsslのインストールを試みる。
だが、どうも

     VisualStudio2003が無いからインストールできないよ。

みたいなErrorが吐かれる。
そのため、グーグル先生にお訊ねしたところ、次のページを紹介していただいた。

   SSLモジュールのインストールでエラー

この人もeasy_installで入れようとしたがダメだったようだ。
そのため、次のサイトからインストーラをDLして入れたらしい。
それを真似てみる。

    Compile ssl 1.15 for Python 2.5 or lower

このページの上の方に

   Python SSL Binary Installer

とあるので、そのリンクをクリックしてインストーラをダウンロード。
どうやら、Python2.5以前にしか対応していない模様。
また、32bit版のインストーラであった。

幸い、どちらの条件にも当てはまるのでインストール。
インストールで特に詰まる点も無かった。
再度GAEにUploadしてみたが、今度は警告も無くアップできたようだ。




【3月21日】
気がつけば、ssl1.5のインストーラを配布していたサイトがリンク切れになっていた。
しかし、このインストーラをコピペプログラマ倉庫というサイトでDownloadすることができる。
非公式(?)だと思われるので、自己責任で。

テーマ : プログラミング ジャンル : コンピュータ

16:41  |  Python  |  TB(0)  |  CM(0)  |  EDIT  |  Top↑

2010.05.14 (Fri)

DELLのサポート

以前、DELLに問い合わせをしたと書いたが、DELLから2度電話がかかってきた。
しかし、都合が悪く電話に出ることができなかった。

   なんで電話が来たんだろう、悪い事でもしたかなー

とか思っていたのだが、どうやらただの確認電話だったようだ。
メールが来ていた。
問い合わせたときに教えてもらった内容で、ちゃんと問題解決できたか確認したかったようだ。

ホント、思っていたよりDELLのサポートは良かった。
但し、前にも書いたように、一応大学の人間としての問い合わせでの話だが。
個人ではこんな良いサポート具合ではないよな、流石にw
でも、ちょっとDELL制PCを自分で買ってみたくなった今日この頃。

テーマ : コンピュータ ジャンル : コンピュータ

01:53  |  パソコン関連  |  TB(0)  |  CM(0)  |  EDIT  |  Top↑

2010.05.12 (Wed)

[Unicode] Pythonでの文字コード変換 [UTF-8, etc]

Python2.5を使ってて、勘違いしてて文字化けしてたことが判明。
とりあえず、

   ちゃんとUnicodeにデコードしておきましょう。

ってことです。


参考サイト:マルチバイト文字列のエンコード・デコード

テーマ : プログラミング ジャンル : コンピュータ

17:57  |  Python  |  TB(0)  |  CM(0)  |  EDIT  |  Top↑

2010.05.11 (Tue)

関数型言語

関数型言語って何がいいんだろう。
いや、せいぜいeLispを数行走らせるくらいしか触ったことはないわけですが・・・。
関数型はそれぞれが独立してるから、並列して走らせるときに何も考えなくてすむから便利みたいな話は聞いたけど・・・。
一度は触ってみたい、関数型言語。
なんかやってみるとC言語とかの視野が広がるとかいう話も聞くしね。

Scala,Haskel,Lisp,Scheme

何をやってみようかな。
まぁ今はそれよりJavaをある程度使えるようになりたいわけですがね。


テーマ : ゲーム ジャンル : ゲーム

13:04  |  プログラミング系  |  TB(0)  |  CM(0)  |  EDIT  |  Top↑

2010.05.07 (Fri)

[Python] BeautifulSoupでHTML取り込み時の日本語文字化け

BeautifulSoupであるHTMLページを読み込んでいたのだが、どうもBeautifulSoupにかけた時点で日本語がおかしくなる。
他のページではちゃんと日本語が取りこめているのだが、どうもそのページはダメ。
ページの情報量は多くないから、正規表現使って直接情報抜き出そうと思います。


Python(2.5)を触っていて、悩まされる半分以上の問題がこういう日本語の問題。
Python3に完全に移行したらこういう問題なくなるのかなぁ。
というわけで、今作ろうと思っているものを作り終えたら、Python3がメジャーになるまであまり触らなくなると思う。
EclipseのPythonプラグインもなんだかエラー吐くし。
さっさと作ってJava使いになる勉強しよっと。


テーマ : プログラミング ジャンル : コンピュータ

04:39  |  Python  |  TB(0)  |  CM(0)  |  EDIT  |  Top↑

2010.05.07 (Fri)

[Python×BeautifulSoup]PythonでHTMLの解析メモ

最近、Pythonで遊んでます。
で、PythonのHTMLやXMLなどを解析するのに役立つ、BeautifulSoupというモジュールが有ります。
これを使えばタグの内容やタグの値が簡単に取得することができます。
但し、BeautifulSoupに通すと大文字だったタグが小文字になるので注意。

たとえば、


< TABLE width="100%" border="1" bordercolorlight="#cccccc" bordercolordark="#aaaaaa">
  < TR height="10">
   < TH bgcolor="#ffff7d">abc < /TH>
   < TH bgcolor="#ffff7d">ABC < /TH>
  < /TR>
< /TABLE>

のようなHTMLは

< table width="100%" border="1" bordercolorlight="#cccccc" bordercolordark="#aaaaaa">
  < tr height="10">
   < th bgcolor="#ffff7d" > abc < /th >
   < th bgcolor="#ffff7d" > ABC < /th >
  < /tr >
< /table >

のようになります。
※このBlogのシステム的な都合により、"<"の脇にスペースが入っています。


テーマ : プログラミング ジャンル : コンピュータ

04:04  |  Python  |  TB(0)  |  CM(0)  |  EDIT  |  Top↑

2010.05.06 (Thu)

DELL PowerEdgeT410 のRAIDについて

研究室で計算用サーバとして、DELL PowerEdge T410を購入した。
で、一応サーバなのでRAID1で組もうと思ったのだが、オンボードでRAIDに対応しているかわからなかった。
DELL HPを見ても、わかりやすい表記は無かったためサポートに連絡。

担当者の対応はかなり良かった。
敬語もしっかりしているし。
てっきり中国人が出るかと思ったらむしろ真逆な担当者さんでした。

まぁそんなことは置いといて、T410がオンボードRAIDあるのかどうか。
結論から言うと、「あります」。

S100というオンボードRAIDが搭載されており、RAID0, RAID1, RAID5, RAID10 に対応。
他に、DELLのサーバにはS300というオンボードRAIDもあるらしい。

S100とS300の違いは、
 ・S100はSASに未対応だがSSDには対応。
 ・S300はSASに対応しているがSSDには未対応。
 ・S-ATAはS100,S300のどちらも対応。


参考URL:DELLサーバのRAIDコントローラその2
PowerEdgeのRAID関係について詳しく書いてあります。


参考URLのまとめの所に書いてあるように、もう少しDELLのHPにちゃんと情報が書いてあればなぁ、と思いました。
ただ、サポートセンターはちゃんとしてました。
まぁ教育機関として電話したからかも。

テーマ : 初心者のために・・・ ジャンル : コンピュータ

18:00  |  パソコン関連  |  TB(0)  |  CM(0)  |  EDIT  |  Top↑
 | BLOGTOP |