Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
ウェブオントロジー言語で   何が書けるか               福原和朗     twitter.com/kazurof              2012-11-25                           1
前口上• 巷をにぎわすキーワード• セマンティックウェブ – 「インターネットの情報にメタ情報も記述して、   色々便利にしましょう。」というW3Cのプロジェクト。 – SW と略記します。• オントロジー• ウェブオントロジー言語 – Web...
この発表では• OWLで書けるデータの構造について、記述論  理を元に解説します。• 大嘘をついているかもしれません。ご容赦を。 – むしろ突っ込んでくれるととても喜びます。     » 誰のレビューをも受けていないという、、、        ...
そもそもOWLとはなんぞや• SWにおいて使われるメタデータの記述言語 – 「メタ」です。本文そのものは含みません。   • ウェブ上のドキュメントに対するメタ情報を記述する。      – 作者、発行日、内容のキーワード、などなど、、、   ...
続き• 物理的な表現形式 – RDF/XML    • XMLベースの表記 – N-Triples    • 主語、述語、目的語を並べて書くという、素朴な表記 – Turtle    • N-Triplesに便利な書式を加えた表記 – 他に、関...
記述論理とはなんぞや• Description Logic (DL と略記)• 知識表現の方式  – 人工知能の分野でのKL-ONEやKRYPTONなど、従    前にある知識表現システムを改良させたもの  – 意味の記述  – 推論システムの...
好きな機能を選べます• 多数のサブ言語を構成可能 – (( ALC | S )[ H ]| SR) [ O ][ I ][ F | N | Q ] [(D)] – 食べ物のトッピングみたいなものです。                      ...
SHOIN(D)• 本発表ではOWL-DLに相当する、SHOIN(D)に  ついて解説します。• (( ALC | S )[ H ]| SR) [ O ][ I ][ F | N | Q ] [(D)]• 「しょいんでぃー」って読むのだと思いま...
SHOIN(D)• SHOIN(D)  – ALC言語 と 推移的ロール (S)  – ロール階層(H)  – ONE-OF概念(O)  – 逆ロール (I)  – 制限なし数量限定(N)  – データ型 + データ型ロール (2個まとめて(D...
ALC言語• attributive language with complements• 個体  – 記述したいデータそのもの• 概念  – 何かの特徴を持った個体の集合• ロール  – 個体同士のペア• 解釈  – 妥当性判定の枠組み。意味...
概念と個体 • 素朴な集合論に該当する   – 集合の要素が個体。集合が概念。赤字、概念。 青字、個体。           概念:「冷たい飲物」          概念:「炭酸飲料」                              ...
解説• 否定、積集合、和集合、包含関係が記述可能 – 否定 ¬, 連言 ∩, 選言 ∪ , 部分集合⊆• 例                              概念:「温かい飲物」 – コーヒー ⊆ 温かい飲み物            ...
組み込みの概念• 最大概念 – すべてを含めている概念 T  • すべての概念の親概念 – いわゆる全体集合• 空概念 – 何も含まない概念 ⊥  • すべての概念の子概念 – いわゆる空集合 (φ)                   13
知識ベースの表記• 式でどのように表記するか• TBox  – terminological component の略  – 概念の定義  – 概念同士の関係の定義    • [ある概念] ⊆ [他の概念] という形式• ABox  – ass...
概念の関係• 概念の包含関係 – [概念A] ⊆ [概念B]   • 概念Aに含まれる個体は、概念Bに含まれることを意味     する。   • 「概念Aの要素を概念Bの要素とみなして問題ない」 – オブジェクト指向で言うところの階層関係、ある...
新しい概念の定義• [概念A] ⊆ [概念B] かつ [概念B] ⊆ [概念A]の  時、 [概念A] ≡ [概念B]と、表記できる。 – 「合同」の記号                                16
例:三角形• 直角三角形 ⊆ 3辺がa2 = b2 +c2 である三角形• 3辺がa2 = b2 +c2である三角形 ⊆ 直角三角形 – この2個で、• 直角三角形 ≡ 3辺がa2 = b2 +c2である三角形 – と、表記できる。• 「a2 ...
定義の他の例• 6の倍数 ⊆ 3の倍数∩2の倍数• 3の倍数 ∩ 2の倍数⊆6の倍数• 6の倍数 ≡ 3の倍数∩2の倍数 と、表記で  きる。• 組み合わされた概念を1つの概念に定義す  ることが可能。 – 否定 ¬, 連言 ∩, 選言 ∪ の...
飲み物での例• TBox  – 冷たい飲み物    • 概念の定義  – 温かい飲み物  – 炭酸飲料 ⊆ 冷たい飲み物    • 「炭酸飲料は冷たい飲み物の子概念である」という概      念同士の関係の定義  – 飲み物 ≡ 温かい飲み物 ...
飲み物での例(続き)• ABox  – 冷たい飲み物(コーラ)    • 「コーラは冷たい飲み物である」という意味  – 炭酸飲料(ビール)  – 菓子(チョコレート)  – ¬(温かい飲み物 ∪冷たい飲み物)(チョコレート)    • 「チョ...
解釈• 概念、ロール、個体は決め事(定義)だけの  存在 – 今までの例では説明上わかり易い名前を使って   ますが、所詮名前だけ。ぶっちゃけ記号です。• 知識ベースに対して合致するような具体的な  実際の物(=解釈)を当てはめて、妥当か否  ...
解釈の定義• 解釈 I – 具体的な値の集合Δ (デルタ) と、   関数 ・ (中黒) の、ペア• 関数 ・ – TBoxの各概念 → Δ の部分集合 – ABoxの各個体 → Δ の要素• 「当てはめる値の集合と、それぞれの概念へ  の当て...
妥当な解釈の例• TBox  – 素数      偶数• ABox  – 素数(a)     偶数(b)• 妥当な解釈  – Δ = {5, 4} , 素数→ {5} , 偶数→{4}, a → 5 , b → 4• 妥当でない解釈  – Δ ...
妥当か否かの判定• 「解釈が知識ベースの妥当な解釈かどうかの判  定(=充足判定)を行う。」という仕様が記述論  理に組み込まれています。• 利用可能なルールの組み合せごとに、判定の  アルゴリズムとその計算量(オーダー)が研究さ  れています...
ロール• 個体同士の関係 – 個体と個体のペア – 概念同士ではありません。• 例 – タラの親はサザエである。 – 2より小さい数は1である。 – ミルカさんの得意科目は数学である。• 関係の方向を意識します。 – 「タラの親はサザエ」といっ...
図による例                  義兄カツオ                                    マスオ                  義弟                               夫   ...
図の解説• 前頁の例の場合 – 親 = {(タラ, サザエ) ,(タラ,マスオ)} – 子 = {(サザエ, タラ) ,(マスオ, タラ)} – 弟 = {(サザエ, カツオ)}• などと記述できる。• (タラ, サザエ) のようなペアをロール...
ロールによる概念の構築• Rをロール、Cを概念とします。• ∀ R.C  – どのロール”R”の値も、概念Cの個体である。  – “∀ 子.男” -> 全ての子が男である個体。    • サザエ• ∃ R.C  – 何らかのロール”R”の値が存...
図示 • ∀ 子. 男   – 全ての子が男である個体。   – サザエが該当する。       • すべての子供(=タラ)は男。   – ナミヘイは該当しない。       • 子供にサザエ(=女)がいるから。   – 実はカツオとタラも該当...
図示2• ∃ 親.女 – ある親は女である個体。 – タラとサザエが該当する     • サザエ(=女)、フネ(=女)が存在するから。 – マスオは該当しない     • そのようなロールが存在しないから        親           ...
ロールによる概念(別の例)                   より大きい     a                                       c                   より小さい               ...
別例(続き)• ABox  – より大きい(a,b)       – 最大の数(c)    • aより大きいのはb       • Xに属し、全ての“より小さい”プロ    • a < b(以下同様)       パティ値が X の要素である。...
別例の解釈• 解釈の例 – Δ = {1, 2, 3} 、a = 1、b = 2、c = 3 – Δ = {4, 5, 6} 、a = 4、b = 5、c = 6• ロールと概念をも組み合わせて新たな概念を  作ることができる。 – 「最大の数...
SHOIN(D)(再掲)• SHOIN(D)  – ALC言語 と 推移的ロール (S)  – ロール階層(H)  – ONE-OF概念(O)  – 逆ロール     (I)  – 制限なし数量限定(N)  – データ型 + データ型ロール( ...
推移的ロール• 例 – 先祖の先祖も先祖 – 大きいものより大きいものは大きい。• あるロールRが推移的である。 – (x,y) ∈R ∧ (y,z) ∈ R ⇒ (x,z) ∈ R• ALC言語 に 推移的ロール を追加して S       ...
名前の由来• 「推移的」と言ったらtransitiveですが ALCと、推  移的ロールで S です。 – 記述論理の進化の推移で、ALCtrans とかALCR+ と、   書くやり方もあったようです。 – が、縮めたいという要望からこうなっ...
ロール階層(H)• ロールの包含関係を設定できる。• 例:「親」という関係は「父」という関係を含む。 – マスオがタラの父ならば、マスオはタラの親である。• R⊆S – R に属する個体のペアは、すべてSに属する。               ...
ONE-OF概念 (O)• 列挙を表現する概念 – 例:曜日、トランプのスートなど。 – {スペード、ハート、ダイヤ、クラブ}• ロールでの例 – ∃hasSuit.{スペード、ハート}   • スペードかハートのいずれかを持つ個体 – ∃ha...
逆ロール (I)• 例  – 「親」の逆は「子」  – 「大きい」の逆は「小さい」• ロールR-はRの逆ロールである。  – (x,y) ∈ R ⇔ (x,y) ∈ RI• I は inverse の I                    ...
制限なし数量限定(N)• 「数量限定」 – ∃R.C   • 何らかのロール”R”の値が存在し、その値は概念Cの     個体である。 – これを拡張し、ロール”R”の値が存在する数を指   定する表現。• ≦nR – n個以下のロールRが存在...
「制限なし」• 「制限なし」 – 通常は、∃R.C などと値の概念を表現するが、そ   のような概念を定めないという意味で、「制限な   し」• 制限ありの場合は、以下のようになる – ≦n R.C →Cに属する個体でロールRの値である   値...
データ型 と データ型ロール((D))• データ型 – 数字、文字列、日付などの総称 – 個体では、解釈を与えて実際の当てはめる必要   があるが、データ型ならそのまま使える。   • 文字列を名前として使える。 – データ型の値から発生するロ...
SHOIN(D)(再々掲)• SHOIN(D)  – ALC言語 と 推移的ロール (S)  – ロール階層(H)  – ONE-OF概念(O)  – 逆ロール     (I)  – 制限なし数量限定(N)  – データ型 + データ型ロール ...
OWLで何が書けるかまとめ• 個体 – 表現するデータそのもの• 概念 – 個体の所属する集合 – 論理式の組み合わせで新たな概念を作成可能 – ロールから、概念を構成することが可能• ロール – 個体同士の関係の記述 – 個体とロールで、有向...
OWLで何が書けるかできるか• 個体だけでなく、データ値(文字列、数字、日  付時刻などの実際の値)を扱える。• 推移的ロール、ロール階層、逆ロール、数量  限定ロールを使って意味を組み込んだ知識  を表現できる。 – 推論との親和性• 解釈を...
補遺:雑駁なこと色々             46
記述論理とOWLの対応記述論理   OWL概念     クラスロール    プロパティ個体     URIデータ型   XML Schema データ型を利用                            47
RDBのテーブルをDLで表現する例  • 例: 商品テーブルと受注テーブル  • 商品 {商品コード, 商品名, 単価}  • 受注 {受注番号, 商品コード , 数量} 商品コード   商品名     単価   受注番号   商品コード   ...
記述論理の枠での図示                参照整合性制約を表現  商品                                  受注        x                        a            ...
DLでの例• TBox  – 商品概念 ≡ 商品 ∩ =1 商品コード ∩    =1 商品名 ∩ =1 単価  – 受注概念 ≡ 受注 ∩=1 受注番号 ∩    =1 商品 ∩ =1 数量※「=1 商品コード」は、「≦1 商品コード∩ ≧1...
解説• 個体の分類としての商品と、各項目を持ってい  る商品は別の物なので、別の名前を付与。 – 「商品概念」と「商品」  • 自然な命名が思いつかない。  • 慣れていないのか、記述論理が高級すぎるのか。 – 個体の属する概念と、他の個体との...
• ABox  – 商品(x)              – 受注(a)  – 商品コード(x, “0001”)   – 受注番号(a, “01”)  – 商品名(x, “みかん”)      – 受注対象商品(a, x)  – 単価(x, “...
オブジェクト指向としての特徴• クラス – 多重継承を許す。   • プログラミング言語では多重継承を許すと使いこなす     のが大変なことになるが、データの表現ならば許した     ほうが便利。   • いわゆる「タグ」• プロパティ – ...
続き• インスタンス – あるインスタンスが、全く別の複数のクラスに属す   ることを許す。   • 多重継承しているクラスに属するという意味ではない。   • プログラミング言語では聞いたことがない。   • RDBでのテーブルとレコードの関...
OWLの使い道• いろいろな人が個別に書いたオレオレオントロ  ジーを透過的に処理することができそう。 – 各人が、個別の概念とロールを使って知識ベースを   作る。 – それらの知識ベースについて、同じもの決定する知   識ベースを追加する。...
本発表でカバーしてない話• 記述論理の推論の仕組み – 大枠 – 開世界仮説 – 推論アルゴリズム  • タブロー法• 推論の計算量• 言語の表現力                 56
もっと勉強したい人への手引き• 本発表は主に、OWL-DL とSHOIN(D)をベース  に行いました。 – 2004年にW3C勧告になった古い仕様のOWL   • 区別のため、OWL1と表記します。• 2009年にOWL2という新しい仕様がW...
参考文献• 記述論理とWebオントロジー言語 – http://www.amazon.co.jp/dp/4274207455 – 日本語で唯一まともに記述論理を説明した本。 – とっつきはそれほど良くない。 – OWL1            ...
参考文献2• The Description Logic Handbook Second edition  – http://ebooks.cambridge.org/ebook.jsf?bid=CBO97    80511711787  – ...
参考文献3• Wikipedia  – http://en.wikipedia.org/wiki/Description_logic  – http://en.wikipedia.org/wiki/Web_Ontology_Lang    ua...
参考文献4• Foundations of Description Logics  – http://www.aifb.kit.edu/images/1/19/DL-Intro.pdf  – http://www.semantic-web-  ...
参考文献5• セマンティック・ウェブのためのRDF-OWL入門 – http://www.amazon.co.jp/dp/4627829310 – OWLの書法はよいが、記述論理の解説は皆無。 – XMLとしてどう書くか重きが置かれているので、...
ご静聴ありがとうございました。                  63
Upcoming SlideShare
Loading in …5
×

OWLで何が書けるか

ウェブオントロジー言語(OWL)で書けるデータの構造を説明するための資料です。
内容の不備間違い誤字脱字その他突っ込み大歓迎でございます。

続編として、
OWLで何が言えるか
http://www.slideshare.net/kazurof/owl-24618601
を、書きました。

OWLで何が書けるか

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

×