CC-BY4.0:人工知能学会 セマンティクWebとオントロジー(SWO)研究会CC-BY4.0:人工知能学会 セマンティクWebとオントロジー(SWO)研究会
ナレッジグラフ推論チャレンジ
:応募に向けた「技術勉強会」
人工知能学会セマンティックウェブとオントロジー(SWO)研究会
1
2018年8月7日(火)
@国立情報学研究所
2018/8/11
CC-BY4.0:人工知能学会 セマンティクWebとオントロジー(SWO)研究会
公式Webサイト
2018/8/11 2
http://challenge.knowledge-graph.jp/
今年から,
応募締切を
10/1に変更
CC-BY4.0:人工知能学会 セマンティクWebとオントロジー(SWO)研究会
本日の概要
本日のイベントの趣旨
「ナレッジグラフ推論チャレンジ」への応募に必要な技術情報を
紹介し,応募に向けたイメージをつかんでいただく.
質疑応答を通して,応募に関わる疑問点を解消していただく.
本日の予定
10:00 オープニング[古崎]
10:05 ナレッジグラフ推論チャレンジの紹介[川村]
10:15 提供するナレッジグラフの説明[古崎]
10:35 ナレッジグラフ利用技術の紹介[古崎]
10:50 SPARQLによるナレッジグラフの利用例[江上]
11:20 参考アプローチの紹介[川村]
11:35 質疑応答
12:00 終了
42018/8/11
1.チャレンジ開催の趣旨
近年,深層学習を起爆剤とした人工知能(AI)技術への関心の高まり
今後,AI技術が普及し,様々な社会システムに埋め込まれるようになる
更に,人の手を離れてシステム自身に動作を任せるようになると予想されるが,
 安全・安心に社会の中で活用していくためにはシステムが正しく動作して
いるかを検証する技術や品質保証が必要となる!
そのため,システムが判断に至った理由を説明できる(解釈可能性を有する)
AI技術が必須となる
海外では米DARPAがeXplainable AIをスタート!国際WSも盛んに開催
解釈可能性にフォーカスした推論(推定)に関するチャレンジを開催し,認識の
共有と必要な技術の開発・促進を図りたい
5
2.チャレンジの概要
題材は推理小説とする
タスクは,背景や人物像を知識化したナレッジグラフ(RDF形式)から,
「犯人を推理する」こと
推理?推論?推定?する手法は,情報技術であればなんでもOK!
 手法1 SPARQLで検索して探す
例) 特定の時間に特定の場所に居た人をUnionで探す,など
 手法2 一階述語論理に基づくルールを加えて推論する
例) ナイフに個人の指紋がある ⇒ 犯人である,など
 手法3 オントロジーに基づいて記述論理で推論する
例) 犯人クラスを定義し,犯人候補との包摂関係を推論する,など
 手法4 機械学習を用いて分類,クラスタリングして推定する
例) 他の事件における犯人の特徴群から学習・推定する,など
但し,(人を犯罪者にする以上) その理由をきちんと説明できること!
⇒ 解釈可能であること(explainability, interpretability)
6
3.タスクの詳細
事前準備として,計5回の公開ワークショップを通して「シャーロック・ホームズ」
短編シリーズから人気No.1の「まだらの紐」をナレッジグラフ化
 事実情報,登場人物の証言(虚偽も含む),ホームズの推理により導かれた内容等,
「犯人を特定できる理由に至る全ての内容をKG化したもの(完全グラフ)」を構築
 グラフには正しいことと,正しくないこと(ミスリードなど)が含まれている
 本来は,犯人の特定には(直接的には)関係しない情報(情景,状況の描写など)も
KGに含めるのが良いと思われるが,2年目以降の課題としたい
上記構築した完全グラフから,「ホームズの推理により導かれた内容」に相当す
る部分を部分的に取り除いたグラフ(不完全グラフ)を作成(取り除く量を変えて
2段階作成)
本日より,不完全グラフを公開し,何らかの手法でグラフを補完し,犯人を特定
する手法と結果を募集(チャレンジタスク)
7
4.応募方法
1. タスク設定
a. 犯人を推論する
b. 犯人と判断した理由(動機や殺害方法など)の説明
2. タスクの実行条件
a. KGを段階的に変えた条件下で行う(完全,不完全10%,不完全25%)
b. KGを独自に拡張するのは可(常識知識の追加など)
c. KGに不具合があればプルリクエスト可(但し,スキーマ変更は来年以降)
3. 提出物
a. 【必須】推論・推理の詳細な過程(=プログラムのログなど)
b. 【必須】説明資料 どのIDまでの知識を使ったか,など
c. 推論・推理のために応募者が追加した「知識」
i. 【必須】どのような知識を追加したかの説明
ii. 可能であれば,追加した知識のデータ
d. 利用したプログラム
i. 可能であればデモ環境
ii. ソースの提出は不要(公開を推奨)
8
5.審査基準
1. 正しく犯人を当てているか?
2. 説明に納得性があるか?
3. 技術的な工夫点
a. 推論の仕方
b. 拡張した知識
4. 評価観点
a. 汎用性: 横展開可能な推理(推論)となりうるか?
b. 少ない知識をうまく使う vs. 多量の知識で簡単に解く
5. 書類審査+プレゼンで評価
a. チームから少なくとも1名は授賞式への参加必須
より詳細は後日,HP上で告知予定
9
6.本タスクの学術的位置付け
タスクを一般化すると,
「不完全グラフの補完(Knowledge Graph Completion)」の一種として,
あらゆるKGに適用できる汎用的な問題設定として位置づけることができる
Knowledge Graph Completionは機械学習問題の1つとして知られており,
WordNetやFreebaseを対象にして実験・評価した研究が多数存在する.
但し,現実の問題へのフォーカスを想定し,精度が重要,解釈可能性が重要,
虚偽の情報も含まれている,データが大量にあると限らない,等の難しさがある.
特に,同一のタスクを対象にしてセマンティックスによる推論と,機械学習に
推定,それぞれの特徴を比較,評価,議論することを目的とする
 例)機械学習では説明できない点が,推論を使うと解釈・説明できる, etc.
本タスクを一般化すると,
「不完全グラフの補完(Knowledge Graph Completion)」の一種として
さまざまなKGに適用できる汎用的な問題設定として位置づけることができる
10
7.これまでの経緯と今後の予定
2017/02/27: 第41回SWO合宿研究会にて,コミュニティの柱として「推論」へのフォー
カスを検討.「推論チャレンジ(仮称)」開催を提案.
2017/09/05: SWO研究会WSにて,「推論チャレンジ(仮称)」開催に向けた方向性に
ついて,研究会の幹事メンバー,他で議論.
2017/11/25: 第1回公開WS(合同研究会)では,「赤毛組合」のあらすじを元に3-4名
のグループでナレッジグラフの試験的記述を実施.
2017/12/19: 第2回公開WSでは,第1回の結果を踏まえ,スキーマ設計の基本方針を
検討.小説内の出来事(イベント)を中心として関係性を記述する方針を決定.
2018/02/28: 第3回公開WSでは,スキーマの詳細設計と具体的な作業手順を議論.
2018/03/18: 第4回公開WSでは,スキーマに沿ってスプレッドシート形式のテンプレート
を公開し,WS参加者で分担してデータを入力.
2018/04/23: 第5回公開WSでは,再度参加者で分担しデータ入力を実施
(計5回のWS参加者延べ100名超)
2018/06/05: Knowledge Graph公開・チャレンジ告知(本日)
2018/10/30: チャレンジ応募〆切
2018/11/25: 授賞式(JIST2017@淡路島での併設イベントを予定)
2018/12月以降
 応募者共著で人工知能学会論文誌へ投稿を予定.国際会議での発表も予定
 2年目以降は国際イベント化し,海外からの参加も募集!
ナレッジグラフ構築の自動化など,タスク範囲の拡大も検討 11
是非,チャレンジにご参加ください
公式サイト
http://challenge.knowledge-graph.jp/
もしくは「推論チャレンジ」で検索
12
【参考1】 ナレッジグラフ とは
政府・自治体
地理情報 ライフサイエンス
図書館・出版
ユーザ生成コンテンツ
メディア
クロスドメイン
DBpedia
140億トリプル
様々な情報・データから抽出した知識をグラフ構造状に整理した知識ベースの一種.
Googleが検索エンジンの検索結果を拡張するために使用しているものが最も有名であり,
2017年現在,10億のエンティティ(事象),700億の属性情報の定義をもつと言われている.
セマンティック技術の分野では,Wikipediaの情報を元にしたDBpediaやWikidataが有名.
13
【参考2】 RDF とは
dbpedia:Japan dbpedia:Tokyo
dbpedia-owl:capital
dbpedia:Tokyo dbpedia:Yuriko_Koike
dbpedia-owl:leaderName
dbpedia:Japan dbpedia:Tokyo
dbpedia-owl:capital
dbpedia:Yuriko_Koike
dbpedia-owl:leaderName
情報の所在とリンクをURIで表現
(単位:トリプル)
URIが同じノードで2つのトリプルを結合
RDFを利用して,データを公開・共有する仕組みがLinked (Open) Data
Web空間を巨大な分散データベースとして,問い合わせや利用が可能に!
対象分野・ドメインを越えてデータ間をリンクすることで,繋がりが無限に広がっていく
⇒T.B.Lee提唱 「データのWeb (Web of Data)」 の構築
14
CC-BY4.0:人工知能学会 セマンティクWebとオントロジー(SWO)研究会CC-BY4.0:人工知能学会 セマンティクWebとオントロジー(SWO)研究会
提供するナレッジグラフの説明
本チャレンジの課題(タスク)向けに
提供するナレッジグラフのスキーマ,
データ内容についての説明します
ナレッジグラフ推論チャレンジ:応募に向けた「技術勉強会」
152018/8/11
CC-BY4.0:人工知能学会 セマンティクWebとオントロジー(SWO)研究会
ナレッジグラフ化の手順検討
手順決定に至るまでの経緯
ワークショップにてスキーマ検討
テンプレートを作成し,ワークショップ入力テスト
→フィードバックを受けて,構築方法再検討
コアメンバー(3名)で構築作業
構築方法の再検討結果
小説全文をKG化 → 推理に必要な部分に絞ってKG化
小説の原文を残しKG化
→ 予め,簡易な日本語に直したものKG化
構築方法が決定したら,クラウドソーシングでKG化
→ワーカへの支持が難しそうなので,学生バイトで…
→(1年目は)コアメンバーで手分けしてKG化
162018/8/11
CC-BY4.0:人工知能学会 セマンティクWebとオントロジー(SWO)研究会
実際のナレッジグラフ化の手順
1. 小説の内容から,ナレッジグラフ化の対象とする部分を抽出
(赤色でマーク)
2. 1.でマークした部分を(中心に),短い文を箇条書きした形
に要約する
 短い一文を「一つの場面」とする
例)ホームズはそれをヘレンに説明した。
ヘレンは真っ青になった。
3. 要約した短い文を基に,ナレッジグラフ化する情報を
「テンプレート」に記入
 場面ごとにIDを付与,表記ゆれを統制,場面間の関係性の記述...
1. 全体を3つに分けて分担作業(1人7-10時間程度の作業)
途中,作業方針すり合わせのミーティングを開催(2-3回)
2. 各単文を英訳+表記統制
3. 場面の関係性,時間の記述+最終確認
4. テンプレートに記入いた内容を,プログラムでRDFに変換
172018/8/11
CC-BY4.0:人工知能学会 セマンティクWebとオントロジー(SWO)研究会
ナレッジグラフ化の考え方
ナレッジグラフの要求仕様
犯人を推論(推理)するのに必要な知識を提供する
「推理小説」で描かれる様々な状況を,できるだけ統一的
な形式で計算機処理(検索・推論・etc.)可能にする
ナレッジグラフ化の基本方針
「推理小説」の内容を,最小単位の「場面(シーン)」に分割
→場面ごとにID(IRI)を付与
「各場面の記述内容」および「場面間の関係」をグラフ化
→グラフ化に必要なクラス・プロパティを定義
場面1 場面2 場面3
場面4
場面5
・・・
・・・
182018/8/11
CC-BY4.0:人工知能学会 セマンティクWebとオントロジー(SWO)研究会
抽出した文章+要約の例
2018/8/11 19
CC-BY4.0:人工知能学会 セマンティクWebとオントロジー(SWO)研究会
テンプレートのサンプル
202018/8/11
CC-BY4.0:人工知能学会 セマンティクWebとオントロジー(SWO)研究会
スキーマ:「場面」
場面
原文
主語
述語
目的語
subject
hasPredicate
source
その他
他の場面
場面間
主語 目的語
述語
の形でないことに注意
スキーマの基本構造
「場面」の記述に用いるプロパティ(赤字は必須)
 subject:その場面の記述において主語となる人や物
 hasPredicate:その場面の内容を表す述語
 場面の詳細を表す目的語:whom(だれに), where(どこで), when
(いつ), what(何を), how(どのように), …etc.
 場面間の関係:then,if, because, …etc.
 time:その場面が起こった絶対時間(xsd:DateTime)
 source:その場面の原文(英語/日本語のリテラル)
→場面に関わる複数の
情報をまとめるため
「場面」中心に記述
212018/8/11
CC-BY4.0:人工知能学会 セマンティクWebとオントロジー(SWO)研究会
スキーマ設計における工夫点
「事実・状況」と「発言・考え」の書き分け
Aの(Bへの)発言,Aの考え
:A,Bに相当する人(情報源)を記述
複数の主語・目的語の扱い
AND:場面を中心とした記述にしているため,主語/目的
語を表すプロパティを複数記述することで表現
OR:「ORの組み合わせ」を表すリソースを導入することで
統一的な扱いが可能
述語の否定(〇〇しない,できない)の扱い
NOT,CanNOTを表す行為クラスを導入
人やものがもつ「性質」
hasProperty+「性質」で表現
222018/8/11
CC-BY4.0:人工知能学会 セマンティクWebとオントロジー(SWO)研究会
例:「場面」の記述
原文(英語/日本語)
各場面には
一意の
ID(IRI)
を与える
絶対時間※小説内に基準
日時を設定している
主語・述語・目的語は全て
「リソース」として定義
→他の場面で同じ目的語
を参照できる
述語
主語
他の場面
場面の種類(クラス)分け
Scene:上位クラス
-Situation:事実・状況の描写
-Statement:Aの発言
-Talk:AのBへの発言
-Thought:Aの考え
232018/8/11
CC-BY4.0:人工知能学会 セマンティクWebとオントロジー(SWO)研究会
例:AのBへの発言
情報源となる人物A
と受け手B
情報源となる人物A
受け手B
※Talkの場合のみ
2018/8/11 24
Talk:AのBへの発言
CC-BY4.0:人工知能学会 セマンティクWebとオントロジー(SWO)研究会
シーン間の関係
シーン間の関係を表す
プロパティ
2018/8/11 25
CC-BY4.0:人工知能学会 セマンティクWebとオントロジー(SWO)研究会
シーン間の関係の種類
シーン間の関係を表す
プロパティ
2018/8/11 26
CC-BY4.0:人工知能学会 セマンティクWebとオントロジー(SWO)研究会
ANDの扱い
同じプロパティによるトリプルを複数記述することで表現する
2018/8/11 27
CC-BY4.0:人工知能学会 セマンティクWebとオントロジー(SWO)研究会
ORの扱い
ORで表された組を指すリ
ソースをORobjとタイプの
インスタンスとして記述
ORobjタイプ
※Objectのサブクラス
ORの対象となるリソース
2018/8/11 28
CC-BY4.0:人工知能学会 セマンティクWebとオントロジー(SWO)研究会
動詞の「Not」の扱い
TypeをNotActionとす
ることで表現
※NotActionはActionの
サブクラス
→Actionタイプである
ことも明記
原型のAction
「できない」の
場合は,
CanNotActionと
する
原型のAction
2018/8/11 29
CC-BY4.0:人工知能学会 セマンティクWebとオントロジー(SWO)研究会
hasPropertyの例
kgcc:Propertyタイプ
2018/8/11 30
「性質」を表す
任意のリソースを
導入する
CC-BY4.0:人工知能学会 セマンティクWebとオントロジー(SWO)研究会
クラス,プロパティ一覧
312018/8/11
CC-BY4.0:人工知能学会 セマンティクWebとオントロジー(SWO)研究会CC-BY4.0:人工知能学会 セマンティクWebとオントロジー(SWO)研究会
ナレッジグラフ利用技術の紹介
ナレッジグラフの処理に利用できるツール
(データベース,API,など)や関連技術
(SPARQLなど)の情報を紹介します.
ナレッジグラフ推論チャレンジ:応募に向けた「技術勉強会」
322018/8/11
CC-BY4.0:人工知能学会 セマンティクWebとオントロジー(SWO)研究会
利用可能なデータ(テキスト)
原文
青空文庫「まだらのひも」からダウンロード
ナレッジグラフ化のための加工データ
Speckled Band_Soruce.docx
原文からRDF化する部分をマーク(赤字)+該当箇所を要約(青字)
したもの
SpeckledBand.xlsx
要約した文をもとに,テンプレートに入力したもの
SpeckledBand.tsv
テンプレート入力結果をTSVに変換したもの
これらのテキストデータを利用した処理もOK
2018/8/11 33
CC-BY4.0:人工知能学会 セマンティクWebとオントロジー(SWO)研究会
RDFデータの提供方法
RDFファイル
 SpeckledBand.nt,SpeckledBand.rdf,SpeckledBand.ttl
 kgc.owl スキーマ定義(各RDFファイルにも含む)
SPARQLエンドポイント
 http://lod.hozo.jp/repositories/kgc
参照解決可能URL
 http://kgc.knowledge-graph.jp/data/SpeckledBand/XXX
(XXX=1から401の数字,または,k001)
というURLにより,RDFデータに参照解決可能なアクセス可能
 拡張子を変更することで,各種形式のRDFを取得可能
→プログラムから直接処理も可
 例)
 http://kgc.knowledge-graph.jp/data/SpeckledBand/36
 http://kgc.knowledge-graph.jp/data/SpeckledBand/36.ttl
 http://kgc.knowledge-graph.jp/data/SpeckledBand/36.rdf
 http://kgc.knowledge-graph.jp/data/SpeckledBand/36.json
 http://kgc.knowledge-graph.jp/data/SpeckledBand/36.jsonld
2018/8/11 34
CC-BY4.0:人工知能学会 セマンティクWebとオントロジー(SWO)研究会
RDFを扱うための技術・ツール
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
352018/8/11
RDF処理に利用可能な技術
CC-BY4.0:人工知能学会 セマンティクWebとオントロジー(SWO)研究会
SPARQLクエリの基礎
2018/8/11 36
RDFデータを対象としたクエリ言語SPARQLを用いる
ことで,推論に必要な情報の取得が可能.
→応募時には,
・SPARQLクエリで「使いたい情報」を抽出し,自分の
処理しやすい形に変換して使う
・SPARQLクエリと独自処理の組み合わせで推論
などを想定.
ここでは,基本的なクエリの考え方を解説する
CC-BY4.0:人工知能学会 セマンティクWebとオントロジー(SWO)研究会
SPARQLによるRDFの検索
SPARQL
RDFデータに対するクエリ言語
「指定したグラフ構造」に一致するトリプルを検索する
最も基本的な検索
select ?s ?p ?o
where {
?s ?p ?o .
}
LIMIT 100
↑取得する数の制限
←検索するグラフのパターン
←返す要素
このパターンを変
えることで,欲しい
データを取得する
2018/8/11
「.」(ピリオド)
を忘れない
?x(x:任意の文字列)は変数を表す
37
CC-BY4.0:人工知能学会 セマンティクWebとオントロジー(SWO)研究会
グラフパターンによる検索
日本
大阪大学
国
おおさかだいがく読み仮名
吹田市
00296951
(VIAF)
国立国会図書館典拠ID
本部所在地
00296951
(Web NDL
Authorities)
skos:exactMatch
大阪大学標目
2018/8/11
?s ?o
?p
検索するグラフパターン
?s ?p ?o
主語 述語 目的語
SPARQLでの記述
38
CC-BY4.0:人工知能学会 セマンティクWebとオントロジー(SWO)研究会
グラフパターン:例1
日本
大阪大学
国
おおさかだいがく読み仮名
吹田市
00296951
(VIAF)
国立国会図書館典拠ID
本部所在地
00296951
(Web NDL
Authorities)
skos:exactMatch
大阪大学標目
2018/8/11
大阪大学 ?o
?p
検索するグラフパターン
<大阪大学> ?p ?o
主語 述語 目的語
SPARQLでの記述
主語を
<大阪大学>
に固定
39
CC-BY4.0:人工知能学会 セマンティクWebとオントロジー(SWO)研究会
検索例1:主語のみ指定
「大阪大学」を主語(Subject)に含むトリプルの述語(?p)
と目的語(?o)を取得する
select ?p ?o
where {
<http://www.wikidata.org/entity/Q651233> ?p ?o .
}
LIMIT 100 Wikidataで「大阪大学」を表すURI
2018/8/11 40
IRIを直接記述するときは< >で囲む
CC-BY4.0:人工知能学会 セマンティクWebとオントロジー(SWO)研究会 2018/8/11
Wikidata
https://query.wikidata.org/
での検索結果
41
CC-BY4.0:人工知能学会 セマンティクWebとオントロジー(SWO)研究会
PREFIXを利用した省略表現
PREFIX(接頭語)を定義することでURIの省略表現が可能
2018/8/11
PREFIX wd: <http://www.wikidata.org/entity/>
select distinct ?p
where {
wd:Q651233 ?p ?o .
}LIMIT 100
select distinct ?p
where {
<http://www.wikidata.org/entity/Q651233> ?p ?o .
}LIMIT 100
PREFIXの定義
省略表現に用いる文字列は任意に
設定できるが,できるだけ慣習的に
利用されるものにあわせるとよい.
42
CC-BY4.0:人工知能学会 セマンティクWebとオントロジー(SWO)研究会
よく用いられる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/
2018/8/11
WikidataのRDFでは,詳細情報を記述
するため,同じ内容のプロパティが3種類
記述されているが,wdt:が使いやすい.
43
CC-BY4.0:人工知能学会 セマンティクWebとオントロジー(SWO)研究会
グラフパターン:例2
日本
大阪大学
国
おおさかだいがく読み仮名
吹田市
00296951
(VIAF)
国立国会図書館典拠ID
本部所在地
00296951
(Web NDL
Authorities)
skos:exactMatch
大阪大学標目
2018/8/11
主語=
<大阪大学>
大阪大学 ?o
本部所在地
検索するグラフパターン
<大阪大学>
<本部所在地> ?o
主語 述語 目的語
SPARQLでの記述
述語=
<本部所在地>
44
CC-BY4.0:人工知能学会 セマンティクWebとオントロジー(SWO)研究会
検索例2:主語と述語を指定
例2-1)
「大阪大学」の「本部所在地」となる目的語(?o)を取得
PREFIX wd: <http://www.wikidata.org/entity/>
PREFIX wdt: <http://www.wikidata.org/prop/direct/>
select distinct ?o
where {
wd:Q651233 wdt:P159 ?o .
}LIMIT 100
2018/8/11
「本部所在地」を表すプロパティ(述語)
45
CC-BY4.0:人工知能学会 セマンティクWebとオントロジー(SWO)研究会
検索例2:主語と述語を指定
例2-2)
「大阪大学」のラベルとなる目的語(?o)を取得
PREFIX wd: <http://www.wikidata.org/entity/>
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
select distinct ?o
where {
wd:Q651233 rdfs:label ?o .
}LIMIT 100
2018/8/11
「ラベル」を表すプロパティ(述語)
46
CC-BY4.0:人工知能学会 セマンティクWebとオントロジー(SWO)研究会 2018/8/11
Wikidata
https://query.wikidata.org/
での検索結果
47
CC-BY4.0:人工知能学会 セマンティクWebとオントロジー(SWO)研究会
検索例:プロパティの種類一覧
「大阪大学」を主語(Subject)とするトリプルの述語(?p)
を取得する(重複除く)
select distinct ?p
where {
<http://www.wikidata.org/entity/Q651233> ?p ?o .
}
LIMIT 100 Wikidataで「大阪大学」を表すURI
2018/8/11
→このようなクエリを用いることで,
利用されているプロパティの種類の一覧を
調べることが分かる
48
“重複を除く”場合はdistinctをつける
CC-BY4.0:人工知能学会 セマンティクWebとオントロジー(SWO)研究会CC-BY4.0:人工知能学会 セマンティクWebとオントロジー(SWO)研究会
応募に向けた「技術勉強会」
SPARQLと可視化ツールを用いた例
人工知能学会セマンティックウェブとオントロジー(SWO)研究会
2018/8/7
CC-BY4.0:人工知能学会 セマンティクWebとオントロジー(SWO)研究会
今回提供するKnowledge Graphのあらすじ
短編小説: まだらのひも
ヘレンはホームズの家にやってきて次のことを説明
Ø 姉のジュリアとともに義父のロイロット博士の家に住む
Ø 二年前にジュリアが結婚前に死亡
Ø 死の直前、「口笛の音が聞こえる」「まだらのひも」などの発言
Ø 最近ヘレンの結婚が決まると屋敷の改築が始まった
Ø ヘレンはジュリアの使っていた部屋への移動を余儀なくされる
Ø ヘレンが寝ていると口笛の音が聞こえてきた
Ø 怖くて明け方に逃げてきた→ホームズへ依頼
2
CC-BY4.0:人工知能学会 セマンティクWebとオントロジー(SWO)研究会
SPARQL検索例: 述語一覧の取得
ここで言う「述語」とはRDFトリプルにおけるPredicate全般のこと
ではなく、何かのシーン(Situation/Statement/Talk/Thought)
に関する述語の意味
3
PREFIX kgc:	<http://kgc.knowledge-graph.jp/ontology/kgc.owl#>
SELECT DISTINCT ?o WHERE {
?s kgc:hasPredicate ?o .
}
今回用意したKGのプロパティやクラスについてはこの接頭辞を使う。
このURIにアクセスするとOWL※1ファイルを参照可能。
kgc:hasPredicateはシーンが述語を持っていることの意味。
?sにはシーンが入り、?oにはそのシーンの述語が入る。
※1	Web	Ontology	Language	(OWL).	オントロジー記述言語.	今回提供するOWLファイルはXML形式
CC-BY4.0:人工知能学会 セマンティクWebとオントロジー(SWO)研究会
SPARQL検索例: 述語一覧の取得
前ページのクエリではすべてのシーンに関して、枠で囲んだ部
分を取得
4
kd:1 kd:come
“ヘレンがホームズの家にやってくる”@ja
“Helen	comes	to	Holmes'	house”@en
kgc:Situation
rdf:type
kgc:hasPredicate
kgc:source
kgc:source
kd:Helen
kd:house_of_Holmes
kgc:subject
kgc:to
kd:1の主語
kd:1の述語
kd:1の目的語
日本語ソース
英訳文
kd:	<http://kgc.knowledge-graph.jp/data/SpeckledBand/>
インスタンスに関しては接頭辞kdを使用
CC-BY4.0:人工知能学会 セマンティクWebとオントロジー(SWO)研究会
SPARQL検索例: 述語一覧の取得結果
この述語を手がかりに様々なシーンを検索することができる
本チャレンジで提供するSPARQLエンドポイント
(AllegroGraph)では結果のリンクをクリックすることで情報を
確認可能
5
クリック
kd:comeについての情報
kd:comeを持つトリプル
CC-BY4.0:人工知能学会 セマンティクWebとオントロジー(SWO)研究会
SPARQL検索例: 主語一覧の取得
述語と同様にして、シーンの主語一覧も取得可能
6
PREFIX kgc:	<http://kgc.knowledge-graph.jp/ontology/kgc.owl#>
SELECT DISTINCT ?o
WHERE {
?s kgc:subject ?o .
}
結果
CC-BY4.0:人工知能学会 セマンティクWebとオントロジー(SWO)研究会
SPARQL検索例: 人が死んだシーンの取得
述語一覧からkd:dieという述語を知ったので、これを
手がかりに人が死んだシーンを検索してみる
7
PREFIX kgc: <http://kgc.knowledge-graph.jp/ontology/kgc.owl#>
PREFIX kd: <http://kgc.knowledge-graph.jp/data/SpeckledBand/>
SELECT DISTINCT ?id ?s
WHERE {
?id kgc:hasPredicate kd:die ;
kgc:subject ?s .
}
結果
CC-BY4.0:人工知能学会 セマンティクWebとオントロジー(SWO)研究会
SPARQL検索例: 「have」に関する主語・目的語
kd:haveという述語の主語と目的語について取得
誰が何を持っているかが分かる
8
PREFIX	kgc:	<http://kgc.knowledge-graph.jp/ontology/kgc.owl#>
PREFIX	kd:	<http://kgc.knowledge-graph.jp/data/SpeckledBand/>
SELECT	?id	?s	?o
WHERE	{
?id kgc:hasPredicat kd:have;
kgc:subject ?s;
kgc:what ?o	.
}
CC-BY4.0:人工知能学会 セマンティクWebとオントロジー(SWO)研究会
SPARQL検索例: ソース文の取得
ソース文を取得したい場合
9
PREFIX	kgc:	<http://kgc.knowledge-graph.jp/ontology/kgc.owl#>
SELECT		*
WHERE	{
?id		kgc:source ?o	.
FILTER(LANG(?o)	=	"en")
}
”ja”指定で日本語取得も可
結果
CC-BY4.0:人工知能学会 セマンティクWebとオントロジー(SWO)研究会
SPARQL検索例: 文字列検索
ソース文中に”bedroom”を含むシーンを検索
10
PREFIX	kgc:	<http://kgc.knowledge-graph.jp/ontology/kgc.owl#>
SELECT	*
WHERE	{
?id	kgc:source?o	.
FILTER	CONTAINS(?o,	"bedroom")
}
?oがURIである場合はstr(?o)とする.
FILTER	REGEXで正規表現も可.
CC-BY4.0:人工知能学会 セマンティクWebとオントロジー(SWO)研究会
可視化ツール
http://knowledge-graph.jp/visualization/
入力したSPARQLをもとにナレッジグラフから部分グ
ラフを取得して可視化する
11
CC-BY4.0:人工知能学会 セマンティクWebとオントロジー(SWO)研究会
可視化ツールの使い方
12
可視化ツール用SPARQLを入力。
?s	?p	?oの形式で結果を取得し、
?s→?p→?oのグラフを描画する
実行 描画計算停止
描画領域の初期化
CC-BY4.0:人工知能学会 セマンティクWebとオントロジー(SWO)研究会
可視化ツール用SPARQL
?s(主語) ?p(述語) ?o(目的語)のトリプルを取得して描画
描画(する/しない)リソースをFILTER句で指定
(通常のSPARQL実行はこちらから https://goo.gl/VAK2Mc )
13
PREFIX	rdfs:	<http://www.w3.org/2000/01/rdf-schema#>
PREFIX	kgc:	<http://kgc.knowledge-graph.jp/ontology/kgc.owl#>
PREFIX	kd:	<http://kgc.knowledge-graph.jp/data/SpeckledBand/>
SELECT	?s	?p	?o	WHERE	{
?s	?p	?o	.
filter(?s	=	kd:155)	
}
すべてのトリプル
特定のイベントのみ描画するために絞り込む
CC-BY4.0:人工知能学会 セマンティクWebとオントロジー(SWO)研究会
可視化ツールで確認(1/2)
SPARQL実行結果をもとに描画される
ノードをダブルクリックすると展開
14
ダブルクリック
CC-BY4.0:人工知能学会 セマンティクWebとオントロジー(SWO)研究会
可視化ツールで確認(2/2)
描画してからキーワード検索も可能(ハイライト表示)
15
キーワードを指定
検索
CC-BY4.0:人工知能学会 セマンティクWebとオントロジー(SWO)研究会
推論の検討(1/9)
ジュリアが死んだ日になにかシーンのある人を確認し
てみる
16
PREFIX	rdfs:	<http://www.w3.org/2000/01/rdf-schema#>
PREFIX	kgc:	<http://kgc.knowledge-graph.jp/ontology/kgc.owl#>
PREFIX	kd:	<http://kgc.knowledge-graph.jp/data/SpeckledBand/>
SELECT	?s	?p	?o
WHERE	{
?id	kgc:when kd:death_day_of_Julia;
kgc:subject ?s	.
?s	?p	?o	.
filter(?o	!=	kgc:Situation)
}
CC-BY4.0:人工知能学会 セマンティクWebとオントロジー(SWO)研究会
推論の検討(2/9)
ヘレン、ロイロット博士、ロマなどが確認できる
17
CC-BY4.0:人工知能学会 セマンティクWebとオントロジー(SWO)研究会
推論の検討(3/9)
ロイロット博士の事件当夜のシーンを確認してみる
18
PREFIX	rdfs:	<http://www.w3.org/2000/01/rdf-schema#>
PREFIX	kgc:	<http://kgc.knowledge-graph.jp/ontology/kgc.owl#>
PREFIX	kd:	<http://kgc.knowledge-graph.jp/data/SpeckledBand/>
SELECT	?s	?p	?o
WHERE	{
?s	kgc:when kd:death_day_of_Julia;
kgc:subject kd:Roylott.
?s	?p	?o	.
filter(?o	!=	kgc:Situation)
}
CC-BY4.0:人工知能学会 セマンティクWebとオントロジー(SWO)研究会
推論の検討(4/9)
怪しい行動が目立つ
19
CC-BY4.0:人工知能学会 セマンティクWebとオントロジー(SWO)研究会
推論の検討(5/9)
ロイロット博士に対するすべてのシーンを確認
20
PREFIX	rdfs:	<http://www.w3.org/2000/01/rdf-schema#>
PREFIX	kgc:	<http://kgc.knowledge-graph.jp/ontology/kgc.owl#>
PREFIX	kd:	<http://kgc.knowledge-graph.jp/data/SpeckledBand/>
SELECT	?s	?p	?o
WHERE	{
?s	kgc:whom kd:Roylott.
?s	?p	?o	.
filter(?o	!=	kgc:Situation)
}
CC-BY4.0:人工知能学会 セマンティクWebとオントロジー(SWO)研究会
推論の検討(6/9)
お金がらみのイベントが確認できる
21
CC-BY4.0:人工知能学会 セマンティクWebとオントロジー(SWO)研究会
推論の検討(7/9)
可視化ツール上でお金の動きをたどってみる
Ø kd:money→kd:18展開
Ø お金は姉妹(ヘレン,ジュリア)に分けられることがわかる
22
CC-BY4.0:人工知能学会 セマンティクWebとオントロジー(SWO)研究会
推論の検討(8/9)
可視化ツール上でお金の動きをたどってみる
Ø 「お金は姉妹に分けられる」からkgc:ifでつながっている
kd:19を展開
Ø 姉妹が結婚するとお金は姉妹に分けられることがわかる
23
CC-BY4.0:人工知能学会 セマンティクWebとオントロジー(SWO)研究会
推論の検討(9/9)
さらに可視化ツール上でお金の動きをたどってみる
Ø kd:money→kd:147展開
Ø 姉妹が嫁ぐとロイロット博士がもらえるお金が減る=動機?
24
CC-BY4.0:人工知能学会 セマンティクWebとオントロジー(SWO)研究会
まとめ
SPARQLと可視化ツールを使ってKGの構造把握、
推論順序の検討などが可能
Ø 簡単なクエリをSPARQLエンドポイントで実行し、結果をた
どるだけでも色々なことがわかるのでオススメ
Ø 視覚的に確認したい場合は可視化ツール
チャレンジ
Ø どのようなSPARQLクエリを作成する?
Ø どのようにSPARQLクエリをつなげる?
Ø SPARQLだけでつながらない場合どうする?
25
CC-BY4.0:人工知能学会 セマンティクWebとオントロジー(SWO)研究会
本日の概要
本日のイベントの趣旨
「ナレッジグラフ推論チャレンジ」への応募に必要な技術情報を
紹介し,応募に向けたイメージをつかんでいただく.
質疑応答を通して,応募に関わる疑問点を解消していただく.
本日の予定
10:00 オープニング[古崎]
10:05 ナレッジグラフ推論チャレンジの紹介[川村]
10:15 提供するナレッジグラフの説明[古崎]
10:35 ナレッジグラフ利用技術の紹介[古崎]
10:50 SPARQLによるナレッジグラフの利用例[江上]
11:20 参考アプローチの紹介[川村]
11:35 質疑応答
12:00 終了
492018/8/11
CC-BY4.0:人工知能学会 セマンティクWebとオントロジー(SWO)研究会
今後の予定
2018/9/上旬?:ナレッジグラフ技術勉強会?
SPARQLなどナレッジグラフを扱う技術のチュートリアル
2018/10/30: チャレンジ応募〆切
2018/11/25: 授賞式 in 第46回SWO研究会
(JIST2018@淡路島での併設イベントを予定)
2018/12月以降
チャレンジ終了後,チャレンジ内容や応募作品について学術
論文を執筆予定.優秀作品の応募者につきましては共著者に
入っていただきたく,後日ご連絡させていただきます.
2年目以降は国際イベント化し,ナレッジグラフ構築の自動化
など,タスク範囲の拡大も検討
50
詳細は公式サイト,http://challenge.knowledge-graph.jp/
もしくは「推論チャレンジ」で検索
JIST2018:The 8th Joint International
Semantic Technology Conference
Nov 26 - 28, 2018, Awaji City, Hyogo, Japan
会場:淡路夢舞台国際会議場
論文投稿締切
2018/8/7 概要投稿
2018/8/17 論文投稿
特別セッション
- Open Government Data
- Question Answering and
ChatBots
- Semantic Web for Life Sciences
- Resource-aware Semantic
Technologies
関連資料(公開)
公式Webサイト
http://challenge.knowledge-graph.jp/
関連発表資料
推論チャレンジ(仮称)開催予告~解釈可能な人工知能
を目指して~@SWO研究会(2017/11/25)
第1回ナレッジグラフ推論チャレンジ2018 ~解釈可能な
人工知能を目指して~@JSAI2018[発表資料,発表論文,
推論検討例]
ナレッジグラフ推論チャレンジの紹介@LODC2018ミート
アップ(2017/7/2)
ナレッジグラフ公開サイト
https://github.com/KnowledgeGraphJapan/Challenge
/tree/master/rdf/SpeckledBand
522018/8/11

ナレッジグラフ推論チャレンジ:応募に向けた「技術勉強会」資料