(57)【特許請求の範囲】
【請求項１】
異なる２つの言語の用語の間の対応を見出す方法であって、コンピュータが、
第１の言語の専門用語集合と、前記第１の言語の一般用語集合と、第２の言語の専門用語集合と、前記第２の言語の一般用語集合とを生成して、前記コンピュータの記憶手段に保存するステップと、
前記第１の言語と前記第２の言語それぞれにおいて、同一言語の専門用語集合と一般用語集合の間を、コーパスの情報に基づきリンクで結び、前記リンクは用語間の関連度を重みとする２部グラフを生成するステップと、
前記第１の言語の一般用語と前記第２の言語の一般用語の間の対訳辞書を用いて一般用語間のリンクを生成し、前記リンクは用語間の関連度を重みとする２部グラフを生成するステップと、
前記同一言語の専門用語集合と一般用語集合の間の前記２部グラフと、前記第１の言語の一般用語と前記第２の言語の一般用語の間の前記２部グラフを含む、関連度行列Ｍを生成するステップと、
ランダムウォークのスコアで、前記第１の言語の専門用語集合の各単語と、前記第２の言語の専門用語集合の各単語の類似度を計算するステップであって、当該類似度を計算するステップは類似度行列Ｑ'を計算するステップを含み、前記類似度行列Ｑ'を計算するステップが、前記第１の言語の一般用語集合及び前記第１の言語の専門用語集合の上での前記ランダムウォークに対応する部分と、前記第２の言語の一般用語集合及び前記第２の言語の専門用語集合の上での前記ランダムウォークに対応する部分とのみを残した行列(I-cＭ')の逆行列を計算するステップを含み、前記行列(I-cＭ')の逆行列を計算するステップが、前記行列(I-cＭ')中の前記第１の言語の専門用語集合と前記第２の言語の専門用語集合との要素を計算するステップを含み、ここでcは1より小さい正の数である、前記類似度を計算するステップと、
前記類似度行列Ｑ'の所定の成分に基づき、前記第１の言語の専門用語集合と前記第２の言語の専門用語集合との対応を出力するステップと
を実行することを含む、前記方法。
【請求項２】
前記同一言語の専門用語集合と一般用語集合の間の２部グラフにおける関連度が、用語の共起頻度もしくは共起相関度である、請求項１に記載の方法。
【請求項３】
前記第１の言語の一般用語と前記第２の言語の一般用語の間の２部グラフにおける関連度が、辞書での表示順序に基づき計算される、請求項１に記載の方法。
【請求項４】
前記関連度行列Ｍが、行毎の合計が１になるように正規化される、請求項１〜３のいずれか一項に記載の方法。
【請求項５】
前記cは、0.2と0.3の間の数である、請求項１〜４のいずれか一項に記載の方法。
【請求項６】
前記行列(I-cＭ')中の前記第１の言語の専門用語集合と前記第２の言語の専門用語集合との要素を計算することが、下記式１中のJS×ESに対応するＱ２２を求めることであり、JSは第１の言語の専用用語集合であり、JGは第１の言語の一般用語集合であり、ESは第２の言語の専門用語集合であり、EGは第２の言語の一般用語集合であり、｜JS｜、｜JG｜、｜ES｜、及び｜EG｜それぞれは、JS、JG、ES、及びEG｜の各集合の要素の数を表す、請求項１〜５のいずれか一項に記載の方法。
【数１】
0005697202.tif 000007
【請求項７】
前記類似度行列Ｑ'が下記式２で表され、A1が前記JSと前記JGとの間のリンクに基づき生成された関連度行列であり、A３が前記ESと前記EGとの間のリンクに基づき生成された関連度行列であり、Tは転置行列を示す、請求項６に記載の方法。
【数２】
0005697202.tif 000008
【請求項８】
前記Ｑ２２を求めることが下記式３〜式５を使って計算され、A２が前記JGと前記EGとの間のリンクに基づき生成された関連度行列であり、Tは転置行列を示す、請求項７に記載の方法。
【数３】
0005697202.tif 000009
【数４】
0005697202.tif 000010
【数５】
0005697202.tif 000011
【請求項９】
コンピュータの処理により、異なる２つの言語の用語の間の対応を見出すシステムであって、
記憶手段と、
第１の言語の専門用語集合と、前記第１の言語の一般用語集合と、第２の言語の専門用語集合と、前記第２の言語の一般用語集合とを生成して、前記記憶手段に保存する手段と、
前記第１の言語と前記第２の言語それぞれにおいて、同一言語の専門用語集合と一般用語集合の間を、コーパスの情報に基づきリンクで結び、前記リンクは用語間の関連度を重みとする２部グラフを生成する手段と、
前記第１の言語の一般用語と前記第２の言語の一般用語の間の対訳辞書を用いて一般用語間のリンクを生成し、前記リンクは用語間の関連度を重みとする２部グラフを生成する手段と、
前記同一言語の専門用語集合と一般用語集合の間の２部グラフと、前記第１の言語の一般用語と前記第２の言語の一般用語の間の２部グラフを含む、関連度行列Ｍを生成する手段と、
ランダムウォークのスコアで、前記第１の言語の専門用語集合の各単語と、前記第２の言語の専門用語集合の各単語の類似度を計算する手段であって、当該類似度を計算することは類似度行列Ｑ'を計算することを含み、前記類似度行列Ｑ'を計算することが、前記第１の言語の一般用語集合及び前記第１の言語の専門用語集合の上での前記ランダムウォークに対応する部分と、前記第２の言語の一般用語集合及び前記第２の言語の専門用語集合の上での前記ランダムウォークに対応する部分とのみを残した行列(I-cＭ')の逆行列を計算することを含み、前記行列(I-cＭ')の逆行列を計算することが、前記行列(I-cＭ')中の前記第１の言語の専門用語集合と前記第２の言語の専門用語集合との要素を計算することを含み、ここでcは1より小さい正の数である、前記類似度を計算する手段と、
前記類似度行列Ｑ'の所定の成分に基づき、前記第１の言語の専門用語集合と前記第２の言語の専門用語集合の対応を出力する手段と
を備えている、前記システム。
【請求項１０】
前記同一言語の専門用語集合と一般用語集合の間の２部グラフにおける関連度が、用語の共起頻度もしくは共起相関度である、請求項９に記載のシステム。
【請求項１１】
前記第１の言語の一般用語と前記第２の言語の一般用語の間の２部グラフにおける関連度が、辞書での表示順序に基づき計算される、請求項９に記載のシステム。
【請求項１２】
前記関連度行列Ｍが、行毎の合計が１になるように正規化される、請求項９〜１１のいずれか一項に記載のシステム。
【請求項１３】
前記cは、0.2と0.3の間の数である、請求項９〜１２のいずれか一項に記載のシステム。
【請求項１４】
前記行列(I-cＭ')中の前記第１の言語の専門用語集合と前記第２の言語の専門用語集合との要素を計算することが、下記式１中のJS×ESに対応するＱ２２を求めることであり、JSは第１の言語の専用用語集合であり、JGは第１の言語の一般用語集合であり、ESは第２の言語の専門用語集合であり、EGは第２の言語の一般用語集合であり、｜JS｜、｜JG｜、｜ES｜、及び｜EG｜それぞれは、JS、JG、ES、及びEG｜の各集合の要素の数を表す、請求項９〜１３のいずれか一項に記載のシステム。
【数６】
0005697202.tif 000012
【請求項１５】
前記類似度行列Ｑ'が下記式２で表され、A1が前記JSと前記JGとの間のリンクに基づき生成された関連度行列であり、A３が前記ESと前記EGとの間のリンクに基づき生成された関連度行列であり、Tは転置行列を示す、請求項１４に記載のシステム。
【数７】
0005697202.tif 000013
【請求項１６】
前記Ｑ２２を求めることが下記式３〜式５を使って計算され、A２が前記JGと前記EGとの間のリンクに基づき生成された関連度行列であり、Tは転置行列を示す、請求項１５に記載のシステム。
【数８】
0005697202.tif 000014
【数９】
0005697202.tif 000015
【数１０】
0005697202.tif 000016
【請求項１７】
異なる２つの言語の用語の間の対応を見出すコンピュータ・プログラムであって、前記コンピュータに、請求項１〜８のいずれか一項に記載の方法の各ステップを実行させる前記コンピュータ・プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、コンピュータ可読な情報として提供された既存の文書情報に基づき、文書に含まれる単語または用語の間の対応関係を作成する技法に関し、より詳しくは、異なる外国語の文書に含まれる単語または用語の間の対応関係を作成する技法に関する。
【背景技術】
【０００２】
従来より、異なる言語の間で文書を翻訳したり、あるいは多言語のデータを活用するために、目的に応じた適切な対訳・関連表現を把握することが必要とされている。このためには、異なる言語間で単語または用語の間の対応関係を見出す必要があるが、よく使われる単語や用語の場合、既存の辞書を活用することができる。
【０００３】
ところが、専門用語となると、同一言語内での一般用語と専門用語の対応を示す辞書は用意されていることは少なくないが、異なる言語間の辞書を見出すことは困難である。例えば、自動車分野をみてみると、日本語の「ハンドル」が自動車のデータにおいては、英語の「steering wheel」に相当し、データ次第では「handle」に相当する。これらの対訳語・関連語は日本語−英語だけでなく、他の言語ペアにおいても作成する必要がある。
【０００４】
専門用語において、異なる言語間の辞書が整備されていない理由は、そのような辞書を用意する作業には、言語知識に加えて専門分野の知識も必要であるため、実現可能なスキルセットを有する人が少ないからである。また、意味が通じる翻訳では不十分であり、実用レベルなものとするためには、対象データにおいて、実際に用いられている表現から翻訳を選ぶ必要がある。このような対応を作成することは、莫大なコストと時間がかかり、各場合に対してこのような方法で対訳語・関連語を作成するのは極めて非効率的である。
【０００５】
この分野の従来技術の特許文献として、下記のものがある。
特開２００２−９１９６５号公報は、複数のユーザが利用する自然言語処理装置に設けられる辞書装置に関し、カテゴリー毎の複数の専門用語辞書を、一般用語辞書をルートノードとしたツリー構造で階層化している辞書本体と、任意の専門用語辞書に関連付けて、ユーザ辞書を設定させるユーザ辞書登録手段と、自然言語処理対象のカテゴリーが指示された際に、そのカテゴリーの専門用語辞書から一般用語辞書に至るツリー構造の経路上にある全ての専門用語辞書と、それら専門用語辞書に関連付けられている、処理依頼ユーザのユーザ辞書の全てを適用する辞書に決定する適用辞書決定手段を有するシステムを開示する。
【０００６】
特開２００２−２６９０８５号公報は、単語グラフ生成部と、単語グラフメモリと、検索選択部を有する機械翻訳装置に関し、単語グラフ生成部は、入力される文字列からなる原言語の文に対して、原言語の少なくとも１つの表現に対して少なくとも１つの目的言語の表現の複数の対を含む対訳辞書を参照して、原言語の表現と照合して一致する言語表現に対応する目的言語の表現を抽出し、目的言語の表現の組み合わせを単語グラフの形式で生成して単語グラフメモリに格納する。検索選択部は、目的言語のコーパスデータを参照して、単語グラフメモリに格納された単語グラフ上の単語列とコーパスデータとを照合して単語グラフ上の単語に対するコーパスデータ内での出現頻度を計数することにより、原言語の文に対応する目的言語の訳文のスコアを計算し、計算されたスコアに基づいて最適な目的言語の訳文を選択する。
【０００７】
特開２００４−２８０３１６号公報は、文書データが属する分野を判定し、更には、判定された分野の専門的な辞書や学習データを用いて当該文書データを言語処理するために、複数の分野に係る一般的な言葉情報を含む基本辞書と、専門分野に係る言葉情報を含む専門辞書とを備え、文書データが入力されると、解析部が基本辞書を参照して、入力された文書データから記述内容に含まれる単語の単語ベクトルを算出し、分野判定部が分野を特徴付ける分野ベクトルと算出された単語ベクトルとの類似性を算出して、類似性が最も高い分野を入力された文書データが属する分野として判定し、言語処理部が、判定された分野の専門辞書を参照して、前記入力された文書データに関する言語処理を行うことを開示する。
【０００８】
特開２００８−１４６２１８号公報は、区切り設定の困難な専門用語を正しく区分して形態素を抽出し形態素解析用辞書を生成して正確な形態素解析を実現するために、日本語と外国語との対訳辞書の登録データから日本語と外国語の対訳ペアが一単語対一単語と異なる一単語対多単語の登録データを持つ対訳ペアを抽出し、抽出した対訳ペアの日本語の形態素解析を行い、生成した区分語または区分語列に対応する外国語の単語を特定し、外国単語対応の区分語または区分語列を形態素として形態素解析用辞書に登録し、登録した形態素情報に基づく形態素解析を行なうことを開示する。
【０００９】
特開２０１０−５５２９８公報は、母国語又は習熟した言語以外の言語で記述された文書データをテキスト・マイニングしたり、検索したいという要望に応える手段を提供するため、第１言語のコーパスから、上記第１言語の用語に共起する共起用語を抽出する第１の抽出部と、上記抽出された共起用語の少なくとも１に対応する第２言語の訳語を出力する出力部と、上記第１言語のコーパスに対応する第２言語のコーパスから、上記出力された第２言語の訳語の少なくとも１に共起する訳語候補を抽出する第２の抽出部と、上記抽出された訳語候補それぞれに重み付けをする重付部と、上記重みを最適化し、該最適化された重みに従い上記第１言語の用語についての翻訳対のリストを生成する生成部とを含むシステムを開示する。
【００１０】
また、非特許文献として、下記のものがある。
Guihong Cao, Jianfeng Gao, Jian-Yun Nie, Jing Bai, "Extending query translation to cross-language query expansion with markov chain models", CIKM '07 Proceedings of the sixteenth ACM conference on Conference on information and knowledge managementは、単語をノードとする有向グラフ上のランダムウォークでクエリー単語に近い異言語の単語集合を列挙する手法を開示する。
【００１１】
Daniel Andrade, Tetsuya Nasukawa, Jun'ichi Tsujii, "Robust measurement and comparison of context similarity for finding translation pairs", COLING '10 Proceedings of the 23rd International Conference on Computational Linguisticsは、各単語（専門用語）の特徴ベクトルをその単語と高頻度かつ高相関で共起する一般用語から構成し、類似する単語を列挙する手法を開示する。
【００１２】
Guihong Caoらの文献に記述されているランダムウォークの技法は、クエリー単語に近い異言語の単語集合を列挙する手法として有望であるが、クエリー単語毎にグラフを生成し、グラフの構造を考慮せずにランダムウォークすることで、計算が非効率になる。そこで、ランダムウォークを低ステップで止めることにより計算の複雑度を減らそうとすると、出現頻度の低いキーワードには適さなくなる、という問題がある。
【先行技術文献】
【特許文献】
【００１３】
【特許文献１】特開２００２−９１９６５号公報
【特許文献２】特開２００２−２６９０８５号公報
【特許文献３】特開２００４−２８０３１６号公報
【特許文献４】特開２００８−１４６２１８号公報
【特許文献５】特開２０１０−５５２９８号公報
【非特許文献】
【００１４】
【非特許文献１】Guihong Cao, Jianfeng Gao, Jian-Yun Nie, Jing Bai, "Extending query translation to cross-language query expansion with markov chain models", CIKM '07 Proceedings of the sixteenth ACM conference on Conference on information and knowledge management
【非特許文献２】Daniel Andrade, Tetsuya Nasukawa, Jun'ichi Tsujii, "Robust measurement and comparison of context similarity for finding translation pairs", COLING '10 Proceedings of the 23rd International Conference on Computational Linguistics
【発明の概要】
【発明が解決しようとする課題】
【００１５】
従って、この発明の目的は、ランダムウォークの技法を用いて、多数の用語を対象としても妥当な計算量で異言語の対応する用語を列挙することが可能な技法を提供することにある。
【課題を解決するための手段】
【００１６】
本発明に従うシステムは先ず、コーパスから、第１の言語（例えば日本語）の専門用語集合と、第１の言語の一般用語集合と、第２の言語（例えば英語）の専門用語集合と、第２の言語の一般用語集合とを生成する。
【００１７】
本発明に従うシステムは次に、第１の言語と第２の言語それぞれにおいて、同一言語の専門用語集合と一般用語集合の間を、コーパスの情報に基づきリンクで結び、２部グラフを生成する。
【００１８】
本発明に従うシステムは次に、異なる言語の一般用語の対訳辞書（例えば、英和辞書）を用いて一般用語間のリンクを生成し、異なる言語の一般用語間で２部グラフを連結する。
【００１９】
本発明に従うシステムは次に、ランダムウォークのスコアで、第１の言語の専門用語の各単語と、第２の言語の専門用語の各単語の類似度を計算する。この計算をするために、本発明に従うシステムはまず、同一言語内、及び異なる言語間の２部グラフのリンクの重み付けされた情報に基づき、関連度行列Ｍを生成する。このとき、同一言語内の専門用語集合と、一般用語集合の間のリンクの重みは、例えば共起頻度もしくは共起相関度であり、所定のテキスト・マイニング・ツールにより計算することができる。また、異なる言語の一般用語間のリンクの重みは、例えば、辞書での表示順序に基づき計算される。
【００２０】
こうして関連度行列Ｍが求まると、本発明に従うシステムは次に、Ｑ=(1-c)(I-cＭ)-1という式により、類似度行列Ｑを計算する。ここでcは、1より小さい適当な正の数である。ここでは、第１の言語の専門用語と、第２の言語の専門用語の間の類似度が求めるべき値であるので、必要なのは、類似度行列Ｑの一部の部分行列のみである。
【００２１】
本発明に従うシステムは次に、類似度行列Ｑの対応する成分に基づき、第２の言語の専門用語の各単語から、類似度の高い順に第１の言語の専門用語の単語を出力する。
【発明の効果】
【００２２】
本発明によれば、関連度行列の行列計算を用いたランダムウォークの技法を用いて、多数の用語を対象としても妥当な計算量で異言語の単語集合を列挙することが可能な技法が提供される。
【図面の簡単な説明】
【００２３】
【図１】本発明を実施するための一例のハードウェア構成のブロック図である。
【図２】本発明を実施するための一例の機能構成のブロック図である。
【図３】本発明の処理全体の概要フローチャートである。
【図４】日本語の専門用語集合、日本語の一般用語集合、英語の専門用語集合、及び英語の一般用語集合の間のリンクを示す図である。
【図５】２部グラフのリンクの例を示す図である。
【図６】２部グラフに基づく関連度行列の一部を示す図である。
【図７】日本語の専門用語集合、日本語の一般用語集合、英語の専門用語集合、及び英語の一般用語集合全体の関連度行列を示す図である。
【図８】ランダムウォークを示す図である。
【図９】類似度行列の計算を示す図である。
【図１０】類似度行列を、より簡易に計算する処理を示す図である。
【発明を実施するための形態】
【００２４】
以下、図面に基づき、この発明の実施例を説明する。特に断わらない限り、同一の参照番号は、図面を通して、同一の対象を指すものとする。尚、以下で説明するのは、本発明の一実施形態であり、この発明を、この実施例で説明する内容に限定する意図はないことを理解されたい。
【００２５】
図１を参照すると、本発明の一実施例に係るシステム構成及び処理を実現するためのコンピュータ・ハードウェアのブロック図が示されている。図１において、システム・パス１０２には、ＣＰＵ１０４と、主記憶（ＲＡＭ）１０６と、ハードディスク・ドライブ（ＨＤＤ）１０８と、キーボード１１０と、マウス１１２と、ディスプレイ１１４が接続されている。ＣＰＵ１０４は、好適には、３２ビットまたは６４ビットのアーキテクチャに基づくものであり、例えば、インテル社のPentium（商標）  ４、Core(商標)2 Duo、Xeon(商標)、AMD社のAthlon（商標）などを使用することができる。主記憶１０６は、好適には、４ＧＢ以上の容量をもつものである。ハードディスク・ドライブ１０８は、大量のデータを格納できるように、例えば、５００ＧＢ以上の容量をもつものであることが望ましい。
【００２６】
ハードディスク・ドライブ１０８には、図示しないが、オペレーティング・システムが、予め格納されており、システムのスタートアップ時に、ＢＩＯＳによってブートされて主記憶１０６にロードされ、動作する。オペレーティング・システムは、Linux(商標)、マイクロソフト社のWindows XP(商標)、Windows(商標)7、アップルコンピュータのMac OS（商標）などの、ＣＰＵ１０４に適合する任意のものでよい。
【００２７】
ハードディスク・ドライブ１０８はさらに、後述するコーパス・データ、辞書データ、用語間の関連度行列を生成するための行列生成ルーチン、関連度行列からランダムウォークのために類似度行列を計算する行列計算ルーチンなどが格納されている。これらのデータ・ファイルや処理ルーチンの詳細は、図２を参照して後で説明する。
【００２８】
キーボード１１０及びマウス１１２は、オペレーティング・システムまたは、ハードディスク・ドライブ１０８から主記憶１０６にロードされ、ディスプレイ１１４に表示されたプログラム（図示しない）を起動したり、文字を打ち込んだりするために使用される。
【００２９】
ディスプレイ１１４は、好適には液晶ディスプレイであり、例えば、ＸＧＡ（１０２４×７６８の解像度）、またはＵＸＧＡ（１６００×１２００の解像度）などの任意の解像度のものを使用することができる。ディスプレイ１１４は、図示しないが、本発明の処理を開始するための操作ウインドウや、処理の結果である、関連する専門用語のリスト等を表示するために使用される。
【００３０】
次に、図２の機能ブロック図を参照して、本発明を実施するための処理ルーチン及び、用意されるデータ・ファイルなどについて説明する。なお、この実施例では、日本語の用語と、英語の用語を対応を見出すことに関して説明するが、日本語・英語だけでなく、任意の異なる２つの外国語について本発明は適用可能であることを理解されたい。
【００３１】
図２において、日本語文コーパス２０２、英文コーパス２０４、及び英和辞書２０６は、予め用意されて、ハード・ディスク・ドライブ１０８に保存されているファイルである。
【００３２】
メイン・ルーチン２０８は、全体の処理を開始したり、停止したり、処理すべきファイルを指定したり、オプション・パラメータを指定したりするなどの機能をもつ処理プログラムであり、C、C++、C#、Java(R)などの既存の任意のプログラム言語で書かれて、その実行可能形式のプログラムが、ハード・ディスク・ドライブ１０８に保存され、ユーザーのキーボード１１０やマウス１１２の操作に応答して、オペレーティング・システムの機能により主記憶１０６にロードされて実行される。
【００３３】
用語集合作成ルーチン２１０は、メイン・ルーチン２０８から呼び出し可能に、C、C++、C#、Java(R)などの既存の任意のプログラム言語で書かれており、好適には、メイン・ルーチン２０８と同じ実行可能形式のプログラムに静的リンクされるかまたは、個別の動的リンク・ファイルとして、ハード・ディスク・ドライブ１０８に保存されている。用語集合作成ルーチン２１０は、日本語文コーパス２０２と英文コーパス２０４の内容を読み取って、日本語専門用語集合２１２と、日本語一般用語集合２１４と、英語専門用語集合２１６と、英語専門用語集合２１８を生成して、ファイルとして、ハード・ディスク・ドライブ１０８に保存する。このための処理として、特許文献として上記に掲げた特開２００２−２６９０８５号公報、特開２００８−１４６２１８号公報あるいは特開２０１０−５５２９８号公報などに記述されている技法、もしくは、IBM(R) Content Analyticsなどの既存のテキスト・マイニング・ツールを使用することができる。用語集合作成ルーチン２１０は、好適には、英和辞書２０６にもアクセスして、専門用語集合と一般用語集合のリンクと、そのリンクの重みとしての共起頻度もしくは共起相関度などの関連度を計算して生成し、予め保存して、後述する行列生成ルーチン２２０によって利用されるようにする。
【００３４】
行列生成ルーチン２２０は、メイン・ルーチン２０８から呼び出し可能に、C、C++、C#、Java(R)などの既存の任意のプログラム言語で書かれており、好適には、メイン・ルーチン２０８と同じ実行可能形式のプログラムに静的リンクされるかまたは、個別の動的リンク・ファイルとして、ハード・ディスク・ドライブ１０８に保存されている。行列生成ルーチン２２０は、用語集合作成ルーチン２１０によって生成された日本語専門用語集合２１２、日本語一般用語集合２１４、英語専門用語集合２１６及び、英語専門用語集合２１８と、英和辞書２０６から、関連度行列Ｍを生成する。関連度行列Ｍの各々の成分は、用語の間の共起頻度もしくは共起相関度で特徴づけられる重みである。行列生成ルーチン２２０は、生成した関連度行列Ｍのデータを、行列データ２２２として、ハード・ディスク・ドライブ１０８に書き出す機能をもつ。なお、行列生成ルーチン２２０は、独立のルーチンではなく、用語集合作成ルーチン２１０の一部の機能として実装してもよい。
【００３５】
行列計算ルーチン２２４も、メイン・ルーチン２０８から呼び出し可能に、C、C++、C#、Java(R)などの既存の任意のプログラム言語で書かれており、好適には、メイン・ルーチン２０８と同じ実行可能形式のプログラムに静的リンクされるかまたは、個別の動的リンク・ファイルとして、ハード・ディスク・ドライブ１０８に保存されている。行列生成ルーチン２２４は、ハード・ディスク・ドライブ１０８に書き込まれた行列データ２２２を読み込んで、関連度行列Ｍから類似度行列Ｑを計算する機能を有する。このより具体的な処理について、後でより詳しく説明する。
【００３６】
出力ルーチン２２６もまた、メイン・ルーチン２０８から呼び出し可能に、C、C++、C#、Java(R)などの既存の任意のプログラム言語で書かれており、好適には、メイン・ルーチン２０８と同じ実行可能形式のプログラムに静的リンクされるかまたは、個別の動的リンク・ファイルとして、ハード・ディスク・ドライブ１０８に保存されている。出力ルーチン２２６は、行列計算ルーチン２２４によって計算された結果の類似度行列Ｑから、日英の専門用語の対応などの結果を、ディスプレイ１１４に表示したり、ファイルとしてハード・ディスク・ドライブ１０８に書き出したりする機能を有する。
【００３７】
次に、図３のフローチャートを参照して、本発明の処理について説明する。図３のステップ３０２では、メイン・ルーチン２０８が用語集合作成ルーチン２１０を呼び出す。すると、用語集合作成ルーチン２１０は、日本語文コーパス２０２と英文コーパス２０４の内容を読み取って、日本語専門用語集合(JS)２１２と、日本語一般用語集合(JG)２１４と、英語専門用語集合(ES)２１６と、英語一般用語集合(EG)２１８を生成して、ファイルとして、ハード・ディスク・ドライブ１０８に保存する。
【００３８】
用語集合作成ルーチン２１０は、ステップ３０４で、同じ言語の各専門用語と、一般用語の間に、コーパスの情報によりリンクで結び、２部グラフ(bipartite graph)を生成する。ここで、２部グラフとは、頂点集合を２つの部分集合に分割して各集合内の頂点同士の間には辺がないようにできるグラフのことである。部分集合のうちの一方が一般用語集合であり、他方が専門用語集合である。
【００３９】
用語集合作成ルーチン２１０は、専門用語集合を、コーパスにおいて、限られた文脈にしか現れない用語として特定する。情報処理関連や、自動車関連など、その分野の専門用語を参照して専門用語を抽出してもよい。
【００４０】
一方で、用語集合作成ルーチン２１０は、専門用語と関連が高く、相対的により多くの文書にあらわれる用語として、一般用語を認識する。用語集合作成ルーチン２１０は、こうしてコーパスにおいて、専門用語集合と一般用語集合を確定しておいて、それの間に関連度に基づきリンクを張ることにより、２部グラフを形成する。この際、リンクには関連度の重みがつけられる。好適には、関連度の重みとは、共起頻度もしくは共起相関度である。共起頻度及び共起相関度は例えば、IBM(R) Content Analyticsなどの既存のテキスト・マイニング・ツールを使用して計算することができる。
【００４１】
図４は、日本語と英語における、専門用語集合と一般用語集合の間の２部グラフを示す。すなわち、日本語においては、専門用語集合JSと一般用語集合JGの間にリンクA1が形成され、英語においては、専門用語集合ESと一般用語集合EGの間にリンクA3が形成される。尚、一般的に、一般用語集合JGは数千語のレベルであり、専門用語集合JSは数百語のレベルであり、一般用語集合EGも数千語のレベルであるが、専門用語集合ESは、この段階では候補なので、数万語のレベルでありえる。
【００４２】
図３のフローチャートに戻って、用語集合作成ルーチン２１０は、ステップ３０６で、異言語、すなわちこの場合、日本語と英語の間の一般用語の単語の対訳辞書（英和辞書２０６）で一般用語間のリンクを生成し、異言語間の２部グラフを連結させる。ここでの要素間のリンクの重みは、好適には辞書での表示順序であるが、同一の値を入れてもよい。このようにして作成されたリンクが、図４のリンクA2である。
【００４３】
そこで、以下の目標は、(j,e) ∈ JS × ESのような用語の組み合わせ(j,e)を求めることである。
【００４４】
ステップ３０８では、ランダムウォークのスコアの計算のため、先ず、行列生成ルーチン２２０が、図４に示す２部グラフのリンクとその重みの情報に従い、関連度行列Ｍを生成する。
【００４５】
そのことは、図５と図６を参照することにより、理解される。図５は、日本語の一般用語集合JGの要素g1,g2,g3,g4,g5,g6・・・と、日本語の一般用語集合JSの要素
s1,s2,s3,s4・・・の間のリンクA1の例を示す図である。
【００４６】
図６は、図５の２部グラフに対応する関連度行列Ｍの要素の一部を示す図である。一般化して言うと、JGの要素giとJSの要素sjの間の共起頻度がＭijであることを示している。また、リンクがない箇所の要素は0である。
【００４７】
図７は、日本語専門用語集合JSと日本語一般用語集合JGの間のリンクA1、日本語一般用語集合JGと英語一般用語集合EGの間のリンクA2、及び英語専門用語集合ESと英語一般用語集合EGの間のリンクA3に基づき行列生成ルーチン２２０が作成した関連度行列Ｍ全体を示す。図７において、A1、A1T、A2、A2T、A3、A3Tとあるのはそれぞれ、リンクA1に基づき生成された関連度行列とその転置行列、リンクA2に基づき生成された関連度行列とその転置行列、及びリンクA3に基づき生成された関連度行列とその転置行列である。ここで、
|JS|、|JG|、|ES|、|EG|とあるのはそれぞれ、JS、JG、ES、EGの集合の要素の数をあらわす。0は、示されているサイズの零行列である。
【００４８】
換言すると、行列生成ルーチン２２０は、これらの部分行列の集まりとして、全体の関連度行列Ｍを生成する。さらに行列生成ルーチン２２０は、全体の関連度行列Ｍを、各行の和が1になるように正規化する。この正規化の意味は、以下の説明で明らかになる。
【００４９】
図３のステップ３０８の、ランダムウォークのスコアで英語の専門用語の各単語と、日本語の専門用語の各単語の類似度を計算するステップとは、行列計算ルーチン２２４が、関連度行列Ｍに基づき、下記の式により定義された、類似度行列Ｑを計算することである。
【数１】
0005697202.tif 000002
ここで、cは1より小さい正の定数であり、好適には、0.2から0.3の間の値である。δijは、クロネッカーのデルタであり、cと(1-c)δijが、再出発(restart)付きランダムウォークをあらわす。
【００５０】
図８は、類似度行列Ｑの成分と、関連度行列Ｍの成分による、ランダムウォークの様子を模式的に示す図である。
【００５１】
さて、上記式は、関連度行列Ｍの行正規化により、次のように簡易化される。
【数２】
0005697202.tif 000003
【００５２】
これを適宜移項して行列表記すると、次のようになる。
(I-cＭ)Ｑ = (1-c)I
ここでＩは、ＭやＱと同じサイズの単位行列である。
【００５３】
上記の式をＱについて変形すると、
Ｑ=(1-c)(I-cＭ)-1
【００５４】
上記式を用いて関連度行列Ｍから類似度行列Ｑを計算することが、行列計算ルーチン２２４の役割である。(1 - c)は定数なので、とりあえず1とみなして省略すると、Ｑは図９のようにあらわされる。特に、下の方の等式の右辺は、計算された結果としてのＱの部分行列の区画をあらわすものであり、この発明の目的には、JS × ESに対応するＱ22が、一番求めたい値である。
【００５５】
しかし、(I-cＭ)は通常、数万×数万の極めて大きい行列であるので、このまま逆行列を計算するのは、一般的には計算量的に能率が悪い。
【００５６】
そこで、図１０に示すような、(I-cＭ)の一部の部分行列を0にした、すなわち、日本語一般用語集合及び日本語専門用語集合の上でのランダムウォークに対応する部分と、英語一般用語集合及び英語専門用語集合の上でのランダムウォークに対応する部分のみを残した行列(I-cＭ')を作ってそれの逆行列を求めると、図１０の下の方の等式の右辺に示す行列のように、比較的容易に逆行列を求めることができる。
【００５７】
しかしここには、求めるべきＱ22は含まれておらず、Ｑ22は、Ｑ'12と、Ｑ32を使って、次の式で計算される。
【数３】
0005697202.tif 000004
【００５８】
ここでさらに、Ｑ32は次の式で計算される。
【数４】
0005697202.tif 000005
【００５９】
またさらに、Ｘ4は次の式で計算され、こうしてＱ22が求まる。
【数５】
0005697202.tif 000006
【００６０】
こうして行列計算ルーチン２２４がＱ22を計算し終わると、出力ルーチン２２６は、Ｑ22の成分の大きさの順にソートして、その成分に関連付けられた日本語専門用語と、それに対応する英語専門用語集合を順次、ディスプレイ１１４に表示し、あるいはファイルとして、ハードディスク・ドライブ１０６に書き出す。これは、日本語専門用語に対する英語専門用語の訳語集、あるいは英語専門用語に対する日本語専門用語の訳語集として使用することができる。
【００６１】
以上、日本語と英語の用語の対応を計算する例として説明してきたが、本発明は、日本語と英語の間だけでなく、一般用語の辞書が存在する任意の２つの言語の用語の間の対応を計算するためにも使用することができることを理解されたい。
【００６２】
また、関連度行列の成分として、上記実施例では、共起頻度が用いられたが、テキスト・マイニング・ツールによって２つの用語の間の関連度として使用される任意の指標を用いることができる。
【００６３】
さらに本発明は、コンピュータの特定のハードウェア、ソフトウェアに限定されず、また、スタンドアロンやネットワーク環境のどちらであるかにもかかわらず、任意のプラットフォーム上で実施可能であることをこの分野の当業者なら理解するであろう。
【符号の説明】
【００６４】
１０２  システム・パス
１０４  ＣＰＵ
１０６  ハードディスク・ドライブ
１０６  主記憶
１０８  ハード・ディスク・ドライブ
１０８  ハードディスク・ドライブ
１１０  キーボード
１１２  マウス
１１４  ディスプレイ
２０２  日本語文コーパス
２０４  英文コーパス
２０６  英和辞書
２０８  メイン・ルーチン
２１０  用語集合作成ルーチン
２１２  日本語専門用語集合
２１４  日本語一般用語集合
２１６  英語専門用語集合
２１８  英語専門用語集合
２２０  行列生成ルーチン
２２２  行列データ
２２４  行列計算ルーチン
２２６  出力ルーチン
【図１】
0005697202.tif 000017
【図２】
0005697202.tif 000018
【図３】
0005697202.tif 000019
【図４】
0005697202.tif 000020
【図５】
0005697202.tif 000021
【図６】
0005697202.tif 000022
【図７】
0005697202.tif 000023
【図８】
0005697202.tif 000024
【図９】
0005697202.tif 000025
【図１０】
0005697202.tif 000026