(57)【要約】【課題】機械翻訳の精度を向上させる。【解決手段】メッセージを翻訳するシステムであって、互いに同一の内容を互いに異なる第１言語および第２言語のそれぞれで記述した第１メッセージおよび第２メッセージのそれぞれを構文解析することにより、第１メッセージの構造を示す第１構文木、および、第２メッセージの構造を示す第２構文木を生成する構文解析部と、第１構文木に含まれるある部分木によって表される語句の表記が、第２構文木においてその部分木に対応する部分木によって表される語句の表記と一致する場合に、その語句を翻訳不要の語句と判断する判断部と、第３言語で記述した第３メッセージを翻訳して第４言語で記述した第４メッセージを生成する処理において、第３メッセージに含まれる翻訳不要の語句を第３メッセージ中の表記のまま、翻訳後の第４メッセージに含めて出力する翻訳部とを備えるシステムを提供する。【選択図】図５
2008108209.tif 000002
【特許請求の範囲】
【請求項１】
メッセージを翻訳するシステムであって、
互いに同一の内容を互いに異なる第１言語および第２言語のそれぞれで記述した第１メッセージおよび第２メッセージのそれぞれを記憶するメッセージ記憶部と、
第１メッセージおよび第２メッセージを前記メッセージ記憶部から読み出して、第１メッセージおよび第２メッセージをそれぞれ構文解析することにより、第１メッセージに含まれる語および句の階層構造を表した第１構文木、および、第２メッセージに含まれる語および句の階層構造を表した第２構文木をＣＰＵの動作により生成する構文解析部と、
前記第１構文木に含まれるある部分木によって表される語句の表記が、前記第２構文木においてその部分木に対応する部分木によって表される語句の表記と一致するか否かをＣＰＵの動作により判断し、一致することを条件に、その語句を翻訳不要の語句と判断する判断部と、
第３言語で記述した第３メッセージをＣＰＵの動作により翻訳して第４言語で記述した第４メッセージを生成する処理において、前記第３メッセージに含まれる前記翻訳不要の語句を前記第３メッセージ中の表記のまま、翻訳後の前記第４メッセージに含めて出力する翻訳部と
を備えるシステム。
【請求項２】
前記翻訳部は、前記翻訳不要の語句を含む複合語を第３メッセージから検索したことを条件に、第３メッセージを翻訳して第４メッセージを生成するために第３メッセージを構文解析する処理において、前記複合語に含まれる語と語の間の構文上の関係は解析することなく前記複合語と他の語との間の構文上の関係を解析し、前記複合語を除く第３メッセージを当該構文上の関係に基づき翻訳して、翻訳後の第４メッセージに含めて前記複合語を前記第３メッセージ中の表記のまま出力する
請求項１に記載のシステム。
【請求項３】
言語ごとに、当該言語における複数の語の表記のそれぞれを、当該表記の語が有するそれぞれの意味についての意味属性に対応付けて記憶する属性記憶部をさらに備え、
意味属性とは、語の意味が、語の意味を当該意味の抽象概念によって分類したグループの何れに属するかを示し、
前記翻訳部は、第３メッセージに含まれる第３言語語句の第４言語における訳語が、前記第３言語語句の表記に対応する意味属性によって異なることを条件に、前記第３メッセージを構文解析した第３構文木において当該第３言語語句を示す部分木に対応する部分木を、前記第１または第２構文木から検索し、検索された部分木に対応する語句の少なくとも１つの意味属性を前記属性記憶部から読み出し、読み出した意味属性と前記第３言語語句の意味属性との積集合を算出し、当該積集合に含まれる意味属性に対応する訳語を、第４メッセージに含めて出力する
請求項１に記載のシステム。
【請求項４】
前記メッセージ記憶部は、第１言語および第２言語を含む互いに異なる複数の言語のそれぞれによって同一の内容を記述した複数のメッセージのそれぞれを記憶しており、
前記構文解析部は、前記複数のメッセージを前記メッセージ記憶部から読み出して、当該複数のメッセージのそれぞれを構文解析することにより複数の構文木を生成し、
前記翻訳部は、第３メッセージに含まれる第３言語語句の第４言語における訳語が、前記第３言語語句の表記に対応する意味属性によって異なることを条件に、前記第３メッセージを構文解析した第３構文木において当該第３言語語句を示す部分木に対応する部分木を、生成された前記複数の構文木のそれぞれから検索し、検索されたそれぞれの部分木に対応する語句の全ての意味属性を前記属性記憶部から読み出し、最も多くの語句に対応して読み出された意味属性に対応する訳語を、第４メッセージに含めて出力する
請求項３に記載のシステム。
【請求項５】
前記翻訳部は、翻訳に用いる言語について予め定められた優先順序に従って、前記第１言語または前記第２言語を選択して、選択した当該言語のメッセージを構文解析した構文木から、当該第３言語語句を示す部分木に対応する部分木を検索し、検索された部分木に対応する語句の少なくとも１つの意味属性を前記属性記憶部から読み出し、読み出した意味属性と前記第３言語語句の意味属性との積集合を算出し、当該積集合に含まれる意味属性に対応する訳語を、第４メッセージに含めて出力する
請求項３に記載のシステム。
【請求項６】
言語をグループに分類して記憶している言語記憶部をさらに備え、
前記翻訳部は、第１言語または第２言語のうち、前記第３言語とは異なるグループに分類された言語を選択して、選択した当該言語のメッセージを構文解析した構文木から、当該第３言語語句を示す部分木に対応する部分木を検索し、検索された部分木に対応する語句の少なくとも１つの意味属性を前記属性記憶部から読み出し、読み出した意味属性と前記第３言語語句の意味属性との積集合を算出し、当該積集合に含まれる意味属性に対応する訳語を、第４メッセージに含めて出力する
請求項３に記載のシステム。
【請求項７】
前記メッセージ記憶部は、互いに異なる複数の言語のそれぞれによって同一の内容を記述した複数のメッセージのそれぞれを記憶しており、
前記翻訳部は、第４言語に対応して予め定められた優先順序に従って、前記メッセージ記憶部に記憶されたメッセージの言語の中で最も優先順序の高い言語を前記第３言語として選択して、当該第３言語で記述した第３メッセージを翻訳して第４言語で記述した第４メッセージを生成する
請求項１に記載のシステム。
【請求項８】
前記メッセージ記憶部は、コマンドの処理結果の識別情報のそれぞれについて、当該処理結果を示すメッセージ、および、当該メッセージを記述した言語を対応付けて記憶しており、
前記構文解析部は、コマンドの処理結果を示すメッセージを第４言語により出力する要求に応じ、当該第４言語および当該処理結果の識別情報に対応する第４メッセージを前記メッセージ記憶部から検索し、第４メッセージが検索されなかったことを条件に、第４言語とは異なる複数の言語のそれぞれに対応する複数のメッセージのそれぞれを第１および第２のメッセージとして前記メッセージ記憶部から検索し、検索された第１および第２のメッセージのそれぞれを構文解析する
請求項１に記載のシステム。
【請求項９】
メッセージを翻訳する方法であって、
互いに同一の内容を互いに異なる第１言語および第２言語のそれぞれで記述した第１メッセージおよび第２メッセージのそれぞれをメッセージ記憶部に記憶し、
第１メッセージおよび第２メッセージを前記メッセージ記憶部から読み出して、第１メッセージおよび第２メッセージをそれぞれ構文解析することにより、第１メッセージに含まれる語および句の階層構造を表した第１構文木、および、第２メッセージに含まれる語および句の階層構造を表した第２構文木をＣＰＵの動作により生成し、
前記第１構文木に含まれるある部分木によって表される語句の表記が、前記第２構文木においてその部分木に対応する部分木によって表される語句の表記と一致するか否かをＣＰＵの動作により判断し、一致することを条件に、その語句を翻訳不要の語句と判断し、
第３言語で記述した第３メッセージをＣＰＵの動作により翻訳して第４言語で記述した第４メッセージを生成する処理において、前記第３メッセージに含まれる前記翻訳不要の語句を前記第３メッセージ中の表記のまま、翻訳後の前記第４メッセージに含めて出力する、方法。
【請求項１０】
メッセージを翻訳するシステムとして、情報処理装置を機能させるプログラムであって、
前記情報処理装置を、
互いに同一の内容を互いに異なる第１言語および第２言語のそれぞれで記述した第１メッセージおよび第２メッセージのそれぞれを記憶するメッセージ記憶部と、
第１メッセージおよび第２メッセージを前記メッセージ記憶部から読み出して、第１メッセージおよび第２メッセージをそれぞれ構文解析することにより、第１メッセージに含まれる語および句の階層構造を表した第１構文木、および、第２メッセージに含まれる語および句の階層構造を表した第２構文木をＣＰＵの動作により生成する構文解析部と、
前記第１構文木に含まれるある部分木によって表される語句の表記が、前記第２構文木においてその部分木に対応する部分木によって表される語句の表記と一致するか否かをＣＰＵの動作により判断し、一致することを条件に、その語句を翻訳不要の語句と判断する判断部と、
第３言語で記述した第３メッセージをＣＰＵの動作により翻訳して第４言語で記述した第４メッセージを生成する処理において、前記第３メッセージに含まれる前記翻訳不要の語句を前記第３メッセージ中の表記のまま、翻訳後の前記第４メッセージに含めて出力する翻訳部と
して機能させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、機械翻訳の精度を向上させる技術に関する。特に、本発明は、既に翻訳されたメッセージを利用して、機械翻訳の精度を向上させる技術に関する。
【背景技術】
【０００２】
近年、オープンソース・ソフトウェアの開発効率の高さが注目を集めており、実際に様々なソフトウェアが開発されている。オープンソース・ソフトウェアの開発においては、ソフトウェアの機能拡充や安定化が優先される場合が多い。このため、ソフトウェアの実行状態を示すメッセージ、例えばエラーメッセージやヘルプメッセージは英語のみで表示され、英語を母国語としない利用者にとって不便な場合がある。
【０００３】
文章の翻訳に、既に翻訳された他の文章を利用する技術の一例については、下記の特許文献１を参照されたい。
【特許文献１】特開２００３−１４１１１４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
メッセージを利用者に適した言語で表示するために、Ｌｉｎｕｘ（登録商標）などのオペレーティングシステムにおいては、同一内容を様々な言語で記述したメッセージを選択的に表示する機能が設けられている。この機能を有効に活用するためには、予め様々な言語でメッセージを記述しておくことが前提となる。しかしながら、ソフトウェアによっては、英語以外のメッセージが全く用意されていないか、または、用意されていたとしてもごく一部の言語のメッセージのみである場合が多い。このような場合には、予め用意されたメッセージを機械翻訳によって翻訳することも考えられる。しかしながら、エラーメッセージなどの短いメッセージを、意味を理解可能な程度に翻訳するためには、高い精度の翻訳が要求される。このため、これまではメッセージを機械翻訳することは試みられていなかった。
【０００５】
そこで本発明は、上記の課題を解決することのできるシステム、方法およびプログラムを提供することを目的とする。この目的は特許請求の範囲における独立項に記載の特徴の組み合わせにより達成される。また従属項は本発明の更なる有利な具体例を規定する。
【課題を解決するための手段】
【０００６】
上記課題を解決するために、本発明の一側面においては、メッセージを翻訳するシステムであって、互いに同一の内容を互いに異なる第１言語および第２言語のそれぞれで記述した第１メッセージおよび第２メッセージのそれぞれを記憶するメッセージ記憶部と、第１メッセージおよび第２メッセージを前記メッセージ記憶部から読み出して、第１メッセージおよび第２メッセージをそれぞれ構文解析することにより、第１メッセージに含まれる語および句の階層構造を表した第１構文木、および、第２メッセージに含まれる語および句の階層構造を表した第２構文木をＣＰＵの動作により生成する構文解析部と、前記第１構文木に含まれるある部分木によって表される語句の表記が、前記第２構文木においてその部分木に対応する部分木によって表される語句の表記と一致するか否かをＣＰＵの動作により判断し、一致することを条件に、その語句を翻訳不要の語句と判断する判断部と、第３言語で記述した第３メッセージをＣＰＵの動作により翻訳して第４言語で記述した第４メッセージを生成する処理において、前記第３メッセージに含まれる前記翻訳不要の語句を前記第３メッセージ中の表記のまま、翻訳後の前記第４メッセージに含めて出力する翻訳部とを備えるシステムを提供する。また、当該システムによりメッセージを翻訳する方法、および、当該システムとして情報処理装置を機能させるプログラムを提供する。
なお、上記の発明の概要は、本発明の必要な特徴の全てを列挙したものではなく、これらの特徴群のサブコンビネーションもまた、発明となりうる。
【発明を実施するための最良の形態】
【０００７】
以下、発明を実施するための最良の形態（以下、実施形態と称す）を通じて本発明を説明するが、以下の実施形態は特許請求の範囲にかかる発明を限定するものではなく、また実施形態の中で説明されている特徴の組み合わせの全てが発明の解決手段に必須であるとは限らない。
【０００８】
図１は、情報システム１０の全体構成を示す。情報システム１０は、メッセージ記憶部２０と、メッセージ出力ユニット５０とを備え、コマンドからのメッセージ（エラーメッセージなど）を指定された言語に翻訳して出力することを目的とする。メッセージ記憶部２０は、互いに異なる複数の言語のそれぞれによって同一の内容を記述した複数のメッセージのそれぞれを記憶している。アプリケーション・プログラム１５は、メッセージ出力ユニット５０を呼び出して実行する。アプリケーション・プログラム１５は、エラー発生時などにメッセージを出力する命令を含む。この命令は、例えば、Ｌｉｎｕｘ（登録商標）などのＵＮＩＸ（登録商標）系統のオペレーティングシステムにおけるｇｅｔｔｅｘｔライブラリ関数である。このライブラリ関数が呼び出されると、メッセージ出力ユニット５０は、予め環境変数（ＬＣ＿ＭＥＳＳＡＧＥＳ）などに設定されていた言語（ｊａ：日本語を意味する）によって、指定されたメッセージ（Ｉ  ｕｓｅ  ｔｈｅ  ｍｏｖｅ  ｃｏｍｍａｎｄ）の出力を試みる。
【０００９】
具体的には、メッセージ出力ユニット５０は、その言語のメッセージをメッセージ記憶部２０から検索して、検索されればその検索されたメッセージを出力する。検索されなければ、メッセージ出力ユニット５０は、この英語のメッセージを機械翻訳によって翻訳して日本語のメッセージを生成し、出力する。出力されるメッセージは、「私はｍｏｖｅコマンドを使います。」などの、日本語とアルファベット表記のコマンド名とが混在したものであることが望ましい。コマンド名などを敢えて日本語に訳してしまうと、文章の意味がわかりにくくなってしまう場合があるからである。このように、エラーメッセージなどの短いメッセージを理解可能な程度に翻訳するためには高精度の翻訳が求められる場合が多い。
本実施形態に係るメッセージ出力ユニット５０は、既に他の言語（例えば日本語・英語以外、ドイツ語など）に翻訳されたメッセージをメッセージ記憶部２０から読み出して利用することで、機械翻訳の精度を高めることを目的とする。
【００１０】
図２は、メッセージ記憶部２０のデータ構造の一例を示す。メッセージ記憶部２０は、互いに同一の内容を互いに異なる第１言語（たとえば英語）および第２言語（たとえばドイツ語）のそれぞれで記述した第１メッセージおよび第２メッセージのそれぞれを記憶する。これらのメッセージは、メッセージ記憶部２０のファイルシステム内で、／ｕｓｒ／ｓｈａｒｅ／ｌｏｃａｌｅ／というパス名のディレクトリに記憶される。英語で記述した第１メッセージは、／ｕｓｒ／ｓｈａｒｅ／ｌｏｃａｌｅ／ｅｎ／ＬＣ＿ＭＥＳＳＡＧＥＳ／というパス名のディレクトリにおいてファイルに格納される。そのようなファイルの一例をメッセージファイル４００とする。ファイル名は、たとえば、そのメッセージの表示を指示するアプリケーション・プログラムの名前（たとえばａｐｐｌ１）に、そのファイルにはメッセージが格納されている旨を示す拡張子（ｍｏ）を付して構成されてよい。
【００１１】
同様に、ドイツ語で記述した第２メッセージは、／ｕｓｒ／ｓｈａｒｅ／ｌｏｃａｌｅ／ｄｅ／ＬＣ＿ＭＥＳＳＡＧＥＳ／というパス名のディレクトリにおいてファイルに格納される。そのようなファイルの一例をメッセージファイル３００とする。ファイル名は、たとえば、そのメッセージの表示を指示するアプリケーション・プログラムの名前（たとえばａｐｐｌ１）に、そのファイルにはメッセージが格納されている旨を示す拡張子（ｍｏ）を付して構成されてよい。このように、メッセージ記憶部２０は、コマンドの処理結果等を示すメッセージを、そのメッセージを記述した言語に対応付けて記憶している。
【００１２】
このように記憶されたメッセージの利用例は以下の通りである。まず、メッセージ出力ユニット５０は、たとえば環境変数にドイツ語が設定されている場合において、アプリケーション・プログラム（ａｐｐｌ１）からメッセージの出力を指示されると、ドイツ語に対応するパス名（／ｕｓｒ／ｓｈａｒｅ／ｌｏｃａｌｅ／ｄｅ／ＬＣ＿ＭＥＳＳＡＧＥＳ／）で指定されるディレクトリの中から、アプリケーション・プログラム名（ａｐｐｌ１）をファイル名とするファイルを検索する。ファイルが検索されると、その中から出力するべきメッセージを、アプリケーション・プログラム中で指定された識別情報に基づき選択して出力する。
【００１３】
本発明に係る第４言語の一例である日本語で記述された第４メッセージは、／ｕｓｒ／ｓｈａｒｅ／ｌｏｃａｌｅ／ｊａ／ＬＣ＿ＭＥＳＳＡＧＥＳ／というパス名のディレクトリにおいてファイルに格納されるべきである。しかしながら、図２において、このディレクトリ中にはファイルが記憶されていない。ファイルが記憶されていない状態は、その言語で記述したメッセージが準備されていないことを示す。このような場合には、メッセージ出力ユニット５０は、初期設定の言語である英語によるメッセージを検索して出力してもよい。しかしながら、英語を母国語としない利用者にとっては、そのような英語のメッセージが不便に感じられることもある。したがって、メッセージ出力ユニット５０は、既に用意された英語やドイツ語のメッセージを機械翻訳により日本語に翻訳して出力することが望ましい。
【００１４】
なお、初期設定の言語である英語のメッセージに限っては、メッセージ記憶部２０に予め記憶されるのではなく、アプリケーション・プログラム１５において出力するべきメッセージとして指定されてもよい。たとえば、前述のｇｅｔｔｅｘｔライブラリ関数の仕様によれば、出力するメッセージは番号や記号などで指定されるのではなく、環境変数に設定された言語のメッセージが検索できなかった場合に出力するべき英語のメッセージの文字列によって指定される。このような場合には、英語のメッセージに限ってはメッセージ記憶部２０に予め記憶されていなくともよい。即ち、英語のメッセージを出力する場合には、アプリケーション・プログラム１５が、メッセージ出力ユニット５０を呼び出して実行している処理において、そのアプリケーション・プログラム１５においてｇｅｔｔｅｘｔライブラリ関数の引数として指定されたメッセージを取得して後述のＲＡＭ１０２０（以下、単にメモリと呼ぶ）に記憶し、それをそのまま画面に出力すればよい。
【００１５】
図３は、メッセージファイル３００の内容の一例を示す。メッセージファイル３００は、コマンドの処理結果の識別情報のそれぞれについて、当該処理結果を示すメッセージを対応付けて格納している。識別情報とは番号や記号であってもよいし、前述のように、環境変数に設定された言語のメッセージが検索できなかった場合に出力するべき英語のメッセージの文字列であってもよい。すなわち図３に示すのは、識別情報「Ｉ  ｕｓｅ  ｔｈｅ  ｍｏｖｅ  ｃｏｍｍａｎｄ」やそれを示す番号・記号に対応するドイツ語のメッセージ「Ｉｃｈ  ｂｅｎｕｔｚｅ  ｄｅｎ  ｍｏｖｅ  Ｂｅｆｅｈｌ」である。
【００１６】
図４は、メッセージファイル４００の内容の一例を示す。メッセージファイル４００についても図３に示すメッセージファイル３００と同様である。即ち、コマンドの処理結果の識別情報のそれぞれについて、その処理結果を示すメッセージが対応付けて格納される。既に述べたように、英語のメッセージは予めファイルとしてメッセージ記憶部２０に記憶されていなくてもよい。
【００１７】
図５は、メッセージ出力ユニット５０の機能構成を示す。メッセージ出力ユニット５０は、後述するＣＤ−ＲＯＭ１０９５などからプログラムが読み出されて実行され、後述するＣＰＵ１０００およびメモリなどに働きかけることによって、構文解析部５００と、言語記憶部５１０と、判断部５２０と、翻訳部５３０と、属性記憶部５４０として機能する。構文解析部５００は、第１メッセージおよび第２メッセージを、メッセージ記憶部２０から読み込むか、または、実行されているアプリケーション・プログラム１５から渡される。
【００１８】
そして、構文解析部５００は、その第１および第２のメッセージに対し、必要に応じて形態素解析を行う。形態素解析とは、文字列を最終的に単語に分解してそのそれぞれの語の品詞をＣＰＵ１０００の動作により特定したうえで、それぞれの語を品詞に対応付けてメモリに記憶する処理をいう。形態素解析の具体的な処理内容は、処理対象となるメッセージの言語によって異なる。英語などの言語では単語の区切りは解析するまでもなく明確なのに対し、日本語などの言語では単語の区切りは解析をしないと判別できないからである。このため、構文解析部５００は、第１および第２のメッセージのそれぞれに対し、第１および第２言語に応じた必要な形態素解析を行えばよい。そして、構文解析部５００は、第１および第２メッセージをそれぞれ構文解析することにより、第１メッセージに含まれる語および句の階層構造を表した第１構文木、および、第２メッセージに含まれる語および句の階層構造を表した第２構文木をＣＰＵ１０００の動作により生成してメモリに記憶する。
【００１９】
判断部５２０は、第１構文木に含まれるある部分木によって表される語句の表記が、第２構文木においてその部分木に対応する部分木によって表される語句の表記と一致するか否かをＣＰＵ１０００の動作により判断する。たとえば、第１構文木および第２構文木のいずれもが、名詞句、動詞、および、名詞句（目的語に相当）から成る文を示す場合において、その目的語に相当する名詞句の表記が第１および第２メッセージで一致するかどうかが判断される。表記が一致したことを条件に、判断部５２０は、表記が一致したその語句を、翻訳不要の語句と判断する。そのような語句は固有名詞や専門用語などである可能性が高く、翻訳しなくても（むしろ翻訳しないほうが）理解可能な場合が多いからである。ここで、構文木の部分木とは、複数の語句から構成されるもののみならず、単一の語のみからなるものも含む。また、一致とは、完全一致のみならず実質的な一致も含む。たとえば、２語から成る語句について、ハイフンの有無のみの相違や、下付線の有無のみの違いや、大文字小文字のみの相違は一致とみなす。一例として、「ＰＯＰ  ｓｅｒｖｅｒ」と「ＰＯＰ−ｓｅｒｖｅｒ」などは一致とみなされる。
【００２０】
翻訳部５３０は、第３言語で記述した第３メッセージをメッセージ記憶部２０から読み出して、第４言語（目的の言語、たとえば日本語）に翻訳する。ここで、第３言語とは、第１言語および第２言語の何れかと同一であってもよいし、第１言語および第２言語の何れとも異なる言語であってもよい。但し、第３言語は第４言語と同一であれば翻訳の必要はないので第４言語以外の言語であるものとする。さらには、第４言語は、第１言語、第２言語および第３言語の何れとも異なる言語である。何れかと同一であれば、翻訳する必要はないからである。以降では、第１言語および第３言語を英語とし、第２言語をドイツ語とし、第４言語を日本語として説明をする。
【００２１】
翻訳部５３０は、第３メッセージをＣＰＵ１０００の動作により翻訳して第４メッセージを生成する処理において、第３メッセージに当該翻訳不要の語句が含まれるか否かを判断する。含まれると判断した場合に、翻訳部５３０は、その翻訳不要の語句を第３メッセージ中の表記のまま、翻訳後の第４メッセージに含めて出力する。即ち、第１メッセージおよび第２メッセージを利用して特定した固有名詞やコマンド名などは、第４メッセージ中ではその表記のまま出力される。このように、メッセージ出力ユニット５０によれば、敢えて翻訳する必要のない語句を適切に検出して、機械翻訳の精度向上に役立てることができる。
【００２２】
翻訳精度の更なる向上のため、メッセージ出力ユニット５０は、言語記憶部５１０および属性記憶部５４０に記憶された情報をさらに用いることが望ましい。属性記憶部５４０は、言語ごとに、当該言語における複数の語の表記のそれぞれを、当該表記の語が有するそれぞれの意味についての意味属性に対応付けて記憶している。ここで、意味属性とは、語の意味が、語の意味を当該意味の抽象概念によって分類したグループの何れに属するかを示す。たとえば、ある表記の語が動詞であって意味が「行為」を示すものであるか、または、その表記の語が名詞でもあって意味が「状態」を示すものであるかなどである。
【００２３】
また、言語記憶部５１０は、言語をグループに分類して記憶している。各グループには、互いに類似する言語のみが記憶される。たとえば、それぞれの言語は、インド・ヨーロッパ語族、アフロ・アジア語族など、語族と呼ばれる言語の分類に応じてグループに分類されていてもよい。また、各言語が用いられる地域や人種などによってグループに分類されていてもよい。もちろん、言語記憶部５１０はメモリなどによって実現されるものであるから、言語を記憶する、とは、言語を識別可能な何らかの情報を記憶することをいう。これらの情報を用いて、構文解析部５００および翻訳部５３０は、翻訳精度を向上するべく更なる追加処理を行ってもよい。詳しくは後述する。
【００２４】
図６は、情報システム１０がメッセージを出力する処理のフローチャートを示す。構文解析部５００は、アプリケーション・プログラム１５などからのライブラリ関数により、コマンドの処理結果を示すメッセージを第４言語により出力する要求を受信する（Ｓ６００）。前述のように、どのようなメッセージを出力するべきかの要求はライブラリ関数の引数によって与えられ、第４言語がいかなる言語であるかは環境変数などによって与えられる。構文解析部５００は、この第４言語およびこの処理結果の識別情報に対応する第４メッセージをメッセージ記憶部２０から検索する（Ｓ６１０）。検索されたことを条件に（Ｓ６２０：ＹＥＳ）、翻訳部５３０は、検索されたその第４メッセージを出力して処理を終了する（Ｓ６８０）。
【００２５】
検索されなかったことを条件に（Ｓ６２０：ＮＯ）、構文解析部５００は、第４言語とは異なる複数の言語のそれぞれに対応する複数のメッセージのそれぞれを第１および第２のメッセージとしてメッセージ記憶部２０から検索して読み出す（Ｓ６３０）。検索されるのは、たとえば英語およびドイツ語のメッセージである。これに加えて、３以上の様々な言語のメッセージが検索可能な場合には、構文解析部５００は、そのそれぞれについてメッセージ記憶部２０から読み出してもよい。２以上の言語のメッセージがメッセージ記憶部２０から読み出されない場合、または、英語のメッセージがアプリケーション・プログラム１５中に与えられる場合において１以上の他言語のメッセージがメッセージ記憶部２０から読み出されなかった場合には、本発明の翻訳精度向上技術を使用せず、従来の機械翻訳技術によって第３言語（英語）から第４言語（日本語）への機械翻訳を行ってメッセージを表示する。
【００２６】
次に、構文解析部５００は、読み出したそのそれぞれのメッセージに対し、必要な形態素解析を行う（Ｓ６４０）。そして、構文解析部５００は、そのそれぞれのメッセージを構文解析することにより、複数の構文木のそれぞれを生成する（Ｓ６５０）。図７および図８に構文木の具体例を示す。
【００２７】
図７は、第２のメッセージを解析した第２構文木の一例を示す。最下段は第２のメッセージそのものである。形態素解析により、下から２段目に示す品詞の情報が得られる。すなわち、Ｉｃｈは代名詞（ＰＲＯ：ｐｒｏｎｏｕｎ）であり、ｂｅｎｕｔｚｅは動詞（Ｖ：ｖｅｒｂ）であり、ｄｅｎは限定詞（ＤＥＴ：ｄｅｔｅｒｍｉｎａｎｔ）であり、ｍｏｖｅおよびＣｏｍｍａｎｄは名詞（Ｎ：ｎｏｕｎ）である。構文解析により、その他の部分の情報が得られる。即ち、ｍｏｖｅおよびＣｏｍｍａｎｄにより名詞句（ＮＰ：Ｎｏｕｎ  Ｐｈｒａｓｅ）が構成され、その名詞句とｄｅｎとによりこれらを包含する名詞句がさらに構成される。また、その名詞句およびｂｅｎｕｔｚｅにより動詞句（ＶＰ：Ｖｅｒｂ  Ｐｈｒａｓｅ）がさらに構成される。また、代名詞であるＩｃｈのみから構成される名詞句と、その動詞句とにより、文（Ｓ：ｓｅｎｔｅｎｃｅ）が構成される。
【００２８】
図８は、第１のメッセージを解析した第１構文木の一例を示す。最下段は第１のメッセージそのものである。形態素解析により、下から２段目に示す品詞の情報が得られる。すなわち、Ｉは代名詞（ＰＲＯ：ｐｒｏｎｏｕｎ）であり、ｕｓｅは動詞（Ｖ：ｖｅｒｂ）であり、ｔｈｅは限定詞（ＤＥＴ：ｄｅｔｅｒｍｉｎａｎｔ）であり、ｍｏｖｅおよびＣｏｍｍａｎｄは名詞（Ｎ：ｎｏｕｎ）である。構文解析により、その他の部分の情報が得られる。即ち、ｍｏｖｅおよびＣｏｍｍａｎｄにより名詞句（ＮＰ：Ｎｏｕｎ  Ｐｈｒａｓｅ）が構成され、その名詞句とｔｈｅとによりこれらを包含する名詞句がさらに構成される。また、その名詞句およびｕｓｅにより動詞句（ＶＰ：Ｖｅｒｂ  Ｐｈｒａｓｅ）がさらに構成される。また、代名詞であるＩのみから構成される名詞句と、その動詞句とにより、文（Ｓ：ｓｅｎｔｅｎｃｅ）が構成される。
【００２９】
図６に戻る。次に、判断部５２０は、第１構文木に含まれるある部分木によって表される語句の表記が、第２構文木においてその部分木に対応する部分木によって表される語句の表記と一致するか否かをＣＰＵ１０００の動作により判断する（Ｓ６６０）。この判断は、構文木内のあらゆる部分木について行われるのではなく、１または２以上の連続して表記された未知語により構成される部分木のみを対象とすることが望ましい。未知語とは、翻訳用の辞書に登録されておらず翻訳不能である語のことをいう。このように、判断の対象を未知語に限定することにより、必要な処理の量を削減して処理を効率化することができる。また、第１言語と第２言語で同一綴りの単語が存在する場合に、一致を間違って判断することを防ぐことができる。そして、判断部５２０は、表記が一致することを条件に、その語句を翻訳不要の語句と判断する。図９から図１１までを参照して、この処理について説明する。
【００３０】
図９は、第１言語と第２言語との間の語句の対応関係を示す。図７および図８に示す第１および第２構文木を比較して明らかなように、第１構文木および第２構文木の階層構造は、最下段の表記部分を除き完全に一致する。このため、判断部５２０は、それぞれの構文木を走査すれば、第１構文木中のある部分木に対応する部分木を第２構文木の中から検索することができる。たとえば、英語のＩのみからなる部分木は、ドイツ語のＩｃｈのみからなる部分木に対応する。また、英語の名詞ｍｏｖｅおよび名詞ｃｏｍｍａｎｄからなる部分木は、ドイツ語の名詞ｍｏｖｅおよび名詞Ｂｅｆｅｈｌからなる部分木に対応する。
【００３１】
また、英語の名詞ｍｏｖｅのみからなる部分木は、ドイツ語の名詞ｍｏｖｅのみからなる部分木に対応する。さらにこれらの表記は一致している。また、英語の名詞ｃｏｍｍａｎｄのみからなる部分木は、ドイツ語の名詞Ｂｅｆｅｈｌのみからなる部分木に対応する。このように、構文木の構造が完全に一致する場合には、判断部５２０は、一方の構文木におけるそれぞれの部分木について、その部分木に対応する部分木を他方の構文木から検索するためには、当該他方の部分木を単に走査することで足りる。次に、構文木の構造が互いに異なる場合について説明する。この場合には、機械翻訳で用いられるトランスファー規則が用いられる。なお、英語とドイツ語との間では構文木の構造が一致する場合が多いので、英語と日本語との間で構文木を比較する場合を例に説明を続ける。
【００３２】
図１０ａは、トランスファー規則の一例を示す。図左に示す英語のメッセージの構文木は、名詞句および動詞句からなる文章を示している。この英語の文章を日本語に翻訳するためには、図左の構文木を図右の構文木に変換することを要する。図右は、対応する日本語の文章の構文木を示している。この構文木は、名詞句と、助詞の「は」と、動詞句とをこの順に示す。即ち、この規則は、英語を日本語に翻訳する場合において、名詞句と動詞句から成る文章、たとえば「Ｉ  ｄｏ」が与えられれば、それぞれの語句に訳語「わたし」「する」に加えて、この規則による変換をすること（すなわち、名詞句と動詞句の間に「は」）を挿入すること）を示している。この例では、翻訳の結果「わたしはする」というメッセージが生成される。
【００３３】
図１０ｂは、トランスファー規則の他の例を示す。図１０ａと同様、図左には英語の構文木を、図右には変換後の日本語の構文木をそれぞれ示している。そしてその詳細は次の通りである。英語の構文木は、動詞と名詞句とをこの順で含む動詞句である。日本語の構文木は、名詞句、助詞「を」、および、動詞をこの順で含む名詞句である。即ちたとえば、「ｈａｖｅ  ｌｕｎｃｈ」という英語のメッセージは、「ランチを食べる」という日本語のメッセージに変換されることを示す。
なお、これらのトランスファー規則は例示であって、さらに詳細なトランスファー規則が設けられていてもよい。
【００３４】
図１１ａは、英語のメッセージの構文木の一例を示す。これは、図８と同一であるが図１１ｂとの比較のため再掲する。
図１１ｂは、日本語のメッセージの構文木の一例を示す。最下段は対応する日本語のメッセージそのものである。形態素解析により、下から２段目に示す品詞の情報が得られているものとする。すなわち、「私」は代名詞（ＰＲＯ：ｐｒｏｎｏｕｎ）であり、「使う」は動詞（Ｖ：ｖｅｒｂ）であり、ｍｏｖｅおよび命令は名詞（Ｎ：ｎｏｕｎ）である。構文解析により、その他の部分の情報が得られる。即ち、ｍｏｖｅおよび命令により名詞句（ＮＰ：Ｎｏｕｎ  Ｐｈｒａｓｅ）が構成され、その名詞句、助詞の「を」、および、「使う」により動詞句（ＶＰ：Ｖｅｒｂ  Ｐｈｒａｓｅ）が構成される。また、代名詞である「私」のみから構成される名詞句と、その動詞句とにより、文（Ｓ：ｓｅｎｔｅｎｃｅ）が構成される。
【００３５】
図１１ａに示す英語のメッセージの構文木に対し、図１０ａおよび図１０ｂに示したようなトランスファー規則を適用する。すると、図１１ａに示す構文木は、単語が英語表記のまま日本語の構造を持つ構文木に変換される。この結果、対比される２つの構文木の構造は一致する。構文木の構造が一致した後の処理は図９において説明したとおりである。以上、図９から図１１までを参照して説明したように、判断部５２０は、翻訳元の言語と翻訳先の言語との間で予め定められたトランスファー規則を用いることにより、それぞれの言語の構文木の中から、互いに対応する部分木を検索することができる。以上、第１および第２言語として英語および日本語を適用した例の説明は終了し、以降、第１および第２言語として英語およびドイツ語を用いた例に戻る。
【００３６】
図６に戻る。次に、翻訳部５３０は、第３メッセージ（第１メッセージまたは第２メッセージと同じでもよい）をメッセージ記憶部２０から読み出して、ＣＰＵ１０００の動作により翻訳して第４メッセージを生成する（Ｓ６７０）。この処理において、第３メッセージ中に翻訳不要の語句が含まれている場合には、翻訳部５３０は、その語句を第３メッセージ中の表記のまま、翻訳後の第４メッセージに含めて生成する。さらに、この翻訳処理の過程で、翻訳部５３０は、翻訳の精度を高めるべく、次の処理を行うことが望ましい。
【００３７】
１．複合語の取り扱い
翻訳処理においてはメッセージの構文解析が行われるが、翻訳不要の語句が複合語である場合には、その語句が翻訳不要であるという情報を構文解析に用いると翻訳の精度をさらに向上させることができる。具体的には、翻訳部５３０は、まず、翻訳不要の語句を含む複合語を第３メッセージにおいて検出したかを判断する。複合語は、２以上の語からなる部分木として構文木中から検出されてもよいし、メッセージの表記において連続する２以上の語であって翻訳不要の語のみからなるものでもよい。
【００３８】
検出されたことを条件に、翻訳部５３０は、第３メッセージを第４メッセージに翻訳する処理の過程において、その複合語に含まれる語と語の間の構文上の関係は解析することなく、その複合語と他の語との間の構文上の関係を解析する。そして、翻訳部５３０は、翻訳後の第４メッセージに含めてその複合語を第３メッセージ中の表記のまま出力する。このような複合語の例を図１２に示す。
【００３９】
図１２は、翻訳不要の複合語の具体例を示す。１行目には英語の第１メッセージを示し、２行目にはドイツ語の第２メッセージを示す。「Ｅｖｅｒｙｐｌａｃｅ  Ａｃｃｅｓｓ」という複合語は、英語でもドイツ語でも表記が一致し、構文木中でも対応する部分木として表されることから、翻訳不要の語句と判断されている。このような場合には、翻訳部５３０は、「Ｅｖｅｒｙｐｌａｃｅ」と、「Ａｃｃｅｓｓ」との間の構文上の関係は解析しない。すなわち、これらは本来副詞と名詞（あるいは動詞）の関係であって、構文上の関係は様々に判断され得る。しかしながら、翻訳部５３０は、これらの語をひとまとまりの句として取り扱い、この句と他の語句との間の構文上の関係を解析する。この結果、この句は名詞句であって他の動詞句と組み合わせて文を構成することが判明する。これにより、構文解析の誤りが少なくなり、翻訳の精度を向上させることができる。
【００４０】
２．多義性の解消
翻訳部５３０は、第３メッセージを翻訳して第４メッセージを生成する処理において、第３メッセージに含まれるある第３言語語句に複数の意味属性が対応付けて記憶されている場合に、その第３言語語句の第４言語における訳語が、その第３言語語句の表記に対応する意味属性によって異なるかどうかを判断する。図１３ａおよび図１３ｂにその例を示す。
【００４１】
図１３ａは、英語の意味属性の具体例を示す。図１３ｂは、ドイツ語の意味属性の具体例を示す。属性記憶部５４０は、第３言語語句である英単語「ｃｏｍｍａｎｄ」に、複数の意味属性を対応付けて記憶している。たとえば、「行為」を意味する意味属性と、「状態」を意味する意味属性とが対応付けられている。そして、そのそれぞれに対応する日本語における訳語は、「命令」および「見晴らし」である。これは、英日間の翻訳用の辞書を参照することによって英単語「ｃｏｍｍａｎｄ」の日本語の訳語を特定したうえで、属性記憶部５４０に併せて記憶された日本語の意味属性を参照することによってそのそれぞれに対応する意味属性を特定することにより判断できる。翻訳部５３０は、このような場合には意味属性によって訳語が異なると判断する。
【００４２】
この場合には、翻訳部５３０は、第３メッセージを翻訳するために生成した第３構文木において、この第３言語語句を示す部分木に対応する部分木を、第１構文木または第２構文木から検索する。図１３ａの例の場合は、第１構文木と第３構文木は同一であって意味がないので第２構文木が検索の対象となる。ドイツ語の例では、単語「Ｂｅｆｅｈｌ」が検索される。そして、翻訳部５３０は、検索されたこの部分木に対応する語句の少なくとも１つの意味属性を属性記憶部５４０から読み出す。読み出した意味属性は「行為」である。そして、翻訳部５３０は、読み出した意味属性と第３言語語句の意味属性との積集合とを算出し、その積集合に含まれる意味属性に対応する訳語を、第４メッセージに含めて出力する。したがって、出力される訳語は「命令」となる。同様の例を図１４に示す。
【００４３】
図１４ａは、英単語「ｃａｓｅ」の意味属性の具体例を示す。英単語「ｃａｓｅ」は、その日本語の訳語として「事例」および「箱」を有する。意味属性はそれぞれ抽象物および人工物である。ただし、ドイツ語では「事例」および「箱」では表記が異なる。このため、英語とドイツ語のメッセージを対比すれば、翻訳部５３０は、訳語を精度良く決定することができる。
【００４４】
図１４ｂは、英単語「ｔａｂｌｅ」の意味属性の具体例を示す。英単語「ｔａｂｌｅ」は、その日本語の訳語として「表」および「テーブル」を有する。意味属性はそれぞれ言語および人工物である。ただし、ドイツ語では「表」および「テーブル」では表記が異なる。このため、英語とドイツ語のメッセージを対比すれば、翻訳部５３０は、訳語を精度良く決定することができる。
【００４５】
図１４ｃは、英単語「ｐｌａｎｔ」の意味属性の具体例を示す。英単語「ｐｌａｎｔ」は、その日本語の訳語として「植物」および「工場」を有する。意味属性はそれぞれ植物および場所である。ただし、ドイツ語では「植物」および「工場」では表記が異なる。このため、英語とドイツ語のメッセージを対比すれば、翻訳部５３０は、訳語を精度良く決定することができる。
【００４６】
なお、英語とドイツ語では多義性を解消できない場合もある。そのような例を図１４ｄに示す。
図１４ｄは、英単語「ｒｉｇｈｔ」の意味属性の具体例を示す。英単語「ｒｉｇｈｔ」は、その日本語の訳語として「右」および「権利」を有する。意味属性はそれぞれ場所および法律である。ドイツ語でも「右」および「権利」で表記は「Ｒｅｃｈｔ」であって同一である。このため、英語とドイツ語では多義性を解消できない。このような場合には、たとえば中国語の訳語を用いれば多義性を解消できる。このように３以上の言語の存在を前提にする処理について、以下補足説明する。
【００４７】
まず、３以上の言語によるメッセージが記憶されている場合に、訳語を多数決によって定めて翻訳の精度をさらに向上させるというものである。すなわち、構文解析部５００は、それら全ての言語によるメッセージのそれぞれについて、構文木を生成する。そして、翻訳部５３０は、訳語が意味属性によって異なると判断した場合に、第３構文木において第３言語語句を示す部分木に対応する部分木を、それらそれぞれの構文木から検索する。そして、翻訳部５３０は、検索されたそれぞれの部分木に対応する語句の全ての意味属性を属性記憶部５４０から読み出し、最も多くの語句に対応して読み出された意味属性に対応する訳語を、第４メッセージに含めて出力する。最も多くの語句に対応する意味属性に代えて、読み出した全ての語句のうち予め定められた基準の割合よりも高い割合の語句に対応する意味属性を用いて判断してもよい。
【００４８】
次に、多義性の解消に用いる言語を適切に選択するというものである。すなわち、翻訳に用いる言語について優先順序を予め定めておく。たとえば、英語、中国語、ドイツ語…のような順序付けがされている。翻訳部５３０は、この優先順序に従って、メッセージ記憶部２０に記憶されているメッセージを記述した複数の言語のなかから、第１言語または第２言語を選択する。たとえば英語が先頭であればまず英語が選択される。英語のメッセージが準備されていない場合には中国語が選択される。そして、翻訳部５３０は、選択した当該言語のメッセージを構文解析した構文木から、翻訳元となる第３メッセージ中の当該第３言語語句を示す部分木に対応する部分木を検索し、検索された部分木に対応する語句の少なくとも１つの意味属性を属性記憶部５４０から読み出す。そして、翻訳部５３０は、読み出した意味属性と第３言語語句の意味属性との積集合を算出し、当該積集合に含まれる意味属性に対応する訳語を、第４メッセージに含めて出力する。
【００４９】
さらに、多義性の解消に用いる言語は、言語の属するグループに応じて選択するというものである。すなわち、図５において説明したように、言語記憶部５１０は、言語をグループに分類して記憶している。そして、翻訳部５３０は、メッセージ記憶部２０に記憶しているメッセージを記述した第１言語または第２言語のうち、第３言語とは異なるグループに分類された言語を選択する。たとえば、翻訳元の第３言語が英語の場合、第１言語がドイツ語で第２言語が中国語であれば、英語と同一のグループに属しているドイツ語は選択されず、英語と異なるグループに属する中国語が選択される。そして、翻訳部５３０は、選択した当該言語のメッセージを構文解析した構文木から、当該第３言語語句を示す部分木に対応する部分木を検索し、検索された部分木に対応する語句の少なくとも１つの意味属性を属性記憶部５４０から読み出し、読み出した意味属性とその第３言語語句の意味属性との積集合を算出し、当該積集合に含まれる意味属性に対応する訳語を、第４メッセージに含めて出力する。これにより、多義語を示す部分木に対応する部分木の語句も同様の多義語であることを防止し、多義性解消の可能性を高めることができる。つまり、図１４ｄで見たように、同じヨーロッパ系言語の英語とドイツ語の対応する訳語を対比しても、語源が同じためにｒｉｇｈｔという語の多義性の解消はできないが、言語としてグループが異なる中国語の対応する訳語と対比することで、多義性の解消ができる可能性が高まるのである。
【００５０】
３．翻訳エンジンの選択
複数の言語による複数のメッセージがメッセージ記憶部２０に記憶されている場合においては、目的の第４言語（たとえば日本語）になるべく類似した言語を第３言語として選択したほうが、翻訳の精度は高い傾向がある。このため、翻訳エンジンすなわち、翻訳元および翻訳先の言語の組に応じた翻訳処理の種類を適切に選択することが望ましい。たとえば、各言語について、その言語と他の言語とが類似する程度に基づいて、言語間で優先順序が予め定められている。日本語について例示すると、韓国語、中国語…などの順である。翻訳部５３０は、目的の第４言語に対応して定められたこの優先順序に従って、メッセージ記憶部２０に記憶されたメッセージの言語の中で最も優先順序の高い言語を第３言語として選択する。たとえば、韓国語のメッセージが記憶されていれば韓国語を、記憶されていなければ中国語を選択する。そして、翻訳部５３０は、選択したその言語で記述したメッセージを翻訳して第４メッセージを生成する。これにより、翻訳の精度を一層高めることができる。
【００５１】
図６に戻る。翻訳部５３０は、翻訳後の第４メッセージを利用者に対し出力する（Ｓ６８０）。上述の様々な機能により、エラーメッセージなどの短いメッセージであっても、理解可能な程度に適切に翻訳することができる。
【００５２】
図１５は、情報システム１０として機能する情報処理装置１５００のハードウェア構成の一例を示す。情報処理装置１５００は、ホストコントローラ１０８２により相互に接続されるＣＰＵ１０００、ＲＡＭ１０２０、及びグラフィックコントローラ１０７５を有するＣＰＵ周辺部と、入出力コントローラ１０８４によりホストコントローラ１０８２に接続される通信インターフェイス１０３０、ハードディスクドライブ１０４０、及びＣＤ−ＲＯＭドライブ１０６０を有する入出力部と、入出力コントローラ１０８４に接続されるＲＯＭ１０１０、フレキシブルディスクドライブ１０５０、及び入出力チップ１０７０を有するレガシー入出力部とを備える。
【００５３】
ホストコントローラ１０８２は、ＲＡＭ１０２０と、高い転送レートでＲＡＭ１０２０をアクセスするＣＰＵ１０００及びグラフィックコントローラ１０７５とを接続する。ＣＰＵ１０００は、ＲＯＭ１０１０及びＲＡＭ１０２０に格納されたプログラムに基づいて動作し、各部の制御を行う。グラフィックコントローラ１０７５は、ＣＰＵ１０００等がＲＡＭ１０２０内に設けたフレームバッファ上に生成する画像データを取得し、表示装置１０８０上に表示させる。これに代えて、グラフィックコントローラ１０７５は、ＣＰＵ１０００等が生成する画像データを格納するフレームバッファを、内部に含んでもよい。
【００５４】
入出力コントローラ１０８４は、ホストコントローラ１０８２と、比較的高速な入出力装置である通信インターフェイス１０３０、ハードディスクドライブ１０４０、及びＣＤ−ＲＯＭドライブ１０６０を接続する。通信インターフェイス１０３０は、ネットワークを介して外部の装置と通信する。ハードディスクドライブ１０４０は、情報処理装置１５００が使用するプログラム及びデータを格納する。ＣＤ−ＲＯＭドライブ１０６０は、ＣＤ−ＲＯＭ１０９５からプログラム又はデータを読み取り、ＲＡＭ１０２０又はハードディスクドライブ１０４０に提供する。
【００５５】
また、入出力コントローラ１０８４には、ＲＯＭ１０１０と、フレキシブルディスクドライブ１０５０や入出力チップ１０７０等の比較的低速な入出力装置とが接続される。ＲＯＭ１０１０は、情報処理装置１５００の起動時にＣＰＵ１０００が実行するブートプログラムや、情報処理装置１５００のハードウェアに依存するプログラム等を格納する。フレキシブルディスクドライブ１０５０は、フレキシブルディスク１０９０からプログラム又はデータを読み取り、入出力チップ１０７０を介してＲＡＭ１０２０またはハードディスクドライブ１０４０に提供する。入出力チップ１０７０は、フレキシブルディスク１０９０や、例えばパラレルポート、シリアルポート、キーボードポート、マウスポート等を介して各種の入出力装置を接続する。
【００５６】
情報処理装置１５００に提供されるプログラムは、フレキシブルディスク１０９０、ＣＤ−ＲＯＭ１０９５、又はＩＣカード等の記録媒体に格納されて利用者によって提供される。プログラムは、入出力チップ１０７０及び/又は入出力コントローラ１０８４を介して、記録媒体から読み出され情報処理装置１５００にインストールされて実行される。プログラムが情報処理装置１５００等に働きかけて行わせる動作は、図１から図１４において説明した情報システム１０における動作と同一であるから、説明を省略する。
【００５７】
以上に示したプログラムは、外部の記憶媒体に格納されてもよい。記憶媒体としては、フレキシブルディスク１０９０、ＣＤ−ＲＯＭ１０９５の他に、ＤＶＤやＰＤ等の光学記録媒体、ＭＤ等の光磁気記録媒体、テープ媒体、ＩＣカード等の半導体メモリ等を用いることができる。また、専用通信ネットワークやインターネットに接続されたサーバシステムに設けたハードディスク又はＲＡＭ等の記憶装置を記録媒体として使用し、ネットワークを介してプログラムを情報処理装置１５００に提供してもよい。
【００５８】
以上、本実施形態に示す情報システム１０によれば、複数の言語によって同一内容を記述した複数のメッセージのそれぞれを利用して、機械翻訳の精度を向上させることができる。これは、Ｌｉｎｕｘ（登録商標）など、複数の言語のメッセージを選択的に出力する機能を設けたシステムにおいて、すべてのメッセージを人手で翻訳して予め準備しておく必要がないので効率的である。
【００５９】
以上、本発明を実施の形態を用いて説明したが、本発明の技術的範囲は上記実施の形態に記載の範囲には限定されない。上記実施の形態に、多様な変更または改良を加えることが可能であることが当業者に明らかである。たとえば、このような翻訳の処理は、予め複数の言語による翻訳文が準備されていれば、エラーメッセージなどに限らずその他の一般的文章にも適用可能である。その様な変更または改良を加えた形態も本発明の技術的範囲に含まれ得ることが、特許請求の範囲の記載から明らかである。
【図面の簡単な説明】
【００６０】
【図１】図１は、情報システム１０の全体構成を示す。
【図２】図２は、メッセージ記憶部２０のデータ構造の一例を示す。
【図３】図３は、メッセージファイル３００の内容の一例を示す。
【図４】図４は、メッセージファイル４００の内容の一例を示す。
【図５】図５は、メッセージ出力ユニット５０の機能構成を示す。
【図６】図６は、情報システム１０がメッセージを出力する処理のフローチャートを示す。
【図７】図７は、第２のメッセージを解析した第２構文木の一例を示す。
【図８】図８は、第１のメッセージを解析した第１構文木の一例を示す。
【図９】図９は、第１言語と第２言語との間の語句の対応関係を示す。
【図１０ａ】図１０ａは、トランスファー規則の一例を示す。
【図１０ｂ】図１０ｂは、トランスファー規則の他の例を示す。
【図１１ａ】図１１ａは、英語のメッセージの構文木の一例を示す。
【図１１ｂ】図１１ｂは、日本語のメッセージの構文木の一例を示す。
【図１２】図１２は、翻訳不要の複合語の具体例を示す。
【図１３ａ】図１３ａは、英語の意味属性の具体例を示す。
【図１３ｂ】図１３ｂは、ドイツ語の意味属性の具体例を示す。
【図１４ａ】図１４ａは、英単語「ｃａｓｅ」の意味属性の具体例を示す。
【図１４ｂ】図１４ｂは、英単語「ｔａｂｌｅ」の意味属性の具体例を示す。
【図１４ｃ】図１４ｃは、英単語「ｐｌａｎｔ」の意味属性の具体例を示す。
【図１４ｄ】図１４ｄは、英単語「ｒｉｇｈｔ」の意味属性の具体例を示す。
【図１５】図１５は、情報システム１０として機能する情報処理装置１５００のハードウェア構成の一例を示す。
【符号の説明】
【００６１】
１０  情報システム
１５  アプリケーション・プログラム
２０  メッセージ記憶部
５０  メッセージ出力ユニット
３００  メッセージファイル
４００  メッセージファイル
５００  構文解析部
５１０  言語記憶部
５２０  判断部
５３０  翻訳部
５４０  属性記憶部
１５００  情報処理装置
【図１】
2008108209.tif 000003
【図２】
2008108209.tif 000004
【図３】
2008108209.tif 000005
【図４】
2008108209.tif 000006
【図５】
2008108209.tif 000007
【図６】
2008108209.tif 000008
【図７】
2008108209.tif 000009
【図８】
2008108209.tif 000010
【図９】
2008108209.tif 000011
【図１０ａ】
2008108209.tif 000012
【図１０ｂ】
2008108209.tif 000013
【図１１ａ】
2008108209.tif 000014
【図１１ｂ】
2008108209.tif 000015
【図１２】
2008108209.tif 000016
【図１３ａ】
2008108209.tif 000017
【図１３ｂ】
2008108209.tif 000018
【図１４ａ】
2008108209.tif 000019
【図１４ｂ】
2008108209.tif 000020
【図１４ｃ】
2008108209.tif 000021
【図１４ｄ】
2008108209.tif 000022
【図１５】
2008108209.tif 000023