Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

pixivのタグ情報+cytoscape+PHPで、「魔法少女まどか☆マギカ」をネットワーク分析

3,358 views

Published on

Network Analysis used cytoscape about Madoka Magica.

Published in: Technology
  • ⇒⇒⇒WRITE-MY-PAPER.net ⇐⇐⇐ has really great writers to help you get the grades you need, they are fast and do great research. Support will always contact you if there is any confusion with the requirements of your paper so they can make sure you are getting exactly what you need.
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • Dating direct: ♥♥♥ http://bit.ly/2F90ZZC ♥♥♥
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • Dating for everyone is here: ❤❤❤ http://bit.ly/2F90ZZC ❤❤❤
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • DOWNLOAD THI5 BOOKS INTO AVAILABLE FORMAT (Unlimited) ......................................................................................................................... ......................................................................................................................... Download Full PDF EBOOK here { http://bit.ly/2m77EgH } ......................................................................................................................... Download Full EPUB Ebook here { http://bit.ly/2m77EgH } ......................................................................................................................... ACCESS WEBSITE for All Ebooks ......................................................................................................................... Download Full PDF EBOOK here { http://bit.ly/2m77EgH } ......................................................................................................................... Download EPUB Ebook here { http://bit.ly/2m77EgH } ......................................................................................................................... Download doc Ebook here { http://bit.ly/2m77EgH } ......................................................................................................................... ......................................................................................................................... ......................................................................................................................... .............. Browse by Genre Available eBooks ......................................................................................................................... Art, Biography, Business, Chick Lit, Children's, Christian, Classics, Comics, Contemporary, Cookbooks, Crime, Ebooks, Fantasy, Fiction, Graphic Novels, Historical Fiction, History, Horror, Humor And Comedy, Manga, Memoir, Music, Mystery, Non Fiction, Paranormal, Philosophy, Poetry, Psychology, Religion, Romance, Science, Science Fiction, Self Help, Suspense, Spirituality, Sports, Thriller, Travel, Young Adult,
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here

pixivのタグ情報+cytoscape+PHPで、「魔法少女まどか☆マギカ」をネットワーク分析

  1. 1. 魔法少女まどか☆マギカを ネットワーク解析するまで 立ちマミさん(yもも氏) pixivイラストID:45063978
  2. 2. 目次 はじめに プログラム編 • 情報収拾の流れ • pixivイラスト検索API • pixivイラスト検索APIのデー タ構造 • プログラムでpixiv APIを読み 込む • PHP側の準備(1)〜(4) cytoscape編 • ソフトウェア「cytoscape」 • cytoscapeを起動 • Cytoscapeでグラフを描画 • Cytoscapeのグラフのデザイ ン 結果発表 • 結果発表(1)〜(2) • 謝辞 • 参考にしたWebサイト グラフ編 • グラフとは? • グラフ基礎知識(1)〜(2)
  3. 3. はじめに • 本スライドの対象 – データマイニング、機械学習、自然言語処理など を始めたい人 – pixiv APIの使い方が分からない人 • 本スライドの趣旨 – 「ネットワーク分析」と言う技術を題材に、 pixivイラスト検索APIの活用法を説明 – pixiv APIをExcelなどで使うためのテクニックを 収録
  4. 4. グラフ編 立ちマミさん(yもも氏) pixivイラストID:45063978
  5. 5. グラフとは? • 例えば上図においてA駅とB駅まで移動す る事を考える • A駅とB駅の曲がり具合は考えず、A駅とB 駅「つながり方」のみに注目 • このようにA駅とB駅のつながり方を図に した物をグラフと言う
  6. 6. グラフに関する基礎知識 • 一般にグラフG=(V,E)は節点Vの集合と 辺Eの集合からなる • 例えば右図のような場合、AからDを節 点、それらを結ぶ線の事を辺と呼ぶ 有向グラフ • 上図のように、各節点対(u,v)において方向(矢印) が定められているモデル 無向グラフ • 各節点対(u,v)において方向を考えないモデル 辺と節点 グラフの種類
  7. 7. グラフに関する基礎知識(2) • 上図は重み付き有向グラフの一例 • 重み付き有向グラフは、例えば東京駅から新宿 駅まで、どのルートを通ると最短で移動できる かを調べる時などに用いられる 重み付き有向グラフ • 節点対(u,v)の関係に重みと呼ばれる数値が伴うモデル
  8. 8. プログラム編 立ちマミさん(yもも氏) pixivイラストID:45063978
  9. 9. 情報収拾の流れ • 3:保存したcsvを「Cytoscape」で読み込み、 ネットワークを作成してみる • 次のページでは、1,2を行うのに必須のpixiv イラスト検索APIについて説明する • 1:pixivイラスト検索APIでカップリングの組み合わせ20 通りの情報を取得 • 2:各組み合わせ300枚分の閲覧数の合計を計算し、csv に保存する • 下記の3つの手順により情報収拾を行う
  10. 10. pixivイラスト検索API • pixivの特定のイラストにおけるページ数や閲覧数の情報 がcsv形式でまとめられたもの • 以下のURLにアクセスするとcsvファイルを取得できる http://spapi.pixiv.net/iphone/search.php?&s_mode=s_tag&word =(A)%20&order=date&PHPSESSID=0&p=1 • ここでWebブラウザからアクセスすると以下の ように表示される
  11. 11. pixivイラスト検索APIのデータ構造 • pixivのイラスト検索APIのデータ構造の一部は以下 • 表作成にあたり「Pixivイラスト検索APIの取得結果のデータ 構造を調べる(nezuq氏:Qiita)」を抜粋 • http://qiita.com/nezuq/items/e4c55bb9c68bf5785e73 列の内容 列の内容 イラストID illust_id 使用ソフト tool_name 作者ID user_id 評価回数 evaluate_cnt 拡張子 extension 総合点 evaluate_sum タイトル title 閲覧数 view_cnt サーバ番号 server_no キャプション caption 作者名 user_name ページ数 page_cnt 128*128画像のURL Illust_128_url 作者ID(表示名) user_disp_id 480mw画像のURL Illust_480mw_url R18フラグ r18_flg 投稿日時 Illust_entry_dt 作者画像URL user_url タグ tags
  12. 12. プログラムでpixiv APIを読み込む • pixivのイラスト検索APIは、Python、R、PHPの 各言語から呼び出す事ができる • インターネットでは以下が主に使われている – R + igraphに依る方法 – Python + NetworkXに依る方法 • そこで本記事ではPHP + Cytoscapeを用い た方法を紹介
  13. 13. PHP側の準備(1):状況の確認 • 下は「まどほむ」タグにおけるAPI • 上の(23019)と言った、閲覧数の合計を 抽出 • この23019が、左から数えて何番目かを 確認
  14. 14. PHP側の準備(2):API呼び出し $view_cnt = 0; $pixiv_url =<APIのURL>; $pixiv_csv = file_get_contents($pixiv_url); まずpixiv APIのcsvファイルをfile_get_contentsで取得 $pixiv_csv_row = explode(“n”, $pixiv_csv); for($k=0;$k<count($pixiv_csv_row);$k++) { $pixiv_csv_col = explode(",", $pixiv_csv_row[$k]); $view_cnt += str_replace('"',’’$pixiv_csv_col[17]); } 次に取得したcsvファイルから合計を算出 行と列との分離にexplode
  15. 15. PHP側の準備(3):csvに出力 • 次に項目(フィールド)の順番に注意 – Cytoscapeの場合 [(節点の)矢印の始点、矢印の終点、重み]の順 – フィールドの順番は予め確認しておく • 最後に文字コードに注意する – mb_convert_encodingの第二引数はコンフィグで変え られるようにしておく – 文字コードはutf8が無難(Excelの場合ならSJIS) $csv_word .= mb_convert_encoding($character_name[$i],$character,"auto"); $csv_word .= ",".mb_convert_encoding($character_name[$j],$character,"auto"); $csv_word .= ",".$view_cnt."n"; • csvに出力する場合、以下のようにcsvのデータ格納用の変 数($csv等)を用意しておく
  16. 16. PHP側の準備(4):補足 • ソースコードの全容を見たい方は https://gist.github.com/ryuichi69/25d58a6aef40cbe7d508 • csvをPHPの配列に格納する方法が分かりにくい 場合は http://lmaker.blog17.fc2.com/blog-entry-62.html
  17. 17. cytoscape編 立ちマミさん(yもも氏) pixivイラストID:45063978
  18. 18. ソフトウェア「cytoscape」 • Cytoscapeとはネットワーク分析を行なう 為のソフト • ソフトのインストールは http://www.cytoscape.org
  19. 19. cytoscapeを起動 • まず「File」→「Session」を選択 • 次にメニュー3番目 「Import Network From File」を 選択し、csvを読み込む • csvを読み込むとInteraction Difinitionが登場 • 上において • Source Interactionに矢印の始点の節点 • Interaction Typeにグラフの重み • Target Interactionに矢印の終点の節点 にあたるcsvの列を選択
  20. 20. Cytoscapeでグラフを描画 • グラフのレイアウトを変えたいときはメニュー の「Layout」 • 自分は「Degree Sorted Circle Layout」を良く使 う • 選択後、右図のようにグラフの形状が変化
  21. 21. Cytoscapeのグラフのデザイン • グラフの「Control Panel」では図の微調整が可 能(左図) • このとき一番上のバーを選択すると、グラフの デザイン例を選ぶ事が可能(中図) • 最終的にレイアウト変更ができた(右図)
  22. 22. 結果発表 立ちマミさん(yもも氏) pixivイラストID:45063978
  23. 23. 結果発表(1) • 各カップリング毎の投稿数を下表にまとめる • 「まどほむ」「ほむまど」等順序が違う場合も別々 に集計 • 閲覧数累計50万以上の組み合わせは以下の通り 「まどほむ」「ほむまど」「マミほむ」「ほむマミ」「マミ杏」 「さや杏」「杏さや」「さやまど」 まど ほむ さや 杏 マミ まど 0 1,311,188 458,567 52,353 420,492 ほむ 1,428,102 0 715,201 230,813 1,127,690 さや 621,758 800,636 0 732,965 343,152 杏 330,751 300,852 844,842 0 361,395 マミ 553,836 1,117,441 572,302 517,635 0
  24. 24. 結果発表(2) • 最後にcytoscapeでネットワーク図を作ったものを公開 • まどほむのカップリング熱が高いのが一目で分かる
  25. 25. 謝辞 本スライド作成にあたって協力して下さったすべての方に 感謝申し上げます。 スライドのイラスト 立ちマミさん(yもも氏):pixivイラストID:45063978 Qiita Pixivイラスト検索APIの取得結果のデータ構造を調べる (nezuq氏) http://qiita.com/nezuq/items/e4c55bb9c68bf5785e73
  26. 26. 参考になったWebサイト(1) pixivのタグ頻度から考えるラブライブのカップリング 驚異のアニヲタ社会復帰への道 http://d.hatena.ne.jp/MikuHatsune/20130905/1378299747 pixiv のタグ情報を用いた「ラブライブ! School idol project」の カップリングネットワークの構築 (iwi) 備忘録 http://iwiwi.hatenadiary.jp/entry/2014/06/28/003736 【Python】【pixiv】pixivAPIから、アニメキャライラストのタグデータを csvで出力する 歩いたら休め http://kiito.hatenablog.com/entry/2013/11/26/212139
  27. 27. 参考にしたWebサイト(2) 【D3.js】Gunma.webのソーシャルグラフ作ってみた。 GUNMA GIS GEEK http://shimz.me/blog/node-js/2701 csvを配列に格納する方法・二次元配列 [csvを配列に格納して表示する] 忘却のWEBプログラマー人生辞書 http://lmaker.blog17.fc2.com/blog-entry-62.html Cytoscape J http://cytoscape.wordpress.com/
  28. 28. ご清聴ありがとうございました 立ちマミさん(yもも氏) pixivイラストID:45063978

×