Weitere ähnliche Inhalte
Ähnlich wie グラフ解析で社長の脳内さらす! (20)
Kürzlich hochgeladen (11)
グラフ解析で社長の脳内さらす!
- 2. ©2017 Nextremer Co., Ltd.
⾃⼰紹介
両⾓ 和軌 (もろずみ かずき)
株式会社 Nextremer プログラマー / 採⽤・⼈事
※対話システムの研究開発をしている企業です
• やってること
• エンジニアのスカウト・⾯接
• ⼈事制度の整備
• サーバーサイド開発
• ここ最近扱った技術
• Terraform, Ansible, Packer ← Infrastructure as Code!
• Docker, kubernetes, Apache Mesos ← ポータビリティさいこう!
• Python, Scala, javascript(ES6) ← 関数型うまく書けると気持ちいい!
• Finagle, React.js ← マイクロサービスしたい!リアクティブしたい!
- 3. ©2017 Nextremer Co., Ltd.
Nextremer CEO 向井とは
「僕は全部オープンデータだから好きに使って!」と⾔ってくれます
お⾔葉に⽢えて脳内を晒してやりました
ヤバイBotになったり イケてるCEOみたいになったりします
- 4. ©2017 Nextremer Co., Ltd.
グラフ解析で社⻑の脳内さらす!
弊社社⻑の向井が Slack, facebook に投稿したデータをグラフ解析
こ
う
な
っ
て
る
ん
だ
- 5. ©2017 Nextremer Co., Ltd.
どうやって脳内を晒すか?
1. 単語の共起関係からグラフを作る
2. PMI を計算しエッジ(辺)の重みにする
3. PageRankを計算しノード(点)の重みにする
4. ノードをクラスタリングする
5. 可視化する
- 6. ©2017 Nextremer Co., Ltd.
1. 単語の共起関係からグラフを作る
• 単語をノード、同じ⽂に出た単語間にエッジ
• ストップワード、特定の品詞を除く
• 単語の出現回数、単語ペアの共起回数を記録しておく
• 後のPMIの計算で使うので
- 8. ©2017 Nextremer Co., Ltd.
2. PMI を計算しエッジ(辺)の重みにする
• PMIって??
• Pointwise Mutual Information (⾃⼰相互情報量)
• ある2つのデータがどれくらい⼀緒に出現しやすいかを表す尺度
• PMIが⼤きいほどその単語ペアは同じ⽂に出現しやすいということ
• 計算式
𝑃𝑀𝐼 𝑥, 𝑦 = log+
𝑃(𝑥, 𝑦)
𝑃 𝑥 𝑃(𝑦)
= log+
共起回数 / 総単語数
単語0の出現回数 / 単語1の出現回数
- 9. ©2017 Nextremer Co., Ltd.
3. PageRankを計算しノード(点)の重みにする
• PageRankを計算し、スコアをノードの重みにセット
• エッジの重みを考慮したPageRankを計算
- 10. ©2017 Nextremer Co., Ltd.
4. ノードをクラスタリングする
• Infomapでノードをクラスタリング
• エッジ媒介中⼼性, 貪欲アルゴリズム, スペクトラル, スピングラス,
ラベル伝播法 …など多数のクラスタリングアルゴリズム
• 構造に⼤きく左右されるので、どれがベストとは⼀概には⾔えない
- 11. ©2017 Nextremer Co., Ltd.
5. 可視化する
• Gephi を利⽤して可視化
• 全体を俯瞰して⾒れて、必要に応じて部分にフォーカスできる
• javascriptベースのものは巨⼤なグラフ全体を⾒るのは使いにくい
- 13. ©2017 Nextremer Co., Ltd.
Neo4jとの使い分け
• データ設計の検討にR, Python や Gephi などのツールを使う
• 全体を俯瞰していろいろなパターンを試したい
• システムに組み込むために neo4j を使う
• Cypher のクエリは超強⼒
• ⼤量データの格納や分析
• Spark GraphX とかも使えるらしい
- 15. ©2017 Nextremer Co., Ltd.
最後に・・・!
Nextremerでは⼀緒に対話システムを開発して頂けるエンジニアを
探しています!
Facebookから両⾓へメッセージ or Wantedly よりご連絡いただければ、
いつでもNextremerオフィスの雰囲気をご案内させていただきます
両⾓のFacebookアカウント
Nextremer Wantedly ページ
- 16. ©2017 Nextremer Co., Ltd.
これで本当におしまい
ありがとうございました!
Nextremer東京オフィス 開発⽤GPUマシン
謎に包まれた対話ロボット
AI-Samurai
待
っ
て
る
よ
- 17. ©2017 Nextremer Co., Ltd.
補⾜. GML (Graph Modeling Language)
• グラフ構造をテキストで表すデータ形式
• ノード、エッジのプロパティが記述できる点がGood
- 18. ©2017 Nextremer Co., Ltd.
補⾜. Gephi
• グラフ可視化・解析ができるデスクトップアプリケーション
• Windows, Mac, Linux に対応
• GMLファイルをロードできる
- 19. ©2017 Nextremer Co., Ltd.
補⾜. igraph
• R, Python, C から利⽤できるグラフ解析のパッケージ
• GMLファイルをロードできる
• PageRank, infomap 等の多くのアルゴリズムをサポート