"文の対に対する2つの有向対応付けモデルを表わすデータを受信し、前記対の一方の文は第1言語であり、前記対の他方の文は異なる第2の言語であり、前記2つの有向対応付けモデルから組み合わせ双方向対応付けモデルを導出し、前記双方向対応付けモデルを評価し、前記双方向対応付けモデルの評価から前記文の対に対する対応を導出することを特徴とする方法。前記双方向モデルは、前記2つの有向対応付けモデルと前記埋め込まれたモデルによる予測を単一の対称単語対応に変換する追加の構成とを埋め込むことを特徴とする請求項1記載の方法。前記双方向対応付けモデルを評価して対応の解を生成することを特徴とする請求項2記載の方法。前記双方向対応付けモデルを評価して対応の解を生成することを特徴とする請求項1記載の方法。前記双方向対応付けモデルを評価して2つの対応の解を生成し、第1の解は前記第1の言語から前記第2の言語への方向である第1の方向での対応付けモデルであり、第2の解は前記第2の言語から前記第1の言語への方向である第2の方向での対応付けモデルであり、前記文の対に対する対応は、第1の対応付けモデルと第2の対応付けモデルとを組み合わせて導出することを特徴とする請求項4記載の方法。前記双方向モデルは、前記2つの有向対応付けモデルと前記埋め込まれたモデルによる予測を単一の対称単語対応に変換する追加の構成とを埋め込むことを特徴とする請求項5記載の方法。前記2つの有向対応付けモデルはそれぞれ隠れマルコフ対応付けモデルであることを特徴とする請求項6記載の方法。前記2つの有向対応付けモデルはそれぞれ隠れマルコフ対応付けモデルであることを特徴とする請求項1記載の方法。コンピュータプログラムがエンコードされた非一時的コンピュータ記憶媒体であり、前記プログラムは、1つまたは複数のコンピュータにより実行された際に、前記1つまたは複数のコンピュータに以下の動作を行わせる:文の対に対する2つの有向対応付けモデルを表わすデータを受信し、一方の文は第1言語であり、他方の文は異なる第2の言語であり、前記2つの有向対応付けモデルから組み合わせ双方向対応付けモデルを導出し、前記双方向対応付けモデルを評価し、前記双方向対応付けモデルの評価から前記文の対に対する対応を導出することを特徴とするコンピュータ記憶媒体。前記双方向モデルは、前記2つの有向対応付けモデルと前記埋め込まれたモデルによる予測を単一の対称単語対応に変換する追加の構成とを埋め込むことを特徴とする請求項9記載のコンピュータ記憶媒体。前記双方向対応付けモデルを評価して対応の解を生成することを特徴とする請求項10記載のコンピュータ記憶媒体。前記双方向対応付けモデルを評価して対応の解を生成することを特徴とする請求項9記載のコンピュータ記憶媒体。前記双方向対応付けモデルを評価して2つの対応の解を生成し、第1の解は前記第1の言語から前記第2の言語への方向である第1の方向での対応付けモデルであり、第2の解は前記第2の言語から前記第1の言語への方向である第2の方向での対応付けモデルであり、前記文の対に対する対応は、第1の対応付けモデルと第2の対応付けモデルとを組み合わせて導出することを特徴とする請求項12記載のコンピュータ記憶媒体。前記双方向モデルは、前記2つの有向対応付けモデルと前記埋め込まれたモデルによる予測を単一の対称単語対応に変換する追加の構成とを埋め込むことを特徴とする請求項13記載のコンピュータ記憶媒体。前記2つの有向対応付けモデルはそれぞれ隠れマルコフ対応付けモデルであることを特徴とする請求項14記載のコンピュータ記憶媒体。前記2つの有向対応付けモデルはそれぞれ隠れマルコフ対応付けモデルであることを特徴とする請求項9記載のコンピュータ記憶媒体。動作可能な指示を記憶する1つまたは複数のコンピュータおよび1つまたは複数の記憶装置を有するシステムであり、前記指示は、前記1つまたは複数のコンピュータにより実行された際に、前記1つまたは複数のコンピュータに以下の動作を行わせる:文の対に対する2つの有向対応付けモデルを表わすデータを受信し、一方の文は第1言語であり、他方の文は異なる第2の言語であり、前記2つの有向対応付けモデルから組み合わせ双方向対応付けモデルを導出し、前記双方向対応付けモデルを評価し、前記双方向対応付けモデルの評価から前記文の対に対する対応を導出することを特徴とするシステム。前記双方向モデルは、前記2つの有向対応付けモデルと前記埋め込まれたモデルによる予測を単一の対称単語対応に変換する追加の構成とを埋め込むことを特徴とする請求項17記載のシステム。前記双方向対応付けモデルを評価して対応の解を生成することを特徴とする請求項18記載のシステム。前記双方向対応付けモデルを評価して対応の解を生成することを特徴とする請求項17記載のシステム。前記双方向対応付けモデルを評価して2つの対応の解を生成し、第1の解は前記第1の言語から前記第2の言語への方向である第1の方向での対応付けモデルであり、第2の解は前記第2の言語から前記第1の言語への方向である第2の方向での対応付けモデルであり、前記文の対に対する対応は、第1の対応付けモデルと第2の対応付けモデルとを組み合わせて導出することを特徴とする請求項20記載のシステム。前記双方向モデルは、前記2つの有向対応付けモデルと前記埋め込まれたモデルによる予測を単一の対称単語対応に変換する追加の構成とを埋め込むことを特徴とする請求項21記載のシステム。前記2つの有向対応付けモデルはそれぞれ隠れマルコフ対応付けモデルであることを特徴とする請求項22記載のシステム。前記2つの有向対応付けモデルはそれぞれ隠れマルコフ対応付けモデルであることを特徴とする請求項17記載のシステム。イントロダクション本明細書は、アライナの組み合わせに対する、モデルベースの代替案であり、2つの有向対応付けモデルの相反する予測を、これら2つの有向対応付けモデルをより大規模な図式モデル中に埋め込むことにより解消する代替案を説明する以下双方向モデルと称する。双方向モデルにおける潜在変数は、2つの有向マルコフ対応付けモデルにおける潜在変数の真の上位集合である。このモデルの構成およびポテンシャルは2つの有向モデル間の不一致を許容し、一致を与える。さらに、双方向モデルは、1対1の句対応付け構造を実施し、これにより、句対応付けモデル、同期ITGInversionTransductionGrammarモデルおよび最新の教師ありモデルに示されるのと同様の構造的利点を得る。双方向モデルでは、モデルグラフ中に辺のサイクルが多く存在するため、推論を計算することができない。しかし、近似推論法の1つとして、双対分解を用いることができる。組み合わせモデル空間を探索するため、潜在的なマルコフ対応付けモデルの効率的なシーケンスアルゴリズムを、繰り返し適用することができる。この近似が収束した場合、完全モデルによる最適性の証明を得たことになる。アライナの組み合わせに対するこのモデルベースのアプローチは、対応付けおよび句抽出の品質を向上させる。モデル定義双方向モデルは、頂点vertex集合Vおよび辺edge集合Dにより定義される図式モデルであり、文eおよびその翻訳文fの長さを条件として構築される。各頂点はモデル変数Viに対応し、各無向辺は変数の対に対応する。各頂点は、対応する頂点ポテンシャル関数vivjを有し、この関数は実数値を有するポテンシャルをViの採り得る値viのそれぞれに対し割り当てる。同様に、各辺は、1対の値を有する、対応するポテンシャル関数μijvi,vjを有する。モデル変数に対する完全な割り当てvのモデルによる確率はVとインデックス付けされ、頂点および辺のポテンシャルを考慮に入れたものである。双方向モデルは、2つの有向隠れマルコフ対応付けモデル、および、これらの埋め込まれたモデルによる予測を単一の対称単語対にする追加の構成を含む。以下のパラグラフでは、まず有向モデルを説明し、それから、2つの有向モデルを結合双方向モデルに組み合わせる追加構成を説明する。隠れマルコフ対応付けモデルここでは、従来の隠れマルコフ対応付けモデルを説明するこれは、例えば、StephanVogel,HermannNey,andChristophTillmann,HMM-BasedWord,AlignmentinStatisticalTranslation,inProceedingsofthe16thConferenceonComputationalLinguistics,1996に記載されている。本モデルは、単語シーケンスeを条件とする単語シーケンスfを生成する。従来、eの単語はiとインデックス付けされ、fはjとインデックス付けされる。Pf|eは潜在対応ベクトルaにより定義され、ここで、aj=iはeの単語位置iがfの単語位置jに対応づけられることを示す。上式2において、放射モデルMは、単語の種類による、学習済み多項分布を示す。遷移モデルDは、遷移距離による多項式であり、ヌル対応は例外として扱われる。ci‘-iは符号付き距離による学習済み分布であり、iからの、可能性のある遷移に対して正規化されている。条件付き多項式Mのパラメータ、遷移モデルcおよびヌル遷移パラメータpoはすべて、文を対応付けたコーパスから期待値最大化アルゴリズムにより学習可能である。所与の文対e,fに対するモデルによる単語対応ベクトルの最大確率は、標準ビタビアルゴリズムを、時間O|e|2|f|において、隠れマルコフモデルに対して用いることにより、正確に算出することができる。対応ベクトルaは、単語対応リンクの集合Aに明らかに変換可能である。Aa={i,j:aj=i,i≠0}.このように構築された集合Aは常に1対多である。多数の位置jを同一のiに対応付けることも可能だが、各jは、集合中に最大1回のみ出現する。上記説明はeからfを生成する有向モデルを定義した。同様に構成された、fからeを生成するモデルを定義することも可能である。対応のベクトルをbとし、bi=jはfの単語位置jはeの単語位置iに対応付けられるものとする。そして、Pe,b|fも式2同様に定義できるが、eとfとが入れ替わる。2つのモデルの遷移分布および放出分布は、モデルの生成方向f→eまたはe→fを示すサブスクリプトにより区別される。ベクトルbは1対多対応リンクの集合と解釈できる:各値iは最大1回のみ集合中に出現する。Ab={i,j:bi=j,j≠0}.アライナ組み合わせのモデル以下に説明するように、アライナを組み合わせることにより、双方向モデルを作成することができる。これは、2つの有向アライナのすべてのランダム変数およびアライナ間の一致を促して差異を解消する追加構成を含む図式モデル中に、アライナを埋め込むことにより実現できる。双方向モデルは、観測対象の単語シーケンスeおよびf、ならびに上に定義された対応変数aおよびbの2つのベクトルを含む。eおよびfの単語の種類および長さは常に観測対象の文対により固定されるため、変数aおよびbのみを用いて同一のモデルを定義することができる。この場合、aj,fjおよびe間のエッジポテンシャルは、ajの頂点ポテンシャルにコンパイルされ、fおよびeにより定義され、いずれのbiについても同様である。図1は、英語と中国語の単純な文対に対する双方向図式モデルのグラフ構成を示す図である。変数a、bおよびc以下に説明は、図中、ラベルにより示される。aおよびb間のエッジポテンシャルは式2の遷移モデルをエンコードする。さらに、ランダムビット行列cは、組み合わせアライナの出力をエンコードする。各ランダム変数は、ajおよびbiに接続している。これらコヒーレンスエッジが、有向モデルの対応変数を、組み合わせ空間のブーリアン変数に接続する。これらの辺により、モデルが変数a、bおよびcの3つの集合をエンコードし、さらに、文対のコヒーレント対応解析をエンコードすることが可能になる。図1はモデルのグラフ構成を図示する。コヒーレンスポテンシャルコヒーレンスエッジのポテンシャルは、学習されず、また、データセット中のいかなるパターンも表わさない。代わりに、これらは、整数値を有する有向変数aおよびb、ならびにブーリアン値を有する組み合わせ変数cの整合性を促す固定関数である。変数の割り当てaj=iを考えると、i=0はfjがヌル対応であり、i>0はfjがeiに対応付けられることを示す。コヒーレンスポテンシャルは、変数割り当てaj=iといずれかのi‘:0<i’≦|e|の変数ci‘jとの間に、以下の関係性を成立させる。i=0ヌル対応の場合、すべてのci‘j=0i>0の場合、cij=1の場合のみ、ci’j>0i‘≠iに対しci’j=1を割り当てることは、コストe-αを要し、αは学習済定数である例:0.3この効果のパターンは、各辺において、ポテンシャル関数μcでエンコードすることができる。これらのエッジポテンシャル関数はそれぞれ変数ajに対して整数値iを採り、ci‘jに対してバイナリ値kを採る。bおよびc間の辺のポテンシャルも同様に定義される。モデルプロパティ行列cは、双方向モデルにより生成される最終的な対応と解釈され、ここでaおよびbは無視する。このように、有向モデルの1対多の制約が緩和される。しかし、どのように単語が対応付けられるかについての情報はすべてaおよびbの頂点および辺のポテンシャルにより表わされる。コヒーレンスエッジおよびリンク行列cは、有向モデル間の矛盾を解消し、両者間で情報のやり取りを行うのみである。有向対応は双方向モデルのコンポーネントとしてそのまま維持されるため、潜在的有向マルコフ対応付けモデルに対する、レキシカライズド遷移モデルこれは、例えば、XiaodongHe,Usingword-dependenttransitionmodelsinHMMbasedwordalignmentforstatisticalmachine,inACLWorkshoponStatisticalMachineTranslation,2007に記載されている、拡張調整コンテキストこれは、例えば、JamieBrunning,AdriadeGispert,andWilliamByrne,Context-dependentalignmentmodelsforstatisticalmachinetranslation,inProceedingsoftheNorthAmericanChapteroftheAssociationforComputationalLinguistics,2009に記載されている、および外部情報これは、例えば、進藤裕之、藤野昭典、永田昌明、Wordalignmentwithsynonymregularization,inProceedingsoftheAssociationforComputationalLinguistics,2010に記載されている等を含む拡張や洗練化は、容易に双方向モデルへの組み込みが可能である。a,b,cに対するいずれの非ゼロ確率の割り当てに対しても、cは、最大フレーズ長を3とする1対1の句対応をエンコードする必要がある。すなわち、一方の文中の何れの単語も、他方の文中の最大3語に対し対応付けることができ、これらの語は隣接する必要がある。この制約は、式7のエッジポテンシャルにより、直接実施される。モデル推論一般的に、閉路を有さない図式モデルは、効率的かつ正確な推論アルゴリズムを実現させる。しかし、残念ながら、双方向モデルには無数の閉路が含まれる。インデックスi,jおよびi‘,j’の対毎に、グラフ中に以下の閉路が存在することになるcij→bi→cij‘→aj’→ci‘j’→bi‘→ci’j→aj→cijaj-1およびajの間ならびにbi-1およびbiの間の辺を介して、追加の閉路がグラフ中に存在する。選択されたエッジポテンシャル関数のために、句の対応付けに対する非ゼロ確率割り当ての空間が制限され、双方向モデルにおける推論は、NP困難として知られる一般的な句の対応付けの問題の例である。双対分解図式モデル全体がループを有する一方、2つの重なり合う、閉路を有さない部分グラフが存在する。一方の部分グラフGaが変数aおよびcに対応するすべての頂点を含む。他方の部分グラフGbは変数bおよびcの頂点を含む。グラフ中の各辺は正確に2つの部分グラフのいずれか一方に属する。双対分解推論アプローチにより、この部分グラフ構造の利用が実現する例えば、AlexanderM.Rush,DavidSontag,MichaelCollins,andTommiJaakkola,Ondualdecompositionandlinearprogrammingrelaxationsfornaturallanguageprocessing,inProceedingsoftheConferenceonEmpiricalMethodsinNaturalLanguageProcessing,2010を参照。特に、正確な推論を、繰り返し、部分グラフ問題に適用し、部分グラフ問題のポテンシャルを調整して、完全問題の制約を反映させることができる。双対分解の技術は近年係り受け解析において最新の性能を見せている例えば、TerryKoo,AlexanderM.Rush,MichaelCollins,TommiJaakkola,andDavidSontag,Dualdecompositionforparsingwithnon-projectiveheadautomata,inProceedingsoftheConferenceonEmpiricalMethodsinNaturalLanguageProcessing,2010を参照。双対問題の定式化双方向モデルの双対分解推論手続きを説明するにあたり、まず、双方向図式モデルでの推論問題を、推論の算出を可能にする2つの重複した部分グラフを用いて再度定義する。caを、Gaに関連付けられたcのコピーとし、cbを、Gbに関連付けられたコピーとする。また、fa,caをGaに対する割り当ての対数尤度とし、gb,cbをGbに対する割り当ての対数尤度とする。さらに、Iを、cのすべてのi,jに対する添字集合とする。そして、双方向モデルに対する最大尤度割り当てを、以下を最適化することにより決定する。これによりこの最適化問題のラングランジアン緩和はLa,b,ca,cb,u=したがって、元の問題は、以下のように書き換えることができる。そして、最大および最少の順番を入れ替えることにより、元の最適化問題の上解となる双対問題を形成することができる。この場合、双対問題を2項に分解され、これらはそれぞれ非循環部分グラフに対して局所的である。図2は、双方向モデルをどのように2つの非循環モデルに分解するかを示す図である。2つのモデルはいずれもcのコピーを含む。変数は図中にラベルとして示されている。従来同様、2つの分離した最大化問題の推論を繰り返すことにより、uを算出することができる。部分グラフ推論固定のuの式9の評価には、直鎖型図式モデルのビタビアルゴリズムのみが必要である。すなわち、標準HMM隠れマルコフモデルアライナにより最大尤度対応を決定するのに用いるのと同様のアルゴリズムを採用することができる。変数aおよびcaを含む式9の最初の部分を検討する。標準HMMアライナ推論では、頂点ポテンシャルはバイレキシカル確率Pf|eに相当する。これらの項は、fa,caに含まれている。目的の追加の項を、直鎖モデルの頂点ポテンシャルに組み込むことも可能である。aj=iの場合、式7に定義されるエッジポテンシャルによると、cij=1である。したがって、aj=iを設定することで、対応する頂点ポテンシャルおよびexpui,jが式10に加えられる。i‘≠iの場合、ajおよびci’j間のエッジポテンシャルにより、式10に対し何も寄与しないci‘j=0か、または、およびexpui’,j-αを寄与するci‘j=1のいずれかとなる。したがって、ajの割り当ておよびのすべてのci’jの最適割り当ての最終的な効果を、以下の単一ポテンシャルVjiにおいて得ることができる:図3は、木構造を有する部分グラフGaをどのように等価の鎖構造を有するモデルに、aj=1に対しci‘jを最適化することによりマッピングするかを示す図である。このポテンシャルの定義により、式10に定義されるソース側の部分グラフ推論問題を、ポテンシャル関数Vjおよびμaのみを含む単純な直鎖モデルに崩すことができる。したがって、一般的な木構造の図式モデルのソルバーよりも、高度に最適化された直鎖推論の実施を用いることができる。図3は、この変換を図示する。等価のアプローチにより、以下の評価が可能になる。双対分解アルゴリズム固定のuに対しての式9を効率的に評価する能力を備えることにより、双方向モデルの完全双対分解アルゴリズムを定義し、式9を最適化するuを探索することができる。例えば、劣勾配降下により、そのようなuを繰り返し探索することができる。また、繰り返し数とともに劣化する学習レートを用いてもよい。実際には、初期学習レートをαに設定することが好ましい。完全双対分解最適化手続きを、アルゴリズム1として以下に規定する。アルゴリズム1が収束すると、式10を最適化するcaの値と式11を最適化するcbの値とが同一となるuが決定されたことになる。したがって、元の最適化問題、すなわち式8に対する解である。双対問題は元の問題に対する上解であるから、この解は式8に対して最適である。アルゴリズム1双方向モデルの双対分解推論アルゴリズムfort=1tomaxiterationsdo収束および早期停止双対分解アルゴリズムは、収束時に正確な推論方法を与える。この最適性の証明は、確率伝播、サンプリングまたは擬似焼きなまし等の他の近似推論アルゴリズムからは得られない。アルゴリズム1が収束しない場合であっても、アルゴリズムの出力は対応として解釈してよい。アルゴリズムから生成されたuの値に基づき、caおよびcbの最適値を、式10および式11からそれぞれ求めることができる。これらの対応は異なることもあるが、完全に独立したアライナよりも、より類似する可能性が高い。これらの対応は、和をとるなどして手続き的に組み合わせる必要があるものの、その類似性ゆえに、組み合わせ手続きの重要性は低下する。推論プロパティ双対分解アルゴリズムに最大繰り返し数nが設定され、各繰り返しはシーケンスモデルの最適化を行うのみであるため、推論手続きは、全体で、元の有向アライナによる評価よりも定数倍のみ計算コストが高い。さらに、uの値は文対に対して特定のものである。したがって、このアプローチは、分散アライナの実装における独立した有向モデルと比較しても、追加の通信オーバーヘッドを要さない。メモリ要件は基準値とほぼ同一である:uを、処理中に、文対毎に記憶する必要があるが、対応が推論されれば、直ちに破棄してよい。1対1の句対応を生成する他のアプローチは、総じてコストが高い。特に、ITGモデルは時間O|e|3|f|3を要するのに対し、アルゴリズム1はOn|f||e|2|e||f|2のみ要する。機械翻訳システムコンテキスト図4は、機械翻訳システムにおける双方向モデルの位置を示す図である。機械翻訳システムは、トレーニング時間中に動作するコンポーネントおよび翻時間中に動作するコンポーネントを備える。トレーニング時間コンポーネントは、一対の言語の、正しく翻訳されたとみなされる文対よりなる並列コーパス402を含む。他のトレーニング時間コンポーネントは、対応付けモデルコンポーネント404であり、これは、並列コーパス402から文対を受信し、この文対から、対応付けされた並列コーパスを生成する。この並列コーパスは、句抽出コンポーネント406により受信される。双方向モデルは対応付けモデルコンポーネント404の一部であり、上記のように、文対中の単語間の対応を生成するのに用いられる。句抽出器は、翻訳された句および対応するスコアのスニペットを含むデータセットである、句テーブル408を生成する。翻訳時間コンポーネントは、句テーブル408のデータから生成される翻訳モデル422を含む。翻訳時間コンポーネントは、さらに、言語モデル420、および、言語モデル420や翻訳モデル422を用いて、入力テキスト426から翻訳済み出力テキスト428を生成する機械翻訳コンポーネント424例:統計的機械翻訳エンジンコンピュータ、データおよびソフトウェアのシステムを含む。本明細書に記載の主題および機能動作の実施例は、デジタル電子回路、コンピュータソフトウェアまたはファームウェアの具体的な実施例、コンピュータハードウェア本明細書中に開示の構造およびその構造的等価物を含む、またはこれらの1つまたは複数を組み合わせることにより、実現できる。本明細書に記載の主題の実施例は、1つまたは複数のコンピュータプログラム、具体的には、データ処理装置により実行される、またはデータ処理装置の動作を制御する具体的なプログラムキャリア上にエンコードされた、1つまたは複数のコンピュータプログラム指示文のモジュール、として実現できる。これに代えて、またはこれに加えて、プログラム指示文を、機械的に生成され、データ処理装置により実行される情報を対応の受信装置に送信するためにエンコードする電気、光学または電磁波信号等の人工的に生成した伝播信号上にエンコードしてもよい。コンピュータ記憶媒体は、機械可読記憶装置、機械可読記憶基盤、ランダムまたはシリアルアクセスメモリ装置、またはこれらの1つまたは複数の組み合わせでよい。データ処理装置という用語は、データを処理する装置、デバイスおよび機器のすべての種類を含み、さらに、例として、プログラマブルプロセッサ、コンピュータ、またはマルチプルプロセッサまたはコンピュータ等を含む。また、装置には、特定用途向け論理回路も含まれ、これは、例えば、FPGAFieldProgrammableGateArrayやASICApplication-SpecificIntegratedCircuitである。さらに、ハードウェアに加えて、装置には、対象となるコンピュータプログラムの実行環境を作るコードが含まれ、これは、例えば、プロセッサファームウェアを構成するコード、プロトコルスタック、データベース管理システム、オペレーティングシステム、またはこれらの1つまたは複数の組み合わせである。コンピュータプログラムプログラム、ソフトウェア、ソフトウェアアプリケーション、スクリプト、またはコードと称するは、コンパイラ言語、インタプリタ言語、宣言型言語、手続き型言語等、どの言語で記述してもよく、スタンドアローンのプログラムとして、または、モジュール、コンポーネント、サブルーチン、およびこれ以外の、コンピュータ環境に適したユニットの形式で用いることができる。コンピュータプログラムは、ファイルシステム中のファイルに対応することが好ましいが、これは必須ではない。プログラムは、他のプログラムまたはデータを保持するファイルの一部例えば、マークアップ言語文書に記憶された1つまたは複数のスクリプト、対象プログラム専用の単一ファイル、または複数の連携ファイル例えば、1つまたは複数のモジュール、サブプログラム、コードの一部等を記憶するファイルに記憶させることができる。また、プログラムは、1つのコンピュータまたは複数のコンピュータ上で実行して用いてよく、これらのコンピュータは、1箇所に設置しても、複数個所に分布させて通信ネットワークにより相互に接続してもよい。本明細書に記載のプロセスおよび論理フローは、1つまたは複数のコンピュータプログラムを実行し、入力データにより動作し、出力を生成する機能を実行する、1つまたは複数のプログラマブルコンピュータにより実現できる。また、これらのプロセスまたは論理フローを、FPGAFieldProgrammableGateArrayおよびASICApplication-SpecificIntegratedCircuit等の、特定用途向け論理回路により実行してもよく、または、装置を、これら特定用途向け論理回路として実現してもよい。コンピュータプログラムの実行に適したコンピュータとは、例えば、汎用または特定用途向けマイクロプロセッサ、またはこれらの両方、または他の中央処理装置を含む。通常、中央処理装置は、読み取り専用メモリまたはランダムアクセスメモリ、またはこれらの両方から、指示またはデータを受信する。コンピュータの必須要素は、指示を実現または実行する中央処理装置と、指示およびデータを記憶する1つまたは複数の記憶装置である。通常、コンピュータには、さらに、例えば、磁気、光磁気または光学ディスク等の、データを記憶するマス記憶装置を含むか、または、当該マス記憶装置に対しデータの送受信を行うことができるよう機能的に接続されているか、またはこれらの両方でもよい。しかし、コンピュータは、これらのデバイスを備える必要はない。さらに、コンピュータを、例として、携帯電話機、PDAPersonalDigitalAssistant、携帯型音声または映像再生装置、ゲームコンソール、GPSGlobalPositioningSystem受信機、または携帯型記憶装置例:USBUniversalSerialBusフラッシュドライブ等に埋め込んでもよい。コンピュータプログラム指示文およびデータを記憶するのに適したコンピュータ読み取り可能な媒体には、すべての種類の不揮発性メモリ、メディア、およびメモリデバイスが含まれ、これには、例えば、EPROM,EEPROMおよびフラッシュ等の半導体メモリデバイス、内臓ハードディスクまたは外付けディスク等の磁気ディスク、光磁気ディスク、ならびにCD-ROMおよびDVD-ROMディスクが含まれる。プロセッサ及びメモリは、特定用途向け論理回路により補強、または特定用途向け論理回路に組み込むことができる。ユーザとの相互のやり取りを可能にするため、本明細書に記載の主題の実施例は、ユーザに向けて情報を表示するための表示装置例:CRTCathodeRayTubeまたはLCDLiquidCrystalDisplayモニタ、キーボード、およびポインティングデバイス例:ユーザがコンピュータに対し入力を行うことのできるようにするマウスまたはトラックボールを備えるコンピュータ上で実現可能である。ユーザとの相互のやり取りを、他の種類のデバイスを用いて行うことも可能である。例えば、ユーザへのフィードバックは、視覚フィードバック、聴覚フィードバック、または触覚フィードバック等どのような形式の感覚フィードバックを用いてもよい。また、ユーザからの入力についても、楽音、音声、および触覚入力等どのような形でもよい。さらに、コンピュータは、例えば、ユーザのクライアントデバイス上のウェブブラウザから受信された要求に応じてウェブページを当該クライアントデバイスに送信する等、ユーザの使用するデバイスと文書の送受信を行うことにより、ユーザとやり取りを行うことができる。本明細書は、特定の実現例の詳細を多く含んでいるが、これは保護の対象となる発明の範囲を権利範囲を限定するものと解釈されるべきものではなく、特定の発明の、特定の実施例に特化した特徴の説明と解釈されるべきである。本明細書中別々の実施例のコンテキストにおいて記載した特定の特徴は、組み合わせにより、単一の実施例として実現してもよい。一方、単一の実施例のコンテキストで記載された様々な特徴も、複数の実施例として別々に実現してもよく、また、適宜組み合わせて実現してもよい。さらに、上記の特徴は特定の組み合わせにおいて動作するように記載されその旨の主張もあるが、記載のある組み合わせから1つまたは複数の特徴を抽出し、当該記載の組み合わせを部分的な組み合わせ、または部分的な組み合わせの変更例としてもよい。同様に、図面中の動作は特定の順序において描かれているが、これは、所望の結果を得るために、動作を図示の特定の順序において行うこと、または順番に行うこと、図示の動作をすべて行うことを要件とするものと理解されるべきものではない。特定の場合に、マルチタスクや並列処理が有利となることもある。さらに、上記の実施例における様々なシステムコンポーネントの分離は、すべての実施例においてそのような分離が要件であると解釈されるべきものではなく、また、記載のプログラムコンポーネントおよびシステムの全般は、単一のソフトウェア製品に統合すること、または複数のソフトウェア製品にパッケージ化することが可能であることに留意されたい。本主題の特定の実施例を説明した。他の実施例も、以下の請求の範囲によりその権利範囲が定められる。例えば、請求の範囲に記載の動作を異なる順序で行って、所望の結果を得ることもできる。一例として、所望の結果を得るために、必ずしも図示の順序または順番において処理を行う必要はない。実現例によっては、マルチタスクや並列処理が有利な場合もある。"