Google Marketingにおけるコンピューターサイエンスと統計学(内田誠・グーグル)

第87回知識ベースシステム研究会は,65名の方々に参加して頂き,議論をおこなった.この場を借りて,発表者と参加者に感謝したい.
昨年のように仕事に追われて忘れないように(爆),早めに内田誠氏の招待講演「Google Marketingにおけるコンピューターサイエンスと統計学」についてざっと報告しておきたい.また,Twitterのつぶやきも#sigkbsというハッシュタグで検索できる.資料は非公開であるが,聞いたことを他の伝えるのはかまわないそうなので,簡単に報告する.(追記:なお内田氏の指摘を受けて,一部修正した)
内田氏は,GoogleのQuantitative Marketingと呼ばれるデータ分析部門に属している.20名程度のチーム(数学・統計学などの分野の学位取得者ばかり)の中で,唯一のアジアパシフィック担当(日本にいるが,本社の部門直属)である.今回は彼らがGoogleのインフラを使ってどのような分析をしているのかを紹介して頂いた.
Google Marketingにおける7原則を紹介した(今回初公開)が,特に重要な二つの点は「仮説よりもデータを重視すること(Data. Not hype.)」,「結果は常に検証できなければいけないこと(Results must be trackable.)」らしい.Quantitative Marketingという部門は,既存のサービスの有効性分析だけでなく,新しいサービスのコンセプトを立ち上げる時点から関わることがあるらしい.
彼らの仕事は,大きく分けて次の4つの段階で構成される.

  1. ログデータからのデータの抽出.
  2. データの加工
  3. データの分析
  4. データの可視化

データ抽出段階では,Sawzallというスクリプト言語(論文は公開されているが,Google以外では実装・使われていない)を用いるが,これは以下の特徴から,エラー処理・並列計算をコード上で特に意識する必要もないので記述コード量は非常に短く,スクリプト言語でも大規模データを高速に処理できる.ただし,この段階では総和や出現頻度の計算,上位n件の抽出など,単純な処理に限定されている.

  • ログに記録されている構造化データはProtocol Bufferを使ってシリアライズ化・バイナリ化されており,Sawzallでは既存定義を読み込むだけで簡単に構造化データを参照できる.
  • ログデータ中に存在することが多い異常データは自動的に無視されるので,コーディングで気を使う必要はない.
  • GFS上では大規模データでも最初から小さいサイズのチャンクに分割されており,計算機クラスタ上で大規模並列処理がしやすい.
  • IPアドレスから緯度・軽度への変換など,Googleで必要な機能の多くが基本関数として提供されている.クラスタ上の分散並列計算も内部的に処理される.

データの加工段階では,主にPythonというスクリプト言語で,BigtableGoogle独自のデータベース)やMy SQL(独自改良版?)を用いる.
データ分析段階では,Rを用いることが多い.この段階では計算機クラスタと独立に実行するので,前段階まででRで扱える規模のデータにしておく必要がある.分析には,例えば次のようなモデルを用いているらしい.

  • Time-series (seasonal ARIMA) model
  • Linear mixed efffects (LME) model
  • Random forest model
  • DnD, propensity scoring

可視化段階では,Google Visualization APIを用いることが多い(Excelなどの既存のツールを使うこともあるらしい).表現力が多彩で簡単に使うことができる.
実際の事例としては,世界のどこでGoogleで検索しているかの可視化や,サービス利用の分析など,2例ほどが紹介された.
なお,各種ツールの選定の基本方針は,オープンソースや自社ツールに限らず,「社内に開発者がいる」ということのようだ.ツールの開発者がいれさえすれば,プロプライエタリなツールを使わなくても,自分たちの要求に合わせたり,問題を解決できる.これは当たり前のようでありながら,高いレベルで実現するのは難しいと言える.また,スクリプト言語を多用しているが,これはデータ分析が簡単にできるかららしい.
以上の話からわかるように,Quantitative Marketingでは,数学・統計と計算機科学の両方の知識が必要となるが,実際にはそのような人間は少ないようである.彼は,周囲には統計学の博士が多いのに,日本では統計という学問が軽く見られているのではないか?と感じているらしい.
興味深い点として,Quantitative Marketingでは学会発表が強く推奨されているようで,JSM(Joint Statistical Meetings) 2010などで発表しているようだ.
今回の招待講演は,Googleの独自技術の特徴を理解できていないと理解が難しかったかもしれないが,後からゆっくり考えて頂きたい.また,マーケティングとエンジニアリングの両方に発表許可を得るのに時間が掛かり,当初予定していた紹介事例の多くが発表不可となってしまって事例数が減った状態で講演することになってしまったそうだが,今後また同様の講演依頼があれば,また別の問題のない事例も紹介して頂けると思う.
なお,私は今年度でこの研究会の幹事を終えるが,来年度は新しい主査の東工大の村田剛志准教授が中心になるので,開催時期は違うかもしれないが,同様にWeb系の特集が組まれると思う.来年度以降も,知識ベースシステム研究会をよろしくお願いしたい.