Blog

2010年2月21日

Snow Leopard 64bitでNTFSドライブを読み書きする方法

今まで、NTFSドライブをMacで書き込むときはMacFUSEにNTFS-3Gとか、Tuxera NTFSとか、Paragon NTFS、などを使わなければいけなかったですが、Snow Leopardでは、マウント方法を工夫すれば書き込みもできるようになっているようです。
この方法は32bitを64bitカーネルに変えてNTFSがマウントできなくなってしまった場合にも有効です。

方法は以下のような感じです。(すでにNTFS-3Gとかが入ってる場合はアンインストールしてから行ってください)

すでにあるmount_ntfsをリネームして、新しいmount_ntfsを作る
# sudo mv /sbin/mount_ntfs /sbin/mount_ntfs.orig
# sudo vi /sbin/mount_ntfs

中身を以下のようにする
#!/bin/sh
/sbin/mount_ntfs.orig -o rw "$@"

保存した後、ownerとパーミッション変更
# sudo chown root:wheel /sbin/mount_ntfs
# sudo chmod 755 /sbin/mount_ntfs

これだけでOK

17:48 |


2009年12月27日

はてなキーワードをMeCab辞書に追加する方法

MeCabの標準的な辞書では、複合語とか固有名詞は取れなかったりするので、はてなキーワードから辞書を生成します。

MeCabまわりのセットアップ

・MeCab0.98
・mecab-ipadic-2.7.0-20070801
・mecab-naist-jdic-0.6.1-20090630
・mecab-ruby-0.98

これらを以下からダウンロードします。
http://sourceforge.net/projects/mecab/files/

MeCabをダウンロードして解凍、
$ ./configure
$ make
$ sudo make install

mecab-ipadic、mecab-naist-jdicをダウンロードして解凍、
$ ./configure --with-charset=utf8
$ make
$ sudo make install

デフォルトではEUC-JPになるため、文字コードはconfigureで、UTF-8設定する。


mecab-rubyをダウンロードして解凍、
$ ruby extconf.rb
$ make
$ ruby test.rb
$ sudo make install

はてなキーワードからMeCab辞書を作成

http://www.mwsoft.jp/programming/munou/mecab_hatena.html
から、はてなキーワードのリストをMeCabで辞書を生成できる形式に変換できるrubyスクリプトを用意します。
hatena.rbとして保存します。

http://d.hatena.ne.jp/images/keyword/keywordlist_furigana.csv
からkeywordlist_furigana.csvをダウンロードします。

ruby hatena.rbを実行します。
実行できると、
193000件目を処理
のように表示されます。
実行完了後、hatena.csvというファイルが生成されます。
下記コマンドを実行し、dicファイルを生成します。
$ /usr/local/libexec/mecab/mecab-dict-index -d /usr/local/lib/mecab/dic/naist-jdic -u hatena.dic -t utf-8 -f utf-8 hatena.csv
生成完了後、
/etc/mecabrcあるいは/usr/local/etc/mecabrcに下記を追加して、ユーザ辞書を利用するように設定します。
userdic = /home/hogehoge/mecab/hatena.dic

動作確認
$ mecab

Tweet
Tweet 名詞,一般,*,*,*,*,*,Tweet,トゥィート,トゥィート
EOS
ラブプラス
ラブプラス 名詞,一般,*,*,*,*,*,ラブプラス,ラブプラス,ラブプラス
EOS


ちなみに、ユーザ辞書を追加していない状態だと下記のように出ることから、はてなキーワードのユーザ辞書が有効になっていることが分かります。
$ mecab
Tweet
Tweet 名詞,固有名詞,組織,*,*,*,*
EOS
ラブプラス
ラブ 名詞,一般,*,*,*,*,ラブ,ラブ,ラブ
プラス 名詞,一般,*,*,*,*,プラス,プラス,プラス
EOS


-----------------
ハマったところ

MeCab rubyインストール時に下記のエラーが出たとき
./MeCab.so: libmecab.so.1: cannot open shared object file: No such file or directory - ./MeCab.so (LoadError)

$ sudo vi /etc/ld.so.conf

一行目に以下を追加

/usr/local/lib

$ sudo ldconfig
としよう。


-Ochasenと書いてあるところで、エラーが出てプログラムが動かない。

システム辞書のディレクトリのdicrcに、
; ChaSen
node-format-chasen = %m\t%f[7]\t%f[6]\t%F-[0,1,2,3]\t%f[4]\t%f[5]\n
unk-format-chasen = %m\t%m\t%m\t%F-[0,1,2,3]\t\t\n
eos-format-chasen = EOS\n
がないとエラーが出ます。
/etc/mecabrcあるいは、/usr/local/etc/mecabrcで、システム辞書の設定が
dicdir = /usr/local/lib/mecab/dic/naist-jdic
になっているか確認しましょう。


ユーザ辞書追加後、下記のエラーが出たとき
CHECK_CLOSE_FALSE(sysdic->isCompatible(*d)) << "incompatible dictionary: " << _dic[i];

sys.dicと生成したユーザ辞書の文字コードが異なるとエラーが出ます。
システム辞書をインストールするときに--with-charset=utf8を付けたか確認しましょう。
下記の例では、naist-jdicがutf-8をサポートしてないといけません。
/etc/mecabrc
/usr/local/etc/mecabrc

; output-format-type = wakati
;
; Configuration file of MeCab
;
; $Id: mecabrc.in,v 1.3 2006/05/29 15:36:08 taku-ku Exp $;
;
dicdir = /usr/local/lib/mecab/dic/naist-jdic

userdic = /home/hogehoge/mecab/hatena.dic

; output-format-type = wakati
; input-buffer-size = 8192

; node-format = %m\n
; bos-format = %S\n
; eos-format = EOS\n


あと、aptとかで微妙にmecabが入っていたりすると、うまくいかなかったりしたので、
libmecab1なども含めて完全にmecabをaptからremoveした状態で行いました。

12:40 |


2009年1月14日

Amazon EC2/S3クラウド入門

先日β版から正式リリースされた、Amazonのクラウドコンピューティング。 SLAが99.95%保証となり、なかなか実用にたえるのではと思う。 この本は実際にAmazon AWSを使っているユーザが書いた本なだけに、サーバの構成、 始め方、注意事項などがよく書かれていて、なかなか興味深かった。 従量課金は急激なアクセス増加がこわいですが、トータルコストからすると安くなるのでしょうか。 インスタンス(サーバ)が数分で立ち上げられて増やせるのはとても素晴らしいですね。
Amazon EC2/S3クラウド入門
学びing
秀和システム
売り上げランキング: 1414
おすすめ度の平均: 4.0
4 先進ユーザーによる実例本

03:59 | パソコン


2008年12月27日

研究室サイトリニューアル

mikilab.jpg ホームページ担当の長年の課題であった研究室のウェブサイトリニューアルを行いました。 今回のリニューアルではデザインを一新しただけでなく、以下のポイントに重点を置いて行いました。 ・コンテンツの見直し、整理を行った ・利用者の導線を考えた ・サイトマップや検索を付けた ・ディレクトリ構造を決めてメンテナンスしやすいようにした ・3回生向けコンテンツの追加した ・SEO、SEMを意識した また、これらを実現するにあたって以下の技術も活用しています。 Google Custom Searchの利用...コンテンツの検索 Google Analyticsの利用...コンテンツ戦略・ニーズの把握 JSONによる生成...Webジャーナルやレポートなどダイナミックコンテンツの活用 まだまだ課題はたくさんありますが、情報を検索して見つける時代の流れに 対応していける土台作りになったかと思います。

09:00 | 大学


2008年12月16日

修論題目

修論の題目が決まりました。 「コミュニティ内のユーザをグループ化する多段クラスタリング」 です。 ユーザの集合の中でグルーピングを行う技術の研究です。 ユーザの興味キーワードをクラスタリングして、さらにユーザのクラスタリングを行う手法を提案します。

22:48 | 大学