題名:Java Diary-69章

五郎の 入り口に戻る

日付:2006/2/16

目次に戻る


Goromi-TV Part6 & Gards part1

さて、ここから話はGoromi-TVに戻る。いきなり時間の針を少し飛ばすのだが2005年10月末にこのようなメールが来た。

あと、原田PMから指令がありましまして、近況を原田PMまで 報告してください。内容は下記の通りです。

画面のスナップショットを数枚, 現状の様子(データ構造とか,プログラムの出来とか)

を報告してください.そのコメントを出来るだけ早く返します ので,それを受けて合宿で発表してください.

それに対して私はこういうメールを返した。

10月末時点での当方の進捗を報告します。 現在作成中のシステムは以下のような動作をします。

1)データ収集機材で「まとまった数の」TV番組を録画。それに合わせて番組表デ ータをWeb上から取得

2)取得したデータを元に初期画面(sc00.jpg)を表示。

3)ここで任意のキーワードをクリックするとそれに該当する番組情報が左側に表示 されます(sc01.jpg)

4)その中で興味のある番組をクリックすると、画面表示が変わりsc02.jpgのように なります。

選択された番組の動画が左上に示されるとともに、「関連の強い」番組が 右側に表示されます(現在、この番組選択アルゴリズムはダミー) 現在行っているのはsc02.jpgの画面で「これはいい、これはいらない」といった気軽 な操作でどんどん番組一覧を更新していくアルゴリズム+操作系の開発です。12月 の合宿までには動作させてデモを行いたいと思っております。 以上よろしくお願いいたします。

上記の画面を見て欲しい。この時点では、従来のGoromiと同じ形式で関連語表示が右側にでており、左側にそれに該当する番組が だらだらと流れている。問題はもう一枚の画面だ。番組を選ぶとそれが左上に動画とともに表示され、その番組と関連すると思われる番組が周りにわらわら表示 されている。ここで従来型の単語を用いた検索から番組自体を用いた検索にと足を踏み入れているわけだ。 そもそもこれは何なのか、何故今回取り入れようと考え出したかについてこれから書いてみようと思う。本業に少し近いところの話なのでお蔵入りにしようかと も考えたが、Goromi-TVに深くかかわる話であるし、2005年のWISSはこのネタで発表を行ったので避けるわけには行かない。しかし Goromi関連よりも少し小難しいことをほれほれ述べると思うがそこは適宜読み飛ばして欲しい。


話は2004年の5月まで遡る。同じグループで働いている人間がふとこう言った。

「画像を用いて情報を検索するってのもいいかもしれませんね」

ここで気をつけなければならないのは、この男が提案したのはよくある「画像検索」ではなくて、「画像による情報検索」だということ だ。私はううむ、とう なった。確かにそれはいいかもしれん。Goromiを作って何を学んだかといえば、画像というか写真の持つ力である。なんだかわかんないことでも写真にす れば、「なんだかわかんない」ということが一瞬にして伝わる。それに第一写真は観ていて楽しい。 でもってそれを使って情報を検索するわけだ。なんだかわからんがこれは使えそうだ。

大変ご機嫌になった私は客先の担当者に「画像を使った情報検索をやってみようかと思うんですよ」と言った。相手は無反応だった。つ まり最近ネット上でよく見る表現を使えば「華麗にスルー」したのである。これはGood News、Bad Newsだ。何がBad Newsかといえばお客様の興味をひけなかったということ。Good Newsはお客様が関心をもたなかったので、裏プロジェクトとして勝手にやっていいのだな、ということである。 さて、思い立ってからかなり時間がたっているので、自分がどのような思考過程を経たかあまり覚えていない。とにかく何をやりだしたかといえば、問題領域の 設定である。言葉は難しいが

「よし。会社の近くでお昼を食べる場所を探すシステムを作ろう」

と決めたわけだ。これは後にWISSで行ったプレゼンのネタに もなったのだが、私が働いている会社は渋谷駅から歩いて7分のところにある。もともと働いていた○○重工の工場は田んぼの真ん中にあった。もともと Security関係に厳しい(この厳しいというのは例えばMicrosoftのSecurityが厳しいというのとは全く異なるのだが、それは別の話) 会社だから外にでることなど考えられず、仮に考えたところで近くに昼飯を食べる場所など無い。結果として社員食堂で食べるかあるいはコンビニで買ってきた もの を食べるしかない。

ところが渋谷駅の周辺というのはお昼を食べる場所が山のようにある。渋谷から今働いている会社までは道路一本なのだが、その通りに 面したところだけ で23軒もある。少し裏にはいればそれこそ何軒あるかわからない。さて、ここで問題です。たくさんのお店の中から自分が行きたい店をどのように選べばいい でしょう。 まず

「そもそも人間は「どの店に行きたいか”と考えるのではなく”何を食べたいか ”と考えるはずだ」

と考えた。よし、食べるものをメインの選択肢としよう。次にそれをどうやって見せる。こうした問題に既存のシステムがどのように対 応するかといえば、「お店」の情報を階層構造に分類することだ。ち なみに今回データを使わせていただいた(これについても後述するかもしれない)渋谷ランチマップというサイトを見てもらえば(http: //lunchmap.jp)その様子がわかると思う。 私は長年こうした階層メニューを嫌ってきて、なんとかそれを使わずにすませられないかと考えてきた(ちなみに上司にそのような話をしたこともあるが、例に よって華麗にスルーされた)そもそも階層化するためにはお店(もしくは選択メニュー)を分類しなければならない。しかしこの分類というのは常にやっかいな 代物だ。

昔つきあたったのが 「東京タワーとはなんなのか」 という問題である。観光名所といえば言えるだろうが、ご飯を食べることだってできるし、蝋人形館及びその近辺(最近はどうか知らないが)という珍スポット も存在する。それならば「観光」「食べる」「珍スポット」全部のカテゴリーにいれておけばいいではないか、という意見もあるだろうが、そうしたところで 「さて、どのカテゴリーの下に東京タワーがあるのやら」 と途方にくれる問題は以前として存在し続ける。

最近は会社の近くにある食べ物屋にでているメニューが頭痛のたねだ。 看板には「スパゲティラーメン」と書いてある。さて問題です。これは何料理でしょうか? そもそもラーメンとはChinese だろうかそれともJapaneseなのか。それをどちらかあるいは両方に分類することで回避したとしても、スパゲッティをどうすればいいのか。

これらは全て物事を階層で分類しようとするところから生じている問題だ。というわけで階層はだめ、と断じてしまう。選ぶことで、そ のとき着目している性質を抽出してグルーピングしましょう。価格にこだわっているか、あるいは肉を食べることに固執しているかなんてのをユーザに入力させ るのは面倒。選んだものから察してよ、とならんだろうか、と。

というわけでさっそくあれこれ作り始める。渋谷ランチマップをベースに写真をダウンロードし、メニューの名称を入力し、裏で使う データとして料理のカテゴリーとか肉とか魚とか入力する。自分で書いていてよくそんなことをやっていると思うが、理不尽な欲求に駆られたとき の私の行動というのは自分でも理解し難い。 それとともに画面も作り始める。画面が動くとなんだかできたような気がするし第一楽しい。

そーれつんつんとやっているうちに裏で使うロジックについて一つの成案を得る。これは好き、これは嫌いと選んでいった結果から残り のメニューをランクづけしなくてはならないが、さてどうやろうと考えていた。こういうランク付けには通常ベクトル間の内積をとったりするのだが(この言葉 がナニを意味しているかはさておき)なんだかもっといい方法はないだろうか、、と考えていたときふと思いついた。その前に表の仕事であれこれ使っていた SVM - Support Vector Machineが使えるじゃないかと。(これがナニを意味するかも無視していただいてかまわないのです)何故このことをわざわざ書くかといえば、これを思 いついた場所だけは鮮明に覚えているからである。最寄の地下鉄駅からの帰り道だ。

とかなんとかやっているうちに別の裏プロジェクトの締め切りが迫ってくる。Goromiの論文発表であるとか、裏プロジェクトその 4とかだ(ここらへんの事情はここを 参照のこと)というわけで私はこのプログラムを一時棚上げにする。最初は10月25日までに論文として仕上げ、インタラクションに、、などと考えていたが それはどう考えても不可能、平たく書けば無茶苦茶であるという結論に達した。 作業を再開したのは翌年の2月。渋谷のランチ情報をさらに収集する。それとともにプログラムをごそごそ書き出す。 それなりにでも動き出すとなんとなく楽しい。自分が思った通り、カレーを二つ選ぶと画面がカレーだらけになる。しかし頭の中で考えていたイメージとは違う結果に なることがあるのも確かだ。

最初は3×3に並んだカードをとっかえひっかえ自分にとって満足する候補にたどり着くことを考えていた。とい うわけで一つずつメニューを「これは好き、これは嫌い」と指定できることの他に列単位で「落とす」ことができるようにしようと考えていた。ポーカーの要領 である。

ところが実際に使ってみると列を落とす事にあまり意味があるようには思えない。また自分が一度選んだ項目が消えてしまうのはどうに も気に入らない。えーっとえーっとといじりだす段々と当初の計画からずれていく。そうこうしているうちに世の中は暖かくなり5月の声を聞く。それまで別々の構想だった Goromi-TVと渋谷お昼検索システムはひょんなところで関連を持ち始めるのであった。

前の章 | 次の章


注釈