セマンティクス
グループ化メカニズムは、セマンティックステートメントをインクに割り当てる際に使用する中心構造です。 ほとんどの場合、単一のインクストロークに意味のある情報は含まれず、図1でs8、s9、s10、およびs11が*"digital"という単語を形成するように、ストロークの集合またはグループのみが意味を持ちます。 これらのグループは、インクストロークと関連センサーデータのノードの集合を保持する業界標準のツリーデータ構造で処理されます。 たとえば図2*では、g4が単語「hello」、g5が「world」、そしてg6が句読記号「!」です。 これらはg2で組み合わされて、段落の一部であるテキスト行を表します。 同様の構造化メカニズムはリッチテキスト編集で使用されており、ここではインクドキュメントに適用されています。
図1:グループを有するインクドキュメントの例
図2:グループの階層
インクグループは次のいずれかの要素を組み合わせています。
- センサーデータシーケンス
- インクパス
- のチャンクRAW センサーデータ または
- インクパスのチャンク
当社のUniversal Ink Data formatでは、この基本概念を利用して、インクグループの意味上の内容を保存しています。 図3は、セマンティッ クステートメントがインクグループとどのように結び付いているのかを示しています。図1で紹介した例では、次のセマンティックステートメントを作成できます。
- g2 - is_a TEXTLINE
- g2 - has_text "hello world!"
- g2 - is http://dbpedia.org/page/%22Hello,_World!%22_program
その結果、アプリケーションがこの意味的に強化されたインクを受け取ってインクドキュメントの内容を理解することができます。
図3:グループに割り当てられたセマンティクスの例
Ink Modelは、階層構造のパスや生の入力データフレームの構造を表す論理ツリー(InkTree)を保持する場合があります。 このツリーは、メインインクツリーまたはプライマリインクツリーとも呼ばれます。
InkTree
InkTreeは、インクノードと呼ばれるノードの規則的な論理ツリーとして定義されます。(InkNode). これは、パスや生の入力データフレームの階層構造を表すために使用されます。
メモ:
単一のInkTreeはその階層内のPathまたはSensorDataオブジェクトのいずれかを参照する場合があります。 インクツリーインスタンスは、そのルートノードによって定義されます(詳 細はInkNodeの定義を参照)。そのため、InkTreeインスタンスはを使用してシリアル化されます。protobuf message Node.
InkNode
インクツリーの論理ノードです。 クラス階層において、InkNodeは次のクラスに特化された抽象クラスとみなす必要があります。
- PathNode - Path Repositoryによって提供される、パスへの参照を保持する末端ノード
- ensorDataNode - SensorData Repositoryによって提供される、SensorDataインスタンスへの参照を保持する末端ノード
- InkGroupNode (abstract) - 他のインクノードのグループ化に使用される非末端ノードで、以下に特化されます。
- PathGroupNode - PathNodeおよび/またはPathGroupNodeタイプのインクノードのグループ化に使用される非末端ノード
- SensorDataNode - SensorDataNodeおよび/またはSensorDataGroupNodeタイプのインクノードのグループ化に使用される非末端ノード
メモ:
InkNode識別子は、InkModelの範囲で一意です。 InkNodeインスタンスは、protobuf message Node.を使用してシリアル化されます。
また、Ink Modelは、名前付きインクツリーの集合として保存される一連のインクデータビュー(InkView)を保持する場合もあります。 これらのビューは、たとえばテキストセグメント化ビューや名前付きエンティティ認識ビューなど、イ ンクモデルのさまざまな側面を表示します。
InkView
InkViewは、名前付きインクツリーとして定義されます。
メモ:
InkViewのインスタンス名は、InkModelの範囲で一意であり、URIとしてエンコードされます。既知のビュー定義については、セクションC 3「一般的なInkModelビュー」を参照してください。 Viewインスタンスは、protobuf message View.
Knowledge Graphを使用してシリアル化されます。
Ink Model仕様は、ink modelのさまざまなパーツ間の関係や、インクモデルのパーツと外部エンティティとの関係を記述する標準的な仕組みを提供します。 Ink Modelは、本ドキュメント内で"Knowledge Graph"と呼ばれるRDFに準拠したトリプルストアのインスタンスを保持します。 このトリプルストアは、RDF仕様で定義される主語、述語、および目的語間の関係をエンコードするセマンティックトリプルを保持します。
Knowledge Graphを使用すると、テキストセグメント化ビュー、名前付きエンティティ認識ビューなど、インクモデルのさまざまな側面を記述するための追加のメタデータを用いて、インクモデルに含まれるイン クビューのノードに注釈を付けることができます。
Knowledge GraphRDFに準拠したトリプルストアであるは、一連のSemanticTripleインスタンスによって表されます。
メモ:
InkModelに含まれる論理ツリーのノードは、セクションvocabulary.のガイドラインに従い、トリプルストアのURIsによって識別されます。 Knowledge Graphインスタンスは、protobufメッセージTripleStore.
SemanticTripleを使用してシリアル化されます。
RDFに準拠したトリプルは下記で構成されます。
- 主語
- 述語
- 目的語
RDFデータモデルは、従来の概念モデリングのアプローチ(エンティティ関係やクラス図など)に類似しており、 トリプルとして知られる主語–述語–目的語という形式の表現でリソース(特にウェブリソース)に関するステートメントを作成するという考え方に基づいています。 主語はリソースを表し、トリプルの属性としても知られる述語はリソースの特性または側面を表し、主語と目的語の関係を表現します。
メモ:
Knowledge Graphインスタンスは、protobuf message SemanticTripleを使用してシリアル化されます。