JPH1078959A - エッジデータ構造を統一する方法 - Google Patents

エッジデータ構造を統一する方法

Info

Publication number
JPH1078959A
JPH1078959A JP9164369A JP16436997A JPH1078959A JP H1078959 A JPH1078959 A JP H1078959A JP 9164369 A JP9164369 A JP 9164369A JP 16436997 A JP16436997 A JP 16436997A JP H1078959 A JPH1078959 A JP H1078959A
Authority
JP
Japan
Prior art keywords
processor
data structure
context
graph
copy
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP9164369A
Other languages
English (en)
Other versions
JP4413286B2 (ja
Inventor
John T Maxwell Iii
ティー.マックスウェル,ザ サード ジョン
Ronald M Kaplan
エム.カプラン ロナルド
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Xerox Corp
Original Assignee
Xerox Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Xerox Corp filed Critical Xerox Corp
Publication of JPH1078959A publication Critical patent/JPH1078959A/ja
Application granted granted Critical
Publication of JP4413286B2 publication Critical patent/JP4413286B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/31Programming languages or programming paradigms
    • G06F8/313Logic programming, e.g. PROLOG programming language
    • G06F8/3135Unification or backtracking
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99931Database or file accessing
    • Y10S707/99933Query processing, i.e. searching
    • Y10S707/99936Pattern matching access
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99941Database schema or data structure
    • Y10S707/99942Manipulating data structure, e.g. compression, compaction, compilation

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Computational Linguistics (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Artificial Intelligence (AREA)
  • Machine Translation (AREA)

Abstract

(57)【要約】 【課題】 特徴構造の単一化にかかる全体的な時間を減
少して、自然言語処理を行う。 【解決手段】 コンテキストレジーコピーリンクとプロ
セッサを用いて2つのエッジデータ構造を単一化する方
法では、第1エッジデータ構造に関連するコンテキスト
レジーコピーリンクが単一化中に作動されるときにはい
つも、コンテキストレジーコピーリンクが拡大される。
まずプロセッサは、作動されたコンテキストレジーコピ
ーリンクのターゲット属性値ペアを識別する。プロセッ
サは次に、ターゲット属性値ペアの属性を第1エッジデ
ータ構造にコピーする。最後に、プロセッサは第1エッ
ジデータ構造にコピーされた属性からのコンテキストレ
ジーコピーリンクをターゲット属性値ペアの値に追加す
る。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明はコンピュータを用い
る自然言語処理に関する。より詳細には、本発明は、マ
シンの使用する特徴データ構造を単一化して、指数関数
的な時間をかけずに自然言語の部分を表現する方法に関
する。
【0002】
【従来の技術及び発明が解決しようとする課題】情報の
急激な増加により、まだ実現されていない自然言語文書
の自動処理に対する要求が生まれた。このようなことが
できれば、自然言語インタフェースにより、データベー
ス、自然言語テキストの抜粋及び要約の自動作成、並び
に自然言語の自動翻訳及び解釈を行うことができる。こ
れらの技術の開発は、現代文法の形式の処理に必要な時
間により妨げられている。
【0003】多くの現代文法の形式は、回帰的な特徴構
造を使用して自然言語表現の文法構造を述べる。特徴構
造は、プロログ等の統一ベースのプログラミング言語が
あれば、理解及び実行が容易であるという利点を有す
る。しかし特徴構造は、結局は文法上の形式により理論
的にも実際的にも有効に解析されることが困難であり、
不利である。実際、形式によって指数関数的な時間がか
かる現象の整列はまれであるが、一般に単一化ベースの
パーサーが不調和であれば、適度に複雑な文を分解する
のに数分かかる。
【0004】レジー(lazy)コピーリンクは、単一化に
関する処理時間を減少する別の方法である。レジーコピ
ーリンクは、単一化ベースのチャートパーサーにより必
要なコピーの量を減少することにより処理時間を減少す
る。
【0005】文脈単一化は、単一化に必要な処理時間を
減少する別の方法である。文脈単一化は、由来する選言
肢を示す命題変数を用いて種々の選言肢を注釈すること
により選択的特徴構造を統合する方法である。
【0006】単一化に必要な処理時間を減少する全ての
これらの異なるアプローチにもかかわらず、まだ特徴構
造の単一化にかかる全体的な時間を減少する必要があ
る。
【0007】
【課題を解決するための手段】コンテキストレジーコピ
ーリンクとプロセッサを用いて2つのエッジデータ構造
を単一化する方法を詳細に述べる。第1エッジデータ構
造に関連するコンテキストレジーコピーリンクが単一化
中に作動されるときにはいつも、コンテキストレジーコ
ピーリンクが拡張される。まずプロセッサは、作動され
たコンテキストレジーコピーリンクのターゲット属性値
ペアを識別する。プロセッサは次に、ターゲット属性値
ペアの属性を第1エッジデータ構造にコピーする。最後
に、プロセッサは第1エッジデータ構造にコピーされた
属性からのコンテキストレジーコピーリンクをターゲッ
ト属性値ペアの値に追加する。
【0008】本発明の一態様は、プロセッサを用いてエ
ッジデータ構造を統一する方法であって、該プロセッサ
がメモリ中に格納された命令を実行することによりこの
方法を実行し、前記エッジデータ構造を統一する方法
が、a)第1エッジデータ構造を作成するステップを含
み、第1エッジデータ構造が複数の関連するサブツリー
を有し、第1エッジデータ構造が第1グラフデータ構造
を含み、第1グラフデータ構造が空であると共に複数の
コンテキストレジーコピーリンクを有し、各コンテキス
トレジーコピーリンクがサブツリーグラフデータ構造を
ポイントし、各サブツリーグラフデータ構造が複数の関
連するサブツリーのうちの1つと関連し、b)第1エッ
ジデータ構造を第2エッジデータ構造と統一するステッ
プを含み、c)第1エッジデータ構造と第2エッジデー
タ構造との統一中に第1グラフデータ構造と関連するコ
ンテキストレジーコピーリンクのうちの1つが作動され
ると、第2特徴構造に関連するコンテキストレジーコピ
ーリンクを拡大することにより、第1グラフデータ構造
を拡大するステップを含み、この第1グラフデータ構造
を拡大するステップが、1)第1グラフデータ構造に関
連するコンテキストレジーコピーリンクの中から選択コ
ンテキストレジーコピーリンクを選択するステップを含
み、2)選択コンテキストレジーコピーリンクによりポ
イントされるサブツリー特徴構造から選択属性を選択す
るステップを含み、選択された属性が選択属性値を有
し、3)選択属性のコピーを作成し、第1グラフデータ
構造において選択属性のコピーを第1属性として格納す
るステップを含み、4)第1属性からのコンテキストレ
ジーコピーリンクを選択属性値に追加するステップを含
む、ことを特徴とする。
【0009】
【発明の実施の形態】本発明を詳細に説明する前に、コ
ンピュータシステム30について考える。図1を参照す
ると、コンピュータシステム30は、コンピュータのユ
ーザに情報を視覚的にディスプレイするためのモニタ3
2を含む。コンピュータシステム30はまた、プリンタ
33を介してコンピュータユーザに情報を出力する。コ
ンピュータシステム30は、データを入力するための複
数の方法をユーザに提供する。キーボード34はマウス
35と同様に、コンピュータユーザがデータをマニュア
ル入力することを可能にする。コンピュータユーザはま
た、ペン38を用いて電子タブレット36に書き込むこ
とにより情報を入力することもできる。あるいは、コン
ピュータユーザは、ディスクをフロッピーディスクドラ
イブ42に挿入することにより、フロッピーディスク等
の機械可読形式の媒体に格納されたデータを入力するこ
とができる。光学文字認識ユニット(OCRユニット)
44により、ユーザはハードコピー自然言語文書46を
入力することができ、自然言語文書46はコード化され
た電子表現に変換され、この電子表現は情報交換用米国
標準コード(ASCII )であるのが典型的である。
【0010】プロセッサ48は、コンピュータシステム
30のオペレーションを制御、調整して、コンピュータ
ユーザのコマンドを実行する。プロセッサ48は、メモ
リ50又はディスクドライブ42内のフロッピーディス
ク40のいずれかのメモリ内に電子的に格納された命令
を実行することにより、各コマンドに応答して適切な動
作を決定し、実行する。典型的には、プロセッサ48の
動作命令は、ソリッドステートメモリ中に格納されてお
り、命令に頻繁且つ迅速にアクセスする。メモリ50は
また、節及び制限解を格納するためのキャッシュメモリ
を含む。メモリ50を実行するために使用されることの
できる半導体メモリデバイスは、読取り専用メモリ(R
OM)、ランダムアクセスメモリ(RAM)、ダイナミ
ックランダムアクセスメモリ(DRAM)、プログラマ
ブル読取り専用メモリ(PROM)、消去可能なプログ
ラマブル読取り専用メモリ(EPROM)、電子的に消
去可能なプログラマブル読取り専用メモリ(EEPRO
M)(フラッシュメモリ等)を含む。
【0011】本発明のコンテキストレジーコピー方法
は、単一化ベースで文法を解析する標準的なアプローチ
では、モデル化される言語現象が文脈自由となる力を有
する場合でさえ、指数関数的な時間がかかるという観察
結果を利用する。即ち、単純なフレーズ構造の規則を用
いて言語現象を表現することができることにより、フレ
ーズ構造のパーサーが文を解析するのにせいぜいO(n
3 )時間(ここでO(f(n))又はOf(n)は語数
nの関数f(n)に比例した時間を表す)しかかからな
いのに、標準的な単一化ベースの特徴構造パーサーが同
じ文をモデル化するにはO(2n )時間が必要である。
特徴構造を追加することにより、なぜ解析時間があまり
にも過激に増大するのかを理解することには、チャート
を用いて文脈自由文法を語数の3乗に比例した時間で如
何に解析できるかということと、標準的なアプローチを
使用した場合に特徴構造の追加により結果としてシステ
ムがなぜ指数関数的になるのかということを理解するこ
とが必要である。
【0012】単純にはチャートは、パーサーによりすで
に構成された要素を格納するためのデータ構造である。
チャートを有する主な利点は、パーサーが種々の方法で
文を解析しようとする時に既存の要素を再使用できるこ
とである。文法が文脈自由であれば、パーサーは要素が
どのように構成されるかを知る必要もなく、要素を構成
することができる。例えば、パーサーは5番目のワード
から10番目のワードにいたるNPが存在するかどうか
を知る必要はあるが、NPがその中にPPを有するかど
うかを知る必要はない。このため、長さnの文に対して
は、構成され得るO(Cn2 )個の異なる要素があるの
みである(ここで、Cは文法により可能となる異なるカ
テゴリーの数である)。n2 は、全ての可能なワードの
位置のクロスプロダクトに由来する。概念上、チャート
はまさに、左位置から始まって右位置で終わるカテゴリ
ータイプの要素があるかどうかを示す(カテゴリー、左
位置、右位置の)3次元アレイである。文の始まりで始
まり、文の終わりで終了するSカテゴリーがある場合に
は、文はフレーズを有する。チャートを充填する1つの
方法は、全ての1つの単語の要素から始めて、2つの単
語の要素の全てを構築し、次いで3つの単語、というよ
うに前のレベルの結果の上に各レベルでの構築を行うこ
とである。これは、CKYアルゴリズムと呼ばれる。ア
ルゴリズムがOn2 ではなくOn3 である理由は、各要
素が複数の方法で構築されることができるからである。
最悪のケースでは、大きさがOnである要素は、On個
の異なる方法で構築されるおそれがある。On2 の要素
をOnの方法で構築するには、On3 の時間が必要であ
る。CKYアルゴリズムは、小さいものから大きいもの
へと特定の順序で要素が構築されることを必要とする。
チャートを構成する、よりフレキシブルな方法は、処理
された要素のアジェンダを維持することである。要素は
一度に一つずつアジェンダから得られ、以下のように処
理される。各要素は、結合できる要素に対して左と右を
見る。結合される要素を見出せば、チャートをチェック
して、得られた要素がチャート中に存在しているかどう
かを調べる。結合される要素が見出されなければ、要素
はチャートに追加され、アジェンダに置かれる。次いで
プロセスは、アジェンダが空になるまで継続する。要素
が任意の順序でアジェンダから得られることができるの
で、アジェンダにより物事がよりフレキシブルになる。
このパーサーの種類は、「アクティブチャートパーサ
ー」と呼ばれる。
【0013】上記アルゴリズムは、文章が解析可能か否
かを決定するだけであり、妥当な解析ツリー(解析木)
が何であるかを決定することはしない。しかし、この情
報はこれらのアルゴリズムに単純に追加することにより
得られることができる。要素がサブ要素から構成される
時にはいつも、構成は、構成された要素におけるローカ
ルサブツリーとして記録される。このようなサブツリー
により注釈されるチャートは、「解析フォレスト」と呼
ばれる。パーサーが実行されると、全体の文章にスパン
するS要素から開始し、1つのサブツリーをランダムに
取り出すことにより特定の解析ツリーが読み出される。
次いで、各子要素に対して、1つのサブツリーがランダ
ムに取得される。このプロセスは、ツリーが完全に特定
されるまで続けられる。一般に、このように完全に特定
されるツリーは指数関数的に多く存在するおそれがある
が、それらはコンパクトな表現で格納されるので、それ
らに対する解析フォレストは語数の3乗に比例した時間
で生成されることができる。
【0014】多くの文法の規則は、文脈自由フレーズ構
造の規則のバックボーンに特徴構造を追加する。文法に
依存して、文脈自由規則は明示的であり得る。
【0015】文脈自由のルールが明示的であるか暗示的
であるかにかかわらず、特徴構造を解析する標準的なア
プローチは、まず文脈自由フレーズ構造チャートを構築
し、次いでチャートデータ構造において第2のパスをな
し、特徴構造のボトム−アップを構築することである。
まず、与えられた特徴に従って語彙の項から特徴構造が
例示される。次いで、子要素に属する特徴構造のクロス
プロダクトを得ることにより、親要素の特徴構造が構成
される。一貫し得ない任意の組合せを取り除くために、
クロスプロダクトが得られる。得られるのは、このポイ
ントに対して一貫した特徴構造の集合である。子要素か
ら親要素を構成する方法が1つより多く存在すれば、全
ての解析から生成された特徴構造の集合が単一化され
る。このプロセスは、全ての要素の特徴構造が構成され
るまで、ボトム−アップを継続する。
【0016】このプロセスは、各レベルにおいてクロス
プロダクトが発生するために最悪のケースでは指数関数
的である。例えば、各語彙のアイテムが2つの曖昧な方
法である場合に、フレーズ構造の文法が曖昧でなくて
も、トップの要素に対してO(2n )の異なる特徴構造
が存在し得る。有限の値の特徴のみが使用される場合に
は、パーサーは、語数の3乗に比例した時間で実行する
ように作成されることができる。なぜなら、有限数の特
徴構造のみが可能であり、各レベルにおいて、得られた
方法の全てを列挙することなくどれが可能であるかを追
跡するだけでよいからである。可能な特徴構造の数の上
限まで到達すると、各レベルにおける特徴構造の数は成
長を停止する。特徴値の全てがバイナリであれば、トッ
プレベルの要素は、せいぜいO(2k )個の異なる特徴
構造を有することができる(kは異なる特徴の数であ
る)。故に、有限特徴グラフのみを用いることにより、
文章の長さにおける指数関数を指数関数的な文法の定数
に変えることができる。不具合なことに、無限の特徴構
造を解析するのに必要な時間は、同じ方法では減少され
ることができない。
【0017】ここで述べる方法は、コンテキストレジー
コピーリンクを導入することにより、解析及び生成中に
特徴構造を単一化するのに必要な時間を減少する。この
新たなタイプのレジーコピーリンクでは、複数の選択値
が複数のコンテキストレジーコピーリンクにより表現さ
れることができ、複数のコンテキストレジーコピーリン
クの各々は、それが妥当であるコンテキストにより注釈
されたものである。これらのコンテキストレジーコピー
リンクにより表現されるデータは、関連を持つようにな
り次第に拡張されて必要分のみの情報がコピーされるこ
とを保証されるまで、グラフデータ構造にコピーされな
い。コンテキスト単一化及び不透明なコンテキストと共
に使用されると、コンテキストレジーコピーリンクは、
特徴構造を単一化するのにかかる時間を減少する。従っ
て、語数の3乗に比例した時間で文脈自由特徴構造を単
一化する方法の一部として、図8及び図9を参照してこ
の方法を詳細に述べる。
【0018】図2は、言語記号列を解析又は生成する間
の特徴構造のレジーコンテキスト単一化に対する命令6
0を概略的に示している。命令60は、ソリッドステー
トメモリ50又はフロッピーディスクドライブ40内に
置かれるフロッピーディスク42中で機械可読形式で格
納され得る。命令60は、任意のコンピュータ言語で行
われ得る。
【0019】命令60は、サブルーチン100、10
2、104、106、108、110、112、114
及び116の階級的なセットとして組織化される。
【0020】命令60は、チャートデータ構造、グラフ
データ構造、節データ構造及び解データ構造の4つのク
ラスのデータ構造を使用する。チャートデータ構造は、
エッジデータ構造とサブツリーデータ構造を含む。各エ
ッジデータ構造は、エッジを表すと共に、以下の情報を
含む。
【0021】Edge(エッジ)[ id:このエッジを独特に識別する整数 right :エッジの最も右のワードを識別する整数 left:エッジの最も左のワードを識別する整数 category(カテゴリー):エッジの文法上のカテゴリー
を示す;例えばNP、S、VP等 subtrees(サブツリー):このエッジを作成する種々の
方法のリスト graph (グラフ):このエッジのグラフデータ構造に対
するポインタ]
【0022】各サブツリーデータ構造は、チョムスキー
標準形でのサブツリーを示し、以下の情報を含む。
【0023】Subtree (サブツリー)[ partial (部分的):ルールの左の子をポイントし、pa
rtial は、エッジの最も左のワードで始まり中央のどこ
かで終了する complete(完全):ルールの右の子をポイントし、comp
leteは、エッジの中央のどこかで始まりエッジの最も右
のワードで終了する constraint(制約):サブツリーを生成するためにpart
ial とcopmplete を如何に組み合わせるべきかを定義す
る graph (グラフ):このサブツリーのグラフデータ構造
に対するポインタ]
【0024】なお、各サブツリーデータ構造は、概念的
に文脈自由規則がサブツリー1つ当り任意の数の子を有
することができるとしても、2つのみの子、partial 及
びcompleteを含む。標準的な変換を文法に適用すること
により、全ての規則がバイナリである新たな文法が生成
される。例えば、ルールS→NP VP ADVにこの
変換を適用することにより、S→S1 ADVとS1→
NP VPという2つの規則が生成される。
【0025】グラフデータ構造のクラスは、Graph 、AV
Pair及びCVPairという3つのタイプを含む。各グラフデ
ータ構造は特徴構造及び関連情報を示し、以下の情報を
含む。
【0026】Graph (グラフ)[ attrs :このグラフデータ構造に関連するAVPairへのポ
インタのリスト context (コンテキスト):このグラフが存在するコン
テキストを示し、同一のエッジに関連する他の妥当なサ
ブツリーとそれを見分けるためにサブツリーに割り当て
られた変数を対応させる nogood:この特徴データ構造が良くないかどうかを示す
ブール演算値 nogoods :nogoodであり、このグラフに関連する節のリ
スト edge(エッジ):このグラフに関連するエッジに対する
ポインタ disjunctive (論理和):グラフがORグラフ、即ち多
くの選択的なグラフを示す単一のグラフであるか否かを
示すブール演算値 clauses (節):このグラフに割り当てられた節のリス
ト disjunctions(論理和):局所的に例示された論理和の
リスト solutions (解):限定セットとそれらの解に対するポ
インタのリスト]
【0027】各AVPairデータ構造は属性コンテキスト値
のペアを示し、以下の情報を含む。
【0028】AVPair[ attr:属性のタイプの名前 attrs :このAVPairが示す特徴構造に含まれる属性に対
するポインタのリスト equals:この属性に対する値を格納するCVPairデータ構
造に対するポインタのリスト;例えば、attrがNUMで
あれば、このフィールド内の値は値コンテキスト内のS
Gと別のコンテキスト内のPLにより格納され得る copies(コピー):このAVPairにコピーされた、又はこ
のAVPairからコピーされた値に対するコピーリンクを格
納するCVPairデータ構造に対するポインタのリスト contexts(コンテキスト):このAVPairが既に制約を有
するコンテキスト prefix(接頭辞):このAVPairを含むAVPairに対するポ
インタである。例えば、LFG項(↑SUBJ NUM)では、
NUM AVPairは、その接頭辞として(↑SUBJ)AVPairを有
する graph (グラフ):このAVPairが属する特徴データ構造
へのポインタ expanded:このAVPairに関連するコンテキストレジーリ
ンクが拡張されたかどうかを示すブール演算値]
【0029】各CVPairデータ構造はコンテキスト値ペア
を示し、以下の情報を含む。
【0030】CVPair[ contexts(コンテキスト):規則的なコピーリンクに対
してこの値に関連するコンテキスト又は節が真であれ
ば、任意の他の値はコンテキスト値を示す value (値):このCVPairに対するポインタがAVPairの
等しいフィールド又はコピーに格納されているかどうか
に依存して、別のAVPairデータ構造へのポインタ又は値
を含む。 lazy(レジー):value フィールドが配付先の正方向を
ポイントする正方向コピーリンクであるのか、又はソー
スの逆方向をポイントするレジーコピーリンクであるの
かを示すブール演算変数]
【0031】節及び論理和の2つのタイプの節データ構
造がある。各節データ構造は節を示し、キャッシュアイ
テムのリストである、その独自の節キャッシュを有す
る。節データ構造は、以下の情報を含む。
【0032】 Clause(節):[ type(タイプ):節のタイプ−AND 、OR、CHOICE、OPAQUE、nogood、TRUE body(ボデー):以下のAND 、OR、NOT 、CHOICE、OPAQUEを合併したものである AND {--このタイプの節は、コンテキストの論理積である-- first :論理積の第1節へのポインタ rest:結合された節の残りに対するポインタ} OR{--このタイプの節は、コンテキストの論理和である-- first :論理和の第1節へのポインタ rest:分解された節の残りに対するポインタ} NOT {--このタイプの節は、コンテキストの否定である-- negated :否定された節} CHOICE(選択){--論理和の一次選択である 論理和:CHOICEを含む論理和データ構造に対するポインタ} OPAQUE{--コンテキストを移入する imported:包まれている移入節 graph (グラフ):節の移入元のグラフデータ構造に対するポインタ} graph (グラフ):この節が関連するグラフデータ構造に対するポインタ cache (キャッシュ):この節に関連する節キャッシュの領域に対するポインタ 。節キャッシュのこの領域は、この節を用いて以前に実行されたオペレーション の結果を格納する exported:この節が別のグラフデータ構造に移入されたかどうかを示すブール演 算変数である nogood:この節がnogoodであることを決定されたかどうかを示すブール演算変数 である ]
【0033】各論理和データ構造は論理和を示し、以下
の情報を含む。
【0034】disjunction 論理和[ count :この論理和における選言肢の数を示す整数 context (コンテキスト):この論理和が関連するコン
テキスト arm1−第1選択コンテキスト(1つのみの場合) disj1 −第1選択論理和(1つより多い場合) arm2−第2選択コンテキスト(1つのみの場合) disj2 −第2選択論理和(1つより多い場合)]
【0035】限定セットデータ構造、限定解データ構造
及び内部解データ構造の3つのタイプの論理和データ構
造が存在する。各グラフは、グラフの3つの解データ構
造を格納するメモリ50内の解キャッシュを有する。
【0036】各限定セットデータ構造は、解が探索され
る節の集合を示し、以下の情報を含む。
【0037】Restriction Set (限定セット)[ restriction set (限定セット):解に対するエッジの
解の獲得に与えられた節のリスト solutions (解):限定セットに対する限定された解の
データ構造に対するポインタのリスト]
【0038】各限定解データ構造は、限定セットに対す
る解を示し、以下の情報を含む。
【0039】Restricted Solution (限定解)[ clauses (節):解を構成する節のグループである。例
えば、限定セットがa:1,b:0及び(a:0&b:
0)である場合には、解はb:0及び(a:0&b:
0)であり得る。これは限定セットのサブセットである
べきである。このフィールドにない限定セットに節があ
る場合には、その値は擬であると仮定される。 map (マップ):節フィールドにおいて解に対する数値
を求める内部解データ構造に対するポインタのリストで
ある。特定の限定セットに対しては、内部解の全てが正
確に1つの限定解のマップのメンバーでなければならな
い。各内部解は、各限定セット中に一度表れる。]
【0040】各内部解データ構造は、Restricted Setに
対する内部解を示し、以下の情報を含む。
【0041】Internal Solution (内部解)[ graph (グラフ)−この内部解が得られたグラフに対す
るポインタ choices (選択)−局所論理和の局所選択のリスト partial (部分的)−部分的なエッジ、すなわち左の子
に対する解 complete(完全)−完全なエッジに対する解]
【0042】図3はメインの命令100をフローチャー
ト形式で示す。
【0043】機械可読形式の自然言語記号列を受け取る
と、プロセッサ48はステップ120で命令100を実
行する。プロセッサ48は、自然言語記号列に対して文
脈自由解析フォレスト、チャートを構築する。当業者に
知られている標準的な技術を用いて、チャートが構築さ
れる。チャートが構築されると、プロセッサ48はステ
ップ120を出る。
【0044】プロセッサ48はステップ122におい
て、全体の自然言語記号列をスパンする記号列Sをチャ
ートが規定するかどうかを決定する。チャートが規定し
なければ、チャートは解を有さず、プロセッサ48はス
テップ124に分岐する。一方、全体の自然言語記号列
をスパンするSをチャートが規定すれば、チャートは解
を有し得る。それに応じてプロセッサ48はステップ1
26に進む。プロセッサ48は、使用されている文法に
関連する語彙及び文法上の制約をチャートに追加する。
チャートを装飾する標準的な方法が使用される。その
後、プロセッサ48はステップ128に進む。
【0045】プロセッサ48は、回帰的にエッジ制約の
処理102により、及びチャートに対するグラフデータ
構造を構築することにより、チャートのルートスパンエ
ッジに対する解を見出す。これらの回帰的な呼出しによ
り、プロセッサ48は、リーフに到達するまでチャート
を下り、そのポイントでプロセッサ48はグラフデータ
構造を構築し、チャートを逆進し始める。チャートに対
するグラフデータ構造が生成されると、プロセッサ48
はステップ130に進み、チャートに対する解を見出す
プロセスを開始する。プロセッサ48はエッジの解の獲
得104によりそれを実行する。プロセッサ48はチャ
ートを下り、対象とする不透明な(曖昧な)コンテキス
ト(opaque context)を通過することにより、葉に到達
するまでルートスパンエッジに対する解を見出す。その
ポイントで、プロセッサ48は、移入された不透明なコ
ンテキストに対する局所的な解を決定し、それらの解を
もってチャートを逆進し始める。これは、チャートのル
ートスパンエッジに対する解が見出されるまで継続す
る。
【0046】命令104によるエッジ解の処理は、文法
の文脈自由部分に対して語数の3乗に比例した時間で発
生する。文脈自由により、局所的なnogoods がよく因子
分解される。故に、解計算時間が不透明な変数の数Kに
おいて指数関数的であっても、経験により、実際に生成
される解の数は小さい傾向があることが示された。命令
104を実行した後、プロセッサ48はステップ124
に進み、自然言語記号列の完全な処理を行う。
【0047】図4、図5及び図6(これらの3つの図で
本実施形態のエッジ制約処理の全容を示す)で示される
ように、エッジ制約処理102は、プロセッサ48が、
関連のあるエッジに対するポインタを与えられたエッジ
のグラフデータ構造を生成することを可能にする。
【0048】図4を参照すると、選択されたエッジに対
するポインタの受領に応答して、プロセッサ48はステ
ップ140で命令102を実行し始める。プロセッサ4
8は、今受け取ったポインタを調査することによりグラ
フデータ構造を構成する必要があるかどうかを決定す
る。ヌルポインタは、選択されたエッジが存在しないこ
とを示すが、それはおそらく、ヌルポインタが部分的な
エッジを有さないサブツリーに由来するからである。ヌ
ルエッジポインタに応答して、プロセッサ48はステッ
プ142に分岐する。プロセッサ48は、選択されたエ
ッジが真(TRUE)であることを示す;即ち、選択された
エッジデータ構造のグラフフィールド中に格納されたポ
インタをヌルの値にセットすることにより、任意の他の
エッジと結合されることができる。その後、プロセッサ
48は呼出しルーチンに戻る。
【0049】エッジポインタがヌルでなければ、プロセ
ッサ48はステップ150に進む。プロセッサ48は、
選択されたエッジのグラフデータ構造を構築することに
注目する。そうするために、プロセッサ48はまず、選
択されたエッジに関連する各サブツリーのグラフデータ
構造を生成する。故に、プロセッサ48はグラフデータ
構造が生成されるべきサブツリーがあるかどうかを決定
する。かかるサブツリーが存在すれば、プロセッサ48
はステップ152に進む。
【0050】プロセッサ48は、ステップ152におい
て選択されるサブツリーとして、残りのサブツリーの1
つを選択し、ステップ154に進む。プロセッサ48
は、まず左の子と右の子の両方に対するグラフデータ構
造を作成することにより、選択されたサブツリーに対す
るグラフデータ構造を生成する。故にプロセッサ48
は、エッジ制約処理102に対する回帰的な呼出しと、
選択されたエッジとして左の子を示すことにより、選択
されたサブツリーの左の子に対するグラフデータ構造を
作成する。選択されたサブツリーの左の子に対するグラ
フデータ構造が生成されると、プロセッサ48はステッ
プ156に進む。
【0051】プロセッサ48は、左の子に対するグラフ
データ構造のnogoodフィールドを調査することにより、
又はグラフに対するポインタがNOGOOD値1であるかどう
かを調査することにより、左の子に対するグラフがnogo
odであるかどうかを決定する。グラフがnogoodである場
合には、選択されたサブツリーのグラフはnogoodであ
る。この場合には、プロセッサ48はステップ160に
進み、選択されたサブツリーに対するnogoodグラフデー
タ構造を生成する。それを実行すると、プロセッサ48
はステップ150に戻る。一方、左の子に対するグラフ
がnogoodでなければ、プロセッサ48は図5のステップ
162に進む。
【0052】図5を参照すると、プロセッサ48は、ス
テップ162において、選択されたサブツリーの右の子
に対するグラフデータ構造を生成することに注目する。
プロセッサ48はエッジ制約処理102を呼び出し、左
の子が選択されたエッジであることを示すことにより、
この作業を実行する。その後プロセッサ48は、ステッ
プ164においてグラフデータ構造がnogoodであるか否
かを決定する。nogoodであれば、プロセッサ48は図4
のステップ160に戻る。そうでなれば、プロセッサ4
8はステップ166に進行する。
【0053】選択されたサブツリーの左の子と右の子の
両方に対してグラフデータ構造が生成されると、プロセ
ッサ48は、ステップ166において選択されたサブツ
リーに対するグラフデータ構造を構成するプロセスを開
始する。この試みでは、第1の作業は、選択されたサブ
ツリーに関連する文法法上の制約をグラフデータ構造に
変換することである。次にステップ168において、プ
ロセッサ48は、選択されたサブツリーのサブツリーデ
ータ構造のグラフフィールドに、今生成されたグラフデ
ータ構造に対するポインタを格納する。プロセッサ48
はステップ180に進行する。
【0054】プロセッサ48は、その左の子により移入
される制約を、選択されたサブツリーに導入し始める。
プロセッサ48は、一度に1つのAVPairをコピーする
(後ほど詳細に説明する)AVPairコピー106を呼び出
すことによりそれを実行する。その後ステップ182に
おいて、プロセッサ48は、選択されたサブツリーのグ
ラフデータ構造がこれによりnogoodとなるかどうかを決
定する。nogoodであれば、プロセッサ48は図4のステ
ップ160に戻る。そうでない場合には、プロセッサ4
8はステップ184に進行する。
【0055】プロセッサ48は、右の子により移入され
た制約を、選択されたサブツリーに導入する。プロセッ
サ48は、AVPairコピー106を再び呼び出すことによ
りそれを実行する。次いでプロセッサ48はステップ1
86において、これらの制約により、選択されたサブツ
リーのグラフがnogoodとなるかどうかを決定する。nogo
odである場合には、プロセッサ48は図4のステップ1
60に戻る。グラフがnogoodでない場合には、プロセッ
サ48はステップ186から図4のステップ150に戻
る。
【0056】プロセッサ48は、選択されたエッジに関
連するサブツリーに対して生成されたグラフデータ構造
が存在する限りは、ステップ150〜186をループす
る。すべてのサブツリーグラフデータ構造が生成される
と、プロセッサ48は図4のステップ150を出て図6
のステップ188に渡り、そのnogoodでないサブツリー
の各々を示す選択されたエッジに対する単一のグラフデ
ータ構造を作成するプロセスを開始する。プロセッサ4
8はまず、ステップ188においてnogoodでないグラフ
を有する選択エッジに関連するサブツリーの数をカウン
トする。次いで、ステップ190において、プロセッサ
48は、nogoodでないグラフを有するサブツリーの数が
2つ以上であるかどうかを決定する。その数が2つ未満
であれば、プロセッサ48は、ステップ192において
nogoodでないグラフを有する少なくとも1つのサブツリ
ーが存在するかどうかを決定する。nogoodグラフを有す
るサブツリーが1つ存在する場合には、プロセッサ48
はステップ193に進み、選択されたエッジのエッジデ
ータ構造のグラフフィールド中に、良好な(nogoodでな
い)サブツリーに対するグラフデータ構造に対するポイ
ンタを格納する。一方、良好なグラフを有するサブツリ
ーが一つも存在しなければ、プロセッサ48はステップ
192を出てステップ194に進む。プロセッサ48は
選択されたエッジデータ構造のグラフフィールドを使用
して、ポインタ値1を格納することによりエッジがnogo
odであることを示す。ステップ194又は193におい
て選択されたエッジのグラフデータ構造の制約が完了す
ると、プロセッサ48はステップ144に進行する。
【0057】プロセッサ48は、nogoodでないグラフを
有するサブツリーの数が2つ以上であれば、ステップ1
96に進行する。この場合には、選択されたエッジのグ
ラフデータ構造は、複数の選択的なサブツリーを表すの
で、ORタイプである。故に、ステップ196において
プロセッサ48は、選択されたエッジデータ構造の論理
和フィールドを適切にセットすることにより、グラフを
ORタイプとしてマークする。これを実行すると、プロ
セッサ48はステップ196を出てステップ198に進
行する。
【0058】ステップ198において、プロセッサ48
はステップ196で生成されたOR節に対する論理和デ
ータ構造を構築する。プロセッサ48は論理和データ構
造のカウントフィールドを、ステップ188においてカ
ウントされた良好なグラフの数にセットする。プロセッ
サ48が論理和データ構造の構成を完了すると、選択さ
れたエッジに関連する良好なサブツリーの各々を表すコ
ンテキスト変数が生成される。その後、プロセッサ48
はステップ200に進行する。
【0059】プロセッサ48は、サブツリーからの情報
を選択されたエッジのグラフデータ構造に導入し始め
る。プロセッサ48は、全ての良好なサブツリーからの
情報が選択エッジデータ構造に導入されるまで、ステッ
プ200、210及び212をループする。ステップ2
12では、プロセッサ48は、nogoodでないグラフを有
するサブツリーのうちの1つを選択し、論理和データ構
造によりサブツリーと関連するコンテキストを見出す。
プロセッサ48は、AVPairコピー106を呼び出し、選
択された節を示すことにより、選択されたサブツリーか
らのデータ構造情報を選択エッジにコピーする。その
後、プロセッサ48はステップ200に戻る。選択され
たエッジに対するグラフデータ構造に良好なグラフを有
するサブツリーの全てからの情報がコピーされた後、プ
ロセッサ48はステップ144に戻る。
【0060】図7で示されるAVPairコピー106によ
り、プロセッサ48はソースAVPiarデータ構造からの情
報を配付先AVPairデータ構造にコピーすることができ
る。命令106を使用して、子からの情報が親にコピー
されるばかりでなく、サブツリーからの情報が関連のあ
るエッジにコピーされる。
【0061】プロセッサ48は、配付先AVPair、ソース
AVPairに対するポインタ、及び選択された節に応答して
命令106を実行し始める。ステップ230において、
プロセッサ48は、選択された節に対する2つのAVPair
の間にコンテキストコピーリンクがすでに存在している
かどうかを決定する。プロセッサ48は、ソースAVPair
及び配付先AVPairの両方のコピーフィールドを調査する
ことにより、この決定を行う。選択された節を有するコ
ピーリンクがソースか配付先かのいずれかに見出されれ
ば、さらなる実行の必要もなく、プロセッサ48はステ
ップ244に分岐することにより応答する。他方、選択
された節を有するコンテキストコピーリンクがソースAV
Pairと配付先AVPairの間に存在しない場合には、プロセ
ッサ48はステップ232に分岐する。
【0062】ステップ232においてプロセッサ48
は、コンテキストレジーコピーリンクを介して配付先AV
PairにおいてソースAVPairを表すことができるかどうか
を決定する努力を始める。これは部分的に、配付先の他
のレジーコピーリンクがすでに拡張されたかに依存す
る。プロセッサ48は、配付先AVPairの拡張されたビッ
トを調査することにより、そうであるかどうか決定す
る。そのレジーコピーリンクが拡張されなかったことを
ビットが示す場合には、プロセッサ48は、オーバーラ
ップしたコンテキストにおいてそのリンクが配付先AVPa
irだけのレジーコピーリンクであれば、コンテキストレ
ジーコピーリンクを用いてソースAVPairを表現すること
ができる。プロセッサ48はステップ234において、
AVPairコピーフィールド中に存在するレジーコピーリン
クを列挙して、各レジーコピーリンクに対して、そのコ
ンテキストを選択されたコンテキストと結合することに
より、AVPairコピーに対する引数として与えられたコン
テキスト内の他のコンテキストレジーコピーリンクを配
付先のAVPairがすでに含んでいるかどうかを決定する。
論理積の全てがnogoodである場合には、プロセッサ48
はステップ236に進行する。他方、結合されたコンテ
キストのいずれかがnogoodでない場合には、プロセッサ
48は、ステップ238に進行する。
【0063】プロセッサ48は、配付先のAVPairに関連
する全てのレジーコピーリンクが拡張される必要がある
場合には、ステップ234からステップ238に進む。
プロセッサ48は、レジーリンクの拡張108を呼び出
すことにより、ステップ238において、それらレジー
コピーリンクを拡張する。その後、プロセッサ48はス
テップ240に進行する。
【0064】プロセッサ48は、ソースAVPairがレジー
コピーリンクにより配付先のAVPairで表されることがで
きない場合に、ステップ240に進む。配付先にコピー
されたことをソースAVPairにおいて示すために、プロセ
ッサ48は配付先をポイントする正方向コピーリンクを
ソースAVpairのコピーフィールドに追加する。次いでプ
ロセッサ48は、ファクトコピー110を呼び出すこと
により、配付先のAVpairにソースAVpairの制約をコピー
する。それを実行すると、プロセッサ48はステップ2
44に進行する。
【0065】図8で示されるレジーリンクの拡張108
により、プロセッサ48はコンテキストレジーコピーリ
ンクを、より詳細な1つのレベルと、そして必要であれ
ば、他のコンテキストレジーコピーリンクと取り替える
ことができる。ソース中の正方向コピーリンクを追加し
てレジーコピーリンクの拡張を記録した後、プロセッサ
48はファクトコピー110を呼び出すことにより関連
情報をコピーする。
【0066】プロセッサ48は、拡張されるべきレジー
コピーリンクを有する、選択されたAVPairへのポインタ
の受領に応答して、ステップ260で命令108を実行
し始める。ステップ260において、プロセッサ48
は、拡張ビットを調査することにより、選択されたAVPa
irのコンテキストレジーコピーリンクがすでに拡張され
たかどうかを決定する。選択されたAVPairに関連するコ
ンテキストレジーコピーリンクがすでに拡張されたこと
をそのビットが示せば、プロセッサ48はステップ27
6に進む。他方、コンテキストレジーコピーリンクが拡
張されていない場合には、プロセッサ48はステップ2
62に分岐する。
【0067】プロセッサ48は、拡張されたフィールド
の値の拡張を示すようにセットすることにより、選択さ
れたAVPairのコンテキストレジーコピーリンクを拡張し
始める。その後、プロセッサ48はステップ264に進
行して、一度に一つずつコンテキストレジーコピーリン
クを拡張し始める。拡張されるべきコンテキストレジー
コピーリンクが残っている限りは、プロセッサ48はス
テップ266に進行する。プロセッサは、コピーフィー
ルド内の残りのコンテキストレジーコピーリンクを拡張
するものとして選択する。次にプロセッサ48はステッ
プ270に進行する。
【0068】しばしば、選択されたコンテキストレジー
コピーリンクによりポイントされるターゲットAVPair
も、拡張される必要があるとしてレジーコピーリンクに
より表される。かかる状況を見越して、ステップ270
においてプロセッサ48はレジーリンク拡張108を呼
び出して、選択されたコンテキストレジーコピーリンク
によりポイントされるレジーコピーリンクを拡張する。
ステップ272では、プロセッサ48は、選択されたAV
PairをポイントするターゲットAVPairからの正方向コピ
ーリンクを追加する。次にプロセッサ48はステップ2
74に進行する。
【0069】ターゲットAVpairが拡張されると、プロセ
ッサ48はターゲットAVPairからの情報の1つのレベル
を選択されたAVPairにコピーすることにより、選択され
たレジーコピーリンクを拡張することができる。プロセ
ッサ48は、ファクトコピー110を呼び出すことによ
り、これを実行する。それを実行すると、プロセッサ4
8はステップ264に戻り、選択されたAVPairに関連す
る全てのコンテキストレジーコピーリンクが拡張される
まで、ステップ266、270、272、274及び2
64をループする。
【0070】図9は、ファクトコピー110の命令をフ
ローチャートで示す。
【0071】プロセッサ48は、ソースAVPairと配付先
AVPairに対するポインタと、配付先に関連する選択され
た節の受領に応答して、ステップ290において命令1
10を実行し始める。プロセッサ48は、任意のファク
トがコピーされる必要があるかどうかを決定することに
より、ステップ290で開始する。nogoodである節に関
連すれば、ファクトはコピーされる必要がない。プロセ
ッサ48は、節のnogoodフィールドを調査し、選択され
た節がnogoodである場合にはステップ292に進行す
る。
【0072】プロセッサ48は、ソースAVPairに関連す
る属性を配付先AVPairにコピーする努力を始める。ステ
ップ292においてコピーされるべき属性が残っていれ
ば、プロセッサ48はステップ294で残りの属性の中
の1つを選択する。次に、プロセッサ48はステップ2
96で、選択された節を、選択された属性に関連する節
と結合する。プロセッサ48は、節の結合112を呼び
出すことにより結合を実行し、得られた節を戻す。得ら
れた節がnogoodでなければ、プロセッサ48はステップ
300に分岐する。
【0073】ステップ300において、配付先のAVPair
データ構造がもう存在しなければ、プロセッサ48は配
付先のAVPairへと逆にポイントするものを作成し、配付
先のAVPairのAttrs フィールドに、この新たなAVPairに
対するポインタを追加する。情報がコピーされることの
できるデータ構造が作成されると、プロセッサ48はス
テップ302に進行してAVPairコピーを呼び出す。AVPa
irコピーは、コンテキストレジーコピーリンク同士の間
に相互作用があるかどうかに依存して、ソースAVPairか
らの情報をコピーしたりしなかったりする。その後、プ
ロセッサ48はステップ292に戻る。
【0074】プロセッサ48は、AVPairコピーがソース
AVPairの関連のある属性全てに対して呼び出されるま
で、ステップ292〜302をループする。全てに対し
て呼び出されると、プロセッサ48はステップ304に
進行して、属性のコピーと略同じ形態でソースAVPairの
値を配付先のAVPairにコピーし始める。ソースAVPairに
関連する全てのコンテキスト値をコピーした後、プロセ
ッサ48はステップ320に進む。プロセッサ48は、
配付先のAVPairに課された新たな制約を調査し、可能で
あれば、新たなローカルnogoods を推論する。これを実
行すると、プロセッサ48はステップ322にリターン
する。
【0075】命令60は2つの節を結合して新たな節を
生成し、メモリ50の節キャッシュに格納する。
【0076】命令60が節を結合する方法と標準的なア
プローチとの間には2つの違いがある。まず、2つの節
を結合し始める前に、プロセッサ48は同じ2つの節を
含むエントリに対する節キャッシュを探索する。プロセ
ッサ48は、より高いidを有する節データ構造のキャ
ッシュフィールドを調査することにより、このような探
索を開始して、所望のオペレーション及びオペランドを
探索する。かかるエントリが見出されると、結合を行う
ことなく、以前に格納された結果を使用することがで
き、処理時間が削減される。
【0077】節を結合することに対する標準的なアプロ
ーチとの第2の違いは、不透明な(曖昧な)節(opaque
clause )の使用である。図10のフローチャートは、
不透明な節を処理して単一化処理時間を減少する節の結
合112の部分を示している。2つの不透明な節が同一
グラフから移入されると、2つの不透明な節は解かれ
て、新たな節を生成するように結合され、この新たな節
が包まれて、新たな不透明節が生成され、そしてこれが
移入される。
【0078】プロセッサ48はステップ360で命令1
12を実行し始める。プロセッサ48は、2つの不透明
な節が同一のグラフデータ構造に関連する場合にグラフ
同士の間に移入される命題変数の数を減少することがで
きる。プロセッサ48は、結合されるべき2つの節デー
タ構造である節1及び節2のグラフフィールドを調査す
ることにより、ステップ360においてこの可能性をチ
ェックする。両方の節が同一のグラフに関連する場合に
は、プロセッサ48はステップ360を出て、ステップ
362に分岐する。
【0079】2つの不透明な節の結合によって、真(TR
UE)又はnogoodのようなより単純な節を生じ得ることが
できるので、プロセッサ48はステップ362において
節1及び節2の両方を「解く」。プロセッサ48は、各
不透明な節の移入フィールドを検索することにより、不
透明な節を解く。その後、プロセッサ48はステップ3
64において、節の結合112を呼び出すことにより、
2つの解かれた節を結合する。プロセッサ48は、ステ
ップ366において得られた節を調査して、それがnogo
odであるかどうかを決定する。nogoodである場合には、
プロセッサ48はステップ368に進行して、得られた
節がnogoodであることを示すポインタを戻す。一方、得
られた節がnogoodでない場合には、プロセッサ48はス
テップ370に分岐する。
【0080】プロセッサ48は得られた節を「包み」、
ステップ370において節の移入116を呼び出すこと
により新たな不透明な節を移入する。次いでプロセッサ
48はステップ372に進む。
【0081】節1及び節2を再び結合するさらなる処理
時間を使用しないようにするために、ステップ372に
おいて、プロセッサ48は節1及び節2を結合したもの
をメモリ50の節キャッシュに格納する。好ましくは、
節キャッシュ内の節は、idの高さに従ってインデック
スされ、格納される情報は、オペレータ、オペランド及
び得られた節のトリプルである。このケースでは、トリ
プルは、結合、節2、得られた節である。その後プロセ
ッサ48は、より高いidを有する節に対して、節デー
タ構造のキャッシュフィールドにおける節キャッシュ
に、このエントリに対するポインタを格納する。プロセ
ッサ48は、2つの節が結合されたり分離されたりする
場合にはいつも、それらが不透明であるか否かにはかか
わらず、ステップ372を実行する。節に関する全ての
オペレーションの結果を格納することにより、グラフデ
ータ構造を単一化する処理時間が減少される。
【0082】図11は、節をグラフに移入する命令11
6をフローチャートで示す。これを実行する際に、プロ
セッサ48は新たな不透明節データ構造を作成して、移
入された節を「包む」。これにより、ルートスパンエッ
ジに対して生成されたグラフが、文脈自由に等しくなる
ことが保証され、これは複数の命題変数を単一の命題変
数と取り替えることにより可能となる。
【0083】プロセッサ48は、選択された節、即ち移
入される節が選択されたグラフに既に移入されたかどう
かをステップ400で決定することにより、命令116
を実行し始める。プロセッサ48は、得られた節が選択
された節に等しいエントリに対して節キャッシュを探索
することにより、それを実行する。プロセッサ48がか
かるエントリを見出せば、選択された節は選択されたグ
ラフにすでに移出されており、これを実行する必要がな
くなる。これに応答して、プロセッサ48はステップ4
02に分岐して、移入節をリターンする。一方、選択さ
れた節が移出されたことを節キャッシュが示さない場合
には、プロセッサ48はステップ404に分岐する。
【0084】ステップ404において、プロセッサ48
は新たな不透明節データ構造を作成して、移入フィール
ドに選択された節を格納する。その後ステップ406に
おいて、プロセッサ48は不透明変数が移入フィールド
に移出されたことを記録し、グラフフィールドにおいて
選択グラフに対するポインタを格納することにより、ど
のグラフに移出されたのかを示す。最後に、ステップ4
08においてプロセッサ48は、選択された節、不透明
節、新たな不透明節のトリプルを格納することにより、
メモリ50の節キャッシュにこのオペレーションの結果
を格納する。新たな不透明節が移入されると、プロセッ
サ11はステップ402に戻る。
【0085】図12、図13及び図14(これら3つの
図で本実施形態の解の獲得命令の全容を示す)は、選択
されたエッジに関連する全ての節に対して解が探索され
ていない可能性があるために、限定セットと呼ばれる解
が探索される節を与えられた選択エッジに対する解の獲
得命令104をフローチャートで示している。限定セッ
トが関連する選択エッジに対するポインタも、命令10
4に渡される。
【0086】命令104の実行はステップ450で始ま
る。ステップ450においてプロセッサ48は、選択エ
ッジに対する明白な解を探索し始める。3つのプロセス
がある。まず、プロセッサ48は選択エッジに対するポ
インタを調査する。ポインタがヌルであれば、選択エッ
ジが他の任意のエッジとうまく結合されることができる
ことを意味する。このような発見に応答して、プロセッ
サ48はステップ452に進み、選択されたエッジに対
する解が真(TRUE)であることを示す。プロセッサ48
はステップ454に戻る。一方、選択されたエッジに対
するポインタがヌルでなければ、プロセッサ48はステ
ップ460に分岐して、選択されたエッジに対する別の
明白な解を調査する。ステップ460において、プロセ
ッサ48は選択されたエッジデータ構造のグラフのnogo
odフィールドを調査して、選択されたエッジがnogoodで
あるかどうかを決定する。そうであれば、ステップ46
2においてプロセッサ48は選択されたエッジに対する
解をヌルにセットし、ステップ454に戻る。選択され
たエッジがnogoodのカテゴリーに分類されなければ、プ
ロセッサ48はステップ460を出て、最後の明白な解
を検索する。ステップ464において、プロセッサ48
は、この限定セットがすでに解決されたかどうかを調べ
るために、グラフの解キャッシュを探索する。解決の場
合には、プロセッサ48はステップ466において、も
しあれば解に対するポインタをリターンする。
【0087】明白で簡単な解を見出す試みが失敗すれ
ば、プロセッサ48はステップ468に進む。プロセッ
サ48は、解キャッシュにおける選択された節に対する
限定解データ構造を作成して、全てのフィールドをヌル
にセットする。これを実行すると、プロセッサ48はス
テップ470に進み、選択された限定セットに対する解
を求めて一度に1つのサブツリーずつ探索し始める。ス
テップ472において、プロセッサ48は、解を必要と
するサブツリーの1つを選択する。次にプロセッサ48
は、選択されたサブツリーのグラフデータ構造のnogood
フィールドを調査することにより、選択されたサブツリ
ーがnogoodであるかどうかを決定する。選択されたサブ
ツリーがnogoodである場合には、プロセッサ48はステ
ップ470に戻ることにより、他のサブツリーに注意を
向ける。一方、選択されたサブツリーのグラフがnogood
でなければ、プロセッサ48はステップ476に進行す
る。
【0088】選択されたサブツリーの解を見出すことに
は、選択されたサブツリーの左と右の子に対する解をま
ず見出すことが必要である。これは図12のステップ4
76から図13のステップ486において発生する。ま
ずプロセッサ48は、選択されたサブツリーの左の子か
らどのサブツリーグラフの節が移入されるかを決定し、
新たな限定セットを定義する。プロセッサ48はステッ
プ478でこの情報を用いて、エッジの解の獲得104
を呼び出すことにより、左の子に対する解を見出す。左
の子に対する解がない場合には、選択されたサブツリー
に対する解は存在できない。プロセッサ48は、ステッ
プ470に分岐することによりこの状況に対応し、別の
サブツリーに注目する。他方、左の子が解を有する場合
には、選択されたサブツリーは解を有し得る。それに応
答して、プロセッサ48はステップ482に分岐して、
選択されたサブツリーの右の子に対する解を識別する。
プロセッサ48は、サブツリーグラフのどの節が右の子
から移入されたかを識別することにより、開始する。こ
れにより新たな限定セットが定義され、プロセッサ48
は、ステップ484においてエッジ解の獲得104を呼
び出す時にこの限定セットを用いる。プロセッサ48
は、ステップ470に戻ることにより右の子が解を有さ
ないという見解に応答する。一方、右の子が解を有する
と、プロセッサ48はステップ490に分岐する。
【0089】選択されたエッジの左及び右の子に対する
解が得られると、ステップ490でプロセッサ48は選
択されたエッジに対する解を識別しようとし始める。こ
れらの解は、限定解データ構造により表される。ステッ
プ490において、プロセッサ48は、局所的な制約が
例示された時に導入された論理和に基づいて、局所的な
解を作成する。プロセッサ48は、局所的な解と左及び
右の子に対する解のクロスプロダクトをとって、選択さ
れたエッジに対する幾らかの候補内部解を生成する。プ
ロセッサ48は、その後のステップにおいて一度に一つ
ずつこれら候補内部解を調査する。
【0090】図14を参照すると、プロセッサ48は、
ステップ502において評価のために候補の内部解の1
つを選択し、ステップ504において局所的なnogood節
を用いてそれを評価し、選択された候補内部解節の妥当
性を決定する。プロセッサ48がステップ506におい
て選択された候補の内部解が妥当でないと決定すれば、
プロセッサ48は図13のステップ500に戻って、別
の候補の内部解を評価し始める。一方、選択された候補
の解が妥当であれば、プロセッサ48はステップ508
に進む。このステップにおいて、選択された候補の内部
解における節の各々は真であると仮定され、選択された
限定セットの節が調査されて、それらのどれが真である
かを決定される。プロセッサ48は、ステップ510に
おいて真であると評価された限定セットの節に注目し、
選択された限定セットに関連する限定された論理和デー
タ構造の節フィールド中にリストされるものとそれらを
比較する。限定セットに対する解に含まれていない場合
には、ステップ514においてプロセッサ48は注目し
た節を用いて新たな限定解を作成し、限定セットに対す
る解にそれを追加する。最後にステップ516におい
て、プロセッサ48は選択された候補の内部解に対する
データ構造に対するポインタを、限定解データ構造のマ
ップフィールドに追加する。
【0091】1つの候補の解の評価が完了すると、プロ
セッサ48は図13のステップ500に戻って、ステッ
プ502〜516を参照して説明されたように候補の内
部解の調査を継続して行う。選択されたサブツリーに対
する候補の内部解を調査した後、プロセッサ48はステ
ップ500から図12のステップ470に分岐する。選
択されたエッジに関連するサブツリーの全てを処理した
後、プロセッサ48はステップ454に戻り、任意の解
を限定セットに戻す。
【図面の簡単な説明】
【図1】本発明の方法を用いるコンピュータシステムを
示す。
【図2】本発明の方法を実行するソフトウェアルーチン
の図である。
【図3】メインルーチンのフローチャートである。
【図4】エッジ制約処理ルーチンの一部を示すフローチ
ャートである。
【図5】エッジ制約処理ルーチンの一部を示すフローチ
ャートである。
【図6】エッジ制約処理ルーチンの一部を示すフローチ
ャートである。
【図7】AVPairコピールーチンのフローチャートであ
る。
【図8】レジーリンクの拡張ルーチンのフローチャート
である。
【図9】ファクトのコピールーチンのフローチャートで
ある。
【図10】節の結合ルーチンのフローチャートである。
【図11】節の移入ルーチンのフローチャートである。
【図12】エッジの解の獲得ルーチンの一部を示すフロ
ーチャートである。
【図13】エッジの解の獲得ルーチンの一部を示すフロ
ーチャートである。
【図14】エッジの解の獲得ルーチンの一部を示すフロ
ーチャートである。
【符号の説明】 30 コンピュータシステム 44 光学文字認識ユニット 48 プロセッサ
───────────────────────────────────────────────────── フロントページの続き (72)発明者 ロナルド エム.カプラン アメリカ合衆国 94306 カリフォルニア 州 パロ アルト オーム ストリート 4015

Claims (1)

    【特許請求の範囲】
  1. 【請求項1】 プロセッサを用いてエッジデータ構造を
    統一する方法であって、該プロセッサがメモリ中に格納
    された命令を実行することによりこの方法を実行し、前
    記エッジデータ構造を統一する方法が、 a)第1エッジデータ構造を作成するステップを含み、
    第1エッジデータ構造が複数の関連するサブツリーを有
    し、第1エッジデータ構造が第1グラフデータ構造を含
    み、第1グラフデータ構造が空であると共に複数のコン
    テキストレジーコピーリンクを有し、各コンテキストレ
    ジーコピーリンクがサブツリーグラフデータ構造を指
    し、各サブツリーグラフデータ構造が複数の関連するサ
    ブツリーのうちの1つと関連し、 b)第1エッジデータ構造を第2エッジデータ構造と統
    一するステップを含み、 c)第1エッジデータ構造と第2エッジデータ構造との
    統一中に第1グラフデータ構造と関連するコンテキスト
    レジーコピーリンクのうちの1つが作動されると、第2
    特徴構造に関連するコンテキストレジーコピーリンクを
    拡大することにより、第1グラフデータ構造を拡大する
    ステップを含み、この第1グラフデータ構造を拡大する
    ステップが、 1)第1グラフデータ構造に関連するコンテキストレジ
    ーコピーリンクの中から選択コンテキストレジーコピー
    リンクを選択するステップを含み、 2)選択コンテキストレジーコピーリンクにより指し示
    されるサブツリー特徴構造から選択属性を選択するステ
    ップを含み、選択された属性が選択属性値を有し、 3)選択属性のコピーを作成し、第1グラフデータ構造
    において選択属性のコピーを第1属性として格納するス
    テップを含み、 4)第1属性からのコンテキストレジーコピーリンクを
    選択属性値に追加するステップを含む、ことを特徴とす
    るエッジデータ構造を統一する方法。
JP16436997A 1996-06-21 1997-06-20 エッジデータ構造を統一する方法 Expired - Lifetime JP4413286B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US08/668,988 US5819210A (en) 1996-06-21 1996-06-21 Method of lazy contexted copying during unification
US668988 1996-06-21

Publications (2)

Publication Number Publication Date
JPH1078959A true JPH1078959A (ja) 1998-03-24
JP4413286B2 JP4413286B2 (ja) 2010-02-10

Family

ID=24684568

Family Applications (1)

Application Number Title Priority Date Filing Date
JP16436997A Expired - Lifetime JP4413286B2 (ja) 1996-06-21 1997-06-20 エッジデータ構造を統一する方法

Country Status (4)

Country Link
US (2) US5819210A (ja)
EP (1) EP0814418B1 (ja)
JP (1) JP4413286B2 (ja)
DE (1) DE69712411T2 (ja)

Families Citing this family (52)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5903860A (en) * 1996-06-21 1999-05-11 Xerox Corporation Method of conjoining clauses during unification using opaque clauses
US6498921B1 (en) * 1999-09-01 2002-12-24 Chi Fai Ho Method and system to answer a natural-language question
US5836771A (en) * 1996-12-02 1998-11-17 Ho; Chi Fai Learning method and system based on questioning
US6138098A (en) * 1997-06-30 2000-10-24 Lernout & Hauspie Speech Products N.V. Command parsing and rewrite system
US6330530B1 (en) * 1999-10-18 2001-12-11 Sony Corporation Method and system for transforming a source language linguistic structure into a target language linguistic structure based on example linguistic feature structures
DE19952070A1 (de) * 1999-10-28 2001-06-28 Kiwi Interaktive Medien Gmbh Verfahren zur Erweiterung einer Datenbank
US6714905B1 (en) * 2000-05-02 2004-03-30 Iphrase.Com, Inc. Parsing ambiguous grammar
US8478732B1 (en) 2000-05-02 2013-07-02 International Business Machines Corporation Database aliasing in information access system
US6711561B1 (en) * 2000-05-02 2004-03-23 Iphrase.Com, Inc. Prose feedback in information access system
US6704728B1 (en) * 2000-05-02 2004-03-09 Iphase.Com, Inc. Accessing information from a collection of data
US9699129B1 (en) 2000-06-21 2017-07-04 International Business Machines Corporation System and method for increasing email productivity
US8290768B1 (en) 2000-06-21 2012-10-16 International Business Machines Corporation System and method for determining a set of attributes based on content of communications
US6408277B1 (en) 2000-06-21 2002-06-18 Banter Limited System and method for automatic task prioritization
US7644057B2 (en) 2001-01-03 2010-01-05 International Business Machines Corporation System and method for electronic communication management
US7136846B2 (en) 2001-04-06 2006-11-14 2005 Keel Company, Inc. Wireless information retrieval
US7165055B2 (en) * 2002-02-14 2007-01-16 Xerox Corporation Systems and methods for solving nogood databases
US7225121B2 (en) * 2002-02-20 2007-05-29 Palo Alto Research Center Incorporated Generating with Lexical Functional Grammars
US7302382B2 (en) * 2002-02-20 2007-11-27 Xerox Corporation Generating with lexical functional grammars
US7343372B2 (en) * 2002-02-22 2008-03-11 International Business Machines Corporation Direct navigation for information retrieval
US20040215634A1 (en) * 2002-12-06 2004-10-28 Attensity Corporation Methods and products for merging codes and notes into an integrated relational database
US7203668B2 (en) * 2002-12-19 2007-04-10 Xerox Corporation Systems and methods for efficient ambiguous meaning assembly
US7171403B2 (en) 2003-01-09 2007-01-30 Palo Alto Research Center Incorporated Systems and methods for efficient conjunction of Boolean variables
US20050187913A1 (en) 2003-05-06 2005-08-25 Yoram Nelken Web-based customer service interface
US8495002B2 (en) 2003-05-06 2013-07-23 International Business Machines Corporation Software tool for training and testing a knowledge base
US20040230415A1 (en) * 2003-05-12 2004-11-18 Stefan Riezler Systems and methods for grammatical text condensation
US7657420B2 (en) * 2003-12-19 2010-02-02 Palo Alto Research Center Incorporated Systems and methods for the generation of alternate phrases from packed meaning
US8244689B2 (en) 2006-02-17 2012-08-14 Google Inc. Attribute entropy as a signal in object normalization
US7769579B2 (en) 2005-05-31 2010-08-03 Google Inc. Learning facts from semi-structured text
US7392258B2 (en) * 2005-02-25 2008-06-24 International Business Machines Corporation Method and computer program product for dynamic weighting of an ontological data model
US7809754B2 (en) * 2005-02-28 2010-10-05 International Business Machines Corporation Method and computer program product for generating a lightweight ontological data model
US9208229B2 (en) 2005-03-31 2015-12-08 Google Inc. Anchor text summarization for corroboration
US7587387B2 (en) 2005-03-31 2009-09-08 Google Inc. User interface for facts query engine with snippets from information sources that include query terms and answer terms
US8682913B1 (en) 2005-03-31 2014-03-25 Google Inc. Corroborating facts extracted from multiple sources
US8996470B1 (en) * 2005-05-31 2015-03-31 Google Inc. System for ensuring the internal consistency of a fact repository
US7831545B1 (en) 2005-05-31 2010-11-09 Google Inc. Identifying the unifying subject of a set of facts
US8055608B1 (en) * 2005-06-10 2011-11-08 NetBase Solutions, Inc. Method and apparatus for concept-based classification of natural language discourse
US7606776B1 (en) 2005-09-28 2009-10-20 Actenum Corporation Flexible constraint propagation engine for combinatorial optimization applications
US7991797B2 (en) 2006-02-17 2011-08-02 Google Inc. ID persistence through normalization
US8260785B2 (en) 2006-02-17 2012-09-04 Google Inc. Automatic object reference identification and linking in a browseable fact repository
US8700568B2 (en) 2006-02-17 2014-04-15 Google Inc. Entity normalization via name normalization
RU2488735C2 (ru) * 2006-08-21 2013-07-27 Вестерн Пайпвей, Ллс Системы и способ для восстановления трубопровода
US8122026B1 (en) 2006-10-20 2012-02-21 Google Inc. Finding and disambiguating references to entities on web pages
US8347202B1 (en) 2007-03-14 2013-01-01 Google Inc. Determining geographic locations for place names in a fact repository
US8239350B1 (en) 2007-05-08 2012-08-07 Google Inc. Date ambiguity resolution
US7966291B1 (en) 2007-06-26 2011-06-21 Google Inc. Fact-based object merging
US7970766B1 (en) 2007-07-23 2011-06-28 Google Inc. Entity type assignment
US8738643B1 (en) 2007-08-02 2014-05-27 Google Inc. Learning synonymous object names from anchor texts
US8812435B1 (en) 2007-11-16 2014-08-19 Google Inc. Learning objects and facts from documents
US8676737B2 (en) * 2009-10-05 2014-03-18 International Business Machines Corporation Detecting missing cases in business rules
US9317595B2 (en) * 2010-12-06 2016-04-19 Yahoo! Inc. Fast title/summary extraction from long descriptions
US8819078B2 (en) * 2012-07-13 2014-08-26 Hewlett-Packard Development Company, L. P. Event processing for graph-structured data
US10657180B2 (en) * 2015-11-04 2020-05-19 International Business Machines Corporation Building and reusing solution cache for constraint satisfaction problems

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5438511A (en) * 1988-10-19 1995-08-01 Xerox Corporation Disjunctive unification
US5727222A (en) * 1995-12-14 1998-03-10 Xerox Corporation Method of parsing unification based grammars using disjunctive lazy copy links

Also Published As

Publication number Publication date
JP4413286B2 (ja) 2010-02-10
EP0814418A1 (en) 1997-12-29
US6064953A (en) 2000-05-16
EP0814418B1 (en) 2002-05-08
US5819210A (en) 1998-10-06
DE69712411D1 (de) 2002-06-13
DE69712411T2 (de) 2002-08-29

Similar Documents

Publication Publication Date Title
JP4413286B2 (ja) エッジデータ構造を統一する方法
Wang et al. A system for approximate tree matching
JP4140980B2 (ja) プログラムツリーを表示するコンピュータプログラムの構文依存しない表示方法
US5555408A (en) Knowledge based information retrieval system
Murphy et al. Lightweight lexical source model extraction
JP4656868B2 (ja) 構造化文書作成装置
US20020194223A1 (en) Computer programming language, system and method for building text analyzers
US5438511A (en) Disjunctive unification
JPS61103247A (ja) 翻訳プログラム作成システム
JPH1049530A (ja) データ処理方法
JP2009521026A (ja) 探索および置換入力の派生を活用する探索および置換機能でテキストを編集するための方法およびシステム
JP2005070911A (ja) 構造化文書のデータを検索する装置および方法
JPH10105551A (ja) プロセッサを用いて第1グラフの単一化の一部として第1節と第2節を結合する方法
JPH0567144A (ja) 前編集支援方法およびその装置
US8122431B2 (en) Device for processing formally defined data
EP0779578B1 (en) Method and apparatus for parsing unification based grammars using disjunctive lazy copy links
Beedkar et al. A unified framework for frequent sequence mining with subsequence constraints
US5628012A (en) Method and apparatus for querying a database containing disjunctive information
Grandi ProbQL: A Probabilistic Query Language for Information Extraction from PDF Reports and Natural Language Written Texts
Nguyen Statistical Models and Machine Learning to Advance Code Completion: Are We There Yet?
JP2005234800A (ja) 用例機械翻訳装置及び用例翻訳コンピュータプログラム、並びに用例検索装置及び用例検索コンピュータプログラム
GOLOVESHKIN et al. Program Systems: Theory and Applications
Marin-Castro et al. VR-Tree: A novel tree-based approach for modeling Web Query Interfaces
Black PPP: The Pan Program Presenter
EP0721165A2 (en) System and method for data format modification and translator construction

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20040621

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060725

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20061025

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20061114

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070314

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20070522

A912 Re-examination (zenchi) completed and case transferred to appeal board

Free format text: JAPANESE INTERMEDIATE CODE: A912

Effective date: 20070601

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20090518

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20090521

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090917

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20091118

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121127

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121127

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20131127

Year of fee payment: 4

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

EXPY Cancellation because of completion of term