第5回 IBM Watsonとオントロジの関係

5[:contents]

 
人工知能で有名なIBM Watsonですが、オントロジとの関係を調べていて以下の事が分かりました。本稿はオントロジがどうやってWatsonに利用されているかを知るために調べた結果です。人工知能とオントロジの関連を理解したいというのが趣旨です。
結論として:
I. Watson Knowledge Studio(WKS)ではセマンティックを利用しているのですが残念ながらオントロジを利用していません。そもそもアノテーターは機械学習と手登録でしかできません。セマンティックを利用しているなら本来はオントロジを利用する方が精度向上が期待できると思います。また、手登録の手間が省けます。
WKSではアノテーターの精度を上げるために機械学習と人による登録を繰り返す必要があります。今後は他のアノテーター製品Gate等と機能や精度を比較してみたいと考えています。

II. Watson DiscoveryのNLUにSemantic Extraction機能がある

NLUとは Nattural Language Understanding でSemantic Extractionによって入力コンテンツの文内の主語、動作、目的語の関係を識別します。

 Semantic ExtractionもオントロジがあればWatsonが自分でExtractする必要はいらないはずです。

III. Watson ExploreにRDFのImport機能があります。

Watson Explorer Content Analytics のために、データをトリプルとして Resource Description Framework (RDF) ストアに格納することができます。結果的にはRDF形式のオントロジをImport可能であることがわかります。

  

以下その詳細を説明します。
 
IBM Watson全体像

f:id:William0105:20190304093254p:plain

 

I-1.Watson Knowledge Stuido概観

まずWatsonのメイン機能であるKnowledge StudioとDiscovery等の他部品との概観を以下資料で示します。

<以下IBM公開資料から抜粋>

https://www.slideshare.net/komine/watson-knowledge-studio-20170720-78825281

f:id:William0105:20190225144112p:plain

IBM Watsonはセマンティック技術を利用しています。Annotation(情報抽出作業)としてRelationTypeを登録する画面があることからもそのことが分かります。RelationTypeを登録することで複数の名詞やイベントの間に関連を結びつけることができます。詳細は後述します。

 Watson Knowledge Studioでは残念ながらオントロジを利用していません。そもそもアノテーターは機械学習と手登録でしかできません。

I-2.Watson Knowledge Studio での情報抽出器(Annotator)作成手順

<以下IBM公開資料から抜粋>

https://www.slideshare.net/komine/watson-knowledge-studio-20170720-78825281

f:id:William0105:20180805023653p:plain

 

f:id:William0105:20190225101244p:plain


IBM Watson Knowledge Studio Deep Dive - YouTube

f:id:William0105:20190228125830p:plain

f:id:William0105:20190228130355p:plain

 

f:id:William0105:20190228130550p:plain

https://www.ibm.com/watson/jp-ja/developercloud/knowledge-studio.html

上の図にあるようにWatsonでは結局人手でルールを作成する必要があります。

 

I-3.Watson Knowledge Studioの Semantic technologies

 セマンティックで定義が必要なTripleは例えばですが以下の内容です。

例: Alice isMotherOf Bob

f:id:William0105:20180729125540p:plain

Watson Knowledge StudioでRelation から生成されるチャート(以下の例)がRDFそのものです。

Relation自体がSemanticの原則に倣ったものです。

以下 Relation Typeを登録する方法についての画面です。

<以下IBM公開資料から抜粋>

https://console.bluemix.net/docs/services/knowledge-studio/relation-gif.html#relation-gif

f:id:William0105:20190225110216p:plain

I-4.Watson Knowledge StudioでAnnotationとしてRelationTypeを登録する画面。

 人(PERSON)が組織(ORGANIZATION)に所属する(BELONGTO)ことを定義するための画面。

<以下IBM公開資料から抜粋>

https://www.youtube.com/watch?v=p_xF_-VgO5s

f:id:William0105:20190225102850p:plain

 

 <参考>

Watson Knowledge Studio ~機械学習とルールベースで業界固有の用語や表現をWatsonに教える | アイマガジン|i Magazine|IS magazine

f:id:William0105:20190225105233p:plain

<抜粋>

①エンジニアと業務担当者が協業しEntityやRelationの設計、辞書・ルールの作成、文書群のインポートを実施する。

②エンジニアにより、①でインポートした文書群に対して、①で作成した辞書・ルールに基づき、辞書およびルールベースの各アノテーションを実施する。

③業務担当者により、②で辞書およびルールベースの各アノテーションを実施した文書群に対して、さらにヒューマンアノテーションを実施する。これにより、辞書およびルールベースの各アノテーション結果を確認し、必要であれば修正する。

④エンジニアにより、③でヒューマンアノテーションを実施した文章群をトレーニングデータとして、機械学習アノテーションを実施。機械学習アノテーターを作成し、アノテーターの性能を評価する。

⑤④で作成した機械学習アノテーターの性能が十分であれば、アノテーターをエクスポートして運用する。不十分であれば、①に戻って手順を繰り返し、アノテーターの性能を改善する。

 

I-5.セマンティックを利用しているなら本来はオントロジを利用する方が精度向上が期待できる

IBM Watson Knowledge Studioではオントロジを利用していません。

精度が上がる理由:

アノテーションが手作業でなく、既存のオントロジの一部再利用が可能

オントロジを利用することでEntitiy, Relationの登録作業の手間をかなり省くことができます。Annotation作業の一部が省力化可能となります。

(上記図のRelationTypeを登録する作業)

 

②GateなどのAnnotationツールではOntologyを登録する機能があり、Ontologyと読み込んだ文書等を自動マッピングするOntology Populationと呼ぶ機能が搭載されています。

(GateのPopulationについては以下参照)詳細は別の回で解説予定です。

https://gate.ac.uk/sale/talks/gate-course-july09/slides-pdf/ontologies.pdf

 

I-6.WKS(Watoson Knowledge Studio)はontologyをuploadする機能を持たない

問題はWKS(Watoson Knowledge Studio)はontologyをuploadする機能を持たないことです。以下開発者のクラウドから抜粋です。

ルールベースのアノテータと手動ベースのアノテータしか持っていないと記述があります。

<以下IBM公開資料から抜粋>

How do you upload an ontology in WKS ? - IBM Developer Answers

WKS does not have ontology, and I think you talk about type system. Please refer to this page: https://www.ibm.com/watson/developercloud/doc/wks/wks_artifacts.shtml

A type system is not an ontology for a domain.

About Discovery Serivce, WKS supports deploying of only two artifacts, rule based annotator and machine learning annotator to Discovery Service. Please refer to these pages:

 II-1 Watson Discoveryの概要

Discovery サービス概要

<以下IBM公開資料から抜粋>

www.slideshare.net

f:id:William0105:20190225152313p:plain

IBM Watson Discovery - Japan

f:id:William0105:20190227130618p:plain

Watson DiscoveryでのWKS情報抽出器の利⽤ 

Watson knowledge studio 紹介 - あなたの知識をWatson に教え込む!

f:id:William0105:20190304091554p:plain

II-2 Watson Discovery のNLU(Natural Language Understanding )エンリッチメント

Watson Discovery の機能の一部にNLUがあります

NLUとはWatson Natural Language Understandingです。

ドキュメントには

自然言語理解を使用して、テキストを分析し、コンテンツから概念、エンティティー、キーワード、カテゴリー、感情、関係、意味役割などのメタデータを抽出します。 Watson Knowledge Studio を使用して開発されたカスタム・アノテーション・モデルにより、非構造化テキスト内の業界固有/特定分野のエンティティーおよび関係を識別します。

とあります。要はアノテーション=メタデータの抽出です。

今までWatson Discoveryの日本語環境ではNLU自体が日本語に未対応だったためにメタデータによるエンリッチメント機能を享受できていませんでした。日本語対応したようです。

NLUの機能概要

<以下IBM公開資料から抜粋>

f:id:William0105:20180805114253p:plain

上記#7がSemanticの抽出となります。

II-3 Watson Discovery のSemantic Role Extractionについて

https://console.bluemix.net/docs/services/discovery/building.html#adding-enrichments

 

Semantic Role ”Extraction”は”Labeling”と言い換えることもできる

f:id:William0105:20190225155138p:plain

<注意点>

Natural Language Understanding は、分析するフィーチャーに応じてさまざまな言語をサポートします。

f:id:William0105:20180812071627p:plain

II-4 Watson Discovery Knowledge Graph

<以下IBM公開資料から抜粋>

英語のみのベータ、かつAdvanced(拡張)プランのお客様限定です。

f:id:William0105:20180805041558p:plain

  • NLUエンリッチメントの結果を使ってエンティティ間の関連を機械学習で整理・拡張してカスタム知識グラフを構築します
  • IBM Cloud Docs

https://console.bluemix.net/docs/services/discovery/building-kg.html#watson-discovery-knowledge-graph

 

 <以下IBM公開資料から抜粋>

www.youtube.com

 

上記YoutubeのGraphf:id:William0105:20180805115858p:plain

上記YoutubeのGraph分部を表示

f:id:William0105:20180805120024p:plain

III-1 Watson Explorer 製品概要

DiscoveryとExplorerの違いが分かりにくいのですが、以下の資料がありました。

Watson Explorer(App Builder) とWatson Discoveryの統合をやってみた - Qiita より抜粋。

f:id:William0105:20190304151935p:plain

さて、

Explorerの機能の一部にRDF Triplestoreの機能があります。Explorerの機能概要は以下の通りです。

<以下IBM公開資料から抜粋>

f:id:William0105:20190227140949p:plain

 

f:id:William0105:20190227142259p:plain

https://www.youtube.com/watch?v=dKKbYzDLXHo

f:id:William0105:20190228103116p:plain

f:id:William0105:20190228104304p:plain

Wastson Text Mining

f:id:William0105:20190228104508p:plain

f:id:William0105:20190228104840p:plain

 

f:id:William0105:20190227142039p:plain

IBM Watson ExplorerではRDFのImport機能が実装されています。

Watson Explorer Content Analytics を構成して、データをトリプルとして Resource Description Framework (RDF) ストアに格納することができます。

https://www.ibm.com/support/knowledgecenter/ja/SS8NLW_11.0.1/com.ibm.discovery.es.ad.doc/iiysardf.htm

 WatsonのRDF Triplestoreの機能は以下です。

<以下IBM公開資料から抜粋>

f:id:William0105:20190227143718p:plain

III-2 Watson Explorer 用語辞書を作成

○Resource Description Framework (RDF) ファイルから取り出された用語の辞書を作成できます。

 例えば、DBPedia の RDF ファイルにある用語を取り出して、化学物質に関する辞書を作成できます。

III-3 Watson Explorer 辞書のImport

Watson Explorer Content Analytics 

https://www.ibm.com/support/knowledgecenter/ja/SS8NLW_11.0.0/com.ibm.discovery.es.ta.doc/iiyssrdfdict.htm

 3rd パーティの製品ですが、taxonomyをインポートする機能を提供しています。

https://www.ibm.com/support/knowledgecenter/SS8NLW_12.0.0/com.ibm.swg.im.infosphere.dataexpl.engine.tut.cs.doc/c_csearch-ontolection-create-wand-converter.html

 

III-3 Watson Explorer Ontolectionとは(IBMWatsonTutorialから抜粋)

チュートリアル: 概念的な検索の紹介および使用 概説>

 https://www.ibm.com/support/knowledgecenter/ja/SS8NLW_11.0.2/com.ibm.swg.im.infosphere.dataexpl.engine.tut.cs.doc/c_csearch-oview.html

<以下IBM公開資料から抜粋>

 

シソーラスなどの企業データを Watson Explorer Engine アプリケーションに追加するには、そのデータをクロールして特別なタイプの検索コレクションを生成します。この検索コレクションは、Watson Explorer Engine の内部で関連用語や代替用語を特定して提示するために使用されます情報科学では、一連の基本用語を特定し、その用語間の関係を定義して知識ドメインをモデル化することを、一般にオントロジー と呼びます。Watson Explorer Engine の概念検索サポートで使用される特別なタイプの検索コレクションは、アプリケーションまたは企業のドメインに固有の関連用語セットに基づいているため、オントレクションと呼ばれます。

 

ドメイン・コレクションからの概念検索のオントレクションの生成->以下参照

https://www.ibm.com/support/knowledgecenter/ja/SS8NLW_11.0.1/com.ibm.swg.im.infosphere.dataexpl.engine.tut.cs.doc/c_csearch-csearch-activate.html

既存のプロジェクトに概念検索を追加する

https://www.ibm.com/support/knowledgecenter/ja/SS8NLW_11.0.1/com.ibm.swg.im.infosphere.dataexpl.engine.tut.cs.doc/t_csearch-add-to-project.html#csearch-add-to-project__csearch-basic-project-fig

Watson™Explorer Engineアプリケーションにシソーラスなどのエンタープライズデータを追加するには、そのデータをクロールしてWatson Explorer Engineで内部的に使用して関連する用語や代替用語を識別し提案する必要があります。オントレクションは、アプリケーションまたはエンタープライズドメインに固有の一連の関連用語を提供し、それらの間の関係を識別します。

 

 <以下IBM公開資料から抜粋>

f:id:William0105:20180812072430p:plain

 

f:id:William0105:20180812072408p:plain

 

f:id:William0105:20180812072707p:plain

https://www.ibm.com/support/knowledgecenter/SS8NLW_12.0.0/com.ibm.swg.im.infosphere.dataexpl.engine.tut.cs.doc/c_csearch-ontolection-tut.html

 

<その他参考資料>

www.slideshare.net

以上

 

 

 

第4回 Protege CellfieでExcelからFIBOへデータ取り込みをする

FIBOをProtege CellfieでExcelからデータ取り込みをする

 

 

Cellfieでコーディングするために各classの関連性を洗い出すと以下の通りとなる。

1.証券トレードの全体概要

FiboのFIBO® Foundations Publicationドキュメントではそれぞれのメタデータの定義が細分化されているので証券売買のような特定の取引については主要なクラスをProtege等のツールを使って探し出しClassから連携するProperty(売り買い等のPredicateに相当する部分)をたどって行かないとならない。

About the FIBO Foundations Specification Version 1.2

トリプル(Subject-Predicate-Object)を正確に把握できないとProtegeによるデータ格納が不正確となりセマンティックサーチ(Sparql)が正しく動作できないこととなる。

以下で格納時のメタデータの全体像を概説する。

格納時のProtege(Cellfie)のパラメーター設定は後述する。

f:id:William0105:20181031141633p:plain

 Transaction event  is evidenced by Contract document(Figure10.103参照)

証券売買の際の全体の構成要素

項目 説明 説明カ所
①PartyinRole: 定義:独立した当事者で何らかの役割を果たす特定の役割に結びつける相対的な概念、 1-2 Contract party
②hasRole: 定義:人、組織、グループ、または他のエンティティを、エンティティが何らかの関係や文脈で果たす役割に関連付けるための手段を提供する
③Contract: 定義:2つ以上の関係当事者間の、自主的で、意図的で、法的に拘束力のある合意  1-1 契約の概要
  解説:契約は通常書かれていますが、話されても暗示されてもよく、一般的には雇用、売却またはリース、または借家と関連しています。
  定義の起源:http://www.businessdictionary.com/definition/contract.html
➃hasContractParty (has contract party) 定義:契約に署名し、契約に定義されている特定の権利と義務が付与され、契約に定義されている特定の権利を譲渡し、相手方に一定の義務を課す当事者を有する
⑤Buyer (buyer, purchas-er) バイヤー(バイヤー、購入者)  定義:売買契約に基づき金銭またはその他の対価と引き換えに、所有権(商品の場合)または利益または使用(サービスの場合)を取得する、または取得することに同意する当事者
 適応:http://www.businessdictionary.com/definition/buyer.html
 1-5 Seller/buyer
⑥Product (product) 定義:(1)有形の適切なもの、(2)製造、製造、または製造プロセスの出力または結果、または(3)流通経路を通るもの消費されるか使用される。  1-3 Product services(Seller/buyer)
  適応:http://www.businessdictionary.com/definition/product.html 1-4 TransationとContractの関連性
⑦AmountOfMoney (amount of money, cash) 定義:お金の合計 解説:これは実際の金額であり、基本単位(通貨単位の10進数)が同じであるにもかかわらず、貨幣単位の金額の尺度ではありません。 1-6 Monetary Amounts and Measures

1-1 契約の概要

取引の対象である債券等の金融商品tradable instrumentはContractの配下に存在し、tradable instrumentの配下にbondが存在する。

 

https://spec.edmcouncil.org/fibo/doc/20170930_FIBO_Primer.pdf

 以下 FIBO_Primerより抜粋。

4. Appendix B Understanding SMIF UML Diagrams 

f:id:William0105:20181103072254p:plain

 

1-2 Contract party

取引先であるCounterpartyはPartyinRoleのSubclassに存在する。

 

Fundation SPECIFICATION DOCUMENTSから抜粋。

https://www.omg.org/spec/EDMC-FIBO/FND/1.2/PDF

f:id:William0105:20181103072312p:plain

f:id:William0105:20181111071052p:plain

1-3 Product services(Seller/buyer)

 売買当事者であるSeller/buyerはPartyinRoleのSubclassに存在する。

 

f:id:William0105:20181111071927p:plain

Figure 10.96 - Products and Services Class Hierarchy

 

f:id:William0105:20181111073006p:plain

 

1-4 TransationとContractの関連性

f:id:William0105:20181111074606p:plain

Figure 10.103 - Transaction Events and Confirmations

 

f:id:William0105:20181111072007p:plain

Figure 10.97 - Definition of Product – Producers and Suppliers

1-5 Seller/buyer

Seller/buyer(Class)がproduct(Object)をsell/buy(property)としてそれぞれ定義されている。

 

f:id:William0105:20181103072509p:plain

<Protegeの画面より>

f:id:William0105:20181031100954p:plain

f:id:William0105:20181031101030p:plain

Contractual product is realized by some contract.

Product とContract が結合されている。

1-6 Monetary Amounts and Measures

f:id:William0105:20181111110225p:plain

Figure 10.73 - Monetary Amounts and Measures

f:id:William0105:20181111110245p:plain
Figure 10.74 - Deprecated Class Definition for MoneyAmount

 

*以下Protegeのスナップショット

(Referenceの下にAmount of Moneyが存在する)

f:id:William0105:20181114155137p:plain

1-7 Exchange and interest rate

f:id:William0105:20181103072340p:plain

Price

f:id:William0105:20181103072355p:plain

Money amount

f:id:William0105:20181103072518p:plain

f:id:William0105:20181103072526p:plain

f:id:William0105:20181103072537p:plain

f:id:William0105:20181111071817p:plain

Figure 10.91 - QuantitiesAndUnits Ontology Overview

  <ExcelRDFにするためには>

CPTY Instrument Contract Amount Buy_Sell              
CITI Equity IBM 100 Buy              
CITI Equity Toyota 100 Sell

 

●Cellfieのサンプル

(動作未確認です)

                       
Individual: @A*(mm:hashEncode)                  
  Types:  Trading                  
   Facts: has tradable debt instrument @B*              
    has contract party @C*              
    has amount @D*(xsd:integer)              
    buy product (”contractual template product" is realized by contract -> CotnractによってProduct が実現される、つまりISsuerに相当する)
                       

 <再掲>f:id:William0105:20181031141633p:plain

●Cellfieを使わなかった場合、以下のcodingを自分でしないといけません。

f:id:William0105:20181115145042p:plain

 

第3回 FIBO Ontology Management ーProtege について

 1.Protegeでできること(W3Cより)

Protégéは、オープンソースの無料のオントロジーエディタであり、知識ベースのフレームワークです。Protégéプラットフォームは、Protégé-FramesおよびProtégé-OWLエディタを介してオントロジーをモデル化する2つの主要な方法をサポートしています。Protégéオントロジーは、RDFRDFSOWLXML Schema などのさまざまな形式にエクスポートできます。

ProtégéはJavaに基づいており、拡張性があり、ラピッドプロトタイピングとアプリケーション開発の柔軟な基盤となるプラグアンドプレイ環境を提供します。例は、OWLのためのビジュアルエディタ(OWLViz呼ばれる)へのバックエンドストレージ、ならびにOWL-Sプラグイン Webサービスの編集OWL-Sのためにいくつかの特殊な機能を提供。

 Protege-OWL 4.0 - Protege Wiki

  • Desktop版 OntGraf Protégé Desktop 5.0 Beta intro

  OntoGraf - Protege Wiki

  • Desk top版 SPARQLによる検索機能

  SPARQL 1.1 Overview

<PLug in 機能の主なもの>  

①VOWL

Protégé(ProtégéVOWL)のVOWLプラグインは、OWLオントロジー(VOWL)のビジュアル表記法を大幅に実装しています。 VOWLは、Web Ontology Language(OWL)の要素を、オントロジーを表すグラフレイアウトと組み合わせて、グラフィカルに表示します。

②ProtegeLOV

このプラグインは、既存の語彙を低レベルで再利用してオントロジーの開発を容易にするために、リンクオープンデータ(LOV)カタログで関連する語彙を検索するために使用されます。 このツールは、LODクラウドで使用されるオントロジのモデリングと再利用を改善するのに役立ちます。

 ③DL-Learner Plugin

 オントロジーの既存のインスタンスに基づいて定義とスーパークラスのaxiomsを学習できます。

 ④FaCT++ reasoner

FaCT ++は表現力豊かな記述論理(DL)のための、台詞ベースの推論器です。 これは、OWLとOWL 2(DLベースのオントロジー言語)を対象としています。 これは、スタンドアロンのDIGリスナーとして、またはOWL APIベースのアプリケーションのバックエンドの推論として使用できます。 これは、Protect 4 OWLエディタのデフォルトの推論ツールの1つとして使用されます。

http://owl.cs.manchester.ac.uk/tools/fact/

⑤Pellet

 ペレットは、オープンソースJavaベースのOWL 2推論ツールです。 JenaとOWL APIライブラリの両方と併用することができます。 他のアプリケーションにも含めることができます。 ペレットは、OWL 2 ELを含むOWL 2プロファイルのサポートを含みます。 これは、名詞、結合的な質問応答、および増分的な推論の最適化を組み込んでいます。

Protege Wiki

https://protege.stanford.edu/publications/ontology_development/ontology101.pdf

ProtegeDesktopUserDocs - Protege Wiki

 

2.Web Protegeでできること

 機能的には Desktopでできることはほとんど可能。

 ただし、Plugin機能を利用できません。

WebProtégé

  • OWL 2オントロジーの編集のサポート
  • 一般的に使用されるOWL構文へのアクセスを提供するデフォルトの単純編集インタフェース
  • フルチェンジトラッキングと改訂履歴
  • コラボレーションツール(共有や権限、スレッドノートやディスカッション、時計、電子メール通知など)
  • カスタマイズ可能なユーザーインターフェイス
  • アプリケーション/ドメイン固有の編集のためのカスタマイズ可能なWebフォーム
  • OBOオントロジーの編集のサポート
  • オントロジー(サポートされているフォーマット:RDF / XML、Turtle、OWL / XML、OBOなど)のアップロードとダウンロードのための複数のフォーマット

 3.主要機能(Desktopメニューより)

File Menu

f:id:William0105:20180729065111p:plain

 

  Menu 内容 Short cut
File
     
  New... 現在のワークスペースまたは新しいワークスペースに新しいオントロジーを作成する Shift-Ctrl-N
  Open... オントロジー(およびそのインポート)をファイルから現在または新しいワークスペースに開く Ctrl-O
  Open recent 最近作業したオントロジを現在または新しいワークスペースに開く  
  Open from URI... オントロジーをWebから現在のワークスペースまたは新しいワークスペースに開く Shift-Ctrl-O
  Save... 変更されたオープンオントロジを保存する Ctrl-S
  Save as... 現在アクティブなオントロジーを新しいオントロジーとして保存する Shift-Ctrl-S
  Gather Ontologies... 開いているすべてのオントロジを1つのフォルダに保存します(Webまたは他のライブラリから開いたオントロジーに便利です) Shift-Ctrl-G
  Export inferred axioms as ontology... 分類後、推論された階層をオントロジーとして保存する。現在のオントロジソースファイルは影響を受けず、開いているオントロジーの保存状態は保持されます。  
  Ontology Libraries... 共通に使用される共有オントロジーの場所を管理する Ctrl-L
  Loaded ontology sources... ロードされたオントロジーの要約を表示して、物理的な位置を示し、リロード、クローズ、ソースへの移動などのいくつかのアクションを許可する  
  Preferences... Protegeの動作を設定する Ctrl-,
  Check for plugins... 自動更新を使用して、新しいプラグインや既存のプラグインの更新を検索する  
  Close アクティブなワークスペースを閉じ、ウェルカムウィンドウに戻ります。 Ctrl-W
       

 

f:id:William0105:20180729071158p:plain

  Menu 内容 Short cut
Edit
     
  Undo   Ctrl-Z
  Redo   Shift-Ctrl-Z
  Cut   Ctrl-X
  Copy   Ctrl-C
  Paste   Ctrl-V
  Delete... フォーカスを当てたビューで最後に選択した要素を削除します。これがクラス/プロパティツリーまたは個々のリストのいずれかのエンティティである場合、このエンティティを参照するすべてのステートメントを削除します。これが記述ビューのアサーションであれば、そのアサーションオントロジーから取り除く。 Ctrl-Backspace
  Find in view 現在アクティブなビュー(現在フォーカスを持っているビュー - しばしば最後に使用されたビュー)で名前の検索を実行します。 Ctrl-F
  Create New アクティブなビューに依存する型の新しいエンティティを作成する Ctrl-N
  Create Child アクティブなビューで現在の選択項目のサブクラス/サブプロパティを作成します。 Ctrl-\
  Create Sibling 現在の選択の親のサブクラス/サブプロパティをアクティブビューで作成します(実際の選択と同じレベル) Ctrl-/
  Duplicate selected class アサートされたすべてのスーパークラスおよび同等のクラス公理(注釈を含まない)を含む、選択されたクラスのコピーを作成します。 Shift-Ctrl-C
  Convert to primitive class 現在選択されているクラスのすべての同等のクラスをスーパークラスに移動する(そして、交差を別々のスーパークラスの公理に分割する) Ctrl-P
  Convert to defined class 現在選択されているクラスのすべてのスーパークラスを新しい同等のクラスに移動する(スーパークラスの共通部分を構築することによって) Ctrl-D
  Add covering axiom そのサブクラスの共用体を含む、現在選択されているクラスに同等のクラスを追加します。  
  Make all individuals distinct... オントロジー内のすべての個人を含むallDifferent公理を作成する  
  Make primitive siblings disjoint 現在選択されているクラスとそのすべての兄弟を含む全共分散公理を作成する Ctrl-J
  Prefixes... 名前空間レンダリングを管理する Shift-Ctrl-P


  

f:id:William0105:20180729071235p:plain

  Menu 内容 Short cut
View
     
  アクティブなオントロジーは、現在のワークスペースの上部にあるナビゲーションバーには、このメニューにチェックさとも見えるオントロジーです。慣例により、モデルへのすべての追加は、アクティブなオントロジーで行われます。
  アクティブオントロジーアクティブオントロジーを含むオントロジのセットです。これらは、内容がインタフェースで可視であるオントロジーです。このセットのオントロジは、このメニューで現在どの戦略が選択されているかによって決まります。
  Render by Name (rdf:id) オントロジ内のエンティティをrdf:idを使用して表示します。  
  Render by label (rdfs:label) エンティティに関連付けられたrdfs:lableアノテーションプロパティを使用して、オントロジ内のエンティティを表示します。  
  Render by annotation property オントロジー内のエンティティを、rdfs:label以外のアノテーションプロパティを使用して表示します。  
  Custom Rendering 上記のオプションよりも複雑なレンダリングカニズムを使用して、オントロジのエンティティを表示します。  
  Show only the active ontology インポートに関係なく、アクティブなオントロジー自体のみを表示する  
  Show all loaded ontologies ワークスペースに現在ロードされているすべてのオントロジーを表示する  
  Show the imports closure of the active ontology アクティブなオントロジーによって直接的または間接的にインポートされたすべてのオントロジを表示する  
  A list of the loaded ontologies ここに示すリストからアクティブなオントロジーを選択する  

 

f:id:William0105:20180729071316p:plain

 

Menu

内容

Short cut

Reasoner
     
  Start reasoner Protegeが要求するタスクに適した方法で推論を初期化します。 Ctrl-R
  Synchronize reasoner 最新の変更を適用して推論を最新の状態に戻します。  
  Configure... 推論の固有の設定を構成します。  
  Fact++ マンチェスター大学で開発されたC ++推論システムを選択する  
  None 推論を実行しないデフォルトの推論を選択する  
  Hermit 1.3.3 オックスフォード大学で開発されたJava推論システムを選択する  

 

f:id:William0105:20180729071438p:plain

  Menu 内容 Short cut
Tools
     
  その他のツールは、インストールしたプラグインによって異なります(OWLDocのエクスポートなど)。既定のツールは次のとおりです。
  Create class hierarchy... オントロジーに追加されるクラスのタブインデント付きリストを入力します  
  Usage 現在選択されているエンティティのグローバルな使用状況を示すビューを表示する  

 

f:id:William0105:20180729071502p:plain

 

  Menu 内容 Short cut
Refactor
     
  Change entity URI... 以前に名前を変更し...。選択したエンティティのURIをグローバルに変更します(エンティティのラベルではありません) Ctrl-U
  Change multiple entity URIs... 以前は、エンティティの名前を変更します...。検索と置換によってエンティティのURIをグローバルに変更する(エンティティのラベルを変更しない)  
  Change ontology URI..." アクティブなオントロジのURIを変更します(これはエンティティのURIを変更しません)  
  Convert entity URIs to labels すべてのエンティティURIのフラグメントを自動IDに変更し、元のフラグメントテキストをラベルに配置します(現在のNew Entitiesプリファレンスを使用)  
  Convert property assertion on class/individual puns to annotations punである件名のプロパティアサーションを、punnされているクラスの注釈に変換します。  
  Split subclass axioms アクティブなオントロジーのサブクラスの公理をより細かい公理に分割します。たとえば、A subClassOf(BとC)はA subClassOf BとA subClassOf Cに分割されます  
  Amalgamate subclass axioms 共通の左辺を持つサブクラスの公理をマージします。例えば、A subClassOf B、a subClassOf Cは単一のサブクラス公理、A subClassOf(BとC)にマージされ、  
  Copy/move/delete axioms... 以前は公理を抽出/移動していました。いくつかの異なる方法を用いて公理を選択する。これらの公理は、既存のオントロジーまたは新しいオントロジに削除または移動/コピーすることができます。  
  Merge ontologies... 1つまたは複数のオントロジーを既存のオントロジーまたは新しいオントロジーにマージする  

 

f:id:William0105:20180729071702p:plain

f:id:William0105:20180729071741p:plain

 

  Menu 内容 Short cut
Window
     
  Tabs ユーザーインターフェイスで表示されるタブを選択できます。  
  Views タブ内のすべてのインタフェースコンポーネントは、オントロジービューです。ビューは、ナビゲーションを容易にするために分類されています。このメニューの内容は、インストールしたプラグインによって異なります。ビューを選択すると、現在選択されているタブにビューを追加することができます。新しいビューを追加したり削除したりすることで、タブを設定できます。タブの設定方法の詳細については、インターフェースの設定に関する注意を参照してください。  
  Create new tab... 設定するための新しい空のタブを作成する  
  Delete custom tabs... メニューとワークスペース(ビルド105から)からカスタムタブを削除したり、  
  Export current tab... レイアウトを他のユーザーと共有する  
  Import tab... 他のユーザーが提供したレイアウトを読み込む  
  Save current layout 現在のレイアウトを強制的に保存する(Protegeの通常のシャットダウン時に発生する)  
  Reset selected tab to default 現在のタブレイアウトの工場出荷時リセット  
  Increase font size   Ctrl-=
  Decrease font size   Ctrl--
  Look & Feel    

 

 

4.Protégé - クラスエディタ

  必要かつ十分(完全定義)(C1相当C2へ)

  必要(部分定義)(C1はC2スーパークラスを持つ)

  Inherited

  • アサーションはプロパティと制限についてです
  • ディスジョイント(このクラスの個人は、別のクラスの個人)
  • デフォルトでは、OWLクラスにはいくつかの「オーバーラップ」があります。

5.プロテジェ - プロパティ

f:id:William0105:20180729115315p:plain

  • プロパティは2つの事の間の2項関係です
  • 2つの個(Individual)の関係
  • データ型プロパティ:個とプリミティブデータ型
  • Annotation プロパティのプロパティ(メタデータメタデータ...)

 

①Functional Properties

f:id:William0105:20180729112719p:plain

プロパティが機能している場合は、そのプロパティを介してIndividualを見つけることができます。  おのおのが唯一のBirthMother母親を持つことができます。 私たちがJean hasBirthMother Peggyと言うと、Jean hasBirthMother Margaret と言うと、hasBirthMotherは機能的なプロパティなので、PeggyとMargaretは同じ人でなければならないと推論することができます。 しかし、ペギーとマーガレットが別人であると明示された場合、上記のステートメントは矛盾となります。

 

②Inverse


逆プロパティを指定することは可能です。
対応する逆プロパティ。下図にhasParentプロパティとその逆プロパティhasChild を示します。 Matthew hasParent Jeanの場合、逆の性質のため、Jean hasChild Matthewが推論できます。

 f:id:William0105:20180729112433p:plain

③Transitive

プロパティが推移的で、プロパティーがIndividualに関連する場合、そのIndividualを個々のプロパティに推論することができます。  hasAncestor とういプロパティーの場合です。

個人MatthewがPeterである祖先を持ち、PeterがWilliamである祖先を持っているなら、MatthewがWilliamという祖先を持っていると推論することができます。

f:id:William0105:20180729114328p:plain

④Symmetric Properties

プロパティが対称である場合、プロパティはIndividualaと bのプロパティに関連します。 GemmaはhasSiblingを介してMatthewと関連があると推測することができます。 言い換えれば、もしMatthewにGemmmaという兄弟がいるなら、GemmmaはMatthewという兄弟がいるはずです。 別の言い方をすれば、プロパティはそれ自身の逆プロパティです。

f:id:William0105:20180729114754p:plain

⑤Reflexive properties(反射的特性)


プロパティは、そのプロパティがIndividualに関連している必要がある場合には、反射的であるということができます。この例としては:プロパティ Knowsを利用します。言い換えれば、ジョージはIndividualを知る必要があります。また、Individualジョージが他の人を知ることは可能です。 したがって、個人ジョージがプロパティknowsに沿ってIndividualとしてのSimonとの関連を保持することが可能です。

 

f:id:William0105:20180729124823p:plain

⑥Irreflexive properties(非反射的特性)

プロパティが非反射的であるケースとして、プロパティは、Individual aとbに関連するプロパティとして記述できます。 この例は、プロパティmotherOfになります。
アリスはmotherOfプロパティに沿ってボブに関連付けることができますが、アリスは自分自身の母親になることはできません。

 

f:id:William0105:20180729125540p:plain

 

 

 

⑦OWL restrictionsについては以下3つのカテゴリがある
  • Quantier Restrictions
  • Cardinality Restrictions
  • hasValue Restrictions.
 ⑧Restriction の例
  • 少なくとも1つのhasSibling を保有するIndividualのクラスを定義する
  • 男性に対して少なくとも1つのhasSibling を保有するIndividualの個体のクラス(兄弟)
  • 女性に対して少なくとも1つのhasSibling を保有するIndividualの個体のクラス(姉妹)
  • 3つ以上のhasSibling を保有するIndividualのクラスを定義する
  • 少なくとも1種類のモッツァレッラトッピングのメンバーであるIndividualに対してhasToppingの関連を持つもののクラス。
  • VegetableToppingのメンバーであるIndividualに対してhasToppingの関連を持つもののクラス。{ 野菜のトッピングだけのトッピングを持つIndividualのクラスです。
 ⑨Protégé – Reasoning
  •  “inferred ontology”計算機能 
  • ユーザーが定義したのは “asserted hierarchy”.

  Protégé は reasoner ( a plug-in)を起動することで “inferred hierarchy”を計算できる

  • 整合性チェックが可能

  当該individual がそのクラスに所属してよいかの確認を実施する

  • 留意事項: OWL は Open World Assumptionを利用している

  必要ならClosure Axiomsを利用する

 以上 

 

 

 

 

第2回 FIBO(Financial Industrial Business Ontology) <金融オントロジー>(その2)

今回はFIBOの概要について説明したいとおもいます。

 

1.FIBO概要

FIBO Primer ドキュメント抄訳

以下のリンクは全文

https://spec.edmcouncil.org/fibo/doc/20180331_FIBO_Primer.pdf

 

FIBOの主要部品は以下で提供されます。

FIBOの構成要素(第一回目から再掲)

FIBOとして提供される構成要素は以下。 

オントロジーとしては⑥である。オントロジーを記述したRDFをビジュアルにグラフィックで表現しているのが⑤.

-------------------------------

①Glossary
 FIBOの用語集、人が読める形式の相互参照辞書 (HTML、.csV形式および.xls形式)。
②データ辞書
 CSVとxls形式のFIBO用語のExcelデータ辞書
③ビジュアルオントロジー(V○WL)Webページ
 各オントロジーのWebキュメンテーション(VOWLの表記法を使用)
UMLモデル
 FIBOの機械や人が読める形式のUML図(今後のOMGUMLプロファイルとして“SMIF"を使用)で情報連携を表現するのためのセマンティックモデリング図。
⑤FIBO-Vocabulary
 FIBOにおける機械可読なタクソノミ(拡張SKOS - Standard Knowledge Organization System)
オントロジーファイル
 WebOntologyLanguage(○WL)の機械可読ファイルで、RDF等様々な形式で提供されている。
⑦LinkedDataフラグメント
 特定のFIBOトリプルを検索する方法、またはクエリを実行する方法
⑧schema.org
 FIBOから取得した用語で拡張された検索エンジンのWebページをマークアップするボキャブラリ群がURIで定義されているもの。

--------------------------

 

  • 以下それぞれの詳細

①Glossary FIBOの用語集、人が読める形式の相互参照辞書

Glossaryの中身としては以下 クラス、定義、シノニム、モデル生成定義がある。

・クラス:

    概念が識別されるプライマリーラベル。

・用語定義:

    専門家レビューにより作成された記述定義や場合により適切な機関または文書から提示された用語定義。

・同義語:

     異なるビジネス分野やマーケットなどで、同じ概念として知られているコンセプトに係る用語ラベル。

・モデル生成定義(Model-GeneratedDefinition):

     このコンセプトによって表現される概念の一部となるのに必要な条件設定する論理記述セット。これは以下のいずれか一つ:

     -「一種の…」は、このコンセプトがサブタイプである1つ以上のコンセプトと識別される。

     ‐「以下の必要条件を満たす有効な事象」は、ある事象がその一連の事象のメンバーであるために必要な事実。

      例えば、与えられたプロパティに対して少なくとも1つの値

      (特定の型の可能’性がある)を保持する必要がある。

 ②FIBOボキャブラリー(用語集)

f:id:William0105:20180715114502p:plain

 1)ウェブ検索

 2)スプレッドシートで作業するための.csvとしてダウンロード

 3)スプレッドシートで作業するための.xlsとしてダウンロード

③FIBOデータ辞書

Webから検索可能で、ダウンロード可能な.xls形式のデータ辞書。FIBOの各 クラスの概要と、それぞれに適用される操作フィールド(OWLの「プロパティ」と 呼ばれるデータ辞書単語を使用)を提供します。以下は、FIBOData DictionaryのダウンロードファイルサンプルとしてEquityの例です。ファイルを クリックすると、そのファイルがブラウザにダウンロードされます。

f:id:William0105:20180715114306p:plain

 

④Wizard for Documenting Ontologies(WIDOCO)

コンポーネントオントロジーごとに相互にリンクされたドキュメントのセットとして

 FIBOを表示し、オントロジーのクラスが表現された図を表示します。

VOWLという単語でクラスを検索すると以下のようなグラフチャートが表示されます。

f:id:William0105:20180715112541p:plain

UMLモデル図

FIBOは、UMLベースのセマンティックモデリング‘情報結合図(SMIF-The

SemanticModelingForlnfOrmationFederation)と呼ばれる標準的概念モデルを

利用しています。現在特定の製品として使用されているSMIFは、NoMagiclnc,

社のMagicDrawプラグインCameoConceptModeler(CCM)です。CCMは、OWLオントロジーの生成、インポート、編集が可能です。

f:id:William0105:20180715113240p:plain

 

⑥FIBOギャラリー(SKOS)

 ・用語、定義、およびリレーションを示す機械が可読な(lvIachineReadable)ファイルです。これらは拡張シンプルナレッジオーガニゼーションシステム(SKOS)形式で、FIBO内 のリレーションはSKOSコンセプトではなく標準"isRelatedTo"のサブプロパティーとし て表現されます。

 .FIBOキャラリの機械が可読なファイルは、通常用語集または語章ツールとして特徴

 付けられた一連のツール(Prot色g色等)に入力することを目的としています。これらのツー ルは、一般的に、ファイルの内容をビジネス面で表現するために使用されます。

⑦FIBOオントロジーファイル(OWL)

 これらは、WebOntologyLanguageを使用するツール(Protege等)にロードするこ

 とができ、次の形式で利用できます。

 ・RDFXMLrdf

 ・タートル(dtf)

 ・]SON-LD(jsonld)

 ・ONQuads(nqzip):オントロジーごとに名前付き

 

⑧schema.org
 FIBOから取得した用語で拡張された検索エンジンのWebページをマークアップするボキャブラリ群がURIで定義されているもの。

f:id:William0105:20180728112330p:plain

Fibo.schema.org v1.0 Proposal - Financial Industry Business Ontology Community Group

2.FIBO の構造について

 Foundationと呼ばれる基礎部分の上に Business Entities(企業体)やFinancial Business & Commerce (金融業務と商務)や商品群(ローンやデリバティブ等)が構成されている。

f:id:William0105:20180715114841p:plain

ーーーーーーーーーーーーーーー

FIBOの構成要素について以下の項目について説明します。

①FIBOの仕様のそれぞれの格納場所

②FIBO Foundation

③FIBO Business Entities

④Financial Business and Commerce (FBC):

⑤Indices and Indicators

ーーーーーーーーーーーーーーー

①FIBO仕様が置かれている格納場所

FoudationやBE(企業体)、ローン、デリバティブの商品群の格納先が異なっている。

以下それぞれの格納先。

f:id:William0105:20180715120033p:plain

*This website とは

https://spec.edmcouncil.org/fibo/widoco/master/latest/IND/InterestRates/AboutInterestRates/index-en.html

***********************************

FIBOの仕様に関する格納場所 (From the Wiki

● Foundations (FND):

https://www.omg.org/spec/EDMC-FIBO/FND/1.2/PDF

● Business Entities (BE):

https://www.omg.org/spec/EDMC-FIBO/BE/About-BE/

● Financial Business and Commerce (FBC):
https://www.omg.org/spec/EDMC-FIBO/FBC/1.0/PDF

● Indices and Indicators (IND)
 https://www.omg.org/spec/EDMC-FIBO/IND/1.0/PDF

***********************************

②FIBO Foundation

  Specification Documents

 https://www.omg.org/spec/EDMC-FIBO/FND/1.2/PDF

<全体の構成概要>

the FIBO Foundationsは以下図に示すようにメタデータ定義(以下3つ)を再利用してい

 ・ダブリンコアMetadataTermsStandard

  ・ The W3C Simple Knowledge OrganizationSystem(SKOS)

  ・The OMG Architecture Board's Specification Metadata Recommendation

ダブリンコアと異なり、RDFVocabularyとOWLは正式にインポートされているため、SKOSとthe OMG Specification Metadataは明示的にインポートされている。

f:id:William0105:20180716063209p:plain

 

FIBO Foundation (Specification Documentの抄訳)

 金融業に固有のものではなく、財務の概念を定義するのに必要な一般的な概念を定義するもの。FIBO Foudnation(基盤)には、いくつかの基本的な法律、契約、および組織概念が含まれています。他の業界標準で利用可能な概念は含まれてないが、場合によっては、住所や国の概念などの参考のために「プロキシ」概念が含まれています。これらを含める根拠は2つあります。

 ①金融業務上のコンセプトは、一般的に、契約、コミットメント、取引、組織など、より一般的で非財務的な概念を特化した物です。これらはFIBO Foundationsに含まれているため、より特化したものは別途FIBO仕様内に定義されることがあります。

 ②金融業のコンセプトの特性は、国、管轄区域、住所などのような非財務的な概念との関係の観点からしばしばフレームワークを構成する必要があります。これらはFIBO Foundationsに含まれているため、他のFIBO仕様のプロパティからこれらを参照することができます。

FIBOのコンセプトは、次の2つの定義を使用して文書化されています。

 ・Web OntoIogy Language(OWL)を使用して表現され、概念として構造化されたオントロジーの定義、および他との関連付けされたもの。

 ・金融業界の語彙を用い概念を表現する自然言語定義。

 

③FIBO Business Entities

定義:

  事業に従事するために商法に従って形成され管理される事業体アクティビティ

解説:

  様々な国の法制度で定義されたビジネスエンティティには多くの種類があります。これには、企業、協同組合、パートナーシップ、個人事業主、個人トレーダー、有限責任会社、特定の信託および信託会社などが含まれます。 定義は、国によって、または州によって異なります。米国、英国、EU内のより広く認識されているタイプでは、地域別にFIBOで定義されています。しかしながら、特定種類のエンティティの定義上で、同等と記述されているものであっても、実際は管轄毎に異なります。

http://enWikipediaorg/wiki/Types_of_businessentity

Adapted from: Barron's Dictionary of Business and EconomicsTerms,FifthEdition,2012

 

④Financial Business and Commerce (FBC):

モジュラーオントロジーアーキテクチャーに対する包括的なアプローチは、FIBO Foundations [Foundations]仕様書に記載されています。金融ビジネスと商業(FBC)の仕様は、そのモジュラーアプローチとアーキテクチャを活用しています。

各モジュールは以下3つです。

(1)金融商品(Financial Instrument)

(2)機能エンティティモジュール

  FIBO BE]の機能エンティティモジュールをさらに拡張する機能エンティティ

(3)Products and Services

  [Foundation]の商品およびサービスモジュールをさらに拡張する製品およびサービス

 FBCの基本構成

f:id:William0105:20180716121342p:plain




(1)金融商品(Financial Instrument)  金融商品の基本的な概念を定義するもの。

f:id:William0105:20180716122346p:plain

f:id:William0105:20180728114851p:plain

  Figure9-2 Definition of Financial Instrument

OntologyIRI は以下で定義されている。http://www.omg.org/spec/EDMCFIBO/FBC/FinancialInstruments/FinancialInstruments/

FBC Specificationより)

 

(2)機能エンティティモジュール

このモジュールには、フォームとは対照的に、その機能として定義されたエンティティを記述するオントロジーが含まれます。
金融機関(例えば、銀行、投資会社、保険会社)などのサービス提供者、政府の規制機関および登録機関、ならびに決済機関などの一部のプロセスでその機能に関して記載されているエンティティが含まれます。  

   Business Registries

   Financial Services Entities

   Registration Authorities

   Regulatory Agencies

 

 

(3)Products and Services

  Financial Products and Services

f:id:William0105:20180728115949p:plain

Figure 9.38 - Financial Products and Services Class Hierarchy

 

 

⑤Indices and Indicators (仕様書の抄訳)

仕様書に含まれる指標および指標タイプは、一般的な有価証券およびデリバティブ契約に見られる用語を反映することを意図しており、関連する契約条件で明示された詳細内容を反映することを意図している。この理由から、そのような単位を他の単位と区別するために役立つ場合を除き、その単位が公表元によって配布される手法の内容は含まれていません。ビジネスセマンティクスの一連の仕様としてのFIBOの性質に沿って、例えば、特定の経済指標が、ある経済状態の指標を与えるケースがある。たとえそれを主張する特性がいくつかの操作上のユースケース

この仕様のビジネス上のスコープは、金融業界の企業、規制当局、およびその他の業界参加者が金融サービス分野に関連すると考える市場および経済指標の範囲についてすべての用語です。
この仕様のスコープは、
•市場で公開された金利と経済パフォーマンスについて
金利(貸出金利、銀行間金利、基準金利)、
•通貨間の為替レート、
•経済指標(インフレ率、国内総生産GDP)、失業率)についての経済指標
•FIBO-INDの範囲内であるが、本仕様書には含まれていないが、
発行済み有価証券で組成されたバスケットによる市場インデックス、リスク感応度の高い債務バスケットに基づく信用インデックスなどが含まれる。

f:id:William0105:20180728153047p:plain

 Figure 9.1 - Indicators Publication Concepts

次回はProtege等のOntology Managementに関するツールを説明しようと思います。


william0105.hatenablog.com

 

第1回 FIBO(Financial Industrial Business Ontology) <金融オントロジー>

最近FIBOに興味をもち、Ontologyとはなんぞ?から調べ始めたところだんだんはまっていってしまい、Youtubeもあわせて記事や情報を集めるようになりました。
少しずつ紹介できたらと思います。

FIBOとは

 金融に係る用語・概念を定義したVocabulary(用語集)、RDF(後述)、Graph概念図等のデータの集合体を総称する。
 Ontology自体が普遍的な共通言語を構築することを目指しているため、「金融業界で共有可能な言語」を標準化したものをいう。金融機関に関わらず誰が話しても共通した認識を持つことができる、IT化された「金融用語辞典」と考えるとわかりやすい。
 金融用語は特に金融機関が異なると違う言葉を使う傾向があり、業界標準化が遅れている。例えば稟議書の表書き(役員がハンコを押す一枚紙)をある銀行は 「稟議サマリー」というし、ある銀行は「かがみ」(鑑みるになぞらえている?)というように企業の成り立ちや経緯によって方言が強い。

FIBOを提唱する団体

 EDMC(Enterprise data management council)
 米銀WelsFargoや米国証券会社のGoldmanSacsが中心となって設立した団体。正式名称はThe Enterprise Data management Councilで2005年に金融機関におけるデータ管理実務の発展を目的にニューヨークで設立された。実質的な業界標準である「データ管理評価モデル:Data Management Capability Assessment Model(DCAM)」や「金融商品の体系モデル:Financial Industry Business Ontology(FIBO)」を提唱している。

https://edmcouncil.org/

Ontologyについて

Ontologyとは(Wikiペディアより)

オントロジー (情報科学) - Wikipedia

 コンピュータ科学と情報科学において、オントロジー(概念体系)は、知識をあるドメイン内の概念と概念間の関係のセットとみなしたときの形式的表現である。そのドメイン内のエンティティ(実体)を理由付けしたり、ドメインを記述するのに使われる。哲学用語の(オントロジー)とは立ち位置が異なる。
情報科学においては、対象世界(知識領域)をある視点でみたときに立ち現われてくる構成要素(概念)を明示的に表現し、それらの関係を体系的に記述したもののこと。セマンティックウェブでは概念や意味を共有し、コンピュータが文書の意味を理解したり、情報を再利用したりするための基盤機構として構築される語彙(ごい)のセットをいう。

Ontologyの構成要素

セマンティック

基本的にセマンティックとは、2つのエンティティ(ユーザー、場所、モノ)を関係性に基づいてリンクし、トリプル(3つ組)を構成するデー タモデルです。リンクすることでトリプルはグラフを形成します。グラフには階層構造は無く、コンピューターにも理解でき、新たなファク トを推論できます。トリプル記述の標準言語はRDF(Resource Description Framework)であり、標準クエリ言語はSPARQLです。

Subject(主語)、Predicate(述語)、Object(目的語)という3つの部品の組合せでデータベースに格納します。そのためトリプルと呼ばれます。

f:id:William0105:20180716055053p:plain

RDF (Wikiペディアより)

https://ja.wikipedia.org/wiki/RDF

Resource Description Framework (リソース・ディスクリプション・フレームワークRDF) は、ウェブ上にあるリソースのメタデータを記述するための枠組みであり、W3Cにより1999年2月に規格化されている(W3C:REC-rdf-syntax-19990222)[1]、邦訳:電子ネットワーク協議会[2])。RDFは、セマンティック・ウェブを実現するための技術的な構成要素の1つとなっており、代表例としてLinked Open Dataがある。
トリプル[編集]
RDFメタデータのモデルでは、主語(英: subject)述語(predicate)目的語(object)の3つの要素でリソースに関する関係情報を表現し、これをトリプル(triple)と呼ぶ。主語は記述対象のリソースである。述語は主語の特徴や主語と目的語との関係を示す。目的語は主語との関係のある物や述語の値である。

Ontologyが必要なわけ

下記図で表されているように、RDBRDFに返還する際に2つのエンティティーを結びつけるためにPredicateを関連付けてRDF化する。その際に一つ一つのRDFにタグを付けるのは非常に煩雑なのでOntologyをテンプレートとして利用する。テンプレートがあればいちいちPredicateを添付する必要がない。NOSQL等にデータをRDF形式で投入する場合にタグ付け処理をしないとトリプル形式で保存することができない。
以下その際の処理イメージ。

f:id:William0105:20180715101834p:plain

オントロジーをテンプレートとして利用すると個別データを格納する際に必要なオントロジーを指定するだけで間のPredicate(例では担当する、報告する、従事する、所在する等)をそれぞれ割り当てが一回の処理で可能となる。

f:id:William0105:20180715101719p:plain

FIBO概要

FIBOの利点

①旧来の2次元のデータ構造からN次元のデータ構造となるため検索や照会が極めて楽。
N次元のデータ構造のためどのClassからも検索が可能。Subject, Predicate,Objectのどの面からも紹介が可能となる
f:id:William0105:20180715101834p:plain
②FIBOを利用することで様々な種類のデータのチェック(Validation)と調和(Harmonization)の確保が可能
f:id:William0105:20180716110103p:plain(EDM Council資料 FIBO™ The Next Generation Data Standard For The Financial Industry より)
③推論の利用が可能
 下図の例ではLIBOR金利を利用しているLEGはFloating Interestと推論が可能。
 f:id:William0105:20180716112121p:plain (EDM Council資料 FIBO™ The Next Generation Data Standard For The Financial Industry より)

FIBOのスコープ

FIBOの対象業務は以下の通り。
Foundationについては日付やDocument等の金融とは別に本来のビジネスに係るような基礎情報を定義した物である。FIBOの基盤情報。


http://www.hypercube.co.uk/edmcouncil/fibostatus.html

f:id:William0105:20180715061148p:plain
FIBO 対象

f:id:William0105:20180715060925p:plain
FIBOのスコープ


FIBOのスコープ概要

①Foundations
 さまざまな非金融分野の基盤セマンティクス。地理的、時間的な対象の表現。時間の経過とともに成熟するにつれて、業界標準のセマンティクスと整合することになります。
②Business Entities
 事業および法人、事業体の種類、所有権の階層および事業体間のコントロールに関する条項。LEIに必要な用語を含む
③Securities Reference Terms
 有価証券参照データに記載されている条件、つまり時間の経過とともに大きく変化しない(または個別の企業イベントのみに応じて変化する)条項です。
④Derivatives
 金融商品自体を表し、基礎となる金融商品や変数に基づいています。OTCおよび上場取引デリバティブを含みます。
⑤Loans
 企業および個人の両方に対する貸出に関する条件。クレジットファシリティーなどの基礎的なコンセプトを含みます。
⑥Market Data
 変動または時間依存の要素を含む有価証券または金融市場に関する条件。
 価格、利回り、有価証券の分析、格付けやステータスなどのその他の時間や日付の影響を受ける条件を含みます。
⑦Indices&Indicators
 金利、経済指標、取引インデックス、信用指標を定義する用語
⑧Funds
 集合投資ビークルまたはファンド。ファンド事業体、ファンドの持分を保有する手段端ファンドに関与する事業体に関する用語。
 ファンドのポートフオリオ条件についての条項を含む金融商品
⑨Portfolios and Holdings
特定の事業体のポートフオリオ、保有またはポジションについて、保有・報告される可能性のある資産の全範囲。
⑩Corporate Actions
 企業イベントおよび企業行動のための関連するメッセージを含むイベントおよびアクションの条項
⑪Payments
 取引条件と取引の決済面についての条項。 これは将来のスコープであり、まだ完全には説明されていません。

FIBOの構成要素

FIBOとして提供される構成要素は以下のもので、オントロジーとしては⑥である。オントロジーを記述したRDFをビジュアルにグラフィックで表現しているのが⑤.

ボキャブラリー(用語集)
 FIBOの用語集、人が読める形式の相互参照辞書 (HTML、.csV形式および.xls形式)。
②データ辞書
 CSVとxls形式のFIBO用語のExcelデータ辞書
③ビジュアルオントロジー(V○WL)Webページ
 各オントロジーのWebキュメンテーション(VOWLの表記法を使用)
UMLモデル
 FIBOの機械や人が読める形式のUML図(今後のOMGUMLプロファイルとして“SMIF"を使用)で情報連携を表現するのためのセマンティックモデリング図。
⑤FIBO-Vocabulary
 FIB○における機械可読なタクソノミ(拡張SKOS - Standard Knowledge Organization System)
オントロジーファイル
 WebOntologyLanguage(○WL)の機械可読ファイルで、RDF等様々な形式で提供されている。
⑦LinkedDataフラグメント
 特定のFIBOトリプルを検索する方法、またはクエリを実行する方法
schema.org
 FIBOから取得した用語で拡張された検索エンジンのWebページをマークアップするボキャブラリ群がURIで定義されているもの。




次回はFIBOの導入にあたって最低限必要なツールの説明とFIBO構成要素の説明をさらにしたいと思います。

william0105.hatenablog.com
william0105.hatenablog.com



<参考文献・資料>
Demystifying Financial Industry Semantics March 13 2012のスライド
https://www.omg.org/hot-topics/documents/finance/1110_Bennett.pdf#search=%27FIBO+ontology%27

FIBO Primer
 https://spec.edmcouncil.org/fibo/doc/20180331_FIBO_Primer.pdf

FIBO™ The Next Generation Data Standard For The Financial Industry
www.youtube.com