OLAPを利用したLinked Dataの分析処理

1,585 views

Published on

井上寛之,天笠俊之,北川博之, "OLAPを利用したLinked Dataの分析処理", 情報処理学会 第74回全国大会, 2N-2, 2012年3月6日-8日.

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
1,585
On SlideShare
0
From Embeds
0
Number of Embeds
4
Actions
Shares
0
Downloads
2
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

OLAPを利用したLinked Dataの分析処理

  1. 1. OLAPを利用したLinked Dataの分析処理 井上寛之1,天笠俊之2,3,北川博之2 1 筑波大学 情報学群 情報科学類 2 筑波大学 システム情報系 情報工学域 3 宇宙航空研究開発機構 宇宙科学研究所 宇宙科学情報解析研究系 1
  2. 2. 発表の流れ背景目的関連研究提案手法実験まとめ今後の課題 2
  3. 3. セマンティックウェブとRDFセマンティックウェブ  Web上のリソースにメタデータを付け,コンピュータが 人間と同じように意味を理解できるようにする試み  リソース:文書,画像,…RDF(Resource Description Framework)  情報を記述するための基本的なモデル  三つ組(トリプル):主語,述語,目的語  主語の属性・プロパティを述語で,その値を目的語で記述  グラフ構造を構成する hasタイトル http://www.tsukuba.ac.jp/ “筑波大学” 楕円:リソース,矩形:リテラル(文字列) 3
  4. 4. Linked Data目的: 人々や組織が構造化されたデータを Webで共有することを可能にする  RDFを用いてデータの属性・プロパティを記述  より多くのデータの活用を促進特徴  HTTPを用いて,リソース (URI) を参照可能  標準化された技術 (RDF, URI, SPARQL) で構成されるLinked Open Data  数値統計データを含む,様々な分野のデータ  人,企業,政府,生物学,医学,書籍,音楽,気象,…  295データセット,310億トリプル,5.4億データセット間リンク1 4 1: http://www.w3.org/wiki/SweoIG/TaskForces/CommunityProjects/LinkingOpenData
  5. 5. Linked Dataとして公開された数値・統計データ に対する分析処理が必要とされている 5
  6. 6. OLAP(On-Line Analytical Processing)大量に蓄積されたデータに対して,複雑で統計 的な問合せを行う分析手法の一つ  データキューブ カテゴリ OS Mac Win  数値(事実) PC ノート デスク  分析の軸(次元) 北海道 32 686  概念階層 東 東北 128 2 8 100 64 地方 東京 386 686 386 8 32 大阪 128 2 西 4 16 広島 386 16 64 8 福岡 64 32 686 Q1 Q2 128 Q3 上期 Q4 下期 時期 6 図: http://www.atmarkit.co.jp/fwin2ktutor/sql02/sql02_03.html
  7. 7. 関係データベースを利用したOLAP関係データベースに格納されたデータを利用  スタースキーマ カテゴリ OS Mac  数値(事実表) Win PC ノート  分析の軸(次元表) デスク 北海道 32 686 次元表 128 カテゴリ 東 東北 8 2 100 64 ID 地方 東京 386 大カテゴリ 686 386 8 32 大阪 小カテゴリ 128 2 西 4 16 広島 事実表 386 16 売上実績 64 次元表 次元表 福岡 8時期 ID 地方 64 32 686ID カテゴリ_id ID Q1 Q2 128上期下期 時刻_id 東西 Q3 Q4 上期四半期 店舗_id 都市名 下期 売上高 時期 図: http://www.atmarkit.co.jp/fwin2ktutor/sql02/sql02_03.html 7
  8. 8. 本研究の目的と課題目的 Linked Dataとして一般に公開されている数値・統計 データを,OLAPにより分析可能にする手法の提案課題 Linked DataからOLAP分析へのマッピング  RDF(グラフ構造)を直接OLAPするのは困難  既存のOLAPシステムを用いた分析を行うための変換  OLAPでは分析の軸が必要  軸に利用する概念階層の作成 8
  9. 9. 関連研究Benediktら1  OLAP分析を行うための,Linked Dataの変換  RDF Data Cube(QB)Vocabulary の利用  RDFで,データキューブを記述するための語彙  Cube Vocabulary 準拠のデータを関係DBに格納  概念階層はRDFで記述されている  データ公開時からOLAP分析の対象として, Cube Vocabularyに準拠したデータは尐ない1. B. Kampgen, and A. Harth. Transforming Statistical Linked Data for Use in OLAP Systems,I-SEMANTICS 2011, 7th Int. Conf. on Semantic Systems, 2011. 9
  10. 10. 本研究では,一般的なLinked Dataに対して,OLAPを利用した分析処理を行う手法を提案する 10
  11. 11. 問題に対する本研究のアプローチ RDF(グラフ構造)を関係スキーマにマッピング データおよびデータ間の情報から概念階層を半自動的に作成 (RDF, Linked Data の特徴を利用) 11
  12. 12. データ取得からスキーマ導出まで1. RDFデータの取得 2. RDFを関係データベースへ格納 3. ユーザーによる分析対象の選択 4. 次元表の作成 5. スキーマの導出 12
  13. 13. 1. RDFデータの取得1. RDFデータの取得 2. RDFを関係データベースへ格納 3. ユーザーによる分析対象の選択 4. 次元表の作成分析対象のRDFデータを取得 5. スキーマの導出  RDFダンプの読み込み  URIによるRDFの参照  同一ホスト内のリソース(URI)を再帰的に取得  目的語として利用されている外部リソースも取得 分析対象(www.example.com) 外部リソース(www.w3.org) 13
  14. 14. 1. RDFデータの取得 2. RDFを関係データベースへ格納2. RDFを関係DBへ格納 (1/2) 3. ユーザーによる分析対象の選 4. 次元表の作成トリプルを rdf:type 毎に,RDBに格納 5. スキーマの導出  テーブルのスキーマを決定できない  RDFはスキーマを利用することが定められていない  垂直表現の述語表1に格納 1. DJ Abadiら,2007.つくば店 コンピュータ “190,000” 製品カテゴリ 売上高 店舗 売上実績_1 時刻_1 “売上実績” テーブル(垂直表現) 時刻 主語 述語 目的語 値タイプ 売上実績_1 時刻 時刻_1 リソース 売上実績_2 売上実績_1 製品カテゴリ コンピュー リソース 時刻 タ 時刻_2 売上実績_1 売上高 “190,000” リテラル 売上高 売上実績_1 店舗 つくば店 リソースrdf:type “4,000” 売上実績_2 時刻 時刻_2 リソース売上実績 店舗 売上実績_2 売上高 “4,000” リテラル 水戸店 14 売上実績_2 店舗 水戸店 リソース
  15. 15. 1. RDFデータの取得 2. RDFを関係データベース2. RDFを関係DBへ格納 (2/2) 3. ユーザーによる分析対 4. 次元表の作成垂直表現から水平表現へ変換 5. スキーマの導出  各 “rdf:type” がどのような属性を持つか把握できた“売上実績” テーブル(垂直表現)主語 述語 目的語 値タイプ 売上実績売上実績_1 時刻 時刻_1 リソース 主語[PK]売上実績_1 製品カテゴリ コンピュー リソース 時刻[FK] タ 製品カテゴリ[FK]売上実績_1 売上高 “190,000” リテラル 売上高売上実績_1 店舗 つくば店 リソース 店舗[FK]売上実績_2 時刻 時刻_2 リソース 得られたスキーマ売上実績_2 売上高 “4,000” リテラル PK: 主キー FK: 外部キー売上実績_2 店舗 水戸店 リソース“売上実績” テーブル(水平表現)主語[PK] 時刻[FK] 製品カテゴリ[FK] 売上高 店舗[FK]売上実績_1 時刻_1 コンピュータ “190,000” つくば店売上実績_2 時刻_2 null “4,000” 水戸店 15
  16. 16. 1. RDFデータの取得3. ユーザーによるメジャーの選択 2. RDFを関係データベースへ格納 3. ユーザーによる分析対象の選 4. 次元表の作成OLAPの分析対象とする値(メジャー)の 5. スキーマの導出 選択をユーザーに依頼する 在庫 主語 製品カテゴリ 売上実績 製品名 主語 主語 製品カテゴリ_ID 名称 製品カテゴリ_ID 店舗_ID時刻 時刻_ID 在庫数主語 店舗_ID 店舗日時 売上高 主語 地名_ID gn:地名 主語 来客実績 地名 主語 店舗_ID 時刻_ID 来客数 16
  17. 17. 1. RDFデータの取得 4. 次元表の作成 2. RDFを関係データベースへ格納 3. ユーザーによる分析対象の選 4. 次元表の作成 OLAPに利用する次元表を作成する 5. スキーマの導出1  本研究では三種類の作成方法を提案 2 データに直接記述されたリテラルの利用 データに直接記述された階層構造の利用 事実表 製品カテゴリ 売上実績 主語 主語 時刻 名称 3 製品カテゴリ_ID 主語 データセット外部にある 時刻_ID 日時 階層構造の利用 店舗_ID 売上高 店舗 gn:地名 主語 主語 地名_ID 地名 青背景は,外部ホストのデータ 17
  18. 18. 3 データセット外部にある階層構造の利用 予め階層構造を取得できると把握されている外部 データセットの利用 外部データセット(リソース) 分析対象 つくば市 日本 水戸市 茨城県 階層構造 例)GeoNames  地理情報の階層構造を取得できるとわかっている  つくば市/茨城県/日本/アジア 18
  19. 19. 1. RDFデータの取得5. スキーマの導出 2. RDFを関係データベースへ 3. ユーザーによる分析対象 4. 概念階層の作成例)売上高 がメジャーとして選択された場合 5. スキーマの導出  事実表)売上実績  次元表)販売時刻,製品カテゴリ,店舗-gn:地名 製品カテゴリ 時刻 主語 実績 主語 名称 次元表 主語 時 製品カテゴリ_主語 店舗-gn:地名 日 販売時刻_主語 主語 月 販売店舗_主語 L1(市区町村) 四半期 売上高 L2(都道府県) 年 事実表 次元表 L3(国) L4(大陸) 次元表 19
  20. 20. 実験目的  Linked Dataとして公開されている数値データを対象に, 本手法を用いてOLAPに用いるスキーマの導出が可能か検証実験1)空間放射線量 観測データ  National Radioactivity Stat as Linked Data1  文部科学省発行の環境放射能水準調査2をRDF化したデータセット実験2)気象観測データ  Linked Sensor/Observation Data3  米国二万箇所以上の観測所メタデータ  上記観測所から得られた気象観測データ 1 http://www.kanzaki.com/works/2011/stat/ra/ 2 http://radioactivity.mext.go.jp/ja/monitoring_by_prefecture/ 20 3 http://wiki.knoesis.org/index.php/LinkedSensorData
  21. 21. 実験1)結果(1/2) 放射線量 観測データはクローリングして取得  トリプル数:1,003,410 個(2011年03-12月)  地理情報:GeoNames ダンプデータの利用 rdf:type  観測インスタンス,観測時刻,観測地(GeoNames) 観測インスタンス 観測値 rdf:value ra:20110315/p02/t20 “0.040” ev:place ev:time 観測地 gn:2111833 観測時刻 tl:at time:20110315T22PT1H “2011-04-14T00:00:00”^^xsd:dateTime“ra” は “http://www.kanzaki.com/works/2011/stat/ra/”,”time” は “http://www.kanzaki.com/works/2011/stat/dim/d/”“gn” は “http://sws.geonames.org/”,”ev” は “http://purl.org/NET/c4dm/event.owl#” 21”tl” は “http://purl.org/NET/c4dm/timeline.owl#”,”rdf” は “http://www.w3.org/1999/02/22-rdf-syntax-ns#”
  22. 22. 実験1)結果(2/2) 観測値をメジャーとした場合のスキーマを導出  事実表)観測値を含む,観測インスタンステーブル  次元表) 1. 観測時刻(観測時刻から階層構造を作成) 2. 観測地(GeoNamesのリソースから階層構造を取得)次元表 事実表 次元表time(観測時刻) observation_instance place(観測地)subject(主語) (観測インスタンス) subject(主語)sec(秒) subject(主語) layer_1(市区町村)min(分) place (Place_subject) layer_2(都道府県)hour(時) time (Time_subject) layer_3(国)day(日) value(観測値) layer_4(大陸)month(月)year(年) value(観測値)が文字列として扱われた  OLAP分析には,利用者によるデータ型の補完が必要 22
  23. 23. 実験2)結果(1/2)ダンプデータの利用 ハリケーン Bill(2009年8月17-22日)  トリプル数:231,021,108個 / 観測回数:21,272,790回 地理情報:GeoNames ダンプデータを利用メジャー候補を列挙 観測時刻,観測値,観測所座標,…観測値をメジャーとした場合のスキーマを導出 事実表)観測値を含む,観測と観測値を統合したテーブル 次元表) 1. 観測時刻(観測時刻から得た階層構造) 2. 観測所(観測所の外部リソースから得た階層構造) 23
  24. 24. “-121.6736"^^xsd:float “45.0397”^^xsd:float gn:Feature wgs48:latwgs48:long “3780"^^xsd:float om-owl:hasLocation wgs48:alt wgs84:Point om-owl:LocatedNearRel om-owl:processLocation om-owl:hasLocatedNearRel om-owl:System 観測所 om-owl:procedure Linked Sensor Data Linked Observation Data om-owl:generatedObservation om-owl:result 観測値 om-owl:MeasureData instantOfObservation om-owl:floatValue 観測インスタンス “81.3” ^^xsd:float om-owl:samplingTime time:inXSDDateTime “2004-08-10T16:10:00-06:00” time:Instant ^^xsd:dateTime 観測時刻 “wgs84” は “http://www.w3.org/2003/01/geo/wgs84_pos#” の略 “time” は “http://www.w3.org/2006/time#” の略 “gn” は “http://www.geonames.org/ontology#” の略 “om-owl” は “http://knoesis.wright.edu/ssw/ont/sensor-observation.owl#” の略 24 “xsd” は “http://www.w3.org/2001/XMLSchema#” の略
  25. 25. 実験2)結果(2/2) 導出されたスキーマ 次元表 System_LocatedNearRel 次元表 (観測所-周辺-その他) 事実表Instant(観測時刻 Observation_MeasureData subject(主語)subject(主語) (観測-観測値) ID(名称)sec(秒) subject(主語) Source URImin(分) procedure (System_subject) wgs84:alt(高度)hour(時) samplingTime (Instant_subject) wgs84:lat(緯度)day(日) floatValue(観測値) wgs84:long(経度)month(月) layer_1(町)year(年) layer_2(郡) layer_3(州) layer_4(国) 問題点 layer_5(大陸)  消滅した外部オントロジ  “weather:” オントロジ* * http://knoesis.wright.edu/ssw/ont/weather.owl# 25
  26. 26. まとめOLAPによるLinked Dataの分析処理を提案  RDF,Linked Dataの特徴を生かした処理  データの内部,および外部の関係から階層構造を取得二種類の観測データに本手法を適用  分析対象を決めた時の,分析の軸を準備  OLAP分析に利用するスタースキーマを導出 26
  27. 27. 今後の課題 同じ述語で異なる目的語を複数持つトリプルへの対応 本手法は “rdf:type” に強く依存  “rdf:type” が,複数記述されている主語に対する処理  “rdf:type” が,記述されていない主語に対する処理 より多くのデータセットを分析可能にするために  より多くのオントロジ・データセットへの対応  階層構造の定義はオントロジ・データセット毎にまちまち 他の分野のデータへの適用,検証 27
  28. 28. ご清聴ありがとうございました 28

×