Upgrade to Pro — share decks privately, control downloads, hide ads and more …

グラフ解析で社長の脳内さらす!

Sponsored · Ship Features Fearlessly Turn features on and off without deploys. Used by thousands of Ruby developers.
Avatar for Chanmoro Chanmoro
October 26, 2017

 グラフ解析で社長の脳内さらす!

社長の発言をグラフ解析して何を考えているのかをさらします

Avatar for Chanmoro

Chanmoro

October 26, 2017
Tweet

More Decks by Chanmoro

Other Decks in Technology

Transcript

  1. ©2017 Nextremer Co., Ltd. ⾃⼰紹介 両⾓ 和軌 (もろずみ かずき) 株式会社

    Nextremer プログラマー / 採⽤・⼈事 ※対話システムの研究開発をしている企業です • やってること • エンジニアのスカウト・⾯接 • ⼈事制度の整備 • サーバーサイド開発 • ここ最近扱った技術 • Terraform, Ansible, Packer ← Infrastructure as Code! • Docker, kubernetes, Apache Mesos ← ポータビリティさいこう! • Python, Scala, javascript(ES6) ← 関数型うまく書けると気持ちいい! • Finagle, React.js ← マイクロサービスしたい!リアクティブしたい!
  2. ©2017 Nextremer Co., Ltd. どうやって脳内を晒すか? 1. 単語の共起関係からグラフを作る 2. PMI を計算しエッジ(辺)の重みにする

    3. PageRankを計算しノード(点)の重みにする 4. ノードをクラスタリングする 5. 可視化する
  3. ©2017 Nextremer Co., Ltd. 2. PMI を計算しエッジ(辺)の重みにする • PMIって?? •

    Pointwise Mutual Information (⾃⼰相互情報量) • ある2つのデータがどれくらい⼀緒に出現しやすいかを表す尺度 • PMIが⼤きいほどその単語ペアは同じ⽂に出現しやすいということ • 計算式 , = log+ (, ) () = log+ 共起回数 / 総単語数 単語0の出現回数 / 単語1の出現回数
  4. ©2017 Nextremer Co., Ltd. 4. ノードをクラスタリングする • Infomapでノードをクラスタリング • エッジ媒介中⼼性,

    貪欲アルゴリズム, スペクトラル, スピングラス, ラベル伝播法 …など多数のクラスタリングアルゴリズム • 構造に⼤きく左右されるので、どれがベストとは⼀概には⾔えない
  5. ©2017 Nextremer Co., Ltd. 5. 可視化する • Gephi を利⽤して可視化 •

    全体を俯瞰して⾒れて、必要に応じて部分にフォーカスできる • javascriptベースのものは巨⼤なグラフ全体を⾒るのは使いにくい
  6. ©2017 Nextremer Co., Ltd. Neo4jとの使い分け • データ設計の検討にR, Python や Gephi

    などのツールを使う • 全体を俯瞰していろいろなパターンを試したい • システムに組み込むために neo4j を使う • Cypher のクエリは超強⼒ • ⼤量データの格納や分析 • Spark GraphX とかも使えるらしい
  7. ©2017 Nextremer Co., Ltd. 最後に・・・! Nextremerでは⼀緒に対話システムを開発して頂けるエンジニアを 探しています! Facebookから両⾓へメッセージ or Wantedly

    よりご連絡いただければ、 いつでもNextremerオフィスの雰囲気をご案内させていただきます 両⾓のFacebookアカウント Nextremer Wantedly ページ
  8. ©2017 Nextremer Co., Ltd. 補⾜. GML (Graph Modeling Language) •

    グラフ構造をテキストで表すデータ形式 • ノード、エッジのプロパティが記述できる点がGood
  9. ©2017 Nextremer Co., Ltd. 補⾜. igraph • R, Python, C

    から利⽤できるグラフ解析のパッケージ • GMLファイルをロードできる • PageRank, infomap 等の多くのアルゴリズムをサポート