自然言語オントロジーエディター

CeBITで、ポーランドの企業Cognitumの代表者と会いました。CognitumはOntorionセマンティックフレームワークを開発しています。 このフレームワークの最も重要な部分は、オントロジーエディターFluent Editorです 。これは、私にとって素晴らしいレビューに値するように思えました。 Fluent Editorの主な利点は、OWL構文についてまったく知らない人向けにOWLオントロジーを作成できることです(ただし、その概念とモデリング情報構造についてはまだ把握している必要があります)。 オントロジーは、自然言語である統制英語で作成されます。つまり、特定のルールと制限が適用される平易な英語で作成されます。 この言語の主な構文機能の概要を説明します。その主な式がOWLに保存されるフォームを見ることを忘れないでください。



例として、特定の会社のビジネスに関する情報を含むオントロジーのコンパイルを始めましょう。 この会社には、あらゆる商業組織と同様に、サプライヤーとバイヤーがいます。 どちらも組織であり、同じ組織がサプライヤーとバイヤーの両方になることができます。 制御された英語で対応する式を記述します。



すべての顧客組織です。

すべてのサプライヤー組織です。



キーワードFluent Editorは青色で強調表示されていますが、私は太字で強調表示しています。 入力プロセス中に、エディターは文法的に正しくない表現についてヒントを与え、警告します。

組織、サプライヤ、バイヤーがクラスであるという事実を明示的に宣言する必要はないことに注意してください。編集者自身がコンテキストからそれを推測します。 クラスの準備ができました。個々のエンティティを宣言できるようになりました。



アルファ顧客です。

アルファサプライヤーです。

ベータ版顧客です。



編集者は、アルファとベータが「サプライヤー」と「顧客」のクラスに属する個々のエンティティであることを理解します。

オントロジーをOWLファイルに保存すると、次のようになります:



<SubClassOf> <Class IRI="Customer" /> <Class IRI="Organization" /> </SubClassOf> <SubClassOf> <Class IRI="Supplier" /> <Class IRI="Organization" /> </SubClassOf> <ClassAssertion> <Class IRI="Customer" /> <NamedIndividual IRI="Alpha" /> </ClassAssertion> <ClassAssertion> <Class IRI="Supplier" /> <NamedIndividual IRI="Alpha" /> </ClassAssertion> <ClassAssertion> <Class IRI="Customer" /> <NamedIndividual IRI="Beta" /> </ClassAssertion>
      
      







サプライヤーは当社に材料とスペアパーツを供給し、顧客は当社の製品を購入します。 適切なクラスを定義します。



交換可能な部品 すべて製品です。

すべてのサプライヤーは、少なくとも1つの製品を供給ます。

すべての顧客が少なくとも1つの製品を購入ます。



ご覧のように、商品とスペアパーツの役割に応じて「サプライヤー」と「バイヤー」の役割を定義することができました。 OWLでは、上記のコードの2行目は次のように反映されます:



  <SubClassOf> <Class IRI="Supplier" /> <ObjectMinCardinality cardinality="1"> <ObjectProperty IRI="supplies" /> <Class IRI="Product" /> </ObjectMinCardinality> </SubClassOf>
      
      







ここで、特定の製品とスペアパーツを定義し、請負業者との重要な関係がどのように構築されるかについて説明します。



オイル製品です。

ベータ版はオイルを購入します。

ポンプ交換可能な部品です。

アルファはポンプを供給します。



書かれた内容に混乱しないように、Fluent Editorは分類法ツリーを示します。



分類ツリー



エディター自体がさまざまな形式の動詞を翻訳することに注意してください。 テキストではサプライを記述し、分類ツリーでは対応する用語をサプライと呼びます。 彼は不規則動詞の友達でもあります。

Controlled English構文により、クラス間のさまざまな制約と関係を定義できます。



交換可能な部品である すべての単一のものは、 少なくとも1つのサプライヤーによって供給されます。

if-and-only-if-itがサプライヤであり 交換可能な部品提供するだけのもの であり、組織です。

何かは、 もしそれ唯一の場合 製品購入するだけの顧客であり、組織です。



属性を追加します。 組織には名前、TINなどがあります。 2つの属性を定義し、組織「Alpha」の値を示します。 もちろん、値はリテラルになります。



すべての組織は、-name nothing-but(some-string-value)を持っています

すべての組織には、税金番号がありますが(整数値)があります。

アルファは「Alpha、LLC」に等しい名前を持ちます。

アルファの納税者番号 6671123456です。



OWLでは、これらのフレーズは次のように翻訳されます:



  <SubClassOf> <Class IRI="Organization" /> <DataAllValuesFrom> <DataProperty IRI="hasName" /> <Datatype abbreviatedIRI="xsd:string" /> </DataAllValuesFrom> </SubClassOf> <ClassAssertion> <DataSomeValuesFrom> <DataProperty IRI="hasName" /> <DataOneOf> <Literal datatypeIRI="http://www.w3.org/2001/XMLSchema#string">Alpha, LLC</Literal> </DataOneOf> </DataSomeValuesFrom> <NamedIndividual IRI="Alpha" /> </ClassAssertion>
      
      







もちろん、Controlled English構文の可能性はこれに限定されませんが、私たちのタスクはエディターの利点の短いレビューに過ぎません。 構文の詳細な説明は、エディターのドキュメントに記載されています。



Hermitはエディターに組み込まれているため、オントロジーに含まれる情報について「質問する」ことができます。 たとえば、この例では、Alphaオブジェクトとは何かを知ることができます。



アルファとは



ハーミットは答えます:アルファは顧客、サプライヤー、組織です。



Ontorionフレームワークの他のコンポーネントの機能も同様に興味深いものですが、レビューの範囲を超えています。

主なものは、オントロジーを作成するための素晴らしいアクセス可能なツールを得たことです。これは、TopBraid ComposerやProtegeよりもITの専門家ではない人にはるかに適しています。 しかし、実際には、オントロジーに含まれるべき用語に関する情報は、まさにそのような人々、つまり、情報技術ではなく、管理、生産の分野の専門家によって所有されています。



All Articles