(57)【要約】【課題】適切な翻訳単位に分割して文書の翻訳を行う機械翻訳装置を提供する。【解決手段】区間の開始位置を表す開始タグと区間の終了位置を表す終了タグとを含む第１言語による文書の入力を受付ける受付部１０１と、受付けた文書を翻訳の単位に分割する分割部１０２と、分割した単位に含まれる第１単位の先頭に終了タグが存在するか否か、および、第１単位の末尾に開始タグが存在するか否かを判断する第１判断部１０３と、第１単位の先頭に終了タグが存在する場合に、第１単位の直前の単位である第２単位の末尾に終了タグを移動し、第１単位の末尾に開始タグが存在する場合に、第１単位の直後の単位である第３単位の先頭に開始タグを移動する移動部１０４と、第１単位、第２単位、および第３単位のそれぞれを第２言語で翻訳する翻訳部１０９と、を備えた。【選択図】        図１
2008084191.tif 000002
【特許請求の範囲】
【請求項１】
開始タグと終了タグとにより指定した区間の情報を含む第１言語によるタグ文書の入力を受付ける受付手段と、
受付けた前記タグ文書を翻訳の単位に分割する分割手段と、
分割された第１部分の先頭に前記終了タグが存在するか否か、および、前記第１部分の末尾に前記開始タグが存在するか否かを判断する第１判断手段と、
前記第１部分の先頭に前記終了タグが存在する場合に、前記第１部分の直前の部分である第２部分の末尾に前記終了タグを移動し、前記第１部分の末尾に前記開始タグが存在する場合に、前記第１部分の直後の部分である第３部分の先頭に前記開始タグを移動する移動手段と、
前記第１部分、前記第２部分、および前記第３部分のそれぞれを第２言語で翻訳する翻訳手段と、
を備えたことを特徴とする機械翻訳装置。
【請求項２】
前記単位のそれぞれについて、前記開始タグと、前記開始タグに対応する前記終了タグとが前記単位内に存在するか否かを解析する解析手段と、
前記開始タグに対応する前記終了タグが存在しない場合に、前記開始タグに対応する前記終了タグを前記単位内に追加し、前記終了タグに対応する前記開始タグが存在しない場合に、前記終了タグに対応する前記開始タグを前記単位内に追加する第１追加手段と、をさらに備えたこと、
を特徴とする請求項１に記載の機械翻訳装置。
【請求項３】
前記タグ文書内の前記開始タグの位置と前記タグ文書内の前記終了タグの位置とを記憶可能な記憶手段と、
受付けた前記タグ文書内の前記開始タグの位置と前記終了タグの位置とを前記記憶手段に保存する保存手段と、
分割した前記単位から、前記開始タグと前記終了タグとを削除する削除手段と、
前記記憶手段に記憶された前記開始タグの位置と前記終了タグの位置とに基づいて、翻訳した前記単位内に前記開始タグおよび前記終了タグを復元する復元手段と、をさらに備え、
前記翻訳手段は、前記開始タグと前記終了タグとを削除した前記第１部分、前記第２部分、および前記第３部分のそれぞれを第２言語で翻訳すること、
を特徴とする請求項１に記載の機械翻訳装置。
【請求項４】
前記復元手段は、前記開始タグの後ろに存在する前記タグ文書内の単語に対応する前記訳語の前に前記開始タグを復元し、前記終了タグの前に存在する前記タグ文書内の単語に対応する前記訳語の後ろに前記終了タグを復元すること、
を特徴とする請求項３に記載の機械翻訳装置。
【請求項５】
復元した前記開始タグおよび前記終了タグで表される第２言語の前記区間に含まれる第２言語の単語である訳語のそれぞれについて、第２言語の前記区間に対応する第１言語の前記区間に、前記訳語に対応する前記タグ文書内の単語が含まれるか否かを判断する第２判断手段と、
第２言語の前記区間に対応する第１言語の前記区間に、前記訳語に対応する前記タグ文書内の単語が含まれない場合に、前記訳語の前に前記終了タグを追加し、前記訳語の後ろに前記開始タグを追加する第２追加手段と、をさらに備えたこと、
を特徴とする請求項３に記載の機械翻訳装置。
【請求項６】
復元した前記開始タグおよび前記終了タグで表される第２言語の前記区間である第１区間に、前記第１区間と異なる第２言語の前記区間である第２区間の前記開始タグのみが含まれるか否かを判断する第２判断手段と、
前記第１区間に前記第２区間の前記開始タグのみが含まれる場合に、前記第２区間の前記開始タグの前に前記第１区間の前記終了タグを追加し、前記第２区間の前記開始タグの後ろに前記第１区間の前記開始タグを追加する第２追加手段と、をさらに備えたこと、
を特徴とする請求項３に記載の機械翻訳装置。
【請求項７】
復元した前記開始タグおよび前記終了タグで表される第２言語の前記区間である第１区間に、前記第１区間と異なる第２言語の前記区間である第２区間の前記終了タグのみが含まれるか否かを判断する第２判断手段と、
前記第１区間に前記第２区間の前記終了タグのみが含まれる場合に、前記第２区間の前記終了タグの前に前記第１区間の前記終了タグを追加し、前記第２区間の前記終了タグの後ろに前記第１区間の前記開始タグを追加する第２追加手段と、をさらに備えたこと、
を特徴とする請求項３に記載の機械翻訳装置。
【請求項８】
前記タグ文書内の前記開始タグの位置と前記タグ文書内の前記終了タグの位置とを記憶可能な記憶手段と、
受付けた前記タグ文書内の前記開始タグの位置と前記終了タグの位置とを前記記憶手段に保存する保存手段と、
分割した前記単位から、前記開始タグと前記終了タグとを削除する削除手段と、
前記記憶手段に記憶された前記開始タグの位置と前記終了タグの位置とに基づいて、前記単位に含まれる訳語のそれぞれについて、前記訳語に対応する前記タグ文書内の単語が、前記区間に含まれるか否かを判断する第２判断手段と、
前記単語が前記区間に含まれる場合に、前記訳語の前に前記区間の前記開始タグを追加し、前記訳語の後ろに前記区間の前記終了タグを追加する第２追加手段と、をさらに備え、
前記翻訳手段は、前記開始タグと前記終了タグとを削除した前記第１部分、前記第２部分、および前記第３部分のそれぞれを第２言語で翻訳すること、
を特徴とする請求項１に記載の機械翻訳装置。
【請求項９】
前記分割手段は、文を前記単位として、受付けた前記タグ文書を分割すること、
を特徴とする請求項１に記載の機械翻訳装置。
【請求項１０】
受付け手段によって、開始タグと終了タグとにより指定した区間の情報を含む第１言語によるタグ文書の入力を受付ける受付ステップと、
分割手段によって、受付けた前記タグ文書を翻訳の単位に分割する分割ステップと、
第１判断手段によって、分割された第１部分の先頭に前記終了タグが存在するか否か、および、前記第１部分の末尾に前記開始タグが存在するか否かを判断する第１判断ステップと、
移動手段によって、前記第１部分の先頭に前記終了タグが存在する場合に、前記第１部分の直前の部分である第２部分の末尾に前記終了タグを移動し、前記第１部分の末尾に前記開始タグが存在する場合に、前記第１部分の直後の部分である第３部分の先頭に前記開始タグを移動する移動ステップと、
翻訳手段によって、前記第１部分、前記第２部分、および前記第３部分のそれぞれを第２言語で翻訳する翻訳ステップと、
を備えたことを特徴とする機械翻訳方法。
【請求項１１】
開始タグと終了タグとにより指定した区間の情報を含む第１言語によるタグ文書の入力を受付ける受付手順と、
受付けた前記タグ文書を翻訳の単位に分割する分割手順と、
分割された第１部分の先頭に前記終了タグが存在するか否か、および、前記第１部分の末尾に前記開始タグが存在するか否かを判断する第１判断手順と、
前記第１部分の先頭に前記終了タグが存在する場合に、前記第１部分の直前の部分である第２部分の末尾に前記終了タグを移動し、前記第１部分の末尾に前記開始タグが存在する場合に、前記第１部分の直後の部分である第３部分の先頭に前記開始タグを移動する移動手順と、
前記第１部分、前記第２部分、および前記第３部分のそれぞれを第２言語で翻訳する翻訳手順と、
をコンピュータに実行させる機械翻訳プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、ＳＧＭＬ（Standard Generalized Mark-up Language）、ＨＴＭＬ（HyperText Markup Language）、またはＸＭＬ（Extensible Markup Language）などのタグが付与された文書を翻訳する機械翻訳装置、機械翻訳方法および機械翻訳プログラムに関するものである。
【背景技術】
【０００２】
従来、機械翻訳装置、または機械翻訳プログラムは、タグが含まれないプレインテキストと呼ばれる文書を翻訳の対象としていた。しかし、近年のＸＭＬやＨＴＭＬなどのタグを含む文書であるタグ文書の普及にともない、タグ文書を翻訳する機能を有する機械翻訳装置が増加している。
【０００３】
タグ文書の翻訳に関しては、翻訳文の品質だけでなく、原文書に含まれるタグが正確に翻訳文書に復元されているかが重要になる。タグ文書の翻訳方法としては、例えば、原文中のタグの出現位置を記憶し、タグを除去して通常の翻訳行い、次に原文と訳文の単語対応情報と記憶しておいたタグの位置情報を利用して、除去したタグを訳文に復元する方法が広く知られている。
【０００４】
また、通常、機械翻訳では原文書を解析して翻訳単位に分割した後、翻訳単位ごとに翻訳を行う。翻訳単位は通常１文である。タグ文書に対して文の分割を行った場合、不整合タグを含む文が発生することがある。翻訳文書に正確にタグを復元するには、このようなタグ不整合文が発生しないように原文書を分割することが望ましい。またタグ不整合文が発生した場合には、タグ整合文と同等のタグ復元結果が得られることが望ましい。
【０００５】
翻訳単位をタグ整合文にすることのメリットは他にも存在する。例えば、ＨＴＭＬ文書の一部を翻訳してそれをウェブブラウザ等で出力する場合や、一部を翻訳したＸＭＬ文書をＸＭＬアプリケーションで出力する場合、翻訳単位がタグ整合文であれば適切に出力することができる。
【０００６】
ＨＴＭＬ文書などのタグ文書では、ユーザが文書の任意の部分を指定して翻訳を行う場合が多いため、タグの不整合が発生する可能性が高い。このように原文書自体にタグ不整合が発生している場合であっても、翻訳単位を可能な限りタグ整合文とするように分割すること、および、タグ不整合文が発生した場合であっても適切に翻訳することが必要となる。
【０００７】
特許文献１では、不整合なタグを含む文の翻訳技術が提案されている。ここでいう不整合なタグを含む文とは、開始タグを含むが終了タグを含まない文、終了タグを含むが開始タグを含まない文、開始タグと終了タグが対応していない文、タグのスコープが重複している文など、ＳＧＭＬ／ＸＭＬ／ＨＴＭＬの各仕様に適合していない文を指す。特許文献１では、不整合を起こすタグを検出する手段を備え、不整合を検出した場合はタグが整合な範囲で原文を分割し、分割した単位で翻訳を行っている。
【０００８】
【特許文献１】特許第３４７７３０８号公報
【発明の開示】
【発明が解決しようとする課題】
【０００９】
しかしながら、特許文献１の方法では、原文のタグが訳文で失われることはないが、翻訳単位をさらに１文以下の小さい単位に分割するため、適切な翻訳単位によって翻訳を実行できないという問題があった。このため、１文以下の単位で翻訳を行うことにより訳文の翻訳品質が低下するという問題があった。
【００１０】
本発明は、上記に鑑みてなされたものであって、不整合が発生することのない適切な翻訳単位に分割して文書の翻訳を行うことができる機械翻訳装置、機械翻訳方法および機械翻訳プログラムを提供することを目的とする。
【課題を解決するための手段】
【００１１】
上述した課題を解決し、目的を達成するために、本発明は、開始タグと終了タグとにより指定した区間の情報を含む第１言語によるタグ文書の入力を受付ける受付手段と、受付けた前記タグ文書を翻訳の単位に分割する分割手段と、分割された第１部分の先頭に前記終了タグが存在するか否か、および、前記第１部分の末尾に前記開始タグが存在するか否かを判断する第１判断手段と、前記第１部分の先頭に前記終了タグが存在する場合に、前記第１部分の直前の部分である第２部分の末尾に前記終了タグを移動し、前記第１部分の末尾に前記開始タグが存在する場合に、前記第１部分の直後の部分である第３部分の先頭に前記開始タグを移動する移動手段と、前記第１部分、前記第２部分、および前記第３部分のそれぞれを第２言語で翻訳する翻訳手段と、を備えたことを特徴とする。
【００１２】
また、本発明は、上記装置を実行することができる機械翻訳方法および機械翻訳プログラムである。
【発明の効果】
【００１３】
本発明によれば、分割した翻訳単位の境界に存在するタグを適切な位置に追加することができるため、不整合が発生することなく適切な単位の翻訳単位に分割して文書の翻訳を行うことができるという効果を奏する。
【発明を実施するための最良の形態】
【００１４】
以下に添付図面を参照して、この発明にかかる機械翻訳装置、機械翻訳方法および機械翻訳プログラムの最良な実施の形態を詳細に説明する。
【００１５】
（第１の実施の形態）
第１の実施の形態にかかる機械翻訳装置は、翻訳対象となるタグ文書を１文単位に分割し、分割の境界に存在する終了タグを境界の前に存在する文の末尾に追加し、分割の境界に存在する開始タグを境界の後ろに存在する文の先頭に追加して翻訳を行うものである。
【００１６】
ここで、タグ文書とは、ＳＧＭＬ、ＨＴＭＬ、およびＸＭＬなどのように、開始タグと終了タグとにより指定した区間の情報を含む文書をいう。例えば、開始タグ「＜ｈｅａｄ＞」と終了タグ「＜／ｈｅａｄ＞」とで表される区間は、ＨＴＭＬ文書のヘッダに含まれるテキスト情報であることを意味する。
【００１７】
なお、タグ文書は、ＳＧＭＬ、ＨＴＭＬ、またはＸＭＬに限られるものではなく、上述のような区間の情報を含む文書であればあらゆる文書を対象とすることができる。また、以下では、開始タグと終了タグを単にタグという場合がある。また、以下では日本語と英語との間の翻訳を例として説明するが、翻訳の原言語と目的言語の組合せはこれらに限られるものではない。
【００１８】
図１は、第１の実施の形態にかかる機械翻訳装置１００の構成を示すブロック図である。同図に示すように、機械翻訳装置１００は、受付部１０１と、分割部１０２と、第１判断部１０３と、移動部１０４と、保存部１０５と、削除部１０６と、解析部１０７と、第１追加部１０８と、翻訳部１０９と、復元部１１０と、出力部１１１と、記憶部１２０と、を備えている。
【００１９】
受付部１０１は、タグ文書の入力を受付けるものである。例えば、受付部１０１は、ウェブブラウザ上に表示されたテキストからユーザが選択したテキスト部分に対応するタグ文書の入力を受付ける。また、受付部１０１は、タグ文書のテキストデータが格納されたファイルからタグ文書の入力を受付ける方法や、ネットワーク経由でタグ文書を受付ける方法など、従来から用いられているあらゆる文書入力方法を適用できる。
【００２０】
図２は、入力されるタグ文書の一例を示した説明図である。同図は、タグ文書の一つであるＨＴＭＬ文書の例を示している。同図に示すようにＨＴＭＬ文書は、「＜（タグ名称）＞」の形式で表される開始タグと、「＜／（タグ名称）＞」の形式で表される終了タグとを含む。また、開始タグと終了タグとの間には、原文のテキストデータが格納されるほか、さらに別のタグについての開始タグおよび終了タグを指定可能である。
【００２１】
分割部１０２は、受付けたタグ文書を翻訳に適した単位に分割するものである。本実施の形態では、分割部１０２は、タグ文書を１文単位で分割する。
【００２２】
第１判断部１０３は、分割した各翻訳単位の境界に存在するタグを、境界の前後の翻訳単位のいずれに含ませるかを判断するものである。例えば、第１判断部１０３は、分割部１０２により分割されたタグ文書の翻訳単位のそれぞれについて、翻訳単位の先頭に終了タグが存在するか否か、および、翻訳単位の末尾に開始タグが存在するか否かを判断する。
【００２３】
移動部１０４は、第１判断部１０３の判断結果に従い、翻訳単位の境界に存在するタグを境界の前後の翻訳単位のうち適切な翻訳単位に移動するものである。例えば、移動部１０４は、翻訳単位の先頭に終了タグが存在する場合は、当該翻訳単位の直前の翻訳単位の末尾に終了タグを移動する。また、移動部１０４は、翻訳単位の末尾に開始タグが存在する場合は、当該翻訳単位の直後の翻訳単位の先頭に開始タグを移動する。
【００２４】
保存部１０５は、受付けたタグ文書内の開始タグおよび終了タグの位置を含むタグ情報を記憶部１２０に保存するものである。
【００２５】
削除部１０６は、分割した翻訳単位からタグを除去し、タグを除去した原文を出力するものである。タグを削除するのは、タグを翻訳理の対象としないためである。
【００２６】
解析部１０７は、分割した翻訳単位を解析し、翻訳単位がタグ不整合文か否かを判断するものである。具体的には、解析部１０７は、翻訳単位のそれぞれについて、開始タグと、当該開始タグに対応する終了タグとが翻訳単位内に存在するか否かを解析する。解析部１０７によるタグ整合性の解析処理では、ＸＭＬパーザやＨＴＭＬパーザによる解析処理などの従来から用いられているあらゆる技術を適用できる。
【００２７】
第１追加部１０８は、解析部１０７の解析結果に従い、翻訳単位がタグ整合文になるようにタグを追加するものである。例えば、第１追加部１０８は、開始タグに対応する終了タグが存在しない場合に、開始タグに対応する終了タグを翻訳単位の末尾に追加する。また、終了タグに対応する開始タグが存在しない場合に、終了タグに対応する開始タグを翻訳単位の先頭に追加する。
【００２８】
タグ整合文にするために補うタグおよび補う位置の情報は、タグの整合性解析処理の実行過程で得ることができる。例えば、ＦＩＬＯ(First-In-Last-Out)スタックを用いる方法などの従来から用いられているあらゆる技術を適用できる。
【００２９】
翻訳部１０９は、原文に対して翻訳処理を行い、訳文情報を出力するものである。なお、翻訳部１０９による翻訳処理では、ルールベース機械翻訳、統計ベース機械翻訳、用例ベース機械翻訳などの従来から用いられているあらゆる翻訳技術を適用できる。
【００３０】
図３は、訳文情報のデータ構造の一例を示す説明図である。同図に示すように、訳文情報は、訳文に含まれる訳語と、対応する原文の単語である原単語と、原単語の原文中での位置を表す原単語位置とを対応づけて格納している。
【００３１】
復元部１１０は、翻訳部１０９が出力した訳文情報と、記憶部１２０に格納されたタグ情報とを利用して、訳文にタグを復元するものである。具体的には、復元部１１０は、原文内で開始タグの直後に存在した単語に対応する訳語の前に当該開始タグを復元し、原文内で終了タグの直前に存在した単語に対応する訳語の後ろに当該終了タグを復元する。
【００３２】
出力部１１１は、タグを復元した訳文であるタグ付き訳文を逐次出力して翻訳文書を生成するものである。出力部１１１は、翻訳文書をファイルの形式で出力する方法や、ディスプレイ装置などの表示手段に表示する方法など、従来から用いられているあらゆる方法により翻訳文書を出力することができる。
【００３３】
記憶部１２０は、タグ文書内の開始タグおよび終了タグの位置を含むタグ情報を記憶するタグ情報テーブル１２１と、タグ文書の分割結果を格納する分割結果テーブル１２２とを格納するものである。記憶部１２０は、ＨＤＤ（Hard Disk Drive）、光ディスク、メモリカード、ＲＡＭ（Random Access Memory）などの一般的に利用されているあらゆる記憶媒体により構成することができる。
【００３４】
図４は、タグ情報テーブル１２１のデータ構造の一例を示す説明図である。同図に示すように、タグ情報テーブル１２１は、「タグ」と、タグの指定位置を表す「位置」と、タグの種別を表す「種別」とを対応づけて格納している。
【００３５】
位置には、文の先頭からタグまでの文字数を指定する。種別には、入力されたタグ文書内に当初から含まれていたタグを意味する「オリジナル」と、整合性を維持するために追加したタグを意味する「追加タグ」とのいずれかを指定できる。
【００３６】
図５は、分割結果テーブル１２２のデータ構造の一例を示す説明図である。同図に示すように、分割結果テーブル１２２は、分割の結果である分割単位と、備考とを対応付けて格納している。
【００３７】
文分割処理の詳細については後述するが、文分割処理では、翻訳不要なタグ（文外タグ）を分割するとともに、それ以外のタグを含む原文を１文単位に分割し、分割結果テーブル１２２に格納する。また、備考には翻訳不要であることを示す情報などを格納する。
【００３８】
次に、このように構成された第１の実施の形態にかかる機械翻訳装置１００による機械翻訳処理について説明する。図６は、第１の実施の形態における機械翻訳処理の全体の流れを示すフローチャートである。
【００３９】
まず、受付部１０１が、翻訳対象となるタグ文書の入力を受付ける（ステップＳ６０１）。次に、翻訳のためにタグ文書を適切な翻訳単位に分割する翻訳前処理を実行する（ステップＳ６０２）。翻訳前処理の詳細については後述する。
【００４０】
次に、解析部１０７が、分割結果テーブル１２２を参照し、分割した翻訳単位がタグ不整合文であるか解析する（ステップＳ６０３）。例えば、図５の４レコード目の翻訳単位（「彼は彼女が翻訳した本を＜ｕ＞読んだ。」）は、開始タグ（＜ｕ＞）のみを含むため、タグ不整合文であると解析される。
【００４１】
次に、第１追加部１０８が、タグ不整合文に不足しているタグを追加する（ステップＳ６０４）。上述の例では、開始タグ（＜ｕ＞）に対応する終了タグ（＜／ｕ＞）を、当該翻訳単位の末尾に追加する。
【００４２】
次に、保存部１０５が、タグ付き原文のタグ情報をタグ情報テーブル１２１に保存する（ステップＳ６０５）。例えば、保存部１０５は、タグ付き原文内の各タグについて、先頭からの文字数を位置に設定し、種別を「オリジナル」としてタグ情報を保存する。また、保存部１０５は、第１追加部１０８が追加したタグについては、種別を「追加タグ」としてタグ情報を保存する。
【００４３】
次に、削除部１０６が、タグ付き原文からタグを削除する（ステップＳ６０６）。続いて、翻訳部１０９が、１文ごとに翻訳を実行し訳文情報を出力する（ステップＳ６０７）。
【００４４】
次に、復元部１１０が、訳文情報とタグ情報テーブル１２１のタグ情報とを参照し、訳文にタグを復元する（ステップＳ６０８）。例えば、図３のような訳文情報が出力され、図４のようなタグ情報がタグ情報テーブル１２１に保存されているとする。この場合、復元部１１０は、開始タグ（＜ｕ＞）の位置（１２）に対応する原単語（「読んだ」）を訳文情報から取得し、当該原単語に対応する訳語（「read」）の前に当該開始タグ（＜ｕ＞）を復元する。
【００４５】
また、復元部１１０は、終了タグ（＜／ｕ＞）の位置（１６）に対応する原単語が存在しないため、最後の単語（。（日本語の句点））に対応する訳語（．（英語のピリオド））の後ろに当該終了タグ（＜／ｕ＞）を復元する。
【００４６】
次に、出力部１１１が、タグが復元された訳文を出力し、機械翻訳処理を終了する（ステップＳ６０９）。
【００４７】
次に、ステップＳ６０２の翻訳前処理の詳細について説明する。図７は、翻訳前処理の全体の流れを示すフローチャートである。
【００４８】
まず、分割部１０２は、タグ文書中のタグ部分を識別する（ステップＳ７０１）。次に、分割部１０２は、文書全体を、識別したタグ部分と、当該タグ部分以外の非タグ部分からなるテキストデータであるシーケンスとする（ステップＳ７０２）。
【００４９】
次に、分割部１０２は、連続する文外タグをセパレータとして当該シーケンスを分割する（ステップＳ７０３）。
【００５０】
ここで、文外タグとは、文をまたいで設定されることのないタグをいう。例えば、ＨＴＭＬ文書の場合、ＨＴＭＬ文書のヘッダを表す＜ｈｅａｄ＞タグ、文書のうち画面表示する部分であることを表す＜ｂｏｄｙ＞タグ、段落を設定する＜Ｐ＞タグのように、文より大きな構造を示すタグが文外タグに該当する。一方、リンク先を示す＜ａ＞タグ、下線を示す＜ｕ＞タグ、イタリック書体を示す＜／ｉ＞タグなどは文中で使われることが多いため、このようなタグを文内タグと呼ぶ。
【００５１】
１つの文が文外タグをまたぐことはないので、文外タグは必ず翻訳単位の境界とみなすことができる。さらに、文外タグが連続する個所は翻訳する必要がないので、この部分に対しては翻訳を行わず、そのまま出力部１１１に送出する。これにより、原文中で翻訳が不必要な個所の処理をスキップできるので、翻訳を高速化することができる。なお、文外タグを受けとった出力部１１１は、復元部１１０から出力されたタグ付き訳文に、必要な文外タグを付加して出力する。
【００５２】
また、ＸＭＬ文書の場合はＨＴＭＬ文書とは異なり、いずれのタグが文外タグでいずれのタグが文内タグであるかを区別することができない。したがって、ＸＭＬ文書に対して適用する場合は、事前にタグの一覧をユーザに示して文外タグ・文内タグの指定をさせる機能などを追加すればよい。
【００５３】
次に、分割部１０２は、文外タグで分割した各シーケンス分割単位について、さらに文単位で分割する文分割処理を実行する（ステップＳ７０４）。文分割処理の詳細については後述する。
【００５４】
次に、分割部１０２は、すべてのシーケンス分割単位について文分割処理を実行したか否かを判断し（ステップＳ７０５）、実行済みでない場合は（ステップＳ７０５：ＮＯ）、次のシーケンス分割単位について文分割処理を実行し、処理を繰り返す。
【００５５】
すべてのシーケンス分割単位について文分割処理を実行した場合は（ステップＳ７０５：ＹＥＳ）、分割部１０２は、シーケンス全体についての文分割処理結果を出力し（ステップＳ７０６）、翻訳前処理を終了する。
【００５６】
次に、ステップＳ７０４の文分割処理の詳細について説明する。図８は、文分割処理の全体の流れを示すフローチャートである。
【００５７】
まず、分割部１０２は、シーケンス分割単位内の文内タグを識別する（ステップＳ８０１）。次に、分割部１０２は、識別した文内タグの位置をＲＡＭなどの記憶媒体に記憶する（ステップＳ８０２）。削除した文内タグを復元する際に参照するためである。
【００５８】
次に、分割部１０２は、文内タグを削除する（ステップＳ８０３）。続いて、分割部１０２は、文内タグを削除した結果である非タグ部分を、句点をセパレータとして分割する（ステップＳ８０４）。
【００５９】
次に、分割部１０２は、記憶しておいた文内タグの位置を参照し、ステップＳ８０３で削除した文内タグを復元する（ステップＳ８０５）。
【００６０】
次に、分割部１０２は、句点で分割した位置である分割地点に、復元した文内タグが存在するか否かを判断する（ステップＳ８０６）。存在する場合は（ステップＳ８０６：ＹＥＳ）、復元した文内タグを適切な文に移動するタグ移動処理を実行する（ステップＳ８０７）。タグ移動処理の詳細については後述する。
【００６１】
タグ移動処理実行後、または、ステップＳ８０６で分割地点に復元した文内タグが存在しないと判断された場合は（ステップＳ８０６：ＮＯ）、分割部１０２は、すべての分割地点を処理したか否かを判断する（ステップＳ８０８）。
【００６２】
すべての分割地点を処理していない場合は（ステップＳ８０８：ＮＯ）、つぎの分割地点について処理を繰り返す（ステップＳ８０６）。すべての分割地点を処理した場合は（ステップＳ８０８：ＹＥＳ）、文分割処理を終了する。
【００６３】
次に、ステップＳ８０７のタグ移動処理の詳細について説明する。図９は、タグ移動処理の全体の流れを示すフローチャートである。
【００６４】
まず、第１判断部１０３は、分割地点にタグが複数存在するか否かを判断する（ステップＳ９０１）。複数存在しない場合は（ステップＳ９０１：ＮＯ）、第１判断部１０３は、当該タグが開始タグか否かを判断する（ステップＳ９０２）。
【００６５】
開始タグである場合は（ステップＳ９０２：ＹＥＳ）、移動部１０４は、そのタグを分割地点の後ろの文の先頭に付加する（ステップＳ９０３）。開始タグが文の末尾に存在するとタグ不整合文となるため、それを回避するために開始タグを後ろの文に移動する必要があるからである。
【００６６】
開始タグでない場合（ステップＳ９０２：ＮＯ）、すなわち、終了タグである場合は、移動部１０４は、そのタグを分割地点の前の文の末尾に付加する（ステップＳ９０４）。
【００６７】
ステップＳ９０１で、分割地点にタグが複数存在すると判断された場合は（ステップＳ９０１：ＹＥＳ）、第１判断部１０３は、Ｎｕｌｌスコープタグが存在するか否かを判断する（ステップＳ９０５）。
【００６８】
ここで、Ｎｕｌｌスコープタグとは、開始タグと終了タグとの間に非タグ部分が存在しないタグをいう。例えば、段落を「＜Ｐ＞＜／Ｐ＞」のように設定した場合が該当する。
【００６９】
Ｎｕｌｌスコープタグが存在する場合は（ステップＳ９０５：ＹＥＳ）、第１判断部１０３は、Ｎｕｌｌスコープタグの位置をＲＡＭなどの記憶媒体に記憶する（ステップＳ９０６）。削除したＮｕｌｌスコープタグを復元する際に参照するためである。次に、第１判断部１０３は、Ｎｕｌｌスコープタグを削除する（ステップＳ９０７）。
【００７０】
Ｎｕｌｌスコープタグを削除した後、または、ステップＳ９０５でＮｕｌｌスコープタグが存在しないと判断した場合は（ステップＳ９０５：ＮＯ）、第１判断部１０３は、複数のタグのすべてが開始タグか否かを判断する（ステップＳ９０８）。
【００７１】
すべてが開始タグである場合（ステップＳ９０８：ＹＥＳ）、移動部１０４は、すべての開始タグを、後ろの文の先頭に付加する（ステップＳ９０９）。すべてが開始タグでない場合は（ステップＳ９０８：ＮＯ）、第１判断部１０３は、複数のタグのすべてが終了タグか否かを判断する（ステップＳ９１０）。
【００７２】
すべてが終了タグである場合は（ステップＳ９１０：ＹＥＳ）、移動部１０４は、すべての終了タグを、前の文の末尾に付加する（ステップＳ９１１）。すべてが終了タグでない場合（ステップＳ９１０：ＮＯ）、すなわち、複数のタグに終了タグと開始タグとが含まれている場合は、移動部１０４は、複数のタグのうち、終了タグは前の文の末尾に付加し、開始タグは後ろの文の先頭に付加する（ステップＳ９１２）。このように、分割地点に終了タグや開始タグが複数存在する場合は、連続する終了タグの最後で、または、連続する開始タグの先頭で文を分割するようにする。
【００７３】
次に、第１判断部１０３は、ステップＳ９０６で保存した位置を参照し、削除したＮｕｌｌスコープタグを復元する（ステップＳ９１３）。
【００７４】
このように、本実施の形態では、句点で文書を分割することにより（ステップＳ８０４）、翻訳に適した単位である文単位で翻訳を行うことができる。また、タグ移動処理（ステップＳ８０７、図９）により、タグを適切な位置に移動した文に分割することができる。これにより、翻訳単位である文がタグ不整合文となることを回避できる。さらに、不整合なタグが存在した場合であっても、タグ整合となるように適切なタグを追加できるため（ステップＳ６０４）、翻訳文書にタグ不整合文が含まれることを回避できる。
【００７５】
次に、上述のフローに従った、第１の実施の形態におけるタグ文書の機械翻訳処理の具体例について説明する。以下では、図２に示すようなＨＴＭＬ文書が入力された場合の機械翻訳処理の例について説明する。
【００７６】
図２のようなＨＴＭＬ文書が入力された場合、まず、文外タグである「＜ＨＴＭＬ＞＜ｈｅａｄ＞」、「＜／ｈｅａｄ＞＜ｂｏｄｙ＞」、「＜／ｂｏｄｙ＞＜／ＨＴＭＬ＞」をセパレータとして文書のシーケンスが分割される（ステップＳ７０３）。この場合、＜ｈｅａｄ＞タグ内の文書と、＜ｂｏｄｙ＞タグ内の文書との２つのシーケンス分割単位に分割される。
【００７７】
最初のシーケンス分割単位は１つの文のみが含まれるため、文分割処理は行われない。以下では、２番目のシーケンス分割単位である＜ｂｏｄｙ＞タグ内の文書の文分割処理について説明する。
【００７８】
文分割処理では、タグが削除され（ステップＳ８０３）、非タグ部分が句点によって分割される（ステップＳ８０４）。この例では、４つの部分に分割される。
【００７９】
例えば、３番目の文（「今日は天気だ。」）と４番目の文（「明日は雨だ。」）の分割地点について考えると、この分割地点には、＜／ｉ＞タグと＜ｕ＞タグとが存在する。このような場合、＜／ｉ＞タグは前の文である３番目の文の末尾に付加され（ステップＳ９０４）、＜ｕ＞タグは次の文である３番目の文の先頭に付加される（ステップＳ９０３）。
【００８０】
このようにすれば、分割地点の前の文も次の文もタグ整合文となる。すなわち、句点「。」の直後で文分割した場合、前の文も後ろの文もタグ不整合文になるが、上述した処理により、文分割結果のタグ付き原文がタグ不整合文になることを可能な限り回避することができる。
【００８１】
このように文書を翻訳単位に分割した後、翻訳単位ごとに、タグ不整合文であるか否かが判断される（ステップＳ６０３）。例えば、上述の例の１番目の翻訳単位（「彼は彼女が翻訳した本＜ｕ＞を読んだ。＜Ｐ＞」）では、開始タグ＜ｕ＞に対応する終了タグが存在しないため、タグ不整合文であると判断される。
【００８２】
タグ不整合文であると判断された場合、第１追加部１０８が、タグ整合にするために必要なタグを文境界位置に補う。この例の場合、第１追加部１０８は、終了タグ＜／ｕ＞を文末に補う。
【００８３】
タグ整合文とされた翻訳単位は、この後、タグが削除される（ステップＳ６０６）。また、翻訳部１０９が、翻訳単位ごとに翻訳を実行する（ステップＳ６０７）。そして、復元部１１０は、タグ情報テーブル１２１に記憶されたタグ情報を参照して、訳文にタグを復元する（ステップＳ６０８）。
【００８４】
上述の例の場合、原文中の＜ｕ＞〜＜／ｕ＞タグで囲まれた部分（「読んだ。」）に対応する訳語は「read」、および「.」である。このうち、訳文中で先に出現する訳語「read」の前に＜ｕ＞タグを復元し、訳文中で後ろに出現する「.」の後ろには＜／ｕ＞タグを復元する。このようにして、タグ付き訳文「He＜ｕ＞read the book which she translated.＜／ｕ＞」が得られる。
【００８５】
上述の例の２番目の翻訳単位（「彼女＜／ｕ＞は私が翻訳した本を読んだ。」）についても同様に翻訳が実行され、文頭に＜ｕ＞タグが追加されたタグ付き訳文「＜ｕ＞She＜／ｕ＞read the book which I translated.」が得られる。
【００８６】
出力部１１１は、このようにしてタグが復元されたタグ付き訳文を出力する（ステップＳ６０９）。なお、出力する際に、挿入したタグを、出力する単位に応じて削除するように構成してもよい。
【００８７】
上記の例に関しては、例えば、１番目の翻訳単位（彼は彼女が翻訳した本を＜ｕ＞読んだ。）と２番目の翻訳単位（＜ｐ＞彼女＜／ｕ＞は私が翻訳した本を読んだ。）との翻訳結果を一括して出力する場合は、「He ＜ｕ＞read the book which she translated.＜ｐ＞She＜／ｕ＞read the book which I translated.」のように、挿入したタグを取り除いて出力する。このようにしても、出力単位全体としてタグ整合になるので問題は生じない。
【００８８】
すなわち、翻訳される部分が原文書中の連続領域である場合、その翻訳結果に含まれる翻訳時に挿入したタグのうち、互いに対応関係にあるタグは削除しても全体のタグ整合性は失われない。上記の例では、前の文の文末に挿入した終了タグ（＜／ｕ＞）と、次の文の先頭に挿入した開始タグ（＜ｕ＞）とは対応関係にあるので、削除することができる。これにより、文書の一部の翻訳結果であっても、翻訳時に挿入したタグを最小限に抑えつつ、全体としてタグ整合な翻訳結果を出力することができる。
【００８９】
このように、第１の実施の形態にかかる機械翻訳装置では、翻訳対象となるタグ文書を１文単位に分割し、分割の境界に存在する終了タグを境界の前に存在する文の末尾に追加し、分割の境界に存在する開始タグを境界の後ろに存在する文の先頭に追加して翻訳を行うことができる。また、不整合の生じた文には整合性を保つためのタグを追加することができる。このため、不整合が発生することなく適切な単位の翻訳単位に分割して文書の翻訳を行うことができる。また、翻訳単位が１文であるため、翻訳精度を落とさずに翻訳を行うことができる。
【００９０】
（第２の実施の形態）
第１の実施の形態では、タグ文書を適切かつタグ不整合の存在しない翻訳単位に分割することができるが、翻訳時のタグのスコープに関する問題を解消することができない。以下に、タグスコープの問題について説明する。
【００９１】
図１０は、英語によるＨＴＭＬ文書を表示したウェブブラウザの画面の一例を示す説明図である。同図に示すように、画面１０００には、下線１００１を含む英語の文が表示されている。同図は、「＜ｕ＞She eats＜／ｕ＞ an apple.」のように表されるＨＴＭＬ文をウェブブラウザに表示したときの画面例である。
【００９２】
図１１は、図１０で表示された英語に対応する日本語のＨＴＭＬ文書を表示したウェブブラウザの画面の一例を示す説明図である。同図に示すように、画面１１００には、下線１１０１を含む日本語の文が表示されている。
【００９３】
図１０と図１１とを比較するとわかるように、原文中では英語「an apple」の部分に下線が引かれていないのに対し、訳文では対応する日本語（りんご）にも不要な下線が引かれている。
【００９４】
従来技術では、タグを訳文に復元する際に、タグのスコープ内部の単語の訳語のうち訳文中で最初にあらわれる訳語の前に開始タグを復元し、訳文中で最後に現れる訳語の後ろに終了タグを復元する。
【００９５】
上記の例ではタグ内部に単語「She」および「eats」が存在し、それらに対応する訳語はそれぞれ日本語１１０２（彼女は）および日本語１１０３（食べる）である。訳文中で最初に出現するのは日本語１１０２（彼女は）であるため、その直前に＜ｕ＞タグが復元される。また、訳文中で後に出現するのは日本語１１０３（食べる）であるため、その後ろに＜／ｕ＞タグが復元される。
【００９６】
このため、両単語の間に挟まれる日本語の単語も開始タグ＜ｕ＞と終了タグ＜／ｕ＞との間に含まれることになり、不要な下線が引かれるという問題が生じる。このように、原言語と目的言語では語順が変化する場合があり、従来の方法では訳文にタグを復元したとき、原文ではタグのスコープ外であった単語がタグのスコープ内になる場合がある。
【００９７】
第２の実施の形態にかかる機械翻訳装置は、このような問題を解消するため、タグのスコープの不整合が生じた場合に、不整合を解消するようにタグの追加を行うものである。
【００９８】
図１２は、第２の実施の形態にかかる機械翻訳装置１２００の構成を示すブロック図である。同図に示すように、機械翻訳装置１２００は、受付部１０１と、分割部１０２と、第１判断部１０３と、移動部１０４と、保存部１０５と、削除部１０６と、解析部１０７と、第１追加部１０８と、翻訳部１０９と、復元部１２１０と、出力部１１１と、第２判断部１２１２と、第２追加部１２１３と、記憶部１２０と、を備えている。
【００９９】
第２の実施の形態では、第２判断部１２１２と第２追加部１２１３とを追加したこと、および、復元部１２１０の機能が第１の実施の形態と異なっている。その他の構成および機能は、第１の実施の形態にかかる機械翻訳装置１００の構成を表すブロック図である図１と同様であるので、同一符号を付し、ここでの説明は省略する。
【０１００】
復元部１２１０は、翻訳部１０９が出力した訳文情報と、記憶部１２０に格納されたタグ情報とを利用して、訳文にタグを復元し、復元したタグの情報を含むタグ情報リストを出力する。
【０１０１】
図１３は、復元部１２１０が出力するタグ情報リストのデータ構造の一例を示す説明図である。同図に示すように、タグ情報リストには、原単語と、原単語がそのスコープ範囲内に存在するタグであることを表す原単語スコープタグと、訳語と、訳語がそのスコープ範囲内に存在するタグであることを表す訳語スコープタグとが含まれる。
【０１０２】
なお、原単語スコープタグまたは訳語スコープタグに示されているタグは、対応する原単語または訳語がどのようなタグのスコープ中に存在するかを表すものである。例えば、同図の訳語スコープタグには３つの訳語に対して＜ｕ＞タグが指定されているが、これは必ずしも各訳語のそれぞれに＜ｕ＞タグが付与されていることを意味するものではない。すなわち、例えば、最初の単語の先頭に＜ｕ＞タグが付加され、最後の単語の末尾に＜／ｕ＞タグが付加されている場合もありうる。この場合も、３つの訳語のすべてがタグ＜ｕ＞のスコープ内に存在することを意味するからである。
【０１０３】
同図の例では、原単語「She」と原単語「eats」のみに下線を引くためのタグ（＜ｕ＞）が付加されているが、訳語では句点を除くすべての単語に下線を引くためのタグが付加されていることが示されている。
【０１０４】
第２判断部１２１２は、タグ情報リストを参照し、タグ付き原文とタグ付き訳文との間でタグのスコープが一致するか否かを判断するものである。具体的には、第２判断部１２１２は、タグ情報リスト内の各訳語のそれぞれについて、対応する原単語に付加されたタグを調べ、訳語に付加されているタグと一致するか否かを判断する。
【０１０５】
第２追加部１２１３は、タグ付き原文とタグ付き訳文との間でタグのスコープが一致しない場合に、スコープが一致するようにタグ付き訳文に適切なタグを追加するものである。
【０１０６】
次に、このように構成された第２の実施の形態にかかる機械翻訳装置１２００による機械翻訳処理について説明する。図１４は、第２の実施の形態における機械翻訳処理の全体の流れを示すフローチャートである。
【０１０７】
ステップＳ１４０１からステップＳ１４０７までの、文書受付処理、翻訳前処理、１文翻訳処理は、第１の実施の形態にかかる機械翻訳装置１００におけるステップＳ６０１からステップＳ６０７までと同様の処理なので、その説明を省略する。
【０１０８】
翻訳部１０９が１文翻訳処理を実行後（ステップＳ１４０７）、復元部１２１０が、訳文情報とタグ情報テーブル１２１のタグ情報とを参照し、訳文にタグを復元するとともに、タグ情報リストを出力する（ステップＳ１４０８）。
【０１０９】
次に、タグ情報リストを参照してスコープの不一致を解消するための不整合補正処理が実行される（ステップＳ１４０９）。不整合補正処理の詳細については後述する。
【０１１０】
不整合補正処理の後、出力部１１１が、タグを復元し、スコープの不一致を解消した訳文を出力し、機械翻訳処理を終了する（ステップＳ１４１０）。
【０１１１】
次に、ステップＳ１４０９の不整合補正処理の詳細について説明する。図１５は、不整合補正処理の全体の流れを示すフローチャートである。
【０１１２】
まず、第２判断部１２１２が、復元部１２１０から出力されたタグ情報リストを取得する（ステップＳ１５０１）。次に、第２判断部１２１２が、タグ情報リストから最初の訳語を取得する（ステップＳ１５０２）。
【０１１３】
次に、第２判断部１２１２は、タグ情報リストを参照し、取得した訳語の訳語スコープタグが、対応する原単語スコープタグと一致するか否かを判断する（ステップＳ１５０３）。一致しない場合は（ステップＳ１５０３：ＮＯ）、第２判断部１２１２は、当該タグが不要なタグか否かを判断する（ステップＳ１５０４）。例えば、第２判断部１２１２は、図１１で説明したように不要な下線を引くタグなどに該当するか否かを判断する。
【０１１４】
不要なタグである場合は（ステップＳ１５０４：ＹＥＳ）、第２追加部１２１３は、当該タグを打ち消すために必要な対応する終了タグを、訳語の前に追加する（ステップＳ１５０５）。不要なタグではない場合（ステップＳ１５０４：ＮＯ）、または終了タグを追加した後、第２判断部１２１２は、一致しないタグが訳語内で不足しているタグか否かを判断する（ステップＳ１５０６）。
【０１１５】
不足しているタグである場合は（ステップＳ１５０６：ＹＥＳ）、第２追加部１２１３は、不足しているタグに対応する開始タグを、訳語の前に追加する（ステップＳ１５０７）。不足しているタグでない場合（ステップＳ１５０６：ＮＯ）、または開始タグを追加した後、第２判断部１２１２は、後続する訳語スコープタグを更新する（ステップＳ１５０８）。
【０１１６】
例えば、終了タグを追加した場合は、後続の訳語にはタグが存在しなくなるため、タグ情報リストの後続の訳語に対応する訳語スコープタグからタグを削除する。また、例えば、開始タグを追加した場合は、後続の訳語にもタグが追加されることになるため、タグ情報リストの後続の訳語に対応する訳語スコープタグに同じタグを追加する。
【０１１７】
次に、第２判断部１２１２は、すべての訳語を処理したか否かを判断し（ステップＳ１５０９）、すべての訳語を処理していない場合は（ステップＳ１５０９：ＮＯ）、次の訳語について処理を繰り返す（ステップＳ１５０２）。
【０１１８】
すべての訳語を処理した場合は（ステップＳ１５０９：ＹＥＳ）、不整合補正処理を終了する。
【０１１９】
このように、本実施の形態では、タグの復元時に訳語ごとの原単語とのタグの対応に関する情報であるタグ情報リストを出力し、タグ情報リストを参照して訳語単位でタグのスコープの不一致を確認して不一致を解消することができる。
【０１２０】
次に、第２の実施の形態におけるタグ文書の機械翻訳処理の具体例について説明する。以下では、図１０で示したように、「＜ｕ＞She eats＜／ｕ＞ an apple.」という英文を日本語に翻訳する場合を例に説明する。なお、図１６は、この例における処理過程で出力されるタグ付き訳文の一例を示す説明図である。
【０１２１】
この場合の訳文は、図１１の下線１１０１に対応する日本語の文となる。すなわち、原文と異なり、すべての単語に下線が引かれるようなタグが復元されている。図１３は、この場合のタグ情報リストに格納された情報の一例を示す説明図である。同図に示すように、３つの訳語対応する訳語スコープタグのすべてにタグ＜ｕ＞が設定されている。
【０１２２】
第２判断部１２１２は、このタグ情報リストを参照し、タグ付き訳文に含まれる訳語の訳語スコープタグと、原文中の原単語の原単語スコープタグを比較しながら、訳文中のタグを分割する。タグの分割とは、あるタグのスコープ内に、そのタグの終了タグと開始タグとを挿入することをいう。
【０１２３】
第２判断部１２１２は、タグ情報リストの先頭の訳語から順番に、対応する原単語スコープタグとの一致を比較する（ステップＳ１５０３）。この例では、最初の訳語（彼女は）のタグは＜ｕ＞であり、対応する原単語（She）のタグも＜ｕ＞である。タグが一致する場合、分割部１０２はなにもせず次の訳語の処理に進む（ステップＳ１５０３：ＹＥＳ）。
【０１２４】
次の訳語（りんごを）の訳語スコープタグは＜ｕ＞であるが、対応する原単語（an apple）の原単語スコープタグは空である。このようにスコープタグが食い違う場合は、原単語と一致するように訳語の前にタグを補う。この場合、当該訳語（りんごを）の前に＜／ｕ＞を補えばタグのスコープが一致するので、このタグが訳文に新たに挿入される。このときのタグ付き訳文は、図１６のタグ付き訳文１６０１（「＜ｕ＞彼女は＜／ｕ＞りんごを食べる＜／ｕ＞。」）のようになる。
【０１２５】
タグを挿入した場合は、後続する訳語の訳語スコープタグを更新する（ステップＳ１５０８）。例えば、＜／ｕ＞を補ったことにより、３番目の訳語（食べる）の訳語スコープタグは空になる。
【０１２６】
次に、第２判断部１２１２は、３番目の訳語（食べる）と対応する原単語（eats）のスコープタグを比較する。訳語（食べる）の訳語スコープタグは空であるが、原単語（eats）の原単語スコープタグは＜ｕ＞であるので、訳語（食べる）の前に＜ｕ＞が補われる（ステップＳ１５０７）。このときのタグ付き訳文は、図１６のタグ付き訳文１６０２（「＜ｕ＞彼女は＜／ｕ＞りんごを＜ｕ＞食べる＜／ｕ＞。」）のようになる。
【０１２７】
この後、前述したように後続する訳語の訳語スコープタグが更新されるが、次の訳語「。」のタグ情報は変わらず、空のままである。次に、第２判断部１２１２は、訳語「。」のタグ情報を原単語「.」と比較する。この場合、タグ情報は一致するので、タグの付加は行われない（ステップＳ１５０３：ＹＥＳ）。
【０１２８】
このようにして、すべての訳語についての処理が終わった後、第２追加部１２１３は、タグ情報リストを元にタグ付き訳文を出力する。最終的に、図１６のタグ付き訳文１６０２（「＜ｕ＞彼女は＜／ｕ＞りんごを＜ｕ＞食べる＜／ｕ＞。」）が得られる。
【０１２９】
図１７は、最終的に得られるタグ情報リストの一例を示す説明図である。同図に示すように、不整合補正処理を実行後は、原単語と訳語のスコープタグはすべて一致する。図１８は、図１７に対応して出力される訳文の表示例を示す説明図である。同図に示すように、下線１８０１、下線１８０２が適切に設定された訳文を表示することができる。図１１と比較すると、図１８では、原文（図１０）のスコープとの不一致がすべて解消された訳文が出力されている。
【０１３０】
このように、第２の実施の形態にかかる機械翻訳装置では、タグのスコープの不整合が生じた場合に、訳語と原単語のスコープタグを比較しながらタグの分割、すなわち訳語の前に適宜開始タグと終了タグを補うことにより、原文のタグスコープと訳文のタグスコープを完全に一致させることができる。このため、原文とタグスコープが一致した適切な翻訳文を出力することが可能となる。
【０１３１】
（第３の実施の形態）
タグ文書の翻訳では、スコープの不一致の他に、複数のタグのスコープが訳文中でクロスして不整合になる場合が発生しうる。例えば、英文「＜ｕ＞She eats ＜／ｕ＞ ＜ｉ＞an apple and sleeps＜／ｉ＞.」を日本語に翻訳する例について検討する。
【０１３２】
従来技術では、原文と訳文の対応するタグスパンの前後にタグを復元する。正確に述べれば、タグスパン中の単語の訳語のうち訳文中で最初に現れるものの前にそのタグの開始タグを復元し、訳文中で最後に現れるものの後ろに終了タグを復元する。本例では「She eats」の部分の訳文「彼女は・・・食べて」の前後に＜ｕ＞、＜／ｕ＞タグを復元する。また「an apple and sleeps.」の部分の訳文「りんご・・・寝る」の前後に＜ｉ＞、＜／ｉ＞タグを復元する。これにより、翻訳結果は「＜ｕ＞彼女は＜ｉ＞りんごを食べて＜／ｕ＞寝る＜／ｉ＞。」となる。
【０１３３】
この訳文はタグ＜ｕ＞〜＜／ｕ＞のスコープと＜ｉ＞〜＜／ｉ＞のスコープが部分的に重複しているため、タグが不整合になっている。訳文中でこのようなタグの不整合が起きた場合は、不整合を起こすタグを訳文の文頭や文末にまとめて出力し、タグの不整合を回避する技術も提案されているが、正しく訳文中にタグを復元することが望ましい。
【０１３４】
第３の実施の形態にかかる機械翻訳装置は、このような問題を解消するため、タグのスコープがクロスする不整合が生じた場合に、当該不整合を解消するようにタグの追加を行うものである。
【０１３５】
図１９は、第３の実施の形態にかかる機械翻訳装置１９００の構成を示すブロック図である。同図に示すように、機械翻訳装置１９００は、受付部１０１と、分割部１０２と、第１判断部１０３と、移動部１０４と、保存部１０５と、削除部１０６と、解析部１０７と、第１追加部１０８と、翻訳部１０９と、復元部１２１０と、出力部１１１と、第２判断部１９１２と、第２追加部１９１３と、記憶部１２０と、を備えている。
【０１３６】
第３の実施の形態では、第２判断部１９１２と、第２追加部１９１３の機能が第２の実施の形態と異なっている。その他の構成および機能は、第２の実施の形態にかかる機械翻訳装置１２００の構成を表すブロック図である図１２と同様であるので、同一符号を付し、ここでの説明は省略する。
【０１３７】
第２判断部１９１２は、訳文内でタグのスコープのクロスによる不整合が生じているかを判断するものである。具体的には、第２判断部１９１２は、復元した開始タグおよび終了タグ内に、他の開始タグのみ、または、他の終了タグのみが含まれているか否かにより不整合の発生を判断する。
【０１３８】
第２追加部１９１３は、スコープのクロスによる不整合が生じている場合に、当該不整合を解消するようにタグ付き訳文に適切なタグを追加するものである。
【０１３９】
次に、このように構成された第３の実施の形態にかかる機械翻訳装置１９００による機械翻訳処理について説明する。第３の実施の形態における機械翻訳処理の全体の流れは、第２の実施の形態における機械翻訳処理を示す図１４と同様であるが、ステップＳ１４０９の不整合補正処理の詳細が異なる。
【０１４０】
以下に、第３の実施の形態における不整合補正処理の詳細について説明する。図２０は、第３の実施の形態における不整合補正処理の全体の流れを示すフローチャートである。
【０１４１】
まず、第２判断部１９１２は、タグ付き訳文内のタグのスコープに関するタグ不整合箇所を解析する（ステップＳ２００１）。第２判断部１９１２によるタグ不整合箇所の解析処理では、ＸＭＬパーザやＨＴＭＬパーザによる解析処理などの従来から用いられているあらゆる技術を適用できる。
【０１４２】
次に、第２判断部１９１２は、タグの不整合箇所が存在するか否かを判断する（ステップＳ２００２）。不整合箇所が存在する場合（ステップＳ２００２：ＹＥＳ）、第２判断部１９１２は、当該不整合箇所からスコープがクロスしているタグを抽出する（ステップＳ２００３）。なお、以下では抽出した２つのタグのそれぞれを＜Ａ＞、＜Ｂ＞とする。
【０１４３】
次に、第２判断部１９１２は、タグ＜Ａ＞の出現位置はタグ＜Ｂ＞の出現位置より前か否かを判断する（ステップＳ２００４）。前である場合は（ステップＳ２００４：ＹＥＳ）、第２追加部１９１３は、タグ＜Ｂ＞の前にタグ＜／Ａ＞、タグ＜Ｂ＞の後ろにタグ＜Ａ＞を追加する（ステップＳ２００５）。
【０１４４】
タグ＜Ａ＞がタグ＜Ｂ＞より前であるということは、タグ＜Ｂ＞のみがタグ＜Ａ＞（開始タグ）とタグ＜／Ａ＞（終了タグ）との間に含まれていることを意味する。すなわち、「＜Ａ＞＜Ｂ＞＜／Ａ＞＜／Ｂ＞」の順でタグが出力されていることを意味する。このため、ステップＳ２００５のようにタグを追加すれば、「＜Ａ＞＜／Ａ＞＜Ｂ＞＜Ａ＞＜／Ａ＞＜／Ｂ＞」となり、タグの不整合が解消できる。
【０１４５】
なお、ステップＳ２００５で、第２追加部１９１３が、タグ＜／Ａ＞の前後に＜／Ｂ＞および＜Ｂ＞をそれぞれ追加するように構成してもよい。この場合、追加した結果は「＜Ａ＞＜Ｂ＞＜／Ｂ＞＜／Ａ＞＜Ｂ＞＜／Ｂ＞」のようになり、タグのスコープの不整合が解消できる。
【０１４６】
タグ＜Ａ＞の出現位置がタグ＜Ｂ＞の出現位置より後ろである場合は（ステップＳ２００４：ＮＯ）、第２追加部１９１３は、タグ＜Ａ＞の前にタグ＜／Ｂ＞、タグ＜Ａ＞の後ろにタグ＜Ｂ＞を追加する（ステップＳ２００６）。なお、第２追加部１９１３が、タグ＜／Ｂ＞の前後に＜／Ａ＞および＜Ａ＞をそれぞれ追加するように構成してもよい。
【０１４７】
次に、第２判断部１９１２は、すべての不整合箇所を処理したか否かを判断し（ステップＳ２００７）、すべての不整合箇所を処理していない場合は（ステップＳ２００７：ＮＯ）、次の不整合箇所について処理を繰り返す（ステップＳ２００３）。すべての不整合箇所を処理した場合は（ステップＳ２００７：ＹＥＳ）、不整合補正処理を終了する。
【０１４８】
次に、第３の実施の形態におけるタグ文書の機械翻訳処理の具体例について説明する。以下では、上述のように、英文「＜ｕ＞She eats ＜／ｕ＞ ＜ｉ＞an apple and sleeps＜／ｉ＞.」を日本語に翻訳する場合の例について説明する。なお、図２１は、この例における処理過程で出力される日本語の一例を示す説明図である。
【０１４９】
この英文に対して、第２の実施の形態と同様の方法を用いて翻訳を行う。タグ復元前の翻訳結果は図２１の訳文２１０１（「彼女はりんごを食べて寝る。」）のようになる。
【０１５０】
復元部１２１０は、第２の実施の形態で述べた手法によりタグの復元を行う。これにより図２１のタグ付き訳文２１０２（＜ｕ＞彼女は＜ｉ＞りんごを食べて＜／ｕ＞寝る＜／ｉ＞。）が得られる。
【０１５１】
次に、第２判断部１９１２は、タグ付き訳文のタグ整合性を検証する。この例では＜ｕ＞〜＜／ｕ＞と＜ｉ＞〜＜／ｉ＞のタグスコープが重なってタグ不整合になっていることが検証される。
【０１５２】
このような場合、第２追加部１９１３は、不整合タグの前後にタグを挿入することにより、訳文をタグ整合文にする。この例では、タグ＜ｉ＞の前後にそれぞれタグ＜／ｕ＞、およびタグ＜ｕ＞を補えばタグ整合文になる。このようにして、図２１のタグ付き訳文２１０３（「＜ｕ＞彼女は＜／ｕ＞＜ｉ＞＜ｕ＞りんごを食べて＜／ｕ＞寝る＜／ｉ＞。」）が得られる。
【０１５３】
本例の場合、＜／ｕ＞の前後に＜／ｉ＞、＜ｉ＞を補うこともできる。その場合、訳文は図２１のタグ付き訳文２１０４（「＜ｕ＞彼女は＜ｉ＞りんごを食べて＜／ｉ＞＜／ｕ＞＜ｉ＞寝る＜／ｉ＞。」）のようになる。
【０１５４】
図２２および図２３は、この例における英語および日本語によるＨＴＭＬ文書を表示したウェブブラウザの画面の一例を示す説明図である。図２２の画面２２００には、下線２２０１、およびイタリック文字で表された英語の単語群２２０２を含むＨＴＭＬ文書が表示されている。図２３の画面２３００には、図２２に対応して、下線２３０１、およびイタリック文字で表された日本語の単語群２３０２を含むＨＴＭＬ文書が表示されている。
【０１５５】
なお、図２３に示す訳文は、原文のタグスコープ情報との不一致が生じている。例えば、単語２３０３（りんご）は、訳文では＜ｕ＞＜ｉ＞のタグスコープ内であるが、原文で対応する単語（an apple）は＜ｉ＞のみのタグスコープ内である。
【０１５６】
このような場合は、例えば、第２の実施の形態のようなスコープの不整合を解消する機能をさらに追加することにより、スコープに関する不整合を同時に解決することが可能である。
【０１５７】
このように、第３の実施の形態にかかる機械翻訳装置では、タグのスコープがクロスする不整合が生じた場合に、当該不整合を解消するタグを追加することにより不整合を解消した訳文を出力することが可能となる。
【０１５８】
（第４の実施の形態）
第４の実施の形態にかかる機械翻訳装置は、タグの復元を行ってからタグの分割を行うのではなく、タグのスコープを比較しながらタグ復元を行うことにより、タグ整合な訳文を直接得るものである。
【０１５９】
図２４は、第４の実施の形態にかかる機械翻訳装置２４００の構成を示すブロック図である。同図に示すように、機械翻訳装置２４００は、受付部１０１と、分割部１０２と、第１判断部１０３と、移動部１０４と、保存部１０５と、削除部１０６と、解析部１０７と、第１追加部１０８と、翻訳部１０９と、出力部１１１と、第２判断部２４１２と、第２追加部２４１３と、記憶部１２０と、を備えている。
【０１６０】
第４の実施の形態では、復元部１１０の代わりに、第２判断部２４１２と第２追加部２４１３とを備えたことが第１の実施の形態と異なっている。その他の構成および機能は、第１の実施の形態にかかる機械翻訳装置１００の構成を表すブロック図である図１と同様であるので、同一符号を付し、ここでの説明は省略する。
【０１６１】
第２判断部２４１２は、翻訳部１０９が出力した訳文情報と、記憶部１２０に格納されたタグ情報とを利用して、訳文にタグを復元するか否かを判断するものである。具体的には、第２判断部２４１２は、訳文に含まれる単語である各訳語について、対応する原文の単語が、あるタグのタグスコープ内に存在するかを判断する。そして、第２判断部２４１２は、タグスコープ内に存在する場合は、訳語に同一のタグを復元すると判断する。
【０１６２】
第２追加部２４１３は、訳語に対応する原文の単語が、あるタグのタグスコープ内に存在する場合、当該訳語が当該タグのタグスコープ内に含まれるようにタグを追加するものである。
【０１６３】
次に、このように構成された第４の実施の形態にかかる機械翻訳装置２４００による機械翻訳処理について説明する。図２５は、第４の実施の形態における機械翻訳処理の全体の流れを示すフローチャートである。
【０１６４】
ステップＳ２５０１からステップＳ２５０７までの、文書受付処理、翻訳前処理、１文翻訳処理は、第１の実施の形態にかかる機械翻訳装置１００におけるステップＳ６０１からステップＳ６０７までと同様の処理なので、その説明を省略する。
【０１６５】
翻訳部１０９が１文翻訳処理を実行後（ステップＳ２５０７）、タグ情報と訳文情報とを参照してタグの復元を行うタグ復元処理が実行される（ステップＳ２５０８）。タグ復元処理の詳細については後述する。
【０１６６】
タグ復元処理の後、出力部１１１は、タグが復元された訳文を出力し、機械翻訳処理を終了する（ステップＳ２５０９）。
【０１６７】
次に、ステップＳ２５０８のタグ復元処理の詳細について説明する。図２６は、タグ復元処理の全体の流れを示すフローチャートである。
【０１６８】
まず、第２判断部２４１２が、訳語タグスコープ欄を空としたタグ情報リストを生成する（ステップＳ２６０１）。タグ情報リストは、第２の実施の形態の図１３で示したものと同様のデータ構造を有するものとする。
【０１６９】
図２７は、このときのタグ情報リストの一例を示す説明図である。同図は、英文「＜ｕ＞She eats ＜／ｕ＞ ＜ｉ＞an apple and sleeps＜／ｉ＞.」を日本語に翻訳する場合に生成されるタグ情報リストを表している。なお、本例の場合、原文中の「and」は対応する訳語が存在しないので、その部分の訳語タグスコープは欠落している。
【０１７０】
次に、第２判断部２４１２が、タグ情報リストの最初の訳語を取得する（ステップＳ２６０２）。次に、第２判断部２４１２は、取得した訳語に対応する原単語タグスコープが存在するか否かを判断する（ステップＳ２６０３）。
【０１７１】
存在する場合は（ステップＳ２６０３：ＹＥＳ）、第２追加部２４１３は、原単語と同じタグスコープとなるように訳語にタグを追加し、訳語タグスコープに当該タグを設定する（ステップＳ２６０４）。続いて、第２追加部２４１３は、後続の訳語の訳語タグスコープを更新する（ステップＳ２６０５）。
【０１７２】
例えば、図２７のようなタグ情報リストに対しては、第２判断部２４１２は、先頭の訳語（彼女は）に対応する原単語（She）のタグ情報を参照する。この例では＜ｕ＞であるため、タグ情報を一致させるために、第２追加部２４１３は訳語（彼女は）の前にタグ＜ｕ＞を追加する。また、第２追加部２４１３は、タグの追加と同時に、後続する訳語の訳語スコープタグをすべて＜ｕ＞に更新する。図２８は、このときのタグ情報リストの一例を示す説明図である。
【０１７３】
訳語タグスコープを更新後、またはステップＳ２６０３で原単語タグスコープが存在しないと判断された場合は（ステップＳ２６０３：ＮＯ）、第２判断部２４１２は、タグ情報リスト内のすべての訳語を処理したか否かを判断する（ステップＳ２６０６）。
【０１７４】
すべての訳語を処理していない場合は（ステップＳ２６０６：ＮＯ）、次の訳語に対して処理を繰り返す（ステップＳ２６０２）。
【０１７５】
上述の例では、タグ情報リストの２番目の訳語（りんごを）の処理を行う。対応する原単語（an apple）のタグ情報は＜ｉ＞であるが、当該訳語の現在のタグ情報は＜ｕ＞である。これを一致させるため、訳語の前にタグ＜／ｕ＞＜ｉ＞を挿入する。挿入と同時に後続する訳語の訳語スコープタグを更新する。図２９は、このときのタグ情報リストの一例を示す説明図である。
【０１７６】
また、図３０は、同様の処理を最後の訳語まで行ったときのタグ情報リストの一例を示す説明図である。この時点で、訳語の訳語スコープタグは原文と一致する。この後、出力部１１１が訳語を順次出力することにより、タグ整合文であるタグ付き訳文（「＜ｕ＞彼女は＜／ｕ＞＜ｉ＞りんごを＜／ｉ＞＜ｕ＞食べて＜／ｕ＞＜ｉ＞寝る＜／ｉ＞。」）を得ることができる。
【０１７７】
なお、この処理例には示されていないが、最後の訳語に何らかのタグが存在する場合は、そのタグをうち消す終了タグを訳語の後ろに挿入する。例えば最後の訳語「。」のタグが＜ｉ＞であった場合、その訳語の後ろに＜／ｉ＞を挿入する。
【０１７８】
図２６に戻り、ステップＳ２６０６ですべての訳語を処理したと判断された場合は（ステップＳ２６０６：ＹＥＳ）、タグ復元処理を終了する。
【０１７９】
このように、第４の実施の形態にかかる機械翻訳装置では、タグを復元しながらタグの不整合を解消してタグ整合文である訳文を出力することができる。このため、より簡単な構成によりタグ不整合を解決することができる。
【０１８０】
図３１は、第１〜第４の実施の形態にかかる機械翻訳装置のハードウェア構成を示す説明図である。
【０１８１】
第１〜第４の実施の形態にかかる機械翻訳装置は、ＣＰＵ（Central Processing Unit）５１などの制御装置と、ＲＯＭ（Read Only Memory）５２やＲＡＭ５３などの記憶装置と、ネットワークに接続して通信を行う通信Ｉ／Ｆ５４と、ＨＤＤ、ＣＤ（Compact Disc）ドライブ装置などの外部記憶装置と、ディスプレイ装置などの表示装置と、キーボードやマウスなどの入力装置と、各部を接続するバス６１を備えており、通常のコンピュータを利用したハードウェア構成となっている。
【０１８２】
第１〜第４の実施の形態にかかる機械翻訳装置で実行される機械翻訳プログラムは、インストール可能な形式又は実行可能な形式のファイルでＣＤ−ＲＯＭ（Compact Disk Read Only Memory）、フレキシブルディスク（ＦＤ）、ＣＤ−Ｒ（Compact Disk Recordable）、ＤＶＤ（Digital Versatile Disk）等のコンピュータで読み取り可能な記録媒体に記録されて提供される。
【０１８３】
また、第１〜第４の実施の形態にかかる機械翻訳装置で実行される機械翻訳プログラムを、インターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するように構成してもよい。また、第１〜第４の実施の形態にかかる機械翻訳装置で実行される機械翻訳プログラムをインターネット等のネットワーク経由で提供または配布するように構成してもよい。
【０１８４】
また、第１〜第４の実施の形態の機械翻訳プログラムを、ＲＯＭ等に予め組み込んで提供するように構成してもよい。
【０１８５】
第１〜第４の実施の形態にかかる機械翻訳装置で実行される機械翻訳プログラムは、上述した各部（受付部、分割部、第１判断部、移動部、保存部、削除部、解析部、第１追加部、翻訳部、復元部、出力部、第２判断部、第２追加部）を含むモジュール構成となっており、実際のハードウェアとしてはＣＰＵ５１（プロセッサ）が上記記憶媒体から機械翻訳プログラムを読み出して実行することにより上記各部が主記憶装置上にロードされ、上述した各部が主記憶装置上に生成されるようになっている。
【産業上の利用可能性】
【０１８６】
以上のように、本発明にかかる機械翻訳装置、機械翻訳方法および機械翻訳プログラムは、ＨＴＭＬ、ＸＭＬ、ＳＧＭＬなどのタグを含む文書を翻訳する機械翻訳装置に適している。
【図面の簡単な説明】
【０１８７】
【図１】第１の実施の形態にかかる機械翻訳装置の構成を示すブロック図である。
【図２】入力されるタグ文書の一例を示した説明図である。
【図３】訳文情報のデータ構造の一例を示す説明図である。
【図４】タグ情報テーブルのデータ構造の一例を示す説明図である。
【図５】分割結果テーブルのデータ構造の一例を示す説明図である。
【図６】第１の実施の形態における機械翻訳処理の全体の流れを示すフローチャートである。
【図７】翻訳前処理の全体の流れを示すフローチャートである。
【図８】文分割処理の全体の流れを示すフローチャートである。
【図９】タグ移動処理の全体の流れを示すフローチャートである。
【図１０】ウェブブラウザの画面の一例を示す説明図である。
【図１１】ウェブブラウザの画面の一例を示す説明図である。
【図１２】第２の実施の形態にかかる機械翻訳装置の構成を示すブロック図である。
【図１３】タグ情報リストのデータ構造の一例を示す説明図である。
【図１４】第２の実施の形態における機械翻訳処理の全体の流れを示すフローチャートである。
【図１５】不整合補正処理の全体の流れを示すフローチャートである。
【図１６】タグ付き訳文の一例を示す説明図である。
【図１７】タグ情報リストの一例を示す説明図である。
【図１８】訳文の表示例を示す説明図である。
【図１９】第３の実施の形態にかかる機械翻訳装置の構成を示すブロック図である。
【図２０】第３の実施の形態における不整合補正処理の全体の流れを示すフローチャートである。
【図２１】処理過程で出力される日本語の一例を示す説明図である。
【図２２】ウェブブラウザの画面の一例を示す説明図である。
【図２３】ウェブブラウザの画面の一例を示す説明図である。
【図２４】第４の実施の形態にかかる機械翻訳装置の構成を示すブロック図である。
【図２５】第４の実施の形態における機械翻訳処理の全体の流れを示すフローチャートである。
【図２６】タグ復元処理の全体の流れを示すフローチャートである。
【図２７】タグ情報リストの一例を示す説明図である。
【図２８】タグ情報リストの一例を示す説明図である。
【図２９】タグ情報リストの一例を示す説明図である。
【図３０】タグ情報リストの一例を示す説明図である。
【図３１】第１〜第４の実施の形態にかかる機械翻訳装置のハードウェア構成を示す説明図である。
【符号の説明】
【０１８８】
５１  ＣＰＵ
５２  ＲＯＭ
５３  ＲＡＭ
５４  通信Ｉ／Ｆ
６１  バス
１００  機械翻訳装置
１０１  受付部
１０２  分割部
１０３  第１判断部
１０４  移動部
１０５  保存部
１０６  削除部
１０７  解析部
１０８  第１追加部
１０９  翻訳部
１１０  復元部
１１１  出力部
１２０  記憶部
１２１  タグ情報テーブル
１２２  分割結果テーブル
１０００  画面
１００１  下線
１１００  画面
１１０１  下線
１１０２、１１０３  日本語
１２００  機械翻訳装置
１２１０  復元部
１２１２  第２判断部
１２１３  第２追加部
１６０１、１６０２  訳文
１８０１、１８０２  下線
１９００  機械翻訳装置
１９１２  第２判断部
１９１３  第２追加部
２１０１、２１０２、２１０３、２１０４  訳文
２２００  画面
２２０１  下線
２２０２  単語群
２３００  画面
２３０１  下線
２３０２  単語群
２３０３  単語
２４００  機械翻訳装置
２４１２  第２判断部
２４１３  第２追加部
【図１】
2008084191.tif 000003
【図２】
2008084191.tif 000004
【図３】
2008084191.tif 000005
【図４】
2008084191.tif 000006
【図５】
2008084191.tif 000007
【図６】
2008084191.tif 000008
【図７】
2008084191.tif 000009
【図８】
2008084191.tif 000010
【図９】
2008084191.tif 000011
【図１０】
2008084191.tif 000012
【図１１】
2008084191.tif 000013
【図１２】
2008084191.tif 000014
【図１３】
2008084191.tif 000015
【図１４】
2008084191.tif 000016
【図１５】
2008084191.tif 000017
【図１６】
2008084191.tif 000018
【図１７】
2008084191.tif 000019
【図１８】
2008084191.tif 000020
【図１９】
2008084191.tif 000021
【図２０】
2008084191.tif 000022
【図２１】
2008084191.tif 000023
【図２２】
2008084191.tif 000024
【図２３】
2008084191.tif 000025
【図２４】
2008084191.tif 000026
【図２５】
2008084191.tif 000027
【図２６】
2008084191.tif 000028
【図２７】
2008084191.tif 000029
【図２８】
2008084191.tif 000030
【図２９】
2008084191.tif 000031
【図３０】
2008084191.tif 000032
【図３１】
2008084191.tif 000033