概要
UNLシステムは言語資源、言語資源を処理するソフトウェア、および言語資源の開発やその処理ソフトウェアの維持や運用を行うサポートツールの3つの主要コンポーネントから構成される。言語資源は言語独立なものと言語依存なものに分かれる。各言語に共通な言葉の概念や概念間の関係に関する言語知識(linguistic knowledge)は言語独立なものとして共通のUNLオントロジー(UNL知識ベース)に持たせる。言語依存な言語資源、例えば言語処理用単語辞書や文法規則は、言語処理ソフトウェアとともに各ランゲージサーバーに置かれる。ランゲージサーバーはインターネットを通してUNLを介し相互に接続され運用される。UNLドキュメントの作成を含む言語資源の開発を行うサポートツールはユーザのコンピュータで使用可能であり、またユーザが作られたUNLドキュメントを検証するためのツールはインターネット上からでもローカルのコンピュータからでも使用可能である。これらのツールはランゲージサーバーと通信しながら使用される。各言語に共通な言語知識を保持するUNLオントロジーおよび概念(UW)と各言語のリンクを与えるUW辞書の開発や運用を行うサポートツール(UWゲートなど)はUNLセンターが管理するサーバーに置かれ、インターネットを通してどこからもアクセスできる。
このようなUNLシステムの構成は初めてUNLの役目を果たせることを可能にする。すなわち、このUNLシステムは自然言語からUNL表現を作成することを可能にするだけでなく、このようなUNL表現へのアクセスも可能にする。
自然言語とUNL表現の変換メカニズム
図1はUNLシステムにおける自然言語とUNL表現はどのように変換が行われるかのメカニズムを示す。黒線矢印はデータの流れを表し、破線矢印はアクセスを表す。
エンコンバーターとデコンバーターはUNLシステムの中核である。エンコンバーターは自然言語をUNL表現に変換するソフトウェアである。ユニバーサル・パーサー(UP)はエンコンバーターの特別バージョンでタグ付けのテキストを入力対象とし、文法属性を使用せずにUW辞書を用いてUNL表現を作りだす。エンコンバーターによって作られるUNL表現はUNL検証器で検証され合格したものはUNLドキュメントの形で保存される。デコンバーターはUNL表現を自然言語に変換するソフトウェアである。エンコンバーターとデコンバーターは両方とも対象言語の単語辞書と文法規則を用いて変換を行う。エンコンバーターやデコンバーターでUNLオントロジーや共起関係辞書を参照するかどうかがは選択できる。

図1 UNLシステムの変換メカニズム
図2ではUNLシステムの構成(ハイライト部分)とどのように支援ツールやUNLアプリケーションと連結しているかを示している。

図2 UNLシステムの構成とUNLアプリケーションとの関係
図1と2の各構成要素は以下の通りである。UNLエクスプローラーやUNLプラットフォームに関してはUNLアプリケーションにて説明される。
エンコンバーター
エンコンバーターは自然言語をUNL表現に変換するソフトウェアである。
エンコンバーターは形態素解析、構文解析と意味解析を同時に行う言語に依存しないパーサーである。これは、形態素解析において、構文的なあるいは意味的な情報を利用しなければ、形態素解析のあいまい性を完全に解消することはできなく、また、構文解析においても、意味的な情報を用いなければ、そのあいまい性を完全に消することができないからである。
エンコンバーターは解析規則と単語辞書を用いる。その動作は基本的に解析規則に基づく。このエンコンバーターは言語別の単語辞書と解析規則が与えられることでさまざまな自然言語を解析することができる。
エンコンバーターの動作は次の通りである。入力文の文字列は先頭(左)から右へスキャンされていく。入力文字列の先頭とマッチングするすべての形態素は単語辞書から引き出され、形態素候補となる。形態素候補は優先度でソートされる。単語決定は形態素候補に解析ルールを適用することによって行われる。構文解析や意味解析は確定された形態素に対して解析ルールを適用して入力文の構文木と意味ネットワークを作り上げていく。このプロセスは入力文の文字列がすべて処理され、かつ一つの完全な意味ネットワークが完成できるまで続けられる。結果として意味ネットワークがUNL表現の形式で出力される。
エンコンバーターはUNLオントロジーを参照する機能を持っている。UNLオントロジーは多義語から適切なUWを選択することやUW間における適切な関係を選択するのに役立つ。
図3はエンコンバーターの構成を示す。”A”はエンコンバーターの解析窓を、”C”は条件窓をそれぞれ示す。エンコンバーターでは解析窓を通してノードリストに対して操作を行う。条件窓はルールを適応するための条件をチェックするのに用いられる。初期状態ではノードリストには入力文の文字列からなるノードだけが存在する。文解析終了時には、意味ネットワークとともに構文木が作られ、ルートノードのみがノードリストに残される。

図3 エンコンバーターの構成
エンコンバーターに関して詳しくは仕様書を参照されたい: http://www.undl.org/unlsys/ds.html
デコンバーター
デコンバーターはUNL表現を自然言語に変換するソフトウェアである。
デコンバーターは構文生成と形態素生成が同時にできる言語に依存しない汎用生成システムである。それは言語別の生成規則と単語辞書が与えられることによってUNL表現をさまざまな自然言語に変換することができる。単語辞書にはUNL表現に含まれるUWに対応する単語の表記およびその単語の振る舞いを表わす文法属性が記述されている。生成規則は入力のUNL表現の情報と単語辞書に記述されている文法属性を用いてどう文を構築していくかを記述するものである。デコンバーターは生成規則の記述に従って意味ネットワークのUNL表現から対象言語文を作り出す。
より自然な言い回しや表現を生成するために共起関係に基づく単語選択を同時に行える。このために対象言語の共起関係辞書が必要となる。また、特定の概念(UW)を表す言葉が存在しない言語の生成においてはそれにとってかわれるより一般的な(上位)概念を求めるのにUNLオントロジーを用いてできる。この場合、デコンバーターはその上位概念を表す単語を単語辞書から調べ、それを使って文を生成する。
デコンバーターの動作は次の通りである。まずは二項関係セットのUNL表現をノードネットと呼ばれるハイパーノードを有する有向グラフ構造に変換する。ノードネットのルートノードはエントリーノードと呼ばれ、文のヘッド(例えば本動詞)を表す。UNL表現のデコンバージョンはノードネットのノードに生成規則を適用することで行われる。これはエントリーノードから始め、各ノードの適切な単語を見つけ、対象言語の単語列(文法的に語順が正しい単語のリスト)を作り出す。この処理において、構文構造はシンタックス規則を適用して決定され、形態素は形態素規則を適用して生成される。デコンバージョン処理はすべてのノードについて単語が見つけ、かつターゲット文を構成する単語列を完成したときに終了する。
図4はデコンバーターの構成を示す。”G”はデコンバーターの生成窓を、”C”は条件窓をそれぞれ示す。デコンバーターでは生成窓を通してノードリストに対して操作を行う。条件窓はルールを適応するための条件をチェックするのに用いられる。初期状態では、エンコンバーターと対照的に、ノードリストにはUNL表現のエントリーノードが存在する。文生成終了時には、ノードリストはノードネットから変換された形態素列からなり、一つの形態素は一つのノードとして、目標言語文を構成する。

図4 デコンバーターの構成
デコンバーターに関して詳しくは仕様書を参照されたい:
http://www.undl.org/unlsys/ds.html
辞書ビルダー
単語辞書ビルダー(略称:DicBld)はテキスト形式の辞書エントリーをIBAM(Index Based Access Method)形式の辞書ファイルに変換する。IBAMは高速検索を行うために開発したデータ形式である。UNLシステムでは、すべての辞書データ、例えば単語辞書、UNLオントロジー、KCICなどはIBAM形式で格納されている。DicBldの入力である単語辞書のテキストデータの記述形式は下記の「単語辞書」項目にて説明する。図5はDicBldの構成を示す。

図5 DicBldの構成
単語辞書
単語辞書は言語ごとに用意される。各言語の単語に関するすべての情報は単語辞書に格納される。単語辞書の各エントリーは見出し、UWおよび文法属性の三つの部分から構成される。見出しは自然言語の文を構成する単語か形態素の表層である。この見出し情報は文解析においては入力文からUNL表現を作るときに適切なUWを得るためのトリガーとして使用され、文生成においてはUNL表現に対応する自然言語文を形成する。UWは見出しの意味を表し、文解析の結果としてUNL表現に現れ、文生成においてはUNL表現から自然言語の文を形成する適切な単語や形態素を得るのにトリガーとして使用される。文法属性は見出しの単語や形態素が文の中でどのような振る舞いをするのかを定める。この文法属性の情報を使って文解析規則と文生成規則が記述される。
単語辞書エントリーのテキストデータの記述形式は以下の通りである。1エントリーは1行からなり、終わりにはセミコロンを置く。<gFLG,FRE,PRI>は省略可能。
[HW]{ID} “UW” (ATTR,ATTR,…) <gFLG,FRE,PRI>;
HW | 自然言語の語や形態素 |
ID | 管理用ID、空欄可 |
UW | UW、必要ない形態素では空欄可 |
ATTR | 文法属性コード |
FLG | 言語フラグ、ASCIIコード1文字 |
FRE | 頻度、EnCoで参照される |
PRI | 優先度、DeCoで参照される |
英語単語辞書エントリー例:
[a]{} "" (ART,IART) <E,1,1>;
[book]{} "book(icl>document)" (BA,C,N,PLS) <E,1,1>;
[buy]{} "buy(icl>purchase(agt>thing,obj>thing))" (3SGS,AGT.S,BA,INGING,IRG,OBJ.DO,V,VDO,VDON) <E,1,1>;
[bought]{} "buy(icl>purchase(agt>thing,obj>thing))" (AGT.S,ED,EN,IRG,OBJ.DO,V,VDO,VDON) <E,1,1>;
[I]{} "I(icl>person)" (1SG,HPRON,PRON,SUBJ) <E,1,1>;
[me]{} "I(icl>person)" (1SG,HPRON,OBJ,PRON) <E,1,1>;
|
文法規則
デコンバーターは文生成規則に基づいて動作し、同様にエンコンバーターは文解析規則に基づいて動作する。文解析規則と文生成規則のどちらも対象言語別に用意されなければならない。文解析と文生成の動作はこのような文法規則によって制御される。このいずれの文法規則も、文法規則で定義されるか単語辞書で与えられる文法属性のいずれかあるいは両方を用いて、どういった条件でどういう操作を行うかを記述できるように設計されている。このために、対象言語のための文解析あるいは文生成規則を用意することができ、エンコンバーターやデコンバーターがその言語を処理することは可能となる。
文法規則の適用は優先順位を持ち、バックトラックもできる。エンコンバーターやデコンバーターが非文法的あるいは非論理的な状況に出くわしたとき、文法規則はその処理をバックトラックさせることができる。バックトラックは以前の、次の単語や形態素候補を選べるか次の優先順位を持つ文法規則が適用できるかの状態に戻る。この状態で再度単語選択するかまたは次の文法規則を適用して処理を先へ進める。
文解析や生成においてどういった操作を行うかはルールのタイプとルールの種類によって与えられる。ルールの種類としては以下の三つがある。
書き換えルール
<TYPE> (<PRE>)… {<LNODE>} {<RNODE>} (<SUF>)… P<PRI>;
左挿入ルール
<TYPE> (<PRE>)… “<LNODE>” (<MID>)… {<RNODE>} (<SUF>)… P<PRI>;
右挿入ルール
<TYPE> (<PRE>)… {<LNODE>} (<MID>)… “<RNODE>” (<SUF>)… P<PRI>;
<TYPE> |
ルールタイプ |
<LNODE>
<RNODE> |
::= <COND>:<ACTION>:<RELATION>:<ROLE> |
<PRE>
<MID>
<SUF> |
::= <COND>、省略可能 |
<COND> |
ルール適用するための条件 |
<ACTION> |
ルール適用後に行われる文法規則の変更 |
<RELATION> |
<LNODE>と<RNODE>間の意味関係(UNLの関係子) |
<ROLE> |
<LNODE>と<RNODE>間の共起関係 |
<PRI> |
ルールの優先度 |
文法規則に関して詳しくはそれぞれの仕様書を参照されたい:
http://www.undl.org/unlsys/ds.html
UNLドキュメント
UNLドキュメントに関してUNL表現のUNLドキュメントを参照されたい。
UNLKCIC
UNLKCICはUNL表現のコンテクストにおけるキーコンセプトに関する情報である。それはUNL表現のすべての二項関係についてそれぞれ作られ、その集まりである。このようなUNLKCICはUNLドキュメントについて情報検索を行うときに用いられる。UNLKCICと通して、UNLオントロジーのUWはそれが含まれるUNLドキュメントと連結されている。その結果として、UNLドキュメントに含まれるすべてのUWはそれが含まれる他のすべてのUNLドキュメントとも連結されることになる。このUNLドキュメントとUNLドキュメントにわたるUW間の相互連結を実現するためには、すべてのUWはUNLオントロジーに登録する必要がある。
UW辞書
UW辞書にはUWと対応の自然言語の単語のペアが格納されている。このUW辞書を通して、異なる言語の同意語や同義語はUWを介して連結され、コンピュータのためにも人々のためにも多言語辞書として使用できる。UW辞書はUWゲートやUNLエクスプローラーで使用され、UWや自然言語のいずれで検索できる。
UWゲート
UWゲートはインターネット上でUNLオントロジーやUW辞書をアクセスする手段を提供する。UWゲートを使って人々はUW、UW間の関係、同義語などを検索できる。権利を与えられた開発者は、新しいUWを定義したり訳語を登録したりすることができる。新しいUWはUWゲートのガイダンスに従ってUWシステムにおいて適切な場所に登録され、訳語の登録は登録済みのUWに対して行われる。このようなUWゲートはオンライン多言語辞書として使用できる。
UWゲートの主な特徴は意味共起関係検索機能である。それはUNLオントロジーに対して次の三つの方法で行うことができる。それらは二つのUW間にある関係が成り立つかどうかを問い合わせることと、あるUWとある関係を持てるUWは何かを問い合わせること、二つのUWにはどんな関係が可能かを問い合わせることである。これらの検索はすべてUWシステムの属性継承のメカニズムを利用して行われる。
UWゲートは下記URLで使うことができる:
http://www.undl.org/uwgate/
ユニバーサルパーサー
ユニバーサルパーサーは言語依存な文法情報を用いずに言語に依存しないアノテーションだけで文からUNL表現を作る。ユニバーサルパーサーの入力文はUNLアノテーションで注釈されなければならない。ユニバーサルパーサーはUW辞書とユニバーサルパーサー規則を用いて注釈された文を解析する。
ユニバーサルパーサー規則は入力文に挿入されたタグの情報だけを頼りにUNL表現を作るための操作を記述する。UW辞書は入力文に含まれる語に対応するUWの情報を提供する。ユニバーサルパーサーはユニバーサルパーサー規則の記述に従って入力文を解析し、入力文の語からUWを検索してUNL表現を作る。
このメカニズムはユニバーサルパーサーがどんな言語も処理できるようにし、それゆえユニバーサルパーサーは普遍的である。
ユニバーサルパーサーを使うためには単語の変化形をすべてUW辞書に登録するか、UW辞書に原型だけを登録するなら、入力文に含まれる変化形の語を原型に変換する必要がある。しかし、対象言語に必要な形態素解析規則をユニバーサルパーサー規則に含むだけで、特定の言語を対象とするカスタマイズされたアノテーションを基にしたパーサーが簡単に作れる。

図6 ユニバーサルパーサーの構成
ユニバーサルパーサーに関して詳しくは下記を参照されたい:
http://www.undl.org/unlsys/uparser/UP.htm
下記のURLでアクセスできる:
www.undl.org/up/
UNL検証器
UNL検証器はUNL表現が統語的、語彙的かつ意味的に正しいかどうかを検証する。UNL表現の統語検証はUNL仕様書に従って行われる。語彙検証はUWや関係子や属性子が定義されているかどうかをチェックする。意味検証ではUNLオントロジーを参照しながらUNL表現の二項関係が可能な関係として定義されているかどうかをチェックする。図7にはUNL検証器のフローチャートと辞書との関係を示す。

図7 UNL検証器のフローチャート
ランゲージサーバー
UNLランゲージサーバー(LS)はインターネット上に置かれ自然言語とUNL表現との変換を行う。ランゲージサーバーには対象言語のエンコンバーターとデコンバーターが含まれ、ウエブアプリケーションを含みアプリケーションからリクエストが受けて変換を行い、結果を返す。図8にはインターネット上でUNLランゲージサーバーがどう使われるかを示した例を示す。

図8 ランゲージサーバーのインターネット上での使い方
|