Slide 1

Slide 1 text

エンジニアリングが⽀える研究開発 DSOC 研究開発部 研究員 ⾼橋寛治 Sansan Technical View(2021/05/25) 1

Slide 2

Slide 2 text

Data Strategy and Operation Center ⾃⼰紹介 • 2017年 3⽉ ⻑岡技術科学⼤学⼤学院 修了 • 2017年 4⽉ Sansan株式会社 ⼊社 • 現在 ⾃然⾔語処理とスマブラ ⾼橋 寛治 Kanji Takahashi kanji250tr kanjirz50 Sansan 株式会社 DSOC(Data Strategy & Operation Center) 研究開発部 Data Analysis Group Document Analysis Team 研究員 オンライン名刺 ディーソック

Slide 3

Slide 3 text

Data Strategy and Operation Center エンジニアリングが⽀える研究開発 3 研究員⽬線で、エンジニアリングが研究開発をどう⽀えているか紹介 ⽬次 • DSOC の概要 • 研究開発事例 • エンジニアリングが⽀える研究開発 • まとめ

Slide 4

Slide 4 text

No content

Slide 5

Slide 5 text

Data Strategy and Operation Center MISSION Activating Business Data 名刺、書類、業績や株価など企業の公開情報 あらゆるビジネスデータから「出会いのデータベース」を構築し、 ビジネスや社会、未来へとつながる新しい可能性を⽣み出す。

Slide 6

Slide 6 text

Data Strategy and Operation Center ໊ࢗ اۀ৘ใ ੥ٻॻ ൃߦ෺ χϡʔε ௐࠪ৘ใ ਓࣄҟಈ৘ใ ܖ໿ॻ ࡒ຿৘ใ ϓϨεϦϦʔε DSOC Activating Business Data あらゆるビジネスデータを集約 し、 出会いの未来を描く

Slide 7

Slide 7 text

研究開発の事例

Slide 8

Slide 8 text

Data Strategy and Operation Center 名刺取り込み 背景分離 画像補正 1 項⽬分割 2 セキュリティー項⽬細分割、項⽬⼊⼒ 3 チェック&補正 5 マージ 4 マイクロタスク×マルチソーシングによる独⾃の名刺データ化システム 名刺データ化システム「GEES」 セキュアな環境を構築

Slide 9

Slide 9 text

Data Strategy and Operation Center スマートキャプチャー 撮影されてから数秒で結果をユーザーに届けることを可能にする技術 項⽬セグメンテーション ⽂字を読み取らずに、名刺のデザインから項⽬を⾒分ける ⾔語判定 ⽂字を読み取らずに⾔語を判定 ミステイクディテクター 誤りの傾向を学習してミスの可能性を予測 独⾃に研究開発したさまざまな画像認識技術によって、名刺を⾼速かつ⾼精度でデータ化 AI・画像認識技術

Slide 10

Slide 10 text

Data Strategy and Operation Center NEWS パーソナライズされたニュース配信システム レコメンド エンジン 企業ニュース ⼈事異動ニュース 収集 ⽣成 配信 ! ! ⾃然⾔語処理 + データベース etc ニュース ソース

Slide 11

Slide 11 text

Data Strategy and Operation Center 名刺を並べてコレクションに ビジネスカード・コレクション(β) Sales Tech -営業活動を⽀援- 顧客との接点を ヒートマップで可視化 ABMダッシュボード3 (β) Sansan Labs 所有名刺でタイプを分析 ビジネスパーソンタイプ分析(β) 営業先のキーパーソンを探す ホットリード・レコメンド(β) HR Tech -タレントマネジメント- ナレッジから同僚を探す 同僚ナレッジサーチ(β) Sansanのプロダクト内で「未来の働き⽅を実現する」実験的な機能を提供 11

Slide 12

Slide 12 text

Data Strategy and Operation Center Labsの⼀例:同僚ナレッジサーチ ※ データはダミーです 所有名刺にひも付くキーワードから同僚を検索できます。 専⾨知識や業界について「社内の誰が詳しいのか」がわかります。

Slide 13

Slide 13 text

エンジニアリングが⽀える研究開発 DSOC 研究開発部

Slide 14

Slide 14 text

Data Strategy and Operation Center DSOC 研究開発部の組織体制 Automation Group 名刺やビジネス⽂書のデータ化の効率化・⾃動化技術の研究開発 Data Analysis Group ビジネスデータの収集・解析や、レコメンデーションエンジンの研究開発 SocSci Group 社会理論を武器に名刺交換の価値を拡張し、事業やサービス、社会へ還元 Arc Group 研究開発部が提供するサービスに責任を持ち、またデータ基盤の整備も⾏う

Slide 15

Slide 15 text

Data Strategy and Operation Center 研究開発の⽬指す状態 抽象的に表現した⽬指す状態 あらゆるビジネスデータから、ビジネスや社会、未来へとつながる新しい可能性を⽣み出 し、ユーザへ価値提供しつつ継続的に改善される状態 新しい可能性を⽣み出す:研究 研究の側⾯が強い(アルゴリズム) ユーザへ提供しつつ継続的に改善:本番運⽤ エンジニアリングの側⾯が強い(アーキテクチャ)

Slide 16

Slide 16 text

Data Strategy and Operation Center 研究と本番運⽤では異なる求める状態 研究段階(⽬の前で動けばいい) ⽬的の処理の検証が⽬的 本番運⽤(動かし続ける) • API提供やバッチ提供など、要件に合わせたアーキテクチャ選定 • 利⽤可能な状態を保つ • デプロイフローの整備 • ・・・ アプリケーションとして価値提供するには エンジニアリングが求められる

Slide 17

Slide 17 text

Data Strategy and Operation Center アンチパターン!?:研究員(私)が作ったとあるAPI ⼿動更新 API提供 アルゴリズム + データベース モデルの更新 別サービスから 呼び出し サービス 餅は餅屋ということを痛感… 研究員 …………… ⼀通り作った(以前は研究員が結構作っていた) 稼働状況 …………エラーになかなか気づけず、改修やデプロイが難しく時間を要する(後⼿後⼿対応…)

Slide 18

Slide 18 text

Data Strategy and Operation Center ニュース配信システムにおける役割分担 レコメンド エンジン 企業ニュース 収集 ⽣成 配信 ! ! ⾃然⾔語処理 + データベース etc ニュース ソース 企業名抽出コンテナや記事 ジャンル分類コンテナを 研究開発員が⽤意 レコメンドアルゴリズム のコンテナを研究開発員 が⽤意 研究員 …………… コンテナとしてアルゴリズムを提供 エンジニア ……… デプロイフローやログ基盤など整備 稼働状況 ………… 2年以上安定して稼働している アルゴリズムの軽微な修正はデプロイパイプラインがあるため容易かつ研究員で完結

Slide 19

Slide 19 text

Data Strategy and Operation Center ニュース配信システムがうまくいった点 19 エンジニアおよび研究員が全体フローを理解 ⼀記事ずつ⼀つの処理を⾏い、最終的に配信する流れを把握 エンジニアと研究員でコンテナの WebAPI 仕様を定める 気にするのはインターフェイス エンジニアによる監視設定と監視 エンジニアと研究員が Slack のチャネルを⾒て確認 アルゴリズムのコンテナ化 • エンジニアは要件に合わせてマシンサイズを選定 • 研究員は WebAPI からアルゴリズムが利⽤可能なコンテナを作成 • アルゴリズムの改善のリリースは、CodeBuild で⾏う

Slide 20

Slide 20 text

Data Strategy and Operation Center 研究に特化した分析基盤の構築 20 研究員 ……………………… SQLで⾼速に取得・集計し、研究開発を⾏う データエンジニア ………… 分析基盤を構築するためのデータパイプラインの作成やバッチの運⽤ 分析基盤構築前 • 本番環境を考慮したアクセス • 利⽤時の⼼理的障壁 • 集計クエリによる本番への影響 • 環境ごとにデータ取得⽅法が異なる • 研究員は余裕でつまづく 分析基盤構築後 • 本番環境の考慮は不要 • ガンガンクエリを投げられる • SQLに統⼀されて覚えることが少ない • 認証なども⽅法が⼀つになるので、 研究員でも何とかなる • ⾼速にデータの取得や集計が可能 • 試⾏錯誤の回数が増える 無いときが考えられないほど、⽣産性の向上を実感

Slide 21

Slide 21 text

Data Strategy and Operation Center 現在の研究員とエンジニアの主な住み分け 22 研究員 アルゴリズムの開発およびコンテナ化 エンジニア • コンテナが安定して稼働するためのアーキテクチャ設計 • Sansan Labs だと Web アプリケーション化 • 監視設定 • …

Slide 22

Slide 22 text

Data Strategy and Operation Center 住み分けに対する研究員⽬線の感想 23 ありがたい • アルゴリズムの開発に集中しやすい • コンテナまで作るというゴールがわかりやすい • アーキテクチャの話は正直よくわからないので、おまかせできてありがたい 気になる • 研究員のアルゴリズム部のコードは本番稼働に耐えうるものなのか • エンジニアの負担が⼤きいのではないか > アーキテクチャ設計やリリース後の運⽤ • 稼働中のモデルの監視

Slide 23

Slide 23 text

より研究開発を加速させるための取り組み 24

Slide 24

Slide 24 text

Data Strategy and Operation Center より研究開発を加速するための取り組み 研究員のコードが「とりあえず動く」から「良いコード」へ • 実装コードのガイドラインを策定し準拠 • CI でコードチェック(flake8) • テストを積極的に導⼊ • レビューしやすいコード・コメントを書く MLOps として取り組む • MLOps を推進するチームが最近誕⽣ • 研究開発部エンジニアと研究員で構成 • 研究開発のサイクルの加速、および安定した運⽤を効率良く⾏うために、 DSOC として解決したい課題を整理中

Slide 25

Slide 25 text

Data Strategy and Operation Center MLOpsとしてのモデル監視の検討の試み 26 実現したいこと • 名刺データ化システムでは、データ化精度の評価を運⽤として取り組み、改善を積み重ねている • 増えつつあるR&Dサービスに対して、ソフトウェアとして上記を実現したい • モデルの⼊出⼒に対する異常検知を⾏い、なるべく早く異常に気づける状態 (マシンリソースの監視ではない) 試験運⽤結果 • 監視サービスを活⽤したが、何をどう監視するかうまく定められず断念 (何のために何を監視したいかの設計が必要) 今後 • 何をどういう観点で監視することで異常と定義でき、また運⽤できるか (魔法のサービスとして使わない、異常に対する対策も打てるのか)

Slide 26

Slide 26 text

Data Strategy and Operation Center MLOps の各所での取り組み 27 研究員の各所での取り組み • 実験管理ツールやモデルのバージョン管理ツールの試⽤・情報共有 > DVC や Trains による実験管理 > 内部での MLOps ランチ勉強会 エンジニアの取り組み • Python の実装ガイドラインの策定 • 研究員向けサンプルコンテナの⽤意 • デプロイフローの整備や、Webフレームワークの統⼀、モデル監視の検討 DSOC に合う MLOps を模索中

Slide 27

Slide 27 text

Data Strategy and Operation Center まとめ 28 • 出会いのデータベースを構築し、新しい可能性を⽣み出す組織 DSOC を紹介 • 名刺データ化やニュース配信など研究開発事例を紹介 • エンジニアリングが⽀える研究開発を紹介 • 研究開発のサイクルを加速する MLOps の取り組みを紹介

Slide 28

Slide 28 text

@SansanDSOC

Slide 29

Slide 29 text

sansandsoc

Slide 30

Slide 30 text

https://sansan-dsoc.com/

Slide 31

Slide 31 text

No content