以下、本発明による対訳情報生成装置について、実施の形態を用いて説明する。なお、以下の実施の形態において、同じ符号を付した構成要素及びステップは同一または相当するものであり、再度の説明を省略することがある。
(実施の形態1)
本発明の実施の形態1による対訳情報生成装置について、図面を参照しながら説明する。本実地の形態による対訳情報生成装置は、同義の三言語の単語を含む三言語対訳情報を生成するものである。
図1は、本実施の形態による対訳情報生成装置1の構成を示すブロック図である。本実施の形態による対訳情報生成装置1は、対訳辞書記憶部11と、パス設定部12と、三言語対訳情報生成部13と、三言語対訳情報出力部14とを備える。
対訳辞書記憶部11では、対訳辞書が記憶される。対訳辞書とは、二言語間の単語を対応付ける情報である。ここで、単語は、文を構成する単位であり、例えば、文法上の意味での単語であってもよく、形態素であってもよく、文法上の意味での単語の少数の並び(イディオム)であってもよい。
また、「二言語間の単語を対応付ける」とは、ある言語の単語、他の言語の単語の一方の単語から、他方の単語を取得できればよいという意味である。したがって、対訳辞書は、ある言語の単語と他の言語の単語とを組として含む情報を有してもよく、ある言語の単語と他の言語の単語とをリンク付ける情報であってもよい。後者の場合には、対訳辞書は、例えば、ある言語の単語と他の言語の単語の格納されている位置を示すポインタやアドレスとを対応付ける情報であってもよい。本実施の形態では、前者の場合について説明する。
対訳辞書は、例えば、ある言語の単語と、他の言語の単語との組を複数有する情報である。なお、その単語の組に含まれる各単語は、互いに対訳関係にある単語、すなわち、同義の単語である。例えば、対訳辞書は、英語の単語「patent」と、日本語の単語「特許」とを含む組を有してもよい。また、対訳辞書は、互いに対訳関係にある単語の組を含むだけのものであってもよく、あるいは、その対訳関係にある単語について、原言語から目的言語への方向を有するものであってもよい。後者の場合には、例えば、対訳辞書は、原言語である日本語の単語「空(そら)」と、目的言語である英語の単語「sky,air,heaven」とを含む組を有してもよい。その場合には、単語「空」から、その単語と対訳関係にある単語「sky」等を取得するために、その対訳辞書が使用され、単語「sky」から、その単語の対訳関係にある単語「空」を取得するためには、その対訳辞書は使用されないものとする。本実施の形態では、各対訳辞書が原言語から目的言語への方向を有する場合について説明する。
また、対訳辞書記憶部11では、第1言語、第2言語、第3言語におけるすべての二言語間をむすぶ3種以上の対訳辞書が記憶されるものとする。第1言語、第2言語、第3言語は、互いに異なる言語であるとする。例えば、第1言語が日本語であり、第2言語が英語であり、第3言語がドイツ語であってもよい。「二言語間をむすぶ対訳辞書」とは、二言語のうちの一方の言語の単語と、その単語と対訳関係にある、その二言語のうちの他方の言語の単語とを対応付ける対訳辞書のことである。「第1言語、第2言語、第3言語におけるすべての二言語間をむすぶ対訳辞書」とは、第1言語と第2言語との間の対訳辞書、第2言語と第3言語との間の対訳辞書、第3言語と第1言語との間の対訳辞書のことである。なお、対訳辞書が原言語から目的言語への方向を有するものである場合には、第1言語から第2言語への方向を有する対訳辞書と、第2言語から第1言語への方向を有する対訳辞書とは、種類が異なると考えるものとする。
対訳辞書記憶部11に複数の対訳辞書が記憶される過程は問わない。例えば、記録媒体を介して複数の対訳辞書が対訳辞書記憶部11で記憶されるようになってもよく、通信回線等を介して送信された複数の対訳辞書が対訳辞書記憶部11で記憶されるようになってもよく、あるいは、入力デバイスを介して入力された複数の対訳辞書が対訳辞書記憶部11で記憶されるようになってもよい。対訳辞書記憶部11での記憶は、RAM等における一時的な記憶でもよく、あるいは、長期的な記憶でもよい。対訳辞書記憶部11は、所定の記録媒体(例えば、半導体メモリや磁気ディスク、光ディスクなど)によって実現されうる。
パス設定部12は、第1言語、第2言語、第3言語におけるすべての二言語間が少なくともいずれかの方向でむすばれるように、言語間のパスを設定する。そのパスは、ループとパラレルとに分けられる。
図2は、ループについて説明するための図である。図2において、第1言語の単語から第2言語の単語へのパスと、第2言語の単語から第3言語の単語へのパスと、第3言語の単語から第1言語の単語へのパスとが示されている。ループのパスは、元となるある言語の単語から、他の言語の単語を経由して、元となる言語の単語に戻るパスである。この場合には、対訳辞書記憶部11において、第1言語から第2言語への方向を有する対訳辞書と、第2言語から第3言語への方向を有する対訳辞書と、第3言語から第1言語への方向を有する対訳辞書とが少なくとも記憶されており、パス設定部12は、第1言語から第2言語への方向と、第2言語から第3言語への方向と、第3言語から第1言語への方向とを有するパスを少なくとも設定する。
図3は、パラレルについて説明するための図である。図3において、第1言語の単語から第2言語の単語へのパスと、第1言語の単語から第3言語の単語へのパスと、第2言語の単語から第3言語の単語へのパスとが示されている。パラレルのパスは、元となるある言語の単語から、別の言語の単語まで、別のルートが存在するパスである。この場合には、対訳辞書記憶部11において、第1言語から第2言語への方向を有する対訳辞書と、第1言語から第3言語への方向を有する対訳辞書と、第2言語から第3言語への方向を有する対訳辞書とが少なくとも記憶されており、パス設定部12は、第1言語から第2言語への方向と、第1言語から第3言語への方向と、第2言語から第3言語への方向とを有するパスを少なくとも設定する。
ここで、ループやパラレルのパスにおいて、各パスを構成する矢印は、その矢印の向きによって原言語から目的言語への方向が示される対訳辞書に対応している。また、対訳辞書に方向がない場合には、図2,図3において、両矢印を有する対訳辞書に相当するため、パス設定部12は、そのどちら方向を用いてパスを設定してもよいものとする。また、パス設定部12は、2以上のパスを設定してもよい。例えば、ループのパスと、パラレルのパスとを設定してもよい。また、ループのパスを設定する場合には、ループの始点となる言語を変更することによって複数のパスを設定してもよい。例えば、日英対訳辞書、英独対訳辞書、独日対訳辞書が対訳辞書記憶部11で記憶されており、ループのパスを設定する場合に、図2において、日本語を第1言語とするループのパス(この場合には、第2言語は英語で、第3言語がドイツ語となる)と、英語を第1言語とするループのパス(この場合には、第2言語がドイツ語で、第3言語が日本語となる)と、ドイツ語を第1言語とするループのパス(この場合には、第2言語が日本度で、第3言語が英語となる)とを設定してもよい。
パス設定部12がパスを設定する方法は問わない。例えば、あらかじめループのパスやパラレルのパスが図示しない記録媒体において保持されており、それを読み出すことによってパスを設定してもよく、あるいは、対訳辞書記憶部11が記憶している対訳辞書の種類等を示す情報を参照し、その情報を用いて可能なパスを設定してもよい。後者の場合には、例えば、対訳辞書に原言語と目的言語とを示す情報が対応付けられており、その情報を用いて、パスの設定が行われてもよい。パス設定部12は、2以上のパスを設定できる場合に、すべてのパスを設定してもよく、あるいは、その一部のパスを設定してもよい。パス設定部12は、例えば、設定したパスを示す情報を図示しない記録媒体に蓄積してもよく、あるいは、あらかじめ記録媒体において記憶されているパスを示す情報に対して、設定されたことを示すフラグ等を付加してもよい。
三言語対訳情報生成部13は、1以上の三言語対訳情報を生成する。ここで、三言語対訳情報とは、前述のように、互いに同義の第1言語の単語、第2言語の単語、第3言語の単語の組である。すなわち、三言語対訳情報は、第1言語の単語、第2言語の単語、第3言語の単語におけるすべての二言語間の単語の組が、対訳辞書記憶部11で記憶されている対訳辞書によってむすばれる関係にある第1言語の単語、第2言語の単語、第3言語の単語の組である。なお、三言語対訳情報生成部13は、パス設定部12が設定したパスの方向で二言語間の単語がむすばれる三言語対訳情報を生成するものとする。なお、三言語対訳情報生成部13が三言語対訳情報を生成する具体的な処理については後述する。
三言語対訳情報出力部14は、三言語対訳情報生成部13が生成した三言語対訳情報を出力する。ここで、この出力は、例えば、表示デバイス(例えば、CRTや液晶ディスプレイなど)への表示でもよく、所定の機器への通信回線を介した送信でもよく、プリンタによる印刷でもよく、記録媒体への蓄積でもよく、他の構成要素への引き渡しでもよい。本実施の形態では、三言語対訳情報出力部14は、三言語対訳情報を記録媒体15に蓄積するものとする。なお、三言語対訳情報出力部14は、出力を行うデバイス(例えば、表示デバイスやプリンタなど)を含んでもよく、あるいは含まなくてもよい。また、三言語対訳情報出力部14は、ハードウェアによって実現されてもよく、あるいは、それらのデバイスを駆動するドライバ等のソフトウェアによって実現されてもよい。
なお、対訳辞書記憶部11と、記録媒体15とは、同一の記録媒体によって実現されてもよく、あるいは、別々の記録媒体によって実現されてもよい。後者の場合には、対訳辞書を記憶している領域が対訳辞書記憶部11となり、三言語対訳情報を記憶している領域が記録媒体15となる。
次に、本実施の形態による対訳情報生成装置1の動作について、図4のフローチャートを用いて説明する。
(ステップS101)三言語対訳情報生成部13は、三言語対訳情報を生成する処理を開始するかどうか判断する。そして、開始する場合には、ステップS102に進み、そうでない場合には、開始すると判断するまでステップS101の処理を繰り返す。なお、三言語対訳情報生成部13は、例えば、対訳情報生成装置1が、三言語対訳情報の生成を開始する旨のユーザ等からの指示を受け付けた場合に、三言語対訳情報の生成を開始すると判断してもよい。
(ステップS102)パス設定部12は、言語間のパスの設定を行う。
(ステップS103)三言語対訳情報生成部13は、パス設定部12がパスを設定することができたかどうか判断する。そして、パスを設定できた場合には、ステップS104に進み、そうでない場合には、ステップS101に戻る。
(ステップS104)三言語対訳情報生成部13は、ループのパスが存在するかどうか判断する。そして、ループのパスが存在する場合には、ステップS105に進み、そうでない場合には、ステップS107に進む。
(ステップS105)三言語対訳情報生成部13は、ループのパスを用いて、三言語対訳情報の生成を行う。なお、この処理の詳細については、図5のフローチャートを用いて後述する。
(ステップS106)三言語対訳情報生成部13は、パス設定部12が設定したすべてのループのパスを用いて、三言語対訳情報の生成を行ったかどうか判断する。そして、まだ三言語対訳情報の生成を行っていない他のループのパスが存在する場合には、ステップS105に戻り、そのループのパスを用いて三言語対訳情報の生成を行う。一方、すべてのループのパスを用いて三言語対訳情報の生成が行われた場合には、ステップS107に進む。
(ステップS107)三言語対訳情報生成部13は、パラレルのパスが存在するかどうか判断する。そして、パラレルのパスが存在する場合には、ステップS108に進み、そうでない場合には、ステップS110に進む。
(ステップS108)三言語対訳情報生成部13は、パラレルのパスを用いて、三言語対訳情報の生成を行う。なお、この処理の詳細については、図6のフローチャートを用いて後述する。
(ステップS109)三言語対訳情報生成部13は、パス設定部12が設定したすべてのパラレルのパスを用いて、三言語対訳情報の生成を行ったかどうか判断する。そして、まだ三言語対訳情報の生成を行っていない他のパラレルのパスが存在する場合には、ステップS108に戻り、そのパラレルのパスを用いて三言語対訳情報の生成を行う。一方、すべてのパラレルのパスを用いて三言語対訳情報の生成が行われた場合には、ステップS110に進む。
(ステップS110)三言語対訳情報生成部13は、三言語対訳情報を併合する処理を行うかどうか判断する。そして、併合する処理を行う場合には、ステップS111に進み、そうでない場合には、ステップS112に進む。三言語対訳情報生成部13は、例えば、三言語対訳情報を生成する処理が2回以上行われた場合、すなわち、ステップS105,S108の処理が2回以上行われた場合には、三言語対訳情報を併合する処理を行うと判断し、三言語対訳情報を生成する処理が1回のみ行われた場合、すなわち、ステップS105,S108のいずれかの処理のみが1回だけ行われた場合には、三言語対訳情報を併合する処理を行わないと判断してもよい。
(ステップS111)三言語対訳情報生成部13は、三言語対訳情報を併合する処理を行う。なお、この処理の詳細については、図7のフローチャートを用いて後述する。
(ステップS112)三言語対訳情報出力部14は、三言語対訳情報生成部13が生成した三言語対訳情報(もし併合の処理が行われている場合には、その併合後のもの)を出力する。本実施の形態では、前述のように、三言語対訳情報出力部14は、三言語対訳情報を記録媒体15に蓄積するものとする。そして、ステップS101に戻る。
なお、図4のフローチャートにおいて、電源オフや処理終了の割り込みにより処理は終了する。
図5は、図4のフローチャートにおけるループのパスを用いて三言語対訳情報の生成を行う処理(ステップS105の処理)の詳細を示すフローチャートである。なお、前述のように、ループのパスが設定されているため、対訳辞書記憶部11では、第1言語から第2言語への方向を有する対訳辞書と、第2言語から第3言語への方向を有する対訳辞書と、第3言語から第1言語への方向を有する対訳辞書とが少なくとも記憶されるものとする。また、パス設定部12が設定したパスは、図2で示されるものであり、始点となる言語は、第1言語であるとする。
(ステップS201)三言語対訳情報生成部13は、カウンタiを1に設定する。
(ステップS202)三言語対訳情報生成部13は、第1言語から第2言語への方向を有する対訳辞書を用いて、その対訳辞書に含まれる第1言語のi番目の単語と対訳関係にある第2言語の1以上の単語を特定する。この特定された第2言語の1以上の単語は、図示しない記録媒体等において一時的に保持されてもよく、あるいは、対訳辞書において特定された単語にフラグ等が付加されてもよい。
(ステップS203)三言語対訳情報生成部13は、カウンタjを1に設定する。
(ステップS204)三言語対訳情報生成部13は、第2言語から第3言語への方向を有する対訳辞書を用いて、ステップS202で特定した第2言語のj番目の単語と対訳関係にある第3言語の1以上の単語を特定する。この特定された第3言語の1以上の単語は、図示しない記録媒体等において一時的に保持されてもよく、あるいは、対訳辞書において特定された単語にフラグ等が付加されてもよい。
(ステップS205)三言語対訳情報生成部13は、カウンタkを1に設定する。
(ステップS206)三言語対訳情報生成部13は、第3言語から第1言語への方向を有する対訳辞書を用いて、ステップS204で特定した第3言語のk番目の単語と対訳関係にある第1言語の1以上の単語を特定する。この特定された第1言語の1以上の単語は、図示しない記録媒体等において一時的に保持されてもよく、あるいは、対訳辞書において特定された単語にフラグ等が付加されてもよい。
(ステップS207)三言語対訳情報生成部13は、カウンタmを1に設定する。
(ステップS208)三言語対訳情報生成部13は、第1言語から第2言語への方向を有する対訳辞書に含まれる第1言語のi番目の単語と、ステップS206で特定した第1言語のm番目の単語とが等しいかどうか判断する。そして、等しい場合には、ステップS211に進み、そうでない場合には、ステップS209に進む。
(ステップS209)三言語対訳情報生成部13は、カウンタmを1だけインクリメントする。
(ステップS210)三言語対訳情報生成部13は、ステップS206で特定した第1言語の単語に、m番目の単語が存在するかどうか判断する。そして、存在する場合には、ステップS208に戻り、そうでない場合には、ステップS212に進む。
(ステップS211)三言語対訳情報生成部13は、第1言語から第2言語への方向を有する対訳辞書に含まれる第1言語のi番目の単語と、ステップS202で特定した第2言語のj番目の単語と、ステップS204で特定した第3言語のk番目の単語を含む三言語対訳情報を生成する。この生成された三言語対訳情報は、例えば、図示しない記録媒体において一時的に記憶されてもよい。
(ステップS212)三言語対訳情報生成部13は、カウンタkを1だけインクリメントする。
(ステップS213)三言語対訳情報生成部13は、ステップS204で特定した第3言語の単語に、k番目の単語が存在するかどうか判断する。そして、存在する場合には、ステップS206に戻り、そうでない場合には、ステップS214に進む。
(ステップS214)三言語対訳情報生成部13は、カウンタjを1だけインクリメントする。
(ステップS215)三言語対訳情報生成部13は、ステップS202で特定した第2言語の単語に、j番目の単語が存在するかどうか判断する。そして、存在する場合には、ステップS204に戻り、そうでない場合には、ステップS216に進む。
(ステップS216)三言語対訳情報生成部13は、カウンタiを1だけインクリメントする。
(ステップS217)三言語対訳情報生成部13は、第1言語から第2言語への方向を有する対訳辞書に、i番目の第1言語の単語が存在するかどうか判断する。そして、存在する場合には、ステップS202に戻り、そうでない場合には、図4のフローチャートに戻る。
図6は、図4のフローチャートにおけるパラレルのパスを用いて三言語対訳情報の生成を行う処理(ステップS108の処理)の詳細を示すフローチャートである。なお、前述のように、パラレルのパスが設定されているため、対訳辞書記憶部11では、第1言語から第2言語への方向を有する対訳辞書と、第1言語から第3言語への方向を有する対訳辞書と、第2言語から第3言語への方向を有する対訳辞書とが少なくとも記憶されるものとする。また、パス設定部12が設定したパスは、図3で示されるものであるとする。
(ステップS301)三言語対訳情報生成部13は、カウンタiを1に設定する。
(ステップS302)三言語対訳情報生成部13は、第1言語から第2言語への方向を有する対訳辞書を用いて、その対訳辞書に含まれる第1言語のi番目の単語と対訳関係にある第2言語の1以上の単語を特定する。この特定された第2言語の1以上の単語は、図示しない記録媒体等において一時的に保持されてもよく、あるいは、対訳辞書において特定された単語にフラグ等が付加されてもよい。
(ステップS303)三言語対訳情報生成部13は、第1言語から第3言語への方向を有する対訳辞書を用いて、第1言語から第2言語への方向を有する対訳辞書に含まれる第1言語のi番目の単語と対訳関係にある第3言語の1以上の単語を特定する。この特定された第3言語の1以上の単語は、図示しない記録媒体等において一時的に保持されてもよく、あるいは、対訳辞書において特定された単語にフラグ等が付加されてもよい。
(ステップS304)三言語対訳情報生成部13は、カウンタjを1に設定する。
(ステップS305)三言語対訳情報生成部13は、第2言語から第3言語への方向を有する対訳辞書を用いて、ステップS302で特定した第2言語のj番目の単語と対訳関係にある第3言語の1以上の単語を特定する。この特定された第3言語の1以上の単語は、図示しない記録媒体等において一時的に保持されてもよく、あるいは、対訳辞書において特定された単語にフラグ等が付加されてもよい。
(ステップS306)三言語対訳情報生成部13は、カウンタkを1に設定する。
(ステップS307)三言語対訳情報生成部13は、ステップS305で特定した第3言語のk番目の単語が、ステップS303で特定した第3言語の1以上の単語の集合に含まれるかどうか判断する。そして、含まれる場合には、ステップS308に進み、そうでない場合には、ステップS309に進む。
(ステップS308)三言語対訳情報生成部13は、第1言語から第2言語への方向を有する対訳辞書に含まれる第1言語のi番目の単語と、ステップS302で特定した第2言語のj番目の単語と、ステップS305で特定した第3言語のk番目の単語を含む三言語対訳情報を生成する。この生成された三言語対訳情報は、例えば、図示しない記録媒体において一時的に記憶されてもよい。
(ステップS309)三言語対訳情報生成部13は、カウンタkを1だけインクリメントする。
(ステップS310)三言語対訳情報生成部13は、ステップS305で特定した第3言語の単語に、k番目の単語が存在するかどうか判断する。そして、存在する場合には、ステップS307に戻り、そうでない場合には、ステップS311に進む。
(ステップS311)三言語対訳情報生成部13は、カウンタjを1だけインクリメントする。
(ステップS312)三言語対訳情報生成部13は、ステップS302で特定した第2言語の単語に、j番目の単語が存在するかどうか判断する。そして、存在する場合には、ステップS305に戻り、そうでない場合には、ステップS313に進む。
(ステップS313)三言語対訳情報生成部13は、カウンタiを1だけインクリメントする。
(ステップS314)三言語対訳情報生成部13は、第1言語から第2言語への方向を有する対訳辞書に、i番目の第1言語の単語が存在するかどうか判断する。そして、存在する場合には、ステップS302に戻り、そうでない場合には、図4のフローチャートに戻る。
なお、ステップS307において、上記説明の処理に代えて、次の処理が行われてもよい。すなわち、三言語対訳情報生成部13は、ステップS303で特定した第3言語のk番目の単語が、ステップS305で特定した第3言語の1以上の単語の集合に含まれるかどうか判断してもよい。そして、含まれる場合には、ステップS308に進み、そうでない場合には、ステップS309に進む。この場合には、ステップS308において、三言語対訳情報生成部13は、第1言語から第2言語への方向を有する対訳辞書に含まれる第1言語のi番目の単語と、ステップS302で特定した第2言語のj番目の単語と、ステップS303で特定した第3言語のk番目の単語を含む三言語対訳情報を生成することになる。
図7は、図4のフローチャートにおける三言語対訳情報を併合する処理(ステップS111の処理)の詳細を示すフローチャートである。なお、前述のように、三言語対訳情報生成部13は、三言語対訳情報を生成する処理を2回以上行っており、その処理で生成された2以上の三言語対訳情報が図示しない記録媒体で記憶されているものとする。また、併合後の三言語対訳情報が一時的に記憶される記録媒体が存在するものとする。
(ステップS401)三言語対訳情報生成部13は、カウンタiを1に設定する。
(ステップS402)三言語対訳情報生成部13は、図示しない記録媒体で記憶されているi番目の三言語対訳情報が、併合後の三言語対訳情報を一時的に記憶する記録媒体にすでに追加されているかどうか判断する。そして、すでに追加されている場合には、ステップS404に進み、そうでない場合には、ステップS403に進む。
(ステップS403)三言語対訳情報生成部13は、i番目の三言語対訳情報を、併合後の三言語対訳情報を一時的に記憶する記録媒体に追加する。
(ステップS404)三言語対訳情報生成部13は、カウンタiを1だけインクリメントする。
(ステップS405)三言語対訳情報生成部13は、i番目の三言語対訳情報が存在するかどうか判断する。そして、存在する場合には、ステップS402に戻り、そうでない場合には、図4のフローチャートに戻る。
次に、本実施の形態による対訳情報生成装置1の動作について、具体例を用いて説明する。この具体例において、対訳辞書記憶部11では、日英対訳辞書と、英独対訳辞書と、独日対訳辞書と、日独対訳辞書とが記憶されているものとする。なお、図8は、この具体例で用いられる日英対訳辞書の一例を示す図である。図8で示されるように、日英対訳辞書は、原言語の単語と、目的言語の単語とを含む組を複数有する情報である。例えば、原言語(日本語)の単語「空(そら)」と、目的言語(英語)の単語「sky、air、heaven」とが対応付けられている。したがって、この日英対訳辞書を用いることによって、日本語の単語「空」から、「空」と対訳関係にある英語の単語「sky」「air」「heaven」を取得することができる。
まず、対訳情報生成装置1のユーザが、キーボードやマウス等の入力デバイスを用いることによって、三言語対訳情報を生成する旨の指示を対訳情報生成装置1に入力したとする。すると、対訳情報生成装置1の三言語対訳情報生成部13は、その情報を受け付け、三言語対訳情報を生成する処理を開始すると判断する(ステップS101)。そして、パス設定部12に対して、パスを設定する旨の指示を出す。
ここで、パス設定部12は、図示しない記録媒体において、図9で示される情報を保持しているものとする。図9は、パスの種類と、対訳辞書の種類とを対応付けて有する情報である。例えば、パスの種類「ループ」に対しては、対訳辞書の種類「第1言語→第2言語、第2言語→第3言語、第3言語→第1言語」が対応付けられている。第i言語→第j言語は、第i言語から第j言語への方向を有する対訳辞書であるとする。したがって、パス設定部12は、対訳辞書記憶部11で記憶されている複数の対訳辞書を参照することにより、図9で示されるテーブルの「対訳辞書の種類」に該当する第1言語、第2言語、第3言語を決定する。この具体例では、パス設定部12によって、ループのパスについて、第1言語が日本語に決定され、第2言語が英語に決定され、第3言語がドイツ語に決定されたとする。また、パラレルのパスについても、第1言語が日本語に決定され、第2言語が英語に決定され、第3言語がドイツ語に決定されたとする。そして、パス設定部12は、図10で示されるように、パスの種類とパス特定情報とを対応付けて有する情報であるパス情報を構成し、図示しない記録媒体に蓄積する(ステップS102)。図10で示されるパス情報において、パス特定情報は、パスを特定する情報として、第1言語と、第2言語と、第3言語とを示す情報を含んでいる。ここでは、前述のように、ループもパラレルも、第1言語が日本語であり、第2言語が英語であり、第3言語がドイツ語であるとする。
その後、三言語対訳情報生成部13は、パスの設定がされていると判断し(ステップS103)、図10で示されるように、ループのパスの設定が存在するため、ループのパスに関する三言語対訳情報を生成する処理を実行する(ステップS105)。
具体的には、三言語対訳情報生成部13は、日英対訳辞書を用いて、日本語の1番目の単語「空」に対応する英語の1以上の単語「sky」「air」「heaven」を特定する(ステップS201,S202)。そして、その特定した英語の単語を図示しない記録媒体に蓄積する。
また、三言語対訳情報生成部13は、英独対訳辞書を用いて、特定した英語の1番目の単語「sky」に対応するドイツ語の1以上の単語「Himmel」「Firmament」を特定する(ステップS203,S204)。そして、その特定したドイツ語の単語を図示しない記録媒体に蓄積する。
また、三言語対訳情報生成部13は、独日対訳辞書を用いて、特定したドイツ語の1番目の単語「Himmel」に対応する日本語の1以上の単語「空」「天」「窮窿」「気候」…を特定する(ステップS205,S206)。そして、その特定した日本語の単語を図示しない記録媒体に蓄積する。
また、三言語対訳情報生成部13は、日英対訳辞書に含まれる1番目の単語「空」と、独日対訳辞書を用いて特定した日本語の1番目の単語「空」とが一致すると判断し(ステップS207,S208)、「空」「sky」「Himmel」を含む三言語対訳情報を生成する(ステップS211)。そして、その生成した三言語対訳情報を図示しない記録媒体に蓄積する。
このような処理をくり消して実行することにより、ループのパスを用いた三言語対訳情報の生成が行われていく(ステップS202〜S217)。図11は、そのようにしてループのパスから生成された複数の三言語対訳情報の一例を示す図である。なお、図10から明らかなように、ループのパスは1個しか存在しないため、パラレルのパスに関する三言語対訳情報の生成が行われることになる(ステップS106,S107,S108)。
具体的には、三言語対訳情報生成部13は、日英対訳辞書を用いて、日本語の1番目の単語「空」に対応する英語の1以上の単語「sky」「air」「heaven」を特定する(ステップS301,S302)。そして、その特定した英語の単語を図示しない記録媒体に蓄積する。
また、三言語対訳情報生成部13は、日独対訳辞書を用いて、日英対訳辞書の日本語の1番目の単語「空」に対応するドイツ語の1以上の単語「Himmel」「Firmament」「Luft」を特定する(ステップS303)。そして、その特定したドイツ語の単語を図示しない記録媒体に蓄積する。
また、三言語対訳情報生成部13は、英独対訳辞書を用いて、特定した英語の1番目の単語「sky」に対応するドイツ語の1以上の単語「Himmel」「Firmament」を特定する(ステップS304,S305)。そして、その特定したドイツ語の単語を図示しない記録媒体に蓄積する。
また、三言語対訳情報生成部13は、英独対訳辞書を用いて特定した1番目のドイツ語の単語「Himmel」が、日独対訳辞書を用いて特定したドイツ語の1以上の単語「Himmel」「Firmament」「Luft」に含まれると判断し(ステップS306,S307)、「空」「sky」「Himmel」を含む三言語対訳情報を生成する(ステップS308)。そして、その生成した三言語対訳情報を図示しない記録媒体に蓄積する。
このような処理をくり消して実行することにより、パラレルのパスを用いた三言語対訳情報の生成が行われていく(ステップS302〜S314)。図12は、そのようにしてパラレルのパスから生成された複数の三言語対訳情報の一例を示す図である。なお、図10から明らかなように、パラレルのパスは1個しか存在しないため(ステップS109)、三言語対訳情報を併合する処理が行われることになる(ステップS110,S111)。
具体的には、三言語対訳情報生成部13は、併合の処理を開始する前に、図11で示される三言語対訳情報と、図12で示される三言語対訳情報とを単に合わせた情報を構成する。そして、三言語対訳情報生成部13は、その合わせた後の情報の1番目の三言語対訳情報「空」「sky」「Himmel」が、まだ併合後の情報として追加されていないと判断し(ステップS401,S402)、その三言語対訳情報を併合後の情報に追加する(ステップS403)。その後も、同様の処理を繰り返して実行する(ステップS402〜S405)。そして、例えば、三言語対訳情報「空」「sky」「Himmel」が再度、出てきた場合には、三言語対訳情報生成部13は、併合後の情報を検索し、「空」「sky」「Himmel」がすでに含まれているため、すでに追加していると判断して、その三言語対訳情報を追加する処理を行わない(ステップS402)。このようにして、三言語対訳情報の併合が行われることになる。
その後に、三言語対訳情報出力部14は、併合後の三言語対訳情報を記録媒体15に蓄積する(ステップS112)。このようにして、三言語対訳情報が生成され、出力されることになる。
なお、本実施の形態では、三言語対訳情報を併合する処理と、三言語対訳情報を出力する処理を別の処理として説明したが、三言語対訳情報出力部14が、併合後の三言語対訳情報を直接、記録媒体15に蓄積してもよい。
ここで、本実施の形態による対訳情報生成装置1を用いて生成された三言語対訳情報について、抽出した三言語の単語の組のうち、どれだけが真に同義の組であるのかを示す適合率と、存在するはずの三言語の単語の組のうち、どれだけを抽出することができたかを示す再現率とについて説明する。
[適合率]
理論上は、対訳辞書から三言語対訳情報を生成したとしても、その三言語対訳情報に含まれる3個の単語に共通する意味の存在しないことがありうる。例えば、日本語の単語と、英語の単語と、ドイツ語の単語が三言語対訳情報に含まれる場合に、その日本語の単語が意味1と、意味2を有しており、英語の単語が意味2と、意味3を有しており、ドイツ語の単語が意味3と、意味1を有している場合でも、本実施の形態による対訳情報生成装置1は、その三個の単語を有する三言語対訳情報を生成する可能性がある。しかしながら、その場合には、その三言語対訳情報に含まれる3個の単語に共通する意味が存在しないことになる。
評価実験において、日英対訳辞書、日独対訳辞書、英独対訳辞書を用いて生成された35000組の三言語対訳情報から、ランダムに抽出した100組に関して評価を行った。その結果、共通の意味を持たない三言語対訳情報は、0という結果であった。このように、本実施の形態による三言語対訳情報の生成方法では、高い適合率の得られることが分かる。
[再現率]
共通の意味を持つ三言語の3個の単語があり、対訳辞書に各単語が必ず含まれているとすると、その3個の単語の各ペアの間には対訳関係が成立することになる。したがって、その場合には、その3個の単語がループやパラレルのパスでむすばれることになるため、その3個の単語を含む三言語対訳情報が生成されることになる。したがって、本実施の形態による三言語対訳情報の生成方法では、高い再現率の得られることが分かる。
以上のように、本実施の形態による対訳情報生成装置1によれば、二言語間の対訳関係にある単語を対応付ける情報である対訳辞書を用いて、同義の三言語の単語を含む三言語対訳情報を生成することができる。そして、その三言語対訳情報を、各種の処理で用いることができうる。
なお、本実施の形態において、ループのパスのみ、あるいは、パラレルのパスのみを用いて三言語対訳情報の生成を行ってもよいことは言うまでもない。さらに、あらかじめパスが決められており、それ以外のパスを設定することがあり得ないような場合には、対訳情報生成装置1はパス設定部12を備えず、三言語対訳情報生成部13は、そのあらかじめ決められたパスを用いた三言語対訳情報の生成を行ってもよい。
ここで、対訳情報生成装置1によって生成された三言語対訳情報の利用について簡単に説明する。
[直列的な二言語間の機械翻訳での利用]
二言語間での機械翻訳を直列的に用いることにより、例えば、第1言語から第3言語への機械翻訳が存在しなかったとしても、第1言語から第2言語に機械翻訳し、第2言語から第3言語に機械翻訳することにより、第1言語から第3言語に機械翻訳することができる。しかしながら、第1言語から第2言語への機械翻訳と、第2言語から第3言語への機械翻訳とを行うことによって、第1言語での単語の意味が変化してしまうことがある。
例えば、日本語の単語「過ち」が、英語の単語「fault」に機械翻訳され、その英語の単語「fault」がドイツ語の単語「Schuld」に機械翻訳された場合について考える。ここで、ドイツ語の単語「Schuld」は、責任という意味である。この場合に、三言語対訳情報「過ち、fault、Fehler」が生成されている場合には、直列的な機械翻訳の際に、ドイツ語の単語「Schuld」を「Fehler」に置換することができうる。そのようにすることで、機械翻訳を直列的に用いた場合でも、意味がドリフトしてしまう事態を回避することができうる。
[折り返し翻訳での利用]
二言語間での機械翻訳を直列的に用いると共に、反対方向にも用いることによって、折り返し翻訳を行うことができる。この折り返し翻訳は、例えば、それぞれ別の言語を話す二人の人が機械翻訳を介して会話するような場合に行われる。例えば、第1言語から第2言語に機械翻訳され、さらに第2言語から第3言語に機械翻訳される。その後に、第3言語から第2言語に機械翻訳され、さらに第2言語から第1言語に機械翻訳される。その場合に、第1言語から第3言語への方向での機械翻訳と、第3言語から第1言語への方向での機械翻訳において、ある単語が別の単語に折り返し翻訳される場合がある。
例えば、日本語の単語「空」が、英語の単語「sky」に機械翻訳され、その英語の単語「sky」がドイツ語の単語「Himmel」に機械翻訳されたとする。その後、ドイツ語の単語「Himmel」が英語の単語「heaven」に機械翻訳され、その英語の単語「heaven」が日本語の単語「天国」に機械翻訳されたとする。この場合には、日本語の単語「空」が折り返し翻訳後に「天国」になっている。この場合でも、三言語対訳情報「空、sky、Himmel」を用いることによって、第3言語から第1言語への機械翻訳の際に、ドイツ語の単語「Himmel」が英語の単語「sky」に機械翻訳され、その英語の単語「sky」が日本語の単語「空」に機械翻訳されるようにすることができうる。
[異なる言語の同義語辞書としての利用]
対訳情報生成装置1の生成した三言語対訳情報は、異なる三言語の同義語辞書として用いることができる。例えば、日本語と英語を理解しうるユーザが、英独辞書を用いて、英語の単語「fault」とドイツ語の単語「Fehler」との対応を見ただけでは、ドイツ語の単語「Fehler」が「責任」の意味であるのか、「失敗」の意味であるのかがはっきりしないことになる。一方、そのユーザが、日本語の単語「過ち」と、英語の単語「fault」と、ドイツ語の単語「Fehler」とを含む三言語対訳情報を見ることによって、ドイツ語の単語「Fehler」は、「失敗」の意味を有することが分かりうる。
なお、三言語対訳情報がこれら以外に用いられてもよいことは言うまでもない。また、後述する実施の形態においては、N言語対訳情報が出てくるが、そのN言語対訳情報も、上記説明と同様に、直列的な二言語間の機械翻訳等において利用することができうる。なお、N言語対訳情報の場合には、例えば、直列的な機械翻訳であれば、二言語間の機械翻訳を用いたN言語間の直列的な機械翻訳に、N言語対訳情報が用いられることになりうる。
(実施の形態2)
本発明の実施の形態2による対訳情報生成装置について、図面を参照しながら説明する。本実地の形態による対訳情報生成装置は、三言語対訳情報からN言語対訳情報(Nは4以上の整数である)を生成するものである。
図13は、本実施の形態による対訳情報生成装置2の構成を示すブロック図である。本実施の形態による対訳情報生成装置2は、対訳辞書記憶部11と、パス設定部12と、三言語対訳情報生成部13と、三言語対訳情報出力部14と、N言語対訳情報生成部21と、N言語対訳情報出力部22とを備える。なお、N言語対訳情報生成部21、N言語対訳情報出力部22以外の構成及び動作は、実施の形態1と同様であり、その説明を省略する。ただし、対訳辞書記憶部11では、4種以上の言語における二言語間をむすぶ4種以上の対訳辞書が記憶されるものとする。なお、本実施の形態においても、三言語対訳情報出力部14は、三言語対訳情報を記録媒体15に蓄積するものとする。
N言語対訳情報生成部21は、三言語対訳情報出力部14が出力した2種以上の三言語対訳情報を用いて、同一である少なくとも二言語の単語が一致している2以上の三言語対訳情報を併合して、N言語以上の単語の組であるN言語対訳情報(Nは4以上の整数である)を生成する。N言語対訳情報生成部21は、例えば、第1言語、第2言語、第3言語の各単語の組である三言語対訳情報(これを第1の三言語対訳情報と呼ぶことにする)と、第1言語、第2言語、第4言語の各単語の組である三言語対訳情報(これを第2の三言語対訳情報と呼ぶことにする)とが三言語対訳情報出力部14によって出力された場合に、第1言語の単語と第2言語の単語の共通している第1の三言語対応情報と、第2の三言語対応情報とを合わせることによって、その共通する第1言語の単語と、第2言語の単語と、その第1の三言語対応情報に含まれる第3言語の単語と、その第2の三言語対応情報に含まれる第4言語の単語とを含む四言語対訳情報を生成してもよい。
N言語対訳情報出力部22は、N言語対訳情報生成部21が生成したN言語対訳情報を出力する。ここで、この出力は、例えば、表示デバイス(例えば、CRTや液晶ディスプレイなど)への表示でもよく、所定の機器への通信回線を介した送信でもよく、プリンタによる印刷でもよく、記録媒体への蓄積でもよく、他の構成要素への引き渡しでもよい。本実施の形態では、N言語対訳情報出力部22は、N言語対訳情報を記録媒体23に蓄積するものとする。なお、N言語対訳情報出力部22は、出力を行うデバイス(例えば、表示デバイスやプリンタなど)を含んでもよく、あるいは含まなくてもよい。また、N言語対訳情報出力部22は、ハードウェアによって実現されてもよく、あるいは、それらのデバイスを駆動するドライバ等のソフトウェアによって実現されてもよい。
なお、対訳辞書記憶部11と、記録媒体15と、記録媒体23とは、同一の記録媒体によって実現されてもよく、あるいは、別々の記録媒体によって実現されてもよい。後者の場合には、例えば、対訳辞書を記憶している領域が対訳辞書記憶部11となり、三言語対訳情報を記憶している領域が記録媒体15となり、N言語対訳情報を記憶している領域が記録媒体23となる。
次に、本実施の形態による対訳情報生成装置2の動作について、図14のフローチャートを用いて説明する。
(ステップS501)三言語対訳情報生成部13は、三言語対訳情報を生成する処理を開始するかどうか判断する。そして、開始する場合には、ステップS502に進み、そうでない場合には、開始すると判断するまでステップS501の処理を繰り返す。なお、三言語対訳情報生成部13は、例えば、対訳情報生成装置2が、N言語対訳情報の生成を開始する旨のユーザ等からの指示を受け付けた場合に、三言語対訳情報の生成を開始すると判断してもよい。
(ステップS502)三言語対訳情報生成部13等は、三言語対訳情報を生成し、出力する処理を行う。この処理は、図4のフローチャートにおけるステップS102〜S112の処理と同様であり、その説明を省略する。なお、本実施の形態では、複数の種類の三言語対訳情報を用いることによってN言語対訳情報を生成するため、三言語対訳情報生成部13は、2種以上の三言語対訳情報を生成するものとする。例えば、三言語対訳情報生成部13は、第1言語の単語と、第2言語の単語と、第3言語の単語との組である1番目の種類の三言語対訳情報と、第1言語の単語と、第2言語の単語と、第4言語の単語との組である2番目の種類の三言語対訳情報とを生成してもよい。ここで、三言語対訳情報の「種類」は、その三言語対訳情報が有する単語の言語の組によって決められるものとする。したがって、前述のように、第1言語の単語と、第2言語の単語と、第3言語の単語との組である三言語対訳情報と、第1言語の単語と、第2言語の単語と、第4言語の単語との組である三言語対訳情報とは、単語の言語の組が、(第1言語、第2言語、第3言語)と、(第1言語、第2言語、第4言語)というように異なっているため、両三言語対訳情報の種類は異なることになる。なお、対訳辞書記憶部11では、このような2種以上の三言語対訳情報を生成することができるだけの対訳辞書が記憶されているものとする。
(ステップS503)N言語対訳情報生成部21、N言語対訳情報出力部22は、N言語対訳情報を生成し、出力する処理を行う。そして、ステップS501に戻る。この処理の詳細については、図15のフローチャートを用いて後述する。
なお、図14のフローチャートにおいて、電源オフや処理終了の割り込みにより処理は終了する。
図15は、図14のフローチャートにおけるN言語対訳情報の生成、出力を行う処理(ステップS503の処理)の詳細を示すフローチャートである。なお、前述のように、複数種類の三言語対訳情報が生成され、記録媒体15で記憶されているものとする。
(ステップS601)N言語対訳情報生成部21は、2個の言語が共通する2種以上の三言語対訳情報が記録媒体15に存在するかどうか判断する。そして、存在する場合には、ステップS602に進み、そうでない場合には、N言語対訳情報を生成することはできないため、図14のフローチャートに戻る。例えば、第1言語の単語と第2言語の単語と第3言語の単語との組である1番目の種類の三言語対訳情報と、第1言語の単語と第2言語の単語と第4言語の単語との組である2番目の種類の三言語対訳情報とが記録媒体15で記憶されている場合に、N言語対訳情報生成部21は、両種類の三言語対訳情報において第1言語と第2言語が共通しているため、2個の言語が共通する2種以上の三言語対訳情報が記録媒体15に存在すると判断する。一方、例えば、第1言語の単語と第2言語の単語と第3言語の単語との組である1番目の種類の三言語対訳情報と、第1言語の単語と第4言語の単語と第5言語の単語との組である2番目の種類の三言語対訳情報とが記録媒体15で記憶されている場合に、N言語対訳情報生成部21は、両種類の三言語対訳情報において第1言語が共通しているだけであるため、2個の言語が共通する2種以上の三言語対訳情報が記録媒体15に存在しないと判断する。
(ステップS602)N言語対訳情報生成部21は、カウンタiを1に設定する。
(ステップS603)N言語対訳情報生成部21は、2個の言語が共通する2種以上の三言語対訳情報のうち、1番目の種類のi番目の三言語対訳情報において、他の種類の三言語対訳情報と共通している言語の2個の単語を特定する。この特定された2個の単語は、図示しない記録媒体等において一時的に保持されてもよく、あるいは、三言語対訳情報において特定された単語にフラグ等が付加されてもよい。
(ステップS604)N言語対訳情報生成部21は、カウンタjを2に設定する。
(ステップS605)N言語対訳情報生成部21は、カウンタkを1に設定する。
(ステップS606)N言語対訳情報生成部21は、2個の言語が共通する2種以上の三言語対訳情報のうち、j番目の種類のk番目の三言語対訳情報が、ステップS603で特定した2個の単語を有するかどうか判断する。そして、有する場合には、ステップS607に進み、そうでない場合には、ステップS608に進む。
(ステップS607)N言語対訳情報生成部21は、2個の言語が共通する2種以上の三言語対訳情報のうち、j番目の種類のk番目の三言語対訳情報において、ステップS603で特定した2個の単語と共通しない単語を図示しない記録媒体で一時的に記憶する。
(ステップS608)N言語対訳情報生成部21は、カウンタkを1だけインクリメントする。
(ステップS609)N言語対訳情報生成部21は、2個の言語が共通する2種以上の三言語対訳情報のうち、j番目の種類のk番目の三言語対訳情報が記録媒体15に存在するかどうか判断する。そして、存在する場合には、ステップS606に戻り、存在しない場合には、ステップS610に進む。
(ステップS610)N言語対訳情報生成部21は、カウンタjを1だけインクリメントする。
(ステップS611)N言語対訳情報生成部21は、2個の言語が共通する2種以上の三言語対訳情報に、j番目の種類の三言語対訳情報が存在するかどうか判断する。そして、存在する場合には、ステップS605に戻り、存在しない場合には、ステップS612に進む。
(ステップS612)N言語対訳情報生成部21は、N言語対訳情報を生成する。具体的には、2個の言語が共通する2種以上の三言語対訳情報のうち、1番目の種類のi番目の三言語対訳情報に含まれる3個の単語と、ステップS607で一時記憶された、各種類の三言語対訳情報に含まれていた単語とを含むN言語対訳情報を生成する。
例えば、1番目の種類のi番目の三言語対訳情報に含まれる3個の単語が、単語1−1,単語2−1,単語3−1であり、ステップS607で一時記憶された、2番目の種類の三言語対訳情報に含まれていた単語が単語4−1であり、ステップS607で一時記憶された、3番目の種類の三言語対訳情報に含まれていた単語が単語5−1である場合には、N言語対訳情報生成部21は、単語1−1,単語2−1,単語3−1,単語4−1,単語5−1を含む五言語対訳情報を生成する。なお、ステップS607で一時記憶された、2番目の種類の三言語対訳情報に含まれていた単語が複数個である場合、すなわち、単語4−1,単語4−2がステップS607で一時記憶された場合には、その各単語を有するN言語対訳情報(この例では、五言語対訳情報)が構成されることになる。具体的には、N言語対訳情報生成部21は、単語1−1,単語2−1,単語3−1,単語4−1,単語5−1を含む五言語対訳情報と、単語1−1,単語2−1,単語3−1,単語4−2,単語5−1を含む五言語対訳情報とを生成する。
なお、2個の言語が共通する三言語対訳情報が3種以上存在した場合であって、ステップS607で一時記憶された、2番目の種類の三言語対訳情報に含まれていた単語は存在するが、ステップS607で一時記憶された、3番目の種類の三言語対訳情報に含まれていた単語が存在しない場合には、N言語対訳情報生成部21は、四言語対訳情報を生成してもよく、あるいは、四言語対訳情報を生成しなくてもよい。前者の場合には、N言語対訳情報生成部21は、2個の言語が共通する三言語対訳情報がN種存在した場合に、N言語対訳情報と、K言語対訳情報(Kは4以上でありN未満である整数)とを生成することになる。後者の場合には、N言語対訳情報生成部21は、2個の言語が共通する三言語対訳情報がN種存在した場合に、N言語対訳情報のみを生成することになる。N言語対訳情報生成部21がN言語対訳情報を生成した後に、ステップS607で一時記憶された単語がクリアされてもよい。
(ステップS613)N言語対訳情報生成部21は、カウンタiを1だけインクリメントする。
(ステップS614)N言語対訳情報生成部21は、2個の言語が共通する2種以上の三言語対訳情報のうち、1番目の種類のi番目の三言語対訳情報が存在するかどうか判断する。そして、存在する場合には、ステップS603に戻り、存在しない場合には、ステップS615に進む。
(ステップS615)N言語対訳情報出力部22は、N言語対訳情報生成部21が生成したN言語対訳情報を出力する。そして、図14のフローチャートに戻る。
次に、本実施の形態による対訳情報生成装置2の動作について、具体例を用いて説明する。なお、この具体例において、三言語対訳情報が生成され、出力されるまでの動作は、実施の形態1の具体例と同様であり、その説明を省略する。ここでは、図11で示される三言語対訳情報と、図16で示される三言語対訳情報とが生成され、記録媒体15で記憶されているものとする。図11の三言語対訳情報は、日本語、英語、ドイツ語の単語の組を有するものである。図12の三言語対訳情報は、日本語、英語、フランス語の単語の組を有するものである。
N言語対訳情報が生成され、出力される処理(ステップS503)が開始されたとする。すると、N言語対訳情報生成部21は、日本語と英語が共通する2種以上の三言語対訳情報が記録媒体15で記憶されていると判断し(ステップS601)、1番目の種類の1番目の三言語対訳情報、すなわち、図11の1番目のレコードの三言語対訳情報において、他の種類の三言語対訳情報(図16で示されるもの)と共通している言語である日本語と英語の2個の単語「空」「sky」を特定し、図示しない記録媒体に蓄積する(ステップS602,S603)。
次に、N言語対訳情報生成部21は、2番目の種類の1番目の三言語対訳情報、すなわち、図16の1番目のレコードの三言語対訳情報が、特定した2個の単語「空」「sky」を有すると判断し(ステップS604〜S606)、その特定した2個の単語と共通しない単語である「ciel」を図示しない記録媒体で一時的に記憶する(ステップS607)。同様の処理が2番目の種類のすべての三言語対訳情報に対して実行されると(ステップS605〜S611)、N言語対訳情報生成部21は、N言語対訳情報を生成する(ステップS612)。具体的には、N言語対訳情報生成部21は、図17で示されるように、「空」「sky」の共通する1番目の種類の三言語対訳情報、すなわち、日英独の三言語対訳情報の3個の単語と、2番目の種類の三言語対訳情報、すなわち、日英仏の三言語対訳情報に含まれる単語であって、一時的に記憶されている「ciel」とを含む日英独仏の四言語対訳情報を生成する。この生成された四言語対訳情報は、図示しない記録媒体において一時的に記憶されるものとする。その後、図11の三言語対訳情報において、2番目以降のレコードについても同様の処理が実行される(ステップS603〜S614)。そして、四言語対訳情報「空,sky,Himmel,ciel」を含む1以上の四言語対訳情報が記録媒体23に蓄積される(ステップS615)。
以上のように、本実施の形態による対訳情報生成装置2によれば、三言語対訳情報を用いて、N言語対訳情報(Nは4以上の整数)を生成し、出力することができる。そして、そのN言語対訳情報を、各種の処理に用いることができうる。
なお、本実施の形態では、図18,図19で示されるように、2種類の2個の三言語対訳情報において、第1言語の単語と、第2言語の単語が一致しているのであれば、両三言語対訳情報に含まれる第1言語の単語、第2言語の単語、第3言語の単語、第4言語の単語の組である四言語対訳情報を構成する場合について説明したが、そうでなくてもよい。例えば、図18で示されるように、2種類の三言語対訳情報において、共通する言語の単語が、同じ二言語の対訳辞書(図18では、第1言語から第2言語への方向を有する対訳辞書)によって対応付けられている場合には、両者を用いた四言語対訳情報の生成を行い、図19で示されるように、2種類の三言語対訳情報において、共通する言語の単語が、異なる二言語の対訳辞書(図19では、第1言語から第2言語への方向を有する対訳辞書と、第2言語から第1言語への方向を有する対訳辞書)によって対応付けられている場合には、両者を用いた四言語対訳情報の生成を行わなくてもよい。図18,図19では、パスがループである場合についてのみ示しているが、パスがパラレルの場合にも同様で合ってもよい。また、Nが5以上の整数であるN言語対訳情報を生成する場合にも同様であってもよい。
(実施の形態3)
本発明の実施の形態3による対訳情報生成装置について、図面を参照しながら説明する。本実地の形態による対訳情報生成装置は、二言語間の単語を対応付ける対訳辞書を用いて、N言語対訳情報を生成するものである。ただし、Nは3以上の整数であり、N=3の場合には、本実施の形態による対訳情報生成装置は、実施の形態1による対訳情報生成装置1と同様のものになるものとする。
図20は、本実施の形態による対訳情報生成装置3の構成を示すブロック図である。本実施の形態による対訳情報生成装置3は、対訳辞書記憶部31と、パス設定部32と、N言語対訳情報生成部33と、N言語対訳情報出力部34とを備える。
対訳辞書記憶部31では、実施の形態1による対訳辞書記憶部11と同様に、二言語間の単語を対応付ける情報である対訳辞書が記憶される。なお、対訳辞書記憶部31では、第i言語と第(i+1)言語とをむすぶN種以上の対訳辞書が記憶されるものとする。ここで、iは1からNまでの整数であり、第(N+1)言語は、第1言語であるとする。例えば、N=5の場合には、対訳辞書記憶部31では、第1言語と第2言語とを対応付ける対訳辞書と、第2言語と第3言語とを対応付ける対訳辞書と、第3言語と第4言語とを対応付ける対訳辞書と、第4言語と第5言語とを対応付ける対訳辞書と、第5言語と第1言語とを対応付ける対訳辞書とが記憶される。
対訳辞書記憶部31に複数の対訳辞書が記憶される過程は問わない。例えば、記録媒体を介して複数の対訳辞書が対訳辞書記憶部31で記憶されるようになってもよく、通信回線等を介して送信された複数の対訳辞書が対訳辞書記憶部31で記憶されるようになってもよく、あるいは、入力デバイスを介して入力された複数の対訳辞書が対訳辞書記憶部31で記憶されるようになってもよい。対訳辞書記憶部31での記憶は、RAM等における一時的な記憶でもよく、あるいは、長期的な記憶でもよい。対訳辞書記憶部31は、所定の記録媒体(例えば、半導体メモリや磁気ディスク、光ディスクなど)によって実現されうる。
パス設定部32は、第i言語と第(i+1)言語とが少なくともいずれかの方向でむすばれるように、言語間のパスを設定する。ただし、前述のように、iは1からNまでの整数であり、第(N+1)言語は、第1言語であるとする。
このパスは、実施の形態1で説明したのと同様に、ループのパスであってもよく、パラレルのパスであってもよい。Nが4以上の整数である場合におけるループのパスは、図21で示されるように、各言語の単語が、その単語が原言語となる対訳辞書と、その単語が目的言語となる対訳辞書とによって、他の言語の単語とむすばれるパスとなる。一方、Nが4以上の整数である場合におけるパラレルのパスは、図22で示されるように、ある言語の単語(図22では、第2言語の単語と第4言語の単語)は、その単語が原言語となる対訳辞書と、その単語が目的言語となる対訳辞書とによって他の言語の単語とむすばれ、別の言語の単語(図22では、第1言語の単語)は、その言語が原言語となる対訳辞書のみによって他の言語の単語とむすばれ、別の言語の単語(図22では、第3言語の単語)は、その言語が目的言語となる対訳辞書のみによって他の言語の単語とむすばれるパスとなる。なお、パス設定部32がパスを設定する方法は、三言語間でのパスの設定が、N言語間でのパスの設定となった以外、実施の形態1のパス設定部12によるパスの設定と同様であるものとする。
N言語対訳情報生成部33は、第1言語の単語から第N言語の単語におけるすべての隣接する二言語間の単語の組が、対訳辞書記憶部31で記憶されている対訳辞書によってむすばれる関係にある第1言語の単語から第N言語の単語までの組であるN言語対訳情報を生成する。すなわち、N言語対訳情報には、第1言語の単語、第2言語の単語、…、第(N−1)言語の単語、第N言語の単語が含まれることになる。隣接する二言語とは、第i言語と、第(i+1)言語との二言語のことである。ここでも、前述のように、iは、1からNまでの整数であり、第(N+1)言語は、第1言語であるとする。なお、このN言語対訳情報の生成も、実施の形態1の三言語対訳情報生成部13と同様にして行うことができる。
N言語対訳情報出力部34は、N言語対訳情報生成部33が生成したN言語対訳情報を出力する。ここで、この出力は、例えば、表示デバイス(例えば、CRTや液晶ディスプレイなど)への表示でもよく、所定の機器への通信回線を介した送信でもよく、プリンタによる印刷でもよく、記録媒体への蓄積でもよく、他の構成要素への引き渡しでもよい。本実施の形態では、N言語対訳情報出力部34は、三言語対訳情報を記録媒体35に蓄積するものとする。なおN言語対訳情報出力部34は、出力を行うデバイス(例えば、表示デバイスやプリンタなど)を含んでもよく、あるいは含まなくてもよい。また、N言語対訳情報出力部34は、ハードウェアによって実現されてもよく、あるいは、それらのデバイスを駆動するドライバ等のソフトウェアによって実現されてもよい。
なお、対訳辞書記憶部31と、記録媒体35とは、同一の記録媒体によって実現されてもよく、あるいは、別々の記録媒体によって実現されてもよい。後者の場合には、対訳辞書を記憶している領域が対訳辞書記憶部31となり、三言語対訳情報を記憶している領域が記録媒体35となる。
図23は、本実施の形態による対訳情報生成装置3の動作を示すフローチャートである。図23のフローチャートは、三言語対訳情報の代わりに、N言語対訳情報を生成し、出力する以外、実施の形態1の図4のフローチャートと同様であり、その説明を省略する。例えば、ステップS705や、ステップS708においても、実施の形態1の図5,図6のフローチャートと同様にして、ルートのパスの場合、パラレルのパスの場合のN言語対訳情報が生成されるものとする。
また、本実施の形態による対訳情報生成装置3の動作の具体例についても、三言語対訳情報の生成が、N言語対訳情報の生成となった以外、実施の形態1の具体例と同様のものであり、その説明を省略する。
以上のように、本実施の形態による対訳情報生成装置3によれば、二言語間の対訳関係にある単語を対応付ける対訳辞書から、直接、N言語対訳情報を生成することができうる。そして、そのN言語対訳情報を、各種の処理に用いることができうる。
なお、本実施の形態において、ループのパスのみ、あるいは、パラレルのパスのみを用いてN言語対訳情報の生成を行ってもよいことは言うまでもない。さらに、あらかじめパスが決められており、それ以外のパスを設定することがあり得ないような場合には、対訳情報生成装置3はパス設定部32を備えず、N言語対訳情報生成部33は、そのあらかじめ決められたパスを用いたN言語対訳情報の生成を行ってもよい。
また、上記各実施の形態で示した具体的なデータ等は、処理内容等の説明のために例示したものであって、状況によって異なりうるものであることは言うまでもない。例えば、異なる対訳辞書を用いることによって、上記説明とは異なる三言語対訳情報やN言語対訳情報が生成されることがありうる。
また、上記各実施の形態では、対訳情報生成装置1,2,3がスタンドアロンである場合について説明したが、対訳情報生成装置1,2,3は、スタンドアロンの装置であってもよく、サーバ・クライアントシステムにおけるサーバ装置であってもよい。後者の場合には、出力部等は、通信回線を介して情報を出力してもよい。
また、上記各実施の形態において、各処理または各機能は、単一の装置または単一のシステムによって集中処理されることによって実現されてもよく、あるいは、複数の装置または複数のシステムによって分散処理されることによって実現されてもよい。
また、上記各実施の形態において、各構成要素が実行する処理に関係する情報、例えば、各構成要素が受け付けたり、取得したり、選択したり、生成したり、送信したり、受信したりした情報や、各構成要素が処理で用いるしきい値や数式、アドレス等の情報等は、上記説明で明記していない場合であっても、図示しない記録媒体において、一時的に、あるいは長期にわたって保持されていてもよい。また、その図示しない記録媒体への情報の蓄積を、各構成要素、あるいは、図示しない蓄積部が行ってもよい。また、その図示しない記録媒体からの情報の読み出しを、各構成要素、あるいは、図示しない読み出し部が行ってもよい。
また、上記各実施の形態において、各構成要素等で用いられる情報、例えば、各構成要素が処理で用いるしきい値やアドレス、各種の設定値等の情報がユーザによって変更されてもよい場合には、上記説明で明記していない場合であっても、ユーザが適宜、それらの情報を変更できるようにしてもよく、あるいは、そうでなくてもよい。それらの情報をユーザが変更可能な場合には、その変更は、例えば、ユーザからの変更指示を受け付ける図示しない受付部と、その変更指示に応じて情報を変更する図示しない変更部とによって実現されてもよい。その図示しない受付部による変更指示の受け付けは、例えば、入力デバイスからの受け付けでもよく、通信回線を介して送信された情報の受信でもよく、所定の記録媒体から読み出された情報の受け付けでもよい。
また、上記各実施の形態において、対訳情報生成装置1,2,3に含まれる2以上の構成要素が通信デバイスや入力デバイス等を有する場合に、2以上の構成要素が物理的に単一のデバイスを有してもよく、あるいは、別々のデバイスを有してもよい。
また、上記各実施の形態において、各構成要素は専用のハードウェアにより構成されてもよく、あるいは、ソフトウェアにより実現可能な構成要素については、プログラムを実行することによって実現されてもよい。例えば、ハードディスクや半導体メモリ等の記録媒体に記録されたソフトウェア・プログラムをCPU等のプログラム実行部が読み出して実行することによって、各構成要素が実現され得る。なお、上記実施の形態における対訳情報生成装置1を実現するソフトウェアは、以下のようなプログラムである。つまり、このプログラムは、コンピュータを、第1言語の単語、第2言語の単語、第3言語の単語におけるすべての二言語間の単語の組が、二言語間の単語を対応付ける情報である対訳辞書であって、第1言語、第2言語、第3言語におけるすべての二言語間をむすぶ3種以上の対訳辞書が記憶される対訳辞書記憶部で記憶されている対訳辞書によってむすばれる関係にある第1言語の単語、第2言語の単語、第3言語の単語の組である三言語対訳情報を生成する三言語対訳情報生成部と、前記三言語対訳情報生成部が生成した三言語対訳情報を出力する三言語対訳情報出力部として機能させるためのものである。
また、このプログラムにおいて、前記対訳辞書記憶部では、4種以上の言語における二言語間をむすぶ4種以上の対訳辞書が記憶されるものであり、前記三言語対訳情報生成部は、少なくとも二言語が同一である2種以上の三言語対訳情報を生成し、コンピュータを、前記三言語対訳情報出力部が出力した2種以上の三言語対訳情報を用いて、同一である少なくとも二言語の単語が一致している2以上の三言語対訳情報を併合して、N言語以上の単語の組であるN言語対訳情報(Nは4以上の整数である)を生成するN言語対訳情報生成部と、前記N言語対訳情報生成部が生成したN言語対訳情報を出力するN言語対訳情報出力部としてさらに機能させてもよい。このようにすることで、上記実施の形態における対訳情報生成装置2が実現されうることになる。
また、上記実施の形態における対訳情報生成装置3を実現するソフトウェアは、以下のようなプログラムである。つまり、このプログラムは、コンピュータを、第1言語の単語から第N言語(Nは3以上の整数である)の単語におけるすべての隣接する二言語間の単語の組が、二言語間の単語を対応付ける情報である対訳辞書であって、第i言語と第(i+1)言語(iは1からNまでの整数であり、第(N+1)言語は、第1言語である)とをむすぶN種以上の対訳辞書が記憶される対訳辞書記憶部で記憶されている対訳辞書によってむすばれる関係にある第1言語の単語から第N言語の単語の組であるN言語対訳情報を生成するN言語対訳情報生成部と、前記N言語対訳情報生成部が生成したN言語対訳情報を出力するN言語対訳情報出力部として機能させるためのものである。
なお、上記プログラムにおいて、上記プログラムが実現する機能には、ハードウェアでしか実現できない機能は含まれない。例えば、情報を出力する出力部などにおけるモデムやインターフェースカードなどのハードウェアでしか実現できない機能は、上記プログラムが実現する機能には少なくとも含まれない。
また、このプログラムは、サーバなどからダウンロードされることによって実行されてもよく、所定の記録媒体(例えば、CD−ROMなどの光ディスクや磁気ディスク、半導体メモリなど)に記録されたプログラムが読み出されることによって実行されてもよい。また、そのプログラムが製品に取り込まれ、その製品で用いられることによって、プログラムプロダクトが構成されてもよい。
また、このプログラムを実行するコンピュータは、単数であってもよく、複数であってもよい。すなわち、集中処理を行ってもよく、あるいは分散処理を行ってもよい。
図24は、上記プログラムを実行して、上記実施の形態による対訳情報生成装置を実現するコンピュータの外観の一例を示す模式図である。上記実施の形態は、コンピュータハードウェア及びその上で実行されるコンピュータプログラムによって実現される。
図24において、コンピュータシステム100は、CD−ROM(Compact Disk Read Only Memory)ドライブ105、FD(Flexible Disk)ドライブ106を含むコンピュータ101と、キーボード102と、マウス103と、モニタ104とを備える。
図25は、コンピュータシステムを示す図である。図25において、コンピュータ101は、CD−ROMドライブ105、FDドライブ106に加えて、CPU(Central Processing Unit)111と、ブートアッププログラム等のプログラムを記憶するためのROM(Read Only Memory)112と、CPU111に接続され、アプリケーションプログラムの命令を一時的に記憶すると共に、一時記憶空間を提供するRAM(Random Access Memory)113と、アプリケーションプログラム、システムプログラム、及びデータを記憶するハードディスク114と、CPU111、ROM112等を相互に接続するバス115とを備える。なお、コンピュータ101は、LANへの接続を提供する図示しないネットワークカードを含んでいてもよい。
コンピュータシステム100に、上記実施の形態による対訳情報生成装置の機能を実行させるプログラムは、CD−ROM121、またはFD122に記憶されて、CD−ROMドライブ105、またはFDドライブ106に挿入され、ハードディスク114に転送されてもよい。これに代えて、そのプログラムは、図示しないネットワークを介してコンピュータ101に送信され、ハードディスク114に記憶されてもよい。プログラムは実行の際にRAM113にロードされる。なお、プログラムは、CD−ROM121やFD122、またはネットワークから直接、ロードされてもよい。
プログラムは、コンピュータ101に、上記実施の形態による対訳情報生成装置の機能を実行させるオペレーティングシステム(OS)、またはサードパーティプログラム等を必ずしも含んでいなくてもよい。プログラムは、制御された態様で適切な機能(モジュール)を呼び出し、所望の結果が得られるようにする命令の部分のみを含んでいてもよい。コンピュータシステム100がどのように動作するのかについては周知であり、詳細な説明は省略する。
また、本発明は、以上の実施の形態に限定されることなく、種々の変更が可能であり、それらも本発明の範囲内に包含されるものであることは言うまでもない。