SlideShare a Scribd company logo
ウェブオントロジー言語で
   何が書けるか


               福原和朗
     twitter.com/kazurof
              2012-11-25
                           1
前口上
• 巷をにぎわすキーワード
• セマンティックウェブ
 – 「インターネットの情報にメタ情報も記述して、
   色々便利にしましょう。」というW3Cのプロジェクト。
 – SW と略記します。
• オントロジー
• ウェブオントロジー言語
 – Web Ontology Language (OWL)


                                 2
この発表では
• OWLで書けるデータの構造について、記述論
  理を元に解説します。
• 大嘘をついているかもしれません。ご容赦を。
 – むしろ突っ込んでくれるととても喜びます。
     » 誰のレビューをも受けていないという、、、




                              3
そもそもOWLとはなんぞや
• SWにおいて使われるメタデータの記述言語
 – 「メタ」です。本文そのものは含みません。
   • ウェブ上のドキュメントに対するメタ情報を記述する。
      – 作者、発行日、内容のキーワード、などなど、、、
   • 文字もデータとして持てるので、無理やり本文を入れ
     られないこともない。
• データの記述、知識表現のための仕様
• データの識別にURIを使う。
 – http://example.org/somedata#nantoka

                                         4
続き
• 物理的な表現形式
 – RDF/XML
    • XMLベースの表記
 – N-Triples
    • 主語、述語、目的語を並べて書くという、素朴な表記
 – Turtle
    • N-Triplesに便利な書式を加えた表記
 – 他に、関数型構文やマンチェスター構文などがある。
• 「記述論理」を理論的な基礎としている。

                                 5
記述論理とはなんぞや
• Description Logic (DL と略記)
• 知識表現の方式
  – 人工知能の分野でのKL-ONEやKRYPTONなど、従
    前にある知識表現システムを改良させたもの
  – 意味の記述
  – 推論システムの実装可能性
    • 矛盾がないかの計算
    • 何らかの新しい知識を導出できるかどうかの計算
• 利用可能なルールを組み合わせることで、多
  数のサブ言語を構成可能
                                  6
好きな機能を選べます
• 多数のサブ言語を構成可能
 – (( ALC | S )[ H ]| SR) [ O ][ I ][ F | N | Q ] [(D)]
 – 食べ物のトッピングみたいなものです。




                                                          7
SHOIN(D)
• 本発表ではOWL-DLに相当する、SHOIN(D)に
  ついて解説します。
• (( ALC | S )[ H ]| SR) [ O ][ I ][ F | N | Q ] [(D)]
• 「しょいんでぃー」って読むのだと思います。
   – 多分。
   – 正直よくわかりません。




                                                         8
SHOIN(D)
• SHOIN(D)
  – ALC言語 と 推移的ロール (S)
  – ロール階層(H)
  – ONE-OF概念(O)
  – 逆ロール (I)
  – 制限なし数量限定(N)
  – データ型 + データ型ロール (2個まとめて(D))
• まずは、ALC言語というものを解説します。


                                 9
ALC言語
• attributive language with complements
• 個体
  – 記述したいデータそのもの
• 概念
  – 何かの特徴を持った個体の集合
• ロール
  – 個体同士のペア
• 解釈
  – 妥当性判定の枠組み。意味論をなす。
                                          10
概念と個体
 • 素朴な集合論に該当する
   – 集合の要素が個体。集合が概念。
赤字、概念。 青字、個体。

           概念:「冷たい飲物」

          概念:「炭酸飲料」
                                        概念:「温かい飲物」
       個体:コーラ
                            概念:「コーヒー」
     概念:「お酒」        個体:牛乳
                                          個体:甘酒
      個体:ビール                  個体:ボス


                概念:「ジュース」
                                          概念:「菓子」
               個体:ポンジュース
                                        個体:チョコレート    11
解説
• 否定、積集合、和集合、包含関係が記述可能
 – 否定 ¬, 連言 ∩, 選言 ∪ , 部分集合⊆
• 例
                              概念:「温かい飲物」
 – コーヒー ⊆ 温かい飲み物
                              概念:「コーヒー」
 – ビール ∈ お酒 ∩ 炭酸飲料
 – ¬ジュース
      • コーラ、ビール、甘酒など。   概念:「炭酸飲料」

                        コーラ

                          ビール


                          概念:「お酒」     12
組み込みの概念
• 最大概念
 – すべてを含めている概念 T
  • すべての概念の親概念
 – いわゆる全体集合
• 空概念
 – 何も含まない概念 ⊥
  • すべての概念の子概念
 – いわゆる空集合 (φ)

                   13
知識ベースの表記
• 式でどのように表記するか
• TBox
  – terminological component の略
  – 概念の定義
  – 概念同士の関係の定義
    • [ある概念] ⊆ [他の概念] という形式
• ABox
  – assertion component の略
  – 個体がどの概念に属するかの定義
                                  14
概念の関係
• 概念の包含関係
 – [概念A] ⊆ [概念B]
   • 概念Aに含まれる個体は、概念Bに含まれることを意味
     する。
   • 「概念Aの要素を概念Bの要素とみなして問題ない」
 – オブジェクト指向で言うところの階層関係、あるい
   は親子関係。




                             15
新しい概念の定義

• [概念A] ⊆ [概念B] かつ [概念B] ⊆ [概念A]の
  時、 [概念A] ≡ [概念B]と、表記できる。
 – 「合同」の記号




                                16
例:三角形
• 直角三角形 ⊆ 3辺がa2 = b2 +c2 である三角形
• 3辺がa2 = b2 +c2である三角形 ⊆ 直角三角形
 – この2個で、
• 直角三角形 ≡ 3辺がa2 = b2 +c2である三角形
 – と、表記できる。
• 「a2 = b2 +c2 である三角形」を使って「直角三角
  形」を定義した。
 – 同時に逆も定義している。


                                  17
定義の他の例
• 6の倍数 ⊆ 3の倍数∩2の倍数
• 3の倍数 ∩ 2の倍数⊆6の倍数
• 6の倍数 ≡ 3の倍数∩2の倍数 と、表記で
  きる。
• 組み合わされた概念を1つの概念に定義す
  ることが可能。
 – 否定 ¬, 連言 ∩, 選言 ∪ の組み合わせ。


                              18
飲み物での例
• TBox
  – 冷たい飲み物
    • 概念の定義
  – 温かい飲み物
  – 炭酸飲料 ⊆ 冷たい飲み物
    • 「炭酸飲料は冷たい飲み物の子概念である」という概
      念同士の関係の定義
  – 飲み物 ≡ 温かい飲み物 ∪冷たい飲み物
    • 図にはありませんが、このような概念を既存概念の組
      み合わせから新たに定義することが可能。

                                 19
飲み物での例(続き)
• ABox
  – 冷たい飲み物(コーラ)
    • 「コーラは冷たい飲み物である」という意味
  – 炭酸飲料(ビール)
  – 菓子(チョコレート)
  – ¬(温かい飲み物 ∪冷たい飲み物)(チョコレート)
    • 「チョコレートは温かい飲み物でも冷たい飲み物でもな
      い」という意味。



                                20
解釈
• 概念、ロール、個体は決め事(定義)だけの
  存在
 – 今までの例では説明上わかり易い名前を使って
   ますが、所詮名前だけ。ぶっちゃけ記号です。
• 知識ベースに対して合致するような具体的な
  実際の物(=解釈)を当てはめて、妥当か否
  か判定します。
 – 「コレコレの個体にはナニナニを当てはめる」
• OWLで何が書けるかとは直接関係しません。
 – 記述論理での推論には必要
                           21
解釈の定義
• 解釈 I
 – 具体的な値の集合Δ (デルタ) と、
   関数 ・ (中黒) の、ペア
• 関数 ・
 – TBoxの各概念 → Δ の部分集合
 – ABoxの各個体 → Δ の要素
• 「当てはめる値の集合と、それぞれの概念へ
  の当てはめを決めるもの」

                        22
妥当な解釈の例
• TBox
  – 素数      偶数
• ABox
  – 素数(a)     偶数(b)
• 妥当な解釈
  – Δ = {5, 4} , 素数→ {5} , 偶数→{4}, a → 5 , b → 4
• 妥当でない解釈
  – Δ = {6, 4} , 素数→ {6} , 偶数→{4}, a → 6 , b → 4
• 妥当な解釈を知識ベースのモデルと呼ぶ
                                                   23
妥当か否かの判定
• 「解釈が知識ベースの妥当な解釈かどうかの判
  定(=充足判定)を行う。」という仕様が記述論
  理に組み込まれています。
• 利用可能なルールの組み合せごとに、判定の
  アルゴリズムとその計算量(オーダー)が研究さ
  れています。
 – タブロー法
 – 「PSPACEである」「NLOGである」など。

                             24
ロール
• 個体同士の関係
 – 個体と個体のペア
 – 概念同士ではありません。
• 例
 – タラの親はサザエである。
 – 2より小さい数は1である。
 – ミルカさんの得意科目は数学である。
• 関係の方向を意識します。
 – 「タラの親はサザエ」といったら逆は普通成り立た
   ない。                    25
図による例
                  義兄

カツオ                                    マスオ
                  義弟
                               夫
              弟

                               妻
          姉
                  サザエ
                               親
          叔父
                                   子
                  子        親
      甥



                      タラ           タラの親はサザエ
                                             26
図の解説
• 前頁の例の場合
 – 親 = {(タラ, サザエ) ,(タラ,マスオ)}
 – 子 = {(サザエ, タラ) ,(マスオ, タラ)}
 – 弟 = {(サザエ, カツオ)}
• などと記述できる。
• (タラ, サザエ) のようなペアをロールと呼びま
  すが、親をロールと呼ぶ場合もあります。
 – 文脈で判断。

                                27
ロールによる概念の構築
• Rをロール、Cを概念とします。
• ∀ R.C
  – どのロール”R”の値も、概念Cの個体である。
  – “∀ 子.男” -> 全ての子が男である個体。
    • サザエ
• ∃ R.C
  – 何らかのロール”R”の値が存在し、その値は概念
    Cの個体である。
  – “∃ 親.女” -> ある親は女である個体。
    • タラ
                              28
図示
 • ∀ 子. 男
   – 全ての子が男である個体。
   – サザエが該当する。
       • すべての子供(=タラ)は男。
   – ナミヘイは該当しない。
       • 子供にサザエ(=女)がいるから。
   – 実はカツオとタラも該当する。
       • 子供がいないから。
          子                 子
                 サザエ
ナミヘイ                            タラ

          子      カツオ                 29
図示2
• ∃ 親.女
 – ある親は女である個体。
 – タラとサザエが該当する
     • サザエ(=女)、フネ(=女)が存在するから。
 – マスオは該当しない
     • そのようなロールが存在しないから


        親           親
フネ          サザエ
                            タラ
            マスオ         親
                                 30
ロールによる概念(別の例)
                   より大きい

     a                                       c
                   より小さい


                             より大きい
                 より大きい                           Cより小さいのはB
                                     より小さい
         より小さい

                         b
• TBox
  – 整数の集合 X
    • 仮に、X ={a, b, c} とします。
  – 最大の数   ≡X ∩ ∀ より小さい X
  – 最大でない数 ≡X ∩ ∃ より大きい X                               31
別例(続き)
• ABox
  – より大きい(a,b)       – 最大の数(c)
    • aより大きいのはb       • Xに属し、全ての“より小さい”プロ
    • a < b(以下同様)       パティ値が X の要素である。
  – より大きい(b,c)       – 最大でない数(a)
    • b<c             • Xに属し、“より大きい”プロパティ
  – より大きい(a,c)          値が存在し、Xの要素である。
  – より小さい(b,a)       – 最大でない数(b)
    • b > a (以下同様)
  – より小さい(c,b)
  – より小さい(c,a)         では、これの
                      妥当な解釈は?          32
別例の解釈
• 解釈の例
 – Δ = {1, 2, 3} 、a = 1、b = 2、c = 3
 – Δ = {4, 5, 6} 、a = 4、b = 5、c = 6
• ロールと概念をも組み合わせて新たな概念を
  作ることができる。
 – 「最大の数        ≡ X ∩ ∀ より小さい 整数」




                                      33
SHOIN(D)(再掲)
• SHOIN(D)
  – ALC言語 と 推移的ロール (S)
  – ロール階層(H)
  – ONE-OF概念(O)
  – 逆ロール     (I)
  – 制限なし数量限定(N)
  – データ型 + データ型ロール( 2個まとめて(D))
• ALC言語は説明できたので、順次追加要素を
  説明します。

                                 34
推移的ロール
• 例
 – 先祖の先祖も先祖
 – 大きいものより大きいものは大きい。
• あるロールRが推移的である。
 – (x,y) ∈R ∧ (y,z) ∈ R ⇒ (x,z) ∈ R
• ALC言語 に 推移的ロール を追加して S




                                      35
名前の由来
• 「推移的」と言ったらtransitiveですが ALCと、推
  移的ロールで S です。
 – 記述論理の進化の推移で、ALCtrans とかALCR+ と、
   書くやり方もあったようです。
 – が、縮めたいという要望からこうなった様子。
 – 「propositional modal logic」 のS4m に由来するとか。




                                          36
ロール階層(H)
• ロールの包含関係を設定できる。
• 例:「親」という関係は「父」という関係を含む。
 – マスオがタラの父ならば、マスオはタラの親である。
• R⊆S
 – R に属する個体のペアは、すべてSに属する。




                            37
ONE-OF概念 (O)
• 列挙を表現する概念
 – 例:曜日、トランプのスートなど。
 – {スペード、ハート、ダイヤ、クラブ}
• ロールでの例
 – ∃hasSuit.{スペード、ハート}
   • スペードかハートのいずれかを持つ個体
 – ∃hasSuit.{ハート}
   • ハートを持つ個体


                          38
逆ロール (I)
• 例
  – 「親」の逆は「子」
  – 「大きい」の逆は「小さい」
• ロールR-はRの逆ロールである。
  – (x,y) ∈ R ⇔ (x,y) ∈ RI
• I は inverse の I



                             39
制限なし数量限定(N)
• 「数量限定」
 – ∃R.C
   • 何らかのロール”R”の値が存在し、その値は概念Cの
     個体である。
 – これを拡張し、ロール”R”の値が存在する数を指
   定する表現。
• ≦nR
 – n個以下のロールRが存在する。
• ≧nR
 – n個以上のロールRが存在する。
                                 40
「制限なし」
• 「制限なし」
 – 通常は、∃R.C などと値の概念を表現するが、そ
   のような概念を定めないという意味で、「制限な
   し」
• 制限ありの場合は、以下のようになる
 – ≦n R.C →Cに属する個体でロールRの値である
   値がn個以下存在する。
 – ≧n R.C →Cに属する個体でロールRの値である
   値がn個以上存在する。
 – 言語名は(Q)
                               41
データ型 と データ型ロール((D))
• データ型
 – 数字、文字列、日付などの総称
 – 個体では、解釈を与えて実際の当てはめる必要
   があるが、データ型ならそのまま使える。
   • 文字列を名前として使える。
 – データ型の値から発生するロールは持てない。
• データ型ロール
 – ロールの値がデータ型であるようなロール
 – 今までのものは個体値型ロールと呼ぶ。
• 言語名は2個まとめて(D)            42
SHOIN(D)(再々掲)
• SHOIN(D)
  – ALC言語 と 推移的ロール (S)
  – ロール階層(H)
  – ONE-OF概念(O)
  – 逆ロール     (I)
  – 制限なし数量限定(N)
  – データ型 + データ型ロール (2個まとめて(D))
• ここまでで、 SHOIN(D)を説明できました。


                                 43
OWLで何が書けるかまとめ
• 個体
 – 表現するデータそのもの
• 概念
 – 個体の所属する集合
 – 論理式の組み合わせで新たな概念を作成可能
 – ロールから、概念を構成することが可能
• ロール
 – 個体同士の関係の記述
 – 個体とロールで、有向グラフの形になります。
                           44
OWLで何が書けるかできるか
• 個体だけでなく、データ値(文字列、数字、日
  付時刻などの実際の値)を扱える。
• 推移的ロール、ロール階層、逆ロール、数量
  限定ロールを使って意味を組み込んだ知識
  を表現できる。
 – 推論との親和性
• 解釈を与えて推論をし、妥当性の検査をする
  というパラダイムを持っている。

                          45
補遺:雑駁なこと色々




             46
記述論理とOWLの対応

記述論理   OWL
概念     クラス
ロール    プロパティ
個体     URI
データ型   XML Schema データ型を利用




                            47
RDBのテーブルをDLで表現する例
  • 例: 商品テーブルと受注テーブル
  • 商品 {商品コード, 商品名, 単価}
  • 受注 {受注番号, 商品コード , 数量}
 商品コード   商品名     単価   受注番号   商品コード       数量
0001     みかん   100    01     0001    3
0002     りんご   150    02     0001    4
                      03     0002    5



          商品               受注
                                          48
記述論理の枠での図示
                参照整合性制約を表現
  商品                                  受注


        x                        a
                受注対象商品


商品コード                    受注番号        数量
         商品名   単価



 0001   みかん    100          01       100

 •x とかa はレコードそのものを表現している。
 •変数名みたいなものなのでxやaを使う。
 •「0001」とか「みかん」はデータ値なのでそのまま書く。             49
DLでの例
• TBox
  – 商品概念 ≡ 商品 ∩ =1 商品コード ∩
    =1 商品名 ∩ =1 単価
  – 受注概念 ≡ 受注 ∩=1 受注番号 ∩
    =1 商品 ∩ =1 数量


※「=1 商品コード」は、「≦1 商品コード∩ ≧1 商品コード」の略。
「=1 商品コード . 文字列」などと書きたいけど制限なしなのででき
ない。 (D)であって(Q)ではない。


                                   50
解説
• 個体の分類としての商品と、各項目を持ってい
  る商品は別の物なので、別の名前を付与。
 – 「商品概念」と「商品」
  • 自然な命名が思いつかない。
  • 慣れていないのか、記述論理が高級すぎるのか。
 – 個体の属する概念と、他の個体とのつながりは別の
   話。



                             51
• ABox
  – 商品(x)              – 受注(a)
  – 商品コード(x, “0001”)   – 受注番号(a, “01”)
  – 商品名(x, “みかん”)      – 受注対象商品(a, x)
  – 単価(x, “100”)         – 受注 a の対象商品
  – 商品(y)                  はx という意味。
  – 商品コード(y, “0002”)   – 数量(a, “3”)
  – 商品名(y, “りんご”)
  – 単価(y, “150”)
                                         52
オブジェクト指向としての特徴
• クラス
 – 多重継承を許す。
   • プログラミング言語では多重継承を許すと使いこなす
     のが大変なことになるが、データの表現ならば許した
     ほうが便利。
   • いわゆる「タグ」
• プロパティ
 – クラスなしで単体で存在しうる。
   • 制約の制限とは別である。
 – 継承も多重継承も可能。
   • 個体のペアの集合の包含関係              53
続き
• インスタンス
 – あるインスタンスが、全く別の複数のクラスに属す
   ることを許す。
   • 多重継承しているクラスに属するという意味ではない。
   • プログラミング言語では聞いたことがない。
   • RDBでのテーブルとレコードの関係では実現できない。
 – 同じクラスに属するインスタンスが異なるプロパティ
   を持っていて良い。
   • クラスに属することがプロパティを制約するわけではない。

                              54
OWLの使い道
• いろいろな人が個別に書いたオレオレオントロ
  ジーを透過的に処理することができそう。
 – 各人が、個別の概念とロールを使って知識ベースを
   作る。
 – それらの知識ベースについて、同じもの決定する知
   識ベースを追加する。
  • 翻訳をするような知識ベース
 – 翻訳済みの知識ベースについて処理をする。
• 分散的に作られたデータを統合して処理する。
• セマンティックウェブ向き
 – 当たり前といえば当たり前か。。。       55
本発表でカバーしてない話
• 記述論理の推論の仕組み
 – 大枠
 – 開世界仮説
 – 推論アルゴリズム
  • タブロー法
• 推論の計算量
• 言語の表現力


                 56
もっと勉強したい人への手引き
• 本発表は主に、OWL-DL とSHOIN(D)をベース
  に行いました。
 – 2004年にW3C勧告になった古い仕様のOWL
   • 区別のため、OWL1と表記します。
• 2009年にOWL2という新しい仕様がW3C勧告
  になっています。それに沿うならば、SROIQ(D)
  についての文書を読むとよいでしょう。
 – 「すろいくでぃー」って読むんでしょう、きっと。

                                57
参考文献
• 記述論理とWebオントロジー言語
 – http://www.amazon.co.jp/dp/4274207455
 – 日本語で唯一まともに記述論理を説明した本。
 – とっつきはそれほど良くない。
 – OWL1




                                           58
参考文献2
• The Description Logic Handbook Second edition
  – http://ebooks.cambridge.org/ebook.jsf?bid=CBO97
    80511711787
  – 内容それなりにしっかり。
     • リファレンスとしても使える。
  – ALC言語とその派生の話が多い。
  – OWL1 SHOIN(D)



                                                  59
参考文献3
• Wikipedia
  – http://en.wikipedia.org/wiki/Description_logic
  – http://en.wikipedia.org/wiki/Web_Ontology_Lang
    uage
  – OWL1, 2. SHOIN(D) , SROIQ(D) 全部触れてある
  – wikipedia日本語版は記述いまいち




                                                 60
参考文献4
• Foundations of Description Logics
  – http://www.aifb.kit.edu/images/1/19/DL-Intro.pdf
  – http://www.semantic-web-
    book.org/w/images/a/a9/DL-Foundations-
    RW2011.pdf
  – カールスルーエ大学(ドイツ)の講義テキスト
     • プレゼン資料がわかりやすい!
  – OWL2 , SROIQ(D)


                                                       61
参考文献5
• セマンティック・ウェブのためのRDF-OWL入門
 – http://www.amazon.co.jp/dp/4627829310
 – OWLの書法はよいが、記述論理の解説は皆無。
 – XMLとしてどう書くか重きが置かれているので、全
   体的な枠組みや論理的な仕組みを学ぶには厳し
   い。
 – OWL1



                                       62
ご静聴ありがとうございました。




                  63

More Related Content

What's hot

データベース定義書とER図【勉強会資料】
データベース定義書とER図【勉強会資料】 データベース定義書とER図【勉強会資料】
データベース定義書とER図【勉強会資料】
株式会社キャッチアップ
 
オントロジー工学に基づくセマンティック技術(2)ナレッジグラフ入門
オントロジー工学に基づくセマンティック技術(2)ナレッジグラフ入門オントロジー工学に基づくセマンティック技術(2)ナレッジグラフ入門
オントロジー工学に基づくセマンティック技術(2)ナレッジグラフ入門
Kouji Kozaki
 
ナレッジグラフ/LOD利用技術の入門(前編)
ナレッジグラフ/LOD利用技術の入門(前編)ナレッジグラフ/LOD利用技術の入門(前編)
ナレッジグラフ/LOD利用技術の入門(前編)
KnowledgeGraph
 
Linked Dataとオントロジーによるセマンティック技術の実際
Linked Dataとオントロジーによるセマンティック技術の実際Linked Dataとオントロジーによるセマンティック技術の実際
Linked Dataとオントロジーによるセマンティック技術の実際
Kouji Kozaki
 
SAT/SMTソルバの仕組み
SAT/SMTソルバの仕組みSAT/SMTソルバの仕組み
SAT/SMTソルバの仕組み
Masahiro Sakai
 
情報抽出入門 〜非構造化データを構造化させる技術〜
情報抽出入門 〜非構造化データを構造化させる技術〜情報抽出入門 〜非構造化データを構造化させる技術〜
情報抽出入門 〜非構造化データを構造化させる技術〜
Yuya Unno
 
MLOps に基づく AI/ML 実運用最前線 ~画像、動画データにおける MLOps 事例のご紹介~(映像情報メディア学会2021年冬季大会企画セッショ...
MLOps に基づく AI/ML 実運用最前線 ~画像、動画データにおける MLOps 事例のご紹介~(映像情報メディア学会2021年冬季大会企画セッショ...MLOps に基づく AI/ML 実運用最前線 ~画像、動画データにおける MLOps 事例のご紹介~(映像情報メディア学会2021年冬季大会企画セッショ...
MLOps に基づく AI/ML 実運用最前線 ~画像、動画データにおける MLOps 事例のご紹介~(映像情報メディア学会2021年冬季大会企画セッショ...
NTT DATA Technology & Innovation
 
SPARQLによるLODの検索@第4回LODとオントロジー勉強会-
SPARQLによるLODの検索@第4回LODとオントロジー勉強会-SPARQLによるLODの検索@第4回LODとオントロジー勉強会-
SPARQLによるLODの検索@第4回LODとオントロジー勉強会-
Kouji Kozaki
 
オントロジー工学に基づく 知識の体系化と利用
オントロジー工学に基づく知識の体系化と利用オントロジー工学に基づく知識の体系化と利用
オントロジー工学に基づく 知識の体系化と利用
Kouji Kozaki
 
Rustに触れて私のPythonはどう変わったか
Rustに触れて私のPythonはどう変わったかRustに触れて私のPythonはどう変わったか
Rustに触れて私のPythonはどう変わったか
ShunsukeNakamura17
 
RDF Semantic Graph「RDF 超入門」
RDF Semantic Graph「RDF 超入門」RDF Semantic Graph「RDF 超入門」
RDF Semantic Graph「RDF 超入門」
オラクルエンジニア通信
 
オントロジーとは?
オントロジーとは?オントロジーとは?
オントロジーとは?
Kouji Kozaki
 
Linked Open Data (LOD)の基礎講座
Linked Open Data (LOD)の基礎講座Linked Open Data (LOD)の基礎講座
Linked Open Data (LOD)の基礎講座
Kouji Kozaki
 
Linked Open Data勉強会2020 後編:SPARQLの簡単な使い方、SPARQLを使った簡単なアプリ開発
Linked Open Data勉強会2020 後編:SPARQLの簡単な使い方、SPARQLを使った簡単なアプリ開発Linked Open Data勉強会2020 後編:SPARQLの簡単な使い方、SPARQLを使った簡単なアプリ開発
Linked Open Data勉強会2020 後編:SPARQLの簡単な使い方、SPARQLを使った簡単なアプリ開発
KnowledgeGraph
 
ナレッジグラフ推論チャレンジ2019技術勉強会(10/21開催)
ナレッジグラフ推論チャレンジ2019技術勉強会(10/21開催)ナレッジグラフ推論チャレンジ2019技術勉強会(10/21開催)
ナレッジグラフ推論チャレンジ2019技術勉強会(10/21開催)
KnowledgeGraph
 
グラフ構造のデータモデルをPower BIで可視化してみた
グラフ構造のデータモデルをPower BIで可視化してみたグラフ構造のデータモデルをPower BIで可視化してみた
グラフ構造のデータモデルをPower BIで可視化してみた
CData Software Japan
 
データ解析入門
データ解析入門データ解析入門
データ解析入門
Takeo Noda
 
Linked Open Data(LOD)の基本的な使い方
Linked Open Data(LOD)の基本的な使い方Linked Open Data(LOD)の基本的な使い方
Linked Open Data(LOD)の基本的な使い方
Kouji Kozaki
 
第7回 Linked Data 勉強会 @yayamamo
第7回 Linked Data 勉強会 @yayamamo第7回 Linked Data 勉強会 @yayamamo
第7回 Linked Data 勉強会 @yayamamo
yayamamo @ DBCLS Kashiwanoha
 
DBpedia Japaneseとは?
DBpedia Japaneseとは?DBpedia Japaneseとは?
DBpedia Japaneseとは?
National Institute of Informatics (NII)
 

What's hot (20)

データベース定義書とER図【勉強会資料】
データベース定義書とER図【勉強会資料】 データベース定義書とER図【勉強会資料】
データベース定義書とER図【勉強会資料】
 
オントロジー工学に基づくセマンティック技術(2)ナレッジグラフ入門
オントロジー工学に基づくセマンティック技術(2)ナレッジグラフ入門オントロジー工学に基づくセマンティック技術(2)ナレッジグラフ入門
オントロジー工学に基づくセマンティック技術(2)ナレッジグラフ入門
 
ナレッジグラフ/LOD利用技術の入門(前編)
ナレッジグラフ/LOD利用技術の入門(前編)ナレッジグラフ/LOD利用技術の入門(前編)
ナレッジグラフ/LOD利用技術の入門(前編)
 
Linked Dataとオントロジーによるセマンティック技術の実際
Linked Dataとオントロジーによるセマンティック技術の実際Linked Dataとオントロジーによるセマンティック技術の実際
Linked Dataとオントロジーによるセマンティック技術の実際
 
SAT/SMTソルバの仕組み
SAT/SMTソルバの仕組みSAT/SMTソルバの仕組み
SAT/SMTソルバの仕組み
 
情報抽出入門 〜非構造化データを構造化させる技術〜
情報抽出入門 〜非構造化データを構造化させる技術〜情報抽出入門 〜非構造化データを構造化させる技術〜
情報抽出入門 〜非構造化データを構造化させる技術〜
 
MLOps に基づく AI/ML 実運用最前線 ~画像、動画データにおける MLOps 事例のご紹介~(映像情報メディア学会2021年冬季大会企画セッショ...
MLOps に基づく AI/ML 実運用最前線 ~画像、動画データにおける MLOps 事例のご紹介~(映像情報メディア学会2021年冬季大会企画セッショ...MLOps に基づく AI/ML 実運用最前線 ~画像、動画データにおける MLOps 事例のご紹介~(映像情報メディア学会2021年冬季大会企画セッショ...
MLOps に基づく AI/ML 実運用最前線 ~画像、動画データにおける MLOps 事例のご紹介~(映像情報メディア学会2021年冬季大会企画セッショ...
 
SPARQLによるLODの検索@第4回LODとオントロジー勉強会-
SPARQLによるLODの検索@第4回LODとオントロジー勉強会-SPARQLによるLODの検索@第4回LODとオントロジー勉強会-
SPARQLによるLODの検索@第4回LODとオントロジー勉強会-
 
オントロジー工学に基づく 知識の体系化と利用
オントロジー工学に基づく知識の体系化と利用オントロジー工学に基づく知識の体系化と利用
オントロジー工学に基づく 知識の体系化と利用
 
Rustに触れて私のPythonはどう変わったか
Rustに触れて私のPythonはどう変わったかRustに触れて私のPythonはどう変わったか
Rustに触れて私のPythonはどう変わったか
 
RDF Semantic Graph「RDF 超入門」
RDF Semantic Graph「RDF 超入門」RDF Semantic Graph「RDF 超入門」
RDF Semantic Graph「RDF 超入門」
 
オントロジーとは?
オントロジーとは?オントロジーとは?
オントロジーとは?
 
Linked Open Data (LOD)の基礎講座
Linked Open Data (LOD)の基礎講座Linked Open Data (LOD)の基礎講座
Linked Open Data (LOD)の基礎講座
 
Linked Open Data勉強会2020 後編:SPARQLの簡単な使い方、SPARQLを使った簡単なアプリ開発
Linked Open Data勉強会2020 後編:SPARQLの簡単な使い方、SPARQLを使った簡単なアプリ開発Linked Open Data勉強会2020 後編:SPARQLの簡単な使い方、SPARQLを使った簡単なアプリ開発
Linked Open Data勉強会2020 後編:SPARQLの簡単な使い方、SPARQLを使った簡単なアプリ開発
 
ナレッジグラフ推論チャレンジ2019技術勉強会(10/21開催)
ナレッジグラフ推論チャレンジ2019技術勉強会(10/21開催)ナレッジグラフ推論チャレンジ2019技術勉強会(10/21開催)
ナレッジグラフ推論チャレンジ2019技術勉強会(10/21開催)
 
グラフ構造のデータモデルをPower BIで可視化してみた
グラフ構造のデータモデルをPower BIで可視化してみたグラフ構造のデータモデルをPower BIで可視化してみた
グラフ構造のデータモデルをPower BIで可視化してみた
 
データ解析入門
データ解析入門データ解析入門
データ解析入門
 
Linked Open Data(LOD)の基本的な使い方
Linked Open Data(LOD)の基本的な使い方Linked Open Data(LOD)の基本的な使い方
Linked Open Data(LOD)の基本的な使い方
 
第7回 Linked Data 勉強会 @yayamamo
第7回 Linked Data 勉強会 @yayamamo第7回 Linked Data 勉強会 @yayamamo
第7回 Linked Data 勉強会 @yayamamo
 
DBpedia Japaneseとは?
DBpedia Japaneseとは?DBpedia Japaneseとは?
DBpedia Japaneseとは?
 

More from Kazuro Fukuhara

トーナメントは運か実力か
トーナメントは運か実力かトーナメントは運か実力か
トーナメントは運か実力か
Kazuro Fukuhara
 
nextProbablePrime() について
nextProbablePrime() についてnextProbablePrime() について
nextProbablePrime() について
Kazuro Fukuhara
 
素数のハニカム螺旋
素数のハニカム螺旋素数のハニカム螺旋
素数のハニカム螺旋
Kazuro Fukuhara
 
日本語によるJUnitの拡張について
日本語によるJUnitの拡張について日本語によるJUnitの拡張について
日本語によるJUnitの拡張について
Kazuro Fukuhara
 
まだまだ踏み足りないAlloy地雷原始末記
まだまだ踏み足りないAlloy地雷原始末記まだまだ踏み足りないAlloy地雷原始末記
まだまだ踏み足りないAlloy地雷原始末記
Kazuro Fukuhara
 
まだ残っていたAlloy地雷原始末記
まだ残っていたAlloy地雷原始末記まだ残っていたAlloy地雷原始末記
まだ残っていたAlloy地雷原始末記
Kazuro Fukuhara
 
初心者でも楽しめる格闘ゲームへの提案
初心者でも楽しめる格闘ゲームへの提案初心者でも楽しめる格闘ゲームへの提案
初心者でも楽しめる格闘ゲームへの提案
Kazuro Fukuhara
 
Titanium初心者によるAlloy地雷原始末記
Titanium初心者によるAlloy地雷原始末記Titanium初心者によるAlloy地雷原始末記
Titanium初心者によるAlloy地雷原始末記
Kazuro Fukuhara
 
UrlRewriteFilterに手を入れてみた
UrlRewriteFilterに手を入れてみたUrlRewriteFilterに手を入れてみた
UrlRewriteFilterに手を入れてみた
Kazuro Fukuhara
 
資格四方山話
資格四方山話資格四方山話
資格四方山話
Kazuro Fukuhara
 
記述論理の解釈を見て思ったこと
記述論理の解釈を見て思ったこと記述論理の解釈を見て思ったこと
記述論理の解釈を見て思ったこと
Kazuro Fukuhara
 

More from Kazuro Fukuhara (11)

トーナメントは運か実力か
トーナメントは運か実力かトーナメントは運か実力か
トーナメントは運か実力か
 
nextProbablePrime() について
nextProbablePrime() についてnextProbablePrime() について
nextProbablePrime() について
 
素数のハニカム螺旋
素数のハニカム螺旋素数のハニカム螺旋
素数のハニカム螺旋
 
日本語によるJUnitの拡張について
日本語によるJUnitの拡張について日本語によるJUnitの拡張について
日本語によるJUnitの拡張について
 
まだまだ踏み足りないAlloy地雷原始末記
まだまだ踏み足りないAlloy地雷原始末記まだまだ踏み足りないAlloy地雷原始末記
まだまだ踏み足りないAlloy地雷原始末記
 
まだ残っていたAlloy地雷原始末記
まだ残っていたAlloy地雷原始末記まだ残っていたAlloy地雷原始末記
まだ残っていたAlloy地雷原始末記
 
初心者でも楽しめる格闘ゲームへの提案
初心者でも楽しめる格闘ゲームへの提案初心者でも楽しめる格闘ゲームへの提案
初心者でも楽しめる格闘ゲームへの提案
 
Titanium初心者によるAlloy地雷原始末記
Titanium初心者によるAlloy地雷原始末記Titanium初心者によるAlloy地雷原始末記
Titanium初心者によるAlloy地雷原始末記
 
UrlRewriteFilterに手を入れてみた
UrlRewriteFilterに手を入れてみたUrlRewriteFilterに手を入れてみた
UrlRewriteFilterに手を入れてみた
 
資格四方山話
資格四方山話資格四方山話
資格四方山話
 
記述論理の解釈を見て思ったこと
記述論理の解釈を見て思ったこと記述論理の解釈を見て思ったこと
記述論理の解釈を見て思ったこと
 

Recently uploaded

Matsuo-Iwasawa Lab. Research unit Introduction
Matsuo-Iwasawa Lab. Research unit IntroductionMatsuo-Iwasawa Lab. Research unit Introduction
Matsuo-Iwasawa Lab. Research unit Introduction
Matsuo Lab
 
【AI論文解説】クラスタリングベースアプローチによる大規模データセット自動キュレーション
【AI論文解説】クラスタリングベースアプローチによる大規模データセット自動キュレーション【AI論文解説】クラスタリングベースアプローチによる大規模データセット自動キュレーション
【AI論文解説】クラスタリングベースアプローチによる大規模データセット自動キュレーション
Sony - Neural Network Libraries
 
Matsuo-Iwasawa Lab. | Research unit Introduction
Matsuo-Iwasawa Lab. | Research unit IntroductionMatsuo-Iwasawa Lab. | Research unit Introduction
Matsuo-Iwasawa Lab. | Research unit Introduction
Matsuo Lab
 
"ros2rapper", Hardware implimentation of ROS2 communication Protocol without ...
"ros2rapper", Hardware implimentation of ROS2 communication Protocol without ..."ros2rapper", Hardware implimentation of ROS2 communication Protocol without ...
"ros2rapper", Hardware implimentation of ROS2 communication Protocol without ...
たけおか しょうぞう
 
LoRaWAN AI Image Sensorエンドデバイス AIG01カタログ
LoRaWAN AI Image Sensorエンドデバイス AIG01カタログLoRaWAN AI Image Sensorエンドデバイス AIG01カタログ
LoRaWAN AI Image Sensorエンドデバイス AIG01カタログ
CRI Japan, Inc.
 
Imitation learning for robotics 勉強会資料(20240701)
Imitation learning for robotics 勉強会資料(20240701)Imitation learning for robotics 勉強会資料(20240701)
Imitation learning for robotics 勉強会資料(20240701)
Natsutani Minoru
 
【AI論文解説】LLMの事前学習をvisionに適用する手法Autoregressive Image Models
【AI論文解説】LLMの事前学習をvisionに適用する手法Autoregressive Image Models【AI論文解説】LLMの事前学習をvisionに適用する手法Autoregressive Image Models
【AI論文解説】LLMの事前学習をvisionに適用する手法Autoregressive Image Models
Sony - Neural Network Libraries
 
論文紹介:BAM-DETR: Boundary-Aligned Moment Detection Transformer for Temporal Sen...
論文紹介:BAM-DETR: Boundary-Aligned Moment Detection Transformer for Temporal Sen...論文紹介:BAM-DETR: Boundary-Aligned Moment Detection Transformer for Temporal Sen...
論文紹介:BAM-DETR: Boundary-Aligned Moment Detection Transformer for Temporal Sen...
Toru Tamaki
 
Kyndryl Developer Services のご紹介 2024年7月
Kyndryl Developer Services のご紹介  2024年7月Kyndryl Developer Services のご紹介  2024年7月
Kyndryl Developer Services のご紹介 2024年7月
Takayuki Nakayama
 
最速の組織を目指して全社で大規模スクラムを導入してみた話 #dxd2024 #medicalforce
最速の組織を目指して全社で大規模スクラムを導入してみた話 #dxd2024 #medicalforce最速の組織を目指して全社で大規模スクラムを導入してみた話 #dxd2024 #medicalforce
最速の組織を目指して全社で大規模スクラムを導入してみた話 #dxd2024 #medicalforce
chisatotakane
 
論文紹介:Task-aligned Part-aware Panoptic Segmentation through Joint Object-Part ...
論文紹介:Task-aligned Part-aware Panoptic Segmentation through Joint Object-Part ...論文紹介:Task-aligned Part-aware Panoptic Segmentation through Joint Object-Part ...
論文紹介:Task-aligned Part-aware Panoptic Segmentation through Joint Object-Part ...
Toru Tamaki
 
Matsuo-Iwasawa lab. Research Unit Introduction
Matsuo-Iwasawa lab. Research Unit IntroductionMatsuo-Iwasawa lab. Research Unit Introduction
Matsuo-Iwasawa lab. Research Unit Introduction
Matsuo Lab
 

Recently uploaded (12)

Matsuo-Iwasawa Lab. Research unit Introduction
Matsuo-Iwasawa Lab. Research unit IntroductionMatsuo-Iwasawa Lab. Research unit Introduction
Matsuo-Iwasawa Lab. Research unit Introduction
 
【AI論文解説】クラスタリングベースアプローチによる大規模データセット自動キュレーション
【AI論文解説】クラスタリングベースアプローチによる大規模データセット自動キュレーション【AI論文解説】クラスタリングベースアプローチによる大規模データセット自動キュレーション
【AI論文解説】クラスタリングベースアプローチによる大規模データセット自動キュレーション
 
Matsuo-Iwasawa Lab. | Research unit Introduction
Matsuo-Iwasawa Lab. | Research unit IntroductionMatsuo-Iwasawa Lab. | Research unit Introduction
Matsuo-Iwasawa Lab. | Research unit Introduction
 
"ros2rapper", Hardware implimentation of ROS2 communication Protocol without ...
"ros2rapper", Hardware implimentation of ROS2 communication Protocol without ..."ros2rapper", Hardware implimentation of ROS2 communication Protocol without ...
"ros2rapper", Hardware implimentation of ROS2 communication Protocol without ...
 
LoRaWAN AI Image Sensorエンドデバイス AIG01カタログ
LoRaWAN AI Image Sensorエンドデバイス AIG01カタログLoRaWAN AI Image Sensorエンドデバイス AIG01カタログ
LoRaWAN AI Image Sensorエンドデバイス AIG01カタログ
 
Imitation learning for robotics 勉強会資料(20240701)
Imitation learning for robotics 勉強会資料(20240701)Imitation learning for robotics 勉強会資料(20240701)
Imitation learning for robotics 勉強会資料(20240701)
 
【AI論文解説】LLMの事前学習をvisionに適用する手法Autoregressive Image Models
【AI論文解説】LLMの事前学習をvisionに適用する手法Autoregressive Image Models【AI論文解説】LLMの事前学習をvisionに適用する手法Autoregressive Image Models
【AI論文解説】LLMの事前学習をvisionに適用する手法Autoregressive Image Models
 
論文紹介:BAM-DETR: Boundary-Aligned Moment Detection Transformer for Temporal Sen...
論文紹介:BAM-DETR: Boundary-Aligned Moment Detection Transformer for Temporal Sen...論文紹介:BAM-DETR: Boundary-Aligned Moment Detection Transformer for Temporal Sen...
論文紹介:BAM-DETR: Boundary-Aligned Moment Detection Transformer for Temporal Sen...
 
Kyndryl Developer Services のご紹介 2024年7月
Kyndryl Developer Services のご紹介  2024年7月Kyndryl Developer Services のご紹介  2024年7月
Kyndryl Developer Services のご紹介 2024年7月
 
最速の組織を目指して全社で大規模スクラムを導入してみた話 #dxd2024 #medicalforce
最速の組織を目指して全社で大規模スクラムを導入してみた話 #dxd2024 #medicalforce最速の組織を目指して全社で大規模スクラムを導入してみた話 #dxd2024 #medicalforce
最速の組織を目指して全社で大規模スクラムを導入してみた話 #dxd2024 #medicalforce
 
論文紹介:Task-aligned Part-aware Panoptic Segmentation through Joint Object-Part ...
論文紹介:Task-aligned Part-aware Panoptic Segmentation through Joint Object-Part ...論文紹介:Task-aligned Part-aware Panoptic Segmentation through Joint Object-Part ...
論文紹介:Task-aligned Part-aware Panoptic Segmentation through Joint Object-Part ...
 
Matsuo-Iwasawa lab. Research Unit Introduction
Matsuo-Iwasawa lab. Research Unit IntroductionMatsuo-Iwasawa lab. Research Unit Introduction
Matsuo-Iwasawa lab. Research Unit Introduction
 

OWLで何が書けるか

  • 1. ウェブオントロジー言語で 何が書けるか 福原和朗 twitter.com/kazurof 2012-11-25 1
  • 2. 前口上 • 巷をにぎわすキーワード • セマンティックウェブ – 「インターネットの情報にメタ情報も記述して、 色々便利にしましょう。」というW3Cのプロジェクト。 – SW と略記します。 • オントロジー • ウェブオントロジー言語 – Web Ontology Language (OWL) 2
  • 3. この発表では • OWLで書けるデータの構造について、記述論 理を元に解説します。 • 大嘘をついているかもしれません。ご容赦を。 – むしろ突っ込んでくれるととても喜びます。 » 誰のレビューをも受けていないという、、、 3
  • 4. そもそもOWLとはなんぞや • SWにおいて使われるメタデータの記述言語 – 「メタ」です。本文そのものは含みません。 • ウェブ上のドキュメントに対するメタ情報を記述する。 – 作者、発行日、内容のキーワード、などなど、、、 • 文字もデータとして持てるので、無理やり本文を入れ られないこともない。 • データの記述、知識表現のための仕様 • データの識別にURIを使う。 – http://example.org/somedata#nantoka 4
  • 5. 続き • 物理的な表現形式 – RDF/XML • XMLベースの表記 – N-Triples • 主語、述語、目的語を並べて書くという、素朴な表記 – Turtle • N-Triplesに便利な書式を加えた表記 – 他に、関数型構文やマンチェスター構文などがある。 • 「記述論理」を理論的な基礎としている。 5
  • 6. 記述論理とはなんぞや • Description Logic (DL と略記) • 知識表現の方式 – 人工知能の分野でのKL-ONEやKRYPTONなど、従 前にある知識表現システムを改良させたもの – 意味の記述 – 推論システムの実装可能性 • 矛盾がないかの計算 • 何らかの新しい知識を導出できるかどうかの計算 • 利用可能なルールを組み合わせることで、多 数のサブ言語を構成可能 6
  • 7. 好きな機能を選べます • 多数のサブ言語を構成可能 – (( ALC | S )[ H ]| SR) [ O ][ I ][ F | N | Q ] [(D)] – 食べ物のトッピングみたいなものです。 7
  • 8. SHOIN(D) • 本発表ではOWL-DLに相当する、SHOIN(D)に ついて解説します。 • (( ALC | S )[ H ]| SR) [ O ][ I ][ F | N | Q ] [(D)] • 「しょいんでぃー」って読むのだと思います。 – 多分。 – 正直よくわかりません。 8
  • 9. SHOIN(D) • SHOIN(D) – ALC言語 と 推移的ロール (S) – ロール階層(H) – ONE-OF概念(O) – 逆ロール (I) – 制限なし数量限定(N) – データ型 + データ型ロール (2個まとめて(D)) • まずは、ALC言語というものを解説します。 9
  • 10. ALC言語 • attributive language with complements • 個体 – 記述したいデータそのもの • 概念 – 何かの特徴を持った個体の集合 • ロール – 個体同士のペア • 解釈 – 妥当性判定の枠組み。意味論をなす。 10
  • 11. 概念と個体 • 素朴な集合論に該当する – 集合の要素が個体。集合が概念。 赤字、概念。 青字、個体。 概念:「冷たい飲物」 概念:「炭酸飲料」 概念:「温かい飲物」 個体:コーラ 概念:「コーヒー」 概念:「お酒」 個体:牛乳 個体:甘酒 個体:ビール 個体:ボス 概念:「ジュース」 概念:「菓子」 個体:ポンジュース 個体:チョコレート 11
  • 12. 解説 • 否定、積集合、和集合、包含関係が記述可能 – 否定 ¬, 連言 ∩, 選言 ∪ , 部分集合⊆ • 例 概念:「温かい飲物」 – コーヒー ⊆ 温かい飲み物 概念:「コーヒー」 – ビール ∈ お酒 ∩ 炭酸飲料 – ¬ジュース • コーラ、ビール、甘酒など。 概念:「炭酸飲料」 コーラ ビール 概念:「お酒」 12
  • 13. 組み込みの概念 • 最大概念 – すべてを含めている概念 T • すべての概念の親概念 – いわゆる全体集合 • 空概念 – 何も含まない概念 ⊥ • すべての概念の子概念 – いわゆる空集合 (φ) 13
  • 14. 知識ベースの表記 • 式でどのように表記するか • TBox – terminological component の略 – 概念の定義 – 概念同士の関係の定義 • [ある概念] ⊆ [他の概念] という形式 • ABox – assertion component の略 – 個体がどの概念に属するかの定義 14
  • 15. 概念の関係 • 概念の包含関係 – [概念A] ⊆ [概念B] • 概念Aに含まれる個体は、概念Bに含まれることを意味 する。 • 「概念Aの要素を概念Bの要素とみなして問題ない」 – オブジェクト指向で言うところの階層関係、あるい は親子関係。 15
  • 16. 新しい概念の定義 • [概念A] ⊆ [概念B] かつ [概念B] ⊆ [概念A]の 時、 [概念A] ≡ [概念B]と、表記できる。 – 「合同」の記号 16
  • 17. 例:三角形 • 直角三角形 ⊆ 3辺がa2 = b2 +c2 である三角形 • 3辺がa2 = b2 +c2である三角形 ⊆ 直角三角形 – この2個で、 • 直角三角形 ≡ 3辺がa2 = b2 +c2である三角形 – と、表記できる。 • 「a2 = b2 +c2 である三角形」を使って「直角三角 形」を定義した。 – 同時に逆も定義している。 17
  • 18. 定義の他の例 • 6の倍数 ⊆ 3の倍数∩2の倍数 • 3の倍数 ∩ 2の倍数⊆6の倍数 • 6の倍数 ≡ 3の倍数∩2の倍数 と、表記で きる。 • 組み合わされた概念を1つの概念に定義す ることが可能。 – 否定 ¬, 連言 ∩, 選言 ∪ の組み合わせ。 18
  • 19. 飲み物での例 • TBox – 冷たい飲み物 • 概念の定義 – 温かい飲み物 – 炭酸飲料 ⊆ 冷たい飲み物 • 「炭酸飲料は冷たい飲み物の子概念である」という概 念同士の関係の定義 – 飲み物 ≡ 温かい飲み物 ∪冷たい飲み物 • 図にはありませんが、このような概念を既存概念の組 み合わせから新たに定義することが可能。 19
  • 20. 飲み物での例(続き) • ABox – 冷たい飲み物(コーラ) • 「コーラは冷たい飲み物である」という意味 – 炭酸飲料(ビール) – 菓子(チョコレート) – ¬(温かい飲み物 ∪冷たい飲み物)(チョコレート) • 「チョコレートは温かい飲み物でも冷たい飲み物でもな い」という意味。 20
  • 21. 解釈 • 概念、ロール、個体は決め事(定義)だけの 存在 – 今までの例では説明上わかり易い名前を使って ますが、所詮名前だけ。ぶっちゃけ記号です。 • 知識ベースに対して合致するような具体的な 実際の物(=解釈)を当てはめて、妥当か否 か判定します。 – 「コレコレの個体にはナニナニを当てはめる」 • OWLで何が書けるかとは直接関係しません。 – 記述論理での推論には必要 21
  • 22. 解釈の定義 • 解釈 I – 具体的な値の集合Δ (デルタ) と、 関数 ・ (中黒) の、ペア • 関数 ・ – TBoxの各概念 → Δ の部分集合 – ABoxの各個体 → Δ の要素 • 「当てはめる値の集合と、それぞれの概念へ の当てはめを決めるもの」 22
  • 23. 妥当な解釈の例 • TBox – 素数 偶数 • ABox – 素数(a) 偶数(b) • 妥当な解釈 – Δ = {5, 4} , 素数→ {5} , 偶数→{4}, a → 5 , b → 4 • 妥当でない解釈 – Δ = {6, 4} , 素数→ {6} , 偶数→{4}, a → 6 , b → 4 • 妥当な解釈を知識ベースのモデルと呼ぶ 23
  • 24. 妥当か否かの判定 • 「解釈が知識ベースの妥当な解釈かどうかの判 定(=充足判定)を行う。」という仕様が記述論 理に組み込まれています。 • 利用可能なルールの組み合せごとに、判定の アルゴリズムとその計算量(オーダー)が研究さ れています。 – タブロー法 – 「PSPACEである」「NLOGである」など。 24
  • 25. ロール • 個体同士の関係 – 個体と個体のペア – 概念同士ではありません。 • 例 – タラの親はサザエである。 – 2より小さい数は1である。 – ミルカさんの得意科目は数学である。 • 関係の方向を意識します。 – 「タラの親はサザエ」といったら逆は普通成り立た ない。 25
  • 26. 図による例 義兄 カツオ マスオ 義弟 夫 弟 妻 姉 サザエ 親 叔父 子 子 親 甥 タラ タラの親はサザエ 26
  • 27. 図の解説 • 前頁の例の場合 – 親 = {(タラ, サザエ) ,(タラ,マスオ)} – 子 = {(サザエ, タラ) ,(マスオ, タラ)} – 弟 = {(サザエ, カツオ)} • などと記述できる。 • (タラ, サザエ) のようなペアをロールと呼びま すが、親をロールと呼ぶ場合もあります。 – 文脈で判断。 27
  • 28. ロールによる概念の構築 • Rをロール、Cを概念とします。 • ∀ R.C – どのロール”R”の値も、概念Cの個体である。 – “∀ 子.男” -> 全ての子が男である個体。 • サザエ • ∃ R.C – 何らかのロール”R”の値が存在し、その値は概念 Cの個体である。 – “∃ 親.女” -> ある親は女である個体。 • タラ 28
  • 29. 図示 • ∀ 子. 男 – 全ての子が男である個体。 – サザエが該当する。 • すべての子供(=タラ)は男。 – ナミヘイは該当しない。 • 子供にサザエ(=女)がいるから。 – 実はカツオとタラも該当する。 • 子供がいないから。 子 子 サザエ ナミヘイ タラ 子 カツオ 29
  • 30. 図示2 • ∃ 親.女 – ある親は女である個体。 – タラとサザエが該当する • サザエ(=女)、フネ(=女)が存在するから。 – マスオは該当しない • そのようなロールが存在しないから 親 親 フネ サザエ タラ マスオ 親 30
  • 31. ロールによる概念(別の例) より大きい a c より小さい より大きい より大きい Cより小さいのはB より小さい より小さい b • TBox – 整数の集合 X • 仮に、X ={a, b, c} とします。 – 最大の数 ≡X ∩ ∀ より小さい X – 最大でない数 ≡X ∩ ∃ より大きい X 31
  • 32. 別例(続き) • ABox – より大きい(a,b) – 最大の数(c) • aより大きいのはb • Xに属し、全ての“より小さい”プロ • a < b(以下同様) パティ値が X の要素である。 – より大きい(b,c) – 最大でない数(a) • b<c • Xに属し、“より大きい”プロパティ – より大きい(a,c) 値が存在し、Xの要素である。 – より小さい(b,a) – 最大でない数(b) • b > a (以下同様) – より小さい(c,b) – より小さい(c,a) では、これの 妥当な解釈は? 32
  • 33. 別例の解釈 • 解釈の例 – Δ = {1, 2, 3} 、a = 1、b = 2、c = 3 – Δ = {4, 5, 6} 、a = 4、b = 5、c = 6 • ロールと概念をも組み合わせて新たな概念を 作ることができる。 – 「最大の数 ≡ X ∩ ∀ より小さい 整数」 33
  • 34. SHOIN(D)(再掲) • SHOIN(D) – ALC言語 と 推移的ロール (S) – ロール階層(H) – ONE-OF概念(O) – 逆ロール (I) – 制限なし数量限定(N) – データ型 + データ型ロール( 2個まとめて(D)) • ALC言語は説明できたので、順次追加要素を 説明します。 34
  • 35. 推移的ロール • 例 – 先祖の先祖も先祖 – 大きいものより大きいものは大きい。 • あるロールRが推移的である。 – (x,y) ∈R ∧ (y,z) ∈ R ⇒ (x,z) ∈ R • ALC言語 に 推移的ロール を追加して S 35
  • 36. 名前の由来 • 「推移的」と言ったらtransitiveですが ALCと、推 移的ロールで S です。 – 記述論理の進化の推移で、ALCtrans とかALCR+ と、 書くやり方もあったようです。 – が、縮めたいという要望からこうなった様子。 – 「propositional modal logic」 のS4m に由来するとか。 36
  • 37. ロール階層(H) • ロールの包含関係を設定できる。 • 例:「親」という関係は「父」という関係を含む。 – マスオがタラの父ならば、マスオはタラの親である。 • R⊆S – R に属する個体のペアは、すべてSに属する。 37
  • 38. ONE-OF概念 (O) • 列挙を表現する概念 – 例:曜日、トランプのスートなど。 – {スペード、ハート、ダイヤ、クラブ} • ロールでの例 – ∃hasSuit.{スペード、ハート} • スペードかハートのいずれかを持つ個体 – ∃hasSuit.{ハート} • ハートを持つ個体 38
  • 39. 逆ロール (I) • 例 – 「親」の逆は「子」 – 「大きい」の逆は「小さい」 • ロールR-はRの逆ロールである。 – (x,y) ∈ R ⇔ (x,y) ∈ RI • I は inverse の I 39
  • 40. 制限なし数量限定(N) • 「数量限定」 – ∃R.C • 何らかのロール”R”の値が存在し、その値は概念Cの 個体である。 – これを拡張し、ロール”R”の値が存在する数を指 定する表現。 • ≦nR – n個以下のロールRが存在する。 • ≧nR – n個以上のロールRが存在する。 40
  • 41. 「制限なし」 • 「制限なし」 – 通常は、∃R.C などと値の概念を表現するが、そ のような概念を定めないという意味で、「制限な し」 • 制限ありの場合は、以下のようになる – ≦n R.C →Cに属する個体でロールRの値である 値がn個以下存在する。 – ≧n R.C →Cに属する個体でロールRの値である 値がn個以上存在する。 – 言語名は(Q) 41
  • 42. データ型 と データ型ロール((D)) • データ型 – 数字、文字列、日付などの総称 – 個体では、解釈を与えて実際の当てはめる必要 があるが、データ型ならそのまま使える。 • 文字列を名前として使える。 – データ型の値から発生するロールは持てない。 • データ型ロール – ロールの値がデータ型であるようなロール – 今までのものは個体値型ロールと呼ぶ。 • 言語名は2個まとめて(D) 42
  • 43. SHOIN(D)(再々掲) • SHOIN(D) – ALC言語 と 推移的ロール (S) – ロール階層(H) – ONE-OF概念(O) – 逆ロール (I) – 制限なし数量限定(N) – データ型 + データ型ロール (2個まとめて(D)) • ここまでで、 SHOIN(D)を説明できました。 43
  • 44. OWLで何が書けるかまとめ • 個体 – 表現するデータそのもの • 概念 – 個体の所属する集合 – 論理式の組み合わせで新たな概念を作成可能 – ロールから、概念を構成することが可能 • ロール – 個体同士の関係の記述 – 個体とロールで、有向グラフの形になります。 44
  • 45. OWLで何が書けるかできるか • 個体だけでなく、データ値(文字列、数字、日 付時刻などの実際の値)を扱える。 • 推移的ロール、ロール階層、逆ロール、数量 限定ロールを使って意味を組み込んだ知識 を表現できる。 – 推論との親和性 • 解釈を与えて推論をし、妥当性の検査をする というパラダイムを持っている。 45
  • 47. 記述論理とOWLの対応 記述論理 OWL 概念 クラス ロール プロパティ 個体 URI データ型 XML Schema データ型を利用 47
  • 48. RDBのテーブルをDLで表現する例 • 例: 商品テーブルと受注テーブル • 商品 {商品コード, 商品名, 単価} • 受注 {受注番号, 商品コード , 数量} 商品コード 商品名 単価 受注番号 商品コード 数量 0001 みかん 100 01 0001 3 0002 りんご 150 02 0001 4 03 0002 5 商品 受注 48
  • 49. 記述論理の枠での図示 参照整合性制約を表現 商品 受注 x a 受注対象商品 商品コード 受注番号 数量 商品名 単価 0001 みかん 100 01 100 •x とかa はレコードそのものを表現している。 •変数名みたいなものなのでxやaを使う。 •「0001」とか「みかん」はデータ値なのでそのまま書く。 49
  • 50. DLでの例 • TBox – 商品概念 ≡ 商品 ∩ =1 商品コード ∩ =1 商品名 ∩ =1 単価 – 受注概念 ≡ 受注 ∩=1 受注番号 ∩ =1 商品 ∩ =1 数量 ※「=1 商品コード」は、「≦1 商品コード∩ ≧1 商品コード」の略。 「=1 商品コード . 文字列」などと書きたいけど制限なしなのででき ない。 (D)であって(Q)ではない。 50
  • 51. 解説 • 個体の分類としての商品と、各項目を持ってい る商品は別の物なので、別の名前を付与。 – 「商品概念」と「商品」 • 自然な命名が思いつかない。 • 慣れていないのか、記述論理が高級すぎるのか。 – 個体の属する概念と、他の個体とのつながりは別の 話。 51
  • 52. • ABox – 商品(x) – 受注(a) – 商品コード(x, “0001”) – 受注番号(a, “01”) – 商品名(x, “みかん”) – 受注対象商品(a, x) – 単価(x, “100”) – 受注 a の対象商品 – 商品(y) はx という意味。 – 商品コード(y, “0002”) – 数量(a, “3”) – 商品名(y, “りんご”) – 単価(y, “150”) 52
  • 53. オブジェクト指向としての特徴 • クラス – 多重継承を許す。 • プログラミング言語では多重継承を許すと使いこなす のが大変なことになるが、データの表現ならば許した ほうが便利。 • いわゆる「タグ」 • プロパティ – クラスなしで単体で存在しうる。 • 制約の制限とは別である。 – 継承も多重継承も可能。 • 個体のペアの集合の包含関係 53
  • 54. 続き • インスタンス – あるインスタンスが、全く別の複数のクラスに属す ることを許す。 • 多重継承しているクラスに属するという意味ではない。 • プログラミング言語では聞いたことがない。 • RDBでのテーブルとレコードの関係では実現できない。 – 同じクラスに属するインスタンスが異なるプロパティ を持っていて良い。 • クラスに属することがプロパティを制約するわけではない。 54
  • 55. OWLの使い道 • いろいろな人が個別に書いたオレオレオントロ ジーを透過的に処理することができそう。 – 各人が、個別の概念とロールを使って知識ベースを 作る。 – それらの知識ベースについて、同じもの決定する知 識ベースを追加する。 • 翻訳をするような知識ベース – 翻訳済みの知識ベースについて処理をする。 • 分散的に作られたデータを統合して処理する。 • セマンティックウェブ向き – 当たり前といえば当たり前か。。。 55
  • 56. 本発表でカバーしてない話 • 記述論理の推論の仕組み – 大枠 – 開世界仮説 – 推論アルゴリズム • タブロー法 • 推論の計算量 • 言語の表現力 56
  • 57. もっと勉強したい人への手引き • 本発表は主に、OWL-DL とSHOIN(D)をベース に行いました。 – 2004年にW3C勧告になった古い仕様のOWL • 区別のため、OWL1と表記します。 • 2009年にOWL2という新しい仕様がW3C勧告 になっています。それに沿うならば、SROIQ(D) についての文書を読むとよいでしょう。 – 「すろいくでぃー」って読むんでしょう、きっと。 57
  • 58. 参考文献 • 記述論理とWebオントロジー言語 – http://www.amazon.co.jp/dp/4274207455 – 日本語で唯一まともに記述論理を説明した本。 – とっつきはそれほど良くない。 – OWL1 58
  • 59. 参考文献2 • The Description Logic Handbook Second edition – http://ebooks.cambridge.org/ebook.jsf?bid=CBO97 80511711787 – 内容それなりにしっかり。 • リファレンスとしても使える。 – ALC言語とその派生の話が多い。 – OWL1 SHOIN(D) 59
  • 60. 参考文献3 • Wikipedia – http://en.wikipedia.org/wiki/Description_logic – http://en.wikipedia.org/wiki/Web_Ontology_Lang uage – OWL1, 2. SHOIN(D) , SROIQ(D) 全部触れてある – wikipedia日本語版は記述いまいち 60
  • 61. 参考文献4 • Foundations of Description Logics – http://www.aifb.kit.edu/images/1/19/DL-Intro.pdf – http://www.semantic-web- book.org/w/images/a/a9/DL-Foundations- RW2011.pdf – カールスルーエ大学(ドイツ)の講義テキスト • プレゼン資料がわかりやすい! – OWL2 , SROIQ(D) 61
  • 62. 参考文献5 • セマンティック・ウェブのためのRDF-OWL入門 – http://www.amazon.co.jp/dp/4627829310 – OWLの書法はよいが、記述論理の解説は皆無。 – XMLとしてどう書くか重きが置かれているので、全 体的な枠組みや論理的な仕組みを学ぶには厳し い。 – OWL1 62