コンピュータの処理により、異なる2つの言語の用語の間の対応を見出す方法であって、第1の言語の専門用語集合と、前記第1の言語の一般用語集合と、第2の言語の専門用語集合と、前記第2の言語の一般用語集合とを生成して、前記コンピュータの記憶手段に保存するステップと、前記第1の言語と前記第2の言語それぞれにおいて、同一言語の専門用語集合と一般用語集合の間を、コーパスの情報に基づきリンクで結び、前記リンクは用語間の関連度を重みとする2部グラフを生成するステップと、前記第1の言語の一般用語と前記第2の言語の一般用語の間の対訳辞書を用いて一般用語間のリンクを生成し、前記リンクは用語間の関連度を重みとする2部グラフを生成するステップと、前記同一言語の専門用語集合と一般用語集合の間の2部グラフと、前記第1の言語の一般用語と前記第2の言語の一般用語の間の2部グラフを含む、関連度行列Mを生成するステップと、cを1より小さい正の数として、の逆行列を計算することにより、類似度行列Qを計算するステップと、前記類似度行列Qの所定の成分に基づき、前記第1の言語の専門用語集合と前記第2の言語の専門用語集合の対応を出力するステップとを有する、用語の対応を見出す方法。前記同一言語の専門用語集合と一般用語集合の間の2部グラフにおける関連度が、用語の共起頻度もしくは共起相関度である、請求項1に記載の方法。前記第1の言語の一般用語と前記第2の言語の一般用語の間の2部グラフにおける関連度が、辞書での表示順序に基づき計算される、請求項1に記載の方法。前記関連度行列Mが、行毎の合計が1になるように正規化される、請求項1に記載の方法。前記類似度行列Qの計算が、前記第1の言語の一般用語集合及び前記第1の言語の専門用語集合の両方に対応する部分と、前記第2の言語の一般用語集合及び前記第2の言語の専門用語集合の両方に対応する部分のみを残した行列の逆行列を一旦計算することを含む、請求項4に記載の方法。前記cは、02と03の間の数である、請求項1に記載の方法。コンピュータの処理により、異なる2つの言語の用語の間の対応を見出すプログラムであって、前記コンピュータに、第1の言語の専門用語集合と、前記第1の言語の一般用語集合と、第2の言語の専門用語集合と、前記第2の言語の一般用語集合とを生成して、前記コンピュータの記憶手段に保存するステップと、前記第1の言語と前記第2の言語それぞれにおいて、同一言語の専門用語集合と一般用語集合の間を、コーパスの情報に基づきリンクで結び、前記リンクは用語間の関連度を重みとする2部グラフを生成するステップと、前記第1の言語の一般用語と前記第2の言語の一般用語の間の対訳辞書を用いて一般用語間のリンクを生成し、前記リンクは用語間の関連度を重みとする2部グラフを生成するステップと、前記同一言語の専門用語集合と一般用語集合の間の2部グラフと、前記第1の言語の一般用語と前記第2の言語の一般用語の間の2部グラフを含む、関連度行列Mを生成するステップと、cを1より小さい正の数として、の逆行列を計算することにより、類似度行列Qを計算するステップと、前記類似度行列Qの所定の成分に基づき、前記第1の言語の専門用語集合と前記第2の言語の専門用語集合の対応を出力するステップを実行させる、用語の対応を見出すプログラム。前記同一言語の専門用語集合と一般用語集合の間の2部グラフにおける関連度が、用語の共起頻度もしくは共起相関度である、請求項7に記載のプログラム。前記第1の言語の一般用語と前記第2の言語の一般用語の間の2部グラフにおける関連度が、辞書での表示順序に基づき計算される、請求項7に記載のプログラム。前記関連度行列Mが、行毎の合計が1になるように正規化される、請求項7に記載のプログラム。前記類似度行列Qの計算が、前記第1の言語の一般用語集合及び前記第1の言語の専門用語集合の両方に対応する部分と、前記第2の言語の一般用語集合及び前記第2の言語の専門用語集合の両方に対応する部分のみを残した行列の逆行列を一旦計算することを含む、請求項10に記載のプログラム。前記cは、02と03の間の数である、請求項7に記載のプログラム。コンピュータの処理により、異なる2つの言語の用語の間の対応を見出すシステムであって、記憶手段と、第1の言語の専門用語集合と、前記第1の言語の一般用語集合と、第2の言語の専門用語集合と、前記第2の言語の一般用語集合とを生成して、前記記憶手段に保存する手段と、前記第1の言語と前記第2の言語それぞれにおいて、同一言語の専門用語集合と一般用語集合の間を、コーパスの情報に基づきリンクで結び、前記リンクは用語間の関連度を重みとする2部グラフを生成する手段と、前記第1の言語の一般用語と前記第2の言語の一般用語の間の対訳辞書を用いて一般用語間のリンクを生成し、前記リンクは用語間の関連度を重みとする2部グラフを生成する手段と、前記同一言語の専門用語集合と一般用語集合の間の2部グラフと、前記第1の言語の一般用語と前記第2の言語の一般用語の間の2部グラフを含む、関連度行列Mを生成する手段と、cを1より小さい正の数として、の逆行列を計算することにより、類似度行列Qを計算する手段と、前記類似度行列Qの所定の成分に基づき、前記第1の言語の専門用語集合と前記第2の言語の専門用語集合の対応を出力する手段を有する、用語の対応を見出すシステム。前記同一言語の専門用語集合と一般用語集合の間の2部グラフにおける関連度が、用語の共起頻度もしくは共起相関度である、請求項13に記載のシステム。前記第1の言語の一般用語と前記第2の言語の一般用語の間の2部グラフにおける関連度が、辞書での表示順序に基づき計算される、請求項13に記載のシステム。前記関連度行列Mが、行毎の合計が1になるように正規化される、請求項13に記載のシステム。前記類似度行列Qの計算が、前記第1の言語の一般用語集合及び前記第1の言語の専門用語集合の両方に対応する部分と、前記第2の言語の一般用語集合及び前記第2の言語の専門用語集合の両方に対応する部分のみを残した行列の逆行列を一旦計算することを含む、請求項16に記載のシステム。前記cは、02と03の間の数である、請求項13に記載のシステム。従って、この発明の目的は、ランダムウォークの技法を用いて、多数の用語を対象としても妥当な計算量で異言語の対応する用語を列挙することが可能な技法を提供することにある。本発明に従うシステムは先ず、コーパスから、第1の言語例えば日本語の専門用語集合と、第1の言語の一般用語集合と、第2の言語例えば英語の専門用語集合と、第2の言語の一般用語集合とを生成する。本発明に従うシステムは次に、第1の言語と第2の言語それぞれにおいて、同一言語の専門用語集合と一般用語集合の間を、コーパスの情報に基づきリンクで結び、2部グラフを生成する。本発明に従うシステムは次に、異なる言語の一般用語の対訳辞書例えば、英和辞書を用いて一般用語間のリンクを生成し、異なる言語の一般用語間で2部グラフを連結する。本発明に従うシステムは次に、ランダムウォークのスコアで、第1の言語の専門用語の各単語と、第2の言語の専門用語の各単語の類似度を計算する。この計算をするために、本発明に従うシステムはまず、同一言語内、及び異なる言語間の2部グラフのリンクの重み付けされた情報に基づき、関連度行列Mを生成する。このとき、同一言語内の専門用語集合と、一般用語集合の間のリンクの重みは、例えば共起頻度もしくは共起相関度であり、所定のテキストマイニングツールにより計算することができる。また、異なる言語の一般用語間のリンクの重みは、例えば、辞書での表示順序に基づき計算される。こうして関連度行列Mが求まると、本発明に従うシステムは次に、Q1という式により、類似度行列Qを計算する。ここでcは、1より小さい適当な正の数である。ここでは、第1の言語の専門用語と、第2の言語の専門用語の間の類似度が求めるべき値であるので、必要なのは、類似度行列Qの一部の部分行列のみである。本発明に従うシステムは次に、類似度行列Qの対応する成分に基づき、第2の言語の専門用語の各単語から、類似度の高い順に第1の言語の専門用語の単語を出力する。本発明によれば、関連度行列の行列計算を用いたランダムウォークの技法を用いて、多数の用語を対象としても妥当な計算量で異言語の単語集合を列挙することが可能な技法が提供される。以下、図面に基づき、この発明の実施例を説明する。特に断わらない限り、同一の参照番号は、図面を通して、同一の対象を指すものとする。尚、以下で説明するのは、本発明の一実施形態であり、この発明を、この実施例で説明する内容に限定する意図はないことを理解されたい。図1を参照すると、本発明の一実施例に係るシステム構成及び処理を実現するためのコンピュータハードウェアのブロック図が示されている。図1において、システムパス102には、CPU104と、主記憶RAM106と、ハードディスクドライブHDD108と、キーボード110と、マウス112と、ディスプレイ114が接続されている。CPU104は、好適には、32ビットまたは64ビットのアーキテクチャに基づくものであり、例えば、インテル社のPentium商標4、Core2Duo、Xeon、AMD社のAthlon商標などを使用することができる。主記憶106は、好適には、4GB以上の容量をもつものである。ハードディスクドライブ108は、大量のデータを格納できるように、例えば、500GB以上の容量をもつものであることが望ましい。ハードディスクドライブ108には、図示しないが、オペレーティングシステムが、予め格納されており、システムのスタートアップ時に、BIOSによってブートされて主記憶106にロードされ、動作する。オペレーティングシステムは、Linux、マイクロソフト社のWindowsXP、Windows7、アップルコンピュータのMacOS商標などの、CPU104に適合する任意のものでよい。ハードディスクドライブ108はさらに、後述するコーパスデータ、辞書データ、用語間の関連度行列を生成するための行列生成ルーチン、関連度行列からランダムウォークのために類似度行列を計算する行列計算ルーチンなどが格納されている。これらのデータファイルや処理ルーチンの詳細は、図2を参照して後で説明する。キーボード110及びマウス112は、オペレーティングシステムまたは、ハードディスクドライブ108から主記憶106にロードされ、ディスプレイ114に表示されたプログラム図示しないを起動したり、文字を打ち込んだりするために使用される。ディスプレイ114は、好適には液晶ディスプレイであり、例えば、XGA1024×768の解像度、またはUXGA1600×1200の解像度などの任意の解像度のものを使用することができる。ディスプレイ114は、図示しないが、本発明の処理を開始するための操作ウインドウや、処理の結果である、関連する専門用語のリスト等を表示するために使用される。次に、図2の機能ブロック図を参照して、本発明を実施するための処理ルーチン及び、用意されるデータファイルなどについて説明する。なお、この実施例では、日本語の用語と、英語の用語を対応を見出すことに関して説明するが、日本語英語だけでなく、任意の異なる2つの外国語について本発明は適用可能であることを理解されたい。図2において、日本語文コーパス202、英文コーパス204、及び英和辞書206は、予め用意されて、ハードディスクドライブ108に保存されているファイルである。メインルーチン208は、全体の処理を開始したり、停止したり、処理すべきファイルを指定したり、オプションパラメータを指定したりするなどの機能をもつ処理プログラムであり、C、C、C、Javaなどの既存の任意のプログラム言語で書かれて、その実行可能形式のプログラムが、ハードディスクドライブ108に保存され、ユーザーのキーボード110やマウス112の操作に応答して、オペレーティングシステムの機能により主記憶106にロードされて実行される。用語集合作成ルーチン210は、メインルーチン208から呼び出し可能に、C、C、C、Javaなどの既存の任意のプログラム言語で書かれており、好適には、メインルーチン208と同じ実行可能形式のプログラムに静的リンクされるかまたは、個別の動的リンクファイルとして、ハードディスクドライブ108に保存されている。用語集合作成ルーチン210は、日本語文コーパス202と英文コーパス204の内容を読み取って、日本語専門用語集合212と、日本語一般用語集合214と、英語専門用語集合216と、英語専門用語集合218を生成して、ファイルとして、ハードディスクドライブ108に保存する。このための処理として、特許文献として上記に掲げた特開2002-269085号公報、特開2008-146218号公報あるいは特開2010-55298号公報などに記述されている技法、もしくは、IBMContentAnalyticsなどの既存のテキストマイニングツールを使用することができる。用語集合作成ルーチン210は、好適には、英和辞書206にもアクセスして、専門用語集合と一般用語集合のリンクと、そのリンクの重みとしての共起頻度もしくは共起相関度などの関連度を計算して生成し、予め保存して、後述する行列生成ルーチン220によって利用されるようにする。行列生成ルーチン220は、メインルーチン208から呼び出し可能に、C、C、C、Javaなどの既存の任意のプログラム言語で書かれており、好適には、メインルーチン208と同じ実行可能形式のプログラムに静的リンクされるかまたは、個別の動的リンクファイルとして、ハードディスクドライブ108に保存されている。行列生成ルーチン220は、用語集合作成ルーチン210によって生成された日本語専門用語集合212、日本語一般用語集合214、英語専門用語集合216及び、英語専門用語集合218と、英和辞書206から、関連度行列Mを生成する。関連度行列Mの各々の成分は、用語の間の共起頻度もしくは共起相関度で特徴づけられる重みである。行列生成ルーチン220は、生成した関連度行列Mのデータを、行列データ222として、ハードディスクドライブ108に書き出す機能をもつ。なお、行列生成ルーチン220は、独立のルーチンではなく、用語集合作成ルーチン210の一部の機能として実装してもよい。行列計算ルーチン224も、メインルーチン208から呼び出し可能に、C、C、C、Javaなどの既存の任意のプログラム言語で書かれており、好適には、メインルーチン208と同じ実行可能形式のプログラムに静的リンクされるかまたは、個別の動的リンクファイルとして、ハードディスクドライブ108に保存されている。行列生成ルーチン224は、ハードディスクドライブ108に書き込まれた行列データ222を読み込んで、関連度行列Mから類似度行列Qを計算する機能を有する。このより具体的な処理について、後でより詳しく説明する。出力ルーチン226もまた、メインルーチン208から呼び出し可能に、C、C、C、Javaなどの既存の任意のプログラム言語で書かれており、好適には、メインルーチン208と同じ実行可能形式のプログラムに静的リンクされるかまたは、個別の動的リンクファイルとして、ハードディスクドライブ108に保存されている。出力ルーチン226は、行列計算ルーチン224によって計算された結果の類似度行列Qから、日英の専門用語の対応などの結果を、ディスプレイ114に表示したり、ファイルとしてハードディスクドライブ108に書き出したりする機能を有する。次に、図3のフローチャートを参照して、本発明の処理について説明する。図3のステップ302では、メインルーチン208が用語集合作成ルーチン210を呼び出す。すると、用語集合作成ルーチン210は、日本語文コーパス202と英文コーパス204の内容を読み取って、日本語専門用語集合212と、日本語一般用語集合214と、英語専門用語集合216と、英語一般用語集合218を生成して、ファイルとして、ハードディスクドライブ108に保存する。用語集合作成ルーチン210は、ステップ304で、同じ言語の各専門用語と、一般用語の間に、コーパスの情報によりリンクで結び、2部グラフを生成する。ここで、2部グラフとは、頂点集合を2つの部分集合に分割して各集合内の頂点同士の間には辺がないようにできるグラフのことである。部分集合のうちの一方が一般用語集合であり、他方が専門用語集合である。用語集合作成ルーチン210は、専門用語集合を、コーパスにおいて、限られた文脈にしか現れない用語として特定する。情報処理関連や、自動車関連など、その分野の専門用語を参照して専門用語を抽出してもよい。一方で、用語集合作成ルーチン210は、専門用語と関連が高く、相対的により多くの文書にあらわれる用語として、一般用語を認識する。用語集合作成ルーチン210は、こうしてコーパスにおいて、専門用語集合と一般用語集合を確定しておいて、それの間に関連度に基づきリンクを張ることにより、2部グラフを形成する。この際、リンクには関連度の重みがつけられる。好適には、関連度の重みとは、共起頻度もしくは共起相関度である。共起頻度及び共起相関度は例えば、IBMContentAnalyticsなどの既存のテキストマイニングツールを使用して計算することができる。図4は、日本語と英語における、専門用語集合と一般用語集合の間の2部グラフを示す。すなわち、日本語においては、専門用語集合JSと一般用語集合JGの間にリンクA1が形成され、英語においては、専門用語集合ESと一般用語集合EGの間にリンクA3が形成される。尚、一般的に、一般用語集合JGは数千語のレベルであり、専門用語集合JSは数百語のレベルであり、一般用語集合EGも数千語のレベルであるが、専門用語集合ESは、この段階では候補なので、数万語のレベルでありえる。図3のフローチャートに戻って、用語集合作成ルーチン210は、ステップ306で、異言語、すなわちこの場合、日本語と英語の間の一般用語の単語の対訳辞書英和辞書206で一般用語間のリンクを生成し、異言語間の2部グラフを連結させる。ここでの要素間のリンクの重みは、好適には辞書での表示順序であるが、同一の値を入れてもよい。このようにして作成されたリンクが、図4のリンクA2である。そこで、以下の目標は、∈JS×ESのような用語の組み合わせを求めることである。ステップ308では、ランダムウォークのスコアの計算のため、先ず、行列生成ルーチン220が、図4に示す2部グラフのリンクとその重みの情報に従い、関連度行列Mを生成する。そのことは、図5と図6を参照することにより、理解される。図5は、日本語の一般用語集合JGの要素g1g2g3g4g5g6と、日本語の一般用語集合JSの要素s1s2s3s4の間のリンクA1の例を示す図である。図6は、図5の2部グラフに対応する関連度行列Mの要素の一部を示す図である。一般化して言うと、JGの要素giとJSの要素sjの間の共起頻度がMijであることを示している。また、リンクがない箇所の要素は0である。図7は、日本語専門用語集合JSと日本語一般用語集合JGの間のリンクA1、日本語一般用語集合JGと英語一般用語集合EGの間のリンクA2、及び英語専門用語集合ESと英語一般用語集合EGの間のリンクA3に基づき行列生成ルーチン220が作成した関連度行列M全体を示す。図7において、A1、A1T、A2、A2T、A3、A3Tとあるのはそれぞれ、リンクA1に基づき生成された関連度行列とその転置行列、リンクA2に基づき生成された関連度行列とその転置行列、及びリンクA3に基づき生成された関連度行列とその転置行列である。ここで、JS、JG、ES、EGとあるのはそれぞれ、JS、JG、ES、EGの集合の要素の数をあらわす。0は、示されているサイズの零行列である。換言すると、行列生成ルーチン220は、これらの部分行列の集まりとして、全体の関連度行列Mを生成する。さらに行列生成ルーチン220は、全体の関連度行列Mを、各行の和が1になるように正規化する。この正規化の意味は、以下の説明で明らかになる。図3のステップ308の、ランダムウォークのスコアで英語の専門用語の各単語と、日本語の専門用語の各単語の類似度を計算するステップとは、行列計算ルーチン224が、関連度行列Mに基づき、下記の式により定義された、類似度行列Qを計算することである。ここで、cは1より小さい正の定数であり、好適には、02から03の間の値である。δijは、クロネッカーのデルタであり、cとδijが、再出発付きランダムウォークをあらわす。図8は、類似度行列Qの成分と、関連度行列Mの成分による、ランダムウォークの様子を模式的に示す図である。さて、上記式は、関連度行列Mの行正規化により、次のように簡易化される。これを適宜移項して行列表記すると、次のようになる。QIここでIは、MやQと同じサイズの単位行列である。上記の式をQについて変形すると、Q1上記式を用いて関連度行列Mから類似度行列Qを計算することが、行列計算ルーチン224の役割である。は定数なので、とりあえず1とみなして省略すると、Qは図9のようにあらわされる。特に、下の方の等式の右辺は、計算された結果としてのQの部分行列の区画をあらわすものであり、この発明の目的には、JS×ESに対応するQ22が、一番求めたい値である。しかし、は通常、数万×数万の極めて大きい行列であるので、このまま逆行列を計算するのは、一般的には計算量的に能率が悪い。そこで、図10に示すような、の一部の部分行列を0にした、すなわち、日本語一般用語集合及び日本語専門用語集合の上でのランダムウォークに対応する部分と、英語一般用語集合及び英語専門用語集合の上でのランダムウォークに対応する部分のみを残した行列を作ってそれの逆行列を求めると、図10の下の方の等式の右辺に示す行列のように、比較的容易に逆行列を求めることができる。しかしここには、求めるべきQ22は含まれておらず、Q22は、Q12と、Q32を使って、次の式で計算される。ここでさらに、Q32は次の式で計算される。またさらに、X4は次の式で計算され、こうしてQ22が求まる。こうして行列計算ルーチン224がQ22を計算し終わると、出力ルーチン226は、Q22の成分の大きさの順にソートして、その成分に関連付けられた日本語専門用語と、それに対応する英語専門用語集合を順次、ディスプレイ114に表示し、あるいはファイルとして、ハードディスクドライブ106に書き出す。これは、日本語専門用語に対する英語専門用語の訳語集、あるいは英語専門用語に対する日本語専門用語の訳語集として使用することができる。以上、日本語と英語の用語の対応を計算する例として説明してきたが、本発明は、日本語と英語の間だけでなく、一般用語の辞書が存在する任意の2つの言語の用語の間の対応を計算するためにも使用することができることを理解されたい。また、関連度行列の成分として、上記実施例では、共起頻度が用いられたが、テキストマイニングツールによって2つの用語の間の関連度として使用される任意の指標を用いることができる。さらに本発明は、コンピュータの特定のハードウェア、ソフトウェアに限定されず、また、スタンドアロンやネットワーク環境のどちらであるかにもかかわらず、任意のプラットフォーム上で実施可能であることをこの分野の当業者なら理解するであろう。