(57)【要約】【課題】複雑な入力文について、少ない計算量で精度良く翻訳できるようにすること。【解決手段】  入力文の示す単語で区切られた文字列を候補の例文パタンに対応させて単語および節を含む文字列に変換する変換手段と、変換した文字列を、前記候補の例文パタンとの相違値を算出する算出手段と、算出した相違値に基づいて、前記変換された入力文と、候補の例文パタンとの写像としての対応関係を抽出する抽出手段と、抽出された対応関係を選択する選択手段と、選択された対応関係について修正が必要か判定する判定手段と、修正判定のとき、当該入力文に対応する候補の例文パタンに対応して入力文の単語および節の区切りを修正し、修正した入力文に基づいて、前記算出手段による相違値の算出と前記抽出手段による対応関係の抽出をさせる修正手段と、修正結果に対応して抽出された対応関係に基づいて、前記入力文を翻訳する翻訳手段とを備える。【選択図】図２８
2010152419.tif 000002
【特許請求の範囲】
【請求項１】
入力文の示す単語で区切られた文字列を候補の例文パタンに対応させて単語および節を含む文字列に変換する変換手段と、
前記変換手段が変換した文字列を、前記候補の例文パタンとの相違値を算出する算出手段と、
前記算出手段が算出した相違値に基づいて、前記変換された入力文と、候補の例文パタンとの写像としての対応関係を抽出する抽出手段と、
前記抽出手段で抽出された対応関係を選択する選択手段と、
前記選択手段で選択された対応関係について修正が必要か判定する判定手段と、
前記判定手段で修正判定のとき、当該入力文に対応する候補の例文パタンに対応して入力文の単語および節の区切りを修正し、修正した入力文に基づいて、前記算出手段による相違値の算出と前記抽出手段による対応関係の抽出をさせる修正手段と、
前記修正手段の修正結果に対応して抽出された対応関係に基づいて、前記入力文を翻訳する翻訳手段とを備えることを特徴とする翻訳装置。
【請求項２】
前記変換手段は、候補の例文パタンに対応して入力文の単語および節の不適切な区切りを排除することを特徴とする請求項１に記載の翻訳装置
【請求項３】
前記修正手段の修正結果に対応して得られた対応関係を優先順位に基づいて選択する第2の選択手段を備えることを特徴とする請求項１又は２に記載の翻訳装置。
【請求項４】
入力文を示す情報入力する入力手段と、
入力文の示す単語で区切られた文字列を候補の例文パタンに対応させて単語および節を含む文字列に変換する変換手段と、
前記変換手段が変換した文字列を、前記候補の例文パタンとの相違値を算出する算出手段と、
前記算出手段が算出した相違値に基づいて、前記変換された入力文と、候補の例文パタンとの写像としての対応関係を抽出する抽出手段と、
前記抽出手段で抽出された対応関係を選択する選択手段と、
前記選択手段で選択された対応関係について修正が必要か判定する判定手段と、
前記判定手段で修正判定のとき、当該入力文に対応する候補の例文パタンに対応して入力文の単語および節の区切りを修正し、修正した入力文に基づいて、前記算出手段による相違値の算出と前記抽出手段による対応関係の抽出をさせる修正手段と、
前記修正手段の修正結果に対応して抽出された対応関係に基づいて、前記入力文を翻訳する翻訳手段と、
前記翻訳手段の翻訳結果を出力する出力手段と、
を備えることを特徴とする翻訳システム。
【請求項５】
コンピュータを、
入力文の示す単語で区切られた文字列を候補の例文パタンに対応させて単語および節を含む文字列に変換する変換手段と、
前記変換手段が変換した文字列を、前記候補の例文パタンとの相違値を算出する算出手段と、
前記算出手段が算出した相違値に基づいて、前記変換された入力文と、候補の例文パタンとの写像としての対応関係を抽出する抽出手段と、
前記抽出手段で抽出された対応関係を選択する選択手段と、
前記選択手段で選択された対応関係について修正が必要か判定する判定手段と、
前記判定手段で修正判定のとき、当該入力文に対応する候補の例文パタンに対応して入力文の単語および節の区切りを修正し、修正した入力文に基づいて、前記算出手段による相違値の算出と前記抽出手段による対応関係の抽出をさせる修正手段と、
前記修正手段の修正結果に対応して抽出された対応関係に基づいて、前記入力文を翻訳する翻訳手段として機能させることを特徴とする翻訳プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、翻訳装置及び翻訳プログラムに関する。
【背景技術】
【０００２】
従来から、翻訳作業の効率を向上させるために、翻訳対象とする文と類似した文を検索する類似文検索装置が知られている（例えば、特許文献１）。
【０００３】
この類似文検索装置は、例文を記憶する記憶手段と、翻訳対象とする文を受け付ける受付手段と、受付手段が受け付けた文と記憶手段が記憶する文とが類似する程度を表す類似度に基づいて記憶手段が記憶する例文を出力する出力手段とを具備することを特徴とする。
【０００４】
尚、類似度は、翻訳対象とする文に含まれる単語のうちで記憶手段が記憶する例文の中に出現する単語数を、翻訳対象とする文に含まれる単語数で除した値をいう。
【０００５】
また、翻訳対象とする原文を構成する形態素間の意味構造に近似した例文を検索し、検索した例文に基づいて原文を翻訳できる自動翻訳装置が知られている（例えば、特許文献２）。
【０００６】
この自動翻訳装置は、翻訳対象とする原文を入力する入力手段と、入力した原文を構成する形態素間の意味構造が近似する例文を選択する選択手段と、選択された例文に基づいて原文を翻訳する翻訳手段と、翻訳手段が翻訳した結果を表示する表示手段とを備えることを特徴としている。
【０００７】
更に、日本語で表された文と日本語で表された文を翻訳した文とを共通の特徴に基づいて類型した対訳パタンを用いて翻訳する翻訳処理装置が知られている（例えば、特許文献３）。
【０００８】
この翻訳処理装置は、入力文を構成する所定の文字列である定型部、及びそれ以外の任意の文字列である自由部で表される対訳パタンを用いて文を翻訳するパタン翻訳手段と、パタン翻訳手段が一つの対訳パタンを用いて複数の文を翻訳するように、自由部が文に存在せずとも定型部が一致する文に対してには対訳パタンを照合するパタン照合手段とを備えることを特徴としている。
【０００９】
【特許文献１】特開２００５−１０７５９７号公報
【特許文献２】特開平０６−８３８６４号公報
【特許文献３】特開平０８−８７５０６号公報
【発明の開示】
【発明が解決しようとする課題】
【００１０】
本発明の目的とするところは、少ない計算量で精度良く翻訳できる翻訳装置、翻訳システム及び翻訳プログラムを提供することにある。
【課題を解決するための手段】
【００１１】
本発明の請求項１に係る翻訳装置は、入力文の示す単語で区切られた文字列を候補の例文パタンに対応させて単語および節を含む文字列に変換する変換手段と、
前記変換手段が変換した文字列を、前記候補の例文パタンとの相違値を算出する算出手段と、前記算出手段が算出した相違値に基づいて、前記変換された入力文と、候補の例文パタンとの写像としての対応関係を抽出する抽出手段と、前記抽出手段で抽出された対応関係を選択する選択手段と、前記選択手段で選択された対応関係について修正が必要か判定する判定手段と、前記判定手段で修正判定のとき、当該入力文に対応する候補の例文パタンに対応して入力文の単語および節の区切りを修正し、修正した入力文に基づいて、前記算出手段による相違値の算出と前記抽出手段による対応関係の抽出をさせる修正手段と、前記修正手段の修正結果に対応して抽出された対応関係に基づいて、前記入力文を翻訳する翻訳手段とを備えることを特徴とするものである。
【００１２】
上記構成において、前記変換手段は、候補の例文パタンに対応して入力文の単語および節の不適切な区切りを排除することを特徴とするものである。
【００１３】
上記構成において、前記修正手段の修正結果に対応して得られた対応関係を優先順位に基づいて選択する第2の選択手段を備えることを特徴とするものである。
【００１４】
本発明の請求項4に係る翻訳システムは、入力文を示す情報入力する入力手段と、入力文の示す単語で区切られた文字列を候補の例文パタンに対応させて単語および節を含む文字列に変換する変換手段と、前記変換手段が変換した文字列を、前記候補の例文パタンとの相違値を算出する算出手段と、前記算出手段が算出した相違値に基づいて、前記変換された入力文と、候補の例文パタンとの写像としての対応関係を抽出する抽出手段と、前記抽出手段で抽出された対応関係を選択する選択手段と、前記選択手段で選択された対応関係について修正が必要か判定する判定手段と、前記判定手段で修正判定のとき、当該入力文に対応する候補の例文パタンに対応して入力文の単語および節の区切りを修正し、修正した入力文に基づいて、前記算出手段による相違値の算出と前記抽出手段による対応関係の抽出をさせる修正手段と、前記修正手段の修正結果に対応して抽出された対応関係に基づいて、前記入力文を翻訳する翻訳手段と、前記翻訳手段の翻訳結果を出力する出力手段と、を備えることを特徴とするものである。
【００１５】
本発明の請求項５に係る翻訳プログラムは、コンピュータを、入力文の示す単語で区切られた文字列を候補の例文パタンに対応させて単語および節を含む文字列に変換する変換手段と、前記変換手段が変換した文字列を、前記候補の例文パタンとの相違値を算出する算出手段と、前記算出手段が算出した相違値に基づいて、前記変換された入力文と、候補の例文パタンとの写像としての対応関係を抽出する抽出手段と、前記抽出手段で抽出された対応関係を選択する選択手段と、
前記選択手段で選択された対応関係について修正が必要か判定する判定手段と、
前記判定手段で修正判定のとき、当該入力文に対応する候補の例文パタンに対応して入力文の単語および節の区切りを修正し、修正した入力文に基づいて、前記算出手段による相違値の算出と前記抽出手段による対応関係の抽出をさせる修正手段と、前記修正手段の修正結果に対応して抽出された対応関係に基づいて、前記入力文を翻訳する翻訳手段として機能させることを特徴とするものである。
【発明の効果】
【００１６】
請求項１の構成によれば、複雑な入力文書についても、少ない計算量で精度良く翻訳できる。
【００１７】
請求項２の構成によれば、不適切な対応関係をあらかじめ排除できるので、精度良く入力文を翻訳できる。
【００１８】
請求項３の構成によれば、適切な対応関係が選択でき、精度良く入力文を翻訳することができる。
【００１９】
請求項４の構成によれば、複雑な入力文書についても、少ない計算量で精度良く翻訳できる。
【００２０】
請求項５の構成によれば、複雑な入力文書についても、少ない計算量で精度良く翻訳できる。
【発明を実施するための最良の形態】
【００２１】
以下、本発明の最良の実施形態について、添付図面を参照しつつ説明する。
【実施例１】
【００２２】
図１は、本発明の第1の実施例に係る翻訳装置を含む翻訳システムの基本的な実施形態を示す構成図である。
【００２３】
図１に示す翻訳システム１０は、翻訳装置１０００、表示装置２０００、及び入力装置３０００で構成される。
【００２４】
翻訳装置１０００は、例えば、パーソナル・コンピュータで構成され、表示装置２０００及び入力装置３０００に接続している。
【００２５】
翻訳装置１０００は、入力装置３０００から第１の言語で表された文を取得し、取得した文を第２の言語で表された文へ翻訳し、翻訳した文を表示装置２０００に表示させる。
【００２６】
本実施例において、言語は、中国語、日本語、及び英語等の自然言語のみならず、エスペラント等の人工言語を含む。
【００２７】
また、本実施例では、第１の言語は日本語であり、かつ第２の言語は中国語であるとして説明を行う。しかしこれに限定される訳ではなく、例えば、第１の言語は中国語であり、かつ第２の言語は日本語であるように、第１の言語と第２の言語とが相違すれば良い。
【００２８】
ここで図２を参照して、翻訳装置１０００の構成について説明をする。図２は、翻訳装置１０００の一構成例を表す図である。
【００２９】
図２に示す翻訳装置１０００は、記憶部１１００、解析部１２００、検索部１３００、変換部１４００、算出部１５００、抽出部１６００、及び翻訳部１７００で構成される。
【００３０】
解析部１２００、検索部１３００、変換部１４００、算出部１５００、抽出部１６００、及び翻訳部１７００が有する機能は、翻訳装置１０００が実行するソフトウェア制御により実現される。
【００３１】
ここで図３を参照して、ソフトウェア制御を実行するための翻訳装置１０００のハードウェア構成について説明する。図３は、このソフトウェア制御を実現するための翻訳装置１０００のハードウェアの一構成例を表す図である。
【００３２】
翻訳装置１０００は、例えば、ＣＰＵ（Central Processing Unit）等の演算部１００１、ＥＰＲＯＭ（Erasable Programmable Read-Only Memory）又はＥＥＰＲＯＭ（Electrically Erasable Programmable Read-Only Memory）等の読み出し専用メモリであるＲＯＭ１００２（Read-Only Memory ）、ＤＲＡＭ（Dynamic  RAM）又はＳＲＡＭ（Static  RAM）等の揮発性メモリ及びＮＶＲＡＭ（Non Volatile RAM）等の不揮発性メモリで構成されるＲＡＭ１００３（Random Access Memory）、並びにハードディスク等の外部記憶装置で構成される外部記憶部１００４で構成され、演算部１００１、ＲＯＭ１００２、ＲＡＭ１００３、及び外部記憶部１００４は互いにバス１００５によって接続している。
【００３３】
ソフトウェア制御は、ＲＯＭ１００２又は外部記憶部１００４に格納したプログラムであるアプリケーションを演算部１００１が読込み、読込んだアプリケーションに従って演算部１００１が演算を行うことにより上記各部の機能を実現する。なお、ＲＡＭ１００３には、演算結果のデータが書き込まれ、特にＮＶＲＡＭには、電源オフ時にバックアップが必要なデータが保存される。
【００３４】
次に図２に戻り、引き続き翻訳装置１０００の構成について説明する。
【００３５】
記憶部１１００は、例えば、ＲＡＭ１００３又は外部記憶部１００４で構成され、検索部１３００及び翻訳部１７００に接続している。記憶部１１００は、文を構成する文字列に基づいて例文を類別した例文パタンを記憶する。
【００３６】
ここで図４を参照して、例文パタンについて説明を行う。図４は、例文パタンの一例を表す図である。図４において、例文パタンＰＥは、例文ＳＥ１から４を類別するパタンである。
【００３７】
例文パタンＰＥは、類別される例文に共通な単語、又は節で構成される固定部分ＰＦと、固定部分ＰＦではない単語又は節であるが、類別される例文間で品詞が共通する単語又は節で構成される可変部分ＰＶとで構成される。可変部分ＰＶは、それらの品詞が共通する単語又は節を、例えば、Ｖ１及びＶ２といった記号を用いて表す。
【００３８】
よって、例文パタンＰＥは類別される例文に共通な文字列（以下単に、共通文字列という）で構成され、可変部分ＰＶは類別される例文に共通しない文字列を表す記号（以下単に、非共通文字列という）で構成される。つまり、非共通文字列は、例文パタンを構成する共通文字列以外の文字列をいう。
【００３９】
ここで、節とは、文法上、従位接続詞や関係詞が導く文であって、主語と述語とが一組になり完結した文をいう。しかし本実施例では、動詞、形容詞、及び形容動詞である単語とそれらに付随して使用される助詞、助動詞、及び補助動詞である単語とを合わせて節といい、それぞれ動詞節、形容詞節、及び形容動詞節という。また、節の品詞とは、動詞節、形容詞節、及び形容動詞節のいずれかへ節を分類した区分けをいう。
【００４０】
具体的には、図４に示すように、「渡してください」という節ＳＣ１から４及びＰＣは、「渡す」という動詞である単語、「て」という接助詞である単語、及び「くださる」という補助動詞である単語で構成される。
【００４１】
また、動詞である単語「渡す」とそれに付随して使用される単語「て」及び「くださる」とで構成される節ＳＣ１から４及びＰＣの品詞を動詞節という。
【００４２】
固定部分ＰＦは、例文に共通な単語又は節のみならず、その同義語を表すＦＩＸ内容情報、可変部分であるか固定部分であるかを表すＴＹＰＥ情報、並びに固定部分を構成する単語の品詞を表す品詞情報、固定部分を構成する単語が属している語彙体系を表す情報である言語体系属性名等で構成される。
【００４３】
可変部分ＰＶは、共通する品詞を表す情報である変数名情報、及び可変部分であるか固定部分であるかを表すＴＹＰＥ情報、可変部分の語彙体系属性名等で構成される。
【００４４】
本記実施例において、変数名情報は、共通する品詞が名詞であることを表す名詞フレーズ、形容詞であることを表す形容詞フレーズ、及び副詞であることを表す副詞フレーズを含む。
【００４５】
また、本実施例において、可変部分ＰＶは、類別される例文間で品詞が共通する単語又は節で構成されるとして説明したが、これに限定される訳ではなく、共通する性質の内容を表す単語又は節で構成される実施例を採用できる。共通する性質の内容を表す単語又は節の具体例としては、例えば、時間、数量、地名、又は人名を表す単語又は節を挙げることができる。
【００４６】
次に図２に戻り、引き続き翻訳装置１０００の構成について説明する。
記憶部１１００は、第１の言語で表された例文パタンと、第１の言語で表された例文パタンを第２の言語へ翻訳した例文パタンである対訳例文パタンとを対応付けて記憶する。
【００４７】
また、記憶部１１００は、例文パタンを構成する単語、節、又は記号（以下単に、単語等という）である文字列と、例文パタンを翻訳した対訳例文パタンを構成する単語等である文字列とを、それぞれの文字列が意味する内容に基づいて対応付けて記憶する。
【００４８】
尚、例文パタンと対訳例文パタンとを関連付けた情報を、例文パタン対訳辞書という。例文パタン対訳辞書は、検索部１３００及び翻訳部１７００によって参照される。
【００４９】
ここで、図５を参照して、記憶部１１００が記憶する例文パタン対訳辞書について説明を行う。図５は、記憶部１１００が記憶する例文パタン対訳辞書の一構成例を表す図である。
【００５０】
図に示す例文パタン対訳辞書１１１０は、レコード１からｎで構成される。レコード１からｎは、第１言語で表された例文パタンＡと、例文パタンＡを第２の言語に翻訳した例文パタンである対訳例文パタンＢと、例文パタンＡ及び対訳例文パタンＢの対（以下単に、パタン対訳ペアという）を識別するＩＤと、例文パタンＡ及びＢを構成する単語等である文字列の対応関係を表す対応関係情報Ｆ２とを関連付けて保存する。尚、レコード１からｎは、同じパタン対訳ペアを保存することはない。
【００５１】
次に、図５を参照したまま、レコード１からｎが保存する対応関係情報Ｆ２について説明する。ここでは、例文パタンＡが単語等である５つの文字列 a1 から a5 で構成され、かつ対訳例文パタンＢが単語等である６つの文字列 b1 から b6 で構成されている場合を例に挙げて説明を行う。
【００５２】
対応関係情報Ｆ２は、文字列が例文パタンＡ及び対訳例文パタンＢにおいて使用される順番を用いて文字列の対応関係を表す。
【００５３】
具体的には、例文パタンＡで n 番目に使用される文字列 an が表す意味と、対訳例文パタンＢで m 番目に使用される文字列 bm が表す意味とが同じである場合には、対応関係を「(n:m)」として表す。
【００５４】
また、例文パタンＡで n 番目に使用される文字列 an が表す意味と、対訳例文パタンＢで m 番目及び m+1 番目に使用される２つの文字列が表す意味とが同じ意味を表す場合には、「(n:m,m+1)」として表す。
【００５５】
逆に、例文パタンＡで n 番目及び n+1 番目に使用される２つの文字列 an 及び an+1が表す意味と、対訳例文パタンＢで m 番目に使用される文字列 bm が表す意味とが同じ意味を表す場合には、「(n,n+1:m)」として表す。
【００５６】
同様に、例文パタンＡで n 番目及び n+1 番目に使用される２つの文字列 an 及び an+1が表す意味と、対訳例文パタンＢで m 番目及び m+1 番目に使用される２つの文字列が表す意味とが同じ意味を表す場合には、「(n,n+1:m,m+1)」として表す。
【００５７】
本実施例では、例文パタンＡで使用される１つの文字列と対訳例文パタンＢで使用される１つの文字列とが同じ意味を表す場合、１つの文字列と２つの文字列とが同じ意味を表す場合、２つの文字列と１つの文字列とが同じ意味を表す場合、２つの文字列と２つの文字列とが同じ意味を表す場合の対応関係を表す表記方法について説明したが、これに限定される訳ではない。
【００５８】
例えば、j個（j>=1）の文字列とk個（k>=1）の文字列とが同じ意味を表す場合には、一般的に、「(n,n+1,…,n+j:m,m+1,…,m+k)」として表す構成を採用できる。
【００５９】
更に、例文パタンＡで n 番目に使用される文字列 an が表す意味と同じ意味を表す文字列が対訳例文パタンＢで使用されない場合には、「(n:0)」として表す。また逆に、対訳例文パタンＢで m 番目に使用される文字列 bm が表す意味と同じ意味を表す文字列が例文パタンＡで使用されない場合には、「(0:m)」として表す。
【００６０】
よって一例として、図６に示す対応関係情報F2(A,B) =「(1:1),(2:3),(3:4,5),(5:6),(4:0),(0:2)」を挙げて説明する。対応関係情報 F2(A,B) は、例文パタンＡで１番目に使用される文字列 a1 の表す意味が対訳例文パタンＢで１番目に使用される文字列 b1 の意味と同じであり、例文パタンＡで２番目に使用される文字列 a2 の表す意味が対訳例文パタンＢで３番目に使用される文字列 b3 の意味と同じであり、例文パタンＡで３番目に使用される文字列 a3 の表す意味が対訳例文パタンＢで４番目及び５番目に使用される文字列 b4 及び b5 の意味と同じであり、例文パタンＡで５番目に使用される文字列 a5 の表す意味が対訳例文パタンＢで６番目に使用される文字列 b6 の意味と同じであり、例文パタンＡで４番目に使用されるa4 と同じ意味を表す文字列が対訳例文パタンＢで使用されず、かつ対訳例文パタンＢで２番目に使用される文字列 b2 と同じ意味を表す文字列が例文パタンＡで使用されないという対応関係を表す。
【００６１】
また、記憶部１１００は、例文パタンを構成する単語に基づいて例文パタンを検索するために用いるツリー（以下単に、検索ツリーという）を記憶する。検索ツリーは、例文パタンを構成する単語と、例文パタンを識別する識別情報とを関連付けたトライ構造を有するツリーである。
【００６２】
ここで、トライ構造(TRIE structure)を有するツリーは、言語情報処理分野において、検索キーの共通する文字列を併合して得られる木構造をいう。検索ツリーは、後述する検索部１３００によって参照される。
【００６３】
ここで図６を参照して、記憶部１１００が記憶する検索ツリーについて説明を行う。図６は、記憶部１１００が記憶する検索ツリーの一例を表す図である。
【００６４】
図６に表す検索ツリー１１２０は、それぞれ１つの文字を表すノードＮ、及びノード同士を有向性を持って接続するリンクＬとで構成される。
【００６５】
検索ツリー１１２０は、３つの検索キー「あい」、「あいさい」、及び「あいさつ」から得られたツリーである。
【００６６】
具体的には、検索キー「あい」、「あいさい」、及び「あいさつ」に共通する部分の文字列「あい」を、文字「あ」を表すノードＮ００と、文字「い」を表すノードＮ０１と、ノードＮ００からノードＮ０１へ向かって接続するリンクＬ０１とを用いて併合して表す。
【００６７】
同様に、検索キー「あいさい」及び「あいさつ」に共通する部分の文字列「あいさ」を、文字「あ」を表すノードＮ００と、文字「い」を表すノードＮ０１と文字「さ」を表すノードＮ１１と、ノードＮ００からノードＮ０１へ向かって接続するリンクＬ０１と、ノードＮ０１からノードＮ１１へ向かって接続するリンクＬ１１とを用いて併合して表す。
【００６８】
尚、ノードＮ００をルート（根）という。よって、検索キーは、ルートであるノードＮ００からリンクＬが表す方向に従って後述する単語フラグが立ったノードＮに到達するまでに辿ったノードＮが表す文字を順に並べた文字列として表される。
【００６９】
具体例として検索キー「あいさい」を挙げると、このキーは、ルートＮ００からリンクＬ０１、１１、及び１２が表す方向に従って単語フラグが立ったノードＮ１２に到達するまでに辿ったノードＮ００、０１、Ｎ１１、及びＮ１２が表す文字を順に並べた文字列として表される。
【００７０】
また、検索ツリー１１２０を構成するあるノードＮに対して、直近上位の階層に属し、かつリンクＬが張られたノードＮを親ノードといい、直近下位の階層に属し、かつリンクＬが張られたノードＮを子ノードといい、同位の階層に属し、かつ張られたリンクＬが向かう先のノードＮを右兄弟ノードという。
【００７１】
具体例として、ノードＮ１１を挙げると、ノードＮ１１に対してノードＮ０１は親ノードであり、ノードＮ２１は子ノードであり、ノードＮ１２は右兄弟ノードである。
【００７２】
次に、記憶部１１００が記憶する情報であって、検索ツリー１１２０を表す情報について説明を行う。
【００７３】
検索ツリー１１２０を表す情報は、検索ツリー１１２０を構成するノードＮを表す情報で構成される。ノードＮを表す情報は、ノードＮを識別する情報であるノードＩＤ、ノードＮが有する文字を表す文字情報、検索キーの終端の文字であることを表す単語フラグ、ノードＮの子ノードのノードＩＤを表す子ノードＩＤ、ノードＮの親ノードのノードＩＤを表す親ノードＩＤ、ノードＮの右兄弟ノードのノードＩＤを表す右兄弟ノードＩＤ、及びレコードＩＤとで構成される。尚、ノードＮを表す情報を構成するレコードＩＤは、インデックス配列の要素であるレコードを識別する情報を表す。
【００７４】
ここで、記憶部１１００は、インデックス配列１１３０を記憶する。インデックス配列１１３０は、後述する検索部１３００によって参照される。
【００７５】
インデックス配列１１３０の要素であるレコードは、同じ単語（つまり、同じ検索キー）で構成される例文パタンを識別する情報（つまり、パタン対訳ペアのＩＤ）と、同じ単語で構成される例文パタンを識別する他の情報を保存したレコードＩＤとを関連付けて保存することで、リスト構造を実現している。
【００７６】
よって、ノードＮを表す情報を構成するレコードＩＤは、ルートＮ００からノードＮまでに辿ったノードが表す文字で構成される検索キーを含む例文パタンを識別する情報を保存したレコードの識別情報を表す。
【００７７】
具体例としては、図６に示すように、ノードＮ１２を表す情報ＩＮ１２を構成するレコードＩＤは、ルートＮ００からノードＮ１２までに辿ったノードが表す文字で構成される検索キー「あいさつ」を含む例文パタンを識別する情報を保存したレコード２の識別情報を表す。
【００７８】
また具体例としては、インデックス配列１１３０の要素であるレコード２は、同じ単語「あいさつ」で構成される例文パタンを識別するパタン対訳ペアのＩＤと、同じ単語「あいさつ」で構成される例文パタンを識別する他の情報を保存したレコード７のレコードＩＤとを関連付けて保存し、レコード７は、単語「あいさつ」で構成される例文パタンのパタン対訳ペアのＩＤと、同じ単語「あいさつ」で構成される例文パタンの他の識別情報を保存したレコード１２のレコードＩＤとを関連付けて保存することで、リスト構造を実現している。
【００７９】
本実施例において、ノードＮは検索キーを構成する１文字を表すとして説明したが、これに限定される訳ではなく、検索キーを構成する１文字が１バイトで表される文字である場合に、ノードＮは検索キーを構成する１文字の高バイト（High Byte）及び低バイト（Low Byte）を表す実施例を採用できる。この構成によれば、少ない計算量で情報を検索できる。
【００８０】
更に、記憶部１１００は、第１の言語で表された単語と、第２の言語で表された単語とを単語が表す意味に基づいて関連付けた単語辞書、及び第１の言語で表された節又は文と、第２の言語で表された節又は文とを節又は文が表す意味に基づいて関連付けた例文対訳辞書を記憶する。単語辞書及び例文対訳辞書は、後述する翻訳部１７００によって参照される。
【００８１】
ここで図２に戻り、引き続き翻訳装置１０００の構成について説明を行う。
解析部１２００は、検索部１３００及び入力装置３０００に接続している。解析部１２００は、後述する解析処理を実行することで、入力装置３０００が翻訳対象として入力した入力文を形態素解析することで、入力文を構成する形態素を取得する。
【００８２】
ここで、解析部１２００が実行する解析処理の一例について説明を行う。
【００８３】
先ず、解析部１２００は、入力装置３０００から第１の言語で表された入力文を取得する。次に、解析部１２００は、取得した入力文に対して、形態素解析を実行して形態素を取得する。
【００８４】
その後、解析部１２００は、動詞、形容詞、及び形容動詞と、それに付随する助詞、助動詞、及び補助動詞である形態素を纏めて１つの節とする。
【００８５】
次に、解析部１２００は、取得した形態素で構成される単語及び節を検索部１３００へ出力する。次に、解析部１２００は、解析処理の実行を終了する。
【００８６】
尚、本実施例において、解析部１２００が処理対象とする文は第１の言語である日本語で表されるため、解析部１２００が実行する形態素解析は、奈良先端科学技術大学院大学のChasen（茶筌） を用いて実行できる。
【００８７】
また、第１の言語が中国語である場合には、清華大学の Seg & POS ツール、又は中国東北大学の CiPosSDK を用いて形態素解析することができる。
【００８８】
検索部１３００は、記憶部１１００、解析部１２００、及び変換部１４００に接続している。検索部１３００は、後述する検索処理を実行することで、入力文を構成する単語で構成される例文パタンを検索する。
【００８９】
ここで図７を参照して、検索部１３００の構成について説明を行う。図７は、検索部１３００の一構成例を表す機能ブロック図である。
【００９０】
図７に示す検索部１３００は、単語検索部１３１０及び例文パタン検索部１３２０で構成される。
【００９１】
単語検索部１３１０は、記憶部１１００、解析部１２００、及び例文パタン検索部１３２０に接続する。単語検索部１３１０は、後述する単語検索処理を実行することで、インデックス配列の要素であるレコードを識別するレコードＩＤを取得する。尚、単語検索部１３１０が検索するレコードＩＤで識別されるレコードは、入力文を構成する単語で構成される例文パタンを識別する識別情報を保存している。
【００９２】
ここで、単語検索部１３１０が実行する単語検索処理の一例について説明を行う。
【００９３】
先ず、単語検索部１３１０は、解析部１２００から、入力文を構成する単語及び節を取得する。次に、単語検索部１３１０は、取得した単語及び節から入力文を構成する単語を抽出する。
【００９４】
その後、単語検索部１３１０は、抽出した単語に一致する検索キーを、記憶部１１００が記憶する検索ツリーから検索する。次に、単語検索部１３１０は、検索した検索キーの終端の文字を表すノードを特定する。
【００９５】
その後、単語検索部１３１０は、特定したノードを表す情報を取得し、インデックス配列１１３０のレコードＩＤを取得する。次に、単語検索部１３１０は、取得したレコードＩＤを例文パタン検索部１３２０へ出力する。
【００９６】
尚、単語検索部１３１０は、解析部１２００から取得した単語及び節をも例文パタン検索部１３２０へ出力する。その後、単語検索部１３１０は、単語検索処理の実行を終了する。
【００９７】
例文パタン検索部１３２０は、記憶部１１００、単語検索部１３１０、及び変換部１４００に接続する。例文パタン検索部１３２０は、後述する例文パタン検索処理を実行することで、入力文を構成する単語で構成される例文パタンを検索する。
【００９８】
ここで、例文パタン検索部１３２０が実行する例文パタン検索処理の一例について説明する。
【００９９】
先ず、例文パタン検索部１３２０は、単語検索部１３１０からレコードＩＤを取得する。尚、例文パタン検索部１３２０は、入力文の単語及び節をも取得する。
【０１００】
次に、例文パタン検索部１３２０は、記憶部１１００が記憶するインデックス配列の要素であるレコードをレコードＩＤに基づいて検索する。
【０１０１】
その後、例文パタン検索部１３２０は、検索したレコードが保存する例文パタンを識別する識別情報（つまり、例文パタン対訳ペアのＩＤ）と、他のレコードを識別するレコードＩＤとを取得する。次に、例文パタン検索部１３２０は、取得した識別情報に基づいて対になる例文パタンと対訳例文と対応関係情報Ｆ２とを検索する。
【０１０２】
その後、例文パタン検索部１３２０は、検索したレコードが他のレコードを識別するレコードＩＤを保存するか否か判断する。例文パタン検索部１３２０は、他のレコードＩＤを保存すると判断する場合には、他のレコードＩＤに対して上記処理を繰り返し、そうで無い場合には、検索した全ての例文パタン、対訳例文パタン、及び対応関係情報Ｆ２を変換部１４００へ出力する。
【０１０３】
尚、例文パタン検索部１３２０は、取得した入力文及び入力文の単語及び節をも出力する。次に、例文パタン検索処理の実行を終了する。
【０１０４】
ここで図２に戻り、翻訳装置１０００の構成について引き続き説明を行う。
変換部１４００は、検索部１３００、及び算出部１５００に接続している。変換部１４００は、後述する変換処理を実行することで、入力文を構成する文字列が表す意味と、記憶手段が記憶する例文パタンを構成する文字列が表す意味とが相違する程度を表す第１の指標を用いて、例文パタンが類別する例文に共通する共通文字列に対応する共通部分と共通部分以外の非共通部分とで構成される文へ入力文を変換する。その後、変換部１４００は、変換した入力文を算出部１５００へ出力する。
【０１０５】
ここで、図８を参照して、変換部１４００が変換対象とする入力文を構成する単語及び節で構成される文字列と、変換後の入力文を構成する文字列とについて説明を行う。図８は、変換部１４００が変換対象とする入力文を構成する文字列と、変換後の文字列とを表す図である。
【０１０６】
図８は、変換部１４００が変換対象とする文字列 s1 から s9 で構成される入力文Ｓと、変換後の文字列 s'1 から s'5 で構成される変換後の入力文Ｓ'と、入力文Ｓを構成する単語と同じ単語で構成される例文パタンＡとを表す図である。
【０１０７】
変換後の入力文Ｓ'は、変換部１４００が例文パタンＡに基づいて変換処理を実行することで入力文Ｓを構成する単語 s1 及び s2 を結合した単語 s'1、 s4 から s7 を結合した単語 s'3、並びに結合対象としなかった単語 s'2、s'4、及び節 s'5 で構成される。尚、単語 s'2、s'4、及び節 s'5 は、単語 s3、s8、及び節 s9 に等しい。
【０１０８】
尚、変換部１４００は、例文パタンＡを構成する固定部分 a2, a4, 及び a5 で構成される集合に含まれる単語 s3 に基づいて、単語 s1 及び s2 を結合し、単語 s8 に基づいて、単語 s4 から s7 を結合する。
【０１０９】
この変換処理によって、変換部１４００は、固定部分を構成する共通文字列 a2、a4、及び a5 に対応する文字列s'2、s'4、及び s'5を共通部分とし、共通部分以外の文字列s'1及びs'3を非共通部分することで、入力文Ｓを共通部分と非共通部分とで構成される文へ変換する。
【０１１０】
次に図９及び１０を参照して、変換部１４００が実行する変換処理について説明を行う。図９及び１０は、変換部１４００が実行する変換処理の一例を表すフローチャートである。
【０１１１】
先ず、変換部１４００は、例文パタンＡと例文パタンＡを構成する単語等である文字列を検索部１３００から取得する（ステップＳＴ０００１）。尚、例文パタンＡは、文字列 a1 から an で構成されているとし、文字列 ai は例文パタンＡにおいて i 番目に使用される文字列であるとする。
【０１１２】
次に、変換部１４００は、入力文Ｓと入力文Ｓを構成する単語及び節である文字列とを検索部１３００から取得する（ステップＳＴ０００２）。尚、入力文Ｓは、文字列 s1 から sm で構成されているとし、文字列 sj は入力文Ｓにおいて j 番目に使用される文字列であるとする。
【０１１３】
尚、図示を省略するが、変換部１４００は、例文パタンＡに対応付けられた対訳例文パタン及び対応関係情報Ｆ２をも検索部１３００から取得する。
【０１１４】
その後、変換部１４００は、文字列 ai が可変部分となるように、カウンタ i に適切な任意の値を入力する（ステップＳＴ０００３）。
【０１１５】
次に、変換部１４００は、入力文Ｓを構成する文字列が文で使用される順番を表すカウンタ j に値「1」を代入して初期化する（ステップＳＴ０００４）。
【０１１６】
その後、変換部１４００は、かつカウンタ j が値 m 以下であるか否か判断する（ステップＳＴ０００５）。変換部１４００は、カウンタ j が値 m 以下であると判断する場合にはステップＳＴ０００６の処理を実行し、そうで無い場合には変換処理の実行を終了する。
【０１１７】
ステップＳＴ０００５において、変換部１４００は、カウンタ j が値 m 以下であると判断した場合には、テンポラリバッファをクリアする（ステップＳＴ０００６）。
【０１１８】
次に、変換部１４００は、例文パタンＡで i 番目に使用される文字列 ai と、入力文Ｓで j 番目に使用される文字列 sj との第１の指標（以下単に、重みともいう）が値「0」であり、かつ変数 j が値「m 」以下であるか否かを判断する（ステップＳＴ０００７）。
【０１１９】
尚、重みとは、翻訳を行う対象として入力された入力文Ｓを構成する文字列 sj が表す意味と、記憶部１１００が記憶する例文パタンＡを構成する文字列 ai が表す意味とが相違する程度を表す指標をいう。また、重みの計算方法については後述する。
【０１２０】
変換部１４００は、文字列 ai と文字列 sj との重み（以下記号を用いて、w(ai, sj)とも表す）が値「0」であり、かつ変数 j が値「m」以下であると判断する場合にはステップＳＴ０００８の処理を、そうで無い場合にはステップＳＴ００１０の処理を実行する。
【０１２１】
ステップＳＴ０００７において、変換部１４００は、文字列 aj と文字列 si との重みが値「0」であり、かつ変数 j が値「m」以下であると判断した場合には、テンポラリバッファが記憶する文字列に単語又は節である文字列 sj を追加する（ステップＳＴ０００８）。
【０１２２】
次に、変換部１４００は、変数 j を１だけインクリメントする（ステップＳＴ０００９）。その後、変換部１４００は、ステップＳＴ０００７に戻り、上記処理を繰り返す。
【０１２３】
ステップＳＴ０００７において、変換部１４００は、文字列aj と文字列si との重みが値「0」でない、又は変数 j が値「m」より大きいと判断した場合には、テンポラリバッファが空であるか否かを判断する（ステップＳＴ００１０）。変換部１４００は、テンポラリバッファが空であると判断する場合にはステップＳＴ００１１の処理を、そうで無い場合にはステップＳＴ００１３の処理を実行する。
【０１２４】
ステップＳＴ００１０において、変換部１４００は、テンポラリバッファが空であると判断した場合には、文字列 sj を１つの共通部分又は非共通部分である文字列として出力する（ステップＳＴ００１１）。次に、変換部１４００は、変数 j を１だけインクリメントする（ステップＳＴ００１２）。その後、変換部１４００は、ステップＳＴ０００５に戻り、上記処理を繰り返す。
【０１２５】
ステップＳＴ００１０において、変換部１４００は、テンポラリバッファが空でないと判断した場合には、テンポラリバッファが記憶する文字列を１つの共通部分又は非共通部分である文字列として出力する（ステップＳＴ００１３）。次に、変換部１４００は、ステップＳＴ０００５に戻り、上記処理を繰り返す。
【０１２６】
尚、図示を省略するが、変換部１４００は、変換した入力文、例文パタンＡ、対訳例文パタン、及び対応関係情報Ｆ２を算出部１５００へ出力する。
【０１２７】
ここで表１を参照して、例文パタンＡで使用される文字列 ai と、入力文Ｓで使用される文字列 sj との重みの算出方法の一例について説明を行う。表１は、算出される重みの値とその値を算出する条件の一例を示す表である。
【０１２８】
【表１】
2010152419.tif 000003
【０１２９】
表１が示すように、例文パタンを構成する文字列 ai が可変部分であり、sj が単語又は節であり、かつ sj が例文パタンＡの固定部分を要素とする集合に含まれていない場合に、変換部１４００は、重みを値「0」として計算する。
【０１３０】
また、ai が可変部分であり、sj が単語又は節であり、かつ sj が例文パタンＡの固定部分を要素とする集合に含まれている場合に、変換部１４００は、重みを値「p」として計算する。尚、値「p」は、正の定数である。また、本実施例では、値「1.5」とするが、これに限定される訳ではない。
【０１３１】
更に、ai が固定部分であり、sj が単語又は節であり、かつ ai と sj とが等しい場合に、変換部１４００は、重みを値「0」として計算する。
【０１３２】
また更に、ai が固定部分であり、sj が単語又は節であり、かつ sj が固定部分の同義語である場合に、変換部１４００は、重みを値「0」として計算する。
【０１３３】
尚、本実施例において、単語 sj が、固定部分の同義語であるか否かは、図４を参照して説明した固定部分ＰＦを構成するＦＩＸ内容に基づいて変換部１４００が判断できるとして説明を行うが、これに限定されるわけではない。例えば、記憶部１１００が単語とその単語の同義語とを関連付けた同義語辞書を記憶し、変換部１４００は、記憶部１１００が記憶する辞書を参照することで、単語 sj が固定部分の同義語であるか否かを判断する構成を採用できる。
【０１３４】
また更に、ai が固定部分であり、sj が単語又は節であり、ai と sj とが等しく無く、かつ sj が固定部分の同義語でない場合に、変換部１４００は、重みを値「p」として計算する。
【０１３５】
次に、表２並びに、図１１及び１２を参照して、動詞節 ai と節 sj との重みの算出方法の他例について説明を行う。表２は、算出される重みの値とその値を算出する条件の他例を示す表であり、図１１は、変換部１４００が重みを算出するために実行する重み算出処理の一例を表すフローチャートの一部であり、図１２は、変換部１４００が重みを算出するために実行する重み算出処理の一例を表すフローチャートの他部である。
【０１３６】
【表２】
2010152419.tif 000004
【０１３７】
表２が示すように、例文パタンを構成する文字列 ai が固定部分であり、sj が動詞節であり、かつ ai と sj とが等しい場合に、変換部１４００は、重みを値「0」として計算する。
【０１３８】
また、例文パタンを構成する文字列 ai が固定部分であり、sj が動詞節であり、かつ文字列 ai を構成する全ての形態素単語と、形態素 sj を構成する全ての形態素単語が等しい場合に、変換部１４００は、重みを値「0」として計算する。ここで、節を構成する全ての形態素単語又は形態素の中に、単語「ます」がある場合には、単語「ます」を取り除いてから重みを計算する。
【０１３９】
ここで、変換部１４００が、上記表２が表す重みを算出するために実行する重み算出処理について説明を行う。
【０１４０】
先ず、変換部１４００は、固定部分 ai の形態素単語列を取得する（ステップＳＴ０１０１）。尚、固定部分 ai の形態素単語列は、形態素単語 u1 から uk で構成されているとし、形態素単語 uh は形態素単語列 ai において h 番目に使用されるとする。
【０１４１】
次に、変換部１４００は、動詞節 sj の形態素単語列を取得する（ステップＳＴ０１０２）。尚、動詞節 sj の形態素単語列は、形態素単語 v1 から vl で構成されているとし、形態素単語 vh は形態素単語列 sj において h 番目に使用されるとする。
【０１４２】
その後、変換部１４００は、固定部分 ai の形態素単語数 k と、動詞節 sj の形態素単語数 l とが等しいか否かを判断する（ステップＳＴ０１０３）。変換部１４００は、 k と l とが等しいと判断する場合にはステップＳＴ０１０４の処理を、そうで無い場合にはステップＳＴ０１０９の処理を実行する。
【０１４３】
ステップＳＴ０１０３において、変換部１４００は、k と l とが等しいと判断した場合には、形態素単語が形態素単語列で使用される順番を表すカウンタ h に値「1」を代入して初期化する（ステップＳＴ０１０４）。
【０１４４】
次に、変換部１４００は、カウンタ変数 h の値が、固定部分 ai の形態素単語数 k 以下であるか否かを判断する（ステップＳＴ０１０５）。変換部１４００は、変数 h の値が k 以下であると判断する場合にはステップＳＴ０１０６の処理を、そうで無い場合にはステップＳＴ０１１０の処理を実行する。
【０１４５】
ステップＳＴ０１０５において、変換部１４００は、変数 h の値が k 以下であると判断した場合には、節 ai において h 番目に使用される形態素単語 uh と、節 sj において h 番目に使用される形態素単語 vh とが等しいか否かを判断する（ステップＳＴ０１０６）。変換部１４００は、形態素単語 uh と形態素単語 vh とが等しいと判断する場合にはステップＳＴ０１０８の処理を、そうで無い場合にはステップＳＴ０１０７の処理を実行する。
【０１４６】
ステップＳＴ０１０６において、変換部１４００は、形態素単語 uh と形態素単語 vh とが等しくないと判断した場合には、形態素単語 uh が形態素単語 vh の同義語であるか否かを判断する（ステップＳＴ０１０７）。変換部１４００は、形態素単語 uh が形態素単語 vh の同義語であると判断する場合にはステップＳＴ０１０８の処理を、そうで無い場合はステップＳＴ０１０９の処理を実行する。
【０１４７】
ステップＳＴ０１０６において、変換部１４００は、形態素単語 uh と形態素単語 vh とが等しいと判断した場合、又はステップＳＴ０１０７において、形態素単語 uh が形態素単語 vh の同義語であると判断した場合には、ループ変数 h の値を１だけインクリメントする（ステップＳＴ０１０８）。その後、変換部１４００は、ステップＳＴ０１０５に戻り、上記処理を繰り返す。
【０１４８】
ステップＳＴ０１０３において、変換部１４００は、k と l とが等しくないと判断した場合、又はステップＳＴ０１０７において、形態素単語 uh が形態素単語 vh の同義語でないと判断した場合には、節 ai と節 sj との重みを「p」と算出する（ステップＳＴ０１０９）。尚、pは、正の定数である。その後、変換部１４００は、変換処理の実行を終了する。
【０１４９】
ステップＳＴ０１０５において、変換部１４００は、変数 h の値が k より大きいと判断した場合には、節 ai と節 sj との重みを「0」と算出する（ステップＳＴ０１１０）。その後、変換部１４００は、変換処理の実行を終了する。
【０１５０】
ここで図２に戻り、翻訳装置１０００の構成について引き続き説明を行う。
【０１５１】
算出部１５００は、変換部１４００及び抽出部１６００に接続している。算出部１５００は、後述する算出処理を実行することで、変換部１４００が変換した文を構成する非共通部分を、例文パタンＡを構成する非共通文字列へ対応させる規則と、非共通部分と非共通文字列との相違を表す第１の指標（つまり重み）とに基づいて、入力文Ｓと例文パタンＡとが相違する程度を表す第２の指標（以下単に、距離ともいう）を算出する。
【０１５２】
ここで、算出部１５００が実行する算出処理は、例文パタンを構成する共通文字列及び非共通文字列のいずれか１つ以上を変換部１４００が変換した文を構成する共通部分及び非共通部分のいずれか１つ以上に写像するために適用する規則であり、かつ１対１であると共に交差せずに共通文字列を前記共通部分に置換する規則、１対１であると共に交差せずに非共通文字列を非共通部分に置換する規則、共通文字列及び非共通文字列のいずれか１つ以上を削除する規則、及び共通部分及び非共通部分のいずれか１つ以上を挿入する規則のいずれか１つ以上の適用に基づいて第２の指標を算出する処理である。
【０１５３】
ここで図１３から１６を参照して、算出部１５００が実行する距離算出処理について説明を行う。図１３は、算出部１５００が実行する距離算出処理の一例を表すフローチャートの一部であり、図１４から１６は、算出部１５００が実行する距離算出処理の一例を表すフローチャートの他部である。
【０１５４】
先ず、算出部１５００は、例文パタンＡを変換部１４００から取得する（ステップＳＴ０２０１）。尚、例文パタンＡは、単語等である文字列 a1からanで構成されているとする。
【０１５５】
次に、算出部１５００は、変換後の入力文Ｓ'を変換部１４００から取得する（ステップＳＴ０２０２）。尚、変換後の入力文Ｓ'は、変換された単語又は節である文字列 s'1からs'm' で構成されているとする。
【０１５６】
その後、算出部１５００は、変数 d(0,0) に値「０」を代入することで初期化する（ステップＳＴ０２０３）。
【０１５７】
尚、図示を省略するが、算出部１５００は、例文パタンＡに対応付けた対訳例文パタン及び対応関係情報Ｆ２をも変換部１４００から取得する。
【０１５８】
ここで、変数 d(i, j) は、例文パタンＡを構成する文字列 a1からaiを例文パタンＡで使用する順番に並べた文字列a1a2…aiと、入力文Ｓ'を構成する変換後の単語又は節s'1からs'jを入力文Ｓ'で使用する順番に並べた文字列 s'1s'2…s'j との相違を表す第２の指標（つまり距離）である。
【０１５９】
また特に、変数 d(0, 0)は、全く文字列を有しない入力文（つまり、空文字列）と、全く単語等の文字列を有しない例文パタンとの相違を表す第２の指標である。
【０１６０】
次に、算出部１５００は、文字列が例文パタンＡで使用される順番を表す変数 i に値「1」を代入して初期化する（ステップＳＴ０２０４）。その後、算出部１５００は、変数 i が例文パタンＡを構成する文字列の数「n」以下であるか否かを判断する（ステップＳＴ０２０５）。算出部１５００は、変数 i が「n」以下であると判断する場合にはステップＳＴ０２０６の処理を、そうで無い場合にはステップＳＴ０２０９の処理を実行する。
【０１６１】
ステップＳＴ０２０５において、算出部１５００は、変数 i が「n」以下であると判断した場合には、d(i,0)の値を、「d(i-1,0）+ r」とする（ステップＳＴ０２０６）。
【０１６２】
次に、算出部１５００は、変数 PathFlag(i, 0)の値を「(1,0,0)」とする（ステップＳＴ０２０７）。その後、算出部１５００は、変数 i の値を１だけインクリメントする（ステップＳＴ０２０８）。その後、算出部１５００は、ステップＳＴ０２０５に戻り上記処理を繰り返す。
【０１６３】
ここで、変数 PathFlag(i, 0)と距離 d(i,j)との関係について説明する。
例文パタンＡである a1a2…aiと、変換された入力文Ｓ'である s'1 s'2…s'j との距離 d(i,j) は、例文パタン a1a2…ai を構成する文字列 a1 から ai を変換された入力文Ｓ' s'1s'2…s'j を構成する文字列 s'1 から s'j に対応付ける写像に基づいて定まる。
【０１６４】
この距離 d(i,j) を定める写像として、1対1であり、互いに交差せず、かつ例文パタン a1a2…ai-1 を構成する文字列 a1からai-1 を、変換された入力文 s'1s'2…s'j を構成する文字列 s'1からs'j に対応付ける写像と、例文パタンＡを構成する文字列 ai が入力文Ｓ'を構成する文字列に写像していない場合は、例文パタンを構成する ai を削除する規則を定める写像とを合成した写像を用いることができる。
【０１６５】
またこの距離 d(i,j) を定める写像として、1対1であり、互いに交差せず、かつ文字列 a1 から ai を文字列 s'1 から s'j-1 に対応付ける写像と、例文パタンＡを構成する文字列が入力文Ｓ'を構成する文字列に写像しない場合に、入力文Ｓ'を構成する文字列 sj を挿入する規則を定める写像とを合成した写像を用いることができる。
【０１６６】
更にこの距離 d(i,j) を定める写像として、1対1であり、互いに交差せず、かつ 文字列 a1 から ai-1 を文字列 s1 から sj-1 と対応付ける写像と、1対1であり、互いに交差せず、かつ例文パタンを構成する文字列を ai を入力文を構成する文字列 sj に置換する規則を定める写像とを合成した写像を用いることができる。
【０１６７】
よって、文字列 ai を削除する写像によって定まる距離を r とすれば、距離 d(i,j) は、「d(i,j) = d(i-1,j) + r 」として計算される。よって、距離 d(i,j) を算出する方法を表すフラグ変数 PathFlag(i,j) の値を「(1,0,0)」とすることで、距離 d(i,j)は、文字列 ai を削除する写像を用いて算出したことを表す。
【０１６８】
また、文字列 s'j を挿入する写像によって定まる距離を q とすれば、距離 d(i,j) は、「d(i,j) = d(i,j-1) + q 」として計算される。またここで、フラグ変数 PathFlag(i,j) の値を「(0,1,0)」とすることで、文字列 s'j を挿入する写像を用いて距離 d(i,j) を算出したことを表す。
【０１６９】
更に、１対１であり、互いに交差せず、かつ文字列 ai を文字列 s'j に置換する写像によって定まる距離を w(ai, s'j) とすれば、距離 d(i,j)は、「d(i,j) = d(i-1,j-1) + w(ai, s'j) 」として計算される。更にここで、フラグ変数 PathFlag(i,j) の値を「(0,0,1)」とすることで、文字列 ai を s'j に置換する写像を用いて距離 d(i,j) を算出したことを表す。
【０１７０】
尚、距離 w(ai, s'j) は、文字列 ai 及び s'j で定まる値を返す関数であり、図９を参照して説明した第１の指標をいう。
【０１７１】
本実施例においては、「q = r = 1, p = 1.5」として以下説明を行うが、これに限定される訳ではなく、実験又は論理により定まる他の好適な値を設定できる。
【０１７２】
ここで図１３に戻り、算出部１５００が実行する距離算出処理の一例について引き続き説明を行う。
【０１７３】
ステップＳＴ０２０５において、算出部１５００は、変数 i が「n」より大きいと判断した場合には、変換後の文字列が入力文Ｓ'で使用される順番を表す変数 j に値「1」を代入して初期化する（ステップＳＴ０２０９）。
【０１７４】
次に、算出部１５００は、変数 j が入力文Ｓ'を構成する変換後の文字列の数「m'」以下であるか否かを判断する（ステップＳＴ０２１０）。算出部１５００は、変数 j が「m'」以下であると判断する場合にはステップＳＴ０２１１の処理を、そうで無い場合にはステップＳＴ０２１４の処理を実行する。
【０１７５】
ステップＳＴ０２１０において、算出部１５００は、変数 j が「m'」以下であると判断した場合には、d(0,j)の値を、「d(0,j-1）+ q」とする（ステップＳＴ０２１１）。
【０１７６】
次に、算出部１５００は、変数 PathFlag(0, j)の値を「(0,1,0)」とする（ステップＳＴ０２１２）。その後、算出部１５００は、変数 j の値を１だけインクリメントする（ステップＳＴ０２１３）。その後、算出部１５００は、ステップＳＴ０２１０に戻り上記処理を繰り返す。
【０１７７】
ステップＳＴ０２１０において、算出部１５００は、変数 j が「m'」より大きいと判断した場合には、変数 i に値「1」を代入する（ステップＳＴ０２１４）。次に、算出部１５００は、変数 i が「n」以下であるか否かを判断する（ステップＳＴ０２１５）。算出部１５００は、変数 i が「n」以下であると判断する場合にはステップＳＴ０２１６の処理を、そうで無い場合にはステップＳＴ０２２８の処理を実行する。
【０１７８】
ステップＳＴ０２１５において、算出部１５００は、変数 j が「n」以下であると判断した場合には、変数 j に値「1」を代入する（ステップＳＴ０２１６）。次に、変数 j が「m'」以下であるか否かを判断する（ステップＳＴ０２１７）。算出部１５００は、変数 j が「m'」以下であると判断する場合にはステップＳＴ０２１８の処理を、そうで無い場合にはステップＳＴ０２２７の処理を実行する。
【０１７９】
ステップＳＴ０２１７において、算出部１５００は、変数 j が「m'」以下であると判断した場合には、d(i,j)の値を、「d(i-1,j-1）+ w(ai, s'j)」とする（ステップＳＴ０２１８）。次に、算出部１５００は、変数 PathFlag(i, j)の値を「(0,0,1)」とする（ステップＳＴ０２１９）。
【０１８０】
その後、算出部１５００は、文字列 s'i を 挿入をする写像に基づいて算出する距離 d(i, j-1) + q が、ステップＳＴ０２１８で単語又は節 ai を s'j に置換をする写像に基づいて算出した距離 d(i, j) より小さいか否かを判断する（ステップＳＴ０２２０）。算出部１５００は、距離 d(i, j-1) + q が、距離 d(i, j) より小さいと判断する場合にはステップＳＴ０２２１の処理を、そうで無い場合にはステップＳＴ０２２３の処理を実行する。
【０１８１】
ステップＳＴ０２２０において、算出部１５００は、距離 d(i, j-1) + q が距離 d(i, j) よりも小さいと判断した場合には、距離 d(i, j)を「d(i, j-1) + q」とする（ステップＳＴ０２２１）
【０１８２】
次に、算出部１５００は、変数 PathFlag(i, j) の値を 現在のPathFlag(i, j)の座標値毎に、値「(0,1,0)」の座標値とOR演算した値とする（ステップＳＴ０２２２）。
【０１８３】
ステップＳＴ０２２０において、算出部１５００は、距離 d(i, j-1) + q が 距離 d(i, j) 以上であると判断した場合、又はステップＳＴ０２２２を実行した後に、算出部１５００は、文字列 ai を削除をする写像に基づいて算出する距離 d(i-1, j) + r が、ステップＳＴ０２１８又はステップＳＴ０２２１で算出した距離 d(i, j) よりも小さいか否かを判断する（ステップＳＴ０２２３）。算出部１５００は、距離 d(i-1, j) + r が距離 d(i, j) より小さいと判断する場合にはステップＳＴ０２２４の処理を、そうで無い場合にはステップＳＴ０２２６の処理を実行する。
【０１８４】
ステップＳＴ０２２３において、算出部１５００は、距離 d(i-1, j) + r が距離 d(i, j) よりも小さいと判断した場合には、距離 d(i, j)を「d(i-1, j) + r」とする（ステップＳＴ０２２４）
【０１８５】
次に、算出部１５００は、変数 PathFlag(i, j) の値を 現在のPathFlag(i, j)の座標値毎に、値「(1,0,0)」の座標値とOR演算した値とする（ステップＳＴ０２２５）。
【０１８６】
ステップＳＴ０２２３において、算出部１５００は、距離 d(i-1, j) + r が距離 d(i, j) 以上であると判断した場合、又はステップＳＴ０２２５を実行した後には、算出部１５００は、変数 j を１だけインクリメントする（ステップＳＴ０２２６）。その後、算出部１５００は、ステップＳＴ０２１７に戻り、上記処理を繰り返す。
【０１８７】
ステップＳＴ０２１７において、算出部１５００は、変数 j が「m'」より大きいと判断した場合には、変数 i を１だけインクリメントする（ステップＳＴ０２２７）。その後、ステップＳＴ０２１５に戻り、上記処理を繰り返す。
【０１８８】
ステップＳＴ０２１５において、算出部１５００は、変数 j が「n」より大きいと判断した場合には、例文パタンＡと入力文Ｓ'との距離を Distance(A,S')とし、その値を d(n,m') の値とする（ステップＳＴ０２２８）。
【０１８９】
尚、図示を省略するが、算出部１５００は、算出した例文パタンＡと入力文Ｓ'との距離Distance(A,S')、その他の距離d(i,j)(ただし、1<=i<=n, 1<=j<=m')、例文パタンＡ、対訳例文パタン、対応関係情報Ｆ２、及び入力文Ｓ'を抽出部１６００へ出力する。その後、算出部１５００は、指標計算処理の実行を終了する。
【０１９０】
ここで表３を参照して、算出部１５００が算出する第２の指標について説明を行う。表３は、算出部１５００が算出した第２の指標の一例を示す表である。
【０１９１】
【表３】
2010152419.tif 000005
【０１９２】
表３が有する列は、空文字列、及び変換後の入力文Ｓ’を構成する文字列を表し、表３が有する行は、空文字列、及び例文パタンＡを構成する文字列を表す。
【０１９３】
また、表３が有する要素は、要素を保存する列が表す空文字列又は文字列とそれよりも左の列が表す空文字列又は文字列を、要素を保存する行が表す空文字列又は文字列とそれよりも上の行が表す空文字列又は文字列に対応付ける写像で定まる距離及び PathFlag を表す。
【０１９４】
具体的には、３行２列の要素「1(0,0,1)」は、２列が表す文字列「ＦＸの田中さん」とそれよりも左の列が表す空文字列を、３行が表す記号「Ｖ１」とそれよりも上の列が表す空文字列及び「必ず」という文字列にそれぞれ対応付ける写像で定まる距離が値「1」であり、PathFlag(2,1)の値が「(0, 0, 1)」であることを表す。
【０１９５】
よって表３の７行５列の要素が表すように、変換後の入力文Ｓ’と例文パタンＡとの距離は、算出部１５００によって、値「4」と計算されたことを表す。
【０１９６】
ここで図２に戻り、翻訳装置１０００の構成について引き続き説明を行う。
【０１９７】
抽出部１６００は、算出部１５００及び翻訳部１７００に接続している。抽出部１６００は、算出部１５００が算出した第２の指標に基づいて入力文を類別する例文パタンを抽出すると共に、変換部１４００が変換した文を構成する非共通部分と抽出した例文パタンを構成する非共通文字列とを対応付ける。
【０１９８】
ここで図１７を参照して、抽出部１６００の構成について説明を行う。図１７は、抽出部１６００の一構成例を表す機能ブロック図である。
【０１９９】
抽出部１６００は、実抽出部１６１０、関係特定部１６２０、及び関係選択部１６３０で構成される。
【０２００】
実抽出部１６１０は、算出部１５００及び関係特定部１６２０に接続している。実抽出部１６１０は、後述する実抽出処理を実行することで、検索部１３００が検索した例文パタンのから１つのパタンを抽出する。
【０２０１】
ここで、実抽出部１６１０が実行する実抽出処理の一例について説明を行う。
【０２０２】
先ず、実抽出部１６１０は、算出部１５００が計算した第２の指標（つまり、距離）を取得する。次に、実抽出部１６１０は、算出部１５００から検索部１３００が検索した例文パタンＡを取得する。
【０２０３】
その後、実抽出部１６１０は、算出部１５００が計算した第２の指標である入力文と例文パタンとの距離が最も近い例文パタンを抽出する。次に、実抽出部１６１０は、抽出した例文パタンを、入力文を類別するパタンであるとして関係特定部１６２０へ出力する。
【０２０４】
また、実抽出部１６１０は、算出部１５００から、選択した例文パタンとの距離を算出する際に作成した PathFlag 変数、及び変換後の入力文Ｓ’、並びに抽出した例文パタンＡに対応付けた対訳例文パタン、及び対応関係情報Ｆ２とを取得し、取得した入力文Ｓ’、 PathFlag 変数、対訳例文パタン、及び対応関係情報Ｆ２を関係特定部１６２０へ出力する。その後、実抽出部１６１０は、実抽出処理の実行を終了する。
【０２０５】
関係特定部１６２０は、実抽出部１６１０及び関係選択部１６３０に接続している。関係特定部１６２０は、後述する関係特定処理を実行することで、入力文Ｓ’を構成する変換後の文字列と入力文Ｓを類別する例文パタンＡを構成する文字列との対応関係を特定する。
【０２０６】
ここで図１８を参照して、関係特定部１６２０が実行する関係特定処理について概説する。図１８は、関係特定部１６２０が実行する関係特定処理の一例について概説するための図である。
【０２０７】
先ず、関係特定部１６２０は、入力文Ｓ’と例文パタンＡとの距離、及び PathFlag 変数の値を表す７行５列の要素を取得する。次に、関係特定部１６２０は、取得した PathFlag(6,4) の値が「(0,0,1)」であるため、７行５列の要素が表す距離は、入力文Ｓ’を構成する第２列から４列までが表す文字列と、例文パタンＡを構成する第２行から６行までが表す文字列とを対応付ける写像と、例文パタンＡを構成する第７行が表す文字列を、入力文Ｓ'を構成する第５列が表す文字列に置換する規則を定める写像とを合成した写像により定まると判断する。
【０２０８】
よって、関係特定部１６２０は、第７行があらわす文字列 a6 と第５列があらわす文字列 s4 との対応関係は置換関係であると判断し、対応関係情報Ｆ１に値「(6:4)」を追加する。
【０２０９】
次に、関係特定部１６２０は、PathFlag(5,3) を表す６行４列の要素を取得する。
【０２１０】
その後、関係特定部１６２０は、６行４列の要素が表す PathFlag(5,3)の値が「0,1,0」であるため、６行４列の要素が表す距離は、入力文Ｓ’を構成する第２列から３列までが表す文字列と、例文パタンＡを構成する第２行から５行までが表す文字列とを対応付ける写像と、入力文Ｓ’を構成する第４列が表す文字列を、例文パタンＡに挿入する規則を定める写像とを合成した写像により定まると判断する。
【０２１１】
よって、関係特定部１６２０は、第４列があらわす文字列 s3を例文パタンＡに挿入すると判断し、対応関係情報Ｆ１に値「(0:3)」を追加する。
【０２１２】
以下同様に、上記処理を繰り返すことで、関係特定部１６２０は、入力文Ｓ’を構成する文字列と入力文Ｓ’を類別した例文パタンＡを構成する文字列との対応関係を特定する。
【０２１３】
ここで、特に、５行２列に対する関係特定部１６２０の処理について説明する。
【０２１４】
５行２列の要素が表す PathFlag(4,1) の値は、「1,0,1」であるため、関係特定部１６２０は、５行２列の要素が表す距離が、入力文Ｓ’を構成する第１列が表す空文字列と、例文パタンＡを構成する第２行から４行までが表す文字列とを対応付ける写像と、例文パタンＡを構成する第５行が表す文字列を、入力文Ｓ'を構成する第２列が表す文字列に置換する規則を定める写像、又は例文パタンＡを構成する第５行が表す文字列を削除する規則を定める写像のいずれか１方とを合成した写像により定まると判断する。
【０２１５】
よって、関係特定部１６２０は、第５行があらわす文字列 a4 と第２列があらわす文字列 s1 との対応関係は置換関係であると判断する場合には、値「(4:1)」を追加してすることで対応関係情報Ｆ１１を生成し、第５列があらわす文字列 a4を例文パタンＡから削除すると判断する場合には、値「(4:0)」を追加することで対応関係情報Ｆ１２を生成する。
【０２１６】
尚、例えば、１又は複数の対応関係情報Ｆ１で構成される集合を、対応関係集合ＳＦという。尚、対応関係集合ＳＦに属する対応関係情報Ｆ１１及びＦ１２の表記は、対応関係情報Ｆ２と同様であるため説明を省略する。
【０２１７】
ここで図１９から２２を参照して、関係特定部１６２０が実行する関係特定処理について説明を行う。図１９は、関係特定部１６２０が実行する関係特定処理の一例を表すフローチャートの一部であり、図２０から２２は、関係特定部１６２０が実行する関係特定処理の一例を表すフローチャートの他部である
【０２１８】
先ず、関係特定部１６２０は、対応関係集合ＳＦを空集合とすることで初期化する（ステップＳＴ０３０１）。
【０２１９】
次に、関係特定部１６２０は、カウンタ変数 h に対して値「0」を代入することで初期化する（ステップＳＴ０３０２）。その後、関係特定部１６２０は、カウンタ変数 h が値「-100」であるか否かを判断する（ステップＳＴ０３０３）。関係特定部１６２０は、カウンタ変数 h が値「-100」であると判断する場合には関係特定処理の実行を終了し、そうで無い場合にはステップＳＴ０３０４の処理を実行する。
【０２２０】
ステップＳＴ０３０３において、関係特定部１６２０は、カウンタ変数 h が値「-100」でないと判断した場合には、例文パタンＡを構成する文字列が文で使用される順番を表すカウンタ変数 i に例文パタンＡを構成する文字列の数「n」を代入して初期化し、入力文Ｓ’を構成する文字列が文で使用される順番を表すカウンタ j に入力文Ｓ’を構成する文字列の数「m'」を代入して初期化する（ステップＳＴ０３０４）。
【０２２１】
次に、関係特定部１６２０は、変数 h を、例文パタンＡを構成する文字列の数 n と入力文Ｓ’を構成する文字列の数 m' の内で大きい方の値とする（ステップＳＴ０３０５）。
【０２２２】
その後、関係特定部１６２０は、変数 h が値「1」以上である否かを判断する（ステップＳＴ０３０６）。関係特定部１６２０は、変数 h が値「1」以上であると判断する場合にはステップＳＴ０３０７の処理を、そうで無い場合にはステップＳＴ０３２１の処理を実行する。
【０２２３】
ステップＳＴ０３０６において、関係特定部１６２０は、変数 h が値「1」以上であると判断した場合には、PathFlag(i, j) のｚ座標の値が値「1」以上であり、ｚ座標の値がｘ座標の値以上であり、かつｚ座標の値がｙ座標の値以上であるという条件（以下単に、条件１という）を満たすか否かを判断する（ステップＳＴ０３０７）。関係特定部１６２０は、条件１を満たすと判断する場合にはステップＳＴ０３０８の処理を、そうで無い場合にはステップＳＴ０３１１の処理を実行する。
【０２２４】
ステップＳＴ０３０７において、関係特定部１６２０は、条件１を満たすと判断した場合には、２次元配列である変数 Path(i, j) に値「(i-1, j-1)」を代入する（ステップＳＴ０３０８）。尚、Path変数は、文字列の対応関係を表す２次元配列である。
【０２２５】
次に、関係特定部１６２０は、変数 PatFlag(i, j) のｚ座標を値「1」だけインクリメントする（ステップＳＴ０３０９）。その後、関係特定部１６２０は、変数 i 及び j の値を１だけデクリメントする（ステップＳＴ０３１０）。次に、関係特定部１６２０は、ステップＳＴ０３２０の処理を実行する。
【０２２６】
ステップＳＴ０３０７において、関係特定部１６２０は、条件１を満たさないと判断した場合には、ｙ座標の値が値「1」以上であり、ｙ座標の値がｘ座標の値以上であり、かつｙ座標の値がｚ座標の値より大きいという条件（以下単に、条件２という）を満たすか否かを判断する（ステップＳＴ０３１１）。関係特定部１６２０は、条件２を満足すると判断する場合にはステップＳＴ０３１２の処理を、そうで無い場合にはステップＳＴ０３１５の処理を実行する。
【０２２７】
ステップＳＴ０３１１において、関係特定部１６２０は、条件２を満足すると判断した場合には、２次元配列である変数 Path(i, j) に値「(i, j-1)」を代入する（ステップＳＴ０３１２）。尚、Path(i, j) の値は、ｘｙ座標を用いて表す。
【０２２８】
次に、関係特定部１６２０は、変数 PathFlag(i, j) のｙ座標を値「1」だけインクリメントする（ステップＳＴ０３１３）。その後、関係特定部１６２０は、j の値を１だけデクリメントする（ステップＳＴ０３１４）。次に、関係特定部１６２０は、ステップＳＴ０３２０の処理を実行する。
【０２２９】
ステップＳＴ０３１１において、関係特定部１６２０は、条件２を満たさないと判断した場合には、ｘ座標の値が値「1」以上であり、ｘ座標の値がｙ座標の値以上であり、かつｘ座標の値がｚ座標の値より大きいという条件（以下単に、条件３という）を満たすか否かを判断する（ステップＳＴ０３１５）。関係特定部１６２０は、条件３を満たすと判断する場合にはステップＳＴ０３１６の処理を、そうで無い場合にはステップＳＴ０３１９の処理を実行する。
【０２３０】
ステップＳＴ０３１５において、関係特定部１６２０は、条件３を満たすと判断した場合には、２次元配列である変数 Path(i, j) に値「(i-1, j)」を代入する（ステップＳＴ０３１６）。
【０２３１】
次に、関係特定部１６２０は、変数 Path(i, j) のｘ座標を値「1」だけインクリメントする（ステップＳＴ０３１７）。その後、関係特定部１６２０は、i の値を１だけデクリメントする（ステップＳＴ０３１８）。次に、関係特定部１６２０は、ステップＳＴ０３２０の処理を実行する。
【０２３２】
ステップＳＴ０３１５において、関係特定部１６２０は、条件３を満たさないと判断した場合には、変数 h の値を 「-100」 とする（ステップＳＴ０３１９）。その後、関係特定部１６２０は、ステップＳＴ０３２０の処理を実行する。
【０２３３】
ステップＳＴ０３１０、ステップＳＴ０３１４、ステップＳＴ０３１８、又はステップＳＴ０３１９を実行した後に、関係特定部１６２０は、変数 h の値を１だけデクリメントする（ステップＳＴ０３２０）。その後、関係特定部１６２０は、ステップＳＴ０３０６に戻り、上記処理を繰り返す。
【０２３４】
ステップＳＴ０３０６において、関係特定部１６２０は、変数 h が値「1」より小さいと判断した場合には、関係特定部１６２０は、対応関係情報を保存する変数Ｆ１を初期化する（ステップＳＴ０３２１）。次に、関係特定部１６２０は、カウンタ変数 h の値を「0」とすることで初期化する（ステップＳＴ０３２２）。
【０２３５】
次に、関係特定部１６２０は、例文パタンＡを構成する文字列が文で使用される順番を表すカウンタ変数 i に例文パタンＡを構成する文字列の数「n」を代入して初期化し、入力文Ｓ’を構成する文字列が文で使用される順番を表すカウンタ j に入力文Ｓ’を構成する文字列の数「m'」を代入して初期化する（ステップＳＴ０３２３）。
【０２３６】
次に、関係特定部１６２０は、変数 h を、例文パタンＡを構成する単語又は節の数 n と入力文Ｓ’を構成する単語又は節の数 m' の内で大きいほうの値とする（ステップＳＴ０３２４）。
【０２３７】
その後、関係特定部１６２０は、変数 h が値「1」以上である否かを判断する（ステップＳＴ０３２５）。関係特定部１６２０は、変数 h が値「1」以上であると判断する場合にはステップＳＴ０３２６の処理を、そうで無い場合にはステップＳＴ０３３４の処理を実行する。
【０２３８】
ステップＳＴ０３２５において、関係特定部１６２０は、変数 h が値「1」以上であると判断した場合には、変数 Path(i, j) の値が 「(i-1, j-1)」であるか否かを判断する（ステップＳＴ０３２６）。関係特定部１６２０は、変数 Path(i, j) の値が 「(i-1, j-1)」であると判断する場合にはステップＳＴ０３２７の処理を、そうで無い場合にはステップＳＴ０３２８の処理を実行する。
【０２３９】
ステップＳＴ０３２６において、関係特定部１６２０は、変数 Path(i, j) の値が 「(i-1, j-1)」であると判断した場合には、対応関係情報Ｆ１ に対して左側から「(i:j)」を追加する（以下単に、F1 = (i:j) U F1 と表記する）（ステップＳＴ０３２７）。その後、関係特定部１６２０は、ステップＳＴ０３３２の処理を実行する。
【０２４０】
ステップＳＴ０３２６において、関係特定部１６２０は、変数 Path(i, j) の値が 「(i-1, j-1)」でないと判断した場合には、変数 Path(i, j) の値が 「(i, j-1)」であるか否かを判断する（ステップＳＴ０３２８）。関係特定部１６２０は、変数 Path(i, j) の値が 「(i, j-1)」であると判断する場合にはステップＳＴ０３２９の処理を、そうで無い場合にはステップＳＴ０３３０の処理を実行する。
【０２４１】
ステップＳＴ０３２８において、関係特定部１６２０は、変数 Path(i, j) の値が 「(i, j-1)」であると判断した場合には、対応関係情報Ｆ１ に対して左側から「(0:j)」を追加する（以下単に、F1 = (0:j) U F1 と表記する）（ステップＳＴ０３２９）。その後、関係特定部１６２０は、ステップＳＴ０３３２の処理を実行する。
【０２４２】
ステップＳＴ０３２８において、関係特定部１６２０は、変数 Path(i, j) の値が 「(i, j-1)」でないと判断した場合には、変数 Path(i, j) の値が 「(i-1, j)」であるか否かを判断する（ステップＳＴ０３３０）。関係特定部１６２０は、変数 Path(i, j) の値が 「(i-1, j)」であると判断する場合にはステップＳＴ０３３１の処理を、そうで無い場合にはステップＳＴ０３３２の処理を実行する。
【０２４３】
ステップＳＴ０３３０において、関係特定部１６２０は、変数 Path(i, j) の値が 「(i-1, j)」であると判断した場合には、対応関係情報Ｆ１に対して、「(i:0)」を追加する（以下単に、F1 = (i:0) U F1 と表記する）（ステップＳＴ０３３１）。その後、関係特定部１６２０は、ステップＳＴ０３３２の処理を実行する。
【０２４４】
ステップＳＴ０３２７、ステップＳＴ０３２９、又はステップＳＴ０３３１を実行した後、若しくはステップＳＴ０３３０において、関係特定部１６２０は、変数 Path(i, j) の値が 「(i-1, j)」でないと判断した場合には、変数 i の値を変数 Path のｘ座標値とし、かつ変数 j の値を変数 Path のｙ座標値とする（ステップＳＴ０３３２）。
【０２４５】
次に、関係特定部１６２０は、変数 h の値を１だけデクリメントする（ステップＳＴ０３３３）。その後に、関係特定部１６２０は、ステップＳＴ０３２５に戻り上記処理を繰り返す。
【０２４６】
ステップＳＴ０３２５において、変数 h の値が「1」より小さいと判断した場合には、関係特定部１６２０は、変数Ｆ１が保存する対応関係情報が、変数ＳＦが表す対応関係集合に属するか否かを判断する（ステップＳＴ０３３４）。関係特定部１６２０は、変数Ｆ１が保存する対応関係情報が、変数ＳＦが表す対応関係集合に属すると判断する場合にはステップＳＴ０３３６の処理を、そうで無い場合にはステップＳＴ０３３５の処理を実行する。
【０２４７】
ステップＳＴ０３２５において、変数Ｆ１が保存する対応関係情報が、変数ＳＦが表す対応関係集合に属しないと判断した場合には、関係特定部１６２０は、変数Ｆ１が保存する対応関係情報を、変数ＳＦが表す対応関係集合の要素として追加する（ステップＳＴ０３３５）。その後、関係特定部１６２０は、ステップＳＴ０３０３に戻り上記処理を繰り返す。
【０２４８】
ステップＳＴ０３２５において、変数Ｆ１が保存する対応関係情報が、変数ＳＦが表す対応関係集合に属すると判断した場合には、関係特定部１６２０は、変数 h の値を値「-100」とする（ステップＳＴ０３３６）。その後、関係特定部１６２０は、ステップＳＴ０３０３に戻り上記処理を繰り返す。
【０２４９】
尚、図示は、省略するが、関係特定部１６２０は、関係選択部１６３０へ、特定した対応関係を表す対応関係情報を要素とする対応関係集合ＳＦを出力する。
【０２５０】
また、関係特定部１６２０は、変換した入力文Ｓ’、抽出した例文パタンＡ、対訳例文パタン、及び対応関係情報Ｆ２をも関係選択部１６３０へ出力する。
【０２５１】
ここで図１７に戻り、抽出部１５００の構成について引き続き説明を行う。
【０２５２】
関係選択部１６３０は、関係特定部１６２０及び翻訳部１７００に接続している。関係選択部１６３０は、後述する関係選択処理を実行することで、関係特定部１６２０が特定した対応関係の内から、共通文字列及び非共通文字列の例文パタンＡにおいて使用される順番と、共通部分及び非共通部分の入力文において使用される順番とに基づいて、非共通文字列と非共通部分とを対応付ける対応関係を１つ選択する。
【０２５３】
ここで、再度図１８を参照して、関係特定部１６２０が実行する関係選択処理の一例について概説する。
【０２５４】
関係特定部１６２０は、例文パタンＡが、互いに隣接した固定部分（つまり、共通文字列）と可変部分（つまり、非共通文字列）とで構成される場合に、同じ様に隣接する共通部分及び非共通部分と、固定部分及び可変部分とを対応付ける対応関係情報Ｆ１を対応関係集合ＳＦの要素（つまり、対応関係情報Ｆ１１及び１２）から選択する。
【０２５５】
本実施例では、関係特定部１６２０は、関係選択処理の実行により、対応関係集合ＳＦの要素から、１つの対応関係情報Ｆ１を選択するとして説明するが、これに限定される訳ではない。例えば、削除する規則よりも置換する規則を優先して適用する等といった適用規則の優先順位を予め定め、定めた規則に従って対応関係情報Ｆ１を選択する構成を採用できる。
【０２５６】
本実施例では、例文パタンＡが、互いに隣接した固定部分と可変部分とで構成される場合を例に挙げて説明するが、これに限定される訳ではなく、例えば、例文パタンが、所定の文字数、単語数、又は節の数だけ離れた固定部分と可変部分とで構成される場合についても、ほぼ同様の処理によって、対応関係情報を選択できる。
【０２５７】
尚、関係特定部１６２０が、関係特定処理で特定した対応関係情報Ｆ１が表す対応関係（n:m）は、少なくとも文字列が例文パタンＡで使用される順番に基づいて昇順にソートされている。
【０２５８】
次に、図２３及び２４を参照して、関係特定部１６２０が実行する関係選択処理について説明を行う。図２３は、関係特定部１６２０が実行する関係選択処理の一例を表すフローチャートの一部であり、図２４は、関係特定部１６２０が実行する関係選択処理の一例を表すフローチャートの他部である。
【０２５９】
先ず、図示を省略するが、関係選択部１６３０は、関係特定部１６２０から対応関係集合ＳＦを取得する。また、関係選択部１６３０は、変換された入力文、例文パタン、対訳例文パタン、及び対応関係情報Ｆ２を関係特定部１６２０から取得する。
【０２６０】
次に、関係選択部１６３０は、取得した集合ＳＦに、ステップＳＴ０４０２からＳＴ０４１１までの処理の対象としていない対応関係情報Ｆ１（以下単に、未処理の対応関係情報という）が存在するか否かを判断する（ステップＳＴ０４０１）。関係選択部１６３０は、未処理の対応関係情報Ｆ１が存在すると判断する場合にはステップＳＴ０４０２の処理を、そうで無い場合にはステップＳＴ０４１２の処理を実行する。
【０２６１】
ステップＳＴ０４０１において、関係選択部１６３０は、未処理の対応関係情報Ｆ１が存在すると判断した場合には、未処理の対応関係情報Ｆ１を処理対象情報ＦＴとする（ステップＳＴ０４０２）。
【０２６２】
次に、関係選択部１６３０は、処理対象情報ＦＴに割り当てるスコアの値を値「0」とすることで初期化する（ステップＳＴ０４０３）。
【０２６３】
その後、関係選択部１６３０は、処理対象情報ＦＴに、ステップＳＴ０４０５からＳＴ０４１１の処理対象としていない対応関係（i,j）（以下単に、未処理の対応関係という）が存在するか否かを判断する（ステップＳＴ０４０４）。関係選択部１６３０は、未処理の対応関係（i,j）が存在すると判断する場合にはステップＳＴ０４０５の処理を、そうで無い場合にはステップＳＴ０４０１に戻り上記処理を繰り返す。尚、記号「i」 は、関係する文字列が変換された入力分Ｓ’で使用される順番を、記号「j」 は、関係する文字列が例文パタンＡで使用される順番を表す。
【０２６４】
ステップＳＴ０４０４において、関係選択部１６３０は、未処理の対応関係（i,j）が存在すると判断した場合には、未処理の対応関係の内で最も右の１つを処理対象関係 (i1, j1) とする（ステップＳＴ０４０５）。尚、記号「i1」は、処理対象関係が関係を表す文字列が変換された入力分Ｓ’で使用される順番を、記号「j1」 は、処理対象関係が関係を表す文字列が例文パタンＡで使用される順番を表す。
【０２６５】
次に、関係選択部１６３０は、記号「j1」が表す例文パタンＡを構成する文字列 aj1 が固定部であるか否かを判断する（ステップＳＴ０４０６）。関係選択部１６３０は、文字列 aj1 が固定部であると判断する場合はステップＳＴ０４０７の処理を、そうで無い場合にはステップＳＴ０４０４に戻り上記処理を繰り返す。
【０２６６】
ステップＳＴ０４０６において、関係選択部１６３０は、文字列 aj1 が固定部であると判断した場合には、未処理の対応関係 (i, j) が存在するか否かを判断する（ステップＳＴ０４０７）。関係選択部１６３０は、未処理の対応関係 (i, j) が存在すると判断する場合にはステップＳＴ０４０８の処理を実行し、そうで無い場合にはステップＳＴ０４０１に戻り上記処理の実行を繰り返す。
【０２６７】
ステップＳＴ０４０７において、関係選択部１６３０は、未処理の対応関係（i,j）が存在すると判断した場合には、未処理の対応関係の内で最も右の１つを新たに処理対象関係 (i2, j2) とする（ステップＳＴ０４０８）。尚、記号「i2」及び「j2」については、記号「i1」及び「j1」と同様であるので説明を省略する。
【０２６８】
次に、関係選択部１６３０は、記号「j2」が表す例文パタンＡを構成する文字列 aj2 が可変部であるか否かを判断する（ステップＳＴ０４０９）。関係選択部１６３０は、文字列 aj2 が可変部であると判断する場合はステップＳＴ０４１０の処理を、そうで無い場合にはステップＳＴ０４０４に戻り上記処理を繰り返す。
【０２６９】
ステップＳＴ０４０９において、関係選択部１５２０は、文字列 aj2 が可変部であると判断した場合には、「i2」の値 が 「i1」の値に対して値「1」を足した値であり、かつ「j2」の値 が 「j1」の値に対して値「1」を足した値である条件（以下単に、条件４という）を満足するか否かを判断する（ステップＳＴ０４１０）。
【０２７０】
つまり、例文パタンＡにおいて「j1」番目に使用される文字列 aj1 と、入力文Ｓ’において「i1」番目に使用される文字列 s'i1 とが対応し、かつ例文パタンＡにおいて「j2」番目に使用される文字列 aj2 と、入力文Ｓ’において「i2」番目に使用される文字列 s'i2 とが対応する場合に、例文パタンＡにおいて「j1」番目に使用される文字列が「j2」番目に使用される文字列の右隣に位置し、かつ入力文Ｓ’において「i1」番目に使用される文字列が「i2」番目に使用される文字列の右隣に位置するか否かを判断する。
【０２７１】
関係選択部１６３０は、条件４を満足すると判断する場合には、ステップＳＴ０４１１の処理を、そうで無い場合にはステップＳＴ０４０４に戻り上記処理を繰り返す。
【０２７２】
ステップＳＴ０４１０において、関係選択部１６３０は、条件４を満足すると判断した場合には、処理対象情報ＦＴに割り当てたスコアを値「1」だけインクリメントする（ステップＳＴ０４１１）。その後、ステップＳＴ０４０４に戻り上記処理を繰り返す。
【０２７３】
ステップＳＴ０４０１において、未処理の対応関係情報Ｆ１が存在しないと判断した場合には、関係選択部１６３０は、割り当てたスコアが最大の値をとる対応関係情報Ｆ１を選択する（ステップＳＴ０４１２）。
【０２７４】
その後、図示を省略するが、関係選択部１６３０は、選択した対応関係情報Ｆ１を翻訳部１７００へ出力する。また、関係選択部１６３０は、変換された入力文、抽出された例文パタン、対訳例文パタン、及び対応関係情報Ｆ２をも翻訳部１７００へ出力する。次に、関係選択部１６３０は、関係選択処理の実行を終了する。
【０２７５】
ここで図２に戻り、翻訳装置１０００の構成について引き続き説明を行う。
翻訳部１７００は、記憶部１１００、抽出部１６００、及び表示装置２０００に接続している。翻訳部１７００は、後述する翻訳処理を実行することで、入力文を構成する非共通部分を含む文字列と、抽出部１６００が抽出した例文パタンを構成する非共通文字列を含む文字列に対応付けて記憶部１１００が記憶する対訳例文パタンを構成する文字列とを対応させる写像に基づいて、入力文を翻訳する。
【０２７６】
ここで図２５を参照して、翻訳部１７００が翻訳に用いる写像について説明を行う。図２５は、翻訳部１７００が翻訳に用いる写像を説明するための図である。
【０２７７】
図２５に示すように、翻訳部１７００が翻訳に用いる写像 F(S,B) は、入力文Ｓを変換した文Ｓ’を構成する文字列と、入力文Ｓを類別する例文パタンＡを構成する文字列との対応関係を定める写像 F1(S,A) と、例文パタンＡを構成する文字列と、例文パタンＡを翻訳した対訳例文パタンＢを構成する文字列との対応関係を定める写像 F2(A,B) との合成写像である。尚、写像 F1(S,A)及びF2(A,B)は、それぞれ対応関係情報Ｆ１及びＦ２が表す対応関係を定める写像である。
【０２７８】
ここで、翻訳部１７００が実行する翻訳処理の一例について説明を行う。
先ず、翻訳部１７００は、抽出部１６００から、変換後の入力文Ｓ'と、抽出部１６００が抽出した例文パタンＡとの対応関係情報Ｆ１を取得し、取得した情報が表す写像 F1(S, A) を特定する。
【０２７９】
次に、翻訳部１７００は、記憶部１１００が記憶する例文パタンＡと対訳例文パタンＢとの対応関係情報Ｆ２を取得するか、抽出部１６００から情報Ｆ２を取得し、取得した情報が表す写像 F2(A, B) を特定する。
【０２８０】
また、翻訳部１７００は、記憶部１１００又は抽出部１６００から、例文パタンＡに対応付けた対訳例文パタンを取得する。
【０２８１】
その後、翻訳部１７００は、写像 F1(S, A)と写像 F2(A, B)とを合成し、合成した写像 F(S, B) と、対訳例文パタンとを用いて入力文Ｓを翻訳する。次に、翻訳部１７００は、翻訳した文を表示装置２０００が表示するよう制御する。その後、翻訳部１７００は、翻訳処理の実行を終了する。
【０２８２】
尚、翻訳部１７００は、例文パタンＡ及び対訳例文パタンＢの可変部分に対応する入力文Ｓ’を構成する変換後の文字列を、記憶部１１００が記憶する単語辞書、又は例文辞書を用いて翻訳する。
【０２８３】
ここで図１に戻り、翻訳システム１０の構成について引き続き説明を行う。
表示装置２０００は、例えば、ＣＲＴ（Cathode Ray Tube）、液晶ディスプレイ、又はプラズマディスプレイで構成され、翻訳装置１０００に接続している。
【０２８４】
表示装置２０００は、翻訳装置１０００に制御されて第１の言語で表された入力文を表示する。次に、表示装置２０００は、翻訳装置１０００が翻訳した翻訳文を表示する。
【０２８５】
入力装置３０００は、例えば、キーボード、ポインティング・ディバイス（いわゆるマウス）、又はタッチパネルで構成され、翻訳装置１０００に接続している。入力装置３０００は、翻訳装置１０００の使用者に操作されて、第１の言語で表された入力文を入力する。
【０２８６】
本実施例においては、記憶部１１００が記憶手段に相当し、検索部１３００が検索手段に相当し、変換部１４００が変換手段に相当し、算出部１５００が算出手段に相当し、抽出部１６００が類別手段に相当し、翻訳部１７００が翻訳手段に相当する。
【０２８７】
以下、本発明の第2の実施例に係る翻訳システムの実施形態について説明する。
【実施例２】
【０２８８】
第２の実施例において、翻訳装置を構成する単語検索部は、ハッシュ関数を用いて例文パタンを検索する。この単語検索部は、トライ構造を有するツリーを用いて検索する実施例１において説明した単語検索部と異なる。
【０２８９】
実施例２における翻訳システムを構成する翻訳装置、表示装置、及び入力装置の接続、構成、及び機能については、実施例１における翻訳装置１０００、表示装置２０００、及び入力装置３０００の接続、構成、及び機能と同様であるため、以下主に、相違点についてのみ説明する。また、説明の便宜のため、実施例１で用いた符号と同じ符号を用いて説明を行う。
【０２９０】
ここで、実施例２において、単語検索部１３１０が実行する単語検索処理の一例について説明を行う。
【０２９１】
先ず、単語検索部１３１０は、解析部１２００から、入力文を構成する形態素を取得する。次に、単語検索部１３１０は、取得した形態素から入力文を構成する単語を抽出する。
【０２９２】
その後、単語検索部１３１０は、抽出した単語に基づいて、ハッシュ処理を実行することで、ハッシュ値を計算する。次に、単語検索部１３１０は、計算したハッシュ値と関連付けて記憶部１１００が記憶するインデックス配列１１３０のレコードＩＤを取得する。
【０２９３】
尚、記憶部１１００は、単語検索部１３１０が計算するハッシュ値と、ハッシュ値を計算する基礎とした単語を用いた例文パタンの識別情報を保存したインデックス配列の要素であるレコードを識別するレコードＩＤとを関連付けて記憶している。
【０２９４】
次に、単語検索部１３１０は、取得したレコードＩＤを例文パタン検索部１３２０へ出力する。尚、単語検索部１３１０は、解析部１２００から取得した単語及び節をも例文パタン検索部１３２０へ出力する。その後、単語検索部１３１０は、単語検索処理の実行を終了する。
【０２９５】
ここで図２６を参照して、実施例２において単語検索部１３１０が実行するハッシュ処理について説明を行う。図２６は、実施例２において単語検索部１３１０が実行するハッシュ処理の一例を表すフローチャートである。
【０２９６】
先ず、単語検索部１３１０は、ハッシュ値を格納する変数Ｈを初期化する（ステップＳＴ０５０１）。次に、ハッシュ値を計算する対象とする単語Ｗを取得する（ステップＳＴ０５０２）。ここで、単語Ｗは、文字ｗ１からｗＬで構成されるとする。
【０２９７】
その後、単語検索部１３１０は、カウンタ変数 i に値「1」を代入して初期化する（ステップＳＴ０５０３）。次に、単語検索部１３１０は、カウンタ変数の値 i が文字数 Ｌ 以下であるかを判断する（ステップＳＴ０５０４）。単語検索部１３１０は、カウンタ変数の値 i が文字数Ｌ 以下であると判断する場合にはステップＳＴ０５０５の処理を、そうで無い場合にはハッシュ処理の実行を終了する。
【０２９８】
ステップＳＴ０５０４において、単語検索部１３１０は、カウンタ変数の値 i が文字数 Ｌ 以下であると判断した場合には、変数Ｈに対して、数式「 H | (wi << (i & 0x0F))」を用いて計算される値を代入する（ステップＳＴ０５０５）。尚、記号「&」、「<<」、及び「|」は、AND演算子、左シフト演算子、及びOR演算子を表す。
【０２９９】
次に、単語検索部１３１０は、変数Ｈに対して、数式「 H = H % L 」を用いて計算される値を代入する（ステップＳＴ０５０６）。尚、記号「%」は、モジュロ演算子を表す。その後、単語検索部１３１０は、上記ステップＳＴ０５０４に戻り上記処理を繰り返す。
【０３００】
翻訳装置１０００は、演算部１００１がＲＯＭ１００２、ＲＡＭ１００３、及び外部記憶部１００４の少なくともひとつに格納されたプログラムを実行することによって実現される。また、このプログラムは、磁気ディスクや光ディスク、半導体メモリ、その他の記録媒体に格納して配布したり、ネットワークを介して配信したりすることにより提供できる。
【０３０１】
以下に、第1の実施例で使用可能な入力文に対して比較的複雑な入力文も翻訳可能な第3の実施例に係る翻訳システムについて説明する。
【実施例３】
【０３０２】
図２７は本発明の第3の実施例に係る翻訳システムの機能的な構成を示すブロック図である。同図において、翻訳システム１０aは、翻訳装置１００１、出力装置２０００および入力装置３０００を含んで構成される。図２８は翻訳装置１００１の主要部の構成を示す詳細ブロック図である。図1、図2で説明した第1の実施例の翻訳システム１０と同一の構成要素には、同一の参照符号を付与した。
以下相違部分に重点をおいて説明する。
【０３０３】
まず、解析部１２００は、入力装置３０００から入力された第1言語の文書情報を形態素解析し、入力文を構成する単語を切り分け，単語の品詞を付与するなどの処理をする。
【０３０４】
検索部１３００は、解析部１２００の解析結果および記憶部１１００の記憶内容を参照して、入力文と類似な第1言語の例文パタン候補（1または複数ある）を抽出する。
【０３０５】
変換部１４０１は、第1言語の入力文と抽出された第1言語の例文パタンの候補を用いて，入力文の節を求める。第1言語入力文を第1言語例文パタンとの間の相違を求めるために，第1言語例文パタンに基づいて第1言語入力文を変換する。第1の実施例の変換部１４００との相違点は、後述する。
【０３０６】
算出部１５００は変換部１４０１で変換された第1言語入力文の単語/節の列と第1言語例文パタンの候補間の相違として距離を求める。最小な相違を決める第1言語入力文の単語/節の列と、抽出された第1言語の例文パタン候補間の変換写像を求める。ここで，最小な相違値としての距離値を与える例文パタン候補が複数ある場合があるし、最小な相違値を決める例文パタン候補と入力文の単語/節の列間の変換写像が複数ある場合もある。
【０３０７】
抽出部１６００は、第1言語入力文の単語/節の列と第1言語例文パタン間の対応関係を求める。第1言語入力文の単語/節の列と抽出された第1言語の例文パタン候補間の対応関係(写像)を求める。抽出部１６００は第1の実施例と同様の詳細構成を有し、最終段の関係選択部１６３０は第1言語入力文の単語/節の列と抽出された第1言語の例文パタン候補間の対応関係が複数ある場合は，適切な対応関係を選択する。
【０３０８】
判定修正部１８００は、判定部１８１０、修正部１８２０および最適関係選択部１８３０を含んで構成される。判定修正部１８００は、関係選択部１６３０の選択結果および記憶部１１００の記憶内容を参照して、選択結果を判定し、修正が必要な場合は、修正して算出部１５００に戻すことにより、再度対応関係を得るものである。
【０３０９】
判定部１８１０は、関係選択部１６３０の選択結果について、第１言語入力文の単語/節の列と第１言語例文パタン間の対応関係を再計算するかどうかを判定する。
【０３１０】
修正部１８２０は、第1言語入力文の単語/節の列を修正して，修正後の第1言語入力文の単語/節の列と第1言語例文パタン間の相違をもう一度計算し，新しい距離値を定めるために第1言語入力文の単語/節の列と第1言語例文パタン間の対応関係を求める。
【０３１１】
最適関係選択部１８３０は、すべての例文パタンの候補と第1言語入力文の単語/節の列間の対応関係集合から，最適な対訳関係選択する。この選択により求められた例文パタン対訳ベアの番号と第1言語入力文の単語/節の列と抽出された第1言語の例文パタン間の対応関係を出力する。
【０３１２】
記憶部１１００は、第１の実施例と同様なデータ構成を有し、記憶内容としては、例文対訳辞書および例文パタン対訳辞書を含む。例文パタン対訳辞書は、例えば、例文パタン、訳文パタン、および例文パタンと訳文パタン間の対応関係を一組として記憶している．これを例文パタン対訳ペアと呼ぶ。
【０３１３】
翻訳部１７００は、最適関係選択部１８３０で選択された第1言語入力文の単語/節の列と第1言語例文パタン間の対応関係、第1言語例文パタンとそのパタンに対応している訳語言語の例文パタン間の対応関係を用いて、第1言語入力文の単語/節の列と訳語言語の例文パタン間の対応関係を求め，可変部分を翻訳して，訳文を生成する。
【０３１４】
次に、第１の実施例の入力文は、比較的構成の簡単な基本的なものを対象としているのに対し、第３の実施例では、下記に例１乃至例５に示すような比較的複雑な入力文も翻訳可能とするものである。
【０３１５】
図２９に例１を示す。例１は、述語を修飾する副詞がある場合は，不適切なマッチングが起こりうることを示す。入力された第1言語の文Ｓが、「必ず xxx に渡してください」であり、抽出された第1言語の例文パタンの候補Ａは、「NPに渡してください」である。“必ず”は“渡す”を修飾しているが、“xxx”を修飾しているではない。従って、“必ずxxx”が名詞句(ＮＰ)として処理するのは適切ではない。この場合、翻訳するとき，訳文の生成が難しくなる。例えば：
入力された第1言語の文Ｓが、「必ずFXの田中さんに渡してください」、抽出された第1言語の例文パタンの候補Ａは、Vに渡してください。“必ず”は“渡す”を修飾しているが、“FXの田中さん”を修飾しているわけではない。従って、“必ずFXの田中さん”が名詞句として処理するのは適切ではない。この場合、翻訳するとき，訳文の生成が難しくなる。中国語の場合も同様である。「私はリンゴを食べている」の例である。「私は」「ている」は名詞句ではないので、「ている」を示す単語が、私を示す単語を修飾するのは好ましくない。
【０３１６】
図３０に例２を示す。同図に示すように、入力文「私は子供が食べ残したリンゴを食べている」には、”子供が食べ残したリンゴ”が、動詞“食べる”の対象であり、パタンのＮＰ２にマッチングするべきであるが、実際には、その一単語だけＮＰ２にマッチングしてしまった場合を示す。同図に示すように、中国語の場合の同様である。
【０３１７】
図３１に例３を示す。同図に示すように、入力文Ｓ「海外市場の進出をめぐって、全社計画を立てた」であり、例文パタンＡは、「ＮＰ１の進出をめぐって、ＮＰ２を立てた」である。“全社/2の/71計画/17”は一つの名詞句として、パタンとマッチングしたほうが望ましいが，第１の実施例のアルゴリズムには，“の”がパタンの固定項目であるため，入力文の二つの“の”がパタンの可変項目(つまり、ＮＰ)に写像できない。つまり、“全社/2 の/71 計画/17”をひとつの可変項目として、ＮＰ２にマッチングできない。中国語の場合も同様である。同図では、日本語の「の」が中国語では、「的」に相当し、同様な問題が起きる。
【０３１８】
図３２に例４を示す。同図に示すように、入力文Ｓが、「私は子供が飲み残したジュースを捨てた」と例文パタンＡは、「ＮＰを捨てた」の間に完全にマッチングしてしまう。しかし、“私は子供が飲み残したジュース”が一つの句ではないので，パタンのＮＰにマッチングすることが不適切である。中国語の場合も同様である。入力文が「私は今大学を受験している王さんと友達になりました」を示し、例文パタンは「ＮＰはＮＰを受験する」を示す例である。
【０３１９】
図３３に例５を示す。同図に示すように、入力文Ｓが、「分かる よう に 報告 書 を 書いてください」であり、例文パタンＡは「分かる ように ＮＰ を   書いてください」である。形態素解析の結果“よう/に”は、例文パタンの固定項目“ように”にマッチングできない。中国語の場合も同様である。入力文の「偏/移」は、例文パタンの固定項目「偏移」にはマッチングできない。
【０３２０】
以上のような例の入力文と例文パタンの不適切なマッチングに対応するための詳細構成を説明する。
【０３２１】
変換部１４０１の構成は、第１の実施例での変換部１４００の機能に加えて下記の変換ルール（規則）による機能を持つ。
【０３２２】
即ち、S=s1s2…sn:入力文、S’=s1’s2’…sn’:変換後の入力文、A=a1a2…am:例文パタンの場合に以下のルール(1)乃至(4)を持つ。
(1)入力文Sのある単語skがパタンのある連続している固定項目aiai+1…aj (i=j可能)と等しい。即ち、sk=aiai+1…aj (i=j可能)、かつ、次の条件Ｃ１を満たさない場合は、skをS’の一つの固定項目とする。同時に、例文パタンA のaiai+1…ajを一つの固定項目に変換する。
(2)入力文Sのある連続している単語列shsh+1…sm=ahが例文パタンAのある固定項目asに等しい。即ち、shsh+1…sm=as、かつ、次の条件Ｃ１を満たさない場合は、shsh+1…smをS’の一つの固定項目とする。
(3)入力文Sに，次の条件Ｃ２を満たすすべての単語とskをS’の固定項目とする(ここで、skが動詞，或いは形容詞であり、skが例文パタンAに対応している固定項目をakとする)。
(4)入力文Sに固定できない連続部分をS’の可変項目とする。
【０３２３】
条件Ｃ１：
・入力文の言語が中国語かつskが動詞の場合：入力文Sがパタン“sk +的”(or“sk +n+的”，or“的+ sk” , or“所+ sk +的”)を持っているが，例文パタンAは、対応しているパタンを持っていない。
・入力文の言語が中国語かつskが動詞の場合、入力文が、パタン“sk +的”(or“sk +n+的”，or“的+ sk” , or“所+ sk +的”)を持っていないが、逆に、例文パタンAは、対応しているパタンを持っている。
・入力文の言語が日本語かつskが動詞の場合：入力文がパタン“sk +の”(or“sk +のは”， or” sk +こと” ， or” sk +中” ” ， or” sk +という”)を持っているが、例文パタンAは，対応しているパタンを持っていない。
・入力文の言語が日本語かつskが動詞の場合：入力文がパタン“sk +の”(or“sk +のは”、or” sk +こと”、 or” sk +中”、” ， or” sk +という”)を持っていないが、逆に、例文パタンAは、対応しているパタンを持っている。
【０３２４】
条件Ｃ２:ここで，nが名詞，adjが形容詞を表す。
・入力文の言語が中国語かつskが動詞の場合：入力文は、パタン“n+地+sk”(or “adj+sk”， or “adj+地+sk”,or “狠+adj+地+sk”, or “sk +得”)を持っている。
・入力文の言語が中国語かつskが動詞の場合：入力文に、skの左の一番近い動詞までの副詞と可能動詞。
・入力文の言語が中国語かつskが動詞の場合：入力文は、パタン“sk +得+adj”(or “sk+adj”，or “sk +v”, or “sk +得+v”)を持っている。
・入力文の言語が中国語かつskが形容詞の場合：入力文は、パタン“sk +得”を持っている。
・入力文の言語が日本語かつskが動詞の場合：入力文に、skの左の一番近い動詞までの副詞。
【０３２５】
変換ルール(1)と(2)は、例５に示した場合の不整合を解消する。しかし、C1の条件を満たす場合は，例外として処理する。つまり、（１）skは入力文の句の要素、かつ、パタンにはその句のパタンが存在しない場合は，固定項目としない。（２） skはパタンの句パタンの要素，かつ，文にはskを含むその句が存在しない場合は，固定項目としない。註：示したＣ１の内容は全部ではない。
【０３２６】
変換ルール(3)について、
Ｃ２の次の条件は，例1に示した場合の不整合を解消する。
・入力文の言語が中国語かつskが動詞の場合：入力文に，skの左の一番近い動詞までの副詞と可能動詞。
・入力文の言語が日本語かつskが動詞の場合：入力文に，skの左の一番近い動詞までの副詞。
【０３２７】
Ｃ２の次の条件は、動詞skが名詞句の要素ではないことを判定するためのルールの一部分である。
・入力文の言語が中国語かつskが動詞の場合：入力文は，パタン“n+地+sk”(or “adj+sk”， or “adj+地+sk”,or “狠+adj+地+sk”, or “sk +得”)を持っている。
・入力文の言語が中国語かつskが動詞の場合：入力文は，パタン“sk +得+adj”(or “sk+adj”，or “sk +v”, or “sk +得+v”)を持っている。
・入力文の言語が中国語かつskが形容詞の場合：入力文は，パタン“sk +得”を持っている。
なお、「地」、「狠」、「得」は、「の」の意味である。
【０３２８】
変換ルール(4)は、入力文に固定できない連続部分（つまり残りの部分）を可変項目として求める。連体節、連用節に対応する。
【０３２９】
選択部１６３０の選択機能例について説明する。それを実現するルール(規則)例を述べる。
【０３３０】
選択ルールは下記の通りである。
・集合F1set(S’,A)は、第1言語入力文の単語/節の列と第1言語例文パタン間の対応関係を求める抽出部で求められた第1言語入力文の単語/節の列と第1言語例文パタン間の対応関係の集合とする。
・集合F1set(S’,A)の各写像F11に対して、
・F11にある任意の二つの対応関係 (si-ak) ∈ F11, (sj-ah) ∈F11に対して，もし，siがsjと近隣， akがahと近隣なら，F11の選択優先度を＋１とする。
・集合F1set(S’,A)に選択優先度が一番高い写像を選択する(複数可能)。
【０３３１】
図３４を参照して具体例で説明すると、同図に示すように、
「入力された第1言語の文Ｓは「ＦＸの田中さんに必ず渡してください」であり、
抽出された第1言語の例文パタンでの一つの候補Ａは、「必ずV1をV2に渡してください」である。
【０３３２】
この例で二つの写像がある。一つ目のF11について，“FXの田中さん”が、“に”と近隣(この例では隣接)しているが，それぞれ対応しているV1と“に”が近隣していないので、+１されず、選択優先度は0である。
【０３３３】
二つ目のＦ１２については、“FXの田中さん”が、“に”と近隣している。かつ、それぞれ対応しているV2と“に”が近隣しているので、+１され、選択優先度は、１である。
【０３３４】
従って、選択優先度が大きいF12が選択される。
【０３３５】
次に、判定部１８１０について説明する。以下のようなルール(規則)を持つ。
・各F1(S’,A) ∈F1set(S’,A)に対して、
・F1(S’,A)において、もし、S’の中には，パタンAとの対応関係をもっていない固定項目siがあり、かつ、次の条件を満たすとき、
・S’にある固定項目skが存在し，かつsi=sk
・(sk,as) ∈ F1(S’,A)
・si-1,or si+1が可変項目である。
【０３３６】
図３５を参照して具体例で説明すると、同図に示すように、パタンAとの対応関係を持っていない入力文の「食べる」を示す固定項目“吃/v”(2番目の)に対して、
S’に二つの“吃/v”がある。
左側の“吃/v”がパタンAとの対応関係を持っている。
“吃/v”の左側の項目は「子供」を示す可変項目“孩子/n”であり，右側の項目は「残したリンゴ」を示す可変項目“剩下/v的/u苹果/n”である。従って，S’は修正する必要がある。
【０３３７】
次に修正部１８２０について説明する。
【０３３８】
以下のようなルールを持つ。判定部１８１０で再計算が必要な写像をF1(S’,A) ∈F1set(S’,A)とする。例文パタンAとの対応関係をもっていないS’の固定項目をsiに対して、
a.si-1とsi+1が可変項目の場合は，si-1,si, si+1をS’の一つの可変項目に修正する。
b.si-1だけが可変項目の場合は，si-1,siをS’の一つの可変項目に修正する。
c.si+1だけが可変項目の場合は，si, si+1をS’の一つの可変項目に修正する．
・修正後のS’における任意の二つの可変項目siとsjについて，もし，siがsｊと近隣するなら、si,sｊをS’の一つの可変項目に修正する。
【０３３９】
図３６に示す例では、例文パタンAとの対応関係を持っていない入力文S’の固定項目“吃/v”(2番目の)に対して、“吃/v”の左側の項目は、可変項目“孩子/n”であり，右側の項目は可変項目“剩下/v的/u苹果/n”である。従って、“孩子/n”、“ 吃/v”と“ 剩下/v的/u苹果/n”をS’の一つの可変項目に修正する。つまり、入力文S’は図３６に示すように「子供が食べ残したリンゴ」を意味する部分を一つの可変項目として修正された。
【０３４０】
このような修正と、再マッチング(算出部１５００、抽出部１６００の処理)をすることにより、例２および例３で述べた不整合を解消することができる。
【０３４１】
次に、最適関係選択部１８３０について説明する。以下に述べる選択ルールで、選択条件の優先順位により入力文Sとマッチングした例文パタンAの対応関係(写像)を選択する。
【０３４２】
F1set(S)が入力文Sとマッチングした例文パタンAの集合を表すとする。
・第1位の条件：F1set(S)にあるすべての写像F1i(S’,A)について，置換項目(パタンAの項目に対応関係を持っているS’の項目)が一番多い写像を選択する。
・第2位の条件：第1位の条件で選択した写像が複数の場合は，選択された複数の写像に対して、パタンAの挿入項目(S’と対応関係を持っていないパタンAの項目)数が一番少ない写像を選択する。
・第3位の条件：第2位の条件で選択した写像が複数の場合は，選択された複数の写像に対して、入力文S’の脱落項目(Aと対応関係をもっていないS’の項目)数が一番少ない写像を選択する。
・第4位の条件：第3位の条件で選択した写像が複数の場合は，マッチング範囲が一番狭い写像を選択する。
・第4.1位の条件：パタンAの一番左の置換項目(S’との対応関係を持っている項目)から一番右の置換項目(S’との対応関係を持っている項目)の間に，Aの挿入項目(S’との対応関係が持っていない項目)数が一番少ない。
・第4.2位の条件：S’の一番左の置換項目(Aとの対応関係をもっている項目)から一番右の置換項目の間に，S’の脱落項目数が一番少ない。
・第4位の条件で選択した写像が複数の場合は，任意一つを選択する。
【０３４３】
このような最適な対応関係(写像)の選択により、例４で述べた不整合を解消することができる
【０３４４】
次に図３７乃至図４１を参照して具体例で説明する。図３７に示すように、具体例として、入力された第1言語の文Sの単語列として、「アイスを食べている山崎さんはリンゴとミカンを食べている田中さんと一緒に映画を見る」であり、形態素解析の結果の文Sは、「アイス／を／食べている／山崎／さん／は／リンゴ／と／ミカン／を／食べている／田中／さん／と／一緒／に／映画／を／見る」である。例文パタンAは、「NP1はNP2と一緒NP3を見る」であり、例文パタンAにより，文Sを変換する(通常の黒字は可変項目，太文字が固定項目)。変換結果の文S’は、「アイス／を／食べている山崎さん／は／リンゴ／と／ミカン／を／食べている田中さん／と／一緒／に／映画／を／見る」となる。
【０３４５】
1回目で求めるS’とAの間のマッチングは、図３８および図３９に示すように、（１）乃至（８）の八つのマッチング結果である。いずれも距離D1=6である。図４０に示すように、マッチング(1)とマッチング(2)から修正部１８２０により修正処理と、算出部１５００および抽出部１６００による再マッチング処理により、距離D1=1の対応関係(写像)が得られる。
【０３４６】
また、図４１に示すように、マッチング(3)とマッチング(8)から同様に、修正処理と再マッチング処理により、距離D1=0の対応関係(写像)が得られる。この結果距離が小さい後者が最適対応関係として選ばれる。
【０３４７】
次に図４２および図４３のフローチャートを参照して、翻訳装置１００１の要部の動作を説明する。
形態素解析済みの入力文Sが検索部１３００に入力されと、検索部１３００は、入力文ｓに対応する例文パタン候補Aset、即ち、Dmin, F1set(S)，F1set(S’), F1set(S’,A)などを初期化する（Ｓ３０１、Ｓ３０２）。更に例文パタン候補Asetから例文パタン候補Aが取り出され、変換部１４０１により、パタンAに対応する入力文SをS’とする（Ｓ３０３、Ｓ３０４）。この入力文S’とAの間の距離D１を算出部１５００により求める。求めた距離D1がDmin最小値より小さいかどうか判断する（Ｓ３０６）。小さい場合には、F1set(S’,A)およびF1set(S’)をヌル値（NULL）即ち空値とし、D1をDminとした後、抽出部１６００で文S’と例文パタンAの間の対応関係(写像)を求める（Ｓ３０７、Ｓ３０９）。
【０３４８】
更に、求めた距離値Dimを定める写像をF1set(S’,A)に格納する。選択部１６３０で、F1set(S’,A)にある不適切な写像を削除する（Ｓ３１０）。得られたF1set(S’,A)をF1set(S’)に入れる。
即ち、F1set(S’)＝ F1set(S’)＋F1set(S’,A)
【０３４９】
その後、または、ステップＳ３０６で大きいと判断した場合には、Asetの候補をすべて処理したかどうかを判断し、未処理があれば、候補Ａを取り出し上記処理を行い、すべて処理済みであれば、次のステップに進む。
【０３５０】
次に、判定部１８１０で、F1set(S’)の中から一つの写像F1i(S’,A)を取り出し、F1i(S’,A)に対して，再計算する必要があるかどうかを判定する（Ｓ３１１、Ｓ３１２）。再計算する必要がある場合には、修正部１８２０で、F1i(S’,A)と候補Ａを参考して、文S’を修正し、これを修正後の文S’’とする（Ｓ３１３
）。
即ち、F1set(S’,A)＝F1set(S’,A)-F1i(S’,A)
【０３５１】
修正後の文S’’と候補Aの間の相違を算出部１５００で求める（Ｓ３１４）。求めた相違としての距離値をD2とする。距離値D2が最小値Dminより小さいかどうかを判断する（Ｓ３１５）。小さい場合には、文S’’と候補Aの間の対応関係(写像)F1set(S’’,A)を求める（Ｓ３１６）。その後、Dmin=D2であれば、F1set(S)=F1set(S)+F1set(S’’,A)とし、Dmin>D2であれば、F1set(S)=F1set(S’,A)およびDmin=D2とする（Ｓ３１７）。
【０３５２】
ステップＳ３１７の処理の終了後、ステップＳ３１５で、大きいと判断した場合、およびステップＳ３１２で再計算の必要がないと判断した場合には、F1set(S’)の写像をすべて処理したかどうかを判断する（Ｓ３１８）。未処理があれば、ステップＳ３１２に戻り処理を行う。処理済であれば、F1set(S)がNULLであれば、F1set(S)= F1set(S’,A)とした後、最適関係選択部１８３０で、F1set(S)から最適な写像（対応関係）を求め、求めた写像をF1res(S,A)に入れる（Ｓ３１９、Ｓ３２０）。
【０３５３】
以上本発明の好ましい実施例について詳述したが、本発明は係る特定の実施例に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形、変更が可能である。
【０３５４】
上記実施形態では、外部記憶装置はハードディスク（Hard Disk）で構成されるとして説明したが、これに限定されるわけではなく、例えば、フレキシブルディスク、ＣＤ−ＲＯＭ（Compact Disc Read Only Memory）、ＤＶＤ−ＲＯＭ（Digital Versatile Disk Read Only Memory）、ＤＶＤ−ＲＡＭ（Digital Versatile Disk Random Access Memory）、ＭＯ（magneto-optic）、及び、フラッシュメモリ（flash memory）で構成される実施形式を採用できる。
【図面の簡単な説明】
【０３５５】
【図１】本発明の翻訳装置で構成される翻訳システムの一実施形態を示す構成図である。
【図２】本発明の翻訳装置の一構成例を表す図である。
【図３】このソフトウェア制御を実現するための翻訳装置のハードウェアの一構成例を表す図である。
【図４】例文パタンの一例を表す図である。
【図５】記憶部が記憶する例文パタン対訳辞書の一構成例を表す図である。
【図６】記憶部が記憶する検索ツリーの一例を表す図である。
【図７】検索部の一構成例を表す機能ブロック図である。
【図８】変換部が変換対象とする入力文を構成する文字列と、変換後の文字列とを表す図である。
【図９】変換部が実行する変換処理の一例を表すフローチャートの一部である。
【図１０】変換部が実行する変換処理の一例を表すフローチャートの他部である。
【図１１】変換部が重みを算出するために実行する重み算出処理の一例を表すフローチャートの一部である。
【図１２】変換部が重みを算出するために実行する重み算出処理の一例を表すフローチャートの他部である。
【図１３】算出部が実行する距離算出処理の一例を表すフローチャートの一部である。
【図１４】算出部が実行する距離算出処理の一例を表すフローチャートの他部である。
【図１５】算出部が実行する距離算出処理の一例を表すフローチャートの他部である。
【図１６】算出部が実行する距離算出処理の一例を表すフローチャートの他部である。
【図１７】抽出部の一構成例を表す機能ブロック図である。
【図１８】関係特定部が実行する関係特定処理の一例について概説するための図である。
【図１９】関係特定部が実行する関係特定処理の一例を表すフローチャートの一部である。
【図２０】関係特定部が実行する関係特定処理の一例を表すフローチャートの他部である。
【図２１】関係特定部が実行する関係特定処理の一例を表すフローチャートの一部である。
【図２２】関係特定部が実行する関係特定処理の一例を表すフローチャートの他部である。
【図２３】関係選択部が実行する関係選択処理の一例を表すフローチャートの一部である。
【図２４】関係選択部が実行する関係選択処理の一例を表すフローチャートの他部である。
【図２５】翻訳部が翻訳に用いる写像を説明するための図である。
【図２６】実施例２において単語検索部が実行するハッシュ処理の一例を表すフローチャートである。
【図２７】本発明の第３の実施例に係る翻訳システムの機能的な構成を示すブロック図である。
【図２８】本発明の第３の実施例に係る翻訳装置の要部の詳細構成を示すブロック図である。
【図２９】述語を修飾する副詞がある場合の不整合例を示す説明図である。
【図３０】一単語だけに対応させた場合の不整合例を示す説明図である。
【図３１】固定部分が複数回出現する場合の不整合例を示す説明図である。
【図３２】句として対応させた場合の不整合例を示す説明図である。
【図３３】形態素解析の誤りの場合の不整合例を示す説明図である。
【図３４】選択部を説明する対応関係の説明図である。
【図３５】判定部を説明する対応関係の説明図である。
【図３６】修正部を説明する対応関係の説明図である。
【図３７】具体的な関係例を示す説明図である。
【図３８】最初のマッチング結果の一部を示す対応関係図である。
【図３９】最初のマッチング結果の残りを示す対応関係図である。
【図４０】マッチング（１）（２）の修正による再マッチング結果を示す対応関係図である。
【図４１】マッチング（３）（８）の修正による再マッチング結果を示す対応関係図である。
【図４２】実施例３の要部構成での動作処理部分を示すフローチャートである。
【図４３】実施例３の要部構成での動作処理の残部を示すフローチャートである。
【符号の説明】
【０３５６】
１０…翻訳システム                １０００，１００１…翻訳装置      
１００１…演算部                  １００２…ＲＯＭ                  
１００３…ＲＡＭ                  １００４…外部記憶部              
１００５…バス                    １１００…記憶部（記憶手段）      
１１１０…線形例文パタン対訳辞書
１１２０…検索ツリー              １１３０…インデクス配列          
１２００…解析部                  １３００…検索部（検索手段）      
１３１０…単語検索部              １３２０…例文パタン検索部        
１４００，１４０１変換部（変換手段）１５００…算出部（算出手段）      
１６００…抽出部（抽出手段）      １５１０…実抽出部              
１５２０…関係特定部              １５３０…関係選択部              
１７００…翻訳部（翻訳手段）      １８００…判定修正部
１８１０…判定部（判定手段）      １８２０…修正部（修正手段）
１８３０…最適関係選択部（第２の選択手段）
２０００…表示装置                ３０００…入力装置                
Ａ…第１言語の例文パタン          ａ１〜５…例文パタンＡを構成する単語又は節
Ｂ…第２言語の例文パタン        
ｂ１〜６…対訳例文パタンＢを構成する単語又は節
Ｆ…入力文Ｓを、対訳例文パタンＢへ変換する写像
Ｆ１…入力文Ｓを、例文パタンＡへ変換する写像
Ｆ２…例文パタンＡを、対訳例文パタンＢへ変換する写像
ＩＤ…例文パタン対訳ペアのＩＤ    ＩＮ１２…ノードＮ１２を表す情報  
ＰＥ…例文パタン                  ＰＦ…固定部分（共通文字列）      
ＰＶ…可変部分（非共通文字列）    Ｓ…入力文                        
Ｓ’…変換後の入力文              ＳＥ１〜４…例文                  
【図１】
2010152419.tif 000006
【図２】
2010152419.tif 000007
【図３】
2010152419.tif 000008
【図４】
2010152419.tif 000009
【図５】
2010152419.tif 000010
【図６】
2010152419.tif 000011
【図７】
2010152419.tif 000012
【図８】
2010152419.tif 000013
【図９】
2010152419.tif 000014
【図１０】
2010152419.tif 000015
【図１１】
2010152419.tif 000016
【図１２】
2010152419.tif 000017
【図１３】
2010152419.tif 000018
【図１４】
2010152419.tif 000019
【図１５】
2010152419.tif 000020
【図１６】
2010152419.tif 000021
【図１７】
2010152419.tif 000022
【図１８】
2010152419.tif 000023
【図１９】
2010152419.tif 000024
【図２０】
2010152419.tif 000025
【図２１】
2010152419.tif 000026
【図２２】
2010152419.tif 000027
【図２３】
2010152419.tif 000028
【図２４】
2010152419.tif 000029
【図２５】
2010152419.tif 000030
【図２６】
2010152419.tif 000031
【図２７】
2010152419.tif 000032
【図２８】
2010152419.tif 000033
【図２９】
2010152419.tif 000034
【図３０】
2010152419.tif 000035
【図３１】
2010152419.tif 000036
【図３２】
2010152419.tif 000037
【図３３】
2010152419.tif 000038
【図３４】
2010152419.tif 000039
【図３５】
2010152419.tif 000040
【図３６】
2010152419.tif 000041
【図３７】
2010152419.tif 000042
【図３８】
2010152419.tif 000043
【図３９】
2010152419.tif 000044
【図４０】
2010152419.tif 000045
【図４１】
2010152419.tif 000046
【図４２】
2010152419.tif 000047
【図４３】
2010152419.tif 000048