ホーム > Event > Google日本語入力のイベントに行ってきた – コンセプト編

Google日本語入力のイベントに行ってきた – コンセプト編

google_ime_logo.png

先週の土曜日、Google 日本語入力 TechTalk 2010に参加してきました。

Google日本語入力を使ったこともインストールしたこともないのに、イベント情報を見た瞬間に参加することを決定。
面白半分で参加することに決めました。

しかし、このイベントは予想外に面白いものでした。
Google日本語入力プロジェクトの立ち上げや、そのコンセプト、さらにはコードリーディングまで。

残念ながら私は技術力も頭も足りないので、詳しく理解できなかった点がたくさんあります。
ですが、有益な情報は共有したいので、記事にまとめてみます。

長くなってしまうので、2部に分けます。
今回はコンセプト編!

Google日本語入力のイベント

このイベントの参加案内があったのは2010年9月17日。
場所は六本木のGoogle東京オフィス14:00-19:00のなかなか長丁場。
懇親会という名の”タダ飯付き“というイベントです。

実際に当日行ってみると、綺麗なホールに約100名以上のエンジニアが集まるという規模の大きさ。
そして、入り口にはなんとお酒があるというおもてなし。
さすがGoogle様、分かってらっしゃる。

オープニングトークで、以下の内容でセッションが行われることが発表されました。

  • Google 日本語入力ができるまで
    • Google日本語入力のコンセプトやプロジェクトの立ち上げについて。配られた冊子を見れば、ほとんどわかる。
  • Google 日本語入力の設計概要
    • Google日本語入力の設計について。既存のIMEと異なる点を取り上げる。
  • Mozc ソースコードレビュー
    • Mozcのソースコードを読む上ためのポイントを説明。ソースを晒しながら、改造するのに必要な点なども。
  • ライトニングトーク
    • IMEに限らず、”入力”というテーマでレベルの高いLTを参加者とGoogle社員が。

順を追って”Google日本語入力“が理解できるようです。
ワクワクしてきました。
(決して、お酒が入ったからではないですよ:P)

Google日本語入力ができるまで

Google日本語入力が出来るまで“は会場で配られたこの冊子を読むとわかります。

google_ime_book.JPG

中は漫画になっています。

google_ime_comic.JPG

わかりやすいので、皆さんに見てもらいたい。
どこかに公開していないのかな?

と思ったらありました。

これを読んでしまえば、この記事もいらn(ry

20%ルール

Google日本語入力は、皆さんお馴染みの”20%ルール“を使って立ち上げられたプロジェクトです。
20%ルールの簡単な説明と、それを使って立ち上げられたプロジェクトが紹介されます。
あの”Google App Engine“も20%ルールで作られたプロジェクトだと、このセッションで知りました。

続いて、このプロジェクトを立ち上げた開発者が紹介されます。

  • 工藤 拓さん
    • 言わずと知れたmecabの開発者。Googleではもしかして検索を担当しているそうです。
  • 小松 弘幸さん
    • 予測変換システム「PRIME」の開発者。工藤さんから声が掛かる前から、Google日本語入力のアイディアを温めていたそうです。

MeCabの開発者”工藤 拓“さんが開発に携わっていたんですね。
そして、Googleに居るというのもびっくり。
まったく予習していないのがバレバレですが…。

リリースまでのプロセス

リリースまでは以下のプロセスで開発を進めたそうです。

  1. ディスカッション
  2. 開発・テスト
  3. ドックフード
  4. 開発版リリース
  5. ベータ版リリース

どれもこれも興味深い話ばかりでした。
特に印象に残ったのは”ディスカッション“と”テスト“、それに”ドックフード“です。

ディスカッション

Google日本語入力をどんなものにするか“を20%ルールを使い、話し合ったそうです。
初めの段階でこういった話をするのは珍しい話じゃない、というか当たり前です。
走る前に考えましょう。

普通じゃないのがこの期間。
約半年“の間、ディスカッションだけに20%ルールの時間を使ったそうで。

その中身は、以下の内容。

  • 既存のIMEの成功/失敗事例
    • 既存のIMEの悪いところや良いところに関して話し合っていく。Google日本語入力のイメージを固める作業でもあったようです。
  • Google日本語入力のコンセプト
    • “どんなIMEを作りたいか”を事例を踏まえ、コンセプトとして固めます。Google日本語入力のコンセプトは”As you think of・空気のように”です。

こういったコンセプトを詰めるのに半年も使うんですね。

6ヶ月 x 4週 x 8時間 = 192時間

約200時間を費やして決めたコンセプト。
優秀なプログラマはコーディングする時間よりも、考える時間の方が長い。
その最たる例な気もします。

テスト

テストで興味深かったのは、以下の3点です。

  • ユニットテスト
  • 変換率と当たり前の変換テスト
  • UIのテスト

Google日本語入力ではしっかりユニットテストが行われています。
これは当たり前なので、特筆すべき点はありません。

面白かったのは”変換率と当たり前の変換テスト“です。
日本語変換という性質上、変換のために”学習型のアルゴリズム“を使います。
この変換はこのアルゴリズムを使って機械的に変換するため、その部分のテストが難しいです。
そこでGoogle日本語入力では、”変換率“のテストの他に、”当たり前の変換テスト“を行っているそうです。

これは何か。
ユーザビリティのテストに当たるもので、”ユーザが欲しい変換“が出来るかどうかをテストするものです。
例えば、”あいます”と入れれば”アイマス”ではなく”会います”が出てくる。
“どこいく”といれれば”ドコイク”ではなく”どこ行く”が出てくる。
こういった具合です。

このような辞書をテスト用に作成し、このテストが全て通らないと出荷しないそうです
テストとその自動化に徹底していますね。

このセッションの最後に、

インターフェースなどのテストの難しい部分はどうしているか?

という質問がありました。
これに対する答えは、

我々もそのベストプラクティスを探している。しかし、できるだけユニットテストに落としこむことが重要。

というものでした。
Googleでもやはり、テストの王道に従い、ユニットテストを積み重ねることで品質を保っているんですね。
どれだけパーツを独立した設計にできるか。
それが重要ですね。

ドックフード

Google日本語入力のイベントに参加するまで、この言葉も知りませんでした。

自分で自分の作ったドックフードを食ってから出せ。
最低限、食べられるモノが出来てから出せ“といった意味が込められています。

Googleでもそれに乗っ取って開発とテストを進めています。
毎日ビルドし、それを社内版として公開しているそうです。
そうして、社内の人間に使ってもらい、フィードバックを得る。

これって基本だと思いますが、とても大事なことですよね。
これを怠った会社はもはやソフトウェア会社じゃないような。
自分で作ったモノが使いにくいのに、誰が使ってくれるんでしょうか。

自分への戒めとしたいですね。

今回の記事はこんなところで。
次回は”Google日本語入力の設計“に関してまとめます。
細かいところまでは理解できなかったので、表面だけさらっと…(苦笑)

他の参加者の方のまとめもどうぞ!

ちょっと一言

やはり知らないことを学ぶのは楽しいです。
C++を勉強するときはGoogle日本語入力のソースコードを読もうかな!

  • http://topsy.com/1-byte.jp/2010/10/26/google_ime_tech_talk_2010/?utm_source=pingback&utm_campaign=L2 Tweets that mention Google日本語入力のイベントに行ってきた – コンセプト編 — Topsy.com

    [...] This post was mentioned on Twitter by tfmagician(FUJIWARA), tfmagician(FUJIWARA). tfmagician(FUJIWARA) said: ブログ更新しました!: Google日本語入力のイベントに行ってきた – コンセプト編 http://1-byte.jp/2010/10/26/goog [...]

blog comments powered by Disqus

ホーム > Event > Google日本語入力のイベントに行ってきた – コンセプト編

スポンサードリンク
書いている人
つぶやき
RSS 気になるニュース
過去の記事

ページの上部に戻る