2022年2月1日に「MoT TechTalk #10 タクシーアプリGOでAIとGCPを駆使しリアルタイムにタクシー需要を予測!アーキテクチャ全貌公開」(connpass)を開催しました。
本記事では当日の内容を簡単に紹介します。
当日のスライド
スライドはこちらです。記事の最後にアーカイブ動画も掲載しているので、そちらもぜひご覧ください!
MoT TechTalkとは?
MoT TechTalkは、Mobility Technologiesのエンジニアたちが、タクシーアプリGOをはじめとしたサービスやプロダクトを開発する中で得た技術的ナレッジを共有するイベントです。
10回目となる今回は「お客様探索ナビ」というプロダクトについて、技術的に面白い/工夫していることを紹介しました。
またこちらのツイートのスレッドで当日の様子や雰囲気を感じていただけると思います。
MoT TechTalk #10「タクシーアプリGOでAIとGCPを駆使しリアルタイムにタクシー需要を予測!アーキテクチャ全貌公開」
— GO Inc. dev | タクシーアプリ『GO』 (@goinc_techtalk) February 1, 2022
はじまります!
YouTube Live: https://t.co/TAyQflykES
Connpass: https://t.co/vql09wMJ2e#mot_tech_talk
登壇者紹介
今回はこちらのメンバーが登壇しました。
- 宮本 理恵子
- 橘 ゆりあ(@z_reactor)
- 森下 篤(@74th)
- masaki gota(@go_go_pdm)
タクシー需要予測プロダクト「お客様探索ナビ」とは?
「お客様探索ナビ」はタクシーアプリ「GO」などで蓄積した交通ビッグデータとAI技術を用いて、タクシーに乗りたいお客様がどこにいるのかを予測し、予測結果とさまざまな情報(他の車両の位置、交通規制、道路の通行にかかる時間、右左折の回数など)から走行ルートの生成を行い、タクシーの車内にある端末でナビゲーションを行うプロダクトです。
ここでは「お客様探索ナビ」が現在の形に至った経緯や、ユーザー体験上で特に気を付けていることなどを紹介しました。詳しくはぜひこちらもご覧ください。
PdMによるブログリレー@MoT「お客様探索ナビ」とはどういうプロダクトなのか

最適ルートの作り方
次に「お客様探索ナビ」の技術的アーキテクチャの話をする前に、どのようにして最適ルートを計算しているのか、以下の基本的な考え方を紹介しました。
- 道路データをグラフモデル化
- さまざまなデータを各道路単位に生成(道路単位の統計値)
- 道路価値の算出&ルート生成
- リアルタイム&他車両考慮

最適ルートを作るためのアーキテクチャ
前述の通り、最適ルートを計算するためには、無数にある道路ひとつひとつに対して評価する必要があり、さらにそれを可能な限りリアルタイムに行う必要があります。
それをいかに実現しているのか「お客様探索ナビ」のアーキテクチャや工夫点について、3つの観点それぞれで採用技術に対する選定理由、強みと弱み、弱みに対してはどのような対策をとっているかなどを紹介しました。
- バッチ処理を高鮮度にする工夫
- GKEによる営業エリアごとに分散処理
- Cloud Composerでの複雑なジョブスケジューリングも簡単に
- Cloud Functionによるより細かい起動制御
- オンライン処理処理を低遅延にする工夫
- Redisでのホットスタンバイ
- アルゴリズムに使う「地理面積」を小さくする
- 実装レベルでの高速化
- 開発を効率化する工夫
- 手軽なA/Bテスト
- 新しいデータ・アルゴリズムを素早くリリース



AIナビの信頼性を高めるポイント
「お客様探索ナビ」で信頼性を担保していくためにどのような工夫を行っているか、プロダクト、AIアルゴリズム、API・インフラの3つの観点に分類して紹介しました。
特にAIアルゴリズムに関しては、刻一刻と変化する複雑な道路状況を扱っていることによる難しさも合わせて紹介していますのでぜひご覧ください。

アーカイブ動画
開催履歴・開催予定
MoT Online Tech Talk は不定期開催しています。過去の開催レポートは こちら にもありますので、ぜひご覧ください!
- Vol.1 No.1*タクシーアプリを支えるバックエンド (2021/2/5)
- Vol.2 車載Androidシステムの技術と開発チーム (2021/3/9)
- Vol.3 タクシー配車ならではの技術が盛りだくさん!iOSアプリの開発現場 (2021/4/8)
- Vol.4 Androidエンジニア必見!タクシーアプリGOのUXを高める工夫 (2021/5/27)
- Vol.5 Flutterで作るタクシーデリバリーアプリ「GO Dine」(2021/7/7)
- Vol.6 タクシーデリバリーアプリ「GO Dine」を支えるバックエンド (2021/8/25)
- Vol.7 技術書典頒布のタクシーアプリ『GO』アーキテクチャ図録を一挙解説 (2021/10/14)
- Vol.8 IoT/クラウドでRust言語をフル活用!AIドラレコの裏側を紹介 (2021/11/8)
- Vol.9 タクシーアプリのビジネスデータ分析 (2021/12/13)
- Vol.10 タクシーアプリGOでAIとGCPを駆使しリアルタイムにタクシー需要を予測!アーキテクチャ全貌公開 (2022/2/1)