norishideのブログ

皮肉が散りばめられた真面目な文章を書きたい

Hidden Figures

久しぶりにえらく感動した映画をみたので熱が冷めないうちに。

Hidden Figuresという映画を見てきた。邦題は「ドリーム」となっていて、原題のネーミングの良さが隠され(Hidden)てしまっている。このHidden Figuresというタイトルは本当に秀逸だ。Figureには「学術論文の図」なんて意味があることを知っていたので、初めてこのタイトルと聞いた時、NASAの黒人女性科学者というあまりスポットを与えられてこなかった人々を讃えるものだとわかった。しかし、それだけでなく、Figureには「人物」や「異彩を放った外観」という意味もあるそうだ。これはもう素晴らしい。「人物」という意味でのHidden Figuresは今までのメディアからは隠れていた主人公達を表しているし、「外観」という意味からは、その外観だけで社会から虐げられてきた(≒Hidden)黒人達のことを表している。そしてそれらの差別の描写は映画の中で見事なまでに描かれている。まずタイトルでこれだけ感動する映画ってだけで相当やばい。で、なんでそんな素晴らしいタイトルがありきたりなタイトルになっているかというと、Hidden Figuresなんてインテリぶったタイトルなんて、日本に住む地方の小学生とかにはわからないと思うということで、そういう人々にも見て欲しいという思いからこうしてわかりやすくしているという話を聞いた。確かにその通りだ。希望を持てる映画だと思うから、いろんな人に見て欲しい。そして知的能力と情熱は、どんな逆境も覆し自分で道を切り開いていくことができるんだというメッセージが伝われば嬉しい。 

日本語サイトをみると、「全ての働く人々に贈る〜」というキャッチコピーがある。黒人や女性であることを理由に差別を受ける逆境の中でも、プロとしていかにスキルをつけるのか、価値を生み出すのか、自分を正当に評価してもらえるよう周囲を説得するのかが描かれている。主人公達から勇気をもらえることうけあい。「Hidden Figuresから学べるリーダーシップ」なんて記事がForbusにあったりする。特に交渉術という観点では、メアリーが白人専用学校への入学を請願するシーンは圧巻。全体的にみなさま優秀で、素晴らしい仕事ぶりが描かれていて、刺激を受けることができた*1

とはいえそんな彼女らがどのような差別を受けていたのか、分離区域での差別の描かれ方が本当にリアルなんだろうなと感じた。あまりこの時代背景については詳しくないが、ここでの差別というのは、あからさまに嫌な顔をするとか、わざわざ嫌がらせをするとかいう「いじめ」みたいなものじゃなくて、「黒人は普通の人々とは違う扱いを受けて当然」「社会とはそういうものだ」という当時の常識が一つ一つのシーンから痛烈に伝わってくる。差別は社会的な常識だから、悪者として描かれる加害者に悪人は一人もいない。彼らは皆社会規範に従っているだけの善良な市民だ。白人管理職のビビアンが「あたなに偏見はないのよ」と同情的な言葉を投げかけたあと、主人公の一人であるドロシーはこう返す。「知ってるわ。あなたがそう信じてるだろうってことをね。」...これは痛烈だ*2。そのような当時の過酷な社会から50年以上が経ち、現代は、こういったマイノリティ達が主人公になった映画が大ヒットするようになった。社会は良い方向に変わっている。

社会を良い方向に変えていくのはJFKキング牧師はもちろんそうだが、当時はIBMもその一躍を担っていたらしい。劇中で、IBMの大型汎用計算機が軌道計算のためにNASAに納品される。そのコンピュータがどのようにイノベーションに貢献してったかが再現されているのはやっぱりエンジニア視点でとても面白い。コンピュータが稼働を始めたら、手動で計算を行なっていた計算士たちは職を失う。そこで優秀な管理職のドロシーは図書館からFORTRANの本をかっぱらってきて自分で勉強し、部下にもプログラマとしての教育を行い、新しい技術に適応させて部下の雇用を守るという、空前絶後のスーパーマネージャーっぷりを発揮する。これぞエンジニアがついて行きたい上司ナンバーワン。新しい技術は常に誰かの仕事を代替していく。それは昨今ではAIだということで、AIが仕事を奪うだの人間を支配するだの馬鹿げた論が流布されていたりもする。けれどもドロシーのように、新しい技術を学んでいく姿勢とスキルこそが、個人としても社会としても大切なのだとこの映画は教えてくれる。

プロフェッショナルとしてのキャリア、社会の分断と差別、科学技術と社会の関係性といった濃厚な3つのテーマの本質に鋭く切り込みながらも、エンターテイメントとしても王道で一流をぶっちぎってるのがこの映画のすごいところ。主人公が逆境を乗り越え成功を手にするとか、家族との愛、ラブストーリーという基本的な映画としてのエンタメ性をきちんと担保している。もちろん名セリフ名シーン多すぎだし*3、役者の演技も文句のつけようがない*4

この映画を見ているとき、NASAで働く日本人エンジニアの小野雅裕さんを思い起こさないことは不可能だった。今時、COLOREDなんて遠い昔の話だし、劇中でハリソンが言うように"Here at NASA we all pee the same color. "な訳だけど、アメリカでプロフェッショナルな仕事をしている/した人の話を聞いていると、COLOREDであること、もしくはAmericanでないことのハンデがそれなりにあることなのかなと推測できる。そんな中で、小野さんがあふれんばかりの夢と希望を持ち続けてNASA JPLで奮闘している姿をブログなどで拝見していて勇気をもらっている。彼は著作の中で「夢とは渇望だ」と言っている。当時の黒人女性というハンデから、いくら能力があってもNASAで働いていても職は保証されなかったことからも、この映画の主人公たちは自らを輝かせるチャンスを渇望していたと思う。胸を焦がすような情熱で持って渇望する夢を自分は持っているだろうか、また今いる環境に愚痴をいう前に、できることがあるんじゃないだろうか。そんな希望を与えてくれる映画だった。また事あるごとに見返したい。

*1:研究者やエンジニアにとっては色々ツッコミどころもありつつも、まあ映画としては面白いし、実話ベースなので実際どうだったんだろとか考えてると、そこらへんの楽しみが二倍。今でも運動方程式を習うときには手で計算を行いますが、なんか、やっぱ手で計算するって大事だなとか思いました。雑だけど。

*2:「あなたは自分が悪者じゃないと思っているけど、罪の意識を感じたくないから実際には差別の片棒を担いで生きているよね」ってことだから。

*3:ここから英語だけど見れます

*4:タラジ・P・ヘンソン扮するキャサリンが不満をぶちまけるシーンの声の荒さには鳥肌がたったし、スタッフォード役のジム・パーソンズはTVコメディのBig Bang Theoryで演じている変態物理学者のシェルドンをまともにした人物にしか見えなかったり、キルスティン・ダンストは歳を取っても相変わらず綺麗だった。ケビン・コスナーもイケメン管理職になってて味が出てました。

Cognitoysは意外と楽しいという雑感

Cognitoysは Kickstarter発のプロダクトで、5~9歳向けのスマートトイ。IBM Watsonによる音声認識と会話機能が実装されている。wi-fi経由でネットワークに繋げないとただのピカピカ光る恐竜の置き物になる。30分ほど 使ってみたが、それなりに楽しく遊べた。

 

まず最初に、コンテンツの充実性、音声コマンドによるコントロール、返し方の3つに注目して使った感じを。

基本的な機能は公式webに書いてある通りだが、ジョーク、お 話、ゲーム、QA形式の雑談(i.e. chit chat)が主たる会話の機能となっており、他にも音楽を流したりできる。ジョーク、お話、ゲームのコンテンツはまだ限定的だが徐々に拡張されている。ロ ジック的に当たり前だけど、話を遮ることはできない。ジョークやクイズゲームなどの短いコンテンツならいいが、長めのお話が開始されるとそれが終わるまで 聞き続けなければならない。途中で「I want to quit」など何を言っても終了できない。特定のポイントに来ると「Do you want to continue?」と言った意味の質問をしてくるので、ここでユーザー入力のyes/no(ネガ/ポジ)判定を行う。

Dino Commandと 呼ばれる音声コマンドで特定の機能を動作できる。 例えば、「Say xxx」と入力すればDino(恐竜の名前)は「xxx」と返答する。「Say "I hate Donald Trump"」 と入力すれば Dinoに 「I hate Donald Trump」と言わせることもできる。(ひとり爆笑してしまった...)他の例では「Repeat」や「I didin't get that」で前言ったことを繰り返し言わせることができる。音声インターフェースを作るならこの聞き返し機能は必須だと思う。これらの動作を特定のキー ワードでトリガーできるのは有効な手段だ。音声認識について良いアイデアだと思ったのは、胴体のボタンを押している時だけ音声入力を受付るという点だ。こ れは電源がONにされている間ずっと音声待受け状態を維持するよりもはるかに良い。なぜなら、音声待ち受け時間を短くすることでAPI呼び出しのコストが 下がるし、余計なノイズを拾って認識できないケースを除外できる。さらにこの時口元のLEDの色が変わるので、ユーザーは明確にDinoが話を聞いている 状態と喋っている状態を区別できる。

悪意のある入力に対する反応を試してみた。fワードや極端にネ ガティブな発言に対しては「そんなこと言っちゃいけないよ」という意味の反応を返される。入力が、悪い発音、言い直す、そもそも日本語、などで判別できな いような時は「I didn't get/hear that, Say it again」とか、「何か別のことを話そう」という反応になる。言い回しやパターンがいくつかあるのでそんなにストレスを感じない。そもそも「これは答え られないだろ」というい前程で話しかけているのだけれど。返答にかかる時間はだいたい2〜3秒で、意外とストレスを感じない。

 

アマゾンのレビューでは評価が分かれている。とても楽しいおもちゃだと評する5つ星のレビューと、1つ星が同じくらいあり、中間が少ない。低評価のレビューのうち、「子供の興味を学習するとあるが私の子供の興味を学んでいるようには思えない」という指摘はもっともだ。なぜなら、このページを 見ればわかるようにコンテンツを決めているのは製品企画側だから。一般的に、「人工知能(もといWatson)があなたの会話を学習してそれに合わせて製 品をアップグレードします」という神話が流布さているが、実際にあなたの会話を学習するのは超高性能の天然知能、すなわち会話ログを見てあれこれ考えてい る製品企画側の人間だ。とはいえ、今までは「おもちゃにユーザーがどんなことを話しかけるか」という記録を入手できる手段はほぼなく、超リアルなユーザー の声が直接コンテンツメイカーに届く仕組みというだけでも十分に画期的だとも言える。

 

気になる値段だが、なんと$99.99。一方シャープのロボホ ンは21万円*1。Cognitoysはこの値段でどうやって利益を出しているんだろう。Watson APIのConversation,STT,TTSを使っていると仮定すれば、安く見積もっても$10/monthくらいかかってしまうはず*2。子供 は成長が早いから9ヶ月もしたら飽きる前程で作られているんだろうって?いや、それじゃあ、「恐竜のDinoはあなたの子供と一緒に成長します」っていう 製品の大事なウリが嘘になる。次に予想できることといえば、実際にはAPIを使っているわけではないということだ。Watson APIのオファリングが始まる前に開かれたIBMのコンテストか何かで優勝したstart-upなので、IBMが特別な形で技術提供をしているのかもしれ ない。

 

*1:携帯電話として の機能と、可愛らしい動作を実現するため のモーションシステムが値段を釣り上げていることは確かだけど、それだけでここまで高くなるものなのか。ハイエンド層を狙った実験的な値段設定と思われる けれど、市場へ大きく広めたいならばこの値段設定は適切ではないように思える。

*2:API公式ドキュメントに値段が書いてある。一日に数分遊ぶと仮定する

Kaggleでコンペを開くには

Kaggleは、データサイエンティストのアウトソーシグプラットフォームだ。企業は多くのデータを抱えており、それらを分析することで新たな洞察を得たりビジネス上の課題を解決したいと思っているが、高度なデータ分析スキルを持った人材がいない。数十万人が登録するこのプラットフォーム上で企業は賞金付きのコンペを開くことで、自社の抱えるデータを良い精度で分析してもらうことができる。その中の回答や数理モデルからコンペ成績の良いものを採用したり、それらを作った優秀な人材をリクルートすることができる。日本語でより詳しい説明を所望の方はこれとかこの記事がわかりやすい。

 

Kaggleは、大体においては、参加者となっていかに良い成績を残して高い賞金*1を得るかという文脈で語られる。なのでここでは企業側の視点から考える。これまでにKaggleでコンペを開いた企業・組織はAmazonFacebookWalmart、GE、MicrosoftFacebook、Ford、NASAairbnb、Merckなど、欧米の大企業、著名なスタートアップ、学術機関などが名を連ねる。コンペを開くためにはまずガイドを読んで、Kaggleに申し込めばいい。画一的な料金があるわけではなく、どんな問題を設定するかなどをスタッフと詰めてコンペを開く。7年で238件のコンペが開催されていて、スタッフは現在20〜30人程度らしい。思ったよりKaggle自体の規模は大きくない。

組織がデータを預けるということがどうして可能なんだろうか。セキュリティに関してはきちんとしたガイドラインの上で交渉を行うようだ。参加者の賞金は大体数百万から一千万だけれど、これだけの投資をするのはなぜだろう。そんなにも良いリターンがあるのだろうか。いくつかのは賞金の代わりにJobを提供するコンペもやっていて、クラウドソーシングというよりは優秀な人材を囲い込みたいからかもしれない。

 

コンペ一覧をざっと見た限りでは、日本の組織を見つけることはできなかった。そもそも日本で全く知名度がない*2。日本でこのようなプラットフォームを実現しようとしているDeep Analyticsというのがあるが、賞金はKaggleに比べると低く規模も小さい。

データが増えることはあっても減ることはないだろうし、解析技術も進歩していくので、このようなプラットフォームやビジネスモデルは今後規模を拡大していくと予想される。その時、日本の企業や組織が(Kaggleのコンペホストたちと同程度には)、データ分析のスキームや結果を正当に評価したり、まっとうな賞金を用意するだろうか。もしそれを実現しようと思ったら、結構骨が折れそうだ。少なくともあと5年はかかるか、でなければ決して訪れないかもしれない。

*1:数百万〜一千万円だけど、賞金少なくねえ?的な議論もある

*2:ジャパンパッシングかもしれない。ジャパンパッシングという言葉の意味はよく知らないけど、世界が日本を無視しているのではなく日本が世界を無視しているようにしか見えない。完全に主観だけど、アメリカ発祥の先端的な技術とか文化とか思想が他先進国がほぼリアルタイムなのに対して大体5−10年遅れで日本に入ってくるように感じることが多い。どなたか良い本があれば教えてください。

チャットボットは次のプラットフォームになりうるか

チャットボットがスマートフォンアプリの次のプラットフォームなるかもしれないので、その覇権を巡って苛烈な競争が起こり始めているという記事を読んで驚いた。けどAlexaがスマホの次のプラットフォームとなる可能性を考慮すれば、ユーザーは画面上のアイコンをタップして必要な情報を探す代わりに、自然言語をやり取りして必要な処理を行うことは容易に想像できるため、チャットボットが次のプラットフォームになるのはとても自然な流れのように思える。

チャットボットについて色々調べてみたけど、日本語ではよくまとまっているこれを読めばざっくりわかります。良いです。大体が2016年に書かれた記事で、なるほどUSの先進的なチャットボットサービスの事例がお固い感じの文章にまとめられるくらいに日本にそれらが認知され始めたという感じ。

 

IBM Watsonが提供しているConversation APIを使えば誰でも簡単に、文字通りコード書かずにチャットボットを作成できる。チャットボットという言うよりは、その中身の会話フローを設計できると言った方が正しい。それをアプリとして人々に使ってもらえる形にするには、JavaScriptなどのフロントエンドを正しく書く必要がある。これをこの数ヶ月触ってみて思うのは、会話のシナリオ設計がアプリでいう画面遷移と同じくらい重要なユーザーの満足度を左右する指標になるということだ。ボットにどんな発言をさせるのか、ユーザーからどんな回答を期待して待ち受けるのか、それらから逸脱した発言をした場合にどうハンドルするのか... それを決めるためには、何を目的としてこのチャットボットを設計するのか、ボットはそもそもどんなキャラクターなのかを整理した上で、ボットに発言させる内容を考える必要がある。ユーザーの発言の意図がわからない場合に、単に「わからない」と伝えるのかユーモアを含めてはぐらかすのかによってユーザーの満足度が変わる。 

チャットボットという性質上ユーザーは絶対に雑談をしたがる。けれどチャットボットを実装する上でもっとも簡単なif-thenのロジックでは雑談を形成することは不可能に近いほど難しい。そこでりんなドコモのAPIのような雑談に対応可能なエンジンが重要になってくる。DBから適切な回答を引っ張ってきてランク付けする機能、文章を生成する機能で雑談を実現している。今後この仕組みについてもう少し深い所を学んでいきたい。

 

チャットボットを作っていると、それって本当にチャットボットで提供する必要があるの?グーグルで調べれば出てくるじゃん。という疑問に駆られる。おそらく、そういった疑問を持てるのはITリテラシーの高い人だけで、ほとんどのユーザーは自然言語で問い合わせた時に適切な答えが返ってくることを好む。いや、多分、ITリテラシーが高い人だってみんな望んでいる。自分で調べるよりは、誰か隣にいる人に話しかけて良い答えや手がかりを得られることを。チャットアプリが他の種類のアプリに比べて高いリテンションレートを持つという事実は、チャットボットが次の時代の主要なUIになる可能性が決して低くないことを示している。

人間は、人間の口から語られる情報にどの程度影響を受けるのだろう。それらは文章や映像といったメディアと比べてどう違うのだろう。口コミが最も効果的なプロモーション(多分)であることを考えるとその影響力は他のメディアよりも高いように思える。詐欺師がこの世からいなくらないのもやはりこのことに関係がある気がする。

対話する機械

対話する機械について。人と話すロボットは色んな物語に登場してくるので、これはほとんどの人にとって別に驚きはしない概念だけど、人間が機械に対して人格みたいなものを見出し始めたのはいつのことなんだろう。今日に生きる我々は、その形からは生き物らしさを微塵も見出せないディスプレイに向かって何かをつぶやいている。主に、プログラムが動かない時とか、うまくいかない時とか。むにゃむにゃ。

人と話すロボットと言われて思いつくものはなんだろう。アトム、ドラえもんC3POR2D2、ハロ、HAL3000くらいかな。SFオタクではないからこれ以上思いつくことは難しい。現実世界にこんな愛嬌溢れる、人間を楽しませることのできるロボットがいたらいいですよね。そう思いませんか。

2017年現在、対話する機械はスマホやPCで動くアプリと特定の形のモノが結びついた製品に分けられる。前者ではSiriCortana、女子高生キャラクターのりんなが有名だし、後者ではpepperロボホンAlexaCogniToysなどがあったりする。人の言葉を話すわけではないけど、AIBOはとても有名だ。palroBOCCOOHaNASなんていうのも最近出てきている。botもRobotもたくさんの製品があるけれど、空想世界に出てくるように自由自在に人間とコミュニケーションをするエージェントはまだ存在しない。人間が気を使わなければ、機械と会話を成り立たせられない。課題が沢山ある。とはいえ、一定の範囲の中ではそれなりに対話ができるといった感じ。

 

・・・

対話の仕組みを作っているソフトがあるのだから、スマホかラップトップで対話する機械を作ってしまえばいいのに、なんでわざわざ他の物体を用意する必要があるんだろう。これはIoTの本質を表しているように思える。ハードの見た目、仕草、佇まいと言った「汎用的ではない」モノのデザインこそが、対話において人間の満足度を高めるんだと思う。pepperやロボホンは人型であるのに対し、Alexaはただの円筒だ。この違いはユーザーにどんな体験の違いをもたらすんだろうか。

 

・・・

1967年のSF好きにこんなことを言ったらどんな反応をするだろう。「2017年の対話する機械に脳みそはなく、代わりに雲の中に置いてある脳から逐一通信行って指令を出してその機械を動かすんだ」と。ドラえもん鉄腕アトムがそんな風に動いているとしたらなんか気持ち悪いって感じる。もしドラえもんが車に轢かれて大破したとしても、そこで物語は終わらない。のび太が家に帰る頃には新しいドラえもんが引き出しから出てきて「いやあ轢かれちゃった」とかなんとか言ってるなんて…。でも現在のクラウドの技術を考えるとそんなことは結構な確率でありえそうだ。

CogniToysは子供向けの対話型おもちゃだが、その会話エンジンにはクラウドコンピューティングを使っている。開発者によれば、このエンジンを全て一つのハードウェアに実装しようとしたらとてもコストが高くなってしまうそうだ。確かにSiriは常にアップデートされているが故に素晴らしい。いろんな用途・選択肢はあるにしろ、人形に高度な会話をさせたいなら、一つ一つのハードに会話エンジンを内装する(定期的なアップデートがあるとしても)のは得策でないように思える。ソフトウェアをクラウドから使うか、定期的にアップデートするか、組み込みにするのか。技術的にとても興味深い問題だ。

大学を離れてから気づく大学の利点

ブログを30日間とりあえず書き続けるという30日チャレンジは続きませんでした。前回の記事でちょっと頑張りすぎた感じはあります。しかし出来る範囲で続けます。

 

IT系のスキルを自学していて、Javaは2ヶ月やってみて大体読み書きできるようになってきた。ファイルの取り扱いもまあ初歩的なところは作れて、あと触れてないのはラムダ式くらい。これに加えて、機械学習の勉強をしている。教師あり学習、教師なし学習から始まって分類問題、再帰問題など初歩のところから、ニューラルネットワークの原理、計算方法の理解、CNNの概念とディープラーニングの可能性までなんとなーく全体像をつかめた感がある。私という天然知能の教師データは主にこの本。なんとAmazonランキング1位で大人気、こないだカフェでこれを読み始めたら隣の人も同じものを読んでいた、という、まるで村上春樹の新書で起こりそうな狂った体験ができました[1]。

 

自分で本を読んだりしていたが、勉強のための勉強になってしまって、何かアウトプットのために学ぶよりもやはり効率が悪いと感じる。知識そのものが増えるのは楽しいから娯楽と言ってしまえばそれまでで、その場合別にアウトプットなんていらない(学問なんて娯楽だ)。けれども欲張りなので何か成果が欲しいなと思い、友人と勉強会的なものをしようと断続的に集まったりしてみたものの、上手くいかない。各個人のレベルややりたい方向性に隔たりがあり、結局ふわっとした議論だけして終わってしまう。「効率的な」自学自習は思っていたよりも難しい。

 

専門書を読んでいると、大事なポイントを要点抑えて学べたら効率良いなと常々感じる。それを正しく行えるのが大学の授業の良いところなんだと気づいた。体系だった知識を持っている人がガイドしながら、細部までは行かずとも体系全体の中で大事なポイントを定期テストの問題にする。だからたとえ一夜漬けでも一応は大事なポイントを理解して試験にパスしていれば、そこにはやはり形式上の単位や学歴以上の価値がある。授業を退屈だと思って聞いていたのは、実は聞き手が退屈だと思えるくらいに体系だったわかりやすいカリキュラムを作っている人がいたからだ。たまに学生を置いてけぼりにする意味不明な講義をする教授もいたけど。そしてそのカリキュラムを作る人は、その分野では全人類のうち最も詳しいレベルの知識を持っている人なのだ。

本を読めば学はつく。しかしそれは正しく読めた場合のみだ。間違った理解したことを誰も指摘してくれなかったなら、それは悲しいことだ。一度、物理学を間違って理解している人の(そのおっさんは高校物理だって理解できているか怪しい)意味不明なウェブサイトを見かけたことがある。彼は物理学が好きで本を読んで持論を書いているのだろうが、本を正しく読めていないのだ。一度どこかの大学のオンラインの講座でも受けると良いと思う。

有名大学の授業はいまや大体オンラインで受講できるようになっている。だから大学の存在価値はもはや無いのでは?という議論があり、これに対する有力な回答は、切磋琢磨できる仲間を見つける場であるということになっている。まあそれもあるけれど、ここで言いたい大事なことは、大学では、授業を作る人、教える人が(少なくとも知識の上では)「きちんとしている」ということだ。

 

 

[1] 村上春樹は好きですがそういう体験をしたことはないです。そういえば騎士団長殺しというキャッチーなタイトルの新作が出るみたいですね。

[*] 中学程度の学力しかない人たちに根気強く、大学程度の工学を教えてくれた高専の先生方は素晴らしいと思う。高専生だった時は全くこんなことをやって何の役に立つんだという思いしかなかった。けど深く科学・技術を学ぶにつれ、微積分やフーリエ変換運動方程式C言語のprintf文を10代の時に学べるという環境がどれだけ特殊で素晴らしい機会だったかということを年々強く感じるようになってきている。Javaを本格的に勉強し始めた最近、10年前の高1の時にプログラミングを教えてくれた超個性的な(普通高校には絶対いないような)先生の授業がフラッシュバックする。見るからに運動は不得意そうで、なぜかいつも汗っかきでヒューヒューと息をしていて、要するに冴えないオタクだった。(どうでもいい情報だけど、その先生はint型の変数名には律儀に”seisu_”という接頭辞をつけていたし、演習の技術補佐員は超アナログなおじいちゃんで何かエラーが出るとコマンドプロンプトを見ることなく「再起動したら?」と学生にアドバイスしていた)当時プログラミングがいかにクールなものかなんて知る由もなかった愚かな僕は「意味わかんねーしオタクだせー」と内心見下しながら授業を受けていた。タイムマシンがあったら昔の自分を殴っている。でもとりあえず、10年経っても鮮明に覚えているくらいそれまでの義務教育とは一線を画した授業だった。いわゆる「高専ぽっさ」が前面に出ていたこともあるだろう。いやあほんと、授業って、奥が深いですね

文章を要約する人工知能についての話

30日チャレンジなのにブログ更新が1日空いてしまったけど、昨日は仕事の文章を書いていたのでよしとします。自然言語処理を用いて自動で文章を要約することに関心を持ったので軽く調べたことを書きますね。

(時間制限のアウトプット付きのインプットは効率がいいと思う。帰ってきて適当にfacebookを眺めるよりはずっといい。でも調べるの含めて90分かかった...)

 

なぜ興味を持ったか

先日、友人と「情報のリフォーマット」という観点で色々とアイデアを話し合っていた時に話題になり、調べてみようとなった。これには、Acrossという「論文をスマホから読みやすくしよう」というサービスを作るサイドプロジェクトが背景にある。これはまた今度説明。個人的には、論文を読み込んで新規の研究テーマを自動で見つけたりできたら面白いと思う。

 

文章要約は精度の高いエンジンが開発されつつある

何を持って要約とするのかという疑問があったけど、無料公開のツールはすでに多くあり、2000文字の文章は3-5文で要約できてしまうし、なんとなく全体像がつかめてしまう。ライブドアニュースや47 ニュースという実用例もある。実は自動アルゴリズムだったらしい。細かいアルゴリズムはわからないけど、形態素分解をして文章や単語ごとの重要度をランク付けしていくのだろうか。ウィキペディアによると、単に「タイトルと同じ単語が含まれる」などのルールを設定して本文を抽出するだけものもあるが、最近では流行りのディープラーニングを使って精度を上げることに成功したと報告する論文もあり、メディアによると人の要約と大差ないとか。この論文の著者は自然言語処理が得意なIBM Watsonの研究者とモントリール大学の研究者なんだけど、なんでも数年前の文章要約コンテストで他を圧倒した性能で優勝したのがモントリオール大学のチームだったそう。リクルートテックが公開しているpythonコードの実装と、この論文を読み込んでみたい。

文章要約の応用先

例の友達と話していたことだけど、論文、ニュース、メールなど自分の関心のある文章を要約して構造化し、それらを音声で流す自分専用のラジオなんかがあるといいよね。朝メールを聞きながら出勤し、デスクに着くとともに効率的に対応できるとか。(せかせかしすぎ?)

今日みたいに、夜遅く帰宅したけど文章要約について調べたいなと思いながら晩御飯を用意している時に音声で教えてくれたら便利だと思う。いやでも、そもそもグーグルで検索して上位5件をざっと読むのも面倒だから、それらを3点にまとめて「ようはざっくりこういうことだよ」と情報を表示してくれたらとても素敵じゃない?それって、まるで何でも知っている賢人が常にそばにいて何でもわかりやすく教えてくれるみたいだ。グーグルは検索エンジンの高度化を進める傍ら、世界中の情報を整理するための、検索エンジンの次を作っているんじゃないか。それが進んでいくと、いつかはのび太にとってのドラえもんみたいな都合の良い教師があまねく行き渡るのかもしれない(ドラえもんは必ずしも正しい知識をのび太に与えているわけじゃないから違うかも。人の言葉を話せるR2D2って感じかな)。

論文自動読み込みで研究テーマを見つけるというアイデアに関しては、「この研究分野においてまだはっきりとわかっていない部分はもしかしてこれじゃない?」と候補を提案するような形ができれば現実的で面白いかなと思う。地図の空白部分を見つけるのに似ている。どの問題を解くかを見極めるのは研究者がすることで、その補助ツールという立ち位置。これは臨床現場でのAIの応用と同じ構造。