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.

PGXによる学術文献データの分析

177 views

Published on

PGXによる学術文献データの分析

Published in: Software
  • Login to see the comments

  • Be the first to like this

PGXによる学術文献データの分析

  1. 1. PGXによる学術文献データの分析 PGXユーザー勉強会#5 Mio Takei, Keisuke Honda
  2. 2. 前回のおさらい • プロジェクト概要 – 研究成果(論文等)から抽出されるデータを用いて、研究機関、 研究者のパフォーマンスを把握するための指標(インデックス)を開発 – 本プロジェクトでは、「論文の引用-被引用ネットワーク」のデータを利用した、 研究における「異分野融合の進展や効果を公正かつ適切に評価」する指標を ターゲット – 以下の流れで分析中 2 引⽤-被引⽤ネットワーク:有向⾮巡回グラフ 論⽂A 論⽂B 論⽂C 論⽂D 関係データ⾏列表現 雑誌に付与された分野IDのセットで集約 l個のブロックに分割 k 個 の ブ ロ ッ ク に 分 割 確率的ブロックモデル(SBM)を⽤い クラスタ分類
  3. 3. 今回の内容 • 前回までの結果をPGX のデータに変換し、分析 分野ID ごとの引用-被引用関係の関係データ行列 確率的ブロックモデル(SBM)を用いたクラスタ結果 (15クラスタ数のものを利用) 分野ID 1、5 C14 分野ID 3、6 C9 … 分野ID=1 クラスタ番号=14 分野ID=2 クラスタ番号=13 引用数=16852 分野ID=3 クラスタ番号=9 引用数=9 引用数=992 PGX 用のグラフデータに変換 … …
  4. 4. やってみた データのロード pgx> G = session.readGraphWithProperties("adj_list_cluster.json") pgx> analyst.pagerank(G, 0.0001, 0.85, 100) ページランクの計算 クラスタごとにページランクを合計し、合計したページランクが低い順に表示 pgx> G.queryPgql(" pgx> SELECT n.cluster, sum(n.pagerank) AS sum_pagerank pgx> WHERE (n) pgx> GROUP BY n.cluster ORDER BY sum_pagerank pgx> ").getResults() ==> n.cluster(INTEGER)=0 sum_pagerank(DOUBLE)=0.0110773348639506 ==> n.cluster(INTEGER)=11 sum_pagerank(DOUBLE)=0.020312595090387905 ==> n.cluster(INTEGER)=8 sum_pagerank(DOUBLE)=0.03755630103537656 ==> n.cluster(INTEGER)=5 sum_pagerank(DOUBLE)=0.04089094952370574 ==> n.cluster(INTEGER)=12 sum_pagerank(DOUBLE)=0.06018916942420414 ==> n.cluster(INTEGER)=7 sum_pagerank(DOUBLE)=0.07208125032160698 ==> n.cluster(INTEGER)=6 sum_pagerank(DOUBLE)=0.07344488328895958 ==> n.cluster(INTEGER)=2 sum_pagerank(DOUBLE)=0.07596533950324032 ==> n.cluster(INTEGER)=9 sum_pagerank(DOUBLE)=0.07861241730109866 ==> n.cluster(INTEGER)=1 sum_pagerank(DOUBLE)=0.08369227392733092 [rest of output truncated] クラスタ=0の ページランクの 合計が最も低い あまり引用されていな い分野グループ
  5. 5. やってみた データのロード pgx> G = session.readGraphWithProperties("adj_list_cluster.json") pgx> analyst.pagerank(G, 0.0001, 0.85, 100) ページランクの計算 クラスタごとにページランクを計算し、ページランクが低い順に表示 pgx> G.queryPgql(" pgx> SELECT n.cluster, sum(n.pagerank) AS sum_pagerank pgx> WHERE (n) pgx> GROUP BY n.cluster ORDER BY sum_pagerank pgx> ").getResults() ==> n.cluster(INTEGER)=0 sum_pagerank(DOUBLE)=0.0110773348639506 ==> n.cluster(INTEGER)=11 sum_pagerank(DOUBLE)=0.020312595090387905 ==> n.cluster(INTEGER)=8 sum_pagerank(DOUBLE)=0.03755630103537656 ==> n.cluster(INTEGER)=5 sum_pagerank(DOUBLE)=0.04089094952370574 ==> n.cluster(INTEGER)=12 sum_pagerank(DOUBLE)=0.06018916942420414 ==> n.cluster(INTEGER)=7 sum_pagerank(DOUBLE)=0.07208125032160698 ==> n.cluster(INTEGER)=6 sum_pagerank(DOUBLE)=0.07344488328895958 ==> n.cluster(INTEGER)=2 sum_pagerank(DOUBLE)=0.07596533950324032 ==> n.cluster(INTEGER)=9 sum_pagerank(DOUBLE)=0.07861241730109866 ==> n.cluster(INTEGER)=1 sum_pagerank(DOUBLE)=0.08369227392733092 [rest of output truncated] クラスタ=0の ページランクの 合計が最も低い あまり引用されていな い分野グループ クラスタ=0 医療と倫理や心理のクラスタ 医療、ヘルスケア、倫理学、心理学、犯 罪学、社会福祉 クラスタ=11 物質や材料などを中心とした工学 寄りのクラスタ 物質化学(特性評価・テスト・コーティ ング・フィルム)、鉱業・鉱物加工、 生物多様性保全、工学、力学、 ナノサイエンス
  6. 6. 今後の課題 • 分野ID毎の論文数の偏りの補正 – 分野ID 毎に論文数が異なるため、正規化が必要 – Green-Marl を利用してPMI(Pointwise Mutual Information)を実装し実現予定 • 異分野度を評価する指標の算出方法の検討 – とある分野ID の論文がとある分野ID に引用されていた場合、 それがどれだけ異分野融合を起こしているかのスコアリングをしたい – Elastic Map を利用して算出することを検討中 6

×