データの民主化を目指して

高口太朗氏:LINEのData Science室のチームでマネージャーを担当している高口と申します。本日は20分ほどお時間をいただきまして、我々Data Science室のデータサイエンティストの業務について紹介できればと思っています。

さっそくなのですが、まずLINEの中には、LINE STYLEと呼ばれる行動規範がありまして、その中に「Always Data-driven」という標語があります。そこに代表されるように、LINEという会社は、全体としてデータをすごく重要視しています。

各サービスのユーザーの利用動向やさまざまなデータを利用することによって、事業であったり、サービスだったりをより良くしていくことを非常に重要視しています。

その中で我々データサイエンティストが求められる役割や成果は、非常に大きいということが、前提としてあります。

まずはそのAlways Data-drivenを中心となって実現していくデータの組織について、説明したいと思います。

LINEのデータ組織は、広くデータの民主化を目指しています。データの民主化というのは、こちらの図にあるように、LINEとして提供している各サービスからデータが集まってきて、それらを「Information Universe(IU)」と呼んでいるデータ基盤に集めます。

そこに対して、我々のようなデータの専門職だけがデータを扱ってそれを活用していくわけではなくて、その適切な権限管理の下に、マーケターや、あるいはサービスの企画者のような、技術者ではないメンバーであってもデータを活用してサービスを良くしていける。そういうような環境や事例を構築していくのが、我々データ系の組織に求められている役割です。

その中で、データ系の組織を大きく分けると、2つのセンターに分かれます。1つはData Engineeringセンター、もう1つは我々データサイエンティストが所属するData Scienceセンターです。それらの中には個別に、Data Science室のような「室」という単位の組織があり、それぞれで役割を担っています。

簡単に紹介すると、Data Platform室は、名前のとおりデータのプラットフォーム、つまり基盤やクラスターを構築して、全社でデータを使えるような環境を提供しています。

Data Management室が、データを活用するためのルール作りや戦略を立案するところを担っています。Machine Learning室は、プロダクトやサービスに適用していくための機械学習アルゴリズムを実装することを主に担当しています。

最後に我々Data Science室が、サービスの意思決定を支援するためのデータ分析、データ活用を担っています。

このように、それぞれの組織がそれぞれの専門性を活かして、データを合言葉に相互に協力して、データ活用の最大化を目指している組織になっています。その中で、我々Data Science室の業務について、より詳しく紹介できればと思います。

Data Science室のミッション

まず、我々のData Science室のミッションからお話ししたいと思います。我々Data Science室にはミッションが2つあります。

1つ目は、データ分析によって我々が担当する各LINEサービスの競争力を最大化していくこと。もう1つは、一つひとつのサービスにとどまらず、LINEとして、会社全体としてのデータ活用レベルを向上させるというところです。

順番に説明すると、まず1番目の各サービスへの競争力の最大化というところでいけば、データを活用して、それぞれのサービスについて継続的に改善していく仕組みを作っていく、事例を構築していくというところ。

もう1つは、統計やデータ分析の素養がなければ解けないような、重要かつ難易度の高い課題を解決していくことが、我々に求められています。

後半の、全社のデータ活用レベルを向上させるというのは、我々が活用したデータの事例などを共有したり、あるいはツール作りに貢献することによって、直接的にデータの専門知識がないようなメンバーであっても、広くデータ活用できるような仕組みを作ることに貢献していくのが、我々のもう1つのミッション、役割です。

その中で、我々がデータサイエンティストとしてサポートしている領域は、以下の図に挙げられるような、大まかに分けて4つの領域です。

左からいくと、1つ目はファミリーサービス。LINEマンガであったり、あるいはLINE MUSICのように、LINEのアカウントを前提とするファミリーサービスについて、横断的に分析を提供するというのが1つ目です。

2つ目は、みなさんもよく使っているかと思うのですが、LINEアプリですね。LINEアプリに対する分析を提供するのが2つ目です。

3つ目は、LINE Payに代表されるような金融関連のサービスにおいて、分析を提供しています。最後に4つ目は、LINE公式アカウントやLINE広告といった法人向けのサービスに対して分析を行っています。Data Science室では、大きく分けてこの4領域に対してデータ分析を提供しています。

データサイエンティストの業務

具体的にLINEにおけるデータサイエンティストの業務がどう進んでいくかについて、模式的にお話ししたいと思います。

データサイエンスは最近注目を集めていまして、特に技術的な側面がすごく注目されていますが、企業の業務においては、改善あるいは施策のサイクルを回すことが重要だと思っています。

具体的には、以下に挙げるような4つのステップで分解できます。まずデータを観測して現状を理解すること。次に、解決すべき課題あるいは仮説を設定すること。そしてそれを踏まえた解決策の実装あるいは実行を行って、検証を行う。

検証を行ったことによって、そのデータ分析の結果をユーザーのみなさんに提供するわけですが、それによってまたユーザーのみなさんの行動が変化するので、そのデータも観測して現状を理解して、というサイクルを繰り返すことです。

特にデータの観測の部分に関しては、ただ取得されるデータを待つよりは、こういうデータが必要で、こういうことがあればより良くできます、というようなことを我々から提案して、例えばデータの取得から関わっていくこともあります。

あるいは、その解決策の実装にあたっては、オンラインで検証するための準備を行ったり、開発組織にも関わりながら、実際によりリアルなかたちで検証を行うことを我々が主導して進めます。

ですので、データサイエンスの技術、いわゆる統計であったり、機械学習の技術に代表されるような、そういう技術だけを理解している状態では、良い改善サイクルは回せないと考えています。

先ほど1つ前のスライドで説明したように、そもそもどういうデータをどう使うのか、というところから関わっていくということです。そしてまた、データについてはシステムと連携して収集されるものですので、そのシステム側の知識も必要になってくると思います。

また検証の実行にあたっては、開発の工数が必要であったり、あるいは企画者やデザインの担当者と話をしたり、さまざまな人とデータを合言葉にしてコミュニケーションを行うことが必要になってきます。そちらを中心となって進めることが、データサイエンティストとして良いプロジェクトを進めるための重要な役割になります。

その中で我々は、横断的なData Science室と、担当サービス部署側の両方に所属する仕組みになっています。

半数以上のメンバーは、組織図上も我々Data Science室の横断的な組織と、各事業にあるチーム側にも所属していて、両方を兼務しています。

そしてData Science室内では、現状だと5つのチームがありますが、それらの間で定例の事例共有会を行うことで、あるプロダクトに対して適用された良いデータサイエンスの事例を別のプロジェクトにも応用していくような交流の仕方をしています。

もちろんより直接的に、データサイエンティスト間で協業して、複数のプロダクトにまたがるようなプロジェクトを一緒に推進することも、往々にしてあります。

どのようなサービスと関わりがあるのか

ここまでData Science室の業務を模式的に、模式図を使いながらお話ししましたが、より関わりの深い面も含めてざっくり説明しますと、みなさんご存じのようなLINEの主なサービスに対して、各部署のメンバーと密にコミュニケーションを取りながら、データ分析を提供するのが、我々の役割です。

また、その中でさまざまな手段が取れると思いますが、これをやるのが我々ですというよりは、課題を解決することにフォーカスして、そのためだったらいろいろな手段を用いています。

具体的にいえば、技術職以外の社員であってもデータを見られるようなダッシュボードを継続的に提供したり、あるいはキャンペーンが行われた効果検証をアドホックに行ったり。そのようなことを我々は行っています。

またよく「Machine Learning室の機械学習エンジニアとはどう役割が違うんですか」と質問されるのですが、1つ協力の仕方としては、例えばMachine Learning室で開発されたエンジンについて、そのオンラインでの検証を、よりそのサービスにおけるデータについて詳しい我々が担当して、そこからフィードバックすることで、より良いレコメンドエンジンを作っていくようなかたちで協業します。

また、我々Data Science室以外にも、事業部によっては分析を担当するアナリストが所属する部署があるのですが、そことも日常的にコミュニケーションだったり、あるいは全社的に関わることであればサポートを行ったりすることで、すべての部署で円滑にデータ活用が進むように我々は貢献しています。

業務に利用している具体的な技術

業務に利用している具体的な技術について、ここのスライドでお話ししたいと思います。基本的には、どのツールを使ってください、ということは指定していなくて、目的に合わせて各メンバーが適切なツールだったり言語だったりを使い分けるかたちになっています。

こちらの図で示しているのが社内のデータ基盤、IUです。この「Information Universe」と呼ばれるデータ基盤に、基本的に社内の全データが蓄積されています。そこに対して、ブラウザを通じたツールでデータにアクセスすることで、権限を管理しながら必要なデータにアクセスして分析業務ができるかたちになっています。

より具体的には、主にOASISと呼ばれる社内のnotebook型ツールがありまして、こちらでIUのクラスターの上で、Sparkのタスクを実行します。これを記述する言語としては、Scalaであったり、PySparkやSparkRのようなSparkとPythonやRを融合させたような言語を用いたり。あるいはSparkSQLによってSpark上でデータベースの集計を行うこともできます。

よりデータサイエンス的に使われる言語ですと、RやPythonに関してはRstudio serverや社内向けのJupyter notebook serverが立っていて、そちらで分析を実行するかたちになっています。

左側に書いているのは、データの可視化にはTableauを活用して、よりビジュアルに特化したダッシュボードを提供したりしています。

ここまでが、データサイエンティストとしての業務の概要でして、ここからはより具体的なプロジェクトについてイメージを持ってもらえるように、2つの事例を紹介したいと思います。

これから紹介する事例は、先日行われましたLINE DEVELOPER DAY 2021で紹介された事例なので、もし興味あればこちらの記事などを閲覧いただければと思います。

LINE PayのLINE公式アカウントのメッセージ受信体験を改善

まず1つ目について。1つ目の事例は、LINE PayのLINE公式アカウントについてメッセージの受信体験を改善した、という事例です。LINE Payでは、LINE公式アカウントを持っていて、そちらのLINE公式アカウントからキャンペーンなどのクーポンやメッセージを配信することで、LINE Payの利用を促進する、ということを行っています。

ここでの課題として、各ユーザーが求めているニーズが違うので、各ユーザーに適切な情報を届けることで、LINE公式アカウント配信の価値を高めることが、データサイエンスでのミッションでした。

その課題をブレイクダウンした時の1つ目の課題は、メッセージ配信の有益さを定量的に評価する、ということです。そのメッセージを配信した時に、どれが有益な情報で、どれが有益でなかったのかを量的に捉えることで、改善のサイクルを回せます。

この事例では、配信に起因するブロック、友だち関係の解消を「ユーザーが有益じゃないと判断した」という反応と見なして、それを分析してモデル化することによって、メッセージの有益性を定量的に評価することを行いました。

その分析では、ブロックの周期的な曜日あるいは時間帯に依存する部分であったり、あるいは配信後のブロックの時系列の変化をモデル化することによって、定常的に発生し得る、こちらでコントロールできない要因でのブロックと、配信に由来するこちらでコントロールし得るブロックと分けて、評価できるようにしました。

そのうえで、ターゲティング配信の精度を改善することによって、より適切なメッセージが適切なユーザーの方に届くように、改善を行いました。

このツールとしては、Machine Learning室が開発した、あるユーザーの集団に対して類似するユーザーを抽出するツールを活用しました。これで興味を持っているユーザーの中から、それに類似すると思われるユーザー集合を抽出して、その類似するユーザーに、オンラインでABテストのかたちでメッセージ配信を行って検証しました。

その結果、メッセージの送る数を10分の1に減らしたうえで、このプロモートしたサービスについては新規の獲得ユーザーを2分の1にとどめられました。

2分の1になってしまったので、それが少ないかというと、そういうことではなくて。まずメッセージの配信を10分の1にしていることから、より反応しやすい人にだけメッセージを配信したうえで、高いビジネス効果を実現しているというといえると思います。

このことを長期的に見ますと、ブロックされることが少なく、適切なメッセージを適切な方に届けられるので、長期的にビジネス的な課題を解決できた、という事例になっています。

スタンプに関する推薦エンジンを改良

2つ目は、MLエンジニアと協力して、スタンプに関する推薦エンジンを改良した、という事例です。

みなさんもご存じかと思いますが、LINEのスタンプショップを訪れると、おすすめのスタンプという欄があります。ここで、過去の購買履歴などに基づいてスタンプを紹介して、推薦して、購入を促す、という機能を持っています。この機能が直近では役割が変わってきていると判断しまして、改良を行いました。

具体的には、さまざまなかたちでスタンプに触れる機会は増えていますので、こちらのスタンプのおすすめで提供する機能としては、発見的なというか、今まで出会ったことないようなスタンプを見つけることによる新しい出会いを提供することをおすすめによって実現しました。

1つ目のロジック改善を行ってオンラインでテストを行ったのですが、そこでは修正の余地があることを、データ分析によって発見しました。

まず、先ほどお話ししたような、発見を含むような今までにない多様なおすすめが実現できていることを評価するために、スタンプを売上の上位・下位に分けて、それぞれの売上の変化を評価しました。

この結果、多様性があることに起因して、下位の売上については確かに上がっていることを確認できたのですが、それ以上に表示される回数が余計に上がっていたことがわかりました。

これは、露出が増えて売上は上がったものの、適切でないおすすめを多く出してしまっていることになるので、改善の余地があると判断しました。

この内容をMachine Learning室と一緒に精査して、1回目のロジックは特徴量を抽象化し過ぎていて、よりユーザーから見れば関連がないと思われるおすすめを出していた可能性がある、という報告をしました。

その結果、特徴量の抽象化を抑えるようにML室が改善したロジックによって、余分な表示を抑えつつ、1度目のテストよりもさらに下位の売上を向上させて、多様性、新しいスタンプとの出会いを維持しつつ、ビジネス課題も克服するような改善ができました。

新卒の方へのメッセージ

最後にまとめのスライドで、新卒で採用面談を受けるみなさまにメッセージをお伝えしたいと思います。

まず、今までスライドで紹介したように、データサイエンティストの業務にはやりがいと難しさ、それぞれあると思っています。やりがいは、誰もが知っていて国際的にも利用されているようなサービスに直接的に貢献できること、これは非常に大きいことだと思います。

その裏返しとして、難しさとしては、データが多種多様、かつ常に巨大です。なので、成果を上げるためには事業への深い理解が必須ですし、あるいは大きなデータをハンドリングするための技術的な素養も必要になってきます。

そのうえで、新しいメンバーのみなさんに期待することは、まずは今まで紹介したように、社内では統一の分析基盤の下、さまざまな目的に合った言語やツールでデータにアクセスする環境がそろっていますので、その整った環境で分析者としてのキャリアの基礎を培ってほしいと思っています。

また、LINEは日常的に使われていて、存在するのが当たり前な、もう完成されているサービスと思われるかもしれませんが、そうではなくて、社会は常に変化しているので、ユーザーのニーズを時々に捉えて、サービス自体も変化し続ける、革新的なサービスを提供していくことを、データ分析の力を使って一緒に実現していきたいと思っています。そう思ってもらえるメンバーに参加してもらえれば、楽しく働けるだろうな、と思っています。

私からは以上です。ありがとうございました。