(58)【調査した分野】(Int.Cl.,DB名)
前記選択部は、前記第1文対応付け決定部によって決定された前記第1文書と前記第2文書との間での文の対応付けに基づいて、前記第1部分文書と前記第2部分文書とのペアを表す変数xijklのうち、前記集合XLに含まれない変数xijklであって、前記変数xijklが表すペアについて最適化するように計算される前記対応付けスコアに基づいて計算される被約費用を最大とする変数xijklを1つ選択し、
前記反復判定部は、前記選択部によって選択された変数xijklの前記被約費用が負の値であるか否かを判定し、変数xijklの被約費用が負の値でない場合には、前記選択部によって選択された前記変数xijklを前記集合XLへ追加して、前記第1文対応付け決定部による決定、及び前記選択部による選択を繰り返し、
前記変数xijklの被約費用が負の値である場合には、貪欲法に従って、前記第1文書の複数の文の各々についての前記文スコア、前記第2文書の複数の文の各々についての前記文スコア、及び前記第1文書の複数の文と前記第2文書の複数の文との対の各々についての前記対スコアに基づいて、対応付けられる前記第1部分文書と前記第2部分文書とのペアの前記第1部分文書が、他のペアの前記第1部分文書と重複せず、かつ、対応付けられる前記第1部分文書と前記第2部分文書とのペアの前記第2部分文書が、他のペアの前記第2部分文書と重複せず、かつ、対応付けられる前記第1部分文書と前記第2部分文書とのペアの各々について最適化するように計算される前記対応付けスコアを用いて求められる前記目的関数が最大となるように、前記第1部分文書と前記第2部分文書とのペアの各々から、対応付けられる前記第1部分文書と前記第2部分文書とのペアを少なくとも1つ決定し、
前記対応付けられる前記第1部分文書と前記第2部分文書とのペアを決定したときの前記目的関数の値と、前記第1文対応付け決定部において得られた前記ペアの各々について最適な対応付けスコアを用いて求められる前記目的関数の値との差分が、前記選択部によって選択された変数xijklの前記被約費用より大きい場合には、前記第1文対応付け決定部による決定、及び前記選択部による選択の繰り返しを終了し、前記差分が、前記選択部によって選択された変数xijklの前記被約費用以下である場合には、前記選択部によって選択された前記変数xijklを前記集合XLへ追加して、前記第1文対応付け決定部による決定、及び前記選択部による選択を繰り返す請求項1記載の文対応付け決定装置。
前記選択部は、前記第1文対応付け決定部によって決定された前記第1文書と前記第2文書との間での文の対応付けに基づいて得られる、前記第1部分文書の各文に対応する変数の値及び前記第2部分文書の各文に対応する変数の値と、前記第1文書の複数の文の各々についての前記文スコアと、前記第2文書の複数の文の各々についての前記文スコアと、前記第1文書の複数の文と前記第2文書の複数の文との対の各々についての前記対スコアとに基づいて、動的計画法に従って、前記第1文書の複数の文と前記第2文書の複数の文との各ペアについて、最適化するように前記ペアに対する編集操作スコアを算出し、各ペアについて前記編集操作スコアを算出した結果をバックトラッキングすることにより、前記第1部分文書と前記第2部分文書とのペアを表す変数xijklのうち、前記集合XLに含まれない変数xijklであって、前記被約費用が最大となる変数xijklを1つ選択する請求項2記載の文対応付け決定装置。
第1文対応付け決定部と、選択部と、反復判定部と、第2文対応付け決定部と、を含む、複数の文を含む第1文書と、複数の文を含む第2文書との間で、文の対応付けを決定する文対応付け決定装置における、文対応付け決定方法であって、
前記第1文対応付け決定部が、前記第1文書の複数の文の各々についての前記文が対応付けに利用されない度合いを表す文スコア、前記第2文書の複数の文の各々についての前記文が対応付けに利用されない度合いを表す文スコア、及び前記第1文書の複数の文と前記第2文書の複数の文との対の各々についての前記対が対応付けられる度合いを表す対スコアに基づいて、前記第1文書のうちの連続するi番目からj番目までの文からなる第1部分文書と、前記第2文書のうちの連続するk番目からl番目までの文からなる第2部分文書とのペアを表す変数xijklの集合XLに含まれる各変数xijklが表す前記第1部分文書と前記第2部分文書とのペアのうちの少なくとも1つのペアの各々について、前記ペアの前記第1部分文書と前記第2部分文書との間で文の対応付けに応じて計算される対応付けスコアを最適化するように文の対応付けを決定し、前記第1文書と前記第2文書との間での文の対応付けし、
前記選択部が、前記第1文対応付け決定部によって決定された前記第1文書と前記第2文書との間での文の対応付けに基づいて、前記第1部分文書と前記第2部分文書とのペアを表す変数xijklのうち、前記集合XLに含まれない変数xijklの何れか1つを選択し、
前記第2文対応付け決定部が、前記反復判定部が、予め定められた反復終了条件を満たすまで、前記選択部によって選択された前記変数xijklの前記集合XLへの追加、前記第1文対応付け決定部による決定、及び前記選択部による選択を繰り返し、
前記第1文書の複数の文の各々についての前記文スコア、前記第2文書の複数の文の各々についての前記文スコア、及び前記第1文書の複数の文と前記第2文書の複数の文との対の各々についての前記対スコアに基づいて、対応付けられる前記第1部分文書と前記第2部分文書とのペアの前記第1部分文書が、他のペアの前記第1部分文書と重複せず、かつ、対応付けられる前記第1部分文書と前記第2部分文書とのペアの前記第2部分文書が、他のペアの前記第2部分文書と重複せず、かつ、対応付けられる前記第1部分文書と前記第2部分文書とのペアの各々について最適化するように計算される前記対応付けスコアを用いて求められる目的関数が最大となるように、前記集合XLに含まれる変数xijklが表す前記第1部分文書と前記第2部分文書とのペアの各々から、対応付けられる前記第1部分文書と前記第2部分文書とのペアを少なくとも1つ決定し、対応付けられた前記第1部分文書と前記第2部分文書とのペアの各々について前記対応付けスコアを最適化するように決定した文の対応付けを、前記第1文書と前記第2文書との間での文の対応付けとして決定する
文対応付け決定方法。
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかし、非特許文献1記載の技術において、DPマッチングに基づく方法は高速ではあるが、文間の対応付けにおいて文の出現順序の交差を許さないため、交差を含むような対応付けに利用できないという問題点がある。
【0005】
また、非特許文献2記載の技術は、文の順序の交差を含むような文書対を正しく対応付けすることができる一方で、文書に含まれる文の数が増加すると、整数計画法の問題の規模が急激に大きくなり、高速な計算が行えないという問題点がある。
【0006】
本発明では、上記問題点を解決するために成されたものであり、文の対応付けが交差している場合であっても、高速に文の対応付けを決定することができる文対応付け決定装置、方法、及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【0007】
上記目的を達成するために、第1の発明に係る文対応付け決定装置は、複数の文を含む第1文書と、複数の文を含む第2文書との間で、文の対応付けを決定する文対応付け決定装置であって、前記第1文書の複数の文の各々についての前記文が対応付けに利用されない度合いを表す文スコア、前記第2文書の複数の文の各々についての前記文が対応付けに利用されない度合いを表す文スコア、及び前記第1文書の複数の文と前記第2文書の複数の文との対の各々についての前記対が対応付けられる度合いを表す対スコアに基づいて、前記第1文書のうちの連続するi番目からj番目までの文からなる第1部分文書と、前記第2文書のうちの連続するk番目からl番目までの文からなる第2部分文書とのペアを表す変数x
ijklの集合X
Lに含まれる各変数x
ijklが表す前記第1部分文書と前記第2部分文書とのペアのうちの少なくとも1つのペアの各々について、前記ペアの前記第1部分文書と前記第2部分文書との間で文の対応付けに応じて計算される対応付けスコアを最適化するように文の対応付けを決定し、前記第1文書と前記第2文書との間での文の対応付けとする第1文対応付け決定部と、前記第1文対応付け決定部によって決定された前記第1文書と前記第2文書との間での文の対応付けに基づいて、前記第1部分文書と前記第2部分文書とのペアを表す変数x
ijklのうち、前記集合X
Lに含まれない変数x
ijklの何れか1つを選択する選択部と、予め定められた反復終了条件を満たすまで、前記選択部によって選択された前記変数x
ijklの前記集合X
Lへの追加、前記第1文対応付け決定部による決定、及び前記選択部による選択を繰り返す反復判定部と、前記第1文書の複数の文の各々についての前記文スコア、前記第2文書の複数の文の各々についての前記文スコア、及び前記第1文書の複数の文と前記第2文書の複数の文との対の各々についての前記対スコアに基づいて、対応付けられる前記第1部分文書と前記第2部分文書とのペアの前記第1部分文書が、他のペアの前記第1部分文書と重複せず、かつ、対応付けられる前記第1部分文書と前記第2部分文書とのペアの前記第2部分文書が、他のペアの前記第2部分文書と重複せず、かつ、対応付けられる前記第1部分文書と前記第2部分文書とのペアの各々について最適化するように計算される前記対応付けスコアを用いて求められる目的関数が最大となるように、前記集合X
Lに含まれる変数x
ijklが表す前記第1部分文書と前記第2部分文書とのペアの各々から、対応付けられる前記第1部分文書と前記第2部分文書とのペアを少なくとも1つ決定し、対応付けられた前記第1部分文書と前記第2部分文書とのペアの各々について前記対応付けスコアを最適化するように決定した文の対応付けを、前記第1文書と前記第2文書との間での文の対応付けとして決定する第2文対応付け決定部と、を含んで構成されている。
【0008】
第2の発明に係る文対応付け決定方法は、第1文対応付け決定部と、選択部と、反復判定部と、第2文対応付け決定部と、を含む、複数の文を含む第1文書と、複数の文を含む第2文書との間で、文の対応付けを決定する文対応付け決定装置における、文対応付け決定方法であって、前記第1文対応付け決定部が、前記第1文書の複数の文の各々についての前記文が対応付けに利用されない度合いを表す文スコア、前記第2文書の複数の文の各々についての前記文が対応付けに利用されない度合いを表す文スコア、及び前記第1文書の複数の文と前記第2文書の複数の文との対の各々についての前記対が対応付けられる度合いを表す対スコアに基づいて、前記第1文書のうちの連続するi番目からj番目までの文からなる第1部分文書と、前記第2文書のうちの連続するk番目からl番目までの文からなる第2部分文書とのペアを表す変数x
ijklの集合X
Lに含まれる各変数x
ijklが表す前記第1部分文書と前記第2部分文書とのペアのうちの少なくとも1つのペアの各々について、前記ペアの前記第1部分文書と前記第2部分文書との間で文の対応付けに応じて計算される対応付けスコアを最適化するように文の対応付けを決定し、前記第1文書と前記第2文書との間での文の対応付けし、前記選択部が、前記第1文対応付け決定部によって決定された前記第1文書と前記第2文書との間での文の対応付けに基づいて、前記第1部分文書と前記第2部分文書とのペアを表す変数x
ijklのうち、前記集合X
Lに含まれない変数x
ijklの何れか1つを選択し、前記反復判定部が、予め定められた反復終了条件を満たすまで、前記選択部によって選択された前記変数x
ijklの前記集合X
Lへの追加、前記第1文対応付け決定部による決定、及び前記選択部による選択を繰り返し、前記第2文対応付け決定部が、前記第1文書の複数の文の各々についての前記文スコア、前記第2文書の複数の文の各々についての前記文スコア、及び前記第1文書の複数の文と前記第2文書の複数の文との対の各々についての前記対スコアに基づいて、対応付けられる前記第1部分文書と前記第2部分文書とのペアの前記第1部分文書が、他のペアの前記第1部分文書と重複せず、かつ、対応付けられる前記第1部分文書と前記第2部分文書とのペアの前記第2部分文書が、他のペアの前記第2部分文書と重複せず、かつ、対応付けられる前記第1部分文書と前記第2部分文書とのペアの各々について最適化するように計算される前記対応付けスコアを用いて求められる目的関数が最大となるように、前記集合X
Lに含まれる変数x
ijklが表す前記第1部分文書と前記第2部分文書とのペアの各々から、対応付けられる前記第1部分文書と前記第2部分文書とのペアを少なくとも1つ決定し、対応付けられた前記第1部分文書と前記第2部分文書とのペアの各々について前記対応付けスコアを最適化するように決定した文の対応付けを、前記第1文書と前記第2文書との間での文の対応付けとして決定する。
【0009】
第1及び第2の発明によれば、第1文対応付け決定部により、第1文書の複数の文の各々についての文スコア、第2文書の複数の文の各々についての文スコア、及び第1文書の複数の文と第2文書の複数の文との対の各々についての対スコアに基づいて、第1文書の第1部分文書と、第2文書の第2部分文書とのペアを表す変数x
ijklの集合X
Lに含まれる各変数x
ijklが表す第1部分文書と第2部分文書とのペアのうちの少なくとも1つのペアの各々について、ペアの第1部分文書と第2部分文書との間で計算される対応付けスコアを最適化するように文の対応付けを決定し、第1文書と第2文書との間での文の対応付けし、選択部により、決定された第1文書と第2文書との間での文の対応付けに基づいて、第1部分文書と第2部分文書とのペアを表す変数x
ijklのうち、集合X
Lに含まれない変数x
ijklの何れか1つを選択し、反復判定部により、予め定められた反復終了条件を満たすまで、選択された変数x
ijklの集合X
Lへの追加、決定、及び選択を繰り返し、第2対応付け決定部が、第1文書の複数の文の各々についての文スコア、第2文書の複数の文の各々についての文スコア、及び第1文書の複数の文と第2文書の複数の文との対の各々についての対スコアに基づいて、対応付けられる第1部分文書と第2部分文書とのペアの第1部分文書が、他のペアの第1部分文書と重複せず、かつ、対応付けられる第1部分文書と第2部分文書とのペアの第2部分文書が、他のペアの第2部分文書と重複せず、かつ、対応付けられる第1部分文書と第2部分文書とのペアの各々について最適化するように計算される対応付けスコアを用いて求められる目的関数が最大となるように、集合X
Lに含まれる変数x
ijklが表す第1部分文書と第2部分文書とのペアの各々から、対応付けられる第1部分文書と第2部分文書とのペアを少なくとも1つ決定し、対応付けられた第1部分文書と第2部分文書とのペアの各々について対応付けスコアを最適化するように決定した文の対応付けを、第1文書と第2文書との間での文の対応付けとして決定する。
【0010】
このように、対応付けられる第1部分文書と第2部分文書とのペアの第1部分文書が、他のペアの第1部分文書と重複せず、かつ、対応付けられる第1部分文書と第2部分文書とのペアの第2部分文書が、他のペアの第2部分文書と重複せず、かつ、対応付けられる第1部分文書と第2部分文書とのペアの各々について最適化するように計算される対応付けスコアを用いて求められる目的関数が最大となるように、集合X
Lに含まれる変数x
ijklが表す第1部分文書と第2部分文書とのペアの各々から、対応付けられる第1部分文書と第2部分文書とのペアを少なくとも1つ決定し、対応付けられた第1部分文書と第2部分文書とのペアの各々について対応付けスコアを最適化するように決定した文の対応付けを、第1文書と第2文書との間での文の対応付けとして決定することにより、文の対応付けが交差している場合であっても、高速に文の対応付けを決定することができる。
【0011】
また、第1の発明に係る文対応付け決定装置において、前記選択部は、前記第1文対応付け決定部によって決定された前記第1文書と前記第2文書との間での文の対応付けに基づいて、前記第1部分文書と前記第2部分文書とのペアを表す変数x
ijklのうち、前記集合X
Lに含まれない変数x
ijklであって、前記変数x
ijklが表すペアについて最適化するように計算される前記対応付けスコアに基づいて計算される被約費用を最大とする変数x
ijklを1つ選択し、前記反復判定部は、前記選択部によって選択された変数x
ijklの前記被約費用が負の値であるか否かを判定し、変数x
ijklの被約費用が負の値でない場合には、前記選択部によって選択された前記変数x
ijklを前記集合X
Lへ追加して、前記第1文対応付け決定部による決定、及び前記選択部による選択を繰り返し、前記変数x
ijklの被約費用が負の値である場合には、貪欲法に従って、前記第1文書の複数の文の各々についての前記文スコア、前記第2文書の複数の文の各々についての前記文スコア、及び前記第1文書の複数の文と前記第2文書の複数の文との対の各々についての前記対スコアに基づいて、対応付けられる前記第1部分文書と前記第2部分文書とのペアの前記第1部分文書が、他のペアの前記第1部分文書と重複せず、かつ、対応付けられる前記第1部分文書と前記第2部分文書とのペアの前記第2部分文書が、他のペアの前記第2部分文書と重複せず、かつ、対応付けられる前記第1部分文書と前記第2部分文書とのペアの各々について最適化するように計算される前記対応付けスコアを用いて求められる前記目的関数が最大となるように、前記第1部分文書と前記第2部分文書とのペアの各々から、対応付けられる前記第1部分文書と前記第2部分文書とのペアを少なくとも1つ決定し、前記対応付けられる前記第1部分文書と前記第2部分文書とのペアを決定したときの前記目的関数の値と、前記第1文対応付け決定部において得られた前記ペアの各々について最適な対応付けスコアを用いて求められる前記目的関数の値との差分が、前記選択部によって選択された変数x
ijklの前記被約費用より大きい場合には、前記第1文対応付け決定部による決定、及び前記選択部による選択の繰り返しを終了し、前記差分が、前記選択部によって選択された変数x
ijklの前記被約費用以下である場合には、前記選択部によって選択された前記変数x
ijklを前記集合X
Lへ追加して、前記第1文対応付け決定部による決定、及び前記選択部による選択を繰り返してもよい。
【0012】
また、第1の発明に係る文対応付け決定装置は、前記選択部は、前記第1文対応付け決定部によって決定された前記第1文書と前記第2文書との間での文の対応付けに基づいて得られる、前記第1部分文書の各文に対応する変数の値及び前記第2部分文書の各文に対応する変数の値と、前記第1文書の複数の文の各々についての前記文スコアと、前記第2文書の複数の文の各々についての前記文スコアと、前記第1文書の複数の文と前記第2文書の複数の文との対の各々についての前記対スコアとに基づいて、動的計画法に従って、前記第1文書の複数の文と前記第2文書の複数の文との各ペアについて、最適化するように前記ペアに対する編集操作スコアを算出し、各ペアについて前記編集操作スコアを算出した結果をバックトラッキングすることにより、前記第1部分文書と前記第2部分文書とのペアを表す変数x
ijklのうち、前記集合X
Lに含まれない変数x
ijklであって、前記被約費用が最大となる変数x
ijklを1つ選択する。
【0013】
また、本発明のプログラムは、コンピュータを、上記の文対応付け決定装置を構成する各部として機能させるためのプログラムである。
【発明の効果】
【0014】
以上説明したように、本発明の文対応付け決定装置、方法、及びプログラムによれば、対応付けられる第1部分文書と第2部分文書とのペアの第1部分文書が、他のペアの第1部分文書と重複せず、かつ、対応付けられる第1部分文書と第2部分文書とのペアの第2部分文書が、他のペアの第2部分文書と重複せず、かつ、対応付けられる第1部分文書と第2部分文書とのペアの各々について最適化するように計算される対応付けスコアを用いて求められる目的関数が最大となるように、集合X
Lに含まれる変数x
ijklが表す第1部分文書と第2部分文書とのペアの各々から、対応付けられる第1部分文書と第2部分文書とのペアを少なくとも1つ決定し、対応付けられた第1部分文書と第2部分文書とのペアの各々について対応付けスコアを最適化するように決定した文の対応付けを、第1文書と第2文書との間での文の対応付けとして決定することにより、文の対応付けが交差している場合であっても、高速に文の対応付けを決定することができる。
【発明を実施するための形態】
【0016】
以下、図面を参照して本発明の実施の形態を詳細に説明する。
【0017】
<本発明の原理>
まず、本発明の原理について説明する。本発明は、二つの異なる文書が与えられたときに、それらの間に含まれる文の間の対応関係を求めるものである。文同士の対応関係を求めることは、統計的機械翻訳において必要とされる対訳データを生成するために不可欠な処理である。また、そのほかにも、ある文書の違法なコピーを発見する問題なども、文の対応関係を求めることによって解くことができる。日本語と英語との文書の対応付けの例を
図1に示す。
図1は5文の英文からなる文書Aと、4文の日本語の文からなる文書Bとの文対応付けの例である。線で結ばれた文同士が対応付けられている。
【0018】
また、本発明においては、非特許文献2の方法と同様に、文対応付けを整数計画法の問題として定式化して解く。この際に、列生成法(非特許文献3:Marco E. Lubbecke, Jacques Desrosiers, “Selected Topics in Column Generation”,Operations Research,Vol. 53, No.6, pp.1007-1023 (2005))を用いることによって、高速に整数計画法の問題を解く。
【0019】
本実施の形態においては、翻訳元言語の文書と当該文書を翻訳した翻訳先言語の文書との対応付けを行う。ここでは、翻訳元言語の文書の集合をEとし、翻訳先言語の文書の集合をFとする。集合Eに含まれる各文をe
iと表し、1≦i≦|E|とする。また、|E|は、集合Eに含まれる文の総数とする。同様に、集合Fに含まれる各文をf
k(1≦k≦|F|)とし、|F|は、集合Fに含まれる文の総数とする。なお、以下では、e
i,jで、集合Eの連続するi番目からj番目までの文からなる文の集まり(部分文書)を表すとする。集合Fについても同様に表現する。
【0020】
ここで、集合E及び集合Fの各々に含まれる文毎に、当該文が対応付けに利用されない度合いを表す文スコアが与えられ、集合Eに含まれる文の各々と、集合Fに含まれる文の各々の対毎に、当該文の対が対応付けされる度合いを表す対スコアが与えられている。なお、文e
iの文スコアをw(e
i)、文f
kの文スコアをw(f
k)、文の対について与えられる対スコアをw(e
i,f
k)と表す(e
i∈E、f
k∈F)。また、部分文書e
i,jと部分文書f
k,lの対応付けを行ったときの当該部分文書のペアの対応付けスコアをw
ij,klと表す。また、部分文書のペアの対応付けスコアw
ij,klは、下記(1)式に従って、再帰的に計算することができるため、任意のw
ij,klについては、w
ii,kkから順に再帰的に計算することで求めることができる。なお、翻訳元言語の文書における部分文書を第1部分文書とし、翻訳先言語の文書における部分文書を第2部分文書とする。
【0022】
翻訳元言語の文書と当該文書を翻訳した翻訳先言語の文書との対応付けは、下記(2)式の整数計画問題を解き、最適マッチング計算を行うことによって実現可能である。
【0024】
ここで、x
ijklは、対応付けが行われた第1部分文書e
i,jと第2部分文書f
k,lとのペア(e
i,…,e
j,f
k,…,f
l)を表すバイナリ変数である。最終的に得られた対応付けにおいて部分文書のペア(e
i,…,e
j,f
k,…,f
l)が含まれているときにx
ijklは1をとり、そうでないときに0をとる。λはペアを加えることに対するコストであり、w
ij,klに対して大きいλを設定することで、できるだけ大きい文の集まり同士で対応が取られ易くする。この問題を、整数計画問題ソルバーを用いて解くことによって文の対応付けを求めることができるが、変数x
ijklの個数は|E|(|E|−1)|F|(|F|−1)/4となり、小さな|E|、|F|に対しても多数の変数を用意する必要があるため、問題を解くことが困難になる。
【0025】
そこで、本発明においては、この問題を、列生成法を用いて解く。列生成法は、最適解でx
ijkl=1となるような変数の数はごく少数であることに着目し、変数の数を減らした制約つき主問題を繰り返し解くことによって所望の解を求める最適化手法である。具体的な制約つき主問題は下記(3)式に示す。
【0027】
ここでX
Lは制約つき主問題で利用される変数の集合であり、可能な全ての変数x
ijklの集合の部分集合となっている。なお、上記(3)式に示す制約つき主問題を解く際に、必要となるw
ij,klのみ上記(1)式に従って求めるものとする。
【0028】
<本発明の実施の形態に係る文対応付け決定装置の構成>
次に、本発明の実施の形態に係る文対応付け装置の構成について説明する。
図2に示すように、本発明の実施の形態に係る文対応付け決定装置100は、CPUと、RAMと、後述する文対応付け決定処理ルーチンを実行するためのプログラムや各種データを記憶したROMと、を含むコンピュータで構成することが出来る。この文対応付け決定装置100は、機能的には
図2に示すように入力部10と、演算部20と、対応付け結果出力部50とを備えている。
【0029】
入力部10は、対応付けを行う対象である2つの文書の入力を受け付ける。入力される2つの文書は、翻訳元である英語の文書と、当該英語の文書を翻訳した日本語の文書とである。また、入力部10は、入力部10において受け付けた英語の文書及び日本語の文書に含まれる各文の各々に与えられる文スコア、及び英語の文書に含まれる文と日本語の文書に含まれる文との対の各々に与えられる対スコアを受け付け、メモリ(図示省略)に記憶する。なお、翻訳元である英語の文書が第1文書であり、当該英語の文書を翻訳した日本語の文書が第2文書の一例である。
【0030】
演算部20は、メモリ(図示省略)に記憶されている英語の文書の集合Eに含まれる文の各々の文スコアと、日本語の文書の集合Fに含まれる文の各々の文スコアと、文の対の各々の対スコアとを用いて、上記(3)式に示す目的関数が最大となるような部分文書同士の対応付けを決定する。
【0031】
演算部20は、第1文対応付け決定部32と、選択部34と、反復判定部36と、第2文対応付け決定部38と、を備えている。
【0032】
整数線形計画問題処理装置200は、文対応付け決定装置100の外部にある、整数計画問題及び線形計画問題を解くための装置であり、演算部20から呼び出されて使われる。整数線形計画問題処理装置200として、市販の任意の整数計画問題ソルバー及び線形計画問題ソルバーを利用すればよい。
【0033】
以下に、演算部20による最適マッチング計算について説明する。
【0034】
まず、第1文対応付け決定部32により、整数線形計画問題処理装置200において、上記(3)式の最適化問題を解くことによって行われる。
【0037】
を用意し、X
Lに初期アイテムを追加する。初期アイテムとして集合Eに含まれる全ての文と、集合Fに含まれる全ての文からなるペアx
1|E|1|F|を加える。次に、メモリに記憶されている集合Eに含まれる文の各々の文スコアと、集合Fに含まれる文の各々の文スコア、及び英語の複数の文と日本語の複数の文との対の各々についての対スコアに基づいて、変数x
ijklの集合X
Lに含まれる各変数x
ijklが表す第1部分文書と第2部分文書とのペアのうちの少なくとも1つのペアの各々について、ペアの第1部分文書と第2部分文書との間で文の対応付けに応じて計算される対応付けスコアを最適化するように文の対応付けを決定し、第1文書と第2文書との間での文の対応付けとする。具体的には、上記(3)式に従って、制約つき主問題を解く。制約つき主問題は線形計画問題であるから、線形計画問題ソルバーを用いることによって主問題を最大化することができる。
【0038】
次に、選択部34により、第1文対応付け決定部32によって決定された英語の文書と日本語の文書との間での文の対応付けに基づいて、第1部分文書と第2部分文書とのペアを表す変数x
ijklのうち、集合X
Lに含まれない変数x
ijklであって、変数x
ijklが表すペアについて最適化するように計算される対応付けスコアに基づいて計算される被約費用を最大とするような可能なアイテム
【0040】
を1つ選択する。ここでアイテムx
ijklに対する被約費用を
〜c
ij,klとすると、
【0043】
u
m、v
nは制約つき主問題の双対問題の解における、m文目(1≦m≦|E|)に対応する変数とn文目(1≦n≦|F|)に対応する変数の値であり、これらの値は、制約つき主問題の最適解が求まると容易に計算できる。被約費用を最大とするアイテムを選ぶ問題をSmith−Watermanアルゴリズム(非特許文献4:Temple F. Smith and Michael S. Waterman, “Identification of Common Molocular Subsequences”,Journalof Molecular Biology No. 147, pp. 195-197 (1981))を用いて解く。
【0044】
Smith−Watermanアルゴリズムは、系列間の編集操作に対するコストが与えられたときに、2つの系列の任意の部分系列のペアのうち、編集操作の編集操作スコア
〜c
jlを最大とするものを求めることができる、動的計画法アルゴリズムである。具体的には、まず、予めメモリ(図示省略)に記憶されているスコア表、及びバックトラック表を初期化する。次に、下記(4)式の漸化式
【0046】
に基づいて、動的計画法に従って、すべてのj,lの組合せについて、最適化するように編集操作スコア
〜c
jlを求めると共に、スコア表、及びバックトラック表のセルに格納したのちに、スコア表のセルに格納されている編集操作スコア
〜c
jlの最大値を選択し、バックトラック表を用いて、バックトラッキングすることによって被約費用最大となるx
ijklを求める。
【0047】
次に、反復判定部36により、選択部34において選択されたx
ijklの被約費用が負の値であるか否か判定する。もし被約費用が負の値でない場合には、X
Lに、選択部34において選択されたx
ijklを追加し、第1文対応付け決定部32及び選択部34の処理を繰り返し行う。一方、被約費用が負である場合、貪欲法に従って、Smith−Watermanアルゴリズムを用いて整数実行可能解を求める。具体的な手順は以下のとおりである。
【0048】
1.全てのx
ijklから、被約費用を最大とするx
ijklをSmith−Watermanアルゴリズムを用いて求める。
2.選ばれなかった文からなる集合(e
1,…,e
i−1,f
1,…,f
k−1)、(e
j+1,…,e
|E|,f
l+1,…,f
|F|)のそれぞれについてSmith−Watermanアルゴリズムを実行して、それぞれについて被約費用を最大とする文のまとまりを得る。
3.被約費用を最大とする文のまとまりを取り除いた文の集合について、上記2の手順を繰り返し実行する。
【0049】
次に、上記1〜3の手順により繰り返し求められた被約費用を最大とするx
ijklの各々を1として、上記(3)式の目的関数の値を計算し、実行可能解の目的関数値とする。
【0050】
そして、選択されたアイテムの被約費用
〜c
ijklについて、実行可能解の目的関数値と、第1文対応付け決定部32で求められた目的関数値とに基づいて、下記(5)式の条件を満たすか否かを判定する。選択されたアイテムの被約費用
〜c
ijklが下記(5)式の条件を満たさないならば(被約費用以下の場合)、選択部34により選択したアイテムx
ijklを集合X
Lに追加して、第1文対応付け決定部32及び選択部34の処理を繰り返し行う。
【0052】
反復判定部36は、選択されたアイテムの被約費用
〜c
ijklが上記(5)式の条件を満たす場合には、選択部34により選択したアイテムx
ijklを集合X
Lに追加せずに、第1文対応付け決定部32及び選択部34の処理の繰り返しを終了する。なお上記(5)式の条件が反復終了条件の一例である。
【0053】
第2文対応付け決定部38は、集合X
Lを用いて、制約付き主問題にx
ijklが0または1をとるという制約を加えて、メモリに記憶されている集合Eに含まれる文の各々の文スコアと、集合Fに含まれる文の各々の文スコアと、英語の複数の文と日本語の複数の文との対の各々についての対スコアと、最終的に得られた変数の集合X
Lとに基づいて、下記(6)式に従って、制約つき主問題を整数計画問題として解く。
【0055】
上記(6)式の最適化問題(整数計画問題)を解くことによって、対応付けられる第1部分文書と第2部分文書とのペアの第1部分文書が、他のペアの第1部分文書と重複せず、かつ、対応付けられる第1部分文書と第2部分文書とのペアの第2部分文書が、他のペアの第2部分文書と重複せず、かつ、対応付けられる第1部分文書と第2部分文書とのペアの各々について最適化するように計算される対応付けスコアを用いて求められる目的関数が最大となるように、集合X
Lに含まれる変数x
ijklが表す第1部分文書と第2部分文書とのペアの各々から、対応付けられる第1部分文書と第2部分文書とのペアを少なくとも1つ決定し、対応付けられた第1部分文書と第2部分文書とのペアの各々について対応付けスコアを最適化するように決定した文の対応付けを、第1文書と第2文書との間での文の対応付けとして決定し、対応付け結果出力部50へ出力する。
【0056】
<本発明の実施の形態に係る文対応付け決定装置の作用>
次に、本発明の実施の形態に係る文対応付け決定装置100の作用について説明する。入力部10において、対応付けを行う対象である英語の文書、及び当該英語を翻訳した日本語の文書と、英語の文書及び日本語の文書に含まれる各文の各々に与えられる文スコアと、英語の文書に含まれる文と日本語の文書に含まれる文との対の各々に与えられる対スコアとを受け付けると、文対応付け決定装置100は、
図3に示す文対応付け決定処理ルーチンを実行する。
【0057】
まず、ステップS100では、メモリに記憶されている、入力部10において受け付けた英語の文書及び日本語の文書に含まれる各文の各々に与えられる文スコア、及び英語の文書に含まれる文と日本語の文書に含まれる文との対の各々に与えられる対スコアを読み込む。
【0058】
次に、ステップS102では、入力部10において受け付けた英語の文書と、日本語の文書と、ステップS100において取得した英語の文書及び日本語の文書に含まれる各文の各々に与えられる文スコアと、英語の文書に含まれる文と日本語の文書に含まれる文との対の各々に与えられる対スコアとに基づいて、最適マッチング計算を行う。
【0059】
次に、ステップS104では、ステップS102において取得した最適マッチング計算において決定した文の対応付けを、英語の文書と日本語の文書との間での文の対応付けとして決定し、対応付け結果出力部50に出力して文対応付け決定処理ルーチンを終了する。
【0060】
上記ステップS102は、
図4に示す最適マッチング計算処理ルーチンによって実現される。
【0061】
図4のステップS200は、変数の集合X
L(集合X
Lの初期状態は空集合である)に、入力部10において受け付けた英語の文書の集合Eに含まれる全ての文と、日本語の文書の集合Fに含まれる全ての文とからなるペアx
1|E|1|F|を初期アイテムとして加える。
【0062】
次に、ステップS202では、ステップS100において取得した英語の文書及び日本語の文書に含まれる各文の各々に与えられる文スコアと、英語の文書に含まれる文と日本語の文書に含まれる文との対の各々に与えられる対スコアとに基づいて、整数線形計画問題処理装置200を用いて、上記(3)式に従って、制約つき主問題を解く。
【0063】
次に、ステップS204では、ステップS202における制約つき主問題の解に基づいて、第1部分文書と第2部分文書とのペアを表す変数x
ijklのうち、集合X
Lに含まれない変数x
ijklであって、被約費用を最大とするアイテムx
ijklを選択する。
【0064】
次に、ステップS206では、ステップS204において選択したアイテムx
ijklの被約費用が負であるか否かを判定する。選択したアイテムの被約費用が負である場合には、ステップS210へ移行し、選択したアイテムの被約費用が0以上である場合には、ステップS208へ移行する。
【0065】
次に、ステップS208では、ステップS204において選択したアイテムx
ijklを変数の集合X
Lに追加してステップS202へ移行する。
【0066】
ステップS210では、貪欲法に従って、Smith−Watermanアルゴリズムを用いて整数実行可能解の目的関数値を求める。
【0067】
次に、ステップS212では、ステップS202において取得した目的関数値と、ステップS210において取得した整数実行可能解の目的関数値とに基づいて、ステップS204において選択したアイテムx
ijklの被約費用が上記(5)式の条件を満たすか否かを判定する。選択したアイテムの被約費用が上記(5)式の条件を満たす場合にはステップS214へ移行し、選択したアイテムの被約費用が上記(5)式の条件を満たさない場合には、ステップS208へ移行する。
【0068】
次に、ステップS214では、ステップS100において取得した、英語の文書及び日本語の文書に含まれる各文の各々に与えられる文スコアと、英語の文書に含まれる文と日本語の文書に含まれる文との対の各々に与えられる対スコアと、最終的に得られた変数の集合X
Lとに基づいて、整数線形計画問題処理装置200を用いて、上記(6)式に従って、制約つき主問題を解いて、最適マッチング計算処理ルーチンを終了する。
【0069】
上記ステップS204は、
図5に示すアイテム選択処理ルーチンによって実現される。
【0070】
図5のステップS300は、予めメモリ(図示省略)に記憶されているスコア表及びバックトラック表を初期化する。
【0071】
次に、ステップS302では、ステップS100において取得した、英語の文書及び日本語の文書に含まれる各文の各々に与えられる文スコアと、英語の文書に含まれる文と日本語の文書に含まれる文との対の各々に与えられる対スコアと、ステップS202における制約つき主問題の解に基づいて得られる英語の文書の各文に対応する変数及び日本語の文書の各文に対応する変数の値とに基づいて、上記(4)式に従って、すべてのj,lの組み合わせについて、動的計画法に従って、最適化するように編集操作スコア
〜c
jlを計算し、計算結果を、スコア表、及びバックトラック表のセルに格納する。
【0072】
次に、ステップS304では、ステップS302において取得した、スコア表に基づいて、編集操作スコア
〜c
j,lの最大値を選択し、バックトラック表に基づいて、選択された最大値のセルから、バックトラッキングすることによって、被約費用が最大となるx
ijklを求める。
【0073】
次に、ステップS306では、ステップS304において取得したアイテムx
ijklに対する被約費用を算出し、ステップS304において取得したアイテムx
ijklと、当該アイテムに対する被約費用とを出力し、アイテム選択処理ルーチンを終了する。
【0074】
以上説明したように、本発明の実施の形態に係る文対応付け決定装置によれば、対応付けられる第1部分文書と第2部分文書とのペアの第1部分文書が、他のペアの第1部分文書と重複せず、かつ、対応付けられる第1部分文書と第2部分文書とのペアの第2部分文書が、他のペアの第2部分文書と重複せず、かつ、対応付けられる第1部分文書と第2部分文書とのペアの各々について最適化するように計算される対応付けスコアを用いて求められる目的関数が最大となるように、集合X
Lに含まれる変数x
ijklが表す第1部分文書と第2部分文書とのペアの各々から、対応付けられる第1部分文書と第2部分文書とのペアを少なくとも1つ決定し、対応付けられた第1部分文書と第2部分文書とのペアの各々について対応付けスコアを最適化するように決定した文の対応付けを、英語の文書と日本語の文書との間での文の対応付けとして決定することにより、文の対応付けが交差している場合であっても、高速に文の対応付けを決定することができる
【0075】
なお、本発明は、上述した実施形態に限定されるものではなく、この発明の要旨を逸脱しない範囲内で様々な変形や応用が可能である。
【0076】
また、本実施の形態においては、選択した被約費用が負である場合には、貪欲法で実行可能解を求める処理に移行(上記ステップS210)する場合について説明したが、これに限定されるものではない。例えば、選択した被約費用が負である場合には、上記ステップS214の処理へ移行してもよい。この場合、上記ステップS210で求まる解は必ずしも最適解である保証はないが、ステップS200において、初期解としてx
1|E|1|F|を加えているため、少なくともx
1|E|1|F|=1で他の変数がすべて0になるような実行可能解を見つけることができる。
【0077】
また、各文についての文スコア、文の対の各々についての対スコアが入力される場合を例に説明したが、これに限定されるものではなく、従来既知の手法を用いて、各文についての文スコア、文の対の各々についての対スコアを算出してもよい。
【0078】
また、本願明細書中において、プログラムが予めインストールされている実施形態として説明したが、当該プログラムを、コンピュータ読み取り可能な記録媒体に格納して提供することも可能であるし、ネットワークを介して提供することも可能である。