MoTLab -Mobility Technologies Engineering Blog-MoTLab -Mobility Technologies Engineering Blog-

タクシーアプリGOでAIとGCPを駆使しリアルタイムにタクシー需要を予測!アーキテクチャ全貌公開 #mot_tech_talk

techtalk
February 09, 2022

2022年2月1日に「MoT TechTalk #10 タクシーアプリGOでAIとGCPを駆使しリアルタイムにタクシー需要を予測!アーキテクチャ全貌公開」(connpass)を開催しました。

本記事では当日の内容を簡単に紹介します。


当日のスライド

スライドはこちらです。記事の最後にアーカイブ動画も掲載しているので、そちらもぜひご覧ください!

MoT TechTalkとは?

MoT TechTalkは、Mobility Technologiesのエンジニアたちが、タクシーアプリGOをはじめとしたサービスやプロダクトを開発する中で得た技術的ナレッジを共有するイベントです。

10回目となる今回は「お客様探索ナビ」というプロダクトについて、技術的に面白い/工夫していることを紹介しました。

またこちらのツイートのスレッドで当日の様子や雰囲気を感じていただけると思います。

登壇者紹介

今回はこちらのメンバーが登壇しました。

タクシー需要予測プロダクト「お客様探索ナビ」とは?

「お客様探索ナビ」はタクシーアプリ「GO」などで蓄積した交通ビッグデータとAI技術を用いて、タクシーに乗りたいお客様がどこにいるのかを予測し、予測結果とさまざまな情報(他の車両の位置、交通規制、道路の通行にかかる時間、右左折の回数など)から走行ルートの生成を行い、タクシーの車内にある端末でナビゲーションを行うプロダクトです。

ここでは「お客様探索ナビ」が現在の形に至った経緯や、ユーザー体験上で特に気を付けていることなどを紹介しました。詳しくはぜひこちらもご覧ください。

PdMによるブログリレー@MoT「お客様探索ナビ」とはどういうプロダクトなのか

An image from Notion

最適ルートの作り方

次に「お客様探索ナビ」の技術的アーキテクチャの話をする前に、どのようにして最適ルートを計算しているのか、以下の基本的な考え方を紹介しました。

  1. 道路データをグラフモデル化
  2. さまざまなデータを各道路単位に生成(道路単位の統計値)
  3. 道路価値の算出&ルート生成
  4. リアルタイム&他車両考慮
An image from Notion

最適ルートを作るためのアーキテクチャ

前述の通り、最適ルートを計算するためには、無数にある道路ひとつひとつに対して評価する必要があり、さらにそれを可能な限りリアルタイムに行う必要があります。

それをいかに実現しているのか「お客様探索ナビ」のアーキテクチャや工夫点について、3つの観点それぞれで採用技術に対する選定理由、強みと弱み、弱みに対してはどのような対策をとっているかなどを紹介しました。

  1. バッチ処理を高鮮度にする工夫
    • GKEによる営業エリアごとに分散処理
    • Cloud Composerでの複雑なジョブスケジューリングも簡単に
    • Cloud Functionによるより細かい起動制御
  2. オンライン処理処理を低遅延にする工夫
    • Redisでのホットスタンバイ
    • アルゴリズムに使う「地理面積」を小さくする
    • 実装レベルでの高速化
  3. 開発を効率化する工夫
    • 手軽なA/Bテスト
    • 新しいデータ・アルゴリズムを素早くリリース
An image from NotionAn image from NotionAn image from Notion

AIナビの信頼性を高めるポイント

「お客様探索ナビ」で信頼性を担保していくためにどのような工夫を行っているか、プロダクト、AIアルゴリズム、API・インフラの3つの観点に分類して紹介しました。

特にAIアルゴリズムに関しては、刻一刻と変化する複雑な道路状況を扱っていることによる難しさも合わせて紹介していますのでぜひご覧ください。

An image from Notion

アーカイブ動画

開催履歴・開催予定

MoT Online Tech Talk は不定期開催しています。過去の開催レポートは こちら にもありますので、ぜひご覧ください!

MoTの最新技術情報は公式Twitterアカウント @mot_techtalk で随時発信していきますので、ぜひフォローして続報をお待ちください!

We're Hiring!

MoT では多くの専門領域でエンジニアを大募集しています。興味のある方は 採用情報ページ まで!