Sansan Tech Blog

Sansanのものづくりを支えるメンバーの技術やデザイン、プロダクトマネジメントの情報を発信

企業内研究のウラガワ〜SOCIOECONOMIC NETWORKS AND NETWORK SCIENCE WORKSHOPの登壇を通じて

こんにちは!Sansan DSOC 研究員の西田です。
最近は着る予定も当分ないのにもかかわらず、3つボタンのスーツを購入しようと検討しています。もちろん生地はポリエステル縮絨です。

さて、今回のブログは、企業内研究のウラガワと題して、7月3~4日にてオンラインで開催されたSOCIOECONOMIC NETWORKS AND NETWORK SCIENCE WORKSHOPでの登壇を題材とし、登壇まで企業内研究にどのように取り組んでいたのかをできるだけ詳細にお伝えしたいと思います。

登壇資料はこちらです。

speakerdeck.com


以降は、以下の目次に沿ってお話しできればと思います。

f:id:sansan_nissy:20200709184441j:plain
オンライン登壇の風景

何のために登壇するのか?

まずは、登壇の目的とそのウラガワから話を始めたいと思います。

今年の2月に今回のワークショップの運営を務めるニューヨーク州立大学バッファロー校の増田先生より登壇の依頼がきました。今回のワークショップは、SOCIOECONOMIC NETWORKS AND NETWORK SCIENCE WORKSHOPというタイトルの通り、社会科学分野でネットワーク分析している研究者や社会科学分野以外で社会データに興味のある方、そういった聴衆に向けたものでした。

その中でも増田先生より強調された点としては、「社会的に大事でない問題を議論する、という方向にしたくない」という点でした。さらに、アカデミックな要素だけでなく、その応用可能性を盛り込んだ発表が望ましいとリクエストをいただきました。

このメールを読んだとき、直感で「登壇しなければいけない」と強く感じました。おそらく理由は2つあり、SocSci Groupの取り組みを広めたいという思いと社会科学の実証研究における課題に向き合い、解決したいという思いからです。

SocSci Groupは社会科学の知見を活用し、ビジネスの出会いのデータを解析し、名刺交換の価値を拡張していくGroupです。*1
社会科学の知見を活用したプロダクトやレポートは成果としてありますが、まだまだ納得のいくものは出せていないと思っていますし、「本当に社会科学の知見をビジネスの価値につなげられるのか」と自問自答しながら、日々研究開発に取り組んでいます。

そんな中、昨年参加したIC2S2 2019での基調パネルディスカッション「Computational Social Science: Past, Present and Future」はその答えのヒントをくれた気がしました。


これまでの社会科学は論文の執筆数と引用数で生産性を評価し、研究で示される理論と新規性を重視されてきたが、導かれてきた理論には一貫性がなく不完全であり、実社会への応用も限定的である。これからはこれらの課題を解決すべく、社会科学分野に閉じこもるのではなく、他分野との学際的な研究を行い、新規性や意外性ではなく再現可能な正確性を重視し、どれだけ実用的な知見が得られたのかという尺度で生産性やインパクトを測定していくべきである


パネルディスカッションの中で示された今後の社会科学のあり方です。

とくに、「新規性や意外性ではなく再現可能な正確性を重視し、どれだけ実用的な知見が得られたのか」という点を評価すべきという指針が心に刺さりました。

ビッグデータを解析することで、これまで発見できなかった現象が見つかり、数多く報告されるようになりました。その現象を発見することは面白いですし、重要な事実であると思いますが、果たしてそれだけで実用的な知見を得られるのか。そもそもその現象の発見自体、再現可能で正確な分析によるものなのか。常にそんな疑念を抱いていたのが正直なところです。

「再現可能な正確性を重視し、どれだけ実用的な知見が得られたのか」という点は、実現することが非常に困難であると思いました。しかし、この課題をクリアすれば、社会科学を活用して事業貢献するというSocSci Groupのミッションも達成できるだけでなく、アカデミアに対するインパクトも大きいわけです。ならば、そこを目指す以外にはないと国際学会から帰ってきてより一層強い思いを持ちました。

そんな志のもと、この課題をクリアするような研究を進めて、このワークショップで報告し、SocSci Groupのプレゼンスを高めたいと思いました。
以降は、今回のワークショップで報告した「The Economics of Business Networks and Key Cities」というテーマについてお話ししたいと思います。
研究はQuestion, Solution, Presentationの3つで構成されると考えているので、3つの観点でこだわったポイントとどのように企業内研究に取り組んでいるのかを紹介したいと思います。

Research Questionを立てる

どのように問いを立てるのか?

人それぞれの問いの立て方はあると思います。突然思いつくケースもあれば、進行中のプロジェクトがきっかけで思いつくこともありますが、今回の研究テーマ(問い)は後者で、機械学習のプロジェクトがきっかけでした。2年前の国際学会で出会い、昨年弊社の長期インターンシップに参加した李*2と、企業間のつながりを予測するという機械学習を活用した研究に取り組んでいました。研究自体は昨年のIBIS2019にて発表しています。

buildersbox.corp-sansan.com


このプロジェクトを通じて、様々な機械学習アルゴリズムをネットワークデータに応用する中で、つながりの予測(Link Prediction)の予測精度は想像以上のもので、その有用性を感じました。一方で、機械学習のアルゴリズムはブラックボックスな部分が多く、つながり予測のメカニズムは十分に明らかにできませんでした。そして、「なぜ予測がうまくいかないケースがあるのか」や「将来ネットワークはどう変化するのか」についても知りたいと思うようになりました。

さらに、このプロジェクトの結果を一部利用したData Visualization"The Essence of Serendipity"を開発し、Media Ambition Tokyo 2020で展示して眺めていると、「このビジネスネットワークはどういったメカニズムで説明できるものなのか?」といったメカニズムの解明や「もしなんらかの経済ショックが起きた時は、どんなネットワークへと変貌するのか?」といった反実仮想シミュレーションに興味を持つようになりました。

vimeo.com


それから、同じ経済学を専攻としていたJuanや小松と経済学に基づく解釈可能なつながり予測モデルを構築しつつ、ディスカッションしていると、反実仮想シミュレーションするような形でキープレイヤーを特定するという研究があることを知りました(キープレイヤーの詳細はSolutionで説明します。)。もし、そのようなアルゴリズムが完成すれば、つながりのメカニズムがわかることで解釈可能性のあるレコメンドエンジンにも応用可能であるし、ネットワークのキープレイヤーが特定できれば、適切に介入することで、ネットワーク全体の活動を活発にできます。また、様々なネットワークに適用できるアルゴリズムであるので、応用範囲も広いはずです。

アルゴリズムの計算時間に目処がつかなかったので、まずは小さいネットワークから始めようと考え、南関東地方の市区町村レベルの経済活動とそのビジネスネットワークに適用してみることから始めようと考えました。まとめると、「市区町村間のつながりを説明可能か?」と「ネットワーク全体の経済活動を支える鍵となる市区町村はどこか?」を明らかにする研究で、「The Economics of Business Networks and Key Cities」というタイトルとしました。

ここまで考えて、経済学の理論を元にしており、かつ実務応用も見えたので、SocSci Groupとして取り組むべき問いになったと納得できました。

普段から問いを立てるときに意識していることとして、企業内研究では当然かもしれないですが、実務応用できるのかという視点は必ず考えています。それ以外では、自分を含めて取り組むメンバーがワクワクするような問いを立てることを心がけています。研究はすぐに結果が出るものではなく、必ずといっていいほど困難が伴います。そんな困難にチャレンジして粘り強く向き合うにはそもそもの問いが絶対に解きたいと思えるようなワクワクするものである必要があると思っています。ワクワクするものは人それぞれ違うと思いますが、私の場合はこれまで扱ったことない分析手法で解ける問いや結果が予想できない問いです。

Solutionを学び、形にする

上記で立てた「ネットワークの経済活動を支える鍵となる市区町村はどこか?」という問いを明らかにすべくどういうアプローチを取ったのか、またどのようにその解法を身につけたのかをご紹介したいと思います。

今回参考にした論文は、"Who is the key player? A network analysis of juvenile delinquency"*3です。

この論文では、友人関係のネットワークをもとに青年非行を蔓延させるキープレイヤーを特定する手法を提案しています。キープレイヤーを特定するアルゴリズムの大枠は以下の通りです。

  1. 非行している人物と繋がることで非行が蔓延するというSocial Interaction Effect と非行をするような特徴/性格の人物と繋がることで非行が蔓延するというContextual Effectのパラメータを推定する
  2. 友人関係ネットワークのつながり形成モデルをERGMを用いて推定する
  3. ある人物をネットワークから除いたとき、どのようなネットワークが形成されるのか、2で推定したERGMを用いてシミュレーションする。
  4. もともとのネットワークと、シミュレーションで生成されたネットワークを比較したときに、ネットワーク全体の青年非行がどれだけ減少するかを、1で推定したパラメーターを用いて計算する。
  5. ネットワークの各人物に対して上記3, 4の計算を行い、ネットワーク全体の青年非行をもっとも減少させる人物を特定する。その人物をキープレーヤーと定義する。

より具体的にアルゴリズムを実装するには、2つのモデルの推定が必要になります。

1つ目は、Social Interaction Effect とContextual Effectを正しく推定する必要があります。これらの効果は、簡単にいうとビジネス上のつながりを通じてどれくらい市区町村どうしが影響を与え合っているのかを捉えたものです。この推定については、内生性によるバイアスがかかりやすいことが知られているので、操作変数を作成し、二段階最小二乗法と、非線形なモーメント条件を加えたGMMにより、パラメーターを推定しました。詳細は資料を確認していただきたいのと別途ブログを書きたいと思っています!

(とても)簡単に説明すると、つながりができる内生的なメカニズム(「経済活動が活発であるものどうしが繋がる」や「共通のつながりがあるとつながりが生じる」など)とは相関しない外生的なメカニズム(「市区町村間の距離が近い」など)で説明できるネットワークを構築し、そのネットワークをもとにした操作変数を作成し、二段階最小二乗法とGMMを行うというものです。

冒頭に触れた「再現可能な正確性」のある分析を重視したいという思いから、今回のようなバイアスが生じやすいケースについてもチームで議論しながら対処しました。

f:id:sansan_nissy:20200709184435j:plain
小松の字が綺麗で映えているホワイトボード

2つ目は、つながり形成モデルをERGMを用いて推定する必要があります。
ERGMについての説明はこちらのブログが参考になります。
meana0.hatenablog.com


ERGMを推定することで、どのようなメカニズムでつながりができるのかを調べることができ、シミュレーションをすることができます。今回は市区町村間のつながりメカニズムを重力モデルをベースにモデル化し、推定したモデルを用いて、あるノードをネットワークから除外したときにどのようなネットワークが生成されうるかをシミュレーションし、「市区町村のキープレイヤー」を推定しました。


ERGMはMCMCを用いて推定、シミュレーションするステップを含む複雑なモデルです。チームメンバー全員が馴染みのないモデルだったので、合宿と題して(マスクをして、ソーシャルディスタンスを保ち、換気しながら)会議室に1日籠もってモデルの推定方法を学びました。普段はMTGなどでまとまった時間が確保しづらいですが、合宿を計画してまとまった時間を確保することで、集中して学習ができました。チームで議論しながら推定方法を学ぶので、1人で学ぶよりも理解度が格段に高くなりました。とても有意義な時間だったので、今後も適宜実施していく予定です。さらに、弊社では普段からランチタイムに勉強会を行う文化とランチ代の補助が出る制度があるので、議論しながら新しい技術の獲得ができます。

f:id:sansan_nissy:20200709184446j:plain
合宿の風景


そんな合宿を通じて、キープレイヤーとして関東地方の経済活動を支える10市区町村を推定した結果は、以下の図の通りです。
具体的には、埼玉県大宮区、東京都世田谷区、神奈川県西区などが挙げられます。
なぜこれらの市区町村がキープレイヤーと推定されたのでしょうか。現在の解釈としては、経済の中心地である東京中心部と関東地方の周辺部のどちらにも交通の便がよく、地理的にも近いところに位置しているため、他の市区町村では代替不可能な役割をに担っていると推察しています。(まだまだ甘い解釈と認識しているので、ご意見お待ちしております!)

f:id:sansan_nissy:20200710100311p:plain
赤い領域がキープレイヤーとして推定された市区町村

Presentationを組み立てる

次に、どのようにプレゼンテーションをするか。

研究発表については、アカデミックプレゼンテーションそのもので企業内とアカデミアで当然差はありません。企業ならではな点としては、学会等での登壇資料やプレゼンテーションのスタイルについてデザイナーとともにブラッシュアップできる環境がある点が挙げられます。今回の発表後に印象的なスライドだったというありがたい反響がありました。


このようなプレゼンテーションをよりよくデザインする取り組みは、国際学会に参加して、現地の人に海外の有名大学のラボにはデザイナーがいて資料なりグラフなりを綺麗にしていると聞いたことがきっかけです。それ以降、Creative Groupにデザインを整えてもらうところからスタートしました。私の場合だと、毎回発表前にデザイナーとMTGして、今回の伝えたいことを共有し、より伝わりやすいデザインを相談しています。

特に英語でのプレゼンテーションとなると、海外の方は日本の名刺文化や名刺管理に馴染みがないこともあるため、データについて必ず説明するようにしています。プレゼンテーションの中で手短に伝えるために、動画やアニメーションを使った資料を作成しています。(動画のため、登壇資料からは削除しています。)元になっているのは名刺交換のデータについて整理したDSOCのLPです。
datalp.sansan-dsoc.com


また、一体どんなネットワークなのかについて注目してもらえるように、Data Visualizationの動画も活用しています。Media Ambition Tokyo 2020に展示したアーカイブ動画については以下をご覧ください。

vimeo.com


社会理論を武器にする

以上が今回のワークショップ登壇のウラガワでした。

今回のプレゼンテーションの内容理解と企業内研究のイメージが少しでもクリアになっていれば嬉しい限りです。

今回の登壇依頼が来た頃は、丁度SocSci TeamからSocSci Groupへと組織が一段上に上がり、それにつれて私もTeam LeaderからGroup Managerとなり、私個人のアウトプットだけではなく、組織のアウトプットを最大化するというミッションに切り替わるタイミングでした。実際、マネージャーとしてのミッションを聞いたとき、組織のアウトプットを最大化するために具体的に何をしたらいいのかわかりませんでしたし、自分がそれに取り組む意義もあまり見出せなかったのが正直な感想です(笑)

そんなモヤモヤを抱えていた時期がありましたが、とてもお世話になった師匠の言葉を思い出しました。

「志の高さは、視点の高さにつながる」

というものです。志を高く持てば、視点も高く、視野が広がると。そこで「SocSci Groupのアウトプット最大化」だけではなく、「社会科学を専攻してきた研究者が活躍できるキャリアと実社会に貢献できるフィールドを築く」と考えたときに、自分が何をしたらいいのかが見えてきて、まずはこのワークショップでしっかりSocSci Groupの成果をPRしたいと思いました。

SocSci Groupのミッションも「リアルとバーチャルのはざまで、社会理論を武器に名刺交換の価値を拡張する」と定めたので、Group一丸となって結果を出し、弊GroupにならってSocSci Groupという社会科学寄りのデータサイエンスチームが他社でも生まれてくるような動きをつくっていきます!



buildersbox.corp-sansan.com
buildersbox.corp-sansan.com
buildersbox.corp-sansan.com

*1:SocSci Group が中心となって勉強会開催なども行っています。詳しくはこちらの記事https://buildersbox.corp-sansan.com/entry/2019/06/26/182642 をご覧ください。

*2:その後入社して現在は同じ研究開発部のData Analysis Groupで働いています

*3:Lee, L. F., Liu, X., Patacchini, E., & Zenou, Y. (2020). “Who is the key player? A network analysis of juvenile delinquency.” Journal of Business & Economic Statistics, 1-9.

© Sansan, Inc.