O slideshow foi denunciado.
Utilizamos seu perfil e dados de atividades no LinkedIn para personalizar e exibir anúncios mais relevantes. Altere suas preferências de anúncios quando desejar.

オントロジー工学に基づくセマンティック技術(2)ナレッジグラフ入門

JSAI2019 チュートリアル講演
2019年度 人工知能学会全国大会(第33回)
2019年6月5日

  • Entre para ver os comentários

オントロジー工学に基づくセマンティック技術(2)ナレッジグラフ入門

  1. 1. オントロジー工学に基づく セマンティック技術 大阪電気通信大学 情報通信工学部 情報工学科 古崎 晃司 kozaki@osakac.ac.jp JSAI2019 チュートリアル講演 2019年度 人工知能学会全国大会(第33回) 2019年6月5日 資料のダウンロード http://ur0.link/Cwfg (2)ナレッジグラフ入門
  2. 2. 自己紹介 ◼ コミュニティ活動 2019/6/5 2 研究成果として 公開中のソフト ◼ 古崎(こざき)晃司@koujikozaki ◼ 所属:大阪電気通信大学・教授 ◼ 専門:オントロジー工学(情報科学・人工知能) =“かしこい”コンピュータ(ソフトウェア)を作る →学問にとどまらず, 世の中で使われる技術を作りたい LOD技術普及の ためのコンテスト (2011~) シビックテック (市民×IT)活動 セマンティックウェブとオントロジー(SWO)研究会 の特別企画(2011~)
  3. 3. はじめに,質問 ◼ 「ナレッジグラフ(Knowledge Graph/知識グラ フ)」という言葉を聞いたことがある人? ◼ 「Linked Data」「LOD(Linked Open Data)」 という言葉を聞いたことがある人? ◼ Webページを作ったことがある人? ◼ Web(インターネット)を使ったことある人? 2019/6/5 3
  4. 4. 講義概要 ◼ セマンティックウェブ(Semantic Web) ◼ ナレッジグラフ(Knowledge Graph/知識グラフ) ◼ Linked Data/Linked Open Data(LOD) ◼ ナレッジグラフ/Linked Data/LODの利用技術 ◼ ナレッジグラフの構築・利用例 ◼ ナレッジグラフ推論チャレンジ ◼ 医療分野での応用事例~疾患コンパス~ 2019/6/5 4
  5. 5. セマンティックウェブ (Semantic Web) • 従来のWebからセマンティックウェブへ • セマンティックウェブ研究の変遷 2019/6/5 5
  6. 6. Webの基本的仕組み ◼ Webを構成する基本的な技術 ◼ URL(Uniform Resource Locator) ◼ Web(インターネット)上の文書の置き場所を表す ◼ 現在は,URLの拡張版であるURI(Uniform Resource Identifier) および,IRI(Internationalized Resource Identifier)が使用される ◼ HTML(HyperText Markup Language) ◼ Webページを記述するためのマークアップ言語. ◼ ハイパーリンク(hyperlink)により,他のWebページとの関連(リンク) を記述することができる. ◼ (従来の)Webの本質 ◼ URLで示された文書をハイパーリンクを用いて関連づけることにより,リン クを辿って,世界中の(インターネットに接続された)コンピュータで公開さ れた文章を,自由に閲覧(ブラウジング)できる. ◼ 誰でも,自由に情報を発信できる. 2019/6/5 6
  7. 7. 従来のWebから セマンティック(Semantic Web)へ ◼ 従来のWeb ◼ 「人が読む(理解する)」ためのWeb ◼ 文書共有のためのWeb ◼ 人が「読みやすい」(=見た目)が大事 ◼ セマンティックウェブ(Semantic Web) ◼ 「コンピュータが理解(意味処理)可能」 なWeb ◼ データのためのWeb ◼ データの「処理がしやすい」ことが大事 ◼ データの「意味が理解できる(処理できる)」 2019/6/5 7
  8. 8. 従来のWebの仕組み:HTMLの例 2019/6/5 8 閲覧中のWebページのURL <h3><a href=“http://headlines.yahoo.co.jp/hl?a=20130528-00000501-fsi- bus_all”>デジタル家電価格に底入れの兆し 「数から質へ」競争も変化</a> </h3> デジタル家電の価格下落に底入れの兆しが出てきた。「値段が張っても機能性 を重視する消費者が増えてきた」(アナリスト)ことが要因だ。価格競争に苦しんで きた電機メーカーにとっては吉報といえそうだ。夏商戦で各社はフルハイビジョンの 約4倍の解像度の「4K」に対応した次世代テレビなどを投入予定で、需要の掘り起 こしに躍起になっている。 (SankeiBiz) <br> <a href="http://headlines.yahoo.co.jp/hl?a=20130528-00000501-fsi- bus_all">[記事全文]</a><br> <br> ◇価格低下から転換?<br> ・ <a href="http://headlines.yahoo.co.jp/hl?a=20130429-00000005-san- bus_all">電機大手どうなる「通信簿」 脱デジタル家電で明暗</a> - 産経新聞 (4月29日) <br> ・ <a href="http://headlines.yahoo.co.jp/hl?a=20130416-00000004-rbb- sci">デジタル家電が値上がり傾向、背景に“アベノミクス”と“円安”あり? カカクコ ム調べ</a> - RBB TODAY(4月16日) <br> ソースファイル(HTML)では,文書に「タ グ」を付与することで様々な情報を付与 ハイパーリンクを表すタグ 文字サイズを 表すタグ 改行を表すタグ
  9. 9. Semantic Webの概要 ◼ Semantic Webとは ◼ 従来の「人が読む(理解する)ためのWeb」から, 「コンピュータが理解(意味処理)可能なWeb」へ ◼ 技術的には, ◼ Web上のドキュメントにコンピュータによる意味処理に用 いる「メタデータ」を付与する(タグを付ける)」 ◼ その際に用いるフォーマットが「RDF」 ◼ メタデータに用いる語彙を定義するのが「オントロジー」 (RDFSやOWLで書かれる) ◼ RDFで書かれたメタデータを検索するためのクエリー言 語が「SPARQL」 ◼ ... 2019/6/5 9 「データの意味を表す」メタデータ(タグ)
  10. 10. Layer Cake ◼ Semantic Webに必要な要素技術を階層状に表したもの 2019/6/5 10 http://www.w3.org/2001/09/06-ecdl/slide17-0.html http://www.dajobe.org/talks/200905-redland/
  11. 11. Semantic Webの研究動向の変遷 ◼ 研究動向(流行トピック)の変遷 ◼ 語彙(オントロジー)に基づいたメタデータによる意味処理の実現 ◼ 誰がメタデータを?→Web2.0的共同構築 ◼ データ(インスタンス)のLinkの重視:Linked Data 2019/6/5 11 リ ッ チ な 意 味 記 述 スケーラビリティ(大量データ) Semantic Web (の理想) すぐに使えるタグを(RSS,FOAF) SNS利用・Web2.0 DBPedia × Linked Data 2004-2006 2007 2008- Knowledge Graph 2012-
  12. 12. ナレッジグラフ (Knowledge Graph) • さまざまな「知識」の関係(つながり)をグラフ構造 で表したもの. • 知的システム開発の基盤となるデータベース(知 識ベース)として用いられる. • オントロジ―/Semantic技術の立場からは, ナレッジグラフ=オントロジー+Linked Data • オントロジ―:クラス(一般化された)レベルの知識 • Linked Data:インスタンス(具体例)レベルの知識 2019/6/5 12
  13. 13. Google Knowledge Graph 2019/6/5 13 • Knowledge Graph (知識グラフ) と呼ばれる,知識の“つながり”を 活用した様々なサービスの開発が, Google,Yahoo!,Facebookなど多 くのネット企業で進められている. →Google Knowledge Graphは 2012年サービス開始 https://www.youtube.com/watch?v=mmQl6VGvX-c
  14. 14. Knowledge Graphの検索例 2019/6/5 14
  15. 15. ナレッジグラフの技術基盤 ◼ 知識獲得 ◼ どのようにして「知識」を集めるか? ◼ Webを知識源とした知識収集 例)Webマイニング,セマンティックWeb ◼ 知識表現 ◼ あつめた「知識」をどのようにコンピュータ上で表現 するか? ◼ グラフ構造=意味ネットワーク ◼ ナレッジグラフの公開 ◼ Web-API ◼ Linked Data,Linked Open Data(LOD) 2019/6/5 15
  16. 16. Google Knowledge Graphの場合 ◼ 情報源 ◼ Freebase, Wikipediaなどのオープンな情報源 ◼ Googleのサービスから得られる様々なデータ ◼ データの規模(2012時点) ◼ 5億(500 million)以上のobjects ◼ 35億(3.5 billion)以上のfacts/relationships ◼ 想定している利用目的 ◼ 1. Find the right thing ◼ 2. Get the best summary ◼ 3. Go deeper and broader 2019/6/5 16 Introducing the Knowledge Graph: things, not strings May 16, 2012,https://googleblog.blogspot.jp/2012/05/introduci ng-knowledge-graph-things-not.html より
  17. 17. 2019/6/5 17
  18. 18. 2019/6/5 18 現代の生活を可能にするために必要な全てのデータ構 造やアルゴリズムの中でも、グラフは日々世界を変えて います。ビジネスからは、複雑な関係性を持つリッチな データが生まれ続け、また取り込まれ続けています。 しかし開発者は未だにトラディショナルなデータベースの 中でグラフのような複雑な関係性を扱うことを強要されて います。
  19. 19. Linked Data (LD) Linked Data =Webの仕組みを用いて相互に“リンクされた” データ 2019/6/5 19
  20. 20. Linked Data(2007頃-) ◼ Linked Data:Web上のデータを,つなぐ(linkする)ことで,新しい価値 を生み出そうとする取り組み.Webの創始者Tim Berners-Lee氏が提唱 ※ Linked Open Data(LOD):オープンな形で公開されたLinked Data 2019/6/5 20 http://linkeddata.org/ “Webの仕組み”に基づいてデータを公開することで, Web上に公開された膨大なデータを 統合した1つの知識ベースとして利用可能にする.
  21. 21. Webの仕組み ◼ URLを指定することで,Webページにアクセス ◼ 例)http://www.osakac.ac.jp 「大阪電気通信大学」 のページ ◼ URLは,世界中“すべて”のWebページの場所(ID) を一意に特定できる仕組み ◼ ハイパーリンクにより,Webページを“つなげる” ◼ リンク先のURLを指定することで,好きなWebページ と自由に“リンク”できる ◼ リンクを辿って,様々な情報にたどり着ける ◼ リンクを解析による様々なビジネス ◼ 例)Googleなどの検索エンジン 2019/6/5 21
  22. 22. Webの仕組み→Linked Data ◼ URLを指定することで,Webページにアクセス ◼ 例) http://www.osakac.ac.jp 「大阪電気通信大学」の ページ ◼ URLは,世界中“すべて”のWebページの場所(ID) を一意に特定できる仕組み ◼ ハイパーリンクにより,Webページを“つなげる” ◼ リンク先のURLを指定することで,好きなWebページ と自由に“リンク”できる ◼ リンクを辿って,様々な情報にたどり着ける ◼ リンクを解析による様々なビジネス ◼ 例)Googleなどの検索エンジン 2019/6/5 22 データ データ Linked Data Webと同じ仕組みでデータを“公開”し, 相互に“つなぐ”(リンクする) URI・IRI データ(モノ・コト) データ(モノ・コト)
  23. 23. データを「つなげる」仕組み ◼ 「3つ組(トリプル)」により様々な構造のデータの “つながりを柔軟に表現”できる ◼ Webサイトのリンクを辿るのと同様に,プロパティ(リンク)を辿る ことで関連するデータの情報を辿ることが出来る. ◼ RDFのプロパティは,“関係の意味”を定義できる. ◼ cf. Webのハイパーリンクは単に“つながり”を表すのみ ◼ データ(リソース)をIRIで表すことで,“外部のデータとつ なげる”ことができる. ◼ URIは,グローバルに一意のIDを表す. ◼ WebサイトのURLと同じ仕組み. ◼ cf.単なる数字をIDとすると,異なるDBが同じIDを使っている可能性 がある ◼ Linked Data = 外部のデータとつながったデータ ≠ RDFフォーマットのデータ 2019/6/5 23
  24. 24. Linked Data (RDF)の表現例 2019/6/5 24 日本 大阪電気 通信大学 国 1924 設立 寝屋川市 129613133 (VIAF) 国立国会図書館典拠ID 位置する行政区 http://www.wikidata.org/entity/Q7105556 というIRIから得られ る情報の一部(Wikidataより) 00370288 (Web NDL Authorities) skos:exactMatch 大阪電気通信大学標目 リソース: IRIで表される事物 プロパティ: リソース間(もしくはリ ソースとリテラル間)の 関係を表す リテラル :文字列 主語 述語 目的語 トリプル(3つ組み) ①RDFは「トリプルの組み合わせ」 で表される ②目的語が他のリソースのとき,トリプル を辿って更なる情報が得られる
  25. 25. Linked Data (RDF)の表現例 2019/6/5 25 http://www.wikidata. org/entity/Q17 http://www.wikidata. org/entity/Q7105556 https://www.wikidata.org/entry/P17 1924 https://www.wikidata.org/entry/P571 http://www.wikidata. org/entity/Q389633 http://viaf.org/ viaf/129613133 https://www.wikidata.org/entry/P349 https://www.wikidata.org/entry/P131 http://id.ndl.go.jp/auth /ndlna/00296951 http://www.w3.org/2004/02/skos/core#exactMatch 大阪電気通信大学 http://www.w3.org/2008/05/skos-xl#prefLabel すべてのリソースおよび プロパティはIRI用いて 表される
  26. 26. Linked Data (RDF)の表現例 2019/6/5 26 http://www.wikidata. org/entity/Q17 http://www.wikidata. org/entity/Q7105556 https://www.wikidata.org/entry/P17 1924 https://www.wikidata.org/entry/P571 http://www.wikidata. org/entity/Q389633 http://viaf.org/ viaf/129613133 https://www.wikidata.org/entry/P349 https://www.wikidata.org/entry/P131 http://id.ndl.go.jp/auth /ndlna/00296951 http://www.w3.org/2004/02/skos/core#exactMatch 大阪電気通信大学 http://www.w3.org/2008/05/skos-xl#prefLabel すべてのリソースおよび プロパティはIRI用いて 表される 部分的に同じよ うなIRIが多数, 用いられる wd: wdt: wdt: wdt: wdt: wd: PREFIX(接頭語) で置き換える wd:
  27. 27. PREFIX:IRIの省略表現 2019/6/5 27 wd:Q17 wd:Q7105556 wdt:P17 1924 wdt:P571 wd:Q389633 http://viaf.org/ viaf/129613133 wdt:P349 wdt:P131 http://id.ndl.go.jp/auth /ndlna/00296951 http://www.w3.org/2004/02/skos/core#exactMatch 大阪電気通信大学 http://www.w3.org/2008/05/skos-xl#prefLabel 部分的に同じよ うなIRIが多数, 用いられる PREFIX(接頭語) で置き換える
  28. 28. Linked Dataとオントロジー ◼ RDFで表現されたデータの意味を明確にし,Web上で共有するには, RDF記述に用いる「語彙」を統一する必要がある. →用いる「語彙」をオントロジーとして定義する. ◼ Linked Dataにおけるオントロジーの役割 ◼ データ記述に用いる「語彙」(=リソースとプロパティの種類)を規定する. 2019/6/5 28 情報工学 入門 古崎 担当教員 所属 情報工学科 藤田 担当教員 所属授業コード 280598 講義 Class Property 教員 人間 担当教員 所属 rdfs:subClassOf rdfs:subClassOf rdfs:subClassOf rdfs:subPropertyOfrdfs:subPropertyOf rdfs:type rdfs:type rdfs:type rdfs:type rdfs:type rdfs:type rdfs:type インスタンス クラス
  29. 29. RDFSとOWL ◼ セマンティックウェブにおいてオントロジー記述に用いら れる言語 ◼ RDFS(RDF Schema) ◼ クラスおよびプロパティのis-a階層 ◼ プロパティの定義域(domain)/値域(range):主語/目的語と なれるリソースの種類 ◼ OWL(Web Ontology Language) ◼ あるクラスの持つプロパティの値域に関する制約 →述語論理における全称記号(∀),存在記号(∃)に相当する表現 ◼ あるクラスが持つプロパティの数に関する制約 ◼ プロパティの推移律(例:「子孫の子孫」は「子孫」) ◼ ..など,より詳細なオントロジーの記述が可能 2019/6/5 29
  30. 30. Linked Dataの公開方法 ◼ 参照解決可能なhttp IRIs(URL,URI)を用いた公開 ◼ IRIでデータにアクセスが可能 ◼ 通常のWebページと同様に,データのURIを用いて 「つながり」を辿ることが出来る =システムによる処理(リンク解析等)が可能 ◼ SPARQLエンドポイントの公開 ◼ RDF用のクエリ言語SPARQLにより検索可能なAPIを公開 ◼ クエリによるデータ検索・抽出が可能 ◼ RDFファイルのダンプの公開 ◼ 全データをダウンロードできる形で公開 ◼ ダウロードしたファイルをRDFパーサー,RDF-DBなどの ツールを用いて処理可能 2019/6/5 30
  31. 31. Linked Open Data (LOD) Linked Open Data =Linked Data + Open Data(オープンデータ) =Linked Dataとして公開されたOpen Data 2019/6/5 31
  32. 32. オープンデータとは ◼ オープンデータとは ◼ 誰でも自由に使える形で公開されているデータ ◼ オープンデータの定義(Open Definition) ◼ “Open data and content can be freely used, modified, and shared by anyone for any purpose” (http://opendefinition.org/) ◼ オープンデータでない例 ◼ 改変や再配布が禁止されている ◼ 利用者を限定 例)学術機関のみ,個人利用不可 ◼ 利用目的を限定 例)商用利用不可,コンテスト応募目的のみ 2019/6/5 32
  33. 33. 5 ★ オープンデータ 2019/6/5 33 http://5stardata.info/ より オープン ライセンス (形式問わず) 機械可読な フォーマット オープンな フォーマット
  34. 34. 5★オープンデータにおけるLOD ◼ ★★★★ (RDF) 物事を示すのにURL(IRI)を使いましょう,そうすることで 他の人々があなたのデータにリンクすることができます ◼ ★★★★★ (LOD) あなたのデータのコンテキストを提供するために 他のデータへリンクしましょう →LOD(Linked Open Data) =Web上で相互にリンクされたOpen Data ※リンクする際には「Webの仕組み」を利用する ◼ データ(物事)を示すのにURL(正確にはIRI)を用いる ◼ データ間を(名前付き)Hyper-linkでリンクする 2019/6/5 34 http://5stardata.info/ja/ より引用
  35. 35. TED Talk by Tim Berrners Lee (1) 2009/2 ~Raw Data Now!~ http://www.ted.com/talks/tim_berners_lee_on_the_next_web.html データを抱え込むのでは無く, 誰もが使えるように(オープンに) することを呼びかける =Raw Data Now! (生データをすぐに!) 352018/9/25
  36. 36. TED Talk by Tim Berrners Lee (1) 2010/2 ~LODの活用事例~ http://www.ted.com/talks/tim_berners_lee_the_year_open_data_went_worldwide.html オープンデータの活用事例を紹介 ・白人/黒人の住む家と水道管の整備状況 の相関を見える化→裁判で勝利へ ・Where does my money go? (税金はどこへ行った?) (英国) http://wheredoesmymoneygo.org/ (横浜市) http://spending.jp/ 362018/9/25
  37. 37. LOD公開の世界的なひろがり ~LODクラウド~ 2019/6/5 37 2007/5/1 2007/10/82008/9/182009/7/14 2010/9/222011/9/19時点 Linking Open Data cloud diagram 2014, by Max Schmachtenberg, Christian Bizer, Anja Jentzsch and Richard Cyganiak. http://lod-cloud.net/ 1つの丸が個別に公開 されたDBを表す. 2014/08/30時点 DBpedia
  38. 38. LOD公開の世界的なひろがり ~LODクラウド~ 2019/6/5 38 2018-05-30 (1,186データセット) http://lod-cloud.net/ ★
  39. 39. LODの世界的なひろがり 2019/6/5 39 Linking Open Data cloud diagram,http://lod-cloud.net/ 2007/5 12データセット 2014/8 2009/7 2017/2 1,139データセット LODの公開は, この10年で 急速に広まっている
  40. 40. 日本語で使えるLODの例 2019/6/5 40 法人インフォ(経済産業省) eStat 統計LOD 国立国会図書館LOD 大阪市オープンデータポータル DBpedia(WikipediaのLOD) Wikidata
  41. 41. DBpedia/Wikidata in LODクラウド 2019/6/5 41 DBpedia Wikidata
  42. 42. DBpedia 2019/6/5 42 Wikipediaの各記事のインフォボックスの情報を抽出して自動 生成されるLOD 様々なデータをつなぐLODのハブ的な存在となっている. http://dbpedia.org/ 日本語版のDBPediaは http://jp.dbpedia.org/ インフォボックスの例
  43. 43. DBpediaのデータ例(大阪市) 2019/6/5 43 すべてのWikipediaの記事が http://ja.dbpedia.org/resource/大阪市 のようなURL(IRI)でデータ化されている 生データの取得 検索API プログラムからの データ取得も可能
  44. 44. Wikidata 2019/6/5 44 • ウィキメディア財団が運営する Wikipediaの「データ版」 • Wikipediaと同じようにデータを コミュニティで編集,公開できる • Wikipediaの「多言語リソース」 の相互リンクのために整備 • SPARQLエンドポイントや各種検 索ツールなども提供 http://wikidata.org/
  45. 45. WikipediaからWikidataへ 2019/6/5 45 Wikipediaの各記事から 対応する Wikidata項目へのリンク
  46. 46. Wikidataのデータ例(1/2) 2019/6/5 46 Wikidataにおいて 「大阪電気通信大学(Q7105556)」にアクセスした例 https://www.wikidata.org/wiki/Q7105556 さまざまな言語での 「ラベル」,「概要説明」,「別名」
  47. 47. Wikidataのデータ例(2/2) 2019/6/5 47 述 語 (プ ロ パ テ ィ ) 目 的 語 (オ ブ ジ ェ ク ト ) 他のリソース へのリンク
  48. 48. LOD/Linked Dataの例 統計LOD 2019/6/5 48 http://data.e-stat.go.jp/lodw/
  49. 49. LOD/Linked Dataの例 Web NDL Authorities 2019/6/5 49 https://id.ndl.go.jp/auth/ndla/ ・SPARQLエンドポイントあり ・参照解決可能 .rdf .ttl .json
  50. 50. LOD/Linked Dataの例 CiNii(メタデータAPI) 2019/6/5 50 http://ci.nii.ac.jp/ https://support.nii.ac.jp/ja/cia/api/a_rdf https://support.nii.ac.jp/ja/cia/api/a_json ・参照解決可能 rdf .json
  51. 51. 大阪市のオープンデータポータル 2019/6/5 51 2017/6/28 時点の データ数 オープンデータの一部を LODのAPIで公開 https://data.city.osaka.lg.jp/ 2016年3月17日 オープン
  52. 52. LOD/Linked Dataの例 BioPortal 2019/6/5 52 https://bioportal.bioontology.org/ 米国The National Center for Biomedical Ontology(NCBO)により運営されている ライフサイエンス分野のオントロジーレポジトリ
  53. 53. LOD/Linked Dataの例 The NBDC RDF Portal 2019/6/5 53 https://integbio.jp/rdf/ 国内のライフサイエンス関連のRDFデータ を集めたポータルサイト
  54. 54. LOD/Linked Dataの例 Japan Search 2019/6/5 54 https://jpsearch.go.jp/
  55. 55. まとめ: Linked Open Dataの基盤技術 ◼ Linked Dataは,Web上で公開されたデータを 「つなぐ」仕組み ◼ URL(IRI)を用いたグローバルに一意なデータの識別 ◼ データ間の“リンク” ◼ Webと同じ仕組みを用いたデータのアクセス ◼ IRIによる直接アクセス ◼ SPARQLエンドポイント(API)によるアクセス ◼ これらの仕組みが標準化されているため, データの共有が容易に行える. ◼ オープンに公開されているLinked Data(LOD)を利用す ることで, -データ構築コストの削減, -データへのセマンティクスの付与 が可能に! 2019/6/5 55
  56. 56. ナレッジグラフ/ Linked Data/LODの利用技術 2019/6/5 56
  57. 57. RDFを扱うための技術・ツール ◼ SPARQL ◼ RDFデータベース用のクエリ言語 ◼ SPARQLハンズオン資料 https://github.com/KnowledgeGraphJapan/LODws1st/tree/m aster/SPARQL-Lec ◼ RDF用のライブラリ ◼ https://github.com/KnowledgeGraphJapan/sparql-library- examples にプログラム言語でのサンプルあり ◼ Javaを使うなら,Apache Jenaがおススメ ◼ OWL形式のファイルを開くには ◼ protégéなどのオントロジーエディタを使用(RDFファイルも開ける) https://protege.stanford.edu/ ◼ RDFファイルをDBに格納して使用するには ◼ FusekiやVirtuosoなどのRDF-DBを使用 ◼ チュートリアル資料 ◼ Jena,Fusekiの簡単な使用方法,SPARQLクエリの書き方など https://github.com/KnowledgeGraphJapan/LODws2nd 2019/6/5 57
  58. 58. Linked Dataの利用形態 ◼ Linked Dataから知識を検索/抽出 ◼ 事実情報の取得 ◼ 解析に用いるデータ(一覧)の取得 ◼ 複数のLinked Dataの統合(マッシュアップ) ◼ Linked Dataを用いたメタデータの付与 ◼ 文献等のメタデータとして利用 ◼ 自然言語文へのアノテーションでの利用 2019/6/5 58
  59. 59. 例)LODからの事実情報の取得 ◼ DBpediaを百科事典的な “知識”(事実情報)を取得する ための汎用情報源として利用 2019/6/5 59 医療分野での利用例 http://lodc.med-ontology.jp/ 生物分野での利用例 http://biomimetics.hozo.jp/ 多言語対応も可能!
  60. 60. 例)Bpedia/Wikidataからの解析用 のデータ取得 ◼ 簡単なランキングデータの取得 ◼ 例)都道府県毎の「〇〇」の数 ◼ 政治家(出生地)...1位は東京 ◼ 「??」 ...1位は大阪 ◼ 簡単な場所情報の取得 ◼ 位置情報データの一覧 ◼ 例:大阪市内の位置情報 http://lodosaka.jp/tool/wikidataMap/ ◼ 例:東京都内の位置情報 http://lodosaka.jp/tool/wikidataMapTokyo/ 2019/6/5 60 (解説)Qiita:DBpediaを使った都道府県別ランキング http://qiita.com/koujikozaki/items/439fa7ce3e28b738fe10
  61. 61. DBpedia Japaneseの検索例 ◼ 「各都道府県で生まれた政治家の数」を調べる PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> PREFIX dbpedia-owl: <http://dbpedia.org/ontology/> PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> PREFIX dbpedia-ja: <http://ja.dbpedia.org/resource/> PREFIX category-ja: <http://ja.dbpedia.org/resource/Category:> select distinct ?pref (count(?s) AS ?c) where { ?pref rdf:type dbpedia-owl:Place. ?pref dbpedia-owl:wikiPageWikiLink category-ja:日本の都道府県. ?s rdf:type dbpedia-owl:Politician; dbpedia-owl:birthPlace ?pref. }GROUP BY ?pref ORDER BY ?c 2019/6/5 61 (解説)Qiita:DBpediaを使った都道府県別ランキング http://qiita.com/koujikozaki/items/439fa7ce3e28b738fe10
  62. 62. DBpedia Japaneseの検索例 ◼ 「各都道府県で生まれた芸人の数」を調べる PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> PREFIX dbpedia-owl: <http://dbpedia.org/ontology/> PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> PREFIX dbpedia-ja: <http://ja.dbpedia.org/resource/> PREFIX category-ja: <http://ja.dbpedia.org/resource/Category:> select distinct ?pref (count(?s) AS ?c) where { ?pref rdf:type dbpedia-owl:Place. ?pref dbpedia-owl:wikiPageWikiLink category-ja:日本の都道府県. ?s rdf:type dbpedia-owl:Comedian; dbpedia-owl:birthPlace ?pref. }GROUP BY ?pref ORDER BY ?c 2019/6/5 62 ここを, Politician→Comedian に変えるだけ!
  63. 63. Wikidataを用いたランキング ◼ 「日本の政治家の出身大学」ランキング →実行結果 select ?univ ?univl (count(?s) As ?c) where{ ?univ wdt:P31/wdt:P279* wd:Q3918. #大学の一覧取得 ?s wdt:P27 wd:Q17; #国籍=日本 wdt:P106 wd:Q82955; #職業=政治家 wdt:P69 ?univ. #出身大学 OPTIONAL{ ?s rdfs:label ?name. FILTER(lang(?name)="ja") ?univ rdfs:label ?univl . FILTER (lang(?univl) = "ja") . } }GROUP BY ?univ ?univl ORDER BY DESC(?c) LIMIT 100 2019/6/5 63 政治家の出身大学ランキング https://qiita.com/koujikozaki/it ems/a049e2ac1051e0e43be6
  64. 64. Wikidataを用いたランキング ◼ 「日本の総理大臣の出身大学」ランキング →実行結果 select ?univ ?univl (count(?s) As ?c) where{ ?univ wdt:P31/wdt:P279* wd:Q3918. #大学の一覧取得 ?s wdt:P27 wd:Q17; #国籍=日本 wdt:P106 wd:Q82955; #職業=政治家 wdt:P39 wd:Q274948; #公職=内閣総理大臣 wdt:P69 ?univ. #出身大学 OPTIONAL{ ?s rdfs:label ?name. FILTER(lang(?name)="ja") ?univ rdfs:label ?univl . FILTER (lang(?univl) = "ja") . } }GROUP BY ?univ ?univl ORDER BY DESC(?c) LIMIT 100 2019/6/5 64 政治家の出身大学ランキング https://qiita.com/koujikozaki/it ems/a049e2ac1051e0e43be6 この1行を 追加する
  65. 65. SPARQLクエリの基礎 SPARQL:Linked Dataを検索するためのクエリ (データベースへの問い合わせ)言語 • 今回の解説では,WikidataのSPARQLエンドポイント(検索 用API) https://query.wikidata.org/ を用いる • SPARQLハンズオン資料 https://github.com/KnowledgeGraphJapan/LODws1st/tree /master/SPARQL-Lec のクエリを抜粋して説明 652019/6/5
  66. 66. SPARQLによるRDFの検索 ◼ SPARQL ◼ RDFデータに対するクエリ言語 ◼ 「指定したグラフ構造」に一致するトリプルを検索する ◼ 最も基本的な検索 select ?s ?p ?o where { ?s ?p ?o . } LIMIT 100 ↑取得する数の制限 ←検索するグラフのパターン ←返す要素 このパターンを変 えることで,欲しい データを取得する 2019/6/5 「.」(ピリオド) を忘れない ?x(x:任意の文字列)は変数を表す 66
  67. 67. グラフパターンによる検索 日本 大阪大学 国 おおさかだいがく読み仮名 吹田市 00296951 (VIAF) 国立国会図書館典拠ID 本部所在地 00296951 (Web NDL Authorities) skos:exactMatch 大阪大学標目 2019/6/5 ?s ?o ?p 検索するグラフパターン ?s ?p ?o 主語 述語 目的語 SPARQLでの記述 67
  68. 68. 検索例1: 主語と述語を指定して「目的語」を取得 “<主語>の<述語>は何?” 2019/6/5 大阪大学 ?o 本部所在地 検索するグラフパターン <大阪大学> <本部所在地> ?o 主語 述語 目的語 SPARQLでの記述 68 主語 述語 目的語
  69. 69. 検索例1のグラフパターン 日本 大阪大学 国 おおさかだいがく読み仮名 吹田市 00296951 (VIAF) 国立国会図書館典拠ID 本部所在地 00296951 (Web NDL Authorities) skos:exactMatch 大阪大学標目2019/6/5 主語= <大阪大学> 大阪大学 ?o 本部所在地 検索するグラフパターン <大阪大学> <本部所在地> ?o 主語 述語 目的語 SPARQLでの記述 述語= <本部所在地> 69
  70. 70. 検索例1:主語と述語を指定 ◼ 例1-1) 「大阪大学」の「設立年」となる目的語(?o)を取得 PREFIX wd: <http://www.wikidata.org/entity/> PREFIX wdt: <http://www.wikidata.org/prop/direct/> select ?o where { wd:Q651233 wdt:P571 ?o . }LIMIT 100 2019/6/5 「設立年」を表すプロパティ(述語) 70 大阪大学 目的語(検索対象) 目的語(検索対象) ※省略表現を使うための設定記述(Wikidataでは省略可)
  71. 71. 検索例2 :複数の「目的語」を取得する 2019/6/5 71
  72. 72. グラフパターンの組み合わせ 2019/6/5 ?s ?o2 ?p1 検索するグラフパターン ?s ?p1 ?o1. ?s ?p2 ?o2. SPARQLでの記述 ?p2 ?o1 ?s ?o2 ?p1 検索するグラフパターン ?s ?p1 ?o1. ?o1 ?p2 ?o2. SPARQLでの記述 ?p2 ?o1 72 ?o2 ?o1 ?p2 検索するグラフパターン ?s ?p1 ?o1. ?o2 ?p2 ?s. SPARQLでの記述 ?p1 ?s
  73. 73. 例2-1:複数の述語を指定して, 目的語を取得する ◼ 「大阪大学」の“本部所在地”と“創立日”取得する PREFIX wdt: <http://www.wikidata.org/prop/direct/> PREFIX wd: <http://www.wikidata.org/entity/> select ?o1 ?o1Label ?o2 where { wd:Q651233 wdt:P159 ?o1. wd:Q651233 wdt:P571 ?o2. SERVICE wikibase:label { bd:serviceParam wikibase:language "[AUTO_LANGUAGE],ja". } } 2019/6/5 本部所在地 73 創立日 クエリを複数書くと,AND 条件として検索される
  74. 74. 例2-2:複数の述語を指定して, 目的語を取得する ◼ 「大阪大学」の“本部所在地”の“行政区(何県に あるか?)”を取得する select ?o1 ?o1Label ?o2 ?o2Label where { wd:Q651233 wdt:P159 ?o1. ?o1 wdt:P131 ?o2. SERVICE wikibase:label { bd:serviceParam wikibase:language "[AUTO_LANGUAGE],ja". } } 2019/6/5 本部所在地 74 位置する行政区画
  75. 75. 検索例3: 述語と目的語を指定して「主語」を取得 “<述語>が<目的語>となる<主語>は?” 2019/6/5 ?s 日本 国 検索するグラフパターン ?s <国> <日本> 主語 述語 目的語 SPARQLでの記述 75
  76. 76. グラフパターンによる検索 日本 大阪大学 国 おおさかだいがく読み仮名 吹田市 00296951 (VIAF) 国立国会図書館典拠ID 本部所在地 00296951 (Web NDL Authorities) skos:exactMatch 大阪大学標目2019/6/5 ?s 日本 国 検索するグラフパターン ?s <国> <日本> 主語 述語 目的語 SPARQLでの記述 76
  77. 77. 検索例3:述語と目的語を指定 ◼ 例)3-1:「国が“日本”」となる主語(?s)を取得 ◼ 「主語」の取得は検索結果が多数となる場合が多いる PREFIX wd: <http://www.wikidata.org/entity/> PREFIX wdt: <http://www.wikidata.org/prop/direct/> select ?s ?sLabel where { ?s wdt:P17 wd:Q17 . SERVICE wikibase:label { bd:serviceParam wikibase:language "[AUTO_LANGUAGE],ja". } } LIMIT 100 2019/6/5 日本(目的語)国(述語) 77 結果が多いので,件数の制限をかける
  78. 78. 検索例3:述語と目的語を指定 ◼ 例)3-2:「分類が“大学”」となる主語(?s)を取得 ◼ 分類(incetance-of)を使うと同じ種類のデータ一覧が 取得できる select ?s ?sLabel where { ?s wdt:P31 wd:Q3918 . SERVICE wikibase:label { bd:serviceParam wikibase:language "[AUTO_LANGUAGE],ja". } } LIMIT 100 2019/6/5 大学(目的語)分類(instance-of) 78 Wikidataのみ 他のLODでは, instance-ofではなく,rdf:type が用いられることが多い.
  79. 79. 検索例4 :「主語」と「目的語」の組み合わせ 2019/6/5 79
  80. 80. 例4-1:主語と目的語の組み合わせ ◼ 「本部所在地」の「主語」と「目的語」の組み合わ せ取得する select ?s ?sLabel ?o ?oLabel where { ?s wdt:P159 ?o. SERVICE wikibase:label { bd:serviceParam wikibase:language "[AUTO_LANGUAGE],ja". } } LIMIT 100 2019/6/5 80 本部所在地
  81. 81. 例4-2:主語と目的語の組み合わせ ◼ 「本部所在地」の「主語」と「目的語」の組み合わ せのうち,「主語が大学である」ものを取得する select ?s ?sLabel ?o ?oLabel where { ?s wdt:P31 wd:Q3918 . ?s wdt:P159 ?o . SERVICE wikibase:label { bd:serviceParam wikibase:language "[AUTO_LANGUAGE],ja". } }LIMIT 100 2019/6/5 81 本部所在地の主語と述語 主語が大学である ※「主語」の条件を絞り込むことができる insetance-of 大学
  82. 82. ナレッジグラフの構築・利用例 • ナレッジグラフ推論チャレンジ • 疾患コンパス 2019/6/5 82
  83. 83. CC-BY4.0:人工知能学会 セマンティクWebとオントロジー(SWO)研究会CC-BY4.0:人工知能学会 セマンティクWebとオントロジー(SWO)研究会 人工知能学会セマンティックウェブとオントロジー(SWO)研究会 公式サイト http://challenge.knowledge-graph.jp/ ★
  84. 84. CC-BY4.0:人工知能学会 セマンティクWebとオントロジー(SWO)研究会 第1回:開催スケジュール 2017/02/26 推論チャレンジ(仮称)の構想開始 in 第41回SWO研究会@志賀島 2017/11/25 第1回公開WS:推論チャレンジ(仮称)開催予告 in 第43回SWO研究会@人工知能学会合同研究会2017 2017/12/19 第2回公開WS:スキーマ検討会 2018/02/28 第3回公開WS:スキーマ設計会 2018/03/18 第4回公開WS:ナレッジグラフの構築テスト in 第44回SWO研究会@五島市(合宿)併設ワークショップ 2018/04/23 第5回公開WS:「推論チャレンジ」ワークショップ 2018/06/05 ナレッジグラフ公開・チャレンジ開始 2018/08/07 応募に向けた技術勉強会 2018/10/18:応募に向けた技術勉強会(2回目) 2018/10/30: チャレンジ応募締切(11/11まで延長) 2018/11/25: 発表会&授賞式 in 第45回SWO研究会@淡路島(JIST2018併設イベント) 84 構想9カ月 開催準備 6カ月
  85. 85. CC-BY4.0:人工知能学会 セマンティクWebとオントロジー(SWO)研究会 開催趣旨 “何に”チャレンジするのか? ➢シャーロック・ホームズのような “推理”(推論)ができるAI技術の開発 にチャレンジする! ➢具体的には, 与えられた事実(情報)に基づいて… ✓事件の犯人を,正しく突き止める ✓その理由(証拠,トリック,etc.)を,適切に説明する →“説明能力(解釈可能性)”をもったAI技術の開発 2019/6/5 85
  86. 86. CC-BY4.0:人工知能学会 セマンティクWebとオントロジー(SWO)研究会 第1回推論チャレンジ2018 タスク(課題)の概要 ➢推理小説の内容をもとに,事件の背景,起こった出 来事,人物像などを知識化したナレッジグラフ(LOD) を用いて,“犯人を推理する” ➢ただし,“その理由をきちんと説明できる”こと! 対象とする推理小説 ➢「シャーロック・ホームズ」短編シリーズから人気No.1 の「まだらのひも」をナレッジグラフ(LOD)化 2019/6/5 86 どのような“推理・推論・説明”に, どのような“知識”が,どの程度必要か? を考察するテストケースと位置づけられる.
  87. 87. CC-BY4.0:人工知能学会 セマンティクWebとオントロジー(SWO)研究会 推理(推論)の例 ジュリアの死に不審な点があると,ヘレンから相 談を受ける ↓ ←犯人は現場にいた人【外部知識】 「ジュリアが死んだ日」に現場の屋敷にいた人物 の一覧を取得する ジュリアが結婚すると,ロイロット博士に入るお金 が減る ↓ ←お金は殺人の動機になりうる【外部知識】 ロイロット博士がジュリアを殺す動機になる 2019/6/5 87
  88. 88. CC-BY4.0:人工知能学会 セマンティクWebとオントロジー(SWO)研究会 開催概要 開催期間: ➢2018/10/30: チャレンジ応募〆切 ➢2018/11/25: 授賞式(JIST2018@淡路島・併設) タスク(課題)の概要 ➢推理小説の内容をもとに,事件の背景,起こった出来事, 人物像などを知識化したナレッジグラフ(LOD)を用いて, “犯人を推理する” ➢ただし,(人を犯罪者にする以上) “その理由をきちんと説明できる”こと! 対象とする推理小説 ➢「シャーロック・ホームズ」短編シリーズから人気No.1の 「まだらのひも」をナレッジグラフ化 2019/6/5 88
  89. 89. CC-BY4.0:人工知能学会 セマンティクWebとオントロジー(SWO)研究会 ナレッジグラフの全体像 2019/6/5 89 約400場面をナレッジグラフ化 データ数:4,381トリプル データ公開: ・SPARQLエンドポイント ・可視化ツール ・RDFダンプファイル ・参照解決可能なIRI ・元データ
  90. 90. CC-BY4.0:人工知能学会 セマンティクWebとオントロジー(SWO)研究会CC-BY4.0:人工知能学会 セマンティクWebとオントロジー(SWO)研究会 推論チャレンジにおける ナレッジグラフの構築 902019/6/5
  91. 91. CC-BY4.0:人工知能学会 セマンティクWebとオントロジー(SWO)研究会 ナレッジグラフ化の手順検討 手順決定に至るまでの経緯 ➢ワークショップにてスキーマ検討 ➢テンプレートを作成し,ワークショップ入力テスト →フィードバックを受けて,構築方法再検討 ➢コアメンバー(3名)で構築作業 構築方法の再検討結果 ➢小説全文をKG化 → 推理に必要な部分に絞ってKG化 ➢小説の原文を残しKG化 → 予め,簡易な日本語に直したものKG化 ➢構築方法が決定したら,クラウドソーシングでKG化 →ワーカへの支持が難しそうなので,学生バイトで… →(1年目は)コアメンバーで手分けしてKG化 912019/6/5
  92. 92. CC-BY4.0:人工知能学会 セマンティクWebとオントロジー(SWO)研究会 実際のナレッジグラフ化の手順 1. 小説の内容から,ナレッジグラフ化の対象とする部分を抽出 (赤色でマーク) 2. 1.でマークした部分を(中心に),短い文を箇条書きした形 に要約する ➢ 短い一文を「一つの場面」とする 例)ホームズはそれをヘレンに説明した。 ヘレンは真っ青になった。 3. 要約した短い文を基に,ナレッジグラフ化する情報を 「テンプレート」に記入 ➢ 場面ごとにIDを付与,表記ゆれを統制,場面間の関係性の記述... 1. 全体を3つに分けて分担作業(1人7-10時間程度の作業) 途中,作業方針すり合わせのミーティングを開催(2-3回) 2. 各単文を英訳+表記統制 3. 場面の関係性,時間の記述+最終確認 4. テンプレートに記入いた内容を,プログラムでRDFに変換 922019/6/5
  93. 93. CC-BY4.0:人工知能学会 セマンティクWebとオントロジー(SWO)研究会 ナレッジグラフ化の考え方 ナレッジグラフの要求仕様 ➢犯人を推論(推理)するのに必要な知識を提供する ➢「推理小説」で描かれる様々な状況を,できるだけ統一的 な形式で計算機処理(検索・推論・etc.)可能にする ナレッジグラフ化の基本方針 ➢「推理小説」の内容を,最小単位の「場面(シーン)」に分割 →場面ごとにID(IRI)を付与 ➢「各場面の記述内容」および「場面間の関係」をグラフ化 →グラフ化に必要なクラス・プロパティを定義 場面1 場面2 場面3 場面4 場面5 ・・・ ・・・ 932019/6/5
  94. 94. CC-BY4.0:人工知能学会 セマンティクWebとオントロジー(SWO)研究会 抽出した文章+要約の例 2019/6/5 94
  95. 95. CC-BY4.0:人工知能学会 セマンティクWebとオントロジー(SWO)研究会 テンプレートのサンプル 952019/6/5
  96. 96. CC-BY4.0:人工知能学会 セマンティクWebとオントロジー(SWO)研究会 スキーマ:「場面」 場面 原文 主語 述語 目的語 subject hasPredicate source その他 他の場面 場面間 主語 目的語 述語 の形でないことに注意 スキーマの基本構造 「場面」の記述に用いるプロパティ(赤字は必須) ➢ subject:その場面の記述において主語となる人や物 ➢ hasPredicate:その場面の内容を表す述語 ➢ 場面の詳細を表す目的語:whom(だれに), where(どこで), when (いつ), what(何を), how(どのように), …etc. ➢ 場面間の関係:then,if, because, …etc. ➢ time:その場面が起こった絶対時間(xsd:DateTime) ➢ source:その場面の原文(英語/日本語のリテラル) →場面に関わる複数の 情報をまとめるため 「場面」中心に記述 962019/6/5
  97. 97. CC-BY4.0:人工知能学会 セマンティクWebとオントロジー(SWO)研究会 スキーマ設計における工夫点 「事実・状況」と「発言・考え」の書き分け ➢Aの(Bへの)発言,Aの考え :A,Bに相当する人(情報源)を記述 複数の主語・目的語の扱い ➢AND:場面を中心とした記述にしているため,主語/目的 語を表すプロパティを複数記述することで表現 ➢OR:「ORの組み合わせ」を表すリソースを導入することで 統一的な扱いが可能 述語の否定(〇〇しない,できない)の扱い ➢NOT,CanNOTを表す行為クラスを導入 人やものがもつ「性質」 ➢hasProperty+「性質」で表現 972019/6/5
  98. 98. CC-BY4.0:人工知能学会 セマンティクWebとオントロジー(SWO)研究会 例:「場面」の記述 原文(英語/日本語) 各場面には 一意の ID(IRI) を与える 絶対時間※小説内に基準 日時を設定している 主語・述語・目的語は全て 「リソース」として定義 →他の場面で同じ目的語 を参照できる 述語 主語 他の場面 場面の種類(クラス)分け Scene:上位クラス -Situation:事実・状況の描写 -Statement:Aの発言 -Talk:AのBへの発言 -Thought:Aの考え 982019/6/5
  99. 99. CC-BY4.0:人工知能学会 セマンティクWebとオントロジー(SWO)研究会 シーン間の関係 シーン間の関係を表す プロパティ 2019/6/5 99
  100. 100. CC-BY4.0:人工知能学会 セマンティクWebとオントロジー(SWO)研究会 シーン間の関係の種類 シーン間の関係を表す プロパティ 2019/6/5 100
  101. 101. CC-BY4.0:人工知能学会 セマンティクWebとオントロジー(SWO)研究会 クラス,プロパティ一覧 1012019/6/5
  102. 102. CC-BY4.0:人工知能学会 セマンティクWebとオントロジー(SWO)研究会 想定していた応募内容 推理?推論?推定?する手法は,情報技術であれば なんでもOK! ➢手法1 SPARQLで検索して探す ✓例) 特定の時間に特定の場所に居た人をUnionで探す,など ➢手法2 一階述語論理に基づくルールを加えて推論する ✓例) ナイフに個人の指紋がある ⇒ 犯人である,など ➢手法3 オントロジーに基づいて記述論理で推論する ✓例) 犯人クラスを定義し,犯人候補との包摂関係を推論する,など ➢手法4 機械学習を用いて分類,クラスタリングして推定する ✓例) 他の事件における犯人の特徴群から学習・推定する,など 提供されたナレッジグラフ以外の外部知識も利用可 ➢ 適切な推理を進める上で必要な“捜査戦略”や“常識知識”の 導入も,キーポイントの1つ. 2019/6/5 102
  103. 103. CC-BY4.0:人工知能学会 セマンティクWebとオントロジー(SWO)研究会 ナレッジグラフの推論例 2018/08/07ナレッジグラフ推論チャレンジ 「応募に向けた技術勉強会」の発表資料 ➢SPARQLクエリを用いた推論例あり 可視化ツール ➢http://knowledge-graph.jp/visualization/ サンプルクエリ ➢http://challenge.knowledge-graph.jp/2018/sparql.html 2019/6/5 103
  104. 104. CC-BY4.0:人工知能学会 セマンティクWebとオントロジー(SWO)研究会 応募結果 応募数:8作品(本部門:5,アイデア部門:3) 本部門:プログラムで推論を実行して答えを出す ➢【最優秀賞】株式会社野村総合研究所 ➢【優秀賞】上小田中411(株式会社富士通研究所) ➢【ベストリソース賞】FLL-ML(株式会社富士通研究所, 神戸常盤大学,神戸市立西神戸医療センター) ➢teamOIF(立命館大学) ➢塚越雄登(電気通信大学) アイデア部門:どのような推論を行うかのアイデア ➢【ベストアイデア賞】白松研 feat. 59(名古屋工業大学) ➢生島高裕(株式会社数理先端技術研究所) ➢橋本一成,他(富士ゼロックス株式会社) 作品詳細は,公式サイトで公開 2019/6/5 104 第1回開催報告 人工知能学会誌5月号掲載 (「AI書庫」で無料閲覧可)
  105. 105. CC-BY4.0:人工知能学会 セマンティクWebとオントロジー(SWO)研究会CC-BY4.0:人工知能学会 セマンティクWebとオントロジー(SWO)研究会 第2回ナレッジグラフ推論 チャレンジ2019に向けて 1052019/6/5
  106. 106. 第2回推論チャレンジ-開催スケジュール- 2019年3-5月 ➢ ナレッジグラフ構築 ➢ 応募要項等の検討・準備 ➢ 第1回開催報告:人工知能学会誌5月号掲載(「AI書庫」で無料閲覧可) 2019年6月4日 応募開始 ➢ 人工知能学会全国大会(JSAI2019)@新潟にて, 第1回開催報告&第2回応募開始の宣言 ➢ 対象とするナレッジグラフについては,調整中のものを仮公開. 2019年7月 改良版のナレッジグラフを公開 2019年7-9月 ワークショップ開催(企画検討中) 2019年10月末 応募締切 2019年11月末-12月 最終選考会&授賞式 ➢ 人工知能学会合同研究会(11月下旬)@慶応大日吉キャンパス 内での実施を検討中 106
  107. 107. 第2回推論チャレンジ-第1回からの変更点- ナレッジグラフの構築方法の改良 ➢構築作業の効率化による対象KGの拡大 対象とする小説の追加 ➢1+追加4編 = 計5編に 「ツール部門」の新設 ➢タスクを部分的に解く小規模なツールの開発でも 応募可能に 107
  108. 108. ナレッジグラフの構築方法の改良 ナレッジグラフ(KG)の構築方針 ➢基本的に,第1回と同じスキーマを用いて構築する. ➢第1回の開催時に参加から得たフィードバックは適宜反映. →scene間の関係を表す語彙の検討,など ➢複数KG間での語彙統一など,オントロジーの改良(作業中) 構築作業の効率化の工夫 ➢一部の構築作業をアルバイト雇用により実施 →将来的には,クラウドソーシングによる効率化を検討 ➢部分的に,(半)自動処理を導入 →将来的には,KG構築タスクのチャレンジ化を検討 ➢最終的なKGは,上記の処理を経たものをベースにして, 運営メンバーで分担して構築 10 8
  109. 109. 対象とする推理小説・タスク 対象とする推理小説 まだらのひも(第1回のKGの不具合を修正して利用) ➢タスク:ヘレンを殺したのは誰か?(犯人+説明) に加え,新たに,以下の4編をKG化 踊る人形 [Wikipedia][青空文庫] ➢タスク:暗号を解け(暗号の解読) 花婿失踪事件(同一事件) [Wikipedia][青空文庫] ➢タスク:花婿はなぜ消えたか?(説明) 悪魔の足 [Wikipedia][青空文庫] ➢タスク:各人物を殺したのは誰か?(犯人+説明) 背中の曲がった男(曲がれる者)[Wikipedia][青空文庫] ➢タスク:バークリはなぜ死んだのか?(説明) 10 9
  110. 110. タスクの実行条件・応募部門 対象とするKG ➢5つの小説のうち,いずれの小説を対象にしてもよい (どれか1つだけ,2つだけ…などでもOK) ➢できるだけ多くの小説が,同じシステム(仕組み)で解けるとよい ➢各小説で使用するKGの範囲を段階的に変える(昨年同様) →完全(すべてのKG)/不完全(10%)/不完全(10%) ➢ナレッジグラフの独自拡張も可能(昨年同様) 対象とするタスク ➢①本部門:対象小説1つ以上のタスクを解くシステムを開発 ➢②ツール部門:いずれかのタスクを部分的に解くツールを開発 例)容疑者の推定,アリバイ検証,動機説明,など ★「自然言語文をトリプル化」するKG構築支援ツールの応募も可 ➢③アイデア部門:①,②の実現方法のアイデア(実装なしでOK) 110
  111. 111. 応募に向けたヒント 第1回の応募作品(プログラムのコードも含む)は,推論 チャレンジのサイトに公開されているので参考に! ➢すぐに試せるDockerイメージを公開しているチームもあり. 第1回と同様に,利用する技術に制限はありません! ➢知識処理技術以外を用いた応募も歓迎します. 対象KGの不具合があれば,修正しますのでご連絡を… ➢GitHubでのプルリクエストも歓迎 まずは,ツール部門の応募を検討する手も… ➢次年度以降に,ツールを拡張&組み合せて本部門に… 111
  112. 112. ご応募お待ちしています! 【締切:10月末】 112 本活動は,JSPS科研費19H04168 基盤研究(B) 解釈可能なAIシステムの実現に 向けたナレッジグラフに基づく推論・推定技術の体系化,および人工知能学会 研究会特別支援金の助成を受けたものです.
  113. 113. 疾患オントロジーのRDF化と可視化 ー疾患コンパスー ◼ 疾患コンパスの概要・Demo ◼ 技術的詳細 ◼ 疾患コンパスのシステム構成 ◼ 疾患の定義 ◼ 疾患定義のRDF化と可視化 2019/6/5 113
  114. 114. 臨床医学オントロジーを用いた 応用システム開発の枠組み ◼ 「法造」の拡張機能としての開発 ◼ Is-a階層の動的生成 ◼ OWLなど他形式のオントロジー への変換 → 他システムで利用 ◼ 「法造API」を用いた開発 ◼ クライアントシステム ◼ 疾患連鎖編集ツール,因果連鎖探索ツール, 接続探索ツール ◼ Webシステム ◼ オントロジーWebビューア,医療知識ナビゲータ ◼ 「Linked Data技術」を用いた開発 ◼ 疾患連鎖LD :疾患オントロジーをRDF化し,Linked Dataとして公開 ◼ 疾患コンパス :疾患知識のナビゲーション 2019/6/5 114 医療知識 ナビゲーター 因果連鎖探索 ツール 疾患連鎖編集 ツール
  115. 115. 疾患コンパス 疾患に関する様々な情報をナビゲートするWebシステム 2019/6/5 115 表示する疾患の検索・選択 選択した疾患の 因果連鎖を可視化 (疾患連鎖LD) 疾患に関する一般知識 (DBpediaより) リンクを辿ることで 関連する医療コード など外部DBへ 選択した異常状 態の対象部位を ハイライト 疾患が対象とする臓器・ 器官を3D画像で表示 http://lodc.med-ontology.jp/ にて公開
  116. 116. 疾患コンパスのサブシステム① 異常状態オントロジーViewer 2019/6/5 116 異常状態の詳細な定義を 検索・閲覧し,関連情報へ ナビゲートするシステム ・疾患コンパス ・マッピングした外部 リソース(DB) …と連携 詳細な条件で 異常状態を検索 異常状態の is-a(分類)階層 詳細定義 +関連情報
  117. 117. 疾患コンパスのサブシステム② 汎用因果連鎖Viewer 2019/6/5 117 • 疾患連鎖LD内の全因果連鎖を対象と した「検索・閲覧」システム • 「指定した異常状態を含む因果連鎖」 を表示し,そこから「選択した異常状 態を含む疾患」を検索できる • 赤:指定した異常状態 • 緑:原因のみを辿った連鎖 • 紫:結果のみを辿った連鎖
  118. 118. 3つのナビゲーションシステム の連携 2019/6/5 118 疾患定義 異常状態の定義 異常状態の因果連鎖 (疾患連鎖)
  119. 119. 疾患コンパスのデモ ◼ 疾患定義のナビゲーション ◼ 疾患連鎖の可視化 ◼ 関連知識へのナビゲーション ◼ 異常状態の因果連鎖の可視化 ◼ 異常状態の定義(異常状態オントロジー) の閲覧 2019/6/5 119
  120. 120. 疾患コンパスのシステム構成 ◼ 疾患オントロジーをLinked Dataに変換した「疾患連鎖LD」を中心 に,既存サービスやDB(LOD)を連携させることで実装. 2019/6/5 120 DBpedia http://lifesciencedb.jp/bp3d/ 疾患連鎖LD BodyParts3D http://dbpedia.org/ ICD MeSH … 解剖学構造 の3D画像 一般知識 疾患オントロジー convert 疾患コンパス … 他の LOD SPARQL SPARQL SPARQL mapping mapping link link 関連情報 他のWeb サービス API API 関連情報 臨床医が構築 API:サービス間を連携させるための仕組み.システム毎に構築が必要. SPARQL:Linked Dataの検索用に標準化されたクエリ言語.汎用のAPIとして利用可.
  121. 121. 疾患定義における因果連鎖の種類 基本方針:疾患概念を「その原因と途中経過を含めた一連の状態変化の連鎖と, それにより引き起こされている結果状態との総体」として捉える. 疾患概念定義で扱うべき連鎖の種類 ・汎用疾患連鎖:人体で起こりうると思われる全連鎖.すべての疾患から共通して参照される. ・疾患定義連鎖:疾患定義に必要な連鎖.その疾患を発症した患者には共通して見られる. ・派生連鎖:ある疾患定義連鎖から上流/下流方向に汎用連鎖を辿って得られる連鎖. 上流側:その疾患の原因と考えられうる.下流側:その疾患を発症した患者に起こりうる. 2019/6/5 121 汎用疾患連鎖 … … … … … … 派生連鎖 注目する連鎖の範囲 を広げることで疾患 の下位概念を定義 疾患定義連鎖
  122. 122. 糖尿病における疾患連鎖の例 2019/6/5 122 インスリン 作用不足 受容体異常 失明 β細胞 の破壊 高血糖 血中インスリン量 の絶対的低下 ステロイド投与 1型糖尿病 失明を伴った糖尿病 ステロイド糖尿病 糖尿病 注目する連鎖の範囲 (疾患定義連鎖)の違い で各疾患を定義する 疾患定義連鎖の 上流への追加 原因系となる 異常状態の連鎖 結果系となる 異常状態の連鎖 … … … … 疾患定義連鎖の 下流への追加 異常状態を 表すノード 因果関係を 表すリンク 凡例
  123. 123. 糖尿病における疾患連鎖の例 2019/6/5 123 インスリン 作用不足 受容体異常 失明 膵β細胞 の破壊 高血糖 血中インスリン量 の絶対的低下 ステロイド投与 1型糖尿病 失明を伴った糖尿病 ステロイド糖尿病 糖尿病 … … … … 「糖尿病」の下位概念の 派生連鎖の“総和” →「糖尿病」になった患者に発生しうる 異常状態の連鎖 →「糖尿病」の疾患定義として必要な因果連鎖 の広がり 血管障害 多尿 口渇 「糖尿病」の下位概念の 疾患定義連鎖の“総和”
  124. 124. 疾患定義連鎖/派生連鎖の記述 2019/6/5 124 編集している疾患 の疾患定義連鎖 上位疾患から継承され た疾患定義連鎖 派生連鎖 異常状態を表すノードと,因果関係を表すリンクを用いて疾患定義を記述する 例)狭心症の定義 =定義には含まれないが, その疾患で典型的に見られる と思われる異常状態の連鎖
  125. 125. 疾患連鎖LD(Linked Data) ◼ Linked Data化のメリット ◼ Linked Dataの標準仕様に準拠することで,既存の LOD(Linked Open Data)との連携が効率的に行える. ◼ 疾患連鎖LD(Linked Data) ◼ 疾患オントロジーに含まれる「異常状態の因果連鎖」 に基づいた疾患定義と,その患者に典型的に見られ る異常状態(原因や症状)の因果連鎖をLinked Data 化したもの. ◼ 各疾患がどのような原因で発症し,どのような症状を引き起 こすか? ◼ ある異常がどのような因果連鎖を経て,どのような状態を引 き起こし,どのような疾患となるか? …など 2019/6/5 125 得 ら れ る 情 報
  126. 126. 疾患連鎖LDのデータモデル ◼ 「疾患オントロジー」から 異常状態の因果連鎖」に 関する情報のみを抽出し てRDF化 ◼ 「クラス(概念)レベル」の 情報も,Linked Dataとし て利用する際の利便性を 考え,全てインスタンス (RDFリソース)に変換. 2019/6/5 126 異常状態1 異常状態2 異常状態3 異常状態4 異常状態5 異常状態6 「疾患A」の 疾患定義連鎖 「疾患B」の疾患派生連鎖 「疾患A」の 疾患派生連鎖 「疾患B」の疾患定義連鎖 異常状態を 表すノード 因果関係を 表すリンク 凡例 疾患A 異常状態1 異常状態2 異常状態3 hasCoreState hasCoreState hasDerivedState 疾患B 異常状態4 異常状態5 異常状態6 hasCoreState hasDerivedState hasDerivedState hasResult hasCause hasResult hasCause hasResult hasCause hasResult hasCause hasResult hasCause subDiseaseOf Disease typeのインスタンス Abnormal_State typeのインスタンス 凡例 ◼ 疾患連鎖の概念定義を構成し ている全情報が,SPARQLクエリ (=RDF用の問い合わせ言語) を繰り返すことで,直感的に取 得できるように設計.
  127. 127. SPARQL用検索GUI 2019/6/5 127 簡単なクエリ入力補助 疾患コンパスへのリンク 検索結果の可視化 標準化されたWeb-APIとして 外部プログラム開発に利用可能 DEMO
  128. 128. SPARQLクエリの例 ◼ Ex.1) すべての異常状態を取得 Select ?abn Where { ?abn rdf:type don’t:Abnormal_State } ◼ Ex.2) 異常状態<abn_id>の全原因を取得 select ?o where {<abn_id> dont:hasCause* ?o } ◼ Ex.3 異常状態<abn_id>を定義連鎖に含む疾患を取得 select ?dis where {?dis rdf:type dont:Disease ; dont:hasCoreState <abn_id>} 2019/6/5 128 * “dont:” 疾患連鎖LDのURLを示すprefix **<abn_id> 特定の異常状態のID 比較的簡単なクエリで,必要な情報の取得が利用可能
  129. 129. まとめ :疾患オントロジーのRDF化 ◼ 疾患コンパス ◼ 疾患オントロジーをLinked Data化した「疾患連鎖LD」を他 のデータセットとつなげることで「疾患に関する様々な情報 を統合的に閲覧」できるWebサービス. ◼ 現状の機能 ◼ DBpedia(日本語/英語)を介した,疾患の概要表示,ICD, Meshなど既存コード体系へのリンク ◼ DBCLSが提供しているBodyPart3Dとの連携による,疾患 影響範囲(関連する部位)の3D画像を表示 ◼ 異常状態オントロジー/汎用因果連鎖のViewerとの連携 ◼ 公開ページ ◼ http://lodc.med-ontology.jp/ 2019/6/5 129
  130. 130. まとめ ◼ ナレッジグラフ ◼ “知識のつながり”をグラフ構造で表すことで,さまざまな知識 システムの知識基盤を与える. ◼ Linked Data/オントロジーはナレッジグラフ構築に必要な技術. ◼ Linked Data/オントロジー自体もナレッジグラフの一種. ◼ 参考資料 http://knowledge-graph.jp/ (鋭意作成中) ◼ Linked Data/Linked Open Data(LOD) ◼ Webの仕組みを用いて“データのつながり”を公開する仕組み ◼ すでに,多くのLODが公開されている! ◼ まずは,WikidataやDBpediaから使ってみましょう! ◼ ナレッジグラフ推論チャレンジ ◼ ナレッジグラフ利用のテストベッドとして,ご活用ください! 2019/6/5 130
  131. 131. 参考資料 ◼ SPARQL仕様(W3Cのドキュメント) ◼ SPARQL 1.1 Query Language https://www.w3.org/TR/sparql11-query/ ◼ SPARQLの解説本 ◼ オープンデータ時代の標準Web API SPARQL http://sparqlbook.jp/ ◼ SPARQL入門スライド(by古崎) ◼ DBpedia Japaneseを例にした解説 https://www.slideshare.net/KoujiKozaki/4lod ◼ 大阪市のオープンデータを例にした解説 https://www.slideshare.net/KoujiKozaki/apisparql ◼ 解説記事 ◼ DBpediaを使った都道府県別ランキング http://bit.ly/2oDPl0Q ◼ Wikidataを使った日本の政治家の出身大学ランキング http://bit.ly/2PBt8fn 2019/6/5 131 http://sparqlbook.jp/より
  132. 132. 参考資料 ◼ 人工知能学会セマンティックウェブとオントロジー(SWO)研究会 ◼ http://www.sigswo.org/ 研究会資料公開あり ◼ ISWCサーベイ ◼ 分野のトップカンファレンスISWCの発表論文をSWO研究会有志でサーベイし, 日本語スライドにまとめた資料 ◼ ISWC2018サーベイ https://github.com/sigswo/files/raw/master/SIG-SWO-047-ISWC2018- Survey.pdf ◼ ISWC2017サーベイ http://id.nii.ac.jp/1004/00009109/ ◼ ISWC2016サーベイ http://id.nii.ac.jp/1004/00008619/ ◼ 主な関連国際会議 ◼ International Semantic Web Conference (ISWC) http://swsa.semanticweb.org/content/international-semantic-web- conference-iswc ◼ ESWC(Extended Semantic Web Conference) ◼ The Conferences on Formal Ontology in Information Systems (FOIS) ◼ KEOD(International Joint Conference on Knowledge Discovery, Knowledge Engineering and Knowledge Management) http://www.keod.ic3k.org/websites.aspx 2019/6/5 132
  133. 133. 参考資料:関連ジャーナル オントロジー・ナレッジグラフ関連の発表がある主なジャーナル ◼ Journal of Web Semantics ◼ https://www.journals.elsevier.com/journal-of-web-semantics ◼ Semantic Web Journal ◼ http://www.semantic-web-journal.net/ ◼ Applied Ontology ◼ https://www.iospress.nl/journal/applied-ontology/ ◼ Journal of Biomedical Semantics ◼ https://jbiomedsem.biomedcentral.com/ ◼ 人工知能学会論文誌 ◼ https://www.jstage.jst.go.jp/browse/tjsai/-char/ja/ 2019/6/5 133

×