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

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

Chanmoro
October 26, 2017

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

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

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 等の多くのアルゴリズムをサポート