(57)【要約】【課題】辞書が小規模でも、自動的に高い精度でノンパラレルコーパスから翻訳対を抽出できる翻訳対抽出装置を提供する。【解決手段】翻訳対抽出装置１６０は、第１の言語の文書集合１７０及び第２の言語の文書集合１７２の各々から、対訳表現の抽出対象となる単語をそれぞれ抽出し単語間の直接的な関連性を、単語の共起頻度に基づいて計算し単語間の関連グラフを作成する関連グラフ作成部２００と、単語の各々について、関連グラフ作成部２００により計算された単語間の直接的な関連性を用い、複数の翻訳対の各々との間の、間接的な関連性を含めた総合的関連性を計算して文脈ベクトルを生成するシード情報伝播部２０４と、第１の言語の単語及び第２の言語の単語の組合せのうち、対応する文脈ベクトルの類似度が基準値以上となる組合せを対訳表現として選択する関連性類似度計算部１８０及び単語対抽出部１８２とを含む。【選択図】図３
2014010634.tif 000002
【特許請求の範囲】
【請求項１】
第１の言語と第２の言語との対訳辞書を用い、前記第１の言語の文書集合及び前記第２の言語の文書集合から、前記第１の言語と第２の言語との対訳表現を抽出する対訳表現抽出装置であって、
前記対訳辞書は、複数の翻訳対を含み、
当該複数の翻訳対の各々は、前記第１の言語の第１のシード単語と、前記第２の言語の第２のシード単語とを含み、
前記第１の言語の文書集合、及び、前記第２の言語の文書集合の各々から、対訳表現の抽出対象となる単語をそれぞれ抽出し、第１の単語集合及び第２の単語集合を形成するための単語抽出手段と、
前記第１の単語集合及び前記第２の単語集合の各々について、単語間の直接的な関連性を、前記第１の言語の文書集合及び前記第２の言語の文書集合中における単語の共起頻度に基づいて計算するための直接的関連性計算手段と、
前記第１の単語集合及び前記第２の単語集合に含まれる単語の各々について、前記直接的関連性計算手段により計算された単語間の直接的な関連性を用い、前記複数の翻訳対の各々との間の、間接的な関連性を含めた総合的関連性を計算し、当該総合的関連性を要素とする文脈ベクトルを生成するための文脈ベクトル生成手段と、
前記第１の単語集合の単語及び前記第２の単語集合の単語の組合せのうち、対応する文脈ベクトルの類似度が基準値以上となる組合せを、前記第１の言語と前記第２の言語との対訳表現として選択するための対訳表現選択手段とを含む、対訳表現抽出装置。
【請求項２】
前記文脈ベクトル生成手段は、
前記第１の単語集合に含まれる単語の各々について、前記直接的関連性計算手段により計算された単語間の直接的な関連性を用い、前記複数の翻訳対の各々のうちの前記第１のシード単語との間の前記総合的関連性を計算することにより、前記複数の翻訳対の各々との前記総合的関連性を計算し、当該総合的関連性を要素とする文脈ベクトルを生成するための第１の言語の文脈ベクトル生成手段と、
前記第２の単語集合に含まれる単語の各々について、前記直接的関連性計算手段により計算された単語間の直接的な関連性を用い、前記複数の翻訳対の各々のうちの前記第２のシード単語との間の前記総合的関連性を計算することにより、前記複数の翻訳対の各々との前記総合的関連性を計算し、当該総合的関連性を要素とする文脈ベクトルを生成するための第２の言語の文脈ベクトル生成手段とを含む、請求項１に記載の対訳表現抽出装置。
【請求項３】
前記直接的関連性計算手段は、
前記第１の単語集合及び前記第２の単語集合の各々について、単語間の直接的な関連性を、前記第１の言語の文書集合及び前記第２の言語の文書集合中における単語の、互いに直接の共起関係にある頻度に基づいて単語同士の間で計算するための計算手段と、
前記第１の単語集合及び前記第２の単語集合の各々について、単語をノード、単語間の直接的な共起関係をエッジとする関連グラフを構築し、各エッジには当該エッジに対応する共起関係について前記計算手段により計算された直接的な関連性を割当てるための関連グラフ構築手段とを含む、請求項２に記載の対訳表現抽出装置。
【請求項４】
前記第１の言語の関連性計算手段は、
前記第１の言語について構築された前記関連グラフにおいて、各ノードに対応する単語について前記文脈ベクトル生成手段により生成された文脈ベクトルを、各エッジを介して隣接するノードに伝播させるための伝播手段と、
前記伝播を、所定の終了条件が成立するまで繰返し実行するように前記伝播手段を制御するための繰返し制御手段とを含み、
前記伝播手段は、前記分布の伝播において、当該エッジに割当てられた直接的な関連度を前記文脈ベクトルの各要素に乗じる、請求項３に記載の対訳表現抽出装置。
【請求項５】
第１の言語と第２の言語との対訳辞書を用い、前記第１の言語の文書集合及び前記第２の言語の文書集合から、前記第１の言語と第２の言語との対訳表現を抽出する対訳表現抽出方法であって、
前記対訳辞書は、複数の翻訳対を含み、
当該複数の翻訳対の各々は、前記第１の言語の第１のシード単語と、前記第２の言語の第２のシード単語とを含み、
前記第１の言語の文書集合、及び、前記第２の言語の文書集合の各々から、対訳表現の抽出対象となる単語をそれぞれ抽出し、第１の単語集合及び第２の単語集合を形成する単語抽出ステップと、
前記第１の単語集合及び前記第２の単語集合の各々について、単語間の直接的な関連を、前記第１の言語の文書集合及び前記第２の言語の文書集合中における単語の共起頻度に基づいて計算する直接的関連性計算ステップと、
前記第１の単語集合及び前記第２の単語集合に含まれる単語の各々について、前記直接的関連性計算ステップにおいて計算された単語間の直接的な関連性を用い、前記複数の翻訳対の各々との間の、間接的な関連性を含めた総合的関連性を計算し、当該総合的関連性を要素とする文脈ベクトルを生成する文脈ベクトル生成ステップと、
前記第１の単語集合の単語及び前記第２の単語集合の単語の組合せのうち、対応する文脈ベクトルの類似度が基準値以上となる組合せを、前記第１の言語と前記第２の言語との対訳表現として選択する対訳表現選択ステップとを含む、対訳表現抽出方法。
【請求項６】
第１の言語と第２の言語との対訳辞書を用い、前記第１の言語の文書集合及び前記第２の言語の文書集合から、前記第１の言語と第２の言語との対訳表現を抽出する対訳表現抽出装置としてコンピュータを機能させる、対訳表現抽出のためのコンピュータプログラムであって、
前記対訳辞書は、複数の翻訳対を含み、
当該複数の翻訳対の各々は、前記第１の言語の第１のシード単語と、前記第２の言語の第２のシード単語とを含み、
前記コンピュータプログラムは、前記コンピュータを、
前記第１の言語の文書集合、前記第２の言語の文書集合、及び、前記対訳辞書を記憶するための記憶手段と、
前記第１の言語の文書集合、及び、前記第２の言語の文書集合の各々から、対訳表現の抽出対象となる単語をそれぞれ抽出し、第１の単語集合及び第２の単語集合を形成するための単語抽出手段と、
前記第１の単語集合及び前記第２の単語集合の各々について、単語間の直接的な関連性を、前記第１の言語の文書集合及び前記第２の言語の文書集合中における単語の共起頻度に基づいて計算するための直接的関連性計算手段と、
前記第１の単語集合及び前記第２の単語集合に含まれる単語の各々について、前記直接的関連性計算手段により計算された単語間の直接的な関連性を用い、前記複数の翻訳対の各々との間の、間接的な関連性を含めた総合的関連性を計算し、当該総合的関連性を要素とする文脈ベクトルを生成するための文脈ベクトル生成手段と、
前記第１の単語集合の単語及び前記第２の単語集合の単語の組合せのうち、対応する文脈ベクトルの類似度が基準値以上となる組合せを、前記第１の言語と前記第２の言語との対訳表現として選択し出力するための対訳表現選択手段として機能させる、対訳表現抽出のためのコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は複数の言語において、対訳表現を自動的に抽出する技術に関し、特に、パラレルコーパスを用いず、複数の言語のコーパスから対訳表現を自動的にかつ精度高く抽出する技術に関する。
【背景技術】
【０００２】
対訳表現（例えば対訳辞書）は、自動翻訳及び言語横断情報検索等、複数言語が関連する処理において重要である。対訳表現は、正確なものが多数あることが望ましい。理想的には、人手でそうした対訳表現を収集しておくと、複数言語が関連する処理の精度が向上することが期待できる。
【０００３】
しかし、人手でそうした対訳表現を大量に収集することは、コストの面からも時間の面からも難しいという問題がある。そこで、コンピュータによる自然言語処理を用いて対訳表現を自動的に収集することが考えられた。
【０００４】
そうした処理の代表的なものは、パラレルコーパスを用いるものである。パラレルコーパスとは、第１の言語（例えば日本語）の文書集合の各文書が、第２の言語（例えば英語）の文書集合の各文書の対訳になっているコーパスのことをいう。パラレルコーパスからの対訳表現の獲得は、精度がよいことが知られている。しかし、パラレルコーパスの作成には人手を要するため、その作成コストは膨大である。そのため、現在では、大規模なパラレルコーパスが利用できるのは特定の言語対のみ、又は特定の分野のみという状態である。
【０００５】
こうした問題を解決するために、ノンパラレルコーパスから対訳表現を獲得する試みがなされている。ノンパラレルコーパスとは、対訳関係にない、言語が異なる２つ以上の文書集合のことをいう。ノンパラレルコーパスから対訳表現を用いる試みとして、後掲の非特許文献１に記載されたものがある。
【０００６】
非特許文献１に記載された対訳表現抽出のための方法は以下のようになっている。以下の説明では、日本語と英語との場合を例にとる。図１を参照して、日本語文書集合５０及び英語文書集合５２、並びに複数の対訳表現を含む既存辞書５４を予め準備する。この日本語文書集合５０及び英語文書集合５２は、前述したとおり、対訳文書である必要はない。ただし、両者が同じ分野に属する文書の集合であることが望ましい。既存辞書５４が記憶している対訳表現は、日本語文書集合５０及び英語文書集合５２から対訳表現を抽出するためのデータを作成するために使用される。これら対訳表現を、本明細書では「シード翻訳対」と呼び、シード翻訳対を構成する各単語を「シード」又は「シード単語」と呼ぶ。
【０００７】
まず、既存辞書５４に含まれる対訳表現から，日本語の単語と英語の単語とを抽出する。日本語文書集合５０に含まれる各単語について、その単語と同じ文脈に現れるシードの日本語単語を特定し、その単語と各シード単語との関連度（共起度合い）を算出する。その結果、日本語単語の関連度リスト６０が得られる。英語文書集合５２についても同様に、各単語について、その単語と同じ文脈に現れるシードの英語単語を特定し、その単語と各シード単語との関連度を算出する。その結果、英語単語の関連度リスト６２が得られる。
【０００８】
関連度リスト６０が得られると、日本語文書集合５０内の各単語について、文脈ベクトル６６を作成する。文脈ベクトル６６とは、各次元を文脈内の単語（文脈単語）に対応させ、各次元の要素がその文脈単語との文脈内での共起度合いであるようなベクトルである。同様に、関連度リスト６２から英語文書集合５２内の各単語について、文脈ベクトル６８を作成する。このとき、既存辞書５４を用いて、文脈ベクトル６６の各要素と文脈ベクトル６８の各要素とが互いに対応するようにして文脈ベクトル６６及び６８を作成する。この処理が図１の右側において文脈ベクトルの次元間の関連付処理６４として表されたものである。
【０００９】
日本語の単語について文脈ベクトル６６の集合が、英語の単語について文脈ベクトル６８の集合が、それぞれ生成された後、文脈ベクトル６６の各々と、文脈ベクトル６８の各々との間で類似度の計算を行なう（図１のステップ７０）。類似度が高い文脈ベクトルのペアを特定し、それら文脈ベクトルに対応する日本語単語と英語単語とを翻訳対７２として抽出する。
【００１０】
図１に示す例では、既存辞書５４に「アマゾン─Amazon」、「ジャングル─jungle」、及び「淡水─freshwater」というシード翻訳対があったものとする。日本語の分析により、「ピラニア」について得られた文脈ベクトルが（０．８、０．６、０．５）であるものとする。ここで、文脈ベクトルの要素の順序は、アマゾン、ジャングル、淡水、という順序である。
【００１１】
英語でも同様に、「piranha」という単語について得られた文脈ベクトルが（０．８．０．６、０．５）であるものとする。ここでの文脈ベクトルの要素の順序は、日本語のものと対応づけられており、Amazon、jungle、freshwaterという順番になる。ここで、「anaconda」という単語について得られた文脈ベクトルが（０．８、０．６、０）であるものとする。
【００１２】
こうして得られた文脈ベクトルの内、日本語の「ピラニア」の文脈ベクトルと類似度の高いものとして、英語の「piranha」の文脈ベクトルを特定できる。その結果、「ピラニア─piranha」という翻訳対７２を得ることができる。「ピラニア─anaconda」という単語対は、翻訳対７２の文脈ベクトルと比較して類似度が低く、翻訳対として抽出されない。
【先行技術文献】
【非特許文献】
【００１３】
【非特許文献１】Reinhard  Rapp.  1999.  Automatic  Identification  of  Word  Translations  from  Unrelated  English  and  German  Corpora.  In  Proceedings  of  the  37th  Annual  Meeting  of  the  Association  for  Computation  Linguistics,  Pages  519-526.
【発明の概要】
【発明が解決しようとする課題】
【００１４】
しかし、この非特許文献１に記載された技術には、以下のように、依然として解決すべき問題がある。それは、既存辞書５４が小規模だと、翻訳対を特定する精度が低下するという問題である。図１を例にこの問題を説明する。
【００１５】
今、既存辞書５４に存在しているシード翻訳対の内、「淡水─freshwater」というシード翻訳対８０が存在していないものとする。すると、関連度リスト６０及び６２の生成の際に、「淡水」及び「freshwater」との関連度が得られなくなる。すなわち、図１の文脈ベクトル６６の内、淡水に関する項目８２が得られない。同様に、文脈ベクトル６８の内、freshwaterに関する項目８４も得られなくなる。すると、日本語の「ピラニア」の文脈ベクトル６６は（０．８、０．６）となる。一方、英語の「piranha」の文脈ベクトルも（０．８、０．６）となるが、「anaconda」の文脈ベクトルも（０．８、０．６）となり、いずれも日本語の「ピラニア」の文脈ベクトル６６と一致する。その結果、正しい翻訳対である「ピラニア─piranha」だけではなく、誤った翻訳対である「ピラニア─anaconda」も翻訳対として抽出されてしまう。こうした問題が広範に起こり、結果として既存辞書５４が小規模なときには翻訳対を抽出する精度が大きく低下する。
【００１６】
したがって本発明の目的は、シード翻訳対を記録した既存辞書が小規模でも、自動的に、かつ精度よく、ノンパラレルコーパスから対訳表現を抽出できる対訳表現抽出装置及び方法、並びにそのためのコンピュータプログラムを提供することである。
【課題を解決するための手段】
【００１７】
本発明の第１の局面に係る対訳表現抽出装置は、第１の言語と第２の言語との対訳辞書を用い、第１の言語の文書集合及び第２の言語の文書集合から、第１の言語と第２の言語との対訳表現を抽出する対訳表現抽出装置である。対訳辞書は、複数の翻訳対を含む。当該複数の翻訳対の各々は、第１の言語の第１のシード単語と、第２の言語の第２のシード単語とを含む。この装置は、第１の言語の文書集合、及び、第２の言語の文書集合の各々から、対訳表現の抽出対象となる単語をそれぞれ抽出し、第１の単語集合及び第２の単語集合を形成するための単語抽出手段と、第１の単語集合及び第２の単語集合の各々について、単語間の直接的な関連性を、第１の言語の文書集合及び第２の言語の文書集合中における単語の共起頻度に基づいて計算するための直接的関連性計算手段と、第１の単語集合及び第２の単語集合に含まれる単語の各々について、直接的関連性計算手段により計算された単語間の直接的な関連性を用い、複数の翻訳対の各々との間の、間接的な関連性を含めた総合的関連性を計算し、当該総合的関連性を要素とする文脈ベクトルを生成するための文脈ベクトル生成手段と、第１の単語集合の単語及び第２の単語集合の単語の組合せの内、対応する文脈ベクトルの類似度が基準値以上となる組合せを、第１の言語と第２の言語との対訳表現として選択するための対訳表現選択手段とを含む。
【００１８】
直接的関連性手段が、第１及び第２の言語の単語の各々について、それぞれ第１のシード単語及び第２のシード単語との直接的関連性を計算する。文脈ベクトル生成手段が、この直接的関連性に基づいて、第１及び第２の言語の単語の各々について、それぞれ複数の翻訳対との間接的な関連性を含む総合的関連性を計算し、それらを要素とする文脈ベクトルを生成する。対訳表現選択手段は、この文脈ベクトルに基づき、第１及び第２の言語の単語の各々について、文脈ベクトルの類似度が基準値以上となるものを対訳表現として選択する。
【００１９】
第１及び第２の言語の単語の組合せを選択するにあたり、単語とシード単語との直接的な関連性だけでなく、間接的な関連までも含め、翻訳対と各単語との総合的関連性の分布を求め、文脈ベクトルとする。その文脈ベクトルの類似度に基づいて第１の言語の単語と第２の言語の単語の対訳表現を抽出する。したがって、第１及び第２の言語との双方において、ある単語（及びそれに対応する別言語の単語）が、あるシード単語と直接の共起関係になくても、間接的な共起関係を通じてそのシード単語との関連性を調べることができる。そうしたシード単語との関連性を含めて第１の言語の単語及び第２の言語の単語に対して複数の翻訳対との関連性を調べ、その結果得られる文脈ベクトルの類似度を算出するため、より多くの情報に基づき、対訳表現を抽出できる。その結果、対訳表現の抽出精度を従来より高めることができる。
【００２０】
好ましくは、文脈ベクトル生成手段は、第１の単語集合に含まれる単語の各々について、直接的関連性計算手段により計算された単語間の直接的な関連性を用い、複数の翻訳対の各々の内の第１のシード単語との間の総合的関連性を計算し、当該総合的関連性を要素とする文脈ベクトルを生成するための第１の言語の文脈ベクトル生成手段と、第２の単語集合に含まれる単語の各々について、直接的関連性計算手段により計算された単語間の直接的な関連性を用い、複数の翻訳対の各々の内の第２のシード単語との間の総合的関連性を計算し、当該総合的関連性を要素とする文脈ベクトルを生成するための第２の文脈ベクトル生成手段とを含む。
【００２１】
より好ましくは、直接的関連性計算手段は、第１の単語集合及び第２の単語集合の各々について、単語間の直接的な関連性を、第１の言語の文書集合及び第２の言語の文書集合中における単語の、互いに直接の共起関係にある頻度に基づいて単語同士の間で計算するための計算手段と、第１の単語集合及び第２の単語集合の各々について、単語をノード、単語間の直接的な共起関係をエッジとする関連グラフを構築し、各エッジには当該エッジに対応する共起関係について計算手段により計算された直接的な関連性を割当てるための関連グラフ構築手段とを含む。
【００２２】
さらに好ましくは、第１の言語の関連性計算手段は、第１の言語について構築された関連グラフにおいて、各ノードに対応する単語について文脈ベクトル生成手段により生成された文脈ベクトルを、各エッジを介して隣接するノードに伝播させるための伝播手段と、伝播を、所定の終了条件が成立するまで繰返し実行するように伝播手段を制御するための繰返し制御手段とを含む。伝播手段は、伝播において、当該エッジに割当てられた直接的な関連性を文脈ベクトルの各要素に乗じる。
【００２３】
本発明の第２の局面に係る対訳表現抽出方法は、第１の言語と第２の言語との対訳辞書を用い、第１の言語の文書集合及び第２の言語の文書集合から、第１の言語と第２の言語との対訳表現を抽出する対訳表現抽出方法である。対訳辞書は、複数の翻訳対を含む。当該複数の翻訳対の各々は、第１の言語の第１のシード単語と、第２の言語の第２のシード単語とを含む。この方法は、第１の言語の文書集合、及び、第２の言語の文書集合の各々から、対訳表現の抽出対象となる単語をそれぞれ抽出し、第１の単語集合及び第２の単語集合を形成する単語抽出ステップと、第１の単語集合及び第２の単語集合の各々について、単語間の直接的な関連性を、第１の言語の文書集合及び第２の言語の文書集合中における単語の共起頻度に基づいて計算する直接的関連性計算ステップと、第１の単語集合及び第２の単語集合に含まれる単語の各々について、直接的関連性計算ステップにおいて計算された単語間の直接的な関連性を用い、複数の翻訳対の各々との間の、間接的な関連性を含めた総合的関連性を計算し、当該総合的関連性を要素とする文脈ベクトルを生成する文脈ベクトル生成ステップと、第１の単語集合の単語及び第２の単語集合の単語の組合せの内、対応する文脈ベクトルの類似度が基準値以上となる組合せを、第１の言語と第２の言語との対訳表現として選択する対訳表現選択ステップとを含む。
本発明の第３の局面に係るコンピュータプログラムは、第１の言語と第２の言語との対訳辞書を用い、第１の言語の文書集合及び第２の言語の文書集合から、第１の言語と第２の言語との対訳表現を抽出する対訳表現抽出装置としてコンピュータを機能させる、対訳表現抽出のためのコンピュータプログラムである。対訳辞書は、複数の翻訳対を含む。当該複数の翻訳対の各々は、第１の言語の第１のシード単語と、第２の言語の第２のシード単語とを含む。このコンピュータプログラムは、第１の言語の文書集合、第２の言語の文書集合、及び、対訳辞書を記憶するための記憶手段と、記憶手段に記憶された第１の言語の文書集合、及び、第２の言語の文書集合の各々から、対訳表現の抽出対象となる単語をそれぞれ抽出し、第１の単語集合及び第２の単語集合を形成するための単語抽出手段と、第１の単語集合及び第２の単語集合の各々について、単語間の直接的な関連性を、第１の言語の文書集合及び第２の言語の文書集合中における単語の共起頻度に基づいて計算するための直接的関連性計算手段と、第１の単語集合及び第２の単語集合に含まれる単語の各々について、直接的関連性計算手段により計算された単語間の直接的な関連性を用い、複数の翻訳対の各々との間の、間接的な関連性を含めた総合的関連性を計算し、当該総合的関連性を要素とする文脈ベクトルを生成するための文脈ベクトル生成手段と、第１の単語集合の単語及び第２の単語集合の単語の組合せのうち、対応する文脈ベクトルの類似度が基準値以上となる組合せを、第１の言語と第２の言語との対訳表現として選択し出力するための対訳表現選択手段としてコンピュータを機能させる。
【図面の簡単な説明】
【００２４】
【図１】従来の技術において、日本語文書集合及び英語文書集合と、既存辞書とを用いて翻訳対を抽出する処理を概略的に示した図である。
【図２】本発明の実施の形態において翻訳対を抽出する原理を説明するための、日本語及び英語の共起グラフの模式図である。
【図３】本発明の第１の実施の形態に係る翻訳対抽出装置の概略構成を示すブロック図である。
【図４】図３に示すシステムにおいて、関連グラフを作成する処理を実現するプログラムの制御構造を示すフローチャートである。
【図５】第１の実施の形態における処理途中で得られた日本語共起グラフ及び英語共起グラフを模式的に示す図である。
【図６】文書集合から共起グラフを生成するためのプログラムの制御構造を示すフローチャートである。
【図７】第１の実施の形態で文書集合内の各単語について、シード単語との共起度合いを算出するために、出現した文脈の数、文脈単語と共起した文脈の数、及び文書集合内にある全文脈数をカウントするためのプログラムの制御構造を示すフローチャートである。
【図８】シード翻訳対からシード集合及びシード間の対応関係を抽出する２つの方法を説明するための模式図である。
【図９】第１の実施の形態において、間接的に共起するシードを含めたシードとの関連度の分布（シード分布）を日本語共起グラフ上で伝播させる処理を説明するための模式図である。
【図１０】シード分布をグラフ全体で伝播させるためのプログラムの制御構造を示すフローチャートである。
【図１１】図１０に示すプログラムにおいて各シードに対する関連度の初期値を設定するプログラムの制御構造を示すフローチャートである。
【図１２】図１０に示すプログラムにおいて、シード分布を伝播させるステップを実現するプログラムの制御構造を示すフローチャートである。
【図１３】図１２に示すプログラムの構造をより具体的に示すプログラムの制御構造を示すフローチャートである。
【図１４】シード分布の伝播が終了した後の日本語共起グラフ及び英語共起グラフを模式的に示す図である。
【図１５】本発明の第２の実施の形態において、シード分布を伝播させるステップを実現するプログラムの制御構造を示すフローチャートである。
【図１６】本発明の第３の実施の形態において、ある言語の意味グラフを生成する処理を実現するプログラムの制御構造を示すフローチャートである。
【図１７】図１６に示す処理において、文書集合内の単語同士の文脈類似度を計算するステップを実現するプログラムの制御構造を示すフローチャートである。
【図１８】本発明の各実施の形態を実現するためのコンピュータシステムの外観を示す図である。
【図１９】図１８に示すコンピュータシステムのハードウェア構成を示すブロック図である。
【発明を実施するための形態】
【００２５】
［第１の実施の形態］
以下の説明では、同じ部品又は処理には同じ参照符号を付してある。それらの名称及び機能も同一である。したがって、それらについての詳細な説明は繰返さない。なお、以下の説明では、「文脈」とは、文書内の文又はフレーズ等、文書を構成するある単位のことをいうものとする。この文脈は、何らかのアルゴリズムで自動的に得られることが望ましい。例えば句読点等の区切り文字で分けてもよいし、接続詞により文を分割するようにしてもよい。
【００２６】
《構成》
〈基本的考え方〉
従来の技術では、各単語の文脈ベクトルを生成する際に、その単語と直接リンクしているシードとの関連度のみを用いている。しかしその結果、ある単語と間接的に共起しているシードとの関連度を無視しているという問題があった。ここで、「単語とシードとが間接的に共起している」とは、以下のような場合をいう。
【００２７】
ある単語（第１の単語と呼ぶ。）とあるシードとが、文書集合内の文脈内で共起していないものとする。しかし、第１の単語とは別の第２の単語があり、この第２の単語が文書集合内で第１の単語とも、上記したあるシードとも共起しているものとする。すると第１の単語と、あるシードとの間には、直接的な共起関係はないが、間接的な共起関係があると考えることができる。これが、「単語とシードとが間接的に共起している」ということの意味である。
【００２８】
図２を参照して、日本語共起グラフ１００は３つのシードのノード１１０，１１４及び１１８と、２つの（シードでない）ノード１３０及び１３２とを持つものとする。図２において、シードのノードは矩形で描かれ、非シードのノードは楕円で描かれている。ノード１３０は、ノード１１４及び１１８と直接の共起関係がある。一方、ノード１３０は、シードのノード１１０とは直接の共起関係にない。しかしノード１３０は、ノード１３２を介してノード１１０と間接的な共起関係にある。同様に、英語共起グラフ１０２は、シードのノード１１２、１１６及び１２０と、非シードのノード１３４、１３６及び１３８を持つものとする。図２に示すグラフの内、エッジに付された数字は、そのエッジが連結している２つのノード間の関連度（直接的な共起度合い）を示す。
【００２９】
図２に示すノードの内、シードのノード１１０とノード１１２、ノード１１４とノード１１６、及びノード１１８とノード１２０が既存辞書５４内のシード翻訳対である。これは図２ではノード間を結ぶ２本線で示されている。また、ノード１３０とノード１３４とが翻訳対として抽出されるべきノードの対であるものとする。
【００３０】
このグラフは、図１に示したものに対応している。したがって、従来技術でこのグラフから翻訳対を抽出すると、発明が解決しようとする課題の項で説明したとおりの問題（「ピラニア─piranha」だけでなく「ピラニア─anaconda」も翻訳対として抽出される。）が生ずる。
【００３１】
本実施の形態では、従来技術のように直接の共起関係だけではなく、間接的な共起関係まで含めて各ノードの文脈ベクトルを算出する。その結果、ノード１３０と直接の共起関係にないノード１１０、及び、ノード１３４と直接の共起関係にないノード１１２との関連度をノード１３０、１３４の双方について算出し、それを文脈ベクトルの要素とする。その結果、図２に示すように、ノード１３０とノード１３４とについては文脈ベクトルの類似度が高くなることが期待できる。一方、同様の計算をした場合、ノード１３８はノード１１２との間で直接的な共起関係がないばかりか、間接的な共起関係もわずかしかない。したがって、ノード１３０とノード１３８とについては、文脈ベクトルの類似度は少なくともノード１３０及び１３４の間と比較して低くなる。その結果、誤った翻訳対が抽出される確率を低くすることが出来るという効果がある。
【００３２】
〈全体構成〉
以下、この実施の形態に係る翻訳対抽出装置１６０の構成について説明する。なお、以下の説明では、言語の対については一般的に第１の言語と第２の言語を例として説明する。
【００３３】
図３を参照して、こうした翻訳対の抽出を行なう翻訳対抽出装置１６０は、第１の言語の文書集合１７０と、第２の言語の文書集合１７２と、複数のシード翻訳対１７４からなる既存の辞書とを記憶する記憶装置と、第１の言語の文書集合１７０及びシード翻訳対１７４を用い、第１の言語の文書集合１７０内から処理対象となる単語を抽出して第１の言語の単語集合を生成し、この集合内の各単語について文脈ベクトルを算出するための第１の文脈ベクトル生成部１７６と、第２の言語の文書集合１７２及びシード翻訳対１７４を用い、第２の言語の文書集合１７２内から処理対象となる単語を抽出して第２の言語の単語集合を生成し、この集合内の各単語について文脈ベクトルを算出するための第２の文脈ベクトル生成部１７８と、第１の文脈ベクトル生成部１７６及び第２の文脈ベクトル生成部１７８により、第１の言語の単語集合内の各単語及び第２の言語の単語集合内の各単語について算出された文脈ベクトルの間の関連性類似度を計算するための関連性類似度計算部１８０と、関連性類似度計算部１８０により計算された関連性類似度が所定のしきい値より高い単語の対を翻訳対として抽出するための単語対抽出部１８２とを含む。
【００３４】
第１の文脈ベクトル生成部１７６は、第１の言語の文書集合１７０及びシード翻訳対１７４を用い、第１の言語の文書集合１７０内の各単語の間の関連グラフを作成（構築）する関連グラフ作成部２００と、関連グラフ作成部２００により作成された関連グラフの各ノードについて、シードとの関連度（シード情報）を伝播させるための前処理として、シード情報を初期値化するためのシード情報初期化部２０２と、シード情報初期化部２０２により初期化されたシード情報を関連グラフの各ノード間の関連度を用いてグラフ内で伝播させ、各ノードについてシードとの間接的な関連性を含めた文脈ベクトルを生成し出力するためのシード情報伝播部２０４とを含む。関連グラフとは、各単語をノードとし、各単語間の共起関係をエッジとするグラフのことである。
【００３５】
第２の文脈ベクトル生成部１７８も第１の文脈ベクトル生成部１７６と同様の構成であり、関連グラフ作成部２００、シード情報初期化部２０２及びシード情報伝播部２０４にそれぞれ相当する関連グラフ作成部２１０、シード情報初期化部２１２及びシード情報伝播部２１４を含む。
【００３６】
図３の構成に対応する処理を実現するプログラムのフローチャートを図４に示す。ただし、図４においては、並行して実行可能な処理は別々の流れとして示してある。図４を参照して、このプログラムは、第１の言語の単語集合に含まれる各単語に対して文脈単語（同じ文脈内で共起する単語）を特定し、その単語との間の共起度合いを算出して関連グラフ２４４を算出する処理２３０と、同じく第２の言語の単語集合に含まれる各単語に対して文脈単語を特定し、その単語との共起度合いを算出して関連グラフ２４６を算出する処理２３２と、シード翻訳対１７４から各言語のシード単語を抽出する処理２３４とを含む。これら関連グラフ２４４及び関連グラフ２４６の例を、図５に日本語共起グラフ１００及び英語共起グラフ１０２として示す。関連グラフ２４４及び関連グラフ２４６は、関連グラフであるが、例えば（第１の単語、第２の単語、同一文脈内での共起度合い）の３つ組のリストである。処理２３４の詳細については後述する。
【００３７】
こうして関連グラフ２４４及び２４６を算出した後、第１の言語については処理２３６で各単語のシード分布を間接的な関連性まで含めて計算する。ここで、シード分布とは、あるノード（そのノードに対応する単語）とシードノード（シード単語）の各々との間の関連度の、シード単語の集合全体にわたる分布を表したものである。これは、文脈ベクトルと呼ばれるものと同じものを指す。シード分布は、あるノードに関する性質をシードとの関係により表すものとも考えられるので、本明細書ではシード分布をシード情報とも呼ぶ。
【００３８】
第１の言語と同様に、第２の言語については処理２３８で各単語のシード分布を間接的な関連性まで含めて計算する。この計算により、第１の言語の各単語及び第２の言語の各単語について、シードとの間接的な関連性まで含めた総合的な関連度を要素として持つ文脈ベクトルが算出される。続いて処理２４０で、第１の言語の単語と第２の言語の単語との間の組合せの各々についてシード分布の類似度を計算する。そして、類似度がしきい値より高い単語対、又は類似度が高いものから所定個数の単語対を翻訳対として抽出する（処理２４２）。
【００３９】
〈文脈単語の特定及び共起度合いの算出〉
図４に示す処理２３０の詳細について図６を参照して説明する。この処理では、まず、第１の言語の文書集合１７０の各文書の各文について形態素解析を行ない、処理対象の単語を抽出する（ステップ２７０）。続いて、文書集合から得られた単語の集合Ｖに属する各単語ｖｉに対して、第１の言語の文書集合１７０内で単語ｖｉが出現した文脈の数ｘｉ、文脈単語ｖｊと共起した文脈の数ｙｉｊ、及び第１の言語の文書集合１７０内にある文脈数Ｃをカウントする（ステップ２７２）。最後に、全文脈数Ｃ、単語ｖｉが出現した文脈数ｘｉ、及び単語ｖｉが文脈単語ｖｊと共起した文脈の数ｙｉｊを用い、単語ｖｉとその文脈単語ｖｊとの、同一文脈での共起度合いｗｉｊを算出する（ステップ２７４）。この共起度合いｗｉｊが、２つの単語ｖｉ及びｖｊの関連性を示し、日本語共起グラフ１００におけるこれら単語に対応するノード間のエッジに割当てられる。ステップ２７４が完了すると関連グラフ２４４（図５に示す日本語共起グラフ１００）が得られる。第２の言語についても同様である。なお、共起度合いｗｉｊとしては例えば以下の式に示す相互情報量を使用できる。
【００４０】
【数１】
2014010634.tif 000003
図７を参照して、図６のステップ２７２を実現するプログラムは、記憶領域を確保し初期値で初期化するステップ３００と、以下に述べる処理３０４を文書集合内の全ての文脈に対して実行するステップ３０２とを含む。以下、繰返しの対象となる文脈を文脈ａと呼ぶ。
【００４１】
処理３０４では、全文脈数Ｃに１を加算し（ステップ３１０）、文脈ａ内の単語集合Ｖａを求める（ステップ３１２）。この単語集合Ｖａ内の単語ｖｉの全てに対して、以下の処理３１６を繰返す（ステップ３１４）。
【００４２】
処理３１６では、文脈数ｘｉに１を加算する（ステップ３２０）。続いて処理３２４を単語集合Ｖａ内の全ての文脈単語ｖｊに対して繰返す。すなわち、処理３２４では単語ｖｉが文脈単語ｖｊと異なっているか否かを判定する（ステップ３３０）。両者が一致していなければ単語ｖｉが文脈単語ｖｊと共起した文脈の数ｙｉｊに１を加算して処理３２４を終わる。両者が一致していれば何もせず処理３２４を終わる。
【００４３】
続いて、図４の処理２３４の詳細について説明する。図８を参照して、処理２３４は、シード翻訳対１７４から第１の言語のシード単語集Ｌ１及び第２の言語のシード単語集Ｌ２と、シード単語集Ｌ１及びＬ２の対応関係とを求める処理である。ここで、シード翻訳対は、第１の言語の単語と第２の言語の単語との翻訳関係が１対１になっているエントリのみである場合（このようなシード翻訳対の関係を「シード翻訳対（１対１関係）」と呼ぶ。）と、第１の言語の単語と第２の言語の単語との翻訳関係が１対多関係又は多対多関係になっているものも含む場合（このような辞書のシード翻訳対の関係を「シード翻訳対（マルチ関係）」と呼ぶ。）とがある。例えば、図８のシード翻訳対Ｌは多対多なのでマルチ関係のシード翻訳対である。
【００４４】
シード翻訳対１７４がシード翻訳対（マルチ関係）である場合、処理２３４でシード単語集を抽出する場合には、マルチ関係をそれぞれの言語のシードで区別する方法（図８の下側）と、区別しない方法（図８の上側）とがあり、得られるシード単語集が両者で異なることに注意すべきである。いずれを用いても良い。図８においては、第１の言語として英語を、第２の言語として日本語を想定して対応関係を示してある。各言語で得られたシードにはインデックスを割当て、対応関係の集合Ａを、これらインデックスの組合せで示してある。図８からも分かる通り、いずれの方法をとるかで対応関係の中身が異なってくる。
【００４５】
シード翻訳対１７４がシード翻訳対（１対１関係）の場合には、いずれの方法をとっても結果は同じになる。
【００４６】
〈シード分布の計算〉
図９を参照して、図４の処理２３６及び２３８では、それぞれ、第１の言語の関連グラフと第２の言語の関連グラフとについて、非シードのあるノード（例えばノード１３０）と直接の関連を持たないシードのノードであって、間接的な関連を持つノード（例えばノード１３０に対して、ノード１３２を介して間接的に関連するシードのノード１１０）のシード情報を、間に介在するノード（例えばノード１３２）を介して伝播する。この際、シード情報はノードを連結するエッジに割当てられた関連度を乗じることで、関連度に応じて弱められた形で伝播される。また、図９には示されていないが、２つのノードの間に間接的な関連が複数ある場合にはそれら関連を全て通じて伝播されるシード情報の和が結果的に伝播される。この結果、シードでないノードの各々について、間接的な関連性も含めた総合的な関連度が、シードとの間で計算される。
【００４７】
ここでいうシード情報は、あるノードとシードノードの各々との間の関連度の分布を表したものである。これをシード分布とも呼ぶことについては前述した。シード分布は、シードを次元、シードとの関連度を重み（要素の値）としたベクトル（文脈ベクトル）であると考えることもできる。つまり、第１の言語のシード単語集Ｌ１がＮ個の単語を含む場合、単語ｖｉ∈Ｖのシード分布ベクトルｑｉは、Ｎ次元で、シード単語ｖｚに対応する各次元ｚは、単語ｖｉとシード単語ｖｚとの関連度を示す値を持つ。したがって、全単語のシード分布は、行列Ｑ（行：全単語数、列：全シード数）で表すことができる。行列Ｑｉｊのｉ行ｊ列の要素Ｑ（ｉ，ｊ）の値は、単語ｖｉのシード単語ｖｊに対する関連度を表す。
【００４８】
図４に示す処理２３６及び２３８の出力は、この行列Ｑｉｊである。言い換えると、処理２３６の場合には第１の言語の単語の個数分のＮ次元ベクトル（又は、（単語、シードの単語、両者の関連度）からなる３つ組のリスト）である。
【００４９】
図１０を参照して、例えば処理２３６を実現するプログラムは、シード単語集Ｌｉ３５０（ｉ＝１）と、関連グラフ２４４の３つ組のリストとを受けて、３つ組の単語ｖｉ∈Ｖに対して各シードｚ∈Ｌｉに対する関連度ｑｉ（ｚ）の初期値を設定する（ｑｉは行列Ｑの行ベクトルに相当するので、この処理により行列Ｑが初期化される。）。ステップ３５２と、各単語ｖｉ∈Ｖのシード分布に隣のノードのシード分布を伝播させるステップ３５４とを含む。言い換えると、ステップ３５４では、各シードに対する関連度ｑｉ（ｚ）及び行列Ｑをアップデートする。ステップ３５４の後、伝播の終了条件にマッチしたか否かが判定される。判定が肯定ならこの処理は終了し、否定なら制御はステップ３５４に戻る。すなわち、所定の終了条件が充足されるまで、ステップ３５４が繰返し実行される。本実施の形態では、終了条件として、「予め定めた回数、伝播処理（ステップ３５４）を繰返したか」という条件を用いる。
【００５０】
図１１を参照して、図１０のステップ３５２を実現するプログラムは、第１の言語の文書集合１７０（又は第２の言語の文書集合１７２）内の全単語の集合Ｖ内の各単語ｖｉ∈Ｖに対して以下の処理３７２を実行して、初期行列Ｑ０を得るステップ３７０を含む。処理３７２は、各シード単語ｚ∈Ｌｉ（Ｌｉはシード単語集、ただしｉ＝１、２）に対し、以下の処理３８２を実行するステップ３８０を含む。処理３８２では、単語ｖｉがシード単語集Ｌｉに属するか否かを判定する（ステップ４００）。判定が肯定ならさらにシード単語ｚが単語ｖｉと一致するか否かを判定する（ステップ４０２）。判定が肯定なら行列Ｑの初期行列であるＱ０の要素Ｑ０（ｉ，ｚ）に１を代入し（ステップ４０４）、否定なら０を代入して（ステップ４０６）処理３８２を終了する。ステップ４００の判定が否定なら、要素Ｑ０（ｉ，ｚ）に１／Ｎを代入して（ステップ４０８）処理３８２を終了する。すなわち、全単語の集合Ｖ内のｉ番目の単語ｖｉがシード単語集Ｌｉに属していなければ、初期行列Ｑ０のｉ番目の行の要素の全てに１／Ｎを代入し、単語ｖｉがシード単語集Ｌｉに属しており、かつシード単語ｚと一致していれば、初期行列Ｑ０のその単語とそのシード単語とに対応する要素には１を代入し、単語ｖｉがシード単語集Ｌｉに属しており、かつシード単語ｚと一致していなければ、その単語とそのシード単語とに対応する要素には０を代入する。以上の処理を全単語の集合Ｖに属する全ての単語ｖｉに対して実行することで、行列Ｑの初期行列Ｑ０が得られる。
【００５１】
図１０におけるステップ３５４及び３５６のシード分布の伝播の際には、１つ前のシード分布を利用する。したがって、シード分布の伝播は、１つ前の状態を表す行列Ｑ’（行：全単語数、列：全シード数、の行列）と、アップデートした状態を表す行列Ｑ（行：全単語数、列：全シード数、の行列）とを用いて管理する。概念的には、図１２に示すように、ステップ３５４及び３５６は、現在の状態Ｑを直前の状態Ｑ’に退避するステップ４３０と、現在の状態Ｑを更新するステップ４３２とを含む。
【００５２】
より具体的には、ステップ３５４及び３５６を実現するプログラムは以下のような制御構造を持つ。なお、本実施の形態では、ｎ回の繰返しを実行したことを繰返し処理の終了条件（図１０のステップ３５６）としている。ここで、ｎは、所望の精度が得られるように適宜定めた整数、又はｎ回の繰返しにより、結果がほぼ収束することが予測される整数である。
【００５３】
図１３を参照して、このプログラムは、行列Ｑに初期行列Ｑ０を代入するステップ４５０と、変数ｍを１〜ｎまで１ずつ変化させながら、処理４５１を繰返すステップ４５２とを含む。
【００５４】
処理４５１は、行列Ｑ’に行列Ｑを代入するステップ４３０（図１２に示すものと同じ）と、各単語ｖｉ∈Ｖに対し、以下の処理４５４を実行するステップ４３２とを含む。
【００５５】
処理４５４は、各シードｚ∈Ｌｉに対し、処理４６２を実行するステップ４６０を含む。
【００５６】
処理４６２は、単語ｖｉがシード単語集Ｌｉに属するか否かを判定するステップ４７０と、ステップ４７０の判定が肯定のときに、行列Ｑの要素Ｑ（ｉ、ｚ）に行列Ｑ’の要素Ｑ’（ｉ、ｚ）を代入してこの処理４６２を終了するステップ４７２とを含む。処理４６２はさらに、ステップ４７０の判定が否定のときに、２つの変数bunbo及びbunshiに０を代入するステップ４７４と、単語ｖｉの隣の単語からなる集合の要素である各文脈単語ｖｊに対し、以下の式による計算を行なうステップ４７８を繰返して実行するステップ４７６と、ステップ４７６の繰返しが終了した時点で行列Ｑの要素Ｑ（ｉ、ｚ）に"bunshi/bunbo"の値を代入して処理４６２を終了するステップ４８０とを含む。
【数２】
2014010634.tif 000004
【００５７】
〈シード分布の類似度計算〉
図１４を参照して、上記した処理２３６及び２３８が完了すると、日本語共起グラフ１００及び英語共起グラフ１０２の双方において、非シードのノードの各々について、シードとの間接的な関連まで含めた総合的な関連度を要素とする文脈ベクトルが算出されることになる。図１４に示す例では、これらノードの文脈ベクトルにおいて、直接的にこれらノードと連結されているシードのノードだけではなく、他のノードを介して間接的にこれらノードと関連しているシード（例えばノード１３０に対するノード１１０、及びノード１３４に対するノード１１２）についても、要素となっている。その結果、図１４に示す例では、ノード１３０とノード１３４との文脈ベクトルの類似度が高くなる一方、ノード１３０とノード１３８との文脈ベクトルの類似度は、ノード１３８とノード１１２との間接的な関連度が低いため低くなる。したがってノード１３０とノード１３４を翻訳対として正しく抽出することが可能になり、ノード１３０とノード１３８とを誤って抽出する可能性が低くなる。なお、文脈ベクトルの間の類似度としては、例えばコサイン類似度を用いることができる。
【００５８】
〈単語対の抽出〉
図４の処理２４２での単語対の抽出は、上のように計算した類似度が所定のしきい値より高い対応関係を選択する、又は類似度が高いものから順番に所定個数の対応関係を選択することにより行なわれる。
【００５９】
《動作》
〈全体の動作順序〉
図４を参照して、本実施の形態の処理は、第１の言語の文書集合１７０、第２の言語の文書集合１７２、及びシード翻訳対１７４の準備、処理２３０及び処理２３２の実行、処理２３４の実行、処理２３６及び処理２３８の実行、処理２４０の実行、並びに処理２４２の実行、という順序で行なわれる。これらの内、処理２３０、処理２３２及び処理２３４は互いに独立な処理なので、同時並行的に行なうこともできるし、順次的に行なうこともできる。処理２３６及び処理２３８も同様である。これらの処理を異なるコンピュータ上で実行してもよい。
【００６０】
〈準備〉
図３及び図４を参照して、第１の言語の文書集合１７０と第２の言語の文書集合１７２、及びシード翻訳対１７４を準備しておく。第１の言語の文書集合１７０及び第２の言語の文書集合１７２は、対訳関係になくてもよい。しかしできれば同じ分野に属する文書の集合であることが望ましい。シード翻訳対１７４としては、従来のものと同様のものを使用できる。
【００６１】
〈関連グラフの作成〉
図６に示す処理を第１の言語の文書集合１７０と第２の言語の文書集合１７２との双方について実行することにより関連グラフ２４４及び２４６が作成できる。具体的には、第１の言語の文書集合１７０の場合を例にとると、図６のステップ２７０において第１の言語の文書集合１７０の各文書を形態素解析する。ステップ２７２（詳細は図７）において、第１の言語の文書集合１７０から抽出した処理対象の全単語ｖｉに対し、その単語ｖｉが出現した文脈数ｘｉ（図７のステップ３２０）、単語ｖｉが文脈単語ｖｊと共起した文脈の数ｙｉｊ（図７のステップ３３２）、及び第１の言語の文書集合１７０内にある全文脈数Ｃ（図７のステップ３１０）をカウントする。ステップ２７４で、これら全文脈数Ｃ、文脈数ｘｉ、及び単語ｖｉが文脈単語ｖｊと共起した文脈の数ｙｉｊを用い、単語ｖｉとその文脈単語ｖｊとの同一文脈での共起度合いｗｉｊを計算する。これにより、第１の言語の文書集合１７０について、（単語ｖｉ、単語ｖｊ、共起度合いｗｉｊ）のリストとして関連グラフ２４４が得られる。
【００６２】
第２の言語の文書集合１７２から得られる関連グラフ２４６についても同様である。
【００６３】
〈シード単語の抽出〉
図４の処理２３４において、図８に示すように、第１の言語及び第２の言語の双方のシード単語集Ｌ１及びＬ２を求め、さらにこれらシード単語集Ｌ１内のシードとシード単語集Ｌ２内のシードとの対応関係Ａを求める。図８に示すいずれの方法を用いてもよい。
【００６４】
〈シード分布の計算〉
図４の処理２３６及び処理２３８により、第１の言語の文書集合１７０から得られた関連グラフ２４４、及び第２の言語の文書集合１７２から得られた関連グラフ２４６において、各単語のシード分布を、非シードのノードとシードとの間接的関連を含めて伝播する処理を行なう。具体的には、例えば関連グラフ２４４に対する処理を考えると、図１０を参照して、シード単語集Ｌ１と、関連グラフ２４４を表す３つ組（単語ｖｉ、単語ｖｊ、共起度合いｗｉｊ）のリストとを用い、シード分布の状態を表す行列Ｑを初期化する（ステップ３５２）。その詳細は図１１に示したとおりである。要するに、全単語の集合Ｖ内の各単語ｖｉについて、それがシード単語かどうかを判定し、シード単語であればその単語ｖｉの文脈ベクトルの内、そのシード単語に相当する要素の値を１、シード単語に相当しない要素を０にする。単語ｖｉがシード単語でなければ、その単語ｖｉの文脈ベクトルの各要素の値を１／Ｎ（Ｎは全単語の数）とする。
【００６５】
続いて、図１０のステップ３５４で、全単語の集合Ｖ内の各単語ｖｉについて、そのシード分布に、隣のノードのシード分布を伝播させる。その詳細は図１３に示したとおりである。本実施の形態では、図１３の処理４５１をｎ回繰返したところで（図１０のステップ３５６でYES）伝播処理を終了する。この伝播処理が終了した時点で、図９に示すとおり、非シードのノードの各々（例えばノード１３０）について、そのノードと直接関連しているシード（日本語共起グラフ１００において直接そのノードと連結されているシードのノード）だけでなく、他のノードを介して間接的にそのノードと関連しているシード（例えばノード１１０）との関連性もノードの文脈ベクトルに反映された状態となっている。
【００６６】
〈翻訳対の抽出〉
図４の処理２４０では、シード情報伝播部２０４で第１の言語の各ノードについて得られた文脈ベクトルと、シード情報伝播部２１４で第２の言語の各ノードについて得られた文脈ベクトルとのコサイン類似度を計算する。続いて処理２４２において、コサイン類似度が所定のしきい値より大きな文脈ベクトルのペアに対応するノード対を翻訳対として抽出する。
【００６７】
図１４に示す日本語共起グラフ１００と英語共起グラフ１０２の場合、ノード１３０とノード１３４との文脈ベクトルの類似度が高いため、これら２つのノードに対応する日本語の単語「ピラニア」と英語の単語「piranha」とが翻訳対として抽出される。英語のノード１３８（"anaconda"に対応する）は、"fish"に対応するノード１１２との間接的な関連性が低い。そのため、ノード１３０の文脈ベクトルとノード１３８の文脈ベクトルとの間の類似度は低く、「ピラニア─anaconda」の組合せは翻訳対としては抽出されない。
【００６８】
［第２の実施の形態］
上記第１の実施の形態では、図１３に示す処理４５１を所定回数（ｎ回）繰返した時点で繰返しを終了している。しかし本発明はそのような実施の形態には限定されない。例えば、各繰返しにおいて、各ノードの文脈ベクトルが、直前の繰返し時と比較してどの程度変化しているかを調べ、この変化量があるしきい値以下となった時点で繰返しを終了しても良い。この第２の実施の形態は、そのような実施の形態である。
【００６９】
《構成》
第２の実施の形態に係る装置は、第１の実施の形態の装置と比較して、図１０のステップ３５４及びステップ３５６の部分のみが異なる。それらに対応する処理を実現するプログラムの制御構造を図１５に示す。
【００７０】
図１５を参照して、このプログラムは、各単語に対するシード分布を表すベクトル（文脈ベクトル）を要素とする行列Ｑに、図１０のステップ３５２で得られた初期行列Ｑ０を代入するステップ５３０と、変数ｍａｘの値が予め定められたしきい値θより大きいという条件が成立している間、以下に説明する処理５３４を繰返すステップ５３２を含む。
【００７１】
処理５３４は、変数ｍａｘに０を代入し、直前の行列Ｑを保存する行列Ｑ’に行列Ｑを代入するステップ５５０と、全単語の集合Ｖに属する各単語ｖｉについて、以下に説明する処理５５４を実行するステップ５５２とを含む。
【００７２】
処理５５４は、シード単語集Ｌｉ内の各シード単語ｚに対し、処理５６２を繰返すステップ５６０を含む。処理５６２は、図１３に示す処理４６２と似ているが、図１３のステップ４７６の後に、行列Ｑの要素Ｑ（ｉ、ｚ）から行列Ｑ’の要素Ｑ’（ｉ、ｚ）を減算した値（差分）が変数ｍａｘより大きいか否かを判定するステップ５８８と、差分が変数ｍａｘより大きい場合、変数ｍａｘに差分の値を代入して処理５６２を終了し、そうでない場合、何もせず処理５６２を終了するステップ５９０とを含む点において処理４６２と異なっている。
【００７３】
《動作》
この実施の形態に係る装置は、第１の実施の形態の装置とほぼ同様に動作する。異なるのは、図３のシード情報伝播部２０４及びシード情報伝播部２１４、すなわち図４の処理２３６及び処理２３８の処理の終了条件が異なる点だけである。すなわちこの実施の形態では、所定回数だけ伝播処理を行なったときに処理を終了するのではなく、図１５の処理５３４を行なうごとに、行列Ｑの各要素の差分の最大値を変数ｍａｘに保存し変数ｍａｘの値がしきい値θ以下となったときに処理を終わる。その他の点では、この装置は第１の実施の形態の装置と同じ動作をする。
【００７４】
［第３の実施の形態］
第１及び第２の実施の形態では、共起グラフを関連グラフとして用いている。しかし本発明は、そのような実施の形態には限定されない。共起グラフのように単語ｖｉと文脈単語ｖｊとの共起度合いそのものではなく、単語ｖｉと文脈単語ｖｊとの文脈類似度を用いたグラフ（意味グラフと呼ぶ）を関連グラフとして用いても良い。ここで、文脈類似度は共起度合いを用いて算出されるもので、以下の手順で得られるもののことをいう。
【００７５】
単語ｖｉとその各文脈単語ｖｊとの間の共起度合いｆｉｊを求める。この処理により得られる共起度合いｆｉｊを文脈単語ｖｊの順序にしたがって並べることによりベクトルが得られるが、このベクトルは単語ｖｉに対する文脈ベクトルと考えることができる。この、単語ｖｉの文脈ベクトルをベクトルｆｉ＊と書く。ベクトルｆｉ＊は、共起度合いｆｉｊの中で、単語ｖｉとその文脈単語に対応する値の全てからなるベクトルである。全単語の集合Ｖ内の単語ｖｉと単語ｖｊの組合せの全てについて、このベクトルｆｉ＊及びｆｊ＊のコサイン類似度を計算し、その値を文脈類似度ωｉｊとする。文脈類似度ωｉｊを第１及び第２の実施の形態における共起度合いｗｉｊと同様に用いても、第１及び第２の実施の形態と同様の効果を得ることができる。
【００７６】
具体的なプログラム構成について図１６を参照して説明する。図１６を参照して、このプログラムは、図６に示すものと同様のステップ２７０及び２７２と、図６のステップ２７４において共起度合いｗｉｊを共起度合いｆｉｊという表現に変えただけのステップ６１０とを含む。このプログラムはさらに、ステップ６１０で得られた共起度合いｆｉｊを用い、既に述べた方法にしたがって例えば第１の言語の文書集合１７０内の単語ｖｉ及び単語ｖｊの組合せの全てについて文脈類似度ωｉｊを計算することにより、関連グラフとしての意味グラフを生成するステップ６１２を含む。この意味グラフは、本実施の形態では、３つ組（単語ｖｉ、単語ｖｊ、文脈類似度ωｉｊ）のリストである。
【００７７】
この第３の実施の形態に係る装置は、第１及び第２の実施の形態における、図３の関連グラフ作成部２００及び関連グラフ作成部２１０、並びに図４の処理２３０及び処理２３２の処理において、図６の処理に代えて図１６の処理が実行される点のみにおいて異なっている。その他の点では、第３の実施の形態に係る装置は第１及び第２の実施の形態に係る装置と同様に動作する。
【００７８】
図１７を参照して、図１６に示すステップ６１２は、各単語ｖｉ∈Ｖに対して以下の処理６３２を実行するステップ６３０を含む。処理６３２は、各単語ｖｊ∈Ｖに対して以下の処理６４２を実行するステップ６４０を含む。
【００７９】
処理６４２は、単語ｖｉが単語ｖｊと等しいか否かを判定するステップ６５０と、ステップ６５０の判定が肯定のときに、単語ｖｉの文脈ベクトルｆｉ＊と単語ｖｊの文脈ベクトルｆｊ＊とのコサイン類似度を計算し、その値を文脈類似度ωｉｊに代入して処理６４２を終了するステップ６５２とを含む。ステップ６５０の判定が否定の時には、処理６４２は終了する。
【００８０】
［補足］
なお、第１及び第２の実施の形態において、共起度合いｗｉｊとしては相互情報量以外にも、対数尤度比、ダイス係数、χ二乗値、ｚ値等、共起度を測る統計指標、及び、tf・idf値等、単語ｖｉの文脈における文脈単語ｖｊの特徴度を測る指標等も用いることができる。また、図６のステップ２７４で得られた共起度合いｗｉｊについて、その値が所定のしきい値より小さい場合に、その共起度合いｗｉｊを削除してもよい。また、各単語ｖｉに対して共起度合いｗｉｊの上位の所定個数のみを使用し、他は削除するようにしてもよい。第３の実施の形態における図１６のステップ６１２におけるωｉｊでも同様である。
【００８１】
以上に説明した実施の形態において、図４の処理２４２での出力には、第１の言語の全単語と第２の言語の全単語とについての類似度を保持しておく必要はなく、出力において要請される形式にしたがって保存すべき情報のみを残し、他は消去してよい。例えば、各単語に対して類似度が最上位の単語とのペアを出力する場合、第１の言語の各単語に対して、第２の言語の単語の内、類似度が最も高いものとその類似度のみを管理しておけば良い。
【００８２】
以下、出力形式の要請として考えられる場合と、それらに対応する出力の例とを示す。
【００８３】
［コーパスから翻訳対を抽出する場合］
（１）第１の言語の各単語に対して類似度が上位１位の第２の言語の単語からなるペアを出力
（２）第１の言語の各単語と、当該単語に対して類似度が上位Ｎ位までの第２の言語の単語からなるペアを出力（Ｎは人手で予め設定する。）
（３）第１及び第２の言語の単語のペアの内、類似度が予め定めたしきい値以上のものを出力
（４）上記（１）又は（２）と（３）との組合せ
上記実施の形態では、第１の言語の文書集合１７０と第２の言語の文書集合１７２とが与えられ、両者から翻訳対を抽出している。しかし、本発明はそのような実施の形態のみに適用可能な訳ではない。他の方式で翻訳対を求める場合にも適用できる。例えば、第１の言語のある単語が与えられた場合、その単語に対する翻訳を求める場合も、第１〜第３の実施の形態の方法をほぼそのまま転用できる。第１〜第３の実施の形態において、第１の言語の単語中で、入力された特定の単語のみを処理の対象とすればよい。この場合にも、出力として、入力された単語に対し類似度が最上位の１個の第２の言語の単語を出力するようにしてもよいし、予め指定された複数個の単語を出力するようにしてもよい。さらに、類似度が予め定めたしきい値以上の単語のみを出力するようにしてもよい。この場合には、入力された単語に対する訳語が存在しないという場合もあり得る。
【００８４】
［コンピュータによる実現］
上記実施の形態に係る対訳表現抽出装置及びこの装置により実行される対訳表現抽出方法は、コンピュータハードウェアと、そのコンピュータハードウェア上で実行されるコンピュータプログラムとにより実現できる。図１８はこのコンピュータシステム７３０の外観を示し、図１９はコンピュータシステム７３０の内部構成を示す。
【００８５】
図１８を参照して、このコンピュータシステム７３０は、メモリポート７５２及びＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｃ）ドライブ７５０を有するコンピュータ７４０と、キーボード７４６と、マウス７４８と、モニタ７４２とを含む。
【００８６】
図１９を参照して、コンピュータ７４０は、メモリポート７５２及びＤＶＤドライブ７５０に加えて、ＣＰＵ（中央処理装置）７５６と、ＣＰＵ７５６、メモリポート７５２及びＤＶＤドライブ７５０に接続されたバス７６６と、ブートアッププログラム等を記憶する読出専用メモリ（ＲＯＭ）７５８と、バス７６６に接続され、プログラム命令、システムプログラム、シード翻訳対１７４、第１及び第２の文書集合１７０及び１７２、共起グラフのデータ、及び作業データ等を一時的に記憶するランダムアクセスメモリ（ＲＡＭ）７６０とを含む。コンピュータシステム７３０はさらに、ＣＰＵ７５６が使用するデータを記憶するハードディスク７５４と、コンピュータ７４０と他端末との通信を可能とするネットワーク７７０への接続を提供するネットワークインターフェイスカード（ＮＩＣ）７６８とを含む。図１９に示されるように、コンピュータ７４０のバス７６６にはさらに、プリンタ７４４を接続してもよい。
【００８７】
ハードディスク７５４は、上記した各実施の形態の対訳表現抽出装置の各機能部をコンピュータシステム７３０のコンピュータハードウェアにより実現するためのコンピュータプログラム、シード翻訳対１７４、第１及び第２の文書集合１７０及び１７２等のデータを記憶する不揮発性の補助記憶装置である。このコンピュータプログラムは、ＤＶＤドライブ７５０又はメモリポート７５２にそれぞれ装着されるＤＶＤ７６２又はリムーバブルメモリ７６４に記憶され、さらにハードディスク７５４に転送され記憶される。又は、プログラムはネットワーク７７０及びＮＩＣ７６８を通じてコンピュータ７４０に送信されハードディスク７５４に記憶されてもよい。上記各実施の形態の装置及び方法を実現するためのプログラム、シード翻訳対１７４、並びに第１及び第２の文書集合１７０及び１７２等の各種のデータは実行の際に適宜ＲＡＭ７６０にロードされる。ＤＶＤ７６２から、リムーバブルメモリ７６４から、又はネットワークを介して、直接にＲＡＭ７６０に各種データをロードしてもよい。
【００８８】
このプログラムは、コンピュータ７４０を、上記実施の形態に係る対訳表現抽出装置の各機能部として機能させるための複数の命令を含む。この動作を行なわせるのに必要な基本的機能のいくつかはコンピュータ７４０上で動作するオペレーティングシステム（ＯＳ）若しくはサードパーティのプログラム、又は、コンピュータ７４０にインストールされる各種プログラミングツールキットのモジュール若しくはフレームワークにより提供される。したがって、このプログラムはこの実施の形態のシステム及び方法を実現するのに必要な命令全てを必ずしも含まなくてよい。このプログラムは、命令の内容にしたがい、所望の結果が得られるように制御されたやり方で適切な機能又はプログラミングツールキット内の適切なプログラムツールを呼出すことにより、上記したシステムとしての機能を実現する命令のみを含んでいればよい。このように、適宜必要な命令又は一連の命令の集合を必要に応じて適宜記憶装置から読出して実行する際のコンピュータシステム７３０の動作は周知である。したがってここではその詳細な説明は繰返さない。
【００８９】
以上、今回開示された実施の形態は単に例示であって、本発明が上記した実施の形態のみに制限されるわけではない。本発明の範囲は、発明の詳細な説明の記載を参酌した上で、特許請求の範囲の各請求項によって示され、そこに記載された文言と均等の意味及び範囲内での全ての変更を含む。
【符号の説明】
【００９０】
５０  日本語文書集合
５２  英語文書集合
５４  既存辞書
６０、６２  関連度リスト
６６、６８  文脈ベクトル
１００  日本語共起グラフ
１０２  英語共起グラフ
１１０，１１２，１１４，１１６，１１８，１２０  シードのノード
１３０，１３２，１３４，１３６，１３８  シード以外のノード
１７０  第１の言語の文書集合
１７２  第２の言語の文書集合
１７６  第１の文脈ベクトル生成部
１７８  第２の文脈ベクトル生成部
１８０  関連性類似度計算部
１８２  単語対抽出部
１８４  単語対
【図１】
2014010634.tif 000005
【図２】
2014010634.tif 000006
【図３】
2014010634.tif 000007
【図４】
2014010634.tif 000008
【図５】
2014010634.tif 000009
【図６】
2014010634.tif 000010
【図７】
2014010634.tif 000011
【図８】
2014010634.tif 000012
【図９】
2014010634.tif 000013
【図１０】
2014010634.tif 000014
【図１１】
2014010634.tif 000015
【図１２】
2014010634.tif 000016
【図１３】
2014010634.tif 000017
【図１４】
2014010634.tif 000018
【図１５】
2014010634.tif 000019
【図１６】
2014010634.tif 000020
【図１７】
2014010634.tif 000021
【図１８】
2014010634.tif 000022
【図１９】
2014010634.tif 000023