ACL HLT 2011 初日: 人間のクイズ王に勝った IBM Watson を支える技術

今日は自然言語処理に関する世界最大の会議、ACL の本会議初日。ホテル開催なので朝簡単につまめるものは会場にあるのでは、と思って行ったら案の定ベーグルとかコーヒーとかフルーツがあったので、ベーグルを食べる。けっこういける。

オープニングでは今回の会議の統計を話していたが、1,146本の投稿(うち646本がフルペーパー、残りの512本がショートペーパー)、292本(うち164本がフルペーパー、128本がショートペーパー)が採択とのこと。フルペーパー(2段組8ページ+参考文献)とショートペーパー(2段組4ページ+参考文献)ともに採択率は25%。自然言語処理では採択率が40%くらいの国際会議が多いので、25%はやはり難関会議である。

招待講演はアメリカのクイズ番組で人間に勝ったことで有名になったIBM Watson を支える技術について。ネタがあまりよく分からずいまいち楽しめなかったが (細かいシステムの話もなかったし)、最後のほうで IBM Watson を作るためのバグ追跡システムやエラー分析ツールの紹介があったのは興味深かった。基本的なアーキテクチャとして、複数のシステムの回答の結果を統合するのだが、どのコンポーネントが原因で間違えるのかを可視化したり、2週間に1回フルビルドして回帰テストをしたりする話とか。

いや、大規模システムを開発しているところはどこもやっているのだろうが、自然言語処理の研究をしている大学でこういうのをやっているところはあまりない。開発システムと本番システムは分けて、本番のシステムは全部の結果を事前に計算しておいて、3,000個のマシンを並列に動かして数秒で答えを返せるようにするが、開発システムはデバッグを容易にするために1CPUのマシンで処理させるが、それは1つの質問の処理に2時間かかるだとか。

あと精度の向上に一番貢献したのは2003年以前のクイズ番組と2003年以降のクイズ番組で(同じ番組なのだが)問題の傾向が全く変わってしまったことに気がついて、2003年以降のデータだけで質問応等システムを学習するようにしたことで、これをしてから人間のチャンピオン妥当が視野に入った、という話もおもしろかった。全部のデータを使うとむしろ精度は下がり、2003年以降のデータで学習したほうが、2003年以前のデータでも高い回答率になるらしい。これもエラー分析をしていて初めて分かったことであり、これで精度が10%以上違う、ということである。

招待講演のあと ryu-i さんとも少し話したが、こういうアプローチで質問応答が解けてしまうのはいいことなのかどうか分からない。人間の脳の活動をモデル化することで人工知能を実現する方向もあるが、個々のタスクに合わせて(たとえばチェスだとか)作り込むほうが成功してしまっていて、脳の模倣の研究は進まなくなってしまうのかもしれない。言わば、空を飛ぶために鳥の真似をして飛ぶことを止めて、全く生物と違う形で飛ぶ方法を工学的に追求したことで、飛行機の技術が発展し、もはや鳥より速く大量に物を輸送できるし、スペースシャトルのように大気圏外にも人間は行けるようになったのと同様、模倣では到達できないところまで技術を進めることができるのは利点だが、やっぱり人間が関係するところは人間がなにをやっているのか解明する、というのも大事な研究だと思う。

ただ脳の模倣に関しては、まだ測定技術が(ここ20年で大きく進歩したとはいえ)発展途上で、時間分解能が足りなかったり、空間分解能が足りなかったりと、まだまだ研究の余地もあり、たとえば電子顕微鏡が存在せず光学顕微鏡の空間分解能が足りなかったためにウイルスの存在が分からず、細菌が黄熱病の原因だと考えて結果的に間違えてしまった野口英世のように、測定技術が未発達なので分からないこともまだまだあると思う。とはいえ、電子顕微鏡なりなんなりが発達し、その後医学が大きく進歩したことからも分かるように、脳の研究も時間の問題で自分たちが生きているうちにはかなり進むのではないか、と楽観的に自分は考えている。こちらのアプローチの研究も (NAIST は一つのメッカであるが)、着実に進んで行くといいなと思っている。

招待講演のあとは情報検索のセッションに出てみる。ウェブ検索クエリに関するサーベイのつもりで出てみたが、おもしろかったのは Joint Annotation of Search Queries かな。

昨日のチュートリアルでも Google の Marius Pasca が検索クエリに関するチュートリアルをしていて、これまでは検索クエリは2単語くらいが平均で、短いフレーズが多いと言われてきたが、最近は検索のサジェストの影響で長いクエリも増えていて、6単語以上のクエリも全体の10%以上を占めているとのことで、これらの長いクエリに品詞をつけたり、フレーズに分割したりするタスクが重要である、とのこと。そして、検索クエリは全部小文字で入力されることも多いので、小文字を大文字に正規化することも必要だと。本研究では、これらの3つの系列ラベリングのタスクを同時学習することで、精度を大幅に向上させることができた、という話。

同時学習のところはまだまだ洗練できるだろうが、やはり検索クエリは普通の自然言語と似ているとはいえ独自の文法構造をもっており、それを解析することで深い意味理解に近づくことができる、というのは正しい方向だと思う。質問応答システムでも、質問文に似た木構造の文をコーパスから探してきて類似性を判定したりしているが、そもそも入力と出力が違う構造をしている場合、入力の解析からして出力の解析と同じモデルを使っていたらマッチしないだろうし、意味の世界の話にするためには、こういう地道な分析を積み重ねて行くしかないのではないかなと考えている (意味がこれまでうまく扱えてこなかったので、検索するときほとんどの人は単語しか入れないよう自分自身を訓練するのだが、本来自然文かそれに近い表現で検索したいという要求は常にある)。

お昼は @kimura_pageさんと @mhagiwara さんとちょっと歩いてレストランで食べる。お2人からニューヨーク(楽天技研 NY、ニューヨーク大学)のお話をお伺いしたり、三者三様であるが、夫婦生活についてお互いの状況を話したり……。自分はやっぱり海外に長期間(1年以上)行くことはもうできないような状況になりつつあるが、最近はそれでもいいかなと思い始めている。やりたいことはたくさんあるのだが、自分の使える時間は限られているので、なにかをやろうと思ったらなにかができなくなるわけで、なにをやるかよりなにをやらないのかを注意して選択しないといけないのだな、とつくづく思う。

逆に今日聞いていて「あれ?」と思ったのは [http://www.acl2011.org/accepted/610.html:title=Faster and Smaller N-Gram Language Model] で、タイトルとアブストラクトからは「これは聞いておこう」と思ったのだが、行ってみるとGoogle 日本語入力で辞書サイズを小さくしている人たちのほうが余程がんばっているのではないかと思った。この内容でフルペーパーなのかぁ (ショートペーパーやポスターではこういう話はよくある)、と意外に思った。

レセプションやコーヒー休憩のとき、荷物が邪魔でよく人に当たって申し訳ないので、ポスターセッションまで一度荷物を置きに帰ろうと思い、ホテルに戻って腰を下ろしてから先の記憶がしばらくなく、気がついたらポスターの時間が半分過ぎていて、慌ててポスター会場へ (口頭発表はホテル会場だが、ポスター発表は別の世界貿易センターで、自分の滞在するホテルの2ブロック隣ですぐ近くなのである)。

ポスターなので遅れても聞きたい発表は逃さず聞けるのはよかったが、@nokuno さんも紹介されていた一番聞きたかった Why Press Backspace? Understanding User Input Behaviors in Chinese Pinyin Input Method はポスターだけ貼られていて発表者は見当たらず。@smlyくんも「最初から人いませんでした」とのことで、それはどうなの……。

Appleインターンをしていたときの同期の Yonatan と再会。昨日 @neubigさんの隣に坐っていて、偶然2人とも自分のことを知っていてびっくりしたらしい (笑) 彼は今回発表はないがアメリカ開催なので聞きにきたそうで (こういうのができるのがアメリカのうらやましいところであるが)、あと PhD の課程は4年あるが、そろそろ研究を開始するので見ていてよ!とのことであった。Apple自然言語処理の研究をしているインターンはいなかったので、こういう形で思いがけないところで友人と再会するのは嬉しいものである。

ポスターセッションも終わったので@tettsyunくんと@smlyくんの様子を見に会場のホテルへ。自分の泊まっているところはHotel Fiftyという(予約したとき空いていた)会場から一番近いホテルなのだが、割合みなさん会場のホテル、Marriott に泊まっている人が多い。確かに一番近いとはいえ歩いて10分くらいかかるので (自分以外に泊まっている人いないかと思っていたが、たまたま帰り道同じ方向だった人と喋ったら、その彼も Stanford の学生で今回発表に来ているらしい)、ちょっとした時間で部屋に戻って休めるのはありがたいかも……。

時差ぼけを早く直さないと、発表の内容次第では睡魔に襲われてしまう〜(汗)