SlideShare a Scribd company logo
1 of 18
潜在トピックと
ネットワーク分析
「“グラフ”で繋がり可視化されるデータ」番外編
株式会社デジタル・ナレッジ
プラットフォーム事業部 教育ビッグデータチーム
田中 伸一
アジェンダ
• 分析の目的
• 潜在トピック
• ネットワーク分析
分析の目的
アソシエーション分析
 購買データ、受講登録データ等から“顕在的”
なつながりを抽出
 人が気づいている可能性が高い
潜在トピック+ネットワーク分析
 掲示板への投稿データからグループ(講座)間
の“潜在的”なつながりを抽出
 人が気づいていない可能性が高い
分析の目的
アソシエーション分析
 購買データ、受講登録データ等から“顕在的”
なつながりを抽出
 人が気づいている可能性が高い
潜在トピック+ネットワーク分析
 掲示板への投稿データからグループ(講座)間
の“潜在的”なつながりを抽出
 人が気づいていない可能性が高い
★
潜在トピック
LDAによる掲示板投稿の分類
単語の共起性と潜在トピック
トピック
ファミリーカー
トピック
スポーツカー
「自動車」
「乗用車」
「自家用車」
「車」「スライドドア」 「最高速度」
 共起性とは、ある単語と別の単語が共に出現する性質。
 文脈が異なれば単語の出現頻度や単語同士が共起する傾向も異なる。
 単語の出現分布を“トピック”と見なすことで文章をトピックで分類できる。
 トピックは出現頻度ではなく共起する確率から構成するため、表現の異なる単語でも
「潜在的には同じトピック」として分類できる。
 機械に文書集合全体における単語の出現分布を学習させ、Dirichlet分布と呼ばれる確
率分布に基づいてモデル化し、トピックの抽出と文書への割り当てを確率的に行う代
表的な手法がLDA(Latent DirichletAllocation)
「乗車定員」
「衝突安全性」
「加速」
「ハンドリング」※イメージです
オンライン講座の掲示板投稿からのトピック抽出
【環境】
Python 3.4.1
• scikit-learn…機械学習ライブラリ
• SciPy…科学技術計算ライブラリ
• Pandas…データ解析ライブラリ
• MeCab…形態素解析エンジン
• lda…LDAパッケージ
【データ】
某オンライン学習サービス81講座の掲示板における講師の書き
込み3,156件
オンライン講座の掲示板投稿からのトピック抽出
【単語の選別】
• 名詞、形容詞、動詞を対象にMeCabで形態素解析。
• 文書のニュアンスも加味するために動詞・自立や形容詞・自
立は原型。
• 講座の情報は与えない。
掲示板投稿の分類結果
【結果】
• トピックはインデックス(番号)で表される。
 機械は数字としてトピックを扱い、意味を解釈する
• 抽出するトピック数は予め指定:118トピック
抽出したトピック(一部) 分類結果(一部)
トピックを構成する単語の出現
確率と実際の文章を単語構成か
ら確率的に最も適したトピック
を割り当てる
講座横断的に内容
が類似する投稿に
分類された
ネットワーク分析
トピックを介した媒介中心性分析
媒介中心性
ネットワーク分析の媒介中心性を調べることで
 異なるネットワーク同士を繋ぐハブ的なノードやエッジ
 ハブとしての重要度
がわかる。
LDAで講座横断的に分類したデータの媒介中心性を調べれば、投
稿内容が類似する講座、あるいは講座同士を結ぶハブ的な講座が
見つかる可能性がある。
ネットワークデータの生成
【環境】
R 3.2
• igraph…ネットワーク分析パッケージ
• dplyr…データ操作パッケージ
Cytoscape…ネットワーク分析ツール
【主な手順】
① 前記PythonによるLDAで生成したデータをRに読み込む
② 投稿ごとのIDをキーに講座データと結合
③ igraphのgraphdata.frame関数でgraphml形式のデータを生成
④ Cytoscapeで③を読み込み媒介中心性を分析
1対1の関係の場合
講座とその講座が持つ掲示板への投稿や、各投稿とトピックは
1対1の関係なので講座ごと、トピックごとに分断されたネット
ワークができるだけ。
講座と投稿 トピックと講座
講座
投稿
トピック
投稿
多対多の関係の場合
投稿のトピックと講座の関係で見ると、共通のトピックでつな
がるネットワークの存在が確認できる。
講座とトピック
媒介中心性の分析
Cytoscapeの分析ツールで媒介中心性が最も高いノードを把握。
近傍ノード数
媒介中心性
媒介中心性が
最も高いノード
媒介中心性が
最も高いノード
媒介中心性の分析
媒介中心性が最も高いノード(講座)につながるネットワークだ
けに絞り込み(左)、ノードの大きさが次数を表すよう調整する
と投稿が活発な3つの講座につながっている様子がわかる(右)。
媒介中心性が
最も高いノード
字数が特に大きい
ノード
まとめ
LDAを使うことで文章を構成する単語の共起性から機械的に文章
の意味づけを行うことができる。
トピックは頻度ではなく共起する確率で構成されるので、実際に
文章内に現れる単語による顕在的な意味だけでなく、潜在的な意
味の解析にも有用。
潜在トピックとネットワーク分析を組み合わせた分析を“潜在的
関連付け” 、アソシエーション分析による分析を“顕在的関連付
け”とすれば両者を組み合わせリコメンド、検索などに応用すれ
ば、より高度なソリューションに発展させられる。
参考書籍
トピックモデルによる統計的潜在
意味解析
奥村学 監修
佐藤一誠 著

More Related Content

Viewers also liked

Python for Data: Past, Present, Future (PyCon JP 2017 Keynote)
Python for Data: Past, Present, Future (PyCon JP 2017 Keynote)Python for Data: Past, Present, Future (PyCon JP 2017 Keynote)
Python for Data: Past, Present, Future (PyCon JP 2017 Keynote)Peter Wang
 
ゼロから始める自然言語処理 【FIT2016チュートリアル】
ゼロから始める自然言語処理 【FIT2016チュートリアル】ゼロから始める自然言語処理 【FIT2016チュートリアル】
ゼロから始める自然言語処理 【FIT2016チュートリアル】Yuki Arase
 
実践で学ぶネットワーク分析
実践で学ぶネットワーク分析実践で学ぶネットワーク分析
実践で学ぶネットワーク分析Mitsunori Sato
 
Rubyによるデータ解析
Rubyによるデータ解析Rubyによるデータ解析
Rubyによるデータ解析Shugo Maeda
 
Rでソーシャルネットワーク分析
Rでソーシャルネットワーク分析Rでソーシャルネットワーク分析
Rでソーシャルネットワーク分析Hiroko Onari
 
『繋がり』を見る: Cytoscapeと周辺ツールを使ったグラフデータ可視化入門
『繋がり』を見る: Cytoscapeと周辺ツールを使ったグラフデータ可視化入門『繋がり』を見る: Cytoscapeと周辺ツールを使ったグラフデータ可視化入門
『繋がり』を見る: Cytoscapeと周辺ツールを使ったグラフデータ可視化入門Keiichiro Ono
 
Social network analysis & Big Data - Telecommunications and more
Social network analysis & Big Data - Telecommunications and moreSocial network analysis & Big Data - Telecommunications and more
Social network analysis & Big Data - Telecommunications and moreWael Elrifai
 
Pythonによるソーシャルデータ分析―わたしはこうやって修士号を取得しました―
Pythonによるソーシャルデータ分析―わたしはこうやって修士号を取得しました―Pythonによるソーシャルデータ分析―わたしはこうやって修士号を取得しました―
Pythonによるソーシャルデータ分析―わたしはこうやって修士号を取得しました―Hisao Soyama
 
Big Data Analytics : A Social Network Approach
Big Data Analytics : A Social Network ApproachBig Data Analytics : A Social Network Approach
Big Data Analytics : A Social Network ApproachAndry Alamsyah
 
Big Data: Social Network Analysis
Big Data: Social Network AnalysisBig Data: Social Network Analysis
Big Data: Social Network AnalysisMichel Bruley
 
10分でわかるPythonの開発環境
10分でわかるPythonの開発環境10分でわかるPythonの開発環境
10分でわかるPythonの開発環境Hisao Soyama
 
「Python言語」はじめの一歩 / First step of Python
「Python言語」はじめの一歩 / First step of Python「Python言語」はじめの一歩 / First step of Python
「Python言語」はじめの一歩 / First step of PythonTakanori Suzuki
 
python-twitterを用いたTwitterデータ収集
python-twitterを用いたTwitterデータ収集python-twitterを用いたTwitterデータ収集
python-twitterを用いたTwitterデータ収集Hikaru Takemura
 
PythonとRによるデータ分析環境の構築と機械学習によるデータ認識
PythonとRによるデータ分析環境の構築と機械学習によるデータ認識PythonとRによるデータ分析環境の構築と機械学習によるデータ認識
PythonとRによるデータ分析環境の構築と機械学習によるデータ認識Katsuhiro Morishita
 
野球Hack!~Pythonを用いたデータ分析と可視化 #pyconjp
野球Hack!~Pythonを用いたデータ分析と可視化 #pyconjp野球Hack!~Pythonを用いたデータ分析と可視化 #pyconjp
野球Hack!~Pythonを用いたデータ分析と可視化 #pyconjpShinichi Nakagawa
 
PythonによるWebスクレイピング入門
PythonによるWebスクレイピング入門PythonによるWebスクレイピング入門
PythonによるWebスクレイピング入門Hironori Sekine
 
Python 機械学習プログラミング データ分析ライブラリー解説編
Python 機械学習プログラミング データ分析ライブラリー解説編Python 機械学習プログラミング データ分析ライブラリー解説編
Python 機械学習プログラミング データ分析ライブラリー解説編Etsuji Nakai
 
Python東海Vol.5 IPythonをマスターしよう
Python東海Vol.5 IPythonをマスターしようPython東海Vol.5 IPythonをマスターしよう
Python東海Vol.5 IPythonをマスターしようHiroshi Funai
 
RとPythonによるデータ解析入門
RとPythonによるデータ解析入門RとPythonによるデータ解析入門
RとPythonによるデータ解析入門Atsushi Hayakawa
 

Viewers also liked (20)

Python for Data: Past, Present, Future (PyCon JP 2017 Keynote)
Python for Data: Past, Present, Future (PyCon JP 2017 Keynote)Python for Data: Past, Present, Future (PyCon JP 2017 Keynote)
Python for Data: Past, Present, Future (PyCon JP 2017 Keynote)
 
ゼロから始める自然言語処理 【FIT2016チュートリアル】
ゼロから始める自然言語処理 【FIT2016チュートリアル】ゼロから始める自然言語処理 【FIT2016チュートリアル】
ゼロから始める自然言語処理 【FIT2016チュートリアル】
 
実践で学ぶネットワーク分析
実践で学ぶネットワーク分析実践で学ぶネットワーク分析
実践で学ぶネットワーク分析
 
Rubyによるデータ解析
Rubyによるデータ解析Rubyによるデータ解析
Rubyによるデータ解析
 
Rでソーシャルネットワーク分析
Rでソーシャルネットワーク分析Rでソーシャルネットワーク分析
Rでソーシャルネットワーク分析
 
『繋がり』を見る: Cytoscapeと周辺ツールを使ったグラフデータ可視化入門
『繋がり』を見る: Cytoscapeと周辺ツールを使ったグラフデータ可視化入門『繋がり』を見る: Cytoscapeと周辺ツールを使ったグラフデータ可視化入門
『繋がり』を見る: Cytoscapeと周辺ツールを使ったグラフデータ可視化入門
 
R seminar on igraph
R seminar on igraphR seminar on igraph
R seminar on igraph
 
Social network analysis & Big Data - Telecommunications and more
Social network analysis & Big Data - Telecommunications and moreSocial network analysis & Big Data - Telecommunications and more
Social network analysis & Big Data - Telecommunications and more
 
Pythonによるソーシャルデータ分析―わたしはこうやって修士号を取得しました―
Pythonによるソーシャルデータ分析―わたしはこうやって修士号を取得しました―Pythonによるソーシャルデータ分析―わたしはこうやって修士号を取得しました―
Pythonによるソーシャルデータ分析―わたしはこうやって修士号を取得しました―
 
Big Data Analytics : A Social Network Approach
Big Data Analytics : A Social Network ApproachBig Data Analytics : A Social Network Approach
Big Data Analytics : A Social Network Approach
 
Big Data: Social Network Analysis
Big Data: Social Network AnalysisBig Data: Social Network Analysis
Big Data: Social Network Analysis
 
10分でわかるPythonの開発環境
10分でわかるPythonの開発環境10分でわかるPythonの開発環境
10分でわかるPythonの開発環境
 
「Python言語」はじめの一歩 / First step of Python
「Python言語」はじめの一歩 / First step of Python「Python言語」はじめの一歩 / First step of Python
「Python言語」はじめの一歩 / First step of Python
 
python-twitterを用いたTwitterデータ収集
python-twitterを用いたTwitterデータ収集python-twitterを用いたTwitterデータ収集
python-twitterを用いたTwitterデータ収集
 
PythonとRによるデータ分析環境の構築と機械学習によるデータ認識
PythonとRによるデータ分析環境の構築と機械学習によるデータ認識PythonとRによるデータ分析環境の構築と機械学習によるデータ認識
PythonとRによるデータ分析環境の構築と機械学習によるデータ認識
 
野球Hack!~Pythonを用いたデータ分析と可視化 #pyconjp
野球Hack!~Pythonを用いたデータ分析と可視化 #pyconjp野球Hack!~Pythonを用いたデータ分析と可視化 #pyconjp
野球Hack!~Pythonを用いたデータ分析と可視化 #pyconjp
 
PythonによるWebスクレイピング入門
PythonによるWebスクレイピング入門PythonによるWebスクレイピング入門
PythonによるWebスクレイピング入門
 
Python 機械学習プログラミング データ分析ライブラリー解説編
Python 機械学習プログラミング データ分析ライブラリー解説編Python 機械学習プログラミング データ分析ライブラリー解説編
Python 機械学習プログラミング データ分析ライブラリー解説編
 
Python東海Vol.5 IPythonをマスターしよう
Python東海Vol.5 IPythonをマスターしようPython東海Vol.5 IPythonをマスターしよう
Python東海Vol.5 IPythonをマスターしよう
 
RとPythonによるデータ解析入門
RとPythonによるデータ解析入門RとPythonによるデータ解析入門
RとPythonによるデータ解析入門
 

Similar to 潜在トピックとネットワーク分析

Thinking datascientist itself
Thinking datascientist itselfThinking datascientist itself
Thinking datascientist itselfHiroyukiOtsubo
 
東北大学AIE - 機械学習入門編
東北大学AIE - 機械学習入門編東北大学AIE - 機械学習入門編
東北大学AIE - 機械学習入門編Daiyu Hatakeyama
 
ソーシャルビッグデータ・オープンデータによる社会構造変化の発見
ソーシャルビッグデータ・オープンデータによる社会構造変化の発見ソーシャルビッグデータ・オープンデータによる社会構造変化の発見
ソーシャルビッグデータ・オープンデータによる社会構造変化の発見Masanori Takano
 
データサイエンティストのつくり方
データサイエンティストのつくり方データサイエンティストのつくり方
データサイエンティストのつくり方Shohei Hido
 
データ分析勉強会
データ分析勉強会データ分析勉強会
データ分析勉強会Kikuya Takumi
 
ネットで個人はどこまで追われているか
ネットで個人はどこまで追われているかネットで個人はどこまで追われているか
ネットで個人はどこまで追われているかYoichi Tomi
 
Tableauデータサイエンス勉強会(ユーザ会)とは
Tableauデータサイエンス勉強会(ユーザ会)とはTableauデータサイエンス勉強会(ユーザ会)とは
Tableauデータサイエンス勉強会(ユーザ会)とはHiroshi Masuda
 
Python neo4j cytoscapejsでデータ可視化入門
Python neo4j cytoscapejsでデータ可視化入門Python neo4j cytoscapejsでデータ可視化入門
Python neo4j cytoscapejsでデータ可視化入門Nao Oec
 
DEIM2019 楽天技術研究所の研究とケーススタディ(推薦システム)
DEIM2019 楽天技術研究所の研究とケーススタディ(推薦システム)DEIM2019 楽天技術研究所の研究とケーススタディ(推薦システム)
DEIM2019 楽天技術研究所の研究とケーススタディ(推薦システム)Sho Nakamura
 
ソーシャルメディアによる情報拡散モデル
ソーシャルメディアによる情報拡散モデルソーシャルメディアによる情報拡散モデル
ソーシャルメディアによる情報拡散モデルDaisuke Sashida
 
Data Science Summit 2012 レポート
Data Science Summit 2012 レポートData Science Summit 2012 レポート
Data Science Summit 2012 レポートnagix
 

Similar to 潜在トピックとネットワーク分析 (13)

Thinking datascientist itself
Thinking datascientist itselfThinking datascientist itself
Thinking datascientist itself
 
050830 openforum
050830 openforum050830 openforum
050830 openforum
 
東北大学AIE - 機械学習入門編
東北大学AIE - 機械学習入門編東北大学AIE - 機械学習入門編
東北大学AIE - 機械学習入門編
 
ソーシャルビッグデータ・オープンデータによる社会構造変化の発見
ソーシャルビッグデータ・オープンデータによる社会構造変化の発見ソーシャルビッグデータ・オープンデータによる社会構造変化の発見
ソーシャルビッグデータ・オープンデータによる社会構造変化の発見
 
データサイエンティストのつくり方
データサイエンティストのつくり方データサイエンティストのつくり方
データサイエンティストのつくり方
 
データ分析勉強会
データ分析勉強会データ分析勉強会
データ分析勉強会
 
ネットで個人はどこまで追われているか
ネットで個人はどこまで追われているかネットで個人はどこまで追われているか
ネットで個人はどこまで追われているか
 
Tableauデータサイエンス勉強会(ユーザ会)とは
Tableauデータサイエンス勉強会(ユーザ会)とはTableauデータサイエンス勉強会(ユーザ会)とは
Tableauデータサイエンス勉強会(ユーザ会)とは
 
Python neo4j cytoscapejsでデータ可視化入門
Python neo4j cytoscapejsでデータ可視化入門Python neo4j cytoscapejsでデータ可視化入門
Python neo4j cytoscapejsでデータ可視化入門
 
DEIM2019 楽天技術研究所の研究とケーススタディ(推薦システム)
DEIM2019 楽天技術研究所の研究とケーススタディ(推薦システム)DEIM2019 楽天技術研究所の研究とケーススタディ(推薦システム)
DEIM2019 楽天技術研究所の研究とケーススタディ(推薦システム)
 
おしゃスタat銀座
おしゃスタat銀座おしゃスタat銀座
おしゃスタat銀座
 
ソーシャルメディアによる情報拡散モデル
ソーシャルメディアによる情報拡散モデルソーシャルメディアによる情報拡散モデル
ソーシャルメディアによる情報拡散モデル
 
Data Science Summit 2012 レポート
Data Science Summit 2012 レポートData Science Summit 2012 レポート
Data Science Summit 2012 レポート
 

潜在トピックとネットワーク分析