Sansan Tech Blog

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

ネットワーク分析の基礎 〜関東地方の路線図の特徴〜

こんにちは,DSOC R&Dグループ インターン生の吉田と申します.
2017年のサマーインターンに参加して以来,1年半程こちらでお世話になっておりますが,この春に就職を控えていることもあり、この度2月末で退社させていただくことになりました.従って,これが最初で最後のエントリーとなります.
大学では主に時系列のセンサデータ等を扱った研究を行っていますが,インターンでは名刺のネットワーク分析に携わらさせていただきました.大学の研究とは性質の異なるデータの分析は非常に刺激的であり,また大変興味深かったです.
本稿では,これからネットワーク分析を始める人向けに,インターンを通じて学んだネットワークの分析手法の基礎指標を紹介していきます.ただ紹介してもつまらないので,関東地方の路線図データを用いて,その特徴を様々な指標毎に分析していきます.なお,本稿の分析は全てpythonライブラリのnetworkxを用いて行いました.

ネットワークの全体の特徴を表す指標

ネットワーク分析には,実に様々な指標が存在します.分析を始めた頃は(今でもですが)各指標がそれぞれ何を表しているのか混乱することが多かったです.
ここではまず,ネットワークの全体の特徴を表す,基本的な指標とその意味について見ていきます.

密度(density)

ネットワーク分析における密度\(density\)は以下の式で定義されます.
\[density = \frac{m}{n(n-1)/2}\ =\frac{2m}{n(n-1)}\]
ただし,\(n\) はネットワーク中のノードの総数で,\(m\)はネットワーク中のエッジの総数です.この式は,張ることの出来るエッジ数に対する、実際のエッジ数の比率を表しています.
「密度」というからには,人的ネットワークなら密度が高い程噂話の伝達速度は早そうですし,電車の路線ネットワークなら密度が高い程各駅へのアクセスは良さそうな印象を受けます.分析を始めた時の吉田少年は,この式を見てネットワークの密度について分かった気でいましたが,この「密度」の定義が自分の想像していたような指標ではないことをすぐに思い知ります.
下の図は,東京都,神奈川県,千葉県,埼玉県,茨城県の各県の電車路線図の密度を示しています.
f:id:master-hero:20190225112449p:plain
各県の路線図の密度(density)
直感的には東京都の方が各駅へのアクセスは良く,密度がたかそうですが,実際には東京都の密度が一番低くなっています.因みに,東京都と埼玉県のネットワークを図示すると以下のようになります.
f:id:master-hero:20190223153202p:plainf:id:master-hero:20190223153157p:plain
埼玉県(左)と東京都(右)の路線図
エッジの数は東京都の方が明らかに多いにも関わらず,東京都の密度は埼玉県よりも低くなっています.これは,定義式からも分かるように,密度はノード数の2乗の逆数の関数になっているため,ノード数が大きいと密度は低くなりやすいためです.よって,密度が高いからといって,各駅へのアクセスがよくなるとは限らないことが分かります.

続きを読む

【Geek Seek Toolsで買われた、気になるモノ達】第3回「THE NORTH FACE Shuttle Daypack Slim (PCバックパック)」

f:id:hartmann3555:20190220105847j:plain

こんにちは。DSOC Data Direction Groupでデータエンジニアをしている、千葉祐大です。

唐突に宣伝ですが、先日2/10(水)に発刊された、flick! digital (フリック!デジタル) 2019年3月号の「専門家のベストバイ」特集にて、僕が最近買って良かったモノを紹介していただいたので、ぜひ購読してみてください!

また、近頃、モバイル環境の整備に興味が向いており、Indigogo*1で出資開始し始めたGPD Micro PCが気になっている今日この頃です。

さて、弊社の社内制度であるGeek Seek Tools*2で購入されたガジェットの中から、僕がイケてると感じたものを気の赴くままに紹介していく本連載も第3回目となりました。

今回は今年1月頃に通勤用のPCバックパックを購入したメンバーに話を聞いてきました!

インフラエンジニアとして、いつでも持ち歩ける鞄を

− それでは、今回買ったものを教えてください。

あまりこだわって買ったわけではないのですが、ネットで評判の良かったTHE NORTH FACEのShuttle Daypack SlimというPCバッグを買いました。

*1:クラウドファンディングサイトの一つ

*2:生産性向上に資するガジェット・デバイスその他が購入しやすくなる制度。Geek Seek Toolsの詳しい説明については第1回をご覧ください

続きを読む

PyTorchと超解像に入門する

こんにちは,DSOC R&Dグループ インターン生の内田と申します.昨夏のR&Dインターンにも参加しており,実はSansanのブログのどこかに登場済みです.夏のインターンではデータ分析周りを経験させていただきましたが,大学での専門が画像処理ということもあり,昨年10月から画像分野のインターン生としてお世話になっています. 現在,名刺画像の超解像を業務として担当しておりますので,私自身の勉強も兼ねて,超解像分野のあれこれを数回に分けて触れていければと考えています.また,私は普段ディープラーニングフレームワークとしてTensorFlow*1を使っているのですが,ここではPyTorch*2に入門して実装もしていきます.

超解像とは

超解像とは入力画像の解像度を高めて出力する技術の総称で,端的に言えば画像を大きくする技術です. 画像を拡大して輪郭がギザギザ*3になった経験はみなさんお持ちだと思います. 超解像では,このような拡大時に発生する歪みを抑えながら自然に画像を拡大します.

実際のところ,ギザギザの補正はそこまで難しい問題ではありませんが,解像度が低下した際に発生する歪みは多岐に渡ります. 非常に極端な例ですが,下図のような縦1x横3の灰色画素(輝度値128)を持つ低解像度画像を縦2x横6に超解像することを考えてみましょう.

f:id:S_aiueo321:20190212154211p:plain
低解像度画像
低解像度画像は元の高解像画像を縮小した結果ですので,復元される高解像度画像は次のようなパターンが安易に想像されます. これらのパターンは,実際にBicubic補間で縦1x横3に縮小すると,低解像度画像と同じ画像になります.
f:id:S_aiueo321:20190213110857p:plain
高解像度画像の例
ここで示したパターンは白黒のパターンばかりですが,画素値は0から255の値を取り得るので,一つの画像に対して妥当な復元パターンが無数に存在することが分かります. このように1つの入力に対して出力が無数に想定されるような問題を不良設定問題といい,超解像が難しいとされる理由の1つです.

*1:https://www.tensorflow.org/

*2:https://pytorch.org/

*3:輪郭のギザギザ歪みをジャギーといいます.

続きを読む

第14回テキストアナリティクス・シンポジウムで発表しました

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

2019年2月7日と8日の2日間にわたり京都で開催された第14回テキストアナリティクス・シンポジウムに参加しました。

本記事は、参加報告および発表内容の紹介となります。

テキストアナリティクス・シンポジウム

テキストアナリティクス・シンポジウムは、テキストの分析手法や分析のための基礎技術・実応用例などが議論される研究会です。 学術側、企業側から多数参加しており、産学交流の場でもあります。

私自身、本学会への参加は3回目(第11回は聴講)、発表は学生の時以来の2回目となる研究会です。

今回は龍谷大学大宮キャンパス(京都)で開催されており、威厳のある建物でした。

f:id:kanjirz50:20190212104853j:plain

2日間で、一般講演11件、特別講演4件と多数の発表がありました。 1日目の夜には懇親会があり、ざっくばらんに研究者間の交流を楽しんだり、2日目は高専の学生さんとランチに行って高専トークをしたりと、研究報告以外でも非常に楽しい時間を過ごさせていただきました。

それでは、学会で興味深かった発表や自身の発表内容について簡単に紹介したいと思います。

続きを読む

「第一回SIL勉強会 自然言語処理編」を開催しました

こんにちは、DSOC R&Dグループ研究員の奥田です。一番好きな京都のお土産は阿闍梨餅です。

先日「第一回SIL勉強会 自然言語処理編」という勉強会を京都で主催しましたので、その様子をご紹介致します。

SIL勉強会とは

Sansanでは数年前から京都にオフィスを構えており、画像処理の研究員2名がフルリモートで働いております。昨年この京都オフィスを改装したことをきっかけに、京都での技術者を繋げてコミュニティを活性化していきたいという理念のもと、定期的に勉強会を開催していくことになりました。

勉強会のタイトルに付いているSILとは「Sansan Innovation Lab」の略で、京都の町家を改装して作られた弊社Sansanのオフィスのことです。会場としてそのオフィスの一角を使ったのですが、勉強会の会場が畳というのはなかなか珍しいのではないでしょうか?

f:id:yag_ays:20190130184732j:plain

f:id:yag_ays:20190130164807j:plain

ちなみにオフィスの表はこんな感じです。オフィス感がゼロなため、当日参加された皆様はどこに入り口があるのか戸惑っていらっしゃるようでした……🙇‍♂️。

f:id:yag_ays:20190130183603j:plain

f:id:yag_ays:20190130183050j:plain

今回はその第1回目ということで、自然言語処理というトピックで私を含む4名の方に登壇いただきました。

続きを読む

【Techの道も一歩から】第17回「チームで社内データアクセスライブラリを作った話」

f:id:kanjirz50:20190104142720j:plain

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

光陰矢のごとしとはまさにこのことで、気づけば入社して2年が経とうとしています。 今でこそある程度わかってきましたが、入社当初はどこにどんなデータがあり、どのようにアクセスするのかよくわかっていませんでした。

知らないことを知るということは非常に難しく、「それさぁ。早く言ってよ〜」とどこかで聞いたことのあるようなフレーズをぼやくのは簡単なのです。 しかし、そういった事態を避けるために情報を共有しようとしますが、実際には非常に難しく感じます。 何を伝えるべきか選ぶのが難しかったり、伝えても覚えきれなかったりします。 おそらく自分自身も共有できていない情報がたくさんあります。

こういった問題を軽減しR&D グループでの研究開発活動を加速させるために、データアクセスライブラリを作って便利になった話をします。

続きを読む

技術 Podcast はじめました

高橋洸です。

先日予告した 技術 Podcastを公開しました。

前回の反省を生かし、ハリのある発声を心がけて収録に臨みました。まだまだ滑舌に改善の余地はありますが、今後の成長にご期待ください...!

また、前回よりも話題を絞ってみました。いざ始めてみると色々話したいことがでてきて、とくに 8:15 頃からのタスク管理の話はさくっと終わらせるつもりだったのですが思いのほか盛り上がっています。

soundcloud.com

Show Note

© Sansan, Inc.