JPH04367073A - 機械翻訳システムにおける文法作成支援方法 - Google Patents
機械翻訳システムにおける文法作成支援方法Info
- Publication number
- JPH04367073A JPH04367073A JP3143013A JP14301391A JPH04367073A JP H04367073 A JPH04367073 A JP H04367073A JP 3143013 A JP3143013 A JP 3143013A JP 14301391 A JP14301391 A JP 14301391A JP H04367073 A JPH04367073 A JP H04367073A
- Authority
- JP
- Japan
- Prior art keywords
- grammar
- user
- node
- translation
- processing
- 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.)
- Pending
Links
- 238000013519 translation Methods 0.000 title claims abstract description 74
- 238000000034 method Methods 0.000 title claims description 68
- 238000012545 processing Methods 0.000 claims abstract description 78
- 230000008569 process Effects 0.000 claims description 49
- 238000004458 analytical method Methods 0.000 claims description 23
- 230000002452 interceptive effect Effects 0.000 claims description 9
- 230000008859 change Effects 0.000 abstract description 21
- 230000014509 gene expression Effects 0.000 abstract description 18
- 238000012423 maintenance Methods 0.000 abstract description 3
- 230000014616 translation Effects 0.000 description 66
- 238000012217 deletion Methods 0.000 description 7
- 230000037430 deletion Effects 0.000 description 7
- 230000009471 action Effects 0.000 description 5
- 230000006870 function Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000010586 diagram Methods 0.000 description 2
- 230000003139 buffering effect Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 230000000877 morphologic effect Effects 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
Landscapes
- Machine Translation (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【0001】
【産業上の利用分野】本発明は、対話的に翻訳を行うイ
ンタラクティブ機械翻訳システムに係り、特に機械翻訳
システムで用いられる文法を容易に作成するための文法
作成支援方法に係る。
ンタラクティブ機械翻訳システムに係り、特に機械翻訳
システムで用いられる文法を容易に作成するための文法
作成支援方法に係る。
【0002】
【従来の技術】機械翻訳システムは、予め格納されてい
る文法および辞書などの知識ベースを用いて、入力であ
る第1言語の文を第2言語の文に翻訳するシステムであ
る。文法を記述するためには、言語に関する知識のみな
らず、翻訳システムの構成や文法を記述している文法記
述言語やプログラム言語に関する知識を必要とし、エン
ドユーザが文法を記述することは困難である。よって、
文法の作成・保守は機械翻訳システムのメーカに任され
ていた。
る文法および辞書などの知識ベースを用いて、入力であ
る第1言語の文を第2言語の文に翻訳するシステムであ
る。文法を記述するためには、言語に関する知識のみな
らず、翻訳システムの構成や文法を記述している文法記
述言語やプログラム言語に関する知識を必要とし、エン
ドユーザが文法を記述することは困難である。よって、
文法の作成・保守は機械翻訳システムのメーカに任され
ていた。
【0003】また、機械翻訳システムの翻訳精度を向上
するための一つの方法として、システムが解決できない
曖昧さが処理途中で発生した場合、ユーザに指示を求め
ることにより、対話的に翻訳を行うインタラクティブ翻
訳システムが提案されている。
するための一つの方法として、システムが解決できない
曖昧さが処理途中で発生した場合、ユーザに指示を求め
ることにより、対話的に翻訳を行うインタラクティブ翻
訳システムが提案されている。
【0004】
【発明が解決しようとする問題点】しかし、翻訳精度の
向上のために、ユーザごとに存在する固有の表現を翻訳
できるように文法をカスタマイズすることが要求されて
おり、ユーザが文法を容易に作成できる機能が求められ
ている。これを解決するための方法として、情報処理学
会第37回全国大会論文集pp.976−977に、誤
った翻訳結果に対し後編集を行うことにより、正しい翻
訳結果を得るための文法を自動作成する方法が述べられ
ている。しかし、この方法は、後編集の結果が計算機の
出力結果とあまりにもかけ離れてしまう場合、適用でき
ないという問題点があった。また、新しく作成される文
法を、以前の文法のどの部分に挿入すればよいのかを自
動決定することが困難であるという問題点があった。
向上のために、ユーザごとに存在する固有の表現を翻訳
できるように文法をカスタマイズすることが要求されて
おり、ユーザが文法を容易に作成できる機能が求められ
ている。これを解決するための方法として、情報処理学
会第37回全国大会論文集pp.976−977に、誤
った翻訳結果に対し後編集を行うことにより、正しい翻
訳結果を得るための文法を自動作成する方法が述べられ
ている。しかし、この方法は、後編集の結果が計算機の
出力結果とあまりにもかけ離れてしまう場合、適用でき
ないという問題点があった。また、新しく作成される文
法を、以前の文法のどの部分に挿入すればよいのかを自
動決定することが困難であるという問題点があった。
【0005】また、インタラクティブ翻訳システムにお
いて、ユーザによる指示は、一過性のものであり、再度
同様の文が入力されたとき、同じ指示をしてやらなけれ
ばならないという問題点があった。
いて、ユーザによる指示は、一過性のものであり、再度
同様の文が入力されたとき、同じ指示をしてやらなけれ
ばならないという問題点があった。
【0006】
【課題を解決するための手段】以上の問題を解決するた
めに、本発明では、翻訳処理の途中で得られる中間結果
を表示し、ユーザの指示によって中間結果を変更し、ユ
ーザの指示を用いて新たに文法を作成する。
めに、本発明では、翻訳処理の途中で得られる中間結果
を表示し、ユーザの指示によって中間結果を変更し、ユ
ーザの指示を用いて新たに文法を作成する。
【0007】
【作用】本発明によれば、翻訳の途中で得られる中間結
果を変更することにより文法を半自動的に作成できるた
め、文法作成が容易になる。また、翻訳途中でユーザの
指示を求めるインタラクティブ翻訳システムにおいて、
再度同じ文が入ってきた場合、ユーザが指示をしなくて
も翻訳できるようになる。
果を変更することにより文法を半自動的に作成できるた
め、文法作成が容易になる。また、翻訳途中でユーザの
指示を求めるインタラクティブ翻訳システムにおいて、
再度同じ文が入ってきた場合、ユーザが指示をしなくて
も翻訳できるようになる。
【0008】
【実施例】以下、第1の実施例として、本発明を日本語
から英語への機械翻訳システムに用いる文法を作成する
文法作成支援システムに適用した例を図面を用いて詳細
に説明する。
から英語への機械翻訳システムに用いる文法を作成する
文法作成支援システムに適用した例を図面を用いて詳細
に説明する。
【0009】図2は、文法生成装置のハードウェア構成
図である。1はディスプレイ装置、2はキーボード、3
はマウス、4は入力される元の日本文が格納される原文
ファイル、5は翻訳結果が格納される訳文ファイル、6
は辞書ファイル、7は翻訳に用いられる文法が格納され
る文法ファイル、8は例文が格納される例文ファイル、
9は処理に必要なテーブル類が保持されるメモリ、10
は文法テンプレートが格納されるテンプレートファイル
、11は全ての処理を行う処理装置である。
図である。1はディスプレイ装置、2はキーボード、3
はマウス、4は入力される元の日本文が格納される原文
ファイル、5は翻訳結果が格納される訳文ファイル、6
は辞書ファイル、7は翻訳に用いられる文法が格納され
る文法ファイル、8は例文が格納される例文ファイル、
9は処理に必要なテーブル類が保持されるメモリ、10
は文法テンプレートが格納されるテンプレートファイル
、11は全ての処理を行う処理装置である。
【0010】次に、図1に示した処理フローに従って、
本発明の処理方法を説明する。
本発明の処理方法を説明する。
【0011】(ステップ1)原文ファイル4より、日本
文を読み込む。
文を読み込む。
【0012】(ステップ2)文法ジェネレータを起動す
る。以下では、第1の例として「彼は、ドアに鍵をかけ
る。」という文を用いて説明する。この文に対するイデ
ィオム文法が作成されていない場合、この文は、“He
hangs the lock to a door
.”と誤って訳されてしまう。 そこで、新たにイディオム文法を作成・追加し、“He
locks a door.”という正しい訳が得ら
れるようにする。
る。以下では、第1の例として「彼は、ドアに鍵をかけ
る。」という文を用いて説明する。この文に対するイデ
ィオム文法が作成されていない場合、この文は、“He
hangs the lock to a door
.”と誤って訳されてしまう。 そこで、新たにイディオム文法を作成・追加し、“He
locks a door.”という正しい訳が得ら
れるようにする。
【0013】(ステップ3)ブレークポイントを決定す
る。ブレークポイントは、翻訳処理の途中で処理を一時
中断する場所である。ブレークポイントの決定方法とし
ては、ユーザがルール名などを入力することによって指
定しても良い。また、ユーザが指定しなくても、システ
ムが自動決定することもできる。この場合、解析結果に
曖昧さが生じた場所をブレークポイントとすることもで
きるし、予め処理の切れ目などをブレークポイントとす
るようにしておいても良い。さらに、文法が適用される
毎に停止するようにステップ動作を行っても良い。この
場合、誤った文法が適用されたときには適用前の状態に
戻すことが必要になるが、これは解析結果である中間表
現をバッファリングしておくことによって容易に実現で
きる。
る。ブレークポイントは、翻訳処理の途中で処理を一時
中断する場所である。ブレークポイントの決定方法とし
ては、ユーザがルール名などを入力することによって指
定しても良い。また、ユーザが指定しなくても、システ
ムが自動決定することもできる。この場合、解析結果に
曖昧さが生じた場所をブレークポイントとすることもで
きるし、予め処理の切れ目などをブレークポイントとす
るようにしておいても良い。さらに、文法が適用される
毎に停止するようにステップ動作を行っても良い。この
場合、誤った文法が適用されたときには適用前の状態に
戻すことが必要になるが、これは解析結果である中間表
現をバッファリングしておくことによって容易に実現で
きる。
【0014】(ステップ4)ユーザは、通常の翻訳処理
と同様に翻訳の開始を指示する。なお、翻訳のための形
態素解析,構文解析などの方法については特開昭61−
40671号公報,特開昭61−163467号公報な
どで開示された手法を利用すればよい。
と同様に翻訳の開始を指示する。なお、翻訳のための形
態素解析,構文解析などの方法については特開昭61−
40671号公報,特開昭61−163467号公報な
どで開示された手法を利用すればよい。
【0015】(ステップ5)システムは、ブレークポイ
ントで翻訳処理を中断し、その時点での中間表現を表示
する。表示画面の例を図3に示す。これは、入力日本文
において、文の述語が「かける」であり、「彼」,「ド
ア」,「鍵」という3つの単語が「かける」に係ってい
ると解析されたことを示している。また、番号“0”の
「文」のノードは、解析結果の解析結果の最も親のノー
ドとアークラベルの無いアークによって接続されるダミ
ーのノードである。これらの解析結果は、図4に示すノ
ードテーブル91に格納される。
ントで翻訳処理を中断し、その時点での中間表現を表示
する。表示画面の例を図3に示す。これは、入力日本文
において、文の述語が「かける」であり、「彼」,「ド
ア」,「鍵」という3つの単語が「かける」に係ってい
ると解析されたことを示している。また、番号“0”の
「文」のノードは、解析結果の解析結果の最も親のノー
ドとアークラベルの無いアークによって接続されるダミ
ーのノードである。これらの解析結果は、図4に示すノ
ードテーブル91に格納される。
【0016】(ステップ6)解析結果に問題がなければ
、翻訳処理を続行し、次のブレークポイントへ進む。 解析結果に問題があって、ルールを作成する必要があれ
ば、ステップ7に進む。図3に示す例文の解析結果の場
合、「鍵」と「かける」が別のノードと解析されている
ため、「鍵」の訳語として“lock”が「かける」の
訳語として“hang”が訳出されてしまう。そこで、
ステップ7に進み、中間表現を変更する。
、翻訳処理を続行し、次のブレークポイントへ進む。 解析結果に問題があって、ルールを作成する必要があれ
ば、ステップ7に進む。図3に示す例文の解析結果の場
合、「鍵」と「かける」が別のノードと解析されている
ため、「鍵」の訳語として“lock”が「かける」の
訳語として“hang”が訳出されてしまう。そこで、
ステップ7に進み、中間表現を変更する。
【0017】(ステップ7)図3に示す画面において、
処理対象とするノードおよび行いたい処理の種類を指定
することにより、ユーザは中間表現の変更を行う。シス
テムは、ユーザの行った処理に基づいて、文法を作成す
るためのテーブルを準備する。
処理対象とするノードおよび行いたい処理の種類を指定
することにより、ユーザは中間表現の変更を行う。シス
テムは、ユーザの行った処理に基づいて、文法を作成す
るためのテーブルを準備する。
【0018】以下、図5の処理フローを用いて詳細に説
明する。
明する。
【0019】(ステップ701)ユーザは、ルールを新
規作成するのか、既にあるルールを変更するのかを選択
する。新規作成の場合は、ステップ703に進み、変更
の場合はステップ702に進む。ここでは、新規作成の
場合を説明し、ステップ702については後述する第2
の例において説明する。(ステップ703)ユーザは、
処理を行いたいノードを指定する。(ステップ704)
ユーザは、行いたい処理の種類を指定する。行える処理
の種類は、文法記述言語において中間表現に対し実行で
きる処理の種類に対応している。
規作成するのか、既にあるルールを変更するのかを選択
する。新規作成の場合は、ステップ703に進み、変更
の場合はステップ702に進む。ここでは、新規作成の
場合を説明し、ステップ702については後述する第2
の例において説明する。(ステップ703)ユーザは、
処理を行いたいノードを指定する。(ステップ704)
ユーザは、行いたい処理の種類を指定する。行える処理
の種類は、文法記述言語において中間表現に対し実行で
きる処理の種類に対応している。
【0020】図6に、本発明における文法の構成を簡単
に示す。文法は、複数のサブ文法からなる。サブ文法は
、通常、時制の決定など、機能ごとにまとめられたルー
ルのまとまりである。サブ文法は、“SUBGRAMM
AR”という文字列で始まり、“SUBGRAMMAR
END”で終了する。 “SUBGRAMMAR”の次に続く“S001”など
の文字列は、サブ文法名を示す。サブ文法名の後には、
“USER”あるいは“SYSTEM”という文字列が
続く。これは、このサブ文法が予めシステムに用意され
ていたものか、ユーザが新たに作成したものかを区別す
るものである。 ルールは、条件部とアクション部からなる。
に示す。文法は、複数のサブ文法からなる。サブ文法は
、通常、時制の決定など、機能ごとにまとめられたルー
ルのまとまりである。サブ文法は、“SUBGRAMM
AR”という文字列で始まり、“SUBGRAMMAR
END”で終了する。 “SUBGRAMMAR”の次に続く“S001”など
の文字列は、サブ文法名を示す。サブ文法名の後には、
“USER”あるいは“SYSTEM”という文字列が
続く。これは、このサブ文法が予めシステムに用意され
ていたものか、ユーザが新たに作成したものかを区別す
るものである。 ルールは、条件部とアクション部からなる。
【0021】ルールの例を、図7に示す。条件部は、親
子関係の組で表現されたツリーを表しており、条件部が
表すツリーとマッチする解析結果中のサブツリーが、ア
クション部に記述されている操作によって変更される。 例えば、図7に示すルールの例において、「@1(B:
@3);」という表現は、@1という親ノードと@2と
いう子ノードがAというラベルを持つアークで結ばれた
2項組を表現している。また、ノードが持つ属性は、親
ノードに続いて“:属性式”と記述することで表現する
。例えば、図7において“@1:品詞=N(A:@2)
”という記述があるが、これは“@1”というノードの
品詞が名詞であるという条件を示している。アクション
部において行われる操作は、アークラベルの前に、“+
”,“−”,“#”などの記号を付加することによって
表現する。ここで“+”はノードの付加を、“−”はノ
ードの削除を、“#”はアークラベルの変更を表してい
る。システムは、これらのルールを読み込み中間表現を
変更していく。文法記述言語の処理系は、プログラム言
語のコンパイラ・インタプリタなどに用いられている方
法を用いれば実現できるので説明は省略する。
子関係の組で表現されたツリーを表しており、条件部が
表すツリーとマッチする解析結果中のサブツリーが、ア
クション部に記述されている操作によって変更される。 例えば、図7に示すルールの例において、「@1(B:
@3);」という表現は、@1という親ノードと@2と
いう子ノードがAというラベルを持つアークで結ばれた
2項組を表現している。また、ノードが持つ属性は、親
ノードに続いて“:属性式”と記述することで表現する
。例えば、図7において“@1:品詞=N(A:@2)
”という記述があるが、これは“@1”というノードの
品詞が名詞であるという条件を示している。アクション
部において行われる操作は、アークラベルの前に、“+
”,“−”,“#”などの記号を付加することによって
表現する。ここで“+”はノードの付加を、“−”はノ
ードの削除を、“#”はアークラベルの変更を表してい
る。システムは、これらのルールを読み込み中間表現を
変更していく。文法記述言語の処理系は、プログラム言
語のコンパイラ・インタプリタなどに用いられている方
法を用いれば実現できるので説明は省略する。
【0022】以下では、例文の解析結果から文法を作成
するための操作の方法を説明する。まず、ユーザは、「
鍵」の訳語に、“lock”という動詞があるかどうか
を探す。まず、「鍵」の辞書情報を調べるため、図3の
画面において、「鍵」のノード番号“4”を入力し、処
理の種類として、辞書検索“6”を入力する。これによ
り、辞書情報が検索される。
するための操作の方法を説明する。まず、ユーザは、「
鍵」の訳語に、“lock”という動詞があるかどうか
を探す。まず、「鍵」の辞書情報を調べるため、図3の
画面において、「鍵」のノード番号“4”を入力し、処
理の種類として、辞書検索“6”を入力する。これによ
り、辞書情報が検索される。
【0023】図8に辞書情報の例を示す。ここでは、「
鍵」という見だし語を持つ単語の日本語情報,英語情報
が示されている。これを見ると、「鍵」の訳語には“l
ock”という名詞しか無いことが分かる。そこで、辞
書に“lock”という動詞を登録する。動詞の登録に
おいては、その動詞がとる文型および各要素がとるべき
深層格を記述する必要がある。
鍵」という見だし語を持つ単語の日本語情報,英語情報
が示されている。これを見ると、「鍵」の訳語には“l
ock”という名詞しか無いことが分かる。そこで、辞
書に“lock”という動詞を登録する。動詞の登録に
おいては、その動詞がとる文型および各要素がとるべき
深層格を記述する必要がある。
【0024】以下、図9、および図10を用いて、説明
する。図9に示すような画面において、ユーザに選択さ
せることにより文型を決定する。この場合には、“He
locksa door.”という文において、動詞
はS+V+O型なので“3”を選択する。次に、各要素
がとるべき深層格を決定する。これは、図10に示すよ
うな画面において、各要素がとるべき深層格を選択する
ことによって決定する。これにより、図11に示すよう
にS+V+O型の文型を持つ動詞が登録される。さらに
、「鍵」が英語で動詞に訳されるのは、「鍵をかける」
という表現のときだけだと考えられるため、訳語条件に
IDIOMを入力する。これにより、イディオム文法が
適用されたときだけ、動詞訳を出力することができる。 以上のように辞書情報を設定することによって、図21
に示されるような中間表現が得られれば、希望する訳が
得られることになる。よって、ユーザは中間表現の書き
換えを行う。まず、ユーザは、ステップ703に戻って
ノード“1”を選択し、処理の種類として削除“3”を
選択し、ステップ706へ進む。以下、ノード削除処理
を、図12に示す処理フローを用いて詳細に説明する。
する。図9に示すような画面において、ユーザに選択さ
せることにより文型を決定する。この場合には、“He
locksa door.”という文において、動詞
はS+V+O型なので“3”を選択する。次に、各要素
がとるべき深層格を決定する。これは、図10に示すよ
うな画面において、各要素がとるべき深層格を選択する
ことによって決定する。これにより、図11に示すよう
にS+V+O型の文型を持つ動詞が登録される。さらに
、「鍵」が英語で動詞に訳されるのは、「鍵をかける」
という表現のときだけだと考えられるため、訳語条件に
IDIOMを入力する。これにより、イディオム文法が
適用されたときだけ、動詞訳を出力することができる。 以上のように辞書情報を設定することによって、図21
に示されるような中間表現が得られれば、希望する訳が
得られることになる。よって、ユーザは中間表現の書き
換えを行う。まず、ユーザは、ステップ703に戻って
ノード“1”を選択し、処理の種類として削除“3”を
選択し、ステップ706へ進む。以下、ノード削除処理
を、図12に示す処理フローを用いて詳細に説明する。
【0025】(ステップ7061)ノードテーブル91
中で、削除対象ノードの親ノード欄を−1にする。ここ
で、親ノードが−1とは、他のノードと接続しないノー
ドであることを示す。(ステップ7062)ノードテー
ブル91中で、削除対象ノードの親ノードを調べ、その
子供数欄を1減少させる。(ステップ7063)ノード
テーブル91中で、削除対象ノードの親ノードを調べ、
その子供欄から削除対象ノードを消す。(ステップ70
64)履歴テーブル92に、削除処理を行ったことを格
納する。履歴テーブル92の例を図13に示す。削除処
理の履歴としては、削除対象ノードを子ノード欄に格納
し、その親ノードを親ノード欄に格納する。親ノードは
、ノードテーブル91を参照することによって自動的に
得られる。
中で、削除対象ノードの親ノード欄を−1にする。ここ
で、親ノードが−1とは、他のノードと接続しないノー
ドであることを示す。(ステップ7062)ノードテー
ブル91中で、削除対象ノードの親ノードを調べ、その
子供数欄を1減少させる。(ステップ7063)ノード
テーブル91中で、削除対象ノードの親ノードを調べ、
その子供欄から削除対象ノードを消す。(ステップ70
64)履歴テーブル92に、削除処理を行ったことを格
納する。履歴テーブル92の例を図13に示す。削除処
理の履歴としては、削除対象ノードを子ノード欄に格納
し、その親ノードを親ノード欄に格納する。親ノードは
、ノードテーブル91を参照することによって自動的に
得られる。
【0026】変更されたノードテーブル91に基づいて
、中間表現を表示すると図14に示すようになる。次に
ステップ703において、ノード“4”を選択し、処理
の種類としてノード付加を選択する。以下、ノード付加
処理の詳細を図15を用いて詳細に説明する。
、中間表現を表示すると図14に示すようになる。次に
ステップ703において、ノード“4”を選択し、処理
の種類としてノード付加を選択する。以下、ノード付加
処理の詳細を図15を用いて詳細に説明する。
【0027】(ステップ7051)ユーザは、付加先ノ
ードの番号を入力する。(ステップ7052)ノードテ
ーブル91中で、対象ノードの親ノード欄を、付加先ノ
ードの番号にする。(ステップ7053)ノードテーブ
ル91中で、付加先ノードの子供ノード数欄を、1増加
する。(ステップ7054)ノードテーブル91中で、
付加先ノードの子供ノード欄に、対象ノードを加える。 (ステップ7055)履歴テーブル92に、ノード付加
処理の履歴を格納する。対象ノードを子ノード欄に格納
し、付加先ノードを親ノード欄に格納する。
ードの番号を入力する。(ステップ7052)ノードテ
ーブル91中で、対象ノードの親ノード欄を、付加先ノ
ードの番号にする。(ステップ7053)ノードテーブ
ル91中で、付加先ノードの子供ノード数欄を、1増加
する。(ステップ7054)ノードテーブル91中で、
付加先ノードの子供ノード欄に、対象ノードを加える。 (ステップ7055)履歴テーブル92に、ノード付加
処理の履歴を格納する。対象ノードを子ノード欄に格納
し、付加先ノードを親ノード欄に格納する。
【0028】さらに、ユーザは、ステップ703におい
て、ノード“2”および“3”をノード“4”に付加す
る操作を行う。これは、既に説明したノード付加処理と
同様に扱われるので、説明は省略する。
て、ノード“2”および“3”をノード“4”に付加す
る操作を行う。これは、既に説明したノード付加処理と
同様に扱われるので、説明は省略する。
【0029】次に、ユーザはステップ703に戻りノー
ド“2”を入力し、アークラベルの変更を行う。以下、
アークラベル変更処理を図16を用いて詳細に説明する
。
ド“2”を入力し、アークラベルの変更を行う。以下、
アークラベル変更処理を図16を用いて詳細に説明する
。
【0030】(ステップ7091)ユーザは、アークラ
ベルを入力する。(ステップ7092)ノードテーブル
91中で、対象ノードのアークラベル欄をステップ70
91で入力されたアークラベルに変更する。(ステップ
7093)履歴テーブル92に、アークラベル変更処理
の履歴を格納する。対象ノードを子ノード欄に格納し、
親ノードを親ノード欄に格納する。また、ステップ70
91で入力されたアークラベルをアークラベル欄に格納
する。
ベルを入力する。(ステップ7092)ノードテーブル
91中で、対象ノードのアークラベル欄をステップ70
91で入力されたアークラベルに変更する。(ステップ
7093)履歴テーブル92に、アークラベル変更処理
の履歴を格納する。対象ノードを子ノード欄に格納し、
親ノードを親ノード欄に格納する。また、ステップ70
91で入力されたアークラベルをアークラベル欄に格納
する。
【0031】さらに、ユーザは、ステップ703におい
て、ノード“3”のアークラベルを「対象」に変更する
処理を行う。この処理は、既に説明したアークラベル変
更処理と同様に行われるので、説明は省略する。
て、ノード“3”のアークラベルを「対象」に変更する
処理を行う。この処理は、既に説明したアークラベル変
更処理と同様に行われるので、説明は省略する。
【0032】次に、ユーザは、削除された“1”のノー
ドから、必要な属性をコピーする。これは、文の時制,
態などの属性が“1”のノードに含まれているためであ
る。そこで、ユーザは“1”のノードを選択し、3の属
性コピー処理を選択する。以下、この処理を図17を用
いて詳細に説明する。
ドから、必要な属性をコピーする。これは、文の時制,
態などの属性が“1”のノードに含まれているためであ
る。そこで、ユーザは“1”のノードを選択し、3の属
性コピー処理を選択する。以下、この処理を図17を用
いて詳細に説明する。
【0033】(ステップ7081)複写先のノードをユ
ーザが入力する。ここでは、“4”のノードに複写する
。(ステップ7082)複写のモードを指定する。モー
ドには、体言情報複写,用言情報複写,全属性複写,属
性指定複写の4つがある。体言情報複写モードは、名詞
の単数複数などの情報などを複写する。用言情報複写モ
ードは、用言の時制,態,アスペクトなどの情報をコピ
ーする。以上で複写される属性は、予め定めておく。 全属性複写は、全ての属性を複写するものである。属性
指定複写は、ユーザが指定した属性のみを複写する機能
である。ここでは、用言情報複写を選択し、“1”のノ
ードの時制などの情報を複写する。(ステップ7083
)ステップ7082で指定された属性について、ノード
テーブル91中の複写元ノードの欄から、複写先ノード
の欄にコピーする。(ステップ7084)履歴テーブル
92に属性複写処理を行ったことを格納する。
ーザが入力する。ここでは、“4”のノードに複写する
。(ステップ7082)複写のモードを指定する。モー
ドには、体言情報複写,用言情報複写,全属性複写,属
性指定複写の4つがある。体言情報複写モードは、名詞
の単数複数などの情報などを複写する。用言情報複写モ
ードは、用言の時制,態,アスペクトなどの情報をコピ
ーする。以上で複写される属性は、予め定めておく。 全属性複写は、全ての属性を複写するものである。属性
指定複写は、ユーザが指定した属性のみを複写する機能
である。ここでは、用言情報複写を選択し、“1”のノ
ードの時制などの情報を複写する。(ステップ7083
)ステップ7082で指定された属性について、ノード
テーブル91中の複写元ノードの欄から、複写先ノード
の欄にコピーする。(ステップ7084)履歴テーブル
92に属性複写処理を行ったことを格納する。
【0034】最後に、ユーザは“4”のノードに、訳語
選択条件として“IDIOM”を登録する。これにより
、「鍵」の訳語の中で、動詞の“lock”の訳語選択
条件として“IDIOM”を設定してあるので、「鍵を
かける」に対するイディオム文法が実行されたときだけ
、動詞訳が選択されるようになる。以下、このステップ
を図18を用いて詳細に説明する。
選択条件として“IDIOM”を登録する。これにより
、「鍵」の訳語の中で、動詞の“lock”の訳語選択
条件として“IDIOM”を設定してあるので、「鍵を
かける」に対するイディオム文法が実行されたときだけ
、動詞訳が選択されるようになる。以下、このステップ
を図18を用いて詳細に説明する。
【0035】(ステップ7071)属性設定のレベルを
指定する。レベルとして、エンドユーザレベルやエキス
パートレベルなど複数用意しておき、各レベルにおいて
設定できる属性の種類などを予め定めておく。図19に
エンドユーザレベルの、図20にエキスパートレベルの
属性入力画面を示す。ここでは、エンドユーザレベルを
選択したものとする。(テップ7072)属性および属
性値を入力する。(ステップ7073)履歴テーブル9
2に属性設定処理を行ったことを格納する。
指定する。レベルとして、エンドユーザレベルやエキス
パートレベルなど複数用意しておき、各レベルにおいて
設定できる属性の種類などを予め定めておく。図19に
エンドユーザレベルの、図20にエキスパートレベルの
属性入力画面を示す。ここでは、エンドユーザレベルを
選択したものとする。(テップ7072)属性および属
性値を入力する。(ステップ7073)履歴テーブル9
2に属性設定処理を行ったことを格納する。
【0036】以上の操作により、図21に示すような正
しい中間表現が得られる。
しい中間表現が得られる。
【0037】(ステップ711)中間表現の変更を終了
したら、図21に示す画面において終了を選択し、ステ
ップ712にすすむ。(ステップ712)ステップ70
1におけるユーザの指示に従いステップ713あるいは
ステップ714にすすむ。この場合は、ステップ701
において新規作成が指示されているのでステップ712
へ進む。(ステップ713)条件テーブル93を作成す
る。以下、このステップを図22に示す処理フローを用
いて説明する。
したら、図21に示す画面において終了を選択し、ステ
ップ712にすすむ。(ステップ712)ステップ70
1におけるユーザの指示に従いステップ713あるいは
ステップ714にすすむ。この場合は、ステップ701
において新規作成が指示されているのでステップ712
へ進む。(ステップ713)条件テーブル93を作成す
る。以下、このステップを図22に示す処理フローを用
いて説明する。
【0038】(ステップ7131)履歴テーブル92に
現れる全てのノードを調べ、条件テーブル93の親ノー
ド欄に格納する。条件テーブル93の例を図23に示す
。条件テーブル93に現れるノードは、ルールの条件部
に記述するノードのデフォルトである。(ステップ71
32)ノードテーブル91を用いて、ブレークポイント
での中間表現を表示する。その際、条件テーブル93中
のノードは、色を変えて表示するなど、強調して表示す
る。(ステップ7133)ルールの条件部に記述するノ
ードの追加がないかをユーザに確認する。ここで、条件
部に記述されるノード数が多いほど、条件が成立しにく
くなり、ルールが適用されにくくなる。追加があれば、
ユーザの入力を条件テーブル93に追加し、追加がなけ
れば、ステップ7134に進む。(ステップ7134)
ノードテーブル91から条件テーブル93へ、アークラ
ベルの複写を行う。条件テーブル93中の全てのノード
について、保存用ノードテーブル91中で子ノードが同
じ番号である列のアークラベルを、条件テーブル93の
アークラベル欄に複写する。アークラベル数は全て1に
する。(ステップ7135)アークラベルの追加がない
かどうかをユーザに確認する。この場合、ノード“2”
のアークラベルは、「は」でも「が」でもよいので、ユ
ーザは、ノード“2”のアークラベルに「が」を追加す
る。
現れる全てのノードを調べ、条件テーブル93の親ノー
ド欄に格納する。条件テーブル93の例を図23に示す
。条件テーブル93に現れるノードは、ルールの条件部
に記述するノードのデフォルトである。(ステップ71
32)ノードテーブル91を用いて、ブレークポイント
での中間表現を表示する。その際、条件テーブル93中
のノードは、色を変えて表示するなど、強調して表示す
る。(ステップ7133)ルールの条件部に記述するノ
ードの追加がないかをユーザに確認する。ここで、条件
部に記述されるノード数が多いほど、条件が成立しにく
くなり、ルールが適用されにくくなる。追加があれば、
ユーザの入力を条件テーブル93に追加し、追加がなけ
れば、ステップ7134に進む。(ステップ7134)
ノードテーブル91から条件テーブル93へ、アークラ
ベルの複写を行う。条件テーブル93中の全てのノード
について、保存用ノードテーブル91中で子ノードが同
じ番号である列のアークラベルを、条件テーブル93の
アークラベル欄に複写する。アークラベル数は全て1に
する。(ステップ7135)アークラベルの追加がない
かどうかをユーザに確認する。この場合、ノード“2”
のアークラベルは、「は」でも「が」でもよいので、ユ
ーザは、ノード“2”のアークラベルに「が」を追加す
る。
【0039】(ステップ714)条件部属性の設定を行
う。以下、このステップを図24を用いて詳細に説明す
る。
う。以下、このステップを図24を用いて詳細に説明す
る。
【0040】(ステップ7141)ユーザは、属性設定
のレベルを指定する。このレベルにより、ユーザが記述
できる属性の種類が異なる。例えば、エンドユーザレベ
ルを指定すれば、属性として設定できるのは、ノードの
文字列,時制,態など特定の文法記述言語や機械翻訳シ
ステムに依存しない一般的な情報のみとなる。どの属性
を設定できるかは、予め設定しておく。また、エキスパ
ートレベルを指定すれば、全ての属性を設定できるよう
になる。ここでは、エンドユーザレベルを指定したもの
とする。(ステップ7142)ユーザは、属性を設定す
るノードを指定する。ここでは、ユーザは、“1”のノ
ードを選択する。(ステップ7143)属性入力画面に
おいて、ユーザは設定すべき属性と属性値の入力を行う
。ここでは、ノードの文字列属性として、「かける」,
「掛ける」を設定し、それ以外のときルールが起動され
ないようにする。入力された、属性および属性値は、条
件テーブル93の属性欄に格納される。(ステップ71
44)属性設定が終了すれば、処理を終了し、属性設定
を続行するならば、ステップ7142に戻る。ここでは
、ステップ7142に戻り、ノード“4”を入力する。 更に、ステップ7143に進み、ノードの文字列属性と
して、「鍵」,「かぎ」を入力し、処理を終了する。
のレベルを指定する。このレベルにより、ユーザが記述
できる属性の種類が異なる。例えば、エンドユーザレベ
ルを指定すれば、属性として設定できるのは、ノードの
文字列,時制,態など特定の文法記述言語や機械翻訳シ
ステムに依存しない一般的な情報のみとなる。どの属性
を設定できるかは、予め設定しておく。また、エキスパ
ートレベルを指定すれば、全ての属性を設定できるよう
になる。ここでは、エンドユーザレベルを指定したもの
とする。(ステップ7142)ユーザは、属性を設定す
るノードを指定する。ここでは、ユーザは、“1”のノ
ードを選択する。(ステップ7143)属性入力画面に
おいて、ユーザは設定すべき属性と属性値の入力を行う
。ここでは、ノードの文字列属性として、「かける」,
「掛ける」を設定し、それ以外のときルールが起動され
ないようにする。入力された、属性および属性値は、条
件テーブル93の属性欄に格納される。(ステップ71
44)属性設定が終了すれば、処理を終了し、属性設定
を続行するならば、ステップ7142に戻る。ここでは
、ステップ7142に戻り、ノード“4”を入力する。 更に、ステップ7143に進み、ノードの文字列属性と
して、「鍵」,「かぎ」を入力し、処理を終了する。
【0041】(ステップ8)履歴テーブル92に格納さ
れた中間表現変更履歴、およびユーザによる中間表現が
行われる直前の中間表現が格納された条件ノードテーブ
ル91を用いて文法を作成する。以下、この処理を図2
5の処理フローを用いて詳細に説明する。
れた中間表現変更履歴、およびユーザによる中間表現が
行われる直前の中間表現が格納された条件ノードテーブ
ル91を用いて文法を作成する。以下、この処理を図2
5の処理フローを用いて詳細に説明する。
【0042】(ステップ81)ルールの条件部を作成す
る。以下このステップを図26に示す処理フローを用い
て説明する。
る。以下このステップを図26に示す処理フローを用い
て説明する。
【0043】(ステップ811)条件テーブル93から
ノードを一つ選ぶ。(ステップ812)ステップ1で選
んだノードをワークテーブルに出力する。(ステップ8
13)ノードテーブル91を参照し、未処理の子ノード
があるかどうか調べる。あれば、ステップ4へ進み、な
ければステップ9へ進む。(ステップ814)ノードテ
ーブル91から未処理の子ノードを一つ選ぶ。(ステッ
プ815)条件テーブル93のノードで、ステップ81
4で選んだ子ノードと同じノードを選ぶ。(ステップ8
16)条件テーブル93中で、ステップ815で選んだ
ノードの属性数が0より大きいかどうか調べる。大きけ
ればステップ817へ進み、大きくなければステップ8
18へ進む。(ステップ817)属性および属性値をワ
ークテーブル1へ出力する。(ステップ818)子ノー
ドおよびアークラベルをワークテーブル1へ出力する。 (ステップ819)条件テーブル93中のノードを全て
処理したかどうか調べる。処理していなければステップ
811へ戻り、処理していれば処理を終了する。
ノードを一つ選ぶ。(ステップ812)ステップ1で選
んだノードをワークテーブルに出力する。(ステップ8
13)ノードテーブル91を参照し、未処理の子ノード
があるかどうか調べる。あれば、ステップ4へ進み、な
ければステップ9へ進む。(ステップ814)ノードテ
ーブル91から未処理の子ノードを一つ選ぶ。(ステッ
プ815)条件テーブル93のノードで、ステップ81
4で選んだ子ノードと同じノードを選ぶ。(ステップ8
16)条件テーブル93中で、ステップ815で選んだ
ノードの属性数が0より大きいかどうか調べる。大きけ
ればステップ817へ進み、大きくなければステップ8
18へ進む。(ステップ817)属性および属性値をワ
ークテーブル1へ出力する。(ステップ818)子ノー
ドおよびアークラベルをワークテーブル1へ出力する。 (ステップ819)条件テーブル93中のノードを全て
処理したかどうか調べる。処理していなければステップ
811へ戻り、処理していれば処理を終了する。
【0044】(ステップ82)ルールのアクション部を
作成する。以下、図27に示す処理フローを用いて詳細
に説明する。
作成する。以下、図27に示す処理フローを用いて詳細
に説明する。
【0045】(ステップ8201)履歴テーブル92か
ら親ノードを取り出す。(ステップ8202)親ノード
をワークテーブル2に出力する。(ステップ8203)
属性数が0より大きいかどうか調べる。大きければ、ス
テップ8204へ進み、大きくなければステップ820
5へすすむ。(ステップ8204)属性および属性複写
元の子ノードをワークテーブル2へ出力する。(ステッ
プ8205)履歴テーブル92から子ノードを取り出す
。(ステップ8206)アークラベルがあるかどうか調
べる。あればステップ827へ進み、なければステップ
8210へすすむ。(ステップ8207)処理の種類を
出力する。(ステップ8208)アークラベルを出力す
る。(ステップ8209)子ノードをワークテーブル2
に出力する。(ステップ8210)履歴テーブル92中
のノードを全て処理したかどうか調べる。処理していな
ければステップ8201へ進み、処理していれば処理を
終了する。
ら親ノードを取り出す。(ステップ8202)親ノード
をワークテーブル2に出力する。(ステップ8203)
属性数が0より大きいかどうか調べる。大きければ、ス
テップ8204へ進み、大きくなければステップ820
5へすすむ。(ステップ8204)属性および属性複写
元の子ノードをワークテーブル2へ出力する。(ステッ
プ8205)履歴テーブル92から子ノードを取り出す
。(ステップ8206)アークラベルがあるかどうか調
べる。あればステップ827へ進み、なければステップ
8210へすすむ。(ステップ8207)処理の種類を
出力する。(ステップ8208)アークラベルを出力す
る。(ステップ8209)子ノードをワークテーブル2
に出力する。(ステップ8210)履歴テーブル92中
のノードを全て処理したかどうか調べる。処理していな
ければステップ8201へ進み、処理していれば処理を
終了する。
【0046】(ステップ83)ステップ81およびステ
ップ82で作成したルールをユーザ作成ルールとして、
文法ファイル7に格納する。ここで新規作成された文法
であれば、ステップ7で中間表現の変更が行われたブレ
ークポイントの直後に挿入し、ルールの変更処理が行わ
れた場合にはブレークポイントの直後の文法と置換する
。(ステップ84)入力日本文を、作成した文法の例文
として、例文ファイル8に格納する。例文ファイルの例
を図28に示す。作成した文法に対応して例文を格納し
ておくことによって、文法のデバッグなどが容易になる
。
ップ82で作成したルールをユーザ作成ルールとして、
文法ファイル7に格納する。ここで新規作成された文法
であれば、ステップ7で中間表現の変更が行われたブレ
ークポイントの直後に挿入し、ルールの変更処理が行わ
れた場合にはブレークポイントの直後の文法と置換する
。(ステップ84)入力日本文を、作成した文法の例文
として、例文ファイル8に格納する。例文ファイルの例
を図28に示す。作成した文法に対応して例文を格納し
ておくことによって、文法のデバッグなどが容易になる
。
【0047】(ステップ9)ブレークポイントの直後か
ら、翻訳処理を続行し、翻訳結果を出力する。(ステッ
プ10)ユーザは、翻訳結果に満足したかどうかを入力
する。不満であれば、ステップ4に戻って処理をやりな
おす。満足であれば、処理を終了する。
ら、翻訳処理を続行し、翻訳結果を出力する。(ステッ
プ10)ユーザは、翻訳結果に満足したかどうかを入力
する。不満であれば、ステップ4に戻って処理をやりな
おす。満足であれば、処理を終了する。
【0048】第1の実施例の第2の例として、既に作成
済みの文法の変更・保守作業支援機能について図1に示
す処理フローを用いて説明する。ここでは、「彼は、壁
に鍵を掛ける。」を例として、既に説明した「鍵を掛け
る」を処理するためのイディオム文法に変更を加える場
合について説明する。「彼は、壁に鍵を掛ける。」を第
1の例で作成した文法を用いて翻訳すると、“He l
ocksa wall.”と翻訳されてしまう。しかし
、この文における「鍵をかける」という表現は、文字通
りに、“He hangs a lock on th
e wall.”と訳されるのが正しく、既に作成され
た文法が適用されるのは誤りである。そこで、既に作成
した文法の変更を行う。
済みの文法の変更・保守作業支援機能について図1に示
す処理フローを用いて説明する。ここでは、「彼は、壁
に鍵を掛ける。」を例として、既に説明した「鍵を掛け
る」を処理するためのイディオム文法に変更を加える場
合について説明する。「彼は、壁に鍵を掛ける。」を第
1の例で作成した文法を用いて翻訳すると、“He l
ocksa wall.”と翻訳されてしまう。しかし
、この文における「鍵をかける」という表現は、文字通
りに、“He hangs a lock on th
e wall.”と訳されるのが正しく、既に作成され
た文法が適用されるのは誤りである。そこで、既に作成
した文法の変更を行う。
【0049】(ステップ1)入力文を読み込む。(ステ
ップ2)文法ジェネレータを起動する。(ステップ3)
ブレークポイントを指定する。第2の例では、ブレーク
ポイントの指定方法として、ルールが適用される毎にブ
レークしてステップ動作を行う方法を選択する。(ステ
ップ4)翻訳処理開始を指示する。(ステップ5)中間
表現を表示する。(ステップ6)中間表現が不適切であ
れば、ステップ7へ進む。適切であれば次のブレークポ
イントまで翻訳処理を続行する。(ステップ7)ユーザ
の指示により、中間表現の変更処理を行う。以下、図5
を用いて詳細に説明する。
ップ2)文法ジェネレータを起動する。(ステップ3)
ブレークポイントを指定する。第2の例では、ブレーク
ポイントの指定方法として、ルールが適用される毎にブ
レークしてステップ動作を行う方法を選択する。(ステ
ップ4)翻訳処理開始を指示する。(ステップ5)中間
表現を表示する。(ステップ6)中間表現が不適切であ
れば、ステップ7へ進む。適切であれば次のブレークポ
イントまで翻訳処理を続行する。(ステップ7)ユーザ
の指示により、中間表現の変更処理を行う。以下、図5
を用いて詳細に説明する。
【0050】(ステップ701)ルールを新規作成する
のか既にあるルールを変更するのかを選択する。新規作
成の場合は、ステップ703に進み、変更の場合はステ
ップ702に進む。ここでは、ルールの変更を選択し、
ステップ702に進む。(ステップ702)文法ファイ
ルから、ブレークポイントの直後のルールを読み込み、
これから条件テーブル93および履歴テーブル92を作
成する。この処理は、プログラム言語の翻訳プログラム
において用いられる字句解析方法を用いれば良いので詳
細な説明は省略する。(ステップ703)処理を行うノ
ードを選択する。ここでは、中間表現を変更する必要が
ないのでステップ704へ進み、(ステップ704)処
理を終了し、ステップ711へ進む。(ステップ711
)ステップ701でルールの変更が指示されているので
、ステップ714へ進む。(ステップ714)条件部属
性の設定・変更を行う。このステップを図24に示す処
理フローを用いて詳細に説明する。
のか既にあるルールを変更するのかを選択する。新規作
成の場合は、ステップ703に進み、変更の場合はステ
ップ702に進む。ここでは、ルールの変更を選択し、
ステップ702に進む。(ステップ702)文法ファイ
ルから、ブレークポイントの直後のルールを読み込み、
これから条件テーブル93および履歴テーブル92を作
成する。この処理は、プログラム言語の翻訳プログラム
において用いられる字句解析方法を用いれば良いので詳
細な説明は省略する。(ステップ703)処理を行うノ
ードを選択する。ここでは、中間表現を変更する必要が
ないのでステップ704へ進み、(ステップ704)処
理を終了し、ステップ711へ進む。(ステップ711
)ステップ701でルールの変更が指示されているので
、ステップ714へ進む。(ステップ714)条件部属
性の設定・変更を行う。このステップを図24に示す処
理フローを用いて詳細に説明する。
【0051】(ステップ7141)属性設定のレベルを
指定する。ここでは、エンドユーザレベルを指定する。 (ステップ7142)属性を設定するノードを指定する
。ここでは、“3”のノードを指定する。(ステップ7
143)条件テーブル93から値を読みだす。(ステッ
プ7144)図19に示す属性入力画面において、属性
および属性値を入力する。ここでは、“3”のノードが
、「壁」のときには、既に作成したルールが適用されな
いようにするため、条件部の属性として、ノード文字列
が「壁」でないことを入力する。
指定する。ここでは、エンドユーザレベルを指定する。 (ステップ7142)属性を設定するノードを指定する
。ここでは、“3”のノードを指定する。(ステップ7
143)条件テーブル93から値を読みだす。(ステッ
プ7144)図19に示す属性入力画面において、属性
および属性値を入力する。ここでは、“3”のノードが
、「壁」のときには、既に作成したルールが適用されな
いようにするため、条件部の属性として、ノード文字列
が「壁」でないことを入力する。
【0052】(ステップ8)履歴格納テーブルおよび条
件テーブル93を用いて文法を作成する。このステップ
で、第1の例で説明した条件の他に、“3”のノードが
「壁」ではないという条件が付加されたルールが作成さ
れる。(ステップ9)変更された中間表現に基づいて、
翻訳処理を続行し、翻訳結果を出力する。この場合、“
3”のノードが「壁」であるため、ルールは適用されず
、“He hangs a lockon the w
all.”という訳文が得られる。(ステップ10)ユ
ーザは、翻訳結果に満足したかどうかを入力する。不満
であれば、ステップ4に戻って処理をやりなおす。満足
であれば、処理を終了する。
件テーブル93を用いて文法を作成する。このステップ
で、第1の例で説明した条件の他に、“3”のノードが
「壁」ではないという条件が付加されたルールが作成さ
れる。(ステップ9)変更された中間表現に基づいて、
翻訳処理を続行し、翻訳結果を出力する。この場合、“
3”のノードが「壁」であるため、ルールは適用されず
、“He hangs a lockon the w
all.”という訳文が得られる。(ステップ10)ユ
ーザは、翻訳結果に満足したかどうかを入力する。不満
であれば、ステップ4に戻って処理をやりなおす。満足
であれば、処理を終了する。
【0053】以上の処理によって、機械翻訳に必要な文
法が視覚的,対話的に作成できるため文法作成の効率が
向上する。
法が視覚的,対話的に作成できるため文法作成の効率が
向上する。
【0054】第2の実施例として、インタラクティブ翻
訳システムに本発明を適用した例を示す。以下、図29
に示す処理フローに従い詳細に説明する。
訳システムに本発明を適用した例を示す。以下、図29
に示す処理フローに従い詳細に説明する。
【0055】(ステップ21)入力文を読み込む。(ス
テップ22)翻訳開始を指示する。(ステップ23)処
理中に曖昧さが発生したかどうかを判定する。曖昧さが
発生した場合には、ステップ24に進む。発生しなけれ
ば、ステップ26に進む。(ステップ24)インタラク
ティブに曖昧さを解消する。このステップを図30に示
す処理フローを用いて詳細に説明する。以下、「A社は
、新しいシステムを構築した。」という例文において、
「構築する」の訳語の曖昧さを解消する場合を説明する
。
テップ22)翻訳開始を指示する。(ステップ23)処
理中に曖昧さが発生したかどうかを判定する。曖昧さが
発生した場合には、ステップ24に進む。発生しなけれ
ば、ステップ26に進む。(ステップ24)インタラク
ティブに曖昧さを解消する。このステップを図30に示
す処理フローを用いて詳細に説明する。以下、「A社は
、新しいシステムを構築した。」という例文において、
「構築する」の訳語の曖昧さを解消する場合を説明する
。
【0056】(ステップ241)解の候補を全て表示す
る。図31に、「構築する」の解候補の表示例を示す。 この例に示されるように、「構築する」には、“bui
ld”と“construct” の2通りの訳語が存
在する。そこで、システムは、図31に示すように、こ
の2通りの訳語を表示する。(ステップ242)ユーザ
は、表示された候補のいずれかを選ぶ。この場合、「シ
ステム」の「構築」には、“build”が通常使用さ
れるので、ユーザは1を選択する。
る。図31に、「構築する」の解候補の表示例を示す。 この例に示されるように、「構築する」には、“bui
ld”と“construct” の2通りの訳語が存
在する。そこで、システムは、図31に示すように、こ
の2通りの訳語を表示する。(ステップ242)ユーザ
は、表示された候補のいずれかを選ぶ。この場合、「シ
ステム」の「構築」には、“build”が通常使用さ
れるので、ユーザは1を選択する。
【0057】(ステップ25)検出された曖昧さの種類
に従って、文法を作成する。以下、このステップを図3
2を用いて詳細に説明する。(ステップ251)中間表
現を表示する。表示例を図33に示す。(ステップ25
2)曖昧さの種類に応じて、文法のテンプレートを読み
出す。図34に、テンプレートファイル10の例を示す
。図中、“?i”(iは数字)は変数である。訳語の曖
昧さに対するテンプレートでは、“?1”は、訳語の曖
昧さが発生したノード番号が自動的に格納される。 “?2”は、訳語選択処理において選択される訳語グル
ープが格納される。(ステップ253)アクション部を
作成する。この場合、ステップ242において入力され
た1で“?2”を置換する。(ステップ254)条件部
を作成するのに用いる条件テーブル93を作成する。以
下、このステップを図35に示す処理フローを用いて説
明する。
に従って、文法を作成する。以下、このステップを図3
2を用いて詳細に説明する。(ステップ251)中間表
現を表示する。表示例を図33に示す。(ステップ25
2)曖昧さの種類に応じて、文法のテンプレートを読み
出す。図34に、テンプレートファイル10の例を示す
。図中、“?i”(iは数字)は変数である。訳語の曖
昧さに対するテンプレートでは、“?1”は、訳語の曖
昧さが発生したノード番号が自動的に格納される。 “?2”は、訳語選択処理において選択される訳語グル
ープが格納される。(ステップ253)アクション部を
作成する。この場合、ステップ242において入力され
た1で“?2”を置換する。(ステップ254)条件部
を作成するのに用いる条件テーブル93を作成する。以
下、このステップを図35に示す処理フローを用いて説
明する。
【0058】(ステップ2541)曖昧さが発生したノ
ードを条件テーブル93に格納する。(ステップ254
2)ユーザが、条件部に記述するノードを入力する。ユ
ーザが入力したノードは、条件テーブル93へ格納され
る。(ステップ2543)ノードテーブル91を参照し
て、ステップ2541およびステップ2542で条件テ
ーブル93に格納されたノードの親ノードおよび親ノー
ドへのアークのラベルを条件テーブル93へ複写する。 (ステップ2544)属性設定のレベルを指定する。 (ステップ2545)属性と属性値を入力する。ここで
、“1”のノードの属性条件として、ノード文字列属性
に「構築する」を、“3”のノードの属性条件として、
ノード文字列属性に「システム」を設定する。
ードを条件テーブル93に格納する。(ステップ254
2)ユーザが、条件部に記述するノードを入力する。ユ
ーザが入力したノードは、条件テーブル93へ格納され
る。(ステップ2543)ノードテーブル91を参照し
て、ステップ2541およびステップ2542で条件テ
ーブル93に格納されたノードの親ノードおよび親ノー
ドへのアークのラベルを条件テーブル93へ複写する。 (ステップ2544)属性設定のレベルを指定する。 (ステップ2545)属性と属性値を入力する。ここで
、“1”のノードの属性条件として、ノード文字列属性
に「構築する」を、“3”のノードの属性条件として、
ノード文字列属性に「システム」を設定する。
【0059】(ステップ255)条件テーブル93から
、条件部を作成する。この処理は第1の実施例における
ステップと同様なので説明は省略する。(ステップ25
6)文法を格納する。格納する場所は、曖昧さが発生し
た箇所に応じて、格納位置テーブルを参照することによ
って決定する。格納位置テーブルには、曖昧さが発生し
た箇所とルールを格納する場所が記述されている。ここ
では、訳語決定処理において曖昧さが発生しているので
、深層格解析直後にルールを格納する。
、条件部を作成する。この処理は第1の実施例における
ステップと同様なので説明は省略する。(ステップ25
6)文法を格納する。格納する場所は、曖昧さが発生し
た箇所に応じて、格納位置テーブルを参照することによ
って決定する。格納位置テーブルには、曖昧さが発生し
た箇所とルールを格納する場所が記述されている。ここ
では、訳語決定処理において曖昧さが発生しているので
、深層格解析直後にルールを格納する。
【0060】(ステップ26)全ての文法を適用したら
、処理を終了する。
、処理を終了する。
【0061】以上の処理によって、インタラクティブ翻
訳システムにおいて、曖昧さを解消するためにユーザが
入力した情報を用いて、新たに文法を作成することが可
能になり、再度同じ文を翻訳する際に、同じ情報を入力
する必要がなくなる。
訳システムにおいて、曖昧さを解消するためにユーザが
入力した情報を用いて、新たに文法を作成することが可
能になり、再度同じ文を翻訳する際に、同じ情報を入力
する必要がなくなる。
【0062】
【発明の効果】以上説明したように、本発明によれば、
正しい文法が用意されていないために正しく翻訳するこ
とができない文に対し、翻訳処理の途中結果である中間
表現をユーザによる指示に従って直接変更することによ
って、正しい翻訳結果を得ることができ、同時にユーザ
による指示を利用することによって新たに文法を作成し
たり、文法を正しく変更することが可能になる。これに
より、機械翻訳システムや文法記述言語の詳細を知らな
いエンドユーザでも、文法の作成・保守が可能になる。 また、エキスパートにとっても表示された中間表現を直
接変更するという直感的な操作によって半自動的に文法
を作成できるので、文法作成の効率が向上する。
正しい文法が用意されていないために正しく翻訳するこ
とができない文に対し、翻訳処理の途中結果である中間
表現をユーザによる指示に従って直接変更することによ
って、正しい翻訳結果を得ることができ、同時にユーザ
による指示を利用することによって新たに文法を作成し
たり、文法を正しく変更することが可能になる。これに
より、機械翻訳システムや文法記述言語の詳細を知らな
いエンドユーザでも、文法の作成・保守が可能になる。 また、エキスパートにとっても表示された中間表現を直
接変更するという直感的な操作によって半自動的に文法
を作成できるので、文法作成の効率が向上する。
【図1】本発明の全体的な処理フローである。
【図2】本発明のハードウェア構成図である。
【図3】翻訳処理途中における中間表現表示画面を示す
。
。
【図4】解析結果が格納されるノードテーブル91の例
である。
である。
【図5】ユーザによる中間表現変更処理の処理フローで
ある。
ある。
【図6】本発明における文法の構成の例である。
【図7】本発明における文法の言語仕様を示す。
【図8】辞書データの例である。
【図9】辞書への文型登録画面の例である。
【図10】辞書への文型登録画面の例である。
【図11】文型登録後の辞書データ例である。
【図12】ノード削除処理の処理フローを示す。
【図13】履歴テーブル92の例である。
【図14】ノード削除処理後の中間表現表示画面を示す
。
。
【図15】ノード付加処理の処理フローを示す。
【図16】アークラベル変更処理の処理フローを示す。
【図17】属性複写処理の処理フローを示す。
【図18】属性設定処理の処理フローを示す。
【図19】エンドユーザレベルの属性入力画面を示す。
【図20】エキスパートレベルの属性入力画面を示す。
【図21】中間表現変更処理を完了した時点での、中間
表現表示画面を示す。
表現表示画面を示す。
【図22】ルールの条件部を作成するために用いる条件
テーブル93作成処理の処理フローを示す。
テーブル93作成処理の処理フローを示す。
【図23】条件テーブル93の例を示す。
【図24】条件部に設定する属性入力処理の処理フロー
を示す。
を示す。
【図25】文法作成処理の処理フローを示す。
【図26】ルールの条件部作成の処理フローを示す。
【図27】ルールのアクション部作成の処理フローを示
す。
す。
【図28】例文ファイルの例を示す。
【図29】第2の実施例の全体処理フローを示す。
【図30】ユーザによる曖昧さ解消の処理フローを示す
。
。
【図31】解の候補の表示例を示す。
【図32】文法作成の処理フローを示す。
【図33】中間表現の表示例を示す。
【図34】テンプレートファイル10を示す。
【図35】条件テーブル93作成の処理フローを示す。
1…ディスプレイ装置、2…キーボード、3…マウス、
4…入力される元の日本文が格納される原文ファイル、
5…翻訳結果が格納される訳文ファイル、6…辞書ファ
イル、7…翻訳に用いられる文法が格納される文法ファ
イル、8…例文が格納される例文ファイル、9…テーブ
ル類が保持されるメモリ、10…テンプレートファイル
、11…処理装置、91…ノードテーブル、92…履歴
テーブル、93…条件テーブル。
4…入力される元の日本文が格納される原文ファイル、
5…翻訳結果が格納される訳文ファイル、6…辞書ファ
イル、7…翻訳に用いられる文法が格納される文法ファ
イル、8…例文が格納される例文ファイル、9…テーブ
ル類が保持されるメモリ、10…テンプレートファイル
、11…処理装置、91…ノードテーブル、92…履歴
テーブル、93…条件テーブル。
Claims (5)
- 【請求項1】入力されたある言語の文を予め用意された
辞書および文法を用いて解析し、ユーザが指定した時点
で処理を停止し、解析結果を表示し、ユーザの指示に従
って解析結果を変更し、ユーザの指示と解析結果を用い
て文法を作成することを特徴とする機械翻訳システムに
おける文法作成支援方法。 - 【請求項2】入力された第1言語の文を予め用意された
辞書および文法を用いて解析し、処理途中でユーザの指
示を求め、ユーザの指示に従って処理を変更して、第2
言語の文を出力するインタラクティブ翻訳システムにお
いて、解析結果およびユーザの指示に従って文法を作成
することを特徴とするインタラクティブ翻訳方法。 - 【請求項3】請求項1に記載の文法作成支援方法におい
て、文法を作成する際に、文法を作成するのに用いられ
た前記入力された第1言語の文を、作成した文法と対応
づけて格納することを特徴とする文法作成支援方法。 - 【請求項4】請求項1に記載の文法作成支援方法におい
て、ユーザの指示に従って解析結果を変更した後、変更
された解析結果に基づいて翻訳処理を続行し、別の言語
の文を翻訳結果として出力し、翻訳結果を参照したユー
ザの指示に従って文法を再作成することを特徴とする文
法作成支援方法。 - 【請求項5】入力されたある言語の文を予め用意された
辞書および文法を用いて解析し、ユーザが指定した時点
で処理を停止し、解析結果を表示し、ユーザの指示に従
って解析結果を変更し、ユーザの指示と解析結果を用い
て文法を作成することを特徴とする機械翻訳のための文
法作成支援方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP3143013A JPH04367073A (ja) | 1991-06-14 | 1991-06-14 | 機械翻訳システムにおける文法作成支援方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP3143013A JPH04367073A (ja) | 1991-06-14 | 1991-06-14 | 機械翻訳システムにおける文法作成支援方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH04367073A true JPH04367073A (ja) | 1992-12-18 |
Family
ID=15328918
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP3143013A Pending JPH04367073A (ja) | 1991-06-14 | 1991-06-14 | 機械翻訳システムにおける文法作成支援方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH04367073A (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5732276A (en) * | 1994-08-04 | 1998-03-24 | Nec Corporation | Machine translation device |
JP2005351980A (ja) * | 2004-06-08 | 2005-12-22 | Canon Inc | 音声認識文法作成装置、音声認識文法作成方法、プログラムおよび記憶媒体 |
-
1991
- 1991-06-14 JP JP3143013A patent/JPH04367073A/ja active Pending
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5732276A (en) * | 1994-08-04 | 1998-03-24 | Nec Corporation | Machine translation device |
JP2005351980A (ja) * | 2004-06-08 | 2005-12-22 | Canon Inc | 音声認識文法作成装置、音声認識文法作成方法、プログラムおよび記憶媒体 |
JP4579585B2 (ja) * | 2004-06-08 | 2010-11-10 | キヤノン株式会社 | 音声認識文法作成装置、音声認識文法作成方法、プログラムおよび記憶媒体 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US4829423A (en) | Menu-based natural language understanding system | |
JP2654001B2 (ja) | 機械翻訳方法 | |
EP0370778B1 (en) | Method for manipulating digital text data | |
JP2892548B2 (ja) | 自動翻訳装置 | |
JPH07182147A (ja) | コンピュータプログラムを発生する方法及びシステム | |
JPH0567144A (ja) | 前編集支援方法およびその装置 | |
EP0118187B1 (en) | Menu-based natural language understanding system | |
JPH04367073A (ja) | 機械翻訳システムにおける文法作成支援方法 | |
Gansner et al. | Syned--A Language-Based Editor for an Interactive Programming Environment | |
JP3034295B2 (ja) | 機械翻訳方法及び機械翻訳装置 | |
JPH07146785A (ja) | プログラム自動生成方法および装置 | |
JP4043176B2 (ja) | 自然言語処理装置 | |
JP2875100B2 (ja) | 翻訳装置 | |
JP3316884B2 (ja) | 言語翻訳装置 | |
JP2811747B2 (ja) | 言語処理装置 | |
JPS62203266A (ja) | 機械翻訳システム | |
JPH01126767A (ja) | 辞書参照装置 | |
JP3051747B2 (ja) | 機械翻訳方法及び機械翻訳システム | |
JPH05197751A (ja) | 機械翻訳装置 | |
Segal | Machine translation of natural languages: the TOVNA MTS solution | |
JPH07191995A (ja) | 機械翻訳装置 | |
JPH04158477A (ja) | 機械翻訳装置 | |
JPH06124157A (ja) | 語句入力装置およびその方法 | |
JPH0778166A (ja) | 翻訳方法及び機械翻訳装置 | |
JPH06266715A (ja) | 文書編集装置 |