狠狠撸

狠狠撸Share a Scribd company logo
CC-BY4.0:人工知能学会 セマンティクWebとオントロジー(SWO)研究会CC-BY4.0:人工知能学会 セマンティクWebとオントロジー(SWO)研究会
人工知能学会SWO研究会ワークショップ
「ナレッジグラフ推論チャレンジ2019技術勉強会
&応募相談会」
:まだ間に合う!応募に向けた実践講座 10/21(月)
CC-BY4.0:人工知能学会 セマンティクWebとオントロジー(SWO)研究会
本日の概要
本イベントのねらい
?「推論チャレンジ」に応募するのに必要なナレッジグラフ
の基礎技術の基本を学んでいただく
本日の予定
14:30 第2回ナレッジグラフ推论チャレンジの绍介
14:45 ナレッジグラフ利用技術のハンズオン
(大阪電気通信大学?古崎晃司)
16:15 休憩
16:30 推論チャレンジ応募に向けたアプローチ例の紹介
(富士通研究所?松下京群,鵜飼孝典)
17:15 第2回ナレッジグラフ推論チャレンジ2019への応募相談
17:30 終了
2019/11/22 2
CC-BY4.0:人工知能学会 セマンティクWebとオントロジー(SWO)研究会
第2回
ナレッジグラフ推论チャレンジの绍介
1.推論チャレンジとは
2.対象とするナレッジグラフの概要
CC-BY4.0:人工知能学会 セマンティクWebとオントロジー(SWO)研究会
推論チャレンジとは?
シャーロック?ホームズのような
“推理”(推論)ができるAIシステムの開発
を目指した技術コンテスト
チャレンジのねらい
?説明可能性(解釈可能性)を有するAI技術に関する最新技
術の促進?共有と,その分析?評価,体系化を行う.
チャレンジタスク
?推理小説のナレッジグラフ (ホームズの短編小説) を対象に,
ホームズと同じ結論に辿り着き,その理由を説明する.
42019/11/22
CC-BY4.0:人工知能学会 セマンティクWebとオントロジー(SWO)研究会
チャレンジの狙い
説明可能性(解釈可能性)を有するAI技術に関
する最新技術の促進?共有と,その分析?評価,
体系化を行う.
特に,現実社会を反映したより複雑な,例えば
時間的,因果関係的,確率的関係性を含む問
題を扱うため,帰納的な機械学習(推定)と演繹
的な知識活用(推論)を融合したAI技術を対象と
する.
52019/11/22
CC-BY4.0:人工知能学会 セマンティクWebとオントロジー(SWO)研究会
チャレンジタスク
推理小説のナレッジグラフ (シャーロックホームズの短編
小説) を対象に, ホームズと同じ結論に辿り着き,その
理由を説明する.
?現実社会の複雑な関係性を含みながら仮想的にクローズな
(答えがあり,それに至る制約を制御できる)タスクを設計でき
る
?タスクによっては不確実情報や証拠写真など確率的な処理や
機械学習を入れないと解けなかったり,陽に書かれていない
常識知識を補完しなくては解けない等,推定と推論の融合を
促せる
?読者が納得しないと小説として成立しないという人間に対す
る説明性を有している,
?小説が広く一般に知られており関心を引きやすい,など
但し,第4回チャレンジ以降は社会問題解決に関するベ
ストプラクティス集なども予定
62019/11/22
CC-BY4.0:人工知能学会 セマンティクWebとオントロジー(SWO)研究会
対象とする推理小説?タスク
対象とする推理小説
まだらのひも(第1回のKGの不具合を修正して利用)
?タスク:ヘレンを殺したのは誰か?(犯人+説明)
に加え,新たに,以下の4編をKG化
踊る人形 [Wikipedia][青空文庫]
?タスク:暗号を解け(暗号の解読)
背中の曲がった男(曲がれる者)[Wikipedia][青空文庫]
?タスク:バークリはなぜ死んだのか?(説明)
悪魔の足 [Wikipedia][青空文庫]
?タスク:各人物を殺したのは誰か?(犯人+説明)
花婿失踪事件(同一事件) [Wikipedia][青空文庫]
?タスク:花婿はなぜ消えたか?(説明)
72019/11/22
CC-BY4.0:人工知能学会 セマンティクWebとオントロジー(SWO)研究会
タスクの実行条件?応募部門
対象とするKG
?5つの小説のうち,いずれの小説を対象にしてもよい
(どれか1つだけ,2つだけ…などでもOK)
?できるだけ多くの小説が,同じシステム(仕組み)で解けるとよい
?各小説で使用するKGの範囲を段階的に変える(昨年同様)
→完全(すべてのKG)/不完全(10%)/不完全(10%)
?ナレッジグラフの独自拡張も可能(昨年同様)
対象とするタスク
?①本部門:対象小説1つ以上のタスクを解くシステムを開発
?②ツール部門:いずれかのタスクを部分的に解くツールを開発
例)容疑者の推定,アリバイ検証,動機説明,など
★「自然言語文をトリプル化」するKG構築支援ツールの応募も可
?アイデア部門:①,②の実現方法のアイデア(実装なしでOK)
82019/11/22
CC-BY4.0:人工知能学会 セマンティクWebとオントロジー(SWO)研究会
第2回
ナレッジグラフ推论チャレンジの绍介
1.推論チャレンジとは
2.対象とするナレッジグラフの概要
CC-BY4.0:人工知能学会 セマンティクWebとオントロジー(SWO)研究会
ナレッジグラフ化の考え方
ナレッジグラフの要求仕様
?犯人を推論(推理)するのに必要な知識を提供する
?「推理小説」で描かれる様々な状況を,できるだけ統一的
な形式で計算機処理(検索?推論?etc.)可能にする
ナレッジグラフ化の基本方針
?「推理小説」の内容を,最小単位の「場面(シーン)」に分割
→場面ごとにID(IRI)を付与
?「各場面の記述内容」および「場面間の関係」をグラフ化
→グラフ化に必要なクラス?プロパティを定義
場面1 場面2 場面3
場面4
場面5
???
???
102019/11/22
CC-BY4.0:人工知能学会 セマンティクWebとオントロジー(SWO)研究会
場面(シーン)スキーマ
場面ID
原文
動作主
動作
目的語
subject
hasPredicate
source
その他
の関係
他の場面
場面間
の関係
場面を表現するプロパティ
? subject:その場面の記述において主語となる人や物
? hasPredicate:その場面の内容を表す述語
? 場面の詳細を表す目的語:whom(だれに), where(どこで), when(いつ),
what(何を), how(どのように), …etc.
? 場面間の関係:then,if, because, …etc.
? time:その場面が起こった絶対時間(xsd:DateTime)
? source:その場面の原文(英語/日本語のリテラル)
場面155
ホームズが
ジュリアに会う
ホームズ
会う
ジュリア
subject
hasPredicate
source
whom
場面156
then
2019/11/22 11
CC-BY4.0:人工知能学会 セマンティクWebとオントロジー(SWO)研究会
原文(英語/日本語)
絶対時間※小説内に基準日
時を設定している
主語?述語?目的語は全て
「リソース」として定義
→他の場面で同じ目的語を
参照可能
動作
動作主
他の場面
場面の種類(クラス)分け
Scene:上位クラス
-Situation:事実?状況の描写
-Statement:Aの発言
-Talk:AのBへの発言
-Thought:Aの考え
12
場面(シーン)スキーマ 記述例
2019/11/22
CC-BY4.0:人工知能学会 セマンティクWebとオントロジー(SWO)研究会
シーン間の関係
シーン間の関係を表す
プロパティ
2019/11/22 13
CC-BY4.0:人工知能学会 セマンティクWebとオントロジー(SWO)研究会
シーン間の関係の種類
シーン間の関係を表す
プロパティ
2019/11/22 14
CC-BY4.0:人工知能学会 セマンティクWebとオントロジー(SWO)研究会
クラス,プロパティ一覧
152019/11/22
CC-BY4.0:人工知能学会 セマンティクWebとオントロジー(SWO)研究会
推理小説のナレッジグラフ
SWO研究会?勉強会での予備的作業を経て,有志数名でナレッジグラフ化
16
ナレッジグラフ(RDF形式)
クエリー言語SPARQLによる検索
グラフDB(キーワード検索も可)
http://knowledge-graph.jp/visualization/
2019/11/22
CC-BY4.0:人工知能学会 セマンティクWebとオントロジー(SWO)研究会
第2回でのスキーマの拡充
対象とする小説が5つに増えたことで,異なる小説を
横断した処理ができるようにスキーマを拡充
各小説ごとに「ベースIRI」および「グラフIRI」を導入
?<http://kgc.knowledge-graph.jp/data/小説名/>
?例:「踊る人形」のシーン100は
<http://kgc.knowledge-graph.jp/data/DancingMen/100>
小説をまたいで共通化した語彙
?hasPredicateで参照する「述語」,および,
hasProperyで参照する「性質?状態」
→<http://kgc.knowledge-graph.jp/data/predicate/XXX>
?固有名詞(例:ホームズ,地名)
→<http://kgc.knowledge-graph.jp/data/YYY>
は,小説をまたいで,共通のIRIで定義?参照
2019/11/22 17
CC-BY4.0:人工知能学会 セマンティクWebとオントロジー(SWO)研究会
ナレッジグラフの公開
「推論チャレンジ」のサイト
→ナレッジグラフの公開
?https://github.com/KnowledgeGraphJapan/KGRC-RDF
SPARQLエンドポイント
?http://lod.hozo.jp/repositories/kgc2019
SPARQLクエリのサンプル
?https://github.com/KnowledgeGraphJapan/Challenge/
blob/master/rdf/2019/SPARQLsample.md
可視化ツール
?http://knowledge-graph.jp/visualization/
2019/11/22 18
CC-BY4.0:人工知能学会 セマンティクWebとオントロジー(SWO)研究会
ナレッジグラフ利用技術の
ハンズオン
0.RDF処理に利用可能な技術の概観
1.RDFによるナレッジグラフの表現
2.SPARQLクエリによるナレッジグラフの検索
3.Apache Jena によるRDFの処理
4.Apache Fuseki(RDFデータベース)の利用
CC-BY4.0:人工知能学会 セマンティクWebとオントロジー(SWO)研究会
ナレッジグラフ(RDF)を扱うための技術?ツール
?RDF用検索言語:SPARQL
?SPARQLエンドポイント(検索用API)からWeb経由の検索が可能
?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を使用
202019/11/22
RDF処理に利用可能な技術
CC-BY4.0:人工知能学会 セマンティクWebとオントロジー(SWO)研究会 21
ナレッジグラフのRDF表現
2019/11/22
主語
述語述語
目的語
RDFでは,ナレッジグラフを
「主語?述語?目的語」のトリプルの集合として表す
CC-BY4.0:人工知能学会 セマンティクWebとオントロジー(SWO)研究会 22
ナレッジグラフのRDF表現
2019/11/22
主語
述語述語
目的語
? 主語,述語は,URL(IRI),
? 目的語は,URL(IRI),または文字列(リテラルと呼ぶ)
で表す
? 主語または目的語となるURLはリソースと呼ぶ
? リテラルには型や言語を指定できる
CC-BY4.0:人工知能学会 セマンティクWebとオントロジー(SWO)研究会 23
ナレッジグラフのRDF表現
2019/11/22
主語
述語述語
目的語
CC-BY4.0:人工知能学会 セマンティクWebとオントロジー(SWO)研究会
RDFの表現例
2019/11/2 24
日本
大阪電気
通信大学
国
1924
設立
寝屋川市
129613133
(VIAF)
国立国会図書館典拠ID
位置する行政区
http://www.wikidata.org/entity/Q7105556 というIRIから得られ
る情報の一部(Wikidataより)
00370288
(Web NDL
Authorities)
skos:exactMatch
大阪電気通信大学標目
リソース:
IRIで表される事物
プロパティ:
リソース間(もしくはリ
ソースとリテラル間)の
関係を表す
リテラル
:文字列
主語 述語 目的語
トリプル(3つ組み)
①RDFは「トリプルの組み合わせ」
で表される
②目的語が他のリソースのとき,トリプル
を辿って更なる情報が得られる
CC-BY4.0:人工知能学会 セマンティクWebとオントロジー(SWO)研究会 2019/11/2 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用いて
表される
RDFの表現例
CC-BY4.0:人工知能学会 セマンティクWebとオントロジー(SWO)研究会 2019/11/22 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:
RDFの表現例
CC-BY4.0:人工知能学会 セマンティクWebとオントロジー(SWO)研究会
PREFIX:IRIの省略表現
2019/11/2 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(接頭語)
で置き換える
CC-BY4.0:人工知能学会 セマンティクWebとオントロジー(SWO)研究会
Linked Dataの公開方法
参照解決可能なhttp IRIs(URL,URI)を用いた公開
?IRIでデータにアクセスが可能
?通常のWebページと同様に,データのURIを用いて
「つながり」を辿ることが出来る
=システムによる処理(リンク解析等)が可能
SPARQLエンドポイントの公開
?RDF用のクエリ言語SPARQLにより検索可能なAPIを公開
?クエリによるデータ検索?抽出が可能
RDFファイルのダンプの公開
?全データをダウンロードできる形で公開
?ダウロードしたファイルをRDFパーサー,RDF-DBなどのツールを用いて
処理可能
2019/11/2 30
CC-BY4.0:人工知能学会 セマンティクWebとオントロジー(SWO)研究会
ナレッジグラフ利用技術の
ハンズオン
0.RDF処理に利用可能な技術の概観
1.RDFによるナレッジグラフの表現
2.SPARQLクエリによるナレッジグラフの検索
3.Apache Jena によるRDFの処理
4.Apache Fuseki(RDFデータベース)の利用
SPARQLによるRDFの検索
? SPARQL
? RDFデータに対するクエリ言語
? 「指定したグラフ構造」に一致するトリプルを検索する
? 最も基本的な検索
select ?s ?p ?o
where {
?s ?p ?o .
}
LIMIT 100
↑取得する数の制限
←検索するグラフのパターン
←返す要素
このパターンを変
えることで,欲しい
データを取得する
2019/11/22
「.」(ピリオド)
を忘れない
?x(x:任意の文字列)は変数を表す
32
検索例:
主語と述語を指定して「目的語」を取得
“<主語>の<述語>は何?”
2019/11/22
大阪電気
通信大学 ?o
位置する行政区
検索するグラフパターン
<大阪電気通信大学> <位置する行政区> ?o
主語 述語 目的語
SPARQLでの記述
33
主語 述語 目的語
検索例1:主語と述語を指定
? 例1)「大阪電気通信大学」(主語)の「位置する
行政区」(述語)となる目的語(?o)を取得する
select ?o
where {
wd:Q7105556 wdt:P131 ?o .
}
2019/11/22 34
大阪電気
通信大学
(主語)
位置する
行政区
(述語)
目的語
(変数)
検索例1:主語と述語を指定
? 例1-1)「大阪電気通信大学」(主語)の「設立」
(述語)となる目的語(?o)を取得する
select ?o
where {
wd:Q7105556 wdt:P571 ?o .
}
2019/11/22 35
大阪電気
通信大学
(主語)
設立
(述語)
目的語
(変数)
※述語を変えるといろんな
目的語が取得できる
補足1:PREFIXの定義
? 例1)「大阪電気通信大学」(主語)の「位置する
行政区」(述語)となる目的語(?o)を取得する
PREFIX wd: <http://www.wikidata.org/entity/>
PREFIX wdt: <http://www.wikidata.org/prop/direct/>
select ?o
where {
wd:Q7105556 wdt:P131 ?o .
}
2019/11/22 36
大阪電気
通信大学
(主語)
位置する
行政区
(述語)
目的語
(変数)
※wd:やwdt:といった省略表現を使うためには,
本来はPREFIXの定義が必要
(WikidataのWebサービスでは省略可)
補足1:PREFIXを利用しない表現
? 例1-1)をPREFIX(接頭語)を用いず書いた場合
2019/11/22
PREFIX wd: <http://www.wikidata.org/entity/>
PREFIX wdt: <http://www.wikidata.org/prop/direct/>
select ?o
where {
wd:Q7105556 wdt:P131 ?o .
}LIMIT 100
select ?o
where {
<http://www.wikidata.org/entity/Q7105556>
<http://www.wikidata.org/prop/direct/P131> ?o .
}LIMIT 100
PREFIXの定義
省略表現に用いる文字列は
任意に設定できるが,でき
るだけ慣習的に利用される
ものにあわせるとよい.
37
PREFIXによる省略表現
参考:よく用いられるPREFIX
? RDF一般のもの
? rdfs: <http://www.w3.org/2000/01/rdf-schema#>
RDFスキーマ(基本的な語彙定義)
? schema: <http://schema.org/>
Webのメタデータに記述される語彙
? skos: <http://www.w3.org/2004/02/skos/core#>
Web上でのシソーラス,用語集などに用いられる語彙
? Wikidataで使われるもの
? wd: <http://www.wikidata.org/entity/>
エンティティ(もの,コト,データ)
? wdt: <http://www.wikidata.org/prop/direct/>
プロパティ(述語/関係)※主にSPARQL検索用の直接関係
? PREFIXの検索サービス
? https://prefix.cc/
2019/11/22
WikidataのRDFでは,詳細情報を記述
するため,同じ内容のプロパティが3種類
記述されているが,今回はwdt:を使う.
38
補足2:
ラベルの取得方法【RDF一般】
? 補足例) 「大阪電気通信大学」のラベルとなる
目的語(?o)を取得
PREFIX wd: <http://www.wikidata.org/entity/>
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
select distinct ?o
where {
wd:Q7105556 rdfs:label ?o .
}LIMIT 100
2019/11/22
RDFで一般に
「ラベル」を表すプロパティ(述語)
実行例 https://w.wiki/646
39
補足2:
言語種別の取得【RDF一般】
? 補足例) 「大阪電気通信大学」のラベルとなる目
的語(?o)を取得
? 「言語の種別」を合わせて取得
PREFIX wd: <http://www.wikidata.org/entity/>
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
select ?o (lang(?o) AS ?ln)
where {
wd:Q7105556 rdfs:label ?o .
}
「言語種別」を取得する関数
2019/11/22
結果を別の変数に代入
実行結果 https://w.wiki/648
40
補足2:
言語種別の絞り込み【RDF一般】
? 補足例) 「大阪電気通信大学」のラベルとなる目
的語(?o)を取得
? 「言語の種別=日本語(ja)」をのみ
PREFIX wd: <http://www.wikidata.org/entity/>
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
select ?o (lang(?o) AS ?ln)
where {
wd:Q7105556 rdfs:label ?o .
FILTER (lang(?o) = "ja") .
}
2019/11/22
実行結果 https://w.wiki/64A
絞り込みの条件を記述(様々な条件記述できる)
41
CC-BY4.0:人工知能学会 セマンティクWebとオントロジー(SWO)研究会
推論チャレンジのナレッジグラフを対象としたSPARQL
SPARQLクエリのサンプル
https://github.com/KnowledgeGraphJapan/
Challenge/blob/master/rdf/2019/SPARQLs
ample.md
クエリを見ながら解説予定
2019/11/22 42
CC-BY4.0:人工知能学会 セマンティクWebとオントロジー(SWO)研究会
ナレッジグラフ利用技術の
ハンズオン
0.RDF処理に利用可能な技術の概観
1.RDFによるナレッジグラフの表現
2.SPARQLクエリによるナレッジグラフの検索
3.Apache Jena によるRDFの処理
4.Apache Fuseki(RDFデータベース)の利用
CC-BY4.0:人工知能学会 セマンティクWebとオントロジー(SWO)研究会
Javaの開発環境(Eclipse)のインストール
1.http://mergedoc.osdn.jp/
から「 Pleiades All in One ダウンロード」の
「Eclipse 2019-09」を選択
2.JavaのFull EditonのZIPファイルをダウンロード
3.ZIPを解凍して,適当なフォルダにおけばインス
トール完了
※ZIPを解凍する際,Windowsの標準の「展開」で,
うまくいかないときは,別の解凍ソフト(7Zipなど)
を使えばOK
CC-BY4.0:人工知能学会 セマンティクWebとオントロジー(SWO)研究会
プロジェクトの作成
1.Eclipseを起動
2.workspace(作業フォルダ)を聞かれるのでOKする
3.ファイル>新規>Javaプロジェクトを実行
4.プロジェクト名(例:JenaTest)を入力してOK
5.プロジェクトが作成される
→srcがソースファイルを入れる
6.フォルダプロジェクト作成時に
表示される「モジュール作成」
については「作成しない」
を選択
CC-BY4.0:人工知能学会 セマンティクWebとオントロジー(SWO)研究会
テストプログラムの作成
1.ファイル>新規>クラスを実行
2.名前を「HelloWorld」にして,
「public static void main(String[] args) 」にチェッ
クを入れて「完了」
3.クラス「HelloWorld.java」が作成される
4.作成されたクラスに以下の1行を追加して,保存
public class HelloWorld {
public static void main(String[] args) {
// TODO 自動生成されたメソッド?スタブ
System.out.println("Hello World!");
}
}
CC-BY4.0:人工知能学会 セマンティクWebとオントロジー(SWO)研究会
テストプログラムの実行
1.「HelloWorld.java」を選択して,
右クリック>実行>Javaアプリケーション
を選択
2.プログラムが実行され,結果がコンソールに
表示される
CC-BY4.0:人工知能学会 セマンティクWebとオントロジー(SWO)研究会
Jenaのダウロード
1.https://jena.apache.org/ からダウンロード
apache-jena-3.13.0.zip を選択してダウンロード
2.解凍してできる「lib」フォルダをプロジェクトにコピー
3. srcを選択して右クリック>ビルド?パス>ビルド?パスの
構成
4.ライブラリ>クラスパス>JARの追加で「lib」フォルダ内
のJARファイルを選択?追加
備考
JenaはRDFを処理するためのライブラリ
使い方の詳細は,Java DOCを参照
?https://jena.apache.org/documentation/javadoc/jena/
CC-BY4.0:人工知能学会 セマンティクWebとオントロジー(SWO)研究会
サンプルプログラムの入手
1. https://github.com/koujikozaki/JenaSample
からサンプルプログラムをダウロード
→Clone or download > Download ZIP
2. ZIPファイルを展開し,srcフォルダの中身を自分
のプロジェクトにコピーする
→エクスプローラーで選択>コピーの後,
Eclipseのパッケージエクスプローラのsrcに
「貼り付け」
※以下,プロジェクトへのコピーは同様の操作で行う
3.inputフォルダを自分のプロジェクトにコピーする
4.自分のプロジェクトにoutputというフォルダを作る
CC-BY4.0:人工知能学会 セマンティクWebとオントロジー(SWO)研究会
サンプルプログラムの実行
それぞれのプログラムを選択し,
右クリック>実行>Javaアプリケーション
で実行してみる
readRDF.java
RDFファイルを読み込み,別の形式で保存する.
searchRDF.java
読み込んだRDFに対して,検索を行う
searchRDFusingSPARQL.java
読み込んだRDFに対して,SPARQLで検索を行う.
searchRDFfromEndpoint.java
SPARQLエンドポイントに対してSPARQLで検索する
CC-BY4.0:人工知能学会 セマンティクWebとオントロジー(SWO)研究会
参考資料
ModelのJavaDoc
?https://jena.apache.org/documentation/javadoc/jena/
org/apache/jena/rdf/model/Model.html
?Jenaで読み込んだモデルを直接,処理することができる
ResultSetのJavaDoc
?https://jena.apache.org/documentation/javadoc/arq/i
ndex.html?org/apache/jena/query/ResultSet.html
?JenaでSPARQLクエリを発行した結果を処理する差に用いる
?サンプルプログラムの改良版に使用例あり
?https://github.com/oecu-kozaki-lab/JavaRDFsample
?クエリ結果を用いて別のクエリを発行する例が含まれます
2019/11/22 51
CC-BY4.0:人工知能学会 セマンティクWebとオントロジー(SWO)研究会
ナレッジグラフ利用技術の
ハンズオン
0.RDF処理に利用可能な技術の概観
1.RDFによるナレッジグラフの表現
2.SPARQLクエリによるナレッジグラフの検索
3.Apache Jena によるRDFの処理
4.Apache Fuseki(RDFデータベース)の利用
CC-BY4.0:人工知能学会 セマンティクWebとオントロジー(SWO)研究会
Apache Fusekiの利用
Apache Fuseki(RDFデータベース)のインストール
?下記の記事を参考にインストールしてください.
?Fusekiをダウンロードして立ち上げるまで。Windows 10編
?Fusekiをダウンロードして立ち上げるまで。Mac OS X編
?apache-jena-fuseki-3.13.1.zip で動作確認しました(Windows10)
推論チャレンジのナレッジグラフ(RDF)をダウンロード
?https://github.com/KnowledgeGraphJapan/KGRC-RDF
からダウンロード(第1回,第2回分を含む)
?複数のファイル形式でダウンロードできるが,
RDFファイルとしてはTurtle形式(拡張子は.ttl)の利用を
2019/11/22 53
CC-BY4.0:人工知能学会 セマンティクWebとオントロジー(SWO)研究会
参考)Sample1の実行方法
54
起動する際に入力し
た引数を使って,クエ
リを実行する
?例として,小説名と
シーン番号を指定
起動時の引数は,
main関数の引数
(args[])に入る
?配列args[]から値を
取り出して,プログラム
で利用すればよい
? Eclipseでの実行時には,
「実行>実行の構成」で
「実行するプログラム」の設定画
面の「引数」タブの「プログラム
の引数」に書いて適用?実行
CC-BY4.0:人工知能学会 セマンティクWebとオントロジー(SWO)研究会
Apache Fusekiの利用
FusekiにRDFファイルをアップロード
?Fusekiを起動した状態でhttp://localhost:3030/にアクセス
?manage datasets > add new dataset でDBを作成
?Fusekiの再起動後もDBを残したいときはPersistentを選択する
?作成したdatasetを選択し,Upload filesでアップロード
2019/11/22 55
CC-BY4.0:人工知能学会 セマンティクWebとオントロジー(SWO)研究会
Fusekiの使い方
queryを選択すると,ブラウザ上でSPARQL検索ができる
2019/11/22 56
プログラムから検索するときは
http://localhost:3030/dataset名/sparql
を使用する
Infoを選ぶと
諸々の情報を確認できる
CC-BY4.0:人工知能学会 セマンティクWebとオントロジー(SWO)研究会
参考資料
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を例にした解説
/KoujiKozaki/4lod
? 大阪市のオープンデータを例にした解説
/KoujiKozaki/apisparql
解説記事
? DBpediaを使った都道府県別ランキング
http://bit.ly/2oDPl0Q
? Wikidataを使った日本の政治家の出身大学ランキング
http://bit.ly/2PBt8fn
2019/11/2 57
http://sparqlbook.jp/より
CC-BY4.0:人工知能学会 セマンティクWebとオントロジー(SWO)研究会
参考資料
Jena のサイト https://jena.apache.org/
Jenaのハンズオン資料
https://github.com/KnowledgeGraphJapan/LOD
ws2nd
にある「ApacheJenaハンズオン.pdf」を見るとよい
→ハンズオンのソース
https://github.com/KnowledgeGraphJapan/Apach
e-Jena-Sample-Programs
様々な言語でのSPARQL処理方法サンプル
https://github.com/KnowledgeGraphJapan/sparql-
library-examples
2019/11/22 58
CC-BY4.0:人工知能学会 セマンティクWebとオントロジー(SWO)研究会CC-BY4.0:人工知能学会 セマンティクWebとオントロジー(SWO)研究会
人工知能学会SWO研究会ワークショップ
「ナレッジグラフ推論チャレンジ2019技術勉強会
&応募相談会」
:まだ間に合う!応募に向けた実践講座 10/21(月)
? 本日の資料は,一部修正のうえ,
推論チャレンジのサイトで公開します
? 推理小説のナレッジグラフは,
今週中にアップデート予定です
(→Issueをいただけば頑張って対応します…)
? 応募締切は,2019年11月30日に延長します
? 最終審査会.2019年12月26日@東京都内

More Related Content

What's hot (20)

PDF
[part 1]ナレッジグラフ推論チャレンジ?Tech Live!
KnowledgeGraph
?
PDF
オントロジー工学に基づく 知識の体系化と利用
Kouji Kozaki
?
PDF
ナレッジグラフ入门
KnowledgeGraph
?
PDF
オントロジーとは?
Kouji Kozaki
?
PDF
ナレッジグラフとオントロジー
University of Tsukuba
?
PDF
Linked Open Data(LOD)の基本的な使い方
Kouji Kozaki
?
PDF
オントロジー研究20年の歩みと今后の展望
Kouji Kozaki
?
PPTX
言語処理のための仮説推論エンジン Phillip
Kazeto Yamamoto
?
PDF
第2回ナレッジグラフ推論チャレンジ2019の紹介(11/22, SWO研究会)
KnowledgeGraph
?
PDF
ナレッジグラフ推论チャレンジ:応募に向けた「技术勉强会」资料
KnowledgeGraph
?
PDF
第7回 Linked Data 勉強会 @yayamamo
yayamamo @ DBCLS Kashiwanoha
?
PDF
流行りの分散表現を用いた文書分類について Netadashi Meetup 7
Teruyuki Sakaue
?
PDF
[part 2]ナレッジグラフ推論チャレンジ?Tech Live!
KnowledgeGraph
?
PDF
Linked Open Data勉強会2020 後編:SPARQLの簡単な使い方、SPARQLを使った簡単なアプリ開発
KnowledgeGraph
?
PDF
Linked Open Data(LOD)の基本理念と基盤となる技術
Kouji Kozaki
?
PDF
Linked Open Data(LOD)を用いた オープンデータの活用事例と今後の展望
Kouji Kozaki
?
PDF
Linked Dataとオントロジーによるセマンティック技術の実際
Kouji Kozaki
?
PDF
ナレッジグラフ推论チャレンジ2020最终审査
Takanori Ugai
?
PDF
条件付き确率场の推论と学习
Masaki Saito
?
PPTX
第3回ナレッジグラフ推论チャレンジ2020の绍介
KnowledgeGraph
?
[part 1]ナレッジグラフ推論チャレンジ?Tech Live!
KnowledgeGraph
?
オントロジー工学に基づく 知識の体系化と利用
Kouji Kozaki
?
ナレッジグラフ入门
KnowledgeGraph
?
オントロジーとは?
Kouji Kozaki
?
ナレッジグラフとオントロジー
University of Tsukuba
?
Linked Open Data(LOD)の基本的な使い方
Kouji Kozaki
?
オントロジー研究20年の歩みと今后の展望
Kouji Kozaki
?
言語処理のための仮説推論エンジン Phillip
Kazeto Yamamoto
?
第2回ナレッジグラフ推論チャレンジ2019の紹介(11/22, SWO研究会)
KnowledgeGraph
?
ナレッジグラフ推论チャレンジ:応募に向けた「技术勉强会」资料
KnowledgeGraph
?
第7回 Linked Data 勉強会 @yayamamo
yayamamo @ DBCLS Kashiwanoha
?
流行りの分散表現を用いた文書分類について Netadashi Meetup 7
Teruyuki Sakaue
?
[part 2]ナレッジグラフ推論チャレンジ?Tech Live!
KnowledgeGraph
?
Linked Open Data勉強会2020 後編:SPARQLの簡単な使い方、SPARQLを使った簡単なアプリ開発
KnowledgeGraph
?
Linked Open Data(LOD)の基本理念と基盤となる技術
Kouji Kozaki
?
Linked Open Data(LOD)を用いた オープンデータの活用事例と今後の展望
Kouji Kozaki
?
Linked Dataとオントロジーによるセマンティック技術の実際
Kouji Kozaki
?
ナレッジグラフ推论チャレンジ2020最终审査
Takanori Ugai
?
条件付き确率场の推论と学习
Masaki Saito
?
第3回ナレッジグラフ推论チャレンジ2020の绍介
KnowledgeGraph
?

More from KnowledgeGraph (11)

PDF
【尝翱顿颁2022データ作成部门优秀赏】痴颈谤迟耻补濒贬辞尘别2碍骋データセット―家庭内の日常生活行动のシミュレーション动画とナレッジグラフ―
KnowledgeGraph
?
PDF
Contextualized Scene Knowledge Graphs for XAI Benchmarking
KnowledgeGraph
?
PDF
Knowledge Graph Reasoning Techniques through Studies on Mystery Stories - Rep...
KnowledgeGraph
?
PDF
Report on the First Knowledge Graph Reasoning Challenge 2018 -Toward the eXp...
KnowledgeGraph
?
PDF
第2回ナレッジグラフ推论チャレンジ2019:ツール部门の绍介
KnowledgeGraph
?
PDF
第2回ナレッジグラフ推论チャレンジ2019応募に向けて
KnowledgeGraph
?
PDF
第1回ナレッジグラフ推论チャレンジ2018の振り返り
KnowledgeGraph
?
PDF
第1回ナレッジグラフ推論チャレンジ2018開催報告~ 第2回チャレンジ開催案内~
KnowledgeGraph
?
PDF
第1回推论チャレンジの振り返り&第2回の开催概要
KnowledgeGraph
?
PDF
ナレッジグラフ推论チャレンジ2018ミートアップ@东京(2018/12/26)
KnowledgeGraph
?
PDF
ナレッジグラフ推论チャレンジ技术勉强会(2018/10/18)
KnowledgeGraph
?
【尝翱顿颁2022データ作成部门优秀赏】痴颈谤迟耻补濒贬辞尘别2碍骋データセット―家庭内の日常生活行动のシミュレーション动画とナレッジグラフ―
KnowledgeGraph
?
Contextualized Scene Knowledge Graphs for XAI Benchmarking
KnowledgeGraph
?
Knowledge Graph Reasoning Techniques through Studies on Mystery Stories - Rep...
KnowledgeGraph
?
Report on the First Knowledge Graph Reasoning Challenge 2018 -Toward the eXp...
KnowledgeGraph
?
第2回ナレッジグラフ推论チャレンジ2019:ツール部门の绍介
KnowledgeGraph
?
第2回ナレッジグラフ推论チャレンジ2019応募に向けて
KnowledgeGraph
?
第1回ナレッジグラフ推论チャレンジ2018の振り返り
KnowledgeGraph
?
第1回ナレッジグラフ推論チャレンジ2018開催報告~ 第2回チャレンジ開催案内~
KnowledgeGraph
?
第1回推论チャレンジの振り返り&第2回の开催概要
KnowledgeGraph
?
ナレッジグラフ推论チャレンジ2018ミートアップ@东京(2018/12/26)
KnowledgeGraph
?
ナレッジグラフ推论チャレンジ技术勉强会(2018/10/18)
KnowledgeGraph
?
Ad

Recently uploaded (13)

PDF
渔船に搭载されている电子装备と渔法について冲痴搁颁海洋学研究会冲海の尝罢会発表资料
Yuuitirou528 default
?
PDF
安尾 萌, 藤代 裕之, 松下 光範. 協調的情報トリアージにおけるコミュニケーションの影響についての検討, 第11回データ工学と情報マネジメントに関する...
Matsushita Laboratory
?
PDF
第3回デジタル理学疗法研究会学术大会シンポジウム「デジタル理学疗法の组织活用:教育?管理?研究を繋ぐ新たな地平」の讲演资料.
Matsushita Laboratory
?
PDF
マルチAIエージェントの産業界での実践に向けたオープンソース活動の展望 - Japan Regional User Group (RUG) Meet-Up
Kosaku Kimura
?
PDF
SIG-AUDIO 2025 Vol.02 オンラインセミナー 「GDC2025 オーディオ報告会」SIG-Audio_GDC2024_報告会資料_増野さ...
IGDA Japan SIG-Audio
?
PDF
第3回テ?シ?タル理学疗法学会のシンポジウム「デジタル理学疗法の组织活用:教育?管理?研究を繋ぐ新たな地平」での话题提供
Matsushita Laboratory
?
PDF
API認可を支えるKeycloakの基本と設計の考え方 ~ OAuth/OIDCによるAPI保護のベストプラクティス ~
Hitachi, Ltd. OSS Solution Center.
?
PDF
論文紹介:AutoPrompt: Eliciting Knowledge from Language Models with Automatically ...
Toru Tamaki
?
PDF
論文紹介:Unbiasing through Textual Descriptions: Mitigating Representation Bias i...
Toru Tamaki
?
PDF
AIツールを使った研究の効率化 Improving Research Efficiency with AI Tools
Tohoku University
?
PDF
SIG-AUDIO 2025 Vol.02 オンラインセミナー 「GDC2025 オーディオ報告会」SIG-Audio_GDC2025_報告会資料_渡辺さ...
IGDA Japan SIG-Audio
?
PDF
安尾 萌, 松下 光範. 環境馴致を計量可能にするための試み,人工知能学会第4回仕掛学研究会, 2018.
Matsushita Laboratory
?
PDF
安尾 萌, 北村 茂生, 松下 光範. 災害発生時における被害状況把握を目的とした情報共有システムの基礎検討, 電子情報通信学会HCGシンポジウム2018...
Matsushita Laboratory
?
渔船に搭载されている电子装备と渔法について冲痴搁颁海洋学研究会冲海の尝罢会発表资料
Yuuitirou528 default
?
安尾 萌, 藤代 裕之, 松下 光範. 協調的情報トリアージにおけるコミュニケーションの影響についての検討, 第11回データ工学と情報マネジメントに関する...
Matsushita Laboratory
?
第3回デジタル理学疗法研究会学术大会シンポジウム「デジタル理学疗法の组织活用:教育?管理?研究を繋ぐ新たな地平」の讲演资料.
Matsushita Laboratory
?
マルチAIエージェントの産業界での実践に向けたオープンソース活動の展望 - Japan Regional User Group (RUG) Meet-Up
Kosaku Kimura
?
SIG-AUDIO 2025 Vol.02 オンラインセミナー 「GDC2025 オーディオ報告会」SIG-Audio_GDC2024_報告会資料_増野さ...
IGDA Japan SIG-Audio
?
第3回テ?シ?タル理学疗法学会のシンポジウム「デジタル理学疗法の组织活用:教育?管理?研究を繋ぐ新たな地平」での话题提供
Matsushita Laboratory
?
API認可を支えるKeycloakの基本と設計の考え方 ~ OAuth/OIDCによるAPI保護のベストプラクティス ~
Hitachi, Ltd. OSS Solution Center.
?
論文紹介:AutoPrompt: Eliciting Knowledge from Language Models with Automatically ...
Toru Tamaki
?
論文紹介:Unbiasing through Textual Descriptions: Mitigating Representation Bias i...
Toru Tamaki
?
AIツールを使った研究の効率化 Improving Research Efficiency with AI Tools
Tohoku University
?
SIG-AUDIO 2025 Vol.02 オンラインセミナー 「GDC2025 オーディオ報告会」SIG-Audio_GDC2025_報告会資料_渡辺さ...
IGDA Japan SIG-Audio
?
安尾 萌, 松下 光範. 環境馴致を計量可能にするための試み,人工知能学会第4回仕掛学研究会, 2018.
Matsushita Laboratory
?
安尾 萌, 北村 茂生, 松下 光範. 災害発生時における被害状況把握を目的とした情報共有システムの基礎検討, 電子情報通信学会HCGシンポジウム2018...
Matsushita Laboratory
?
Ad

ナレッジグラフ推论チャレンジ2019技术勉强会(10/21开催)