| Su | Mo | Tu | We | Th | Fr | Sa |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | ||||
| 4 | 5 | 6 | 7 | 8 | 9 | 10 |
| 11 | 12 | 13 | 14 | 15 | 16 | 17 |
| 18 | 19 | 20 | 21 | 22 | 23 | 24 |
| 25 | 26 | 27 | 28 | 29 | 30 | 31 |
これから宣伝をしますよ。宣伝を。ええとですね。
研究室の卒研生であるところの早坂君が、「オープンソースの全文検索エンジンの速度性能比較」という題で、3月に工学院大学で開催される情報処理学会全国大会で発表します。5つの主要なオープンソース全文検索エンジン(Namazu, Lucene, Senna, Estraier, Hyper Estraier)について、登録文書数1万件~500万件の範囲での、インデクシング速度および検索速度を測定した結果と、そこから得られた知見を報告します。
日本語が問題なく扱え、かつオープンソースな(というかタダで使える)全文検索エンジンというと、以前はNamazuが圧倒的で、他にはあまり選択肢がないという状況でした。しかし、最近になって、Hyper Estraier、Senna等が新しく公開されるようになり、開発者やWebサイト制作者はどれを選んだら良いか迷ってしまう状況になっています。
少なくとも僕がWebを検索した限りでは、これらの全文検索エンジンに対して、500万件の規模で性能評価をした事例はないように思われます。これらの全文検索エンジンを使っている人、これから使おうと考えている人にとっては、なかなか興味深い報告になると思います。宜しければ、他の発表を見るついでにでも、足をお運び下さいませ。

日経コンピュータ今月号の特集は「IT関連学会の憂鬱」である。面白そうなテーマなので生協で立ち読みしてきた。その内容をざっとまとめておく。
「学会と産業界の隔絶がますます深まってますけど、これは良くないことだからもうちょっと何とかなりませんかねえ」というのが記事全体を通じての問題意識。記事中で取り上げられている具体的な問題点としては、以下のようなものがある。
1.産業界の研究者・技術者が学会から距離をおくようになっている
2.学会では基礎研究ばかりやっているが、これは社会(≒産業界)の要請と乖離している
3.小規模な学会が林立する状況である。
4.そもそも発表される論文のレベルが低い
1.について。情報処理学会では、産業界の会員が、10年間で3割減った。産業界からの会員が減少することにより、アカデミックと産業界の交流の場としての価値を失いつつある。
3.について。いま国内にはコンピュータサイエンスを部分的にでも扱う学会が50くらいあり、過半数は会員数が千人に満たない小規模な学会である。研究者が小さなコミュニティに分かれてしまい、たこつぼ化している。
4.について。海外の主要な学会では、論文の採択率は2割程度。それに対して国内の学会では5割程度。自ずから採録される論文のレベルは低くなる。また、論文の数が博士号取得の際のノルマとなっているのも良くない。
手厳しい内容ではあるが、十分に客観的であるし、情報処理学会会長のインタビューを載せるなど、バランスも取れている。ただ、学会の側からは、やはり反論があるだろうと思う。特に2.については、「基礎研究重視で何がわるい」と反発を感じる人が多そうだ。4.についても、IEEE等の世界トップクラスの学会と比べたら、国内の学会が見劣りしてしまうのはやむを得ないことで、それを理由にして、だから国内学会は駄目だ、と言ってしまうのは少し厳しいと感じる。
全体としては、良い記事と言えると思う。興味があるなら是非読んでおくべき記事である。また、記事中では主に情報処理学会を俎上に上げているが、あくまでもコンピュータサイエンスの学会が共通して抱える諸々の構造について問題にしており、情報処理学会そのものを名指しで批判しているという印象は受けない。
国内の学会との対比として、IEEEについても書いてあるのだが、これが面白い。学会の偉い人が「学会運営はビジネス」と言い切ってしまうというのはちょっと吃驚した。

google 2007年 新卒採用情報
http://www.google.co.jp/intl/ja/jobs/university.html
何やら素晴らしく面白そうだったので、 googleの会社説明会に申し込んでみました。 googleの社内を見学できるのみならず、ご飯までご馳走になれるということで、是非参加してみたいところです。
以下はgoogleに送ったプロフィール。 こんな感じで良いのかしらん。
#2007年卒予定者を対象とした説明会なのであって、それに該当しない時点で参加をお断りされてしまうかも知れないけど、まあそれはそれで:-)
・氏名(ふりがな)
井原伸介(いはらしんすけ)・メールアドレス、住所、電話番号
shin@windy.ac
(僕の住所)
(僕の電話番号)・在籍学校名(学部、学科、専攻、卒業予定年月)
電気通信大学大学院 情報工学専攻 2006年3月卒業予定・研究室名、指導教授名、研究テーマおよびその簡単な概要 :
尾内研究室、尾内理紀夫教授
Web上のデータを対象とした情報検索やマイニング
具体的には、blogに投稿される画像を検索するシステム[1-2]を作ったり、
(テキストだけではなく)画像に対する処理を取り入れたコンテンツフィルタを作ったりしています。研究業績:
[1]井原伸介,林貴宏,尾内理紀夫,``もぶろげっと:画像情報を含むblog記事検索システム'',インタラクティブシステムとソフトウェアに関するワークショップ(WISS2005)論文集, pp.69-74, 2005.12
[2]井原伸介,林貴宏,尾内理紀夫,``画像情報を含むblog記事検索システムの開発'',電子情報通信学会論文誌(D-I),採録決定・使用経験があるプログラミング言語とOS
(使える順に)C/C++, C#, Java, Delphi
Windows, Linux・その他学歴や習得されている語学、資格
第二種情報処理技術者
ソフトウェア開発技術者
テクニカルエンジニア(ネットワーク)

オープンソースな画像解析ライブラリであるところのOpenCVには、顔認識の機能がある。これの使い方を簡潔にメモしておく。
ダウンロードはここから。複数のバージョンが提供されているが、ここではbeta5というのを選ぶ。また、Windows版とLinux版が提供されているが、ここから先は、Windows版を用いた場合のやり方を書いていく。
OpenCV_b5a.exeのダウンロードが完了したら、実行してマシンにインストールする。インストールでは、特に迷う箇所はないだろう。以後の説明は、デフォルトのパス(C:\Program Files\OpenCV)にインストールしたものとして書いていく。
インストールが終わったら、"C:\Program Files\OpenCV\bin"にパス(環境変数のPATH)が通っているかを確認する。通っていなければ通しておく。
OpenCVには、インストールが成功したかを確認するチェックプログラムが添付されている。 C:\Program Files\OpenCV\bin\cvtest.exe を実行して、プログラムの実行が滞りなく完了することを確かめること。途中でエラーメッセージが出たら何とかすること。何とかならなければ諦めるか、Windows版は投げ捨ててLinux版を使おう。
実際にプログラムを書く前に、顔認識機能を使うサンプルプログラムが添付されているので、まずはこれを使ってみると良い。 C:\Program Files\OpenCV\samples\c\facedetect.exe がそれである。プログラムの引数として、顔の定義ファイルと認識対象の画像を渡す必要がある。取り敢えずは以下のように実行してみよう。
C:\Program Files\OpenCV\samples\c>facedetect --cascade="..\..\data\haarcascades\haarcascade_frontalface_alt_tree.xml" lena.jpg
下のようなウィンドウがポップアップするはず。しなかったら何とかすること。何とかならなければ諦めるか、Windows版は投げ捨ててLinux版を使おう。
赤く囲まれた矩形が、認識された顔の領域である。かの有名なLena嬢のお顔が正しく認識されていることがわかる。上のコマンドの lena.jpg の部分を変更すれば、任意の画像で試すことができる。手元の画像で適当にやってみた感触では、まあ悪くないと思う。顔認識は盛んに研究されている分野であり、最新の研究成果と比較したときに、どれくらいの精度であるのかはわからないけど。
続いて、OpenCVの顔認識機能を、自分で書いたプログラムから呼び出して使ってみる。ここでは開発環境にVisual Studio .NET 2003を用いるが、C/C++をコンパイルできる環境であれば何でも構わない。
プログラムを書く前に、開発環境にパスを通す。「インクルードファイル」として
・C:\Program Files\OpenCV\cv\include
・C:\Program Files\OpenCV\cxcore\include
・C:\Program Files\OpenCV\cvaux\include
・C:\Program Files\OpenCV\otherlibs\highgui
を、「ライブラリファイル」として
・C:\Program Files\OpenCV\lib
を通すこと。
まず、1からプログラムを書くのではなく、サンプルプログラムをビルドしてみる。 facedetect.exe のソースコードが C:\Program Files\OpenCV\samples\c\facedetect.c として添付されているので、これを使う。ビルド時には、C:\Program Files\OpenCV\libにあるlibファイルを適当に(エラーが出なくなるまで)リンクするように。ビルドされたexeファイルを実行し、facedetect.exeと同じ動作をするか確かめよう。また、facedetect.cに一通り目を通し、「ふーん、こんな風にやれば良いのか」くらいの感覚を掴んでおくと良い。
ここまでで、OpenCVの顔認識機能を自分のプログラムから使う準備が整った。
続く。

循環参照は美しい。
自分自身をブックマーク
http://b.hatena.ne.jp/entry/1185155

Newzingoは、tag(キーワードおよびキーフレーズ)からGoogle Newsの記事を探すことができるWebアプリケーションです。上のスクリーンキャプチャを見ての通り、その時点でpopularなtagを並べて提示します。ユーザがその中から興味のあるtagを選択すると、関連するニュース記事の一覧が表示されます。関連ニュース記事の多いtagほど大きく表示されるため、その時点でどのような話題が大きな注目を浴びているのかも分かるようになっています。
この手のアプリケーションを作ろうとすると、固有表現(Named Entity)の抽出精度が大きな問題になるのですが、ざっと見た感じではかなり上手くできているように思われます。中身がどうなってるのかは分からないのですが、機械的にtagを作成しているのだとしたらなかなかのものだという印象です。
また、NewzingoがGoogle Newsを下敷きとしたメタ検索サービスとして実装されている点が興味深いです。ニュースアグリゲーションサイトはGoogle Newsを筆頭にいくつも公開されていますが、どこも似たり寄ったりでさほど差別化がされていない印象を受けます。ニュースアグリゲーションサイトでは、対象を特定Webサイトに限定したクローリングを行うことになるため、クローリングの能力ではあまり差が付きません。必然、その先の本文抽出やカテゴライズ等の精度を競うか、パーソナライズ等の付加機能を乗せていくかということになります。そこで、Newzingoではクローリング等の部分はGoogle Newsに任せて、インタフェースで差別化をしようとしてるのだけど、そこが面白い。でも、これってGoogleの許可は取っているのかな。Google APIを使っているとの記述があるけれど、Google APIでGoogle Newsのデータの取得ができたのでしたっけ。後で調べてみよう。
Newzingo
http://newzingo.com/
