2008-01-01から1年間の記事一覧

CaboCha の Python バインディングのインストールでエラーになったら試してみる価値のあること

CaboCha の Python バインディングのインストールで下のエラーが出たときの対応法です。 python setup.py build running build running build_py running build_ext building '_CaboCha' extension gcc -pthread -fno-strict-aliasing -DNDEBUG -g -fwrapv -…

Python ChaSen を CGI から使う。

導入した Python ChaSen を使って CGI を書いてみたのですが Shared object "libchasen.so.2" not found, required by "chasen.so" こんなメッセージが出て、うまく動きません。 シェアードライブラリが見つからないといっているので LD_LIBRARY_PATH に lib…

Python chasen を utf-8 で使う。

さくらインターネットにインストールした Chasen を Python から使います。 ポイント python_chasen-0.2を使います。 python_chasen-0.2 は 文字コードが EUC であることが前提になっているので、UTF-8 で使うためにソースを一部修正します。 Chasen のライ…

ChaSen をインストールしてみた。

今朝、家から銀座のサーバーにログインしてコーディングしていたら ターミナルに「熱くてやばいっす」的なメッセージがガンガン出まくったので 慌ててサーバをシャットダウンしました。 おそらく何らかの理由でサーバルームの空調が止まったのだと思います。…

ヒット件数が数十万件を超えるような場合でも使える。新しくインデキシングしたドキュメントを検索結果の上位に表示する2つの方法。

新しくインデキシングされたドキュメントを検索結果の上位に表示したいというニーズは割とよくあると思います。 フレッシュネスブーストと呼ばれる手法です。 Solr の場合 TIMESTAMP などの日付でソートすることもできるのですが Solr はソートがあまり上手…

urlfetch.fetch ではてなキーワード API を使ってみよう。

Google App Engine では インターネットを経由して外部の Web ページや XML を参照したり API を使ったりするときには urlfetch モジュールを使います。 通常の Python で使われる urllib の代わりですね。 下のサンプルコードは、はてなキーワード API を使…

Unicode で萎えそうになったとき(orz)に思い出してほしい5つのこと

通常の CGI では環境変数 LANG や sitecustomize.py なんかで なんとなくごまかせていた Unicode と UTF-8等 の使い分けも Google App Engine ではキチンと処理してあげないとエラーになっちゃいます。 コーディング中に下のメッセージが出て、萎えた方も多…

うひゃ検索をGoogle App Engine にポーティングしてみた

ずーっと試さなきゃと思っていながら取りかかれずにいた Google App Engine の攻略にようやく取りかかりました。 「今年の汚れは今年のうちに」作戦です。 休日1日使ってうひゃ検索をGoogle App Engine にポーティングしてみました。 http://1.latest.whyase…

Yahoo! 日本語形態素解析 Web サービスの Wrapper を書いてみた。ついでに うはぁ検索に組み込んで うひゃ検索にした。

Python から Yahoo! 日本語形態素解析 Web サービスを使うための Wrapperを書いてみました。 ついでに前回紹介させてもらった「うはぁ検索」に組み込んで Wiki と はてな と Yahoo!日本語形態素解析Webサービス とAmazon を同時に検索する 「うひゃ検索」 に…

Wiki と はてな と Amazon を同時に検索する CGI 書いてみた

先日ここで紹介させてもらった、 Amazon Web Service 用のWrapperと その後に作った はてなキーワードAPI 用Wrapper Wiki 検索機能 を合体させてWiki と はてな と Amazon を同時に検索する CGI を Python で書いてみました。 それぞれの頭文字をとって wha …

グラフィカルモードのログインをテキストモードのログインに変える

テキストモードの方がメモリ等のリソースの消費量が少ないので サーバのログインモードはテキストモードの方がオススメです。 以下、設定のメモです。 # vi /etc/inittab # id:5:initdefault: ← グラフィカルモード id:3:initdefault: ← テキストモード では…

ProFTPD をインストール 64bit なのでソースからインストールしたよ

CentOS に ProFTPD をインストールするメモです。64bit 版の CentOS を使っているので基本的にソフトの追加は rpm ではなくソースからやっています。FW の内側にある開発用サーバへのインストールなので セキュリティ的ななんやかんやは省略しちゃってます。…

Python で書いた CGI を Tomcat の上で実行できるようにする。

ボクは普段アプリケーションの実行環境として Tomcat を使っています。 運用で使うちょっとしたCGIなんかも Python で書いて Tomcat の上で動かしちゃっています。以下は、Tomcat で Python で書いた CGI を実行できるようにするためのメモです。 Tomcat に…

テーブルのコピー

to_table から from_table にコピーする場合。 to_table を作る。( CREATE TABLE 文を実行する ) テーブルの構造がわからない場合は SHOW COLUMNS FROM from_table コピーを実行する。 INSERT INTO `to.db`.`to_table` SELECT * FROM `from_db`.`from_db`; …

Amazon Web Service 用のWrapper書いてみた

Python から Amazon Web サービスを使って商品検索をする Wrapper を書いてみました。 PyAWSというのがあって これを使うといいよとブログで紹介している方もいたので試してみたのですが 添付されていたサンプルをうまく動かせなかったり XMLのパースにminid…

BootCamp + WindowsXP に ATOK2008 導入してみた

最近、Windowsマシンとして動くことの多いボクの MacBook Airですが ATOK の評判がいいのと 月額使用料金が300円というプライシングもあって 試しに導入してみることにしました。 最初の月は無料みたいです。 で、インストールは普通にやればいいのですが Ma…

「集合知プログラミング」のサンプルコードのGeoサーチを日本対応に修正してみた。

「集合知プログラミング」はサンプルコードもたくさん載っている とても参考になる書籍なのですが すべてが日本仕様?に修正されているわけではないので 部分的に日本や日本語ではそのまま使えないところもあります。 225ページ「9章 高度な分類手法:カーネ…

Windows に Python と matplotlib をインストール

「集合知プログラミング」のサンプルコードを動かすために Windows 版の Python と matplotlib をインストールして Pythonからグラフを書けるようにしました。 「集合知プログラミング」はオライリーから出ている 自然言語処理等にとても参考になる書籍です…

BootCamp で Windows を起動したときの Print Screen

MacBook Airには「Print Screen」キーはありません。 BootCamp を使って Windows を起動してスクリーンショットを取りたいときは fn + 左shift + F11 です。F11 はキートップに F11 と書いてある スピーカボリュームを小さくするキーそのままです。Ctrl + [ …

NetApp バージョンアップもディスクの追加もノンストップで

先日、NetAppbの OS である Data ONTAP のバージョンアップと ディスクの追加を行いました。 Data ONTAP のバージョンは以下となりました。 Data ONTAP Release 7.2.4L1 Model Name は N3600 で シリーズは FAS2000 です。 検索エンジン Solr のインデックス…

日本語形態素解析器Senを導入する その6 Nグラムと形態素解析には一長一短あり。目的に応じて使い分けよう

詳細は下を参考にしていただきたいのですが Nグラムは再現率が高いものの精度は低くなりがちです。 逆に形態素解析は再現率は低いものの精度は高くなります。 [Solr][Sen] 日本語形態素解析器Senを導入する その4 再現率が高いNグラム [Solr][Sen] 日本語形…

日本語形態素解析器Senを導入する その5 精度なら形態素解析

Nグラムと形態素解析の比較の2回目です。 再現率が高いのがわかっているならNグラムを選択すればいいように思えるのですが、 Nグラムには再現率が高い故に精度が落ちるという問題があります。 まずは、この手の話をするときによく出てくる「京都•東京都」問…

PSP-3000 ゲットだぜ

PSP-3000が今日到着しました。 ヨドバシ.comで予約しておいたのですが、発売日にちゃんと送られてきました。 アマゾンがプレミアム価格なのに対してヨドバシは定価販売でした。 ヨドバシえらい!初代PSPのPSP-1000との比較になるのですが 液晶の発色はかなり…

ブラッディ・マンデイ Falcon は Python でハック中

ドラマ「ブラッディ・マンデイ」の第1回の放送を見ました。 緊張感があってなかなかいいドラマでした。で、三浦春馬 扮する 天才ハッカー Falcon が ハッキングするときのコードをPythonで書いてるみたいでした。関東電力にアタックかけるときのコマンドが #…

SP3 ( サービスパック 3 ) インストールしたらParallelsからWindowsが起動しなくなっちゃった場合の対処法

Wordの文章を共同で書いていたので 1.5ヶ月間ぐらいWindowsマシンとなっていたボクのMacBookAirですが 一区切りついたので久しぶりにMacOSXで起動して うぁーギザナツカシスなんてテンションあげあげだったのですが ParallelsからWindows起動しようとすると …

日本語形態素解析器Senを導入する その4 再現率が高いNグラム

今回と次回の記事で形態素解析とNグラムの違いをみていきたいと思います。 結論から言うとNグラムの方が再現率が高く、検索語が含まれる文章を確実に拾い上げることができます。 逆に形態素解析の方は、解析ミスによって取りこぼすことがあります。 形態素解…

日本語形態素解析器Senを導入する その2 lucene-jaのインストール

lucene-ja とは lucene-ja は Sen のラッパーとして Solr に日本語形態素解析機能を提供します。 大雑把に言うと検索エンジン Solr と 日本語形態素解析器 Sen をつなぎ合わせる役割です。Solrから形態素解析器によってトークナイズされた単語で、検索できる…

日本語形態素解析器Senを導入する その3 インデキシングする

形態素解析用フィールドをスキーマに追加してインデキシングしてみます。 今回はNグラムと形態素解析の違いを確認するために、全く同じ文章をNグラムと形態素解析で2重にインデキシングしてみます。 インデキシング対象のデータはNグラムのときとと同様のブ…

日本語形態素解析器Senを導入する その1 Senのインストール

Senとは Sen はJAVAで書かれた日本語形態素解析器です。 辞書を使って日本語の文章をトークナイズします。下は「Sen はJAVAで書かれた日本語形態素解析器です」をSenでトークナイズした例です。 Solrに組み込むことで、日本語文章を意味のある単語単位にトー…

ver1.3ついにデビュー

本日Solr ver1.3がついにリリースされました。 ver1.2から1年3ヶ月ぶりのバージョンアップです。 いゃー長かったですね。お試しは以下からどうぞ。 http://ftp.kddilabs.jp/infosystems/apache/lucene/solr/ ではでh