Sansan Tech Blog

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

GitHub Universeレポ(Day2)

こんにちは、SansanでEightのCEMとして開発組織のマネジメントをしている鈴木康寛です。この記事は本シリーズの3回目の記事です。 こちらでは、GitHub Universe 2日目についてのご紹介をします。

keynote

2日目のkeynoteはセキュリティの話が中心でした。

security-keynote
Security keynote

  • 99%以上のプロジェクトがオープンソースに依存している
  • 平均で180以上のオープンソースとの依存関係が発生している
  • ゆえにセキュリティが重要になってくる

GitHubでは様々なオープンソースのコードが管理されており、セキュリティ的なリスクを可視化して信頼できる状態を共に作っていくことに焦点をあてている印象でした。

https://youtu.be/VnaK_ONmtC4

続きを読む

CPO室の業務について

みなさんこんにちは、CPO室でデータサイエンティストをやっている佐藤です。

CPO室に所属していると言うと、社内外から、どんな仕事をしてるの? と聞かれることが多いので、この機会に自分なりの解釈をお伝えできればと思います。この春入社したばかりで全てを理解しているわけではないかもしれませんが、CPO室について少しでもみなさんに知ってもらえれば幸いです。

そもそもCPOって何?と思われる方は、弊社CPOの大津が記事にしていますので参考までに。
buildersbox.corp-sansan.com

CPO室の仕事

CPO室の仕事は大きく分けて2種類あると考えています。一つ目は「プロダクトについて中長期目線で考え、あるべき姿を提案する」こと、二つ目は「あるべき姿が定まった時に、現状とのギャップを把握し、その差を埋める」ことです。

それぞれについて簡単に説明します。

続きを読む

IBIS2019にてSansanから2件のポスター発表を行いました

こんにちは、DSOC R&Dグループ研究員の奥田吉村です。名古屋駅の新幹線ホームのきしめん屋で、15分後に乗らなければいけない新幹線を控え二人できしめんを急いで食べました。

さて、2019年11月20日から24日にかけて名古屋で開催された第22回情報論的学習理論ワークショップにて、SansanのDSOCから2件のポスター発表を行いました。ここでは、私たちの発表内容やIBISの様子をご紹介したいと思います。

f:id:yag_ays:20191120113205j:plain
ワークショップの講演の様子

IBISについて

情報論的学習理論ワークショップ(通称:IBIS)は、機械学習に関連した国内最大規模のワークショップです。国内の同系統のイベントの中では、かなり理論/学術寄りの発表が多い印象です。今年は企画セッションが4件のほかに、全238件のポスター発表がありました。また、今回は招待講演としてDeepmindのMarc Deisenroth氏、筑波大学准教授でありメディアアーティストである落合陽一氏、滋賀大学教授でデータサイエンス学部を推進している竹村彰通氏の講演がありました。

Sansanは去年に引き続き2年連続の参加となりました。昨年の参加報告はこちらを御覧ください。

発表

ここからは、私たちのポスター発表の内容をご紹介します。

2-009: Link Prediction on a Large Business Social Network in Japan ーGraphSAGE based supervised inductive learning framework

この発表は李が主著者で、その他に弊社 R&D 研究員の Juan、西田、吉村が関わっています。李がイギリスのブリストル大学大学院を修了後、インターンとしてSansanに来てくれていた頃の研究内容をまとめたものです。その後、李は正社員としてジョインしてくれました。

内容は、実際の企業間の名刺交換ネットワークに対して、GraphSAGE というグラフ埋め込み手法と、DistMult と呼ばれる手法を組み合わせて End-to-End *1な Link Prediction に対する予測手法を提案、実験したものになります。

その結果、既存のグラフ埋め込み手法 (LINE, DeepWalk, GraphSAGE) により得られた分散表現を別の教師あり学習の入力とする2段階の予測方法と比較して、一気通貫で学習した GraphSAGE + DistMult の提案手法の方が性能が良いことが確認できました。

f:id:yag_ays:20191121131427j:plain
発表者の西田と李

1-098: 大規模ネットワークにおけるノードの属性情報を利用した未知ノードのグラフ埋め込みの近似

奥田からは、グラフ埋め込みの近似手法の検討について発表いたしました。

一般的なグラフ埋め込み (Graph Embedding) を計算する際には、すべてのノードとエッジの情報が必要となります。一つの大規模なつながり構造を持ち、かつ常にノードが追加される性質を持つネットワークにおいては、すべてのノードに対するグラフ埋め込みを計算し続けることは、計算コストの観点から現実的ではありません。

そこで、すべてのノード/エッジの情報を使わずとも、追加されたノードの近傍情報のみを利用して近似的にグラフ埋め込みを得るような埋め込みベクトルを用意します。そしてその埋め込みベクトルと本来計算したい埋め込みベクトルの変換行列を学習することで、新規に追加されたノードのグラフ埋め込みを再計算無しに実現する方法を検討しました。

f:id:yag_ays:20191121140657j:plain
自分の発表の写真を撮るのを忘れておりました……

まとめ

IBIS2019では、弊社のサービスを軸としたネットワークに関する発表を行いました。

Sansan株式会社では、人と人との名刺交換の繋がりを元にした社会ネットワークに対して、様々な観点から新たな知見や価値創出に向けて研究開発をしております。もし私たちの取り組みに興味を持たれた方は、ぜひ気軽にお声がけいただければと思います。ビジネスの出会いからイノベーションを生み出す*2サービスを作るべく、一緒に働きませんか!?

【東京/メンバークラス】機械学習・データサイエンスの研究開発員 | Sansan株式会社 【東京】社会科学分野データサイエンティスト(DSOC) | Sansan株式会社

*1:埋め込みを Link Prediction による損失関数で学習するという意味で

*2:弊社は「出会いからイノベーションを生み出す」をMissionに掲げています。

AWS と GCP のコストを減らせ!(Redash による可視化編)

DSOC Infrastructure Group の 大澤 です。
最近自身のあまりの不健康ぶりにさすがに危機感を抱いたので、自宅から徒歩10分にある24時間営業のフィットネスクラブに申し込んできました。過去何回か挫折しているので今度こそ継続したいものです。

さて、突然ですが、皆さんは AWS や GCP などのクラウドサービスを使っていますか? 使っている人は毎月どのぐらいお金がかかっているか把握していますでしょうか? おそらく個人利用している人は毎月の利用料金についてシビアに見ている人は多いと思いますが、会社や団体などで使っている人はそこまで見ていない人が多いんじゃないかなと思います。私のタスクの一つに AWS、GCP のコスト管理があり、毎月の支払い額の把握や EC2 リザーブドインスタンスの購入計画、翌月の費用予測などをしています。

DSOC では AWS と GCP のマルチクラウドを採用しており、名刺データ化システム GEES に加え、名寄システム新規事業も増え、利用するクラウドサービス・人員増加にともなって(金銭的)コストも増加傾向にあります。意図せぬ出費がないか日々ウォッチしていますが、スピードを求めるために少々のコストを犠牲にすることもしばしばあるため、結果として日々の積み重ねで増えていきます(私のお腹まわりのようですね)。

そこでコスト削減(ダイエット)を図るべく、開発者、R&D、データエンジニア、インフラエンジニアが一丸となってコストに向き合う、コスト削減プロジェクトが立ち上がりました。このプロジェクトは個々のメンバーにコスト意識を持ってもらうことと、コスト削減の2つを目的としています。DSOC 内の各グループから一人ずつ担当者をアサインしてもらい、それぞれ目標削減額を設定し、半年という短い期間で削減するための施策を打ち、その達成をめざします(今まさにすすめている最中です)。

コスト可視化における課題

プロジェクトのメイン担当である私が最初に取り組んだことがコストの可視化でした。コストを正確に把握することができなければ、何から始めればいいか分からず、ただ闇雲に取り組んだとしても費用対効果は小さいものになります。
今までは AWS Cost Explorer(以下、Cost Explorer)や、コスト配分タグによるタグ別のコスト算出を行ってきましたが、プロジェクトをすすめるにあたって以下の問題点がありました。

  1. どこにお金が多くかかっているかを深く調査できない
  2. 各サービス・グループの正確なコストがわからない
  3. AWS、GCP を横断したコストを把握しづらい

1 は Cost Explorer から EC2 や RDS などクラウドサービス別やインスタンスタイプ別にコストを知ることはできますが、リソースレベル(どのリソースか)でオペレーションレベル(どんな操作をしたのか)のコストを見ることはできません*1。ただなんとなく EC2 が高い、DynamoDB が高いことがわかってもどのリソースでどういったことをしたときが高いのかが分からず推測ベースになってしまいます。

2 は歴史的経緯から 1つの AWS アカウントに複数のサービス・システムが混在しているため、コスト配分タグによってタグ別にコスト算出をしています。タグ付けはおおよその範囲をカバーしていますが、完全とはいえずタグに紐付いていない「見えないコスト」が存在していました。また、今回のプロジェクトの目的の一つである、個々のメンバーのコスト意識を持つためにグループ単位の可視化が必要でした。

3 は AWS と GCP の請求金額を確認できる画面が別々であるため、マルチクラウドで運用している場合、全体コストが見えづらくなります。また、Cost Explorer で複数の AWS アカウントをまたいで見る場合は、支払い AWS アカウント(マスターアカウント)で見る必要があるのですが、マスターアカウントは経理など一部の人しかアクセスできないようにしているため、プロジェクトメンバーへの展開は難しいという事情があります。

*1:最近のアップデートで AWS Cost Explorer からもリソースレベルで把握できるようになりました。
https://aws.amazon.com/jp/about-aws/whats-new/2019/11/aws-cost-explorer-supports-hourly-resource-level-granularity/

続きを読む

書籍購入支援制度'Geek Seek Book'を活用して今年購入した本

こんにちは。 DSOC R&D グループの高橋寛治です。

この記事は Sansan Advent Calendar 2019 - Adventar の初日の記事です。 ゆるい記事にお付き合いいただけると幸いです。

Sansanの社内制度の一つに、書籍・資料の購入支援を行う Geek Seek Book があります。 本制度は、専門知識や技術を要する社員を支援する制度であり、書籍は年間6万円まで購入が支援されます。Geek Seek制度については、こちらの記事でも紹介されています。 しっかり読みたい本から、辞書的に部分的に読みたい本まで、気軽に購入することができる良い制度です。

さて、今回は、この一年間に、Geek Seek Book制度を利用して私が購入した約6万円分の書籍について、ざっくばらんに紹介します。 (紹介することでまだ読めていない箇所を読むことも期待して・・・) なお、書籍のリンク方法はその先の情報によって異なりますので、予めご了承ください。

続きを読む

Eightリニューアルのデザインについて少しだけ...

Eight事業部デザインマネジャーの友近です。
少し前の話ですが、Eightは2018年12月にメジャーアップデートversion9(以下V9)をリリースしました。
今回は、このV9を開発するにあたりデザイナー達の観点でこだわった部分をいくつか紹介したいと思います。

素早く修正できるモックアップの作成

それまでEightは、名刺でつながるビジネスSNSの側面を強めていました。そこからさらに、名刺交換の先にある「人脈形成・管理・活用」に必要不可欠なサービスに進化させるため、アプリ全体をこのタイミングで整理する必要がありました。

まずは全体の構造を見直し、アプリのモックアップを作成していきました。初期のモックアップは、最初に構成や遷移をじっくり検証するために、簡易的なものから作成して何回も作りなおすことが多いと思います。

しかしこの時は、リリース日に対して潤沢な時間もなく、スピード感を持って進行したかったため、はじめからUIパーツの位置やトンマナもイメージしやすいモックアップを作成していきました。ただ、作り込んでしまうと修正が難しくなるので、60〜70%程度の完成度を意識してモックアップをつくりました。修正しやすく完成イメージも持ちやすいモックアップにより、慌ただしいスケジュールでもPMやエンジニアと大きくな認識ズレがないまま、素早く改善を繰り返し、最後まで進行することができました。

f:id:tomoreya:20191106132719p:plain
モックアップ例

デザインで大切にした2つのこと

V9のデザイン面では意識したことが大きく2つあります。

1つは「UX制作ルールの設定」です。
全体を整理して画面や遷移を作り変える際、シンプルな設計になるようにいくつかの基本ルールを設けました。

例えば「基本の目的達成に必要なタップ数を4回までに抑える」といったものです。これは、ユーザーが行いたいであろう目的に対して必ず4タップでたどり着けるようにするというルールです。それにより、機能が多くありながらもユーザーが操作中に迷子にならないような設計に仕上げることができました。
また、「ユーザーがよく使用する基本動作の入り口に、プレミアム会員案内の導線を配置する」というルールも設定しました。モックアップの制作前にデザイナー間でルールを設定しておくことで、分担作業が発生してもうまく協力しあって設計できました。

もう1つは「ビジュアルデザインのコンセプト整理」です。
ビジネスSNSの要素を強めていた時期は、フィードをプロダクト戦略の中心としていました。フィードはコンテンツファーストであるべきと捉え、コンテンツの文章や写真が目立つようにプロダクトはモノトーンベースでスタイリッシュな印象のUIでした。しかし、V9ではプロダクト自体のコンセプトが変わったため、UIも同じくコンセプトにあったものに変える必要がありました。

そこで初めに、Eight事業部長やCPOにV9以降にEightが向かうべき方向やどういった印象を抱いてもらいたいかをヒアリングして、デザインコンセプトの言語化を行っていきました。最終的に「シンプル・フレンドリー・ボールド」という言葉に絞り込み、カラースキームやアイコンやイラストを作成していきました。以前と比べて明るいブルーを全体的に使用したり、アイコンのエッジを丸く調整するなど細部にもこだわって設計したため、全体的に調和のとれたデザインに落とし込むことができたと思っています。

最後に

Eightアプリ全体の整理が膨大だったため、ここでは書ききれていないことも多いですが、先日開催されたSansan Builders Box 2019 での登壇ではもう少し具体的なデザインの話をしたので、ご興味があればその時の資料も合わせてご覧ください。

speakerdeck.com



buildersbox.corp-sansan.com

GitHub Universe レポ (Day1)

こんにちは、SansanでEightのCEMとして開発組織のマネジメントをしている鈴木康寛です。この記事は前回の記事の続きです。
ここでは、GitHub Universeの初日を取り上げ、Keynoteで紹介されたGitHubのアップデートについてと、それ以外で私が視聴したセッションの中で印象に残ったものを書いていこうと思います。

会場までの道のり

road-to-universe
会場に向かう道中

Keynoteの開始が9:00からということもあり、早めの行動を心がけていましたが、起床に失敗しバスに乗り遅れるという失態をやらかしました。

が、結構遅れて到着していた参加者の方も多く、受付も混んでおり、どうやらKeynoteの開始が遅れているような情報を入手したのでなんとなく一安心。列に並びます。

long-line-for-reception
長蛇の入場列

そして、会場に入場! エントランスが近未来感があってオシャレでした!

entrance
entrance

続きを読む

© Sansan, Inc.