「夫子憮然曰、鳥獣不可與同羣。吾非斯人之徒與、而誰與。
「論語」微子、第十八、六

2013/02/28

「自由はどこまで可能か」

あら、もう二月も終わりか。 帰宅してお風呂に入り、 湯船で 「自由はどこまで可能か リバタリアニズム入門」(森村進著/講談社現代新書) を読む。 著者の奥様が、 お気楽紳士バーティと名執事ジーヴスものを翻訳されている、 森村たまきさんだということが興味深い(?)。

この本の分類では、私はマル3とローマ数字IIIに属しそうだ。 つまり、政府の規模としては、 ある程度の福祉やサーヴィスをする小さな政府を認める「古典的自由主義」者で、 個人の自由の正当化の論拠としては、 理性的な人々ならこうなるはずだという「契約論」者。 しかし、私は(自分自身も含め)人間がそれほど理性的だと思っていないし、 束にまとまった場合はどこまでも非理性的になりうると思っているので、 IIIは成立せず、マル3も成立しない、と考える。 故に私は、リバタリアニズムは成立しないと考える悲観的リバタリアン、 あるいは夢想的リバタリアン、とでも言えようか。

2013/02/27

EDA

小雨の降る中を出勤。 午前午後とデータとりなど。 データをとったはいいが集計が難しいので、 テューキーの "EDA" に思いを馳せながら、あれこれ考える。 700 ページくらいあるテューキーの原典を会社の書架に飾ってあるのだが、 ずばり、5 ページくらいしか読んでいない。

昼食は近所でビールカレー。 念のために書いておくが、カレー屋でビールを飲んだのではなく、 ビールで煮込んだカレーを食べたのである。間違いない。 「自由はどこまで可能か リバタリアニズム入門」(森村進著/講談社現代新書) を買う。 夕方退社。

帰宅して御飯を炊いて、だしを引き、夕食の支度。 そのあとは、 夜はたいがい本を読み、冬には南にまいります、 という感じ。

2013/02/26

いかに記事を推薦するか、その5(その他の問題)

記事の推薦サーヴィスをめぐる問題の最終回。 こういうものを作ろうと思った時点では思い付きもしなかったが、 実は難問だったことから二つほど。

Mynd Daily に登録して下さっている方の手元に毎朝届く推薦記事それぞれの横には、 画像がついている。この画像はどうやって選んでいるのか。 記事の本体から抜き出してくるんでしょ、と思われたかも知れないが、 そして、まさにその通りなのだが、 大抵の場合、その記事について説明した本当の画像の他に、 広告画像や、そのサイトのバナーや、関係のない画像も付随している。 この中から、記事に相応しい画像を自動的に抜き出さなければならないのである。 これが簡単に見えて、難しい。 実際、この画像抽出だけをサーヴィスにしている会社があるくらい難しい。

画像の埋め込まれ方は、サイトによって様々で、 人間ならぱっと見て「これだよ」と分かるのだが、 それは人間が記事の内容を理解していて、 かつ、写真を目で見ることができるからだ。 その知性と感覚をどうやって機械に持たせるか。 弊社の優秀なプログラマたちが何とか、 かなり高い確率で正しい画像を当てられるアルゴリズムを開発し、 これは他の類似の記事推薦サーヴィスで使われているものよりずっと優れていると、 我々は自負している。 しかし、おそらくあなたは、 たまに記事の横に変な画像が出ているのを見つけては、 「でいりーたん、だめじゃん」と思うかも知れない。 しかし、 このように簡単に見える技術が実は難問だったりするのだ、 ということは知ってもらいたい。

また別の問題として、「類似記事の検出」がある。 これも事前には全く思いつかなかったし、 気付いてからもしばらくは、簡単な問題だと思っていた。 Mynd Daily は、一日分の推薦記事候補を集めた上で、 そこからあなたが興味を持つだろう記事を推薦しているのだが、 インタネットには良く似た記事があふれている。 元の記事をそのまま引用しただけの記事、 引用して一言だけ足した記事、 同じ内容だが一応は書き直してある記事、 あたりまでは「ほぼ同じ」記事と言ってしまっていいだろう。 こういう記事が推薦記事セットの中にいくつもあると、 読者は当然ながら不快に思う。 しかし、推薦であるが故に、ある記事があなた向きだと判断されれば、 その類似記事もあなた向きだと判断されて、こういうダブりが集中してしまう。

これを解決するには、 類似記事であることを自動的に検出しなければならない。 これも人間が見れば明らかなのだが、 機械にその知性を持たせるのは難しい。 ちょっと分かっている人は「ははん、あれを計算すればいいじゃん」 と思ったかも知れないが、それは第一歩に過ぎない。 この問題はやればやるほど、じわじわ難しさが分かってくるタイプの問題で、 正直に言うと、我々も未だに模索中である。 だから、推薦記事の中に重複にしか見えない記事を見つけても、 しばらくは温かく見守ってほしい。

似ている記事をちゃんと見つける精度の問題の他に、 大量の記事を分類する計算量の問題もある。 今のところは記事数が少ないので、事前に総クロス計算することが可能だが、 いずれは、計算タイミングとハッシングを最適化する、つまり、 必要になったその場その場で必要なだけ計算し、 計算したものは記憶しておくような工夫をするとか、 あるいは、類似度計算そのものを高速化しなければならないだろう。 このあたりも今後の課題である。と言うより、課題になるくらいのスケールになりたい。

他にもまだまだ、いくらでも問題がありますが、 長い上に、専門的な内容が続くと読者がいなくなるので、 とりあえずこのあたりで止めておきます。 Mynd Daily は、今のところメイル配信だけですが、 既に社内では「ドッグフード」状態で web 版が動いています。 さらに、面白い機能を追加したものも実験中です。 だんだんと公開版に反映されていくはずですので、お楽しみに。 登録するなら、今ですよ。

2013/02/25

いかに記事を推薦するか、その4(A/Bテストの新世界)

先週、 "Mynd Daily" を登録して下さった方は、 既に数回メイルが届いたはずだが、 記事推薦の調子はいかがだろうか。 あなたがかなりの数の記事をクリックしていない限り、 推薦システムはあなたのことをまだそれほど知らない。 つまり、 「コールドスタート」である。 さらに、まだあなたの好みの情報が少ないが故に、 推薦する幅が非常に狭いはずだ。 つまり、 「フィルターバブル」である。 この二つの大きな問題の他にも、多くの問題がある。 我々はできる限り推薦エンジンを改善していきたいし、 デザイン、サーヴィス設計、など、あらゆる点を改善しなくてはならない。

ではどうするか。 今、IT業界では「A/Bテスト、イズ、キング」 ということになりつつある。 つまり、A案がいいかB案がいいか、 ある改善案を試すべきか否か(現状がA、改善案がB)、 ミーティングで延々と議論したり、 または、上司や社長が「よし、分かった!」と轟警部風に決断したりするのは、 旧時代の大間違い。この素晴しき新世界においては、 実際にAとBの両方をやってみることが可能であり、 その結果から統計的判断をすれば良いのである。

例えば、販売サイトのデザイン案がAとBの二種類ある。どちらがいいか。 両方やってみればよい。 ユーザがこのサイトにアクセスしてくる度に、ランダムにAとBに振り分けるのだ。 「ランダムに」という点が味噌で、 これによって比較したいこと以外の因子が (例えば、ユーザの年齢、職業、その日の天気、エトセトラ)、 実験者が気付いている因子は勿論、気付いていない因子まで、 平均化される。よって、もしAとBのどちらかが優れているなら、 まさにその故に、優れている方の売り上げの方が多くなる。 例えば、千人ずつ振り分けた結果、Aでは六百回クリックしてもらえて、 Bでは五百回だった。 これが、偶然に起こりうる程度の偏りではない、と統計的に判断されれば、 Aを採用すればよい。 設計と判断にやや高度な数学が必要だが、メッセージはシンプルだ。 悩んでないで両方やってみる。勝った方が勝ち。 このプロセスを繰り返していけば、 製品はどんどん良くなっていくだろう。 ついでに言えば、愚かなミーティングも馬鹿な上司も廃止できる。

このように、理論的には薔薇色なのだが、これが実際は易しくない。 まず、比べたいことだけが比べられるという理想が怪しい。 ランダム化の威力は絶大だが、それでも余計な因子は残る。 例えば、社のホームページでA/Bテストを始めた。 しかし、これはAとBを比較しているのだろうか、 もしかして、以前のホームページからAへの変化と、Bへの変化を比較したのではないか。 Aの方がアクセス数が増えたが、これはAのデザインが一見して派手なので、 単に以前のページからの変化が斬新だったからかも知れない。 このように、何を測ったことになっているのかの理解が、 A/Bテストのブラックボックス性(つまり、「理由は分からないが兎に角こちらが勝ち」性) の故に、覆い隠されてしまうため、テスト結果を正しく生かすことが難しい。 時々、ビジネス書の類が「理由は聞くな、A/Bテストに従え」というような、 激しい主張をしていることがあるが、それは一面の真実ではありつつも、極論の類だろう。 (つまり、残念ながら、ミーティングも上司も必要だ。) 確かに、昔、理由も知らないままに統計学で町をコレラから救った医者がいたかも知れないが、 人類が本当にコレラから救われたのは、我々人間がコレラを理解したからである。

それから、A/Bを比べるための物差しが難しい。 例えば、 "Mynd Daily" の場合、何をもって「勝ち」とすればよいのか。 素朴に考えれば、記事のクリック率だが、本当にそれで良いのか。 既に「フィルターバブル」の話をしたときに、満点が満点ではない、と述べた。 また、通常このようなパーソナライズした推薦システムを試験する時、 その対抗馬には人気ベストテンのようなものが選ばれる。 折角、ユーザ毎の好みにあわせたのだから、少なくとも単なる人気商品セットは超えなければ、 というのだが、本当にそうだろうか。私はそれほど自明ではないと思う。 パーソナライズとは一体何であり、何のためにあるのか。 自分たちは何をしようとしているのか。お客は何を求めているのか。 何を物差しにして測るのかという問題は、 こういった質問に答えない限り解けそうにない。

第三に、弊社のようなベンチャーにとって大問題で、 私が個人的に「スタートアップの鶏と卵の問題」と呼んでいるものがある。 製品を改善するためにA/Bテストを有効に行いたいのだが、 そのためには沢山のユーザ数が必要だ。 しかし、既にその製品が優れていなければ、ユーザが沢山いるはずがない。 ユーザを集めるには先に十分なテストが必要で、 十分にテストするには先に多くのユーザが必要なのである。 この問題はかなり一般的だが、 推薦のような計測が難しく柔らかいシステムにとっては、なおさらクリティカルである。 ベンチャーで成功した人は皆、このジレンマを(偶然の力も借りてのことだろうが) 解いたのだろう。

2013/02/24

美食家探偵

日清のソース焼きそばを 5 袋セットで買ったのと、 いか天を知り合いから沢山いただいたせいで、 食生活がややジャンクフード方面に傾いている。 いかんなあ……と思いつつ、 いか天とじゃが芋入りのソース焼きそばで、 ペールエールを飲みながら、 「シーザーの埋葬」(R.スタウト著/大村実根子訳/光文社文庫) を読む昼時は至福。 ビールの残りで読書を続けて読了。 やはりアーチーとウルフの会話がいい。 スクリューボールを投げあってる感じが。

その次は、美食家探偵つながりで ニューヨークのネロ・ウルフからバルセロナのペペ・カルバイヨへ移り、 「楽園を求めた男」(M.バスケス・モンタルバン著/田部武光訳/創元推理文庫) を読み始める。 読書の合間に家事をあれこれ。ポテトサラダ、鯖の照り焼き、菠薐草のおひたしを作る。 昼食のデザートと夕食のアントレの間にあるべきものは、 趣味の良いミステリと料理の正しき仕込みだ。

夕食は御飯を炊いて、若布としめじと油揚げの味噌汁を作り、 作り置きの惣菜あれこれ。 夜は「楽園を求めた男」の続き。 湯船で読んだところでは、 カルバイヨ探偵が若い女の子に茄子と小海老のグラタンを作ってやって、 「意外とおいしいじゃん。これ罐詰?」と言われていた。

2013/02/23

たらこスパゲティ

休日用の軽めの朝食ののち、朝風呂。 湯船の読書は 「階級『断絶』社会アメリカ」(C.マレー著/橘明美訳/草思社)。

昼食は、「村上レシピ」(台所でよむ村上春樹の会・編/飛鳥新社) にしたがって、たらこスパゲティ。 全く記憶にないが「羊をめぐる冒険」が出典らしい。 このレシピはちょっと醤油の分量が多いのではと思いつつ、 指定通りに作ってみたが、これくらいの方が美味しいのかな。 ちょっと色は悪くなるけど。

午後はペールエールと「辛いか天」を傍らに、 「シーザーの埋葬」(R.スタウト著/大村実根子訳/光文社文庫) を読む。いい日だなあ。

夕方ふたたびお風呂に入ってから、夕食の支度。 鯖を焼いて、蕪の糠漬、豚汁、卵かけ御飯。 食後に苺と蜜柑。

2013/02/22

いかに記事を推薦するか、その3(フィルターバブル)

"Mynd Daily"では、 ユーザが記事タイトルをクリックして記事本体を読みに行ったかをチェックして、 ユーザの嗜好の特徴量を作成している。 「コールドスタート」問題 については昨日書いたが、 初日の推薦記事の中にたまたまあなたの好きな記事があったとしよう。例えば猫の記事。 あなたはその猫記事をクリックする。

すると、他に情報がないものだから、システムは唯一の手がかりに従って、 翌日の推薦では猫の記事を主に推薦する。 猫好きのあなたはまた猫の記事ばかり読む。 システムは、あなたは猫以外に興味のない猫フリークなのだ、 という確信を深め、翌日さらに猫記事を推薦する。 このループはどんどん深まり、サーヴィスが「今日の猫通信」みたいになってしまう。 しかし、(あなたは猫好きとは言え)それでよいのだろうか。 このように、システムと人間の関わりによって自動的に現れた情報の「壁」の中に、 どんどん閉じこもっていってしまう状況を 「フィルターバブル」と言う。 (多分、この言葉は情報の「壁」を見えない「泡」として想像しているのだろう。)

この問題は深い。少なくとも、 そもそも推薦システムをどう使いたいのか、 というサーヴィスの全体設計に関わる問題であることは間違いない。 例えば、インタネットで商品を売る web サイトを運営しているとしよう。 売れ行きをアップさせるために、推薦エンジンを入れることにした。 例えば、ピノ・ノワールを買ったお客にピノ・ノワールを薦める。 お客は喜んで買うので、さらにピノ・ノワールを薦める。また買う。また薦める。 ピノ・ノワールのフィルターバブルが発生する。 これは売り上げをアップさせるのだろうか。 そうかも知れないし、そうでないかも知れない。 ひょっとしたら、他の葡萄品種も紹介して、趣味の幅を広げてもらった方が、 もっと沢山買ってくれるのではないか。 つまり、このバブルによって、本当の売上アップのチャンスを失っているのではないか。 またお客の立場から言うと、お客の利便性は上がっているのだろうか。 さらに言えば、より幸せになっているのだろうか。 そうかも知れないし、そうでないかも知れない。 さらに深い質問としては、 幸せになっているとしても、それでいいのだろうか。

"Mynd Daily" は「あなた向けの今日のニュース」であるという立場からすると、 フィルターバブルをどう扱うべきだろうか。 ユーザによっては、「今日の猫通信」上等、という方もおられるだろうが、 おそらく多数派ではないし、我々が提供しようとしているサーヴィスではない。 そもそも何をしたいのか、ということを根本的に考えないと、 本当の答はありえず、そして正直に言ってしまうと、我々自身まだ良く分かっていない。 しかし、フィルターバブルを避けなければならないことは共通認識としてある。 つまり、ある程度のヴァラエティを持って、ユーザが興味を持ってくれそうな記事をとりそろえたい。 そのためには、ユーザが興味を持つと分かっていない(正確に言えば、システムがそう判断していない) 記事や、今のところ興味を持たないだろうと判断している記事すらも、提示する必要がある。 つまり、10 個記事を推薦して、10 個クリックされる状況は「満点」ではない。 実際、我々は推薦記事の中に、このような「外した」記事をわざと一定数、混ぜ込ませている。 "Mynd Daily" に登録してくださった方は、「どれが外し記事だろう」と想像してみるのも面白いかも知れない。

フィルターバブルの問題は深い。 アルゴリズムの設計、システムの全体設計、サーヴィスの構築の全てに関係すると同時に、 情報と人間の関わり方の本質に触れていて、哲学・思想にすら射程が拡がっている。 そこまで言わなくても、推薦エンジンを応用するときには、熟考しなければならない課題である。 また、もしあなたが商売のために推薦エンジンを導入しようとしているなら、 「コールドスタートはどうしますか」と「フィルターバブルはどう考えていますか」 の二つの質問をすれば、IT屋さんの方は「こいつは油断できないな」と思うし、 この質問にしっかり答えて、一緒に考えようとしてくれるならば、 信頼できる業者だと判断して良いと思う。

長い投稿が続いたので、明日、明後日はいつもの断腸亭日常的モード。 記事推薦の話の続きは、月曜日の夜。

2013/02/21

いかに記事を推薦するか、その2(億万長者の夢とコールドスタート)

昨日は、 "Mynd Daily" の推薦アルゴリズムと、 それが私の "Life hacker reader" については完璧に動作したことをお話しした。 しかしそれは、「問題が簡単だから」であって、一般的な推薦システムを作るのは全く別問題なのである。 何よりもまず、開発者とユーザが同じ自分一人だけだということが、問題を無限に易しくする。 この教訓は一般的に成立するが、推薦システムについてはなおさらである。

この真理に思い至らず、 手元で素敵なアプリを作って悦に入り、 これを公開して一つ百円で売れば何億円儲かることか、 いや失敬、どんなに世界を良い場所にできることか、 と白昼夢にひたっている日曜プログラマは世界中に 50 万人くらいいると思うが、 勘違いもはなはだしい。 昨年リストラ部屋で同じような夢を堪能していた過去の私にも、目を覚ませ、世界の声を聞け、と言いたい。

それはさておき、今朝、 "Mynd Daily" から最初の記事が配信された方は、 自分とまるで無関係な記事ばかりだっただろうか、 それとも、興味を持ちそうな記事が含まれていただろうか。 つまらない記事ばかりなら、あなたはもう退会してしまうかも知れない。 しかし、よく考えてみると、 初めての配信で、そのユーザのことを何も知らないのに、 どうやって推薦ができるのか。 これは記事推薦に限らず、あらゆる推薦システムの大きな課題で、 「コールドスタート」問題と呼ばれている。 つまり、初めてのお客で何の手がかりもないのに、 何かまともなおすすめをしないとお客が帰ってしまう。 一人で自分用に開発していると気付かないが、 見かけ以上に深い問題である。 そもそも、サーヴィスにとって、 ユーザになってくれるかどうかの問題以上に深い問題などない。 夢見がちな億万長者候補は、このことをよく噛み締める必要がある。

"Mynd Daily" では基本的に、配信した記事(のタイトル)を読者がクリックして記事の本体を読みに行ったかどうかをチェックし、 その情報をユーザの特徴量に反映させて、推薦情報にしている。 だから、当たり前のことながら、最初の配信では推薦の手がかりがない。 この問題を解決する方法は、基本的に二通りしかない。 他の方法でユーザの情報を得るか、情報ゼロでも何とかするか。

前者としては、ユーザの情報を入会時に教えてもらう(例えば、年齢や性別)、 他のところにある情報を入手させてもらう(例えば、SNS アカウントと連携してもらう)、 などが考えられる。実際、我々は今のところ、コールドスタート問題を解決するためだけに、 SNS アカウントからの情報を使っている。よって、もしユーザが SNS 連携をしてくれないと、 情報ゼロでスタートする。 我々は "usaggr" という iPhone アプリも提供しているので、 そこから情報をとるという手もなくはなくて、 実際、usaggr にも推薦エンジンが組込まれているし、 ユーザの嗜好情報を全てのサーヴィスの中心におくのは弊社のヴィジョンである。 とは言え、ユーザの利便性がはっきりしない限り、 ユーザのものである情報を使うことには慎重でありたいので、 今のところ実現する予定はない。

後者の方法としては、人気商品をおすすめするのが普通だろう。 初めてのお客で、どんな好みか分からないのだから、とりあえずは「この商品が良く出てますね」 なんて感じで接客する。 しかし、記事配信は毎日新しく流れてくるニュースが対象なので、人気を調べている時間がない。 では、どうするか。 過去のデータから、ある程度人気があると分かっているニュース源を使う、とか、 全ての候補記事の質を上げる(「どの商品もおすすめです」作戦)、とか、 いくつかアイデアはあるが、どれも言うに易く行うのは難しい。

また、前者と後者の中間的な方法で、実際に "Mynd Daily" で採用しているのは、ユーザが自分で RSS を登録する機能。 RSS のことをちゃんと知っているユーザは少ないのと、 誰でも使えるようなレベルで実装するのが面倒なのが理由で、 ギーク向けの「隠し機能」気味にしているのだが、コールドスタート対策でもある。 自分で RSS を登録してくれれば、 推薦の手がかりがない状態でも、 その RSS から、つまり、ユーザの興味の範囲から選ぶことができるからだ。

2013/02/20

いかに記事を推薦するか、その1

実は二週間くらい前から、こっそり 新しいサーヴィス(Mynd Daily)を公開、試験運用している。 サーヴィスの内容は「毎朝あなたへのおすすめの記事を選んでメイルでお届けする」もので、 これ自体は珍しいものでも、革新的なものでもない。 例えば、ニュースリーダにおすすめ機能のついたアプリケーションやサーヴィスが色々あるし、 良く似た先行サーヴィスで有名なものに、 "Gunosy"がある。 それでもあえて新たに公開するのは、 未来に予定されているもっと大きな枠組みの(内側の)一部分のテストだから、 という理由が一つ、 そしてもう一つの理由は、今日の文章の最後に告白してある。

さて、このような「ユーザにおすすめの記事」の推薦は、 どんな仕組みで行なわれているのか。 正直に言って、標準的な方法があるのかどうか、私は知らない。 ただ、我々がどうしているかは知っているので、 ここで明かせる範囲で解説したい。 "Gunosy" のようにアルゴリズムをキー・テクノロジにしているところでは、 「アルゴリズムは秘密」ということが多いようだが、 あえて、説明してしまう。 そして明日以降は、その周辺の問題について議論したい。

私がこのアルゴリズムの原型を考えたのは、 一年半くらい前で、自分用に "Life hacker"リーダを作ったことから始まる。 私は "Life hacker" を google リーダに登録して読んでいたのだが、 私の英語力では毎日、全ての記事を読み終えられない。 そこで、私が読みたいと思うだろうものを予測して、好むだろう順番に並び変えるリーダを作ったのである。 (ちなみに、unix 上のコマンドラインツールで、vi 風のキー操作だった)。 当時の私は、「推薦」や「機械学習」について、ほとんど何も知らなかった。 しかし、文献調査が好きではないので、 以下のような発想に基き、スクラッチからアルゴリズムをでっちあげたのである。

まず、私はある記事を目にしたとき、読む読まないをどう判定しているのか、モデル化する。 おそらく、例えば、私は文章の中に「猫」という語があればとりあえず読んでみよう、 と思うのかも知れない。 よって、記事の特徴量として、その記事に含まれる語とその「重み」の情報をとる。 例えば、ある記事には「猫」要素が「0.4」くらいある、など。 一方で、私の好みの特徴量も、語とその語の「重み」の情報とする。 例えば、私は「猫」要素に 0.8 くらい反応するが、「犬」要素には -0.5 くらい反応する (プラスは私にとって好ましく、マイナスは好ましくない)。 そして、私がある記事を目にしたとき、どれくらいその記事を好むかは、 この二つの量の線形な計算(例えば、対応する語毎に重みをかけ算して足し合わせる)の答の大きさで決まるとしよう。 この演算が線形でいいのか、という疑問はもっともだが、線形代数は便利なので、 とりあえずこれでやってみる。駄目なら、どこかの空間に「持ち上げ」て、 演算が線形になるように変形することができるだろう。 ちなみに、弊社内ではこの演算を「テイスティング」と呼んでいる。ちょっと格好良い。

モデル化はこれでよいとして、次の問題はどうやって、 新しい記事に対する好みを予測するか。 もし、私の好みを表す(私の心の中にある)特徴量が分かっていれば、 それを新しい記事の特徴量に「テイスティング」すればよいが、 私の心の中は覗けないので、不明である。 しかし、過去に私が好んだ記事、好まなかった記事のテイスティングの値は分かっている(と、する)。 だから、これらを方程式として、私の心の特徴量を解けば良い。 ここまでは、珈琲を一杯飲んでいるくらいの間に考えたのだが、すぐに問題に気付いた。

それは、方程式の数が全く足りない、ということである。 私の心の特徴量には少なくとも数千語以上は登録されているだろう。 つまり、その重みを求めるべき変数が数千個以上ある。 これを求めるには方程式が同じ数くらい必要なはずだが、 ユーザはいつかこのサーヴィスが自分の好みを理解してくれるまで、 つまり十分な数の方程式が貯まるまで、 ランダムな記事をクリックしながら(実際、この一つ一つがテイスティング)、 一年も二年も待ってはくれない。 せいぜい一週間、いや、三日である程度の答が出なければ。 そう思っていたところ、 たまたま半正定値計画法の研究会に参加して、 「圧縮センシング」というアイデアを知った。

この教えによれば、この方程式系を解くのではなく、 この方程式系を制約条件だと思って、その条件を満たす中で、ある意味で一番「小さい」 ものを探す。すなわち、最適化問題に翻訳するのである。 もちろん、一番「小さい」ものが真の解であるとは限らない。 しかし、こういう節約的なものはきっと「良い」解に違いない。 実際、人間の脳もそのような節約性を持っているのかも知れない。 ただし、最適化問題を解くことはルーチンではあるものの、 計算量が大きいし、設定と誤差の処理が難しい。 そこで、私は簡単に計算できる方法で発見法的にある種の近似解を作ることにした。 これが最初のバージョンのアルゴリズムである。

ちなみに、このアルゴリズムで私の最初の目的、つまり "Life hacker reader" 作りは完全に果たされた。 「僕って天才かなあ」と思っていたくらいで、 当時は全く気付いていなかったのだが、これは「問題が易しかったから」に過ぎない。 実際、一般的なサーヴィスとして、記事推薦の仕組みを作ることは、全く易しくない。 ここに、曖昧にとは言え、アルゴリズムを公開したのは、 これを知ったところでどうもできない、ということを、今の私ははっきりと知っているからである。

ある意味、推薦サーヴィスとは一種の手品、マジックのようなものだ。 アルゴリズムはそれを組み立てる一つの「トリック」あるいは「技法(マヌーヴァ)」 であるに過ぎない。 マジックをマジックたらしめるものは、ショー全体の絶妙のバランス、 正確なチューニング、そして、人間そのものの深い理解に基く演出である。 そのためには、多くのユーザの大量の情報を得て学ぶ必要がある。 それが、我々がこのサーヴィスを、「二番煎じ」であると知っていながら、 あえて、公開する主旨なのである。

明日からは、 "Mynd Daily"を実例に、記事推薦をめぐる色々な問題を議論してみたい。 もしよろしければ、あなたもユーザ登録をして、おつきあいくださいませ。

2013/02/19

最適化

今日も最適化の研究会に出席。
最適化と言っても色々なものがあるのだなあ…と感心。それから「ビザンチン故障」という言葉を初めて知った。

2013/02/18

博多

早起きして羽田へ。博多に移動。九州大学にて最適化問題の研究会に参加。

移動中の読書は「ヨオロッパの世紀末」(吉田健一著/岩波文庫)、「『そして誰もいなくなった』殺人事件」(ジャックマール&セネカル著/矢野浩三郎訳/集英社文庫)。

2013/02/17

料理は趣味じゃない

朝風呂で 「ネロ・ウルフ対FBI」(R.スタウト著/高見浩訳/光文社文庫) の続き。いい休日だ。 昼食に鰤を塩焼にし、蕪の糠漬、ポテトサラダ、豚汁をつける。 二時間ほど昼寝してから、 午後は惣菜の作り置き。 くず野菜でスープストックをとり、 鰤の残りをあら煮にし、鶏もも肉はたれに漬けてから山椒をふって網焼きにする。

私は、お弁当も込めて、朝、昼、晩と三食を自分で作っているので、 料理が趣味なのだろうと思われることもあるのだが、 全くの誤解だ。作りたくて作っているわけではない。 誰かが作ってくれるならば、ぜひそうしていただきたいし、当然、ありがたくいただく。 つまり、料理人を雇えるものなら雇いたい。

二度目のお風呂に入ってから、夕食の支度。 鶏の水炊き。いただきものの檸檬で作ったポン酢にて。 飲用の酒を切らせたので、料理用に使っている純米酒を冷やで五勺ほど。 あとは雑炊。 卵を落として、山椒と、ポテトサラダの最後の残りを添える。 私の持論、「世の中で一番美味しいものは鍋のあとの雑炊」説を確認。

食後に、いただきものの駄菓子「辛いか天」を御茶請けにしながら、読書。 不幸にして私は子供時代に駄菓子文化に触れることがなかったのだが、 大人が食べても悪いものではないね。風情がある。 「ネロ・ウルフ対FBI」、読了。 面白かったあ。「料理長が多過ぎる」や「腰抜け連盟」を傑作に挙げる人が多いが、 これも派手でいい。今日も良い日だった。

2013/02/16

古風な味わい

朝はデリバティブ部会の自主セミナ。 補題の証明の理解につまって、時間延長するも宿題。 いつものセミナ後のランチは蕎麦屋にて。 鶏山葵、卵焼き、鴨南蛮。かもなんばん美味しい。あったまるなあ。 そしてビールがうまい。冷たい北風が吹き荒ぶ中を帰宅。

帰宅して即、お風呂に入る。 湯船の読書は 「ネロ・ウルフ対FBI」(R.スタウト著/高見浩訳/光文社文庫)。 スタウトのマニアを自称する故・中島梓(栗本薫)が解説を書いている。 彼女が他のところで書いていたエッセイによれば、 スタウトはさっと読んだのでは良さが分からなくて、 暗記するほど読み込むと、ウルフとアーチーのやりとりなどに、 「たまらない古風な味わいがある」のだそうだ。 いや、そんなこと言わずとも、ストレートに面白いと思うのだが。 おそらく、私の趣味が古風、あるいは、懐古趣味なのだろう。 古き良き時代、みんなが粋でお洒落だったミステリとでもいいましょうか。

こう寒くちゃ鍋しかないな、と思い、 今日二度目のお風呂に入ったあと、夕食はピェンロー。

2013/02/15

密やかなる楽しみ

いつものように出勤して、お仕事。 昼頃から雨が降り始めたので、昼休みの散歩はなし。 午後も同じ調子で過して、早めに退社。 税務署に確定申告書を提出に行く。 雪になるかも知れないとの予報だったが、 都心では霙にもならない感じ。

帰宅して、お風呂に入ってから夕食の支度。 駄菓子屋に売ってそうな「いかの姿あげ」一袋をもらったので、 日清のソース焼きそばに使ってみた。お供にビール。 実は朝からこれを楽しみにしていたのだ。 いやあ、うまいね、どうも。 こんなものを食べて感激していることは、 知り合いの食通やグルメたちには秘密にしておかねば。 と、 辺りに知り合いがいないかチェックしてからマクドナルドに入るスペンサー探偵のように思う。

2013/02/14

博士号クイズ

某 SNS に流れてきた自虐的クイズ。 以下の四つのうち、仲間外れはどれでしょう。 (A) 数理生物学の博士号、 (B) 数学の博士号、 (C) 統計学の博士号、 (D) ラージサイズのペパロニ・ピザ。

答は (B)。他の三つは家族 4 人を食べさせられる。 ハハハハハ、うまいこと言うね、確かにね、と思いつつ、 独り、「金ちゃんラーメン」をすする夜。

2013/02/13

文明

なんだか早起きしてしまった。 水曜日はお弁当作りも休みなので、余裕のある朝。 出勤してお仕事。水曜日は常にやや不調。

昼食は近所の洋食屋にて。 「ヨオロッパの世紀末」(吉田健一著/岩波文庫) の、ギボンが「衰亡史」を書き終わったときの話のあたりを読み返す。 「自分がしたいことをして、 それをするのが息をするのと同じく確かなことであるのでそれを生活と区別する必要がなくなり、 そういうことをするのも生活の一面だったところに何かが十八世紀のヨオロッパで完成したということが窺われる」か……。 吉田健一節であるなあ、そして、この直前のギボンからの翻訳もいい文章であるなあ、と思い、その勢いで 「ギボン自叙伝 ― わが生涯と著作との思ひ出」(E.ギボン著/村上至孝訳/岩波文庫) を最寄りの本屋で買ってしまう。 1943 年初版から改められていないため旧かな漢字なのが、味わい深い。

午後もやや不調気味に働いて、夕方退社。 帰宅して、お風呂に入って夕食の支度。 作り置きの惣菜で晩酌のあと、 メインは豚肉とキャベツのタイ風炒めものかけ御飯。

2013/02/12

ギボン

寝台で「古楽の楽しみ」を聞いているうちに、また二度寝してしまい、寝坊。 いつものように朝食とお弁当を作り、即出勤。 連休明けで倦怠気味。夕方退社して、夕食のメインは出来合いの身欠き鰊の甘露煮で鰊蕎麦。

ちょっと悩んだのだが、 岩波文庫版の「ローマ帝国衰亡史」(E.ギボン著/村山勇三訳/岩波文庫)、全十巻を古書店に注文。 かつて、ちくま学芸文庫版を図書館で借りて、 (何とか)読み通したものの、当時はピンと来なかった。 今度はどうだろう。

2013/02/11

優雅な生き方

今日の読書は、 「ヨオロッパの世紀末」(吉田健一著/岩波文庫) など。 吉田健一にとって「成熟した文明」とは、 「優雅ということと人の気持を労るのを礼節と心得ることと快楽の充分に計算された追求」 といったものだったようで、 この文庫本の後書きでは、辻邦生がさらに短く「優雅な生き方を許す社会」、 と要約しているのだが、そういう成熟は今の日本の、いや、 世界のどこにあるのだろうかなあ、と。 そういう成熟は十八世紀のヨオロッパにあったのだが、 十九世紀に堕落し、日本はその堕落したヨオロッパを模倣したのである、 という流れが著者の歴史感のようであるものの、 それはたまさかの一つの切り口であって、 本質的には、単に成熟ということがひたすらに稀なことであるだけなのではないか、 という気もする。

2013/02/10

日曜日

今日も何の予定もないので、冬篭り。 休日用の簡易版の朝食のあと、朝風呂に入って、 湯船で 「十蘭ビブリオマーヌ」(久生十蘭著/河出文庫) より短編「レカミエー夫人 ― 或は、女の職業」 を読む。 十蘭はこういう洒脱なのが好きだな。 1940 年頃の日本人がこんなにお洒落だったとは思えないのだが、 まあ、そこは作り話だから、ということなのかも知れないし、 実際、今の我々が想像する以上に当時はお洒落で、 生活の美しさの意味で我々が退歩しているのかも知れない。

昼食は、鰤のあらの塩焼、大根と人参の皮の膾、 蕪の糠漬、酢大豆玉葱、焼き海苔、 切干し大根の味噌汁、御飯。 食後に少し横になろうかなと思って、 気付いたら、また二時間以上寝てしまった。 午後も蜜柑を食べながら読書、 みたいな感じで、だらだらと至福の時間を過し、 そうこうしているうちに夕方。

夕食の支度。 実家の畑(か庭)産の水菜を使って常夜鍋。 熱燗を五勺ほどつける。 作りおきの惣菜あれこれで、熱燗の残りを飲む。 そのあと、常夜鍋のだしを使って、雑炊。 冷たい惣菜として、 しらすポン酢と、 実家の畑産のじゃが芋で作ったポテトサラダ。

今日もいい休日だったなあ。日々かくありたい。

2013/02/09

土曜日

珈琲、ヨーグルト、果物の簡単な朝食のあと、 洗濯を済ませてのち、朝風呂。 湯船の読書は 「コンパス・ローズ」(A.K.ル=グウィン著/越智道雄訳/ちくま文庫)。

昼食は、実家からもらったロースハムと知り合いからいただいた大蒜とオリーヴのオイル漬けを使って、 カルボナーラを作る。 これまた正月にいただいたシャンパーニュの残りで香りづけしたので、 なかなか高級感のあるカルボナーラになった。 他に適当なサラダ。偽ビールを一杯だけ。 昼から飲むビールはうまい。食後にグレープフルーツのデザート。

午後は、ご近所からいただいた「牛乳かりんと」とお茶を用意し、 猫と並んで「コンパス・ローズ」など、読書三昧。

そうこうしている内に夕方。 再びお風呂に入ってから、夕食の支度。 鰤のあら煮、キャベツとロースハムの炒めもの、蕪の糠漬で、冷や酒を五勺ほど。 餅を二つ焼いて磯部焼き風に。一つはたらこ、一つはしらすポン酢で食す。

2013/02/08

恋バナ

ポアンカレ式を試しているので、 夕方のかなり早い時間に退社。 金曜の夜は夕食の支度を休むために外食。 まだ外も明るい時間、客も少なく、気怠いムードの漂う、中華料理屋にて。

近くのテーブルで、ちょっと派手な女性三人がビールを飲みながら話している。 どうやら一人が同僚二人に恋愛相談をしているようだ。 問題の相手は「支配人」らしい。 支配人は本気なのか、遊びなのか、ということがテーマと思われた。 しばらく聞き流していたのだが、 「でも本気だったら、お金貸してくれ、なんて言わないわよ」 と言う言葉が聞こえて来て、思わず散り蓮華を持つ手が止まった。 どうやら、相当の大金を支配人に貸してしまったらしい。 それは本気とか遊びとかいう問題じゃないだろう、 と心の中でツッコミを入れている私を他所に、 本気だからこそお金を借りるようなこともできるのだ、 と言った複雑な心理学へと議論が深まって行く。 しかし、「奥さんのこともあるから……」と話が急展開し、 どうやら支配人は既婚者なのである。 しかも、奥さんは結構偉い人らしく、頭が上がらないとか。 どんどん話は面白くなってきたのだが、残念ながらもう、 私の方が食べ終わってしまった。 名残惜しかったが、やむなく私が席を立った頃、 相談者の友人たち二人が 「やっぱり恋バナは癒されるぅ」 と声を合わせて言っていた。本当だな。

夜の湯船の読書は 「昭和史(上) 1926-45」(中村隆英訳/東洋経済新報社)。 第二次近衛内閣、北部仏印進駐、松岡外交のあたり。 風呂上がりに偽ビールを一本だけ。

2013/02/07

センター試験の平均点

朝、オフィスについたら、メンバがほぼ全員そろっていて、ぎょっとした。 いつも一番乗りか、 某 P 社の G 社長だけが先に来ているかのどちらかだったので。

昼休憩に新刊書店で 「コンパス・ローズ」(A.K.ル=グウィン著/越智道雄訳/ちくま文庫) を買った。 同僚と老眼鏡について語りあう。悲しい。

今年のセンター試験の結果、 全 29 科目のうち 18 科目で平均点が去年より下がった、 とニュースになっていた。しかも、 その「理由」について予備校の分析まで出ている。 数学と理科で問題数が多かったり、グラフや図形が多くて、難しかったのでは、とか。

でも、これは 29 回コイン投げをして、 表か裏が 18 回出たに過ぎないのかも知れない。実際、 公平なコインを 29 回投げるとき表が出る回数の平均が 14.5 回、 標準偏差が約 2.7 であることを思うと、 平均から 3.5 回(標準偏差の約 1.3 倍)ずれたことはニュースだろうか?

2013/02/06

雪の警戒

朝、起きたときは雨だったのだが、 朝食の支度をしている間に雪に変わった。 とは言え、まだ全く積もっていないし、 出勤できそうだなと思っていると、今日は自宅勤務すべしとの連絡。 雪の中を歩いて行くのは辛いし、 外出嫌いの私はこれ幸いと自宅警備を決めこむ。

どうやら、結局のところ東京の雪は大した被害ではなく、 むしろ雪を警戒し過ぎて被害が出たくらいだった模様。 羹にこりて膾を吹く、とつい言いたくなるところだが、 予防とはそういうものだろう。

2013/02/05

理想の労働時間

偉大な数学者にして科学者ポアンカレの仕事時間は、 午前に 2 時間、遅い午後に 2 時間の合計 4 時間だった、 という記事を某 blog で読んだ。 認知科学の観点からすれば、 高度に知的な仕事を一日に数時間以上することは不可能なのだそうだ。 よって、この 4 時間という量はほぼ限界であり、 かつ、間に休憩を入れていくつかに小分けすることも望ましい。 すなわち、ポアンカレの働き方は最適解の一つであろう、という文脈。 どこまで本当なのか分からない話だが、興味深い。

とは言え、 私が明日から朝二時間、お弁当を食べて神保町を散歩したのち、 午後二時間働いて即退社することが、許されるかどうかは微妙なところであろう。

帰宅して、お風呂に入ってから夕食の支度。 アボカドとブロッコリで適当サラダ。 アボカドは何故に醤油や山葵など日本の味にあうのだろう……。 のち、カレーライス。with キャベツの千切り、大根の漬物。

予報によれば、明日は大雪だそうだ。 出勤できるかなあ。 出社してポアンカレ流仕事術を試したいのだが(笑)

2013/02/04

稲荷鮨

また今日は冬に戻ったようだ。 暖かかったり寒かったりで老体にはこたえるのう、 と老猫に話しかけると、にゃーん、と答えるのを聞いて、出勤。 朝食にも少し食べたが、今日のお弁当のメインは、 実家から送ってもらった稲荷鮨だ。楽しみだなあ。

夕方にミーティングがあったので、少し遅く帰宅。 御飯を炊くのはやめて、晩酌。 作りおきの鰤大根の他、しらすに大根おろし、白菜と大根の漬物で、 熱燗を五勺ほど。 よく考えたら、どれも大根だった。冬は大根がうまいとは言え。 そののち、饂飩を茹でて、卵を割り入れ、浅葱を散らし、 生醤油をかけて食す。

2013/02/03

曜変天目

朝食をとって、二子玉川の静嘉堂文庫美術館へ。 N さんが曜変天目茶碗を観に行こうと言うので、おつきあい。 渋い趣味だなあ。骨董バーでも開くつもりだろうか。 岩崎さん家親子が財力に物を言わせて大名家から集めに集めた名品の数々を鑑賞。 そのあと神保町で飲茶をご一緒する。

帰宅して、家事をあれこれ。 夕方、実家から荷物が届く。 母の手製の海苔巻と稲荷鮨など。 妹からの贈り物として、 神戸の某菓子店から名物「うなぎの寝床」ではなくてカヌレのセット。 夕食を作る手間が省けた上に、今夜はデザート付きだ。

夕食は海苔巻と、作り置きの惣菜あれこれ、 蕪の葉の味噌汁。 食後にカヌレ。

2013/02/02

炒り卵丼

今日の東京は 20 度以上にまで気温が上がるらしい。 朝、自宅でちょっと私用があったので、 デリバ部会の自主ゼミは欠席。 昼食は鰊蕎麦など。 食後少し横になったら、また二時間以上も昼寝してしまった。

昼寝のあと外出。春のような暖かさ。 図書館で借りていた本を返し、また本を借りる。 ついでにスーパーで食材を買って帰る。 相変わらず鮮魚が高い。

夕食の支度。 菠薐草のおひたしと、キャベツと手羽肉の炒めもので、冷やで酒を五勺ほど。 気分もしっとりしてきたところで、前回失敗した 「孫さんの炒り卵」 に再チャレンジして、炒り卵丼。 これは成功なんじゃないかな。蕪の葉と油揚げの味噌汁をつける。

2013/02/01

ボウ

父からネクタイを沢山もらったので、 今年からオフィスではネクタイを締めている。 もらったものは一通り使ったので、今日はボウにしてみた。

オフィスに見知らぬ外国人の女性が赤ん坊を連れてやって来た。 「この子のパパはどこですか?」みたいな話かと期待したのだが、 道に迷って建物を間違えただけだったみたい。

夕方退社して、近所の洋食屋で夕食。ビールを一杯だけ。