SlideShare a Scribd company logo
1 of 63
Download to read offline
ウェブオントロジー言語で
   何が書けるか


               福原和朗
     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

データサイエンス概論第一 5 時系列データの解析
データサイエンス概論第一 5 時系列データの解析データサイエンス概論第一 5 時系列データの解析
データサイエンス概論第一 5 時系列データの解析Seiichi Uchida
 
潜在ディリクレ配分法
潜在ディリクレ配分法潜在ディリクレ配分法
潜在ディリクレ配分法y-uti
 
グラフ構造のデータモデルをPower BIで可視化してみた
グラフ構造のデータモデルをPower BIで可視化してみたグラフ構造のデータモデルをPower BIで可視化してみた
グラフ構造のデータモデルをPower BIで可視化してみたCData Software Japan
 
ナレッジグラフ/LOD利用技術の入門(前編)
ナレッジグラフ/LOD利用技術の入門(前編)ナレッジグラフ/LOD利用技術の入門(前編)
ナレッジグラフ/LOD利用技術の入門(前編)KnowledgeGraph
 
「GraphDB徹底入門」〜構造や仕組み理解から使いどころ・種々のGraphDBの比較まで幅広く〜
「GraphDB徹底入門」〜構造や仕組み理解から使いどころ・種々のGraphDBの比較まで幅広く〜「GraphDB徹底入門」〜構造や仕組み理解から使いどころ・種々のGraphDBの比較まで幅広く〜
「GraphDB徹底入門」〜構造や仕組み理解から使いどころ・種々のGraphDBの比較まで幅広く〜Takahiro Inoue
 
ノンパラベイズ入門の入門
ノンパラベイズ入門の入門ノンパラベイズ入門の入門
ノンパラベイズ入門の入門Shuyo Nakatani
 
無限関係モデル (続・わかりやすいパターン認識 13章)
無限関係モデル (続・わかりやすいパターン認識 13章)無限関係モデル (続・わかりやすいパターン認識 13章)
無限関係モデル (続・わかりやすいパターン認識 13章)Shuyo Nakatani
 
最近のKaggleに学ぶテーブルデータの特徴量エンジニアリング
最近のKaggleに学ぶテーブルデータの特徴量エンジニアリング最近のKaggleに学ぶテーブルデータの特徴量エンジニアリング
最近のKaggleに学ぶテーブルデータの特徴量エンジニアリングmlm_kansai
 
SAT/SMTソルバの仕組み
SAT/SMTソルバの仕組みSAT/SMTソルバの仕組み
SAT/SMTソルバの仕組みMasahiro Sakai
 
パターン認識と機械学習入門
パターン認識と機械学習入門パターン認識と機械学習入門
パターン認識と機械学習入門Momoko Hayamizu
 
セマンティック・ウェブのためのRdf owl入門解説.ch5
セマンティック・ウェブのためのRdf owl入門解説.ch5セマンティック・ウェブのためのRdf owl入門解説.ch5
セマンティック・ウェブのためのRdf owl入門解説.ch5Takahiro Kubo
 
機械学習で泣かないためのコード設計
機械学習で泣かないためのコード設計機械学習で泣かないためのコード設計
機械学習で泣かないためのコード設計Takahiro Kubo
 
GiNZAで始める日本語依存構造解析 〜CaboCha, UDPipe, Stanford NLPとの比較〜
GiNZAで始める日本語依存構造解析 〜CaboCha, UDPipe, Stanford NLPとの比較〜GiNZAで始める日本語依存構造解析 〜CaboCha, UDPipe, Stanford NLPとの比較〜
GiNZAで始める日本語依存構造解析 〜CaboCha, UDPipe, Stanford NLPとの比較〜Megagon Labs
 
「知識」のDeep Learning
「知識」のDeep Learning「知識」のDeep Learning
「知識」のDeep LearningYuya Unno
 
5分で分かる自己組織化マップ
5分で分かる自己組織化マップ5分で分かる自己組織化マップ
5分で分かる自己組織化マップDaisuke Takai
 
勉強か?趣味か?人生か?―プログラミングコンテストとは
勉強か?趣味か?人生か?―プログラミングコンテストとは勉強か?趣味か?人生か?―プログラミングコンテストとは
勉強か?趣味か?人生か?―プログラミングコンテストとはTakuya Akiba
 
パターン認識 第10章 決定木
パターン認識 第10章 決定木 パターン認識 第10章 決定木
パターン認識 第10章 決定木 Miyoshi Yuya
 
Counterfaual Machine Learning(CFML)のサーベイ
Counterfaual Machine Learning(CFML)のサーベイCounterfaual Machine Learning(CFML)のサーベイ
Counterfaual Machine Learning(CFML)のサーベイARISE analytics
 

What's hot (20)

データサイエンス概論第一 5 時系列データの解析
データサイエンス概論第一 5 時系列データの解析データサイエンス概論第一 5 時系列データの解析
データサイエンス概論第一 5 時系列データの解析
 
潜在ディリクレ配分法
潜在ディリクレ配分法潜在ディリクレ配分法
潜在ディリクレ配分法
 
グラフ構造のデータモデルをPower BIで可視化してみた
グラフ構造のデータモデルをPower BIで可視化してみたグラフ構造のデータモデルをPower BIで可視化してみた
グラフ構造のデータモデルをPower BIで可視化してみた
 
RDF Semantic Graph「RDF 超入門」
RDF Semantic Graph「RDF 超入門」RDF Semantic Graph「RDF 超入門」
RDF Semantic Graph「RDF 超入門」
 
ナレッジグラフ/LOD利用技術の入門(前編)
ナレッジグラフ/LOD利用技術の入門(前編)ナレッジグラフ/LOD利用技術の入門(前編)
ナレッジグラフ/LOD利用技術の入門(前編)
 
「GraphDB徹底入門」〜構造や仕組み理解から使いどころ・種々のGraphDBの比較まで幅広く〜
「GraphDB徹底入門」〜構造や仕組み理解から使いどころ・種々のGraphDBの比較まで幅広く〜「GraphDB徹底入門」〜構造や仕組み理解から使いどころ・種々のGraphDBの比較まで幅広く〜
「GraphDB徹底入門」〜構造や仕組み理解から使いどころ・種々のGraphDBの比較まで幅広く〜
 
ノンパラベイズ入門の入門
ノンパラベイズ入門の入門ノンパラベイズ入門の入門
ノンパラベイズ入門の入門
 
無限関係モデル (続・わかりやすいパターン認識 13章)
無限関係モデル (続・わかりやすいパターン認識 13章)無限関係モデル (続・わかりやすいパターン認識 13章)
無限関係モデル (続・わかりやすいパターン認識 13章)
 
最近のKaggleに学ぶテーブルデータの特徴量エンジニアリング
最近のKaggleに学ぶテーブルデータの特徴量エンジニアリング最近のKaggleに学ぶテーブルデータの特徴量エンジニアリング
最近のKaggleに学ぶテーブルデータの特徴量エンジニアリング
 
SAT/SMTソルバの仕組み
SAT/SMTソルバの仕組みSAT/SMTソルバの仕組み
SAT/SMTソルバの仕組み
 
階層ベイズとWAIC
階層ベイズとWAIC階層ベイズとWAIC
階層ベイズとWAIC
 
パターン認識と機械学習入門
パターン認識と機械学習入門パターン認識と機械学習入門
パターン認識と機械学習入門
 
セマンティック・ウェブのためのRdf owl入門解説.ch5
セマンティック・ウェブのためのRdf owl入門解説.ch5セマンティック・ウェブのためのRdf owl入門解説.ch5
セマンティック・ウェブのためのRdf owl入門解説.ch5
 
機械学習で泣かないためのコード設計
機械学習で泣かないためのコード設計機械学習で泣かないためのコード設計
機械学習で泣かないためのコード設計
 
GiNZAで始める日本語依存構造解析 〜CaboCha, UDPipe, Stanford NLPとの比較〜
GiNZAで始める日本語依存構造解析 〜CaboCha, UDPipe, Stanford NLPとの比較〜GiNZAで始める日本語依存構造解析 〜CaboCha, UDPipe, Stanford NLPとの比較〜
GiNZAで始める日本語依存構造解析 〜CaboCha, UDPipe, Stanford NLPとの比較〜
 
「知識」のDeep Learning
「知識」のDeep Learning「知識」のDeep Learning
「知識」のDeep Learning
 
5分で分かる自己組織化マップ
5分で分かる自己組織化マップ5分で分かる自己組織化マップ
5分で分かる自己組織化マップ
 
勉強か?趣味か?人生か?―プログラミングコンテストとは
勉強か?趣味か?人生か?―プログラミングコンテストとは勉強か?趣味か?人生か?―プログラミングコンテストとは
勉強か?趣味か?人生か?―プログラミングコンテストとは
 
パターン認識 第10章 決定木
パターン認識 第10章 決定木 パターン認識 第10章 決定木
パターン認識 第10章 決定木
 
Counterfaual Machine Learning(CFML)のサーベイ
Counterfaual Machine Learning(CFML)のサーベイCounterfaual Machine Learning(CFML)のサーベイ
Counterfaual Machine Learning(CFML)のサーベイ
 

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
 
OWLで何が言えるか
OWLで何が言えるかOWLで何が言えるか
OWLで何が言えるかKazuro Fukuhara
 
記述論理の解釈を見て思ったこと
記述論理の解釈を見て思ったこと記述論理の解釈を見て思ったこと
記述論理の解釈を見て思ったことKazuro Fukuhara
 

More from Kazuro Fukuhara (12)

トーナメントは運か実力か
トーナメントは運か実力かトーナメントは運か実力か
トーナメントは運か実力か
 
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に手を入れてみた
 
OWLで何が言えるか
OWLで何が言えるかOWLで何が言えるか
OWLで何が言えるか
 
資格四方山話
資格四方山話資格四方山話
資格四方山話
 
記述論理の解釈を見て思ったこと
記述論理の解釈を見て思ったこと記述論理の解釈を見て思ったこと
記述論理の解釈を見て思ったこと
 

Recently uploaded

自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineerYuki Kikuchi
 
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)Hiroki Ichikura
 
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)Hiroshi Tomioka
 
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfクラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfFumieNakayama
 
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案sugiuralab
 
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfAWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfFumieNakayama
 
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)UEHARA, Tetsutaro
 
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...博三 太田
 
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?akihisamiyanaga1
 

Recently uploaded (9)

自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
 
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
 
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
 
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfクラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
 
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
 
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfAWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
 
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
 
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
 
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
 

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