(57)【要約】  主題の開示は、機械学習システムをトレーニングするためのシステムおよび方法に関する。多数のコストファンクションは、滑らか、または微分可能ではなく、機械学習システムのトレーニング中に簡単に使用することができない。機械学習システムは、学習システムによって生成されるランク付けされ、またはソートされる結果に少なくとも部分的に基づいた１組の推定される勾配を含むことができる。その推定される勾配は、コストファンクションの要件を反映するように選択し、学習システムのトレーニング中に学習システムのパラメータを決定し、または修正するために、コストファンクションの代わりに利用することができる。
2009515231.tif 000002
【特許請求の範囲】
【請求項１】
微分不可能なコストファンクションに従ってデータを構造化するように機械学習システムをトレーニングする方法であって、
１組の入力データから構造化データを生成するステップと、
前記構造化データと前記コストファンクションの少なくとも１つの要件とに少なくとも部分的に基づいて少なくとも１つの推定される勾配を取得するステップと、
前記少なくとも１つの推定される勾配に基づいて前記機械学習システムの少なくとも１つのパラメータをアップデートするステップと
を含むことを特徴とする方法。
【請求項２】
前記微分不可能なコストファンクションに基づいて、推定される勾配を取得するための少なくとも１つのルールであって、前記少なくとも１つの推定される勾配を取得する際に使用される少なくとも１つのルールを開発するステップをさらに含むことを特徴とする請求項１に記載の方法。
【請求項３】
前記システムをトレーニングすることを継続すべきかどうかを決定するために前記機械学習システムをテストするステップをさらに含むことを特徴とする請求項１に記載の方法。
【請求項４】
前記機械学習システムは、ニューラルネットワークであることを特徴とする請求項１に記載の方法。
【請求項５】
前記ニューラルネットワークは、単一層ニューラルネットワークであることを特徴とする請求項４に記載の方法。
【請求項６】
前記機械学習システムは、微分可能なファンクションを含むことを特徴とする請求項１に記載の方法。
【請求項７】
少なくとも１つのデータオブジェクトは、ウェブページ、テキストファイル、イメージ、オーディオデータ、ビデオデータ、およびワード処理ファイルのうちの少なくとも１つであることを特徴とする請求項１に記載の方法。
【請求項８】
前記コストファンクションは、ウィナーテイクオール（ＷＴＡ）、正規化減損累積利得尺度（ＮＤＣＧ）、平均逆ランク（ＭＲＲ）、ＲＯＣ曲線下の面積、平均精度の平均、およびペアワイズエラーカウントのうちの少なくとも１つであることを特徴とする請求項１に記載の方法。
【請求項９】
微分不可能なコストファンクションに従ってデータを構造化する機械学習システムであって、
入力データから構造化データを生成する学習コンポーネントと、
前記構造化データと前記微分不可能なコストファンクションとに少なくとも部分的に基づいて少なくとも１つの推定される勾配を取得する推定勾配コンポーネントと、
前記少なくとも１つの推定される勾配に少なくとも部分的に基づいて前記機械学習システムの少なくとも１つのパラメータをアップデートするパラメータコンポーネントと
を備えることを特徴とする機械学習システム。
【請求項１０】
前記コストファンクションの少なくとも１つの要件に基づいて推定される勾配を取得するための少なくとも１つのルールを含むルールコンポーネントをさらに備えることを特徴とする請求項９に記載のシステム。
【請求項１１】
前記少なくとも１つの推定される勾配の値を含む推定勾配データストアをさらに備えることを特徴とする請求項９に記載のシステム。
【請求項１２】
前記学習コンポーネントは、ニューラルネットワークであることを特徴とする請求項９に記載のシステム。
【請求項１３】
前記ニューラルネットワークは、単一層ニューラルネットワークであることを特徴とする請求項１２に記載のシステム。
【請求項１４】
前記学習コンポーネントは、微分可能なファンクションを含むことを特徴とする請求項９に記載のシステム。
【請求項１５】
前記入力データは、ウェブページ、テキストファイル、イメージ、オーディオデータ、ビデオデータ、およびワード処理ファイルのうちの少なくとも１つを含むことを特徴とする請求項９に記載のシステム。
【請求項１６】
前記コストファンクションは、ウィナーテイクオール（ＷＴＡ）、正規化減損累積利得尺度（ＮＤＣＧ）、平均逆ランク（ＭＲＲ）、ＲＯＣ曲線下の面積、平均精度の平均、およびペアワイズエラーカウントのうちの少なくとも１つであることを特徴とする請求項９に記載のシステム。
【請求項１７】
機械学習システムをトレーニングするシステムであって、
１組のデータオブジェクトから構造化データを生成する手段と、
前記構造化データと前記微分不可能なコストファンクションとに少なくとも部分的に基づいて少なくとも１つの推定される勾配を取得する手段と、
前記少なくとも１つの推定される勾配に基づいて前記機械学習システムの少なくとも１つのパラメータをアップデートする手段と
を備えることを特徴とするシステム。
【請求項１８】
前記コストファンクションに基づいて、推定される勾配を取得するための少なくとも１つのルールであって、前記少なくとも１つの推定される勾配を取得する際に使用される少なくとも１つのルールを開発するための手段をさらに備えることを特徴とする請求項１７に記載のシステム。
【請求項１９】
前記機械学習システムは、微分可能なファンクションを含むことを特徴とする請求項１７に記載のシステム。
【請求項２０】
前記機械学習システムは、ニューラルネットワークであることを特徴とする請求項１７に記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、機械学習システムに関する。
【背景技術】
【０００２】
本願は、「TRAINING RANKING SYSTEMS WITH ARBITRARY COST FUNCTIONS」という名称の２００５年７月１８日に出願された米国仮特許出願第６０／７００，０８０号の３５Ｕ．Ｓ．Ｃ．１１９（ｅ）の下における恩恵を主張する出願である。
【０００３】
情報探索者（information seeker）にとって使用可能なデータの量は、インターネット上の情報ソースの急増の結果として、または会社内のビジネス情報をまとめ上げる民間の努力の結果として、あるいは様々な他の原因のうちのどれであれ、天文学的に増大してきている。使用可能なデータの量が増大するにつれ、関連したデータをソートし、所在を見出す（locate）ことができるニーズが増大している。関連した問題は、関連性があるとして識別されているデータをランク付けするニーズである。
【０００４】
ユーザが特定のデータを求めてデータの集まりを検索するとき、ユーザは、一般的にそれらのユーザによって入力された検索クエリに対して単にある関係を有する結果のリストよりも多くのものを要求する。ユーザは、一般にそのリスト内から最良の、または最も関連した結果の所在を迅速に見出すことができることを望む。検索の結果をランク付けすることは、その最も関連したデータの所在を迅速に見出す際にユーザを支援することができる。一般に、高いランキングは、ユーザに対して、それらのユーザが検索した情報が、その検索結果中に存在するという高い可能性があることを示す。
【０００５】
１つのアプローチは、データの所在を見出し、データをソートし、ランク付けし、あるいは別の方法で処理する機械学習システム（machine learning system）を使用することである。機械学習システムは、他のうちでもとりわけ、ニューラルネットワーク、サポートベクトルマシン（ＳＶＭ）およびパーセプトロン（perceptron）などのシステムを含んでいる。これらのシステムは、それだけには限定されないが、光学的パターンおよびオブジェクトの認識（optical pattern and object recognition）と、制御システムおよびフィードバックシステムと、テキストカテゴリー化（text  categorization）を含めて、様々なデータ処理タスクまたはデータ解析タスクのために使用することができる。機械学習システムについての他の潜在的用途は、データの分類または回帰からの恩恵を受けることができる任意のアプリケーションを含んでいる。一般的に、機械学習システムは、パフォーマンスを改善し、最適な検索結果、ソート結果、またはランキング結果を生成するためにトレーニングされる。
【発明の開示】
【発明が解決しようとする課題】
【０００６】
そのような機械学習システムは通常、コストファンクション（cost function）を使用してトレーニングされ、その学習プロセスは、このコストファンクションを最小にしようと試みる。しかし多くの場合に、関心のあるコストファンクションは、これが解決すべきあまりにも難しい問題を提示しているので、直接には最小化されない。例えば、ドキュメント取出し問題においては、トレーニングされるシステムの品質の１つの尺度は、ＲＯＣ曲線の下の面積である。ＲＯＣ曲線は、真の陽性率（true positive）（例えば、取り出された関連したドキュメント）の数に対する偽の陽性率（false positive）（例えば、取り出された無関係なドキュメント）の数のグラフィカルなプロットである。そのようなコストファンクションは、使用される機械学習システムの出力の微分可能なファンクションではなく、滑らかさのこの欠如は、そのようなファンクションを直接に使用したトレーニングについての難しさを提示する。
【課題を解決するための手段】
【０００７】
以下の説明は、そのような実施形態の一部の態様の基本的な理解を与えるための学習システムのトレーニングシステムおよび／またはトレーニング方法の１つまたは複数の実施形態の簡略化された概要を提示する。この概要は、広範囲にわたる概説ではなく、実施形態の主要な要素または不可欠な要素を特定することも、そのような実施形態の範囲を示すことも意図していない。その唯一の目的は、後述する詳細な説明に対する前置きとして、簡略化された形式で説明される実施形態の一部の概念を提示することである。
【０００８】
簡単に説明すると、本明細書中で説明されるシステムおよび／または方法は、機械学習システムのトレーニングを実現できるようにする。本明細書中で説明されるシステムは、学習システムおよびコストファンクションによって生成される構造化データに少なくとも部分的に基づいた１組の推定される勾配（gradient）を含むことができる。推定される勾配をコストファンクションの代わりに使用して、システムのトレーニング中に機械学習システムのパラメータを決定し、または修正することができる。
【０００９】
前述の目的および関連した目的を達成するために、請求される主題についてのある種の例示の態様が、以降の説明および添付の図面に関連して本明細書中で説明される。これらの態様は、主題を実行することができ、そのすべてが、請求される主題の範囲内に含まれるように意図される様々な方法を示している。他の利点および新規特徴は、図面と併せ考慮されるときに以降の詳細な説明から明らかにすることができる。
【発明を実施するための最良の形態】
【００１０】
本明細書中において開示される主題の様々な態様が、次に図面を参照して説明される。図面中において、同様な参照番号は、全体にわたって同様な構成要素または対応する構成要素を意味する。しかしながら、図面とそれに関連した詳細な説明は、請求される主題を開示される特定の形態だけに限定することを意図していないことが理解されるべきである。もっと正確に言えば、その意図するところは、請求される本主題の趣旨および範囲内に含まれるすべての修正形態、等価形態および代替形態をカバーすることである。
【００１１】
本明細書中において使用されるように、用語「コンポーネント」、「システム」などは、ハードウェア、ハードウェアとソフトウェアの組み合わせ、ソフトウェア、または実行中のソフトウェアのいずれかのコンピュータに関連したエンティティを意味することが意図される。例えば、コンポーネントは、それだけには限定されないがプロセッサ上で実行されるプロセス、プロセッサ、オブジェクト、実行可能ファイル、実行スレッド、プログラム、および／またはコンピュータとすることができる。例証として、コンピュータ上で実行されるアプリケーションも、そのコンピュータも、コンポーネントとすることができる。１つまたは複数のコンポーネントは、プロセスおよび／または実行スレッドの内部に存在することができ、コンポーネントは、１台のコンピュータ上に局在化させることもでき、かつ／または２台以上のコンピュータの間に分散させることもできる。
【００１２】
用語「例示（exemplary）」は、１つの例、インスタンス、または例証としての役割を果たすことを意味するように本明細書中で使用される。本明細書中において「例示」として説明される任意の態様または設計は、必ずしも他の態様または設計よりも好ましいまたは有利であると解釈されるべきものとは限らない。
【００１３】
本明細書中において使用されるように、用語「推測する（infer）」、または「推論する（inference）」は、一般にイベントおよび／またはデータを経由して取り込まれる１組の観察から、システム、環境、および／またはユーザの状態について理論的に考えるプロセスまたは推論するプロセスを意味する。推論を使用して特定のコンテキストまたはアクションを識別することができ、あるいは推論は、例えば複数の状態にわたって確率分布を生成することができる。推論は、確率論的とすることができ、すなわち、データおよびイベントの考察に基づいた関心のある状態にわたっての確率分布の計算とすることができる。推論は、１組のイベントおよび／またはデータからより高レベルのイベントを構成するために使用される技法を意味する可能性もある。そのような推論は、イベントが近い時間的近接度で相関しているか否かにかかわらず、またイベントおよびデータが、１つまたは複数のイベントおよびデータソースに由来するかどうかにかかわらず、１組の観察されるイベントおよび／または記憶されるイベントデータから新しいイベントまたはアクションの構築をもたらす。
【００１４】
さらに、開示される主題は、本明細書中において詳述される態様をインプリメントするためにコンピュータまたはプロセッサベースのデバイスを制御するソフトウェア、ファームウェア、ハードウェアまたはそれらの任意の組合せを生成する標準的なプログラミング技法および／またはエンジニアリング技法を使用したシステム、方法、装置、または製造業者の品物としてインプリメントすることができる。本明細書中において使用される用語「製造業者の品物」（または代わりに「コンピュータプログラムプロダクト」）は、任意のコンピュータ読取り可能デバイス、搬送波または媒体からアクセス可能なコンピュータプログラムを包含することを意図している。例えば、コンピュータ読取り可能媒体は、それだけには限定されないが、磁気ストレージデバイス（例えば、ハードディスク、フロッピー（登録商標）ディスク、磁気ストリップ．．．）と、光ディスク（例えば、コンパクトディスク（ＣＤ）、デジタル多用途ディスク（ＤＶＤ）．．．）と、スマートカードと、フラッシュメモリデバイス（例えば、カード、スティック）とを含むことができる。さらに、搬送波を使用して、電子メールを送信し受信する際に、あるいはインターネットやローカルエリアネットワーク（ＬＡＮ）などのネットワークにアクセスする際に使用されるデータなどのコンピュータ読取り可能電子データを搬送することができることが、認識されるべきである。もちろん、当業者なら、請求される主題の範囲または趣旨を逸脱することなく、多数の修正をこのコンフィギュレーションに対して行うことができることを認識するであろう。
【００１５】
しばしば、機械学習システムは、データを処理するために使用される。例えば、機械学習システムを使用して、情報検索を実行し、データ項目をランク付けすることができる。用語、機械学習システムは、一般にハードウェア、ハードウェアとソフトウェアの組み合わせ、ソフトウェア、または実行中のソフトウェアのいずれかのコンピュータに関連したエンティティを意味することが意図される。本開示の目的のために、用語、機械学習システムと学習システムは、交換可能に使用されることになる。一般に、学習システムは、ユーザのニーズに従ってデータを処理するようにトレーニングされる必要がある。コストファンクションなど、様々なメトリクス（metrics）を使用して、学習システムのパフォーマンスを評価することができる。学習システムは、学習システムを評価するために使用されることになるメトリクスまたはコストファンクションに関してパフォーマンスを最適化させるようにトレーニングされるべきである。
【００１６】
そのような機械学習システムについての一用途は、データセット中の要素をランク付けすることである。関心のある特定のデータセットは、ユーザにより定式化された検索クエリの結果として取り出された１組のウェブページである。そのデータセット内で、ユーザは、一般的に結果におけるウェブページが、ユーザの検索要求に反応を示す可能性が最も高いものから最も低いものへと順序付けられるように要求する。反応性の同じ可能性（例えば、ある種の判断基準に基づいた、クエリとのマッチングの同じ確率）を有するウェブページは、同じランクを受け取るべきである。ユーザに対するプレゼンテーションのために、同じランクを有するウェブページの順序付けは、任意とすることができ、あるいは、適切な任意のスキームに基づいたものとすることもできる。
【００１７】
本明細書で説明されるシステムについての別の重要な用途は、質問に応答することである。質問応答においては、ランク付けされた１組の応答（例えば、ストリングまたはフレーズ）は、ユーザにより定式化された検索クエリの結果として返される。返される第１の応答は、その質問に反応する可能性が最も高い応答であるべきである。データセットの他のメンバは、そのリスト中において完全に無視することもでき、あるいはより低いレベルで返すこともできる。この場合には、メトリクスまたはコストファンクションは、最上位で返される応答が正しい場合だけに、評価に値する（measure）。
【００１８】
機械学習システムは、ここで論じられるランキング問題を超えた様々な用途についても利用することができることを理解すべきである。さらに、限りない数の追加のクエリ・オプションが存在することも理解すべきである。これらの代替的な態様は、本開示のこの範囲とこれに添付される特許請求の範囲との内部に含められるべきである。換言すれば、本明細書中において説明される新規の概念および機能は、数限りないシナリオに適用することができ、これらのシナリオのおのおのは、本開示の趣旨および範囲と添付される特許請求の範囲との内部に含められるべきことが理解される。
【００１９】
図１は、本明細書中に開示される主題の態様に従って構造化データを生成するためのシステム１００の説明図である。本明細書中において使用されるように、構造化データは、順序付けられたデータ、部分的に順序付けられたデータ、グラフ、シーケンス、ストリングなどを含むことができる。システム１００は、データをランク付けし、かつ／またはソートするために、あるいは情報検索のために使用することができるが、そのような用途だけには限定されない。システム１００は、学習コンポーネント１１０、入力データストア（input data store）１２０、および１組の構造化データ１３０を含む。学習コンポーネント１１０は、勾配降下（gradient descent）を使用してトレーニングすることができる任意の機械学習システムを含むことができる。本開示の一部分として提示される例は、一般にニューラルネットワークを使用して学習コンポーネント１１０をインプリメントする学習システムを示している。しかし、この分野における当業者は、それだけには限定されないがカーネル学習法システム、ベイズ法、およびブースティング方式を含めて、他の機械学習システムを本明細書中に開示される主題に関連して利用することができることを認識するであろう。そのような当業者は、学習コンポーネント１１０としてニューラルネットワークの代わりに他の機械学習システムを代用するために提示される特定の例に対して修正を行うことができることも簡単に認識するであろう。これらの学習システムのために使用される学習アルゴリズムは、コストファンクションの勾配に依存するはずである。このタイプの修正を行うことができるが、これらの修正は、単にインプリメンテーションの詳細にすぎず、本開示の主題の範囲を逸脱してはいない。
【００２０】
入力データストア１２０は、学習コンポーネント１１０へと入力され、その学習コンポーネント１１０によって処理されるべきデータを含んでいる。本明細書中において使用されるようなデータストアは、それだけには限定されないが、テキストファイル、ウェブページ、イメージファイル、オーディオデータ、ビデオデータ、ワード処理ファイルなどを含めてファイルのデータベースまたは集まりを含むデータの任意の集まりである。入力データストア１２０内のデータは、学習コンポーネント１１０による使用のための適切な方法でフォーマットすることができる。代わりに、学習コンポーネントは、学習コンポーネント１１０によるオペレーションに適したフォーマットでデータをレンダリングするフォーマッティングコンポーネント（図示されず）を含むことができる。さらに、入力データストア１２０内のデータのフォーマットは、トレーニングフェーズ、テストフェーズ、動作フェーズなどの、学習コンポーネント１１０のオペレーションのモードまたはフェーズに基づいて変化する可能性がある。
【００２１】
学習コンポーネント１１０は、入力データストア１２０からのデータを処理し、１組の構造化データ１３０を出力することができる。構造化データ１３０は、他のコンポーネントによって使用し、ユーザに対して提示することができ、あるいはその両方が可能である。例えば、本システムは、図に示されていない表示コンポーネントを含むことができ、この表示コンポーネントは、ユーザにとって有用であり、またはユーザが要求する任意のフォーマットでユーザに対して構造化データを表示する。そのような構造化データの一例は、ユーザのクエリに対する応答（例えば、インターネット上のウェブページ）としてのネットワーク上のドキュメントについての検索の結果を含むことになる。１組の応答ドキュメントは、構造化データとして、あるいはこの例においてはランク付けされた検索結果の形でユーザに提示される前に、入力データとして学習コンポーネント１１０に対して提示し、ある種の判断基準に基づいた順序でランク付けすることができる。
【００２２】
一般に、学習システムは、オペレーションの複数のフェーズを有する。初期フェーズは、トレーニングフェーズとして知られている。トレーニングフェーズ中に、１組のトレーニングデータを学習システム中へと入力することができる。学習システムは、トレーニングデータの処理中にデータの処理を最適化するように学習する。次に、１組の妥当性検証データ（validation  data）をその学習システム中へと入力することができる。学習システムによる妥当性検証データセットの処理の結果は、学習システムのパフォーマンスを評価する様々な評価メトリクスを使用して測定することができる。学習システムは、システムパフォーマンスを最適化するためにトレーニングデータと妥当性検証データとの間で交互に変更することができる。ひとたび学習システムが望ましいパフォーマンスレベルを達成した後に、学習システムのパラメータは、学習システムが動作フェーズに入る前にパフォーマンスが一定のままにとどまるように、固定することができる。一般的にトレーニングと妥当性検証の両方に追随する動作フェーズ中に、ユーザは、学習システムを利用して、動作データを処理し、ユーザの望ましい結果を取得することができる。
【００２３】
図２に示される構造化データを生成するためのシステムのさらなる態様においては、学習コンポーネント１１０または機械学習システムは、オペレーションのモードまたはフェーズに応じて別個のデータストアからデータを受け取ることができる。学習コンポーネント１１０は、トレーニングフェーズ中にトレーニングデータストア２１０から学習システムをトレーニングするために特に選択されるデータセットを受け取ることができる。学習コンポーネント１１０は、妥当性検証データストア２２０から妥当性検証データセットを受け取ることができる。さらに、学習コンポーネント１１０は、動作フェーズ中に別個のテストデータストア２３０からデータを受け取ることができる。
【００２４】
学習システムの結果の品質は、多種多様なコストファンクションまたは評価メトリクスを使用して測定することができる。そのような１つのメトリクスは、平均逆ランク（ＭＲＲ：mean reciprocal rank）であり、これは２項関連性タスク（binary relevance task）に対して当てはまる。ＭＲＲでは、ドキュメント検索のコンテキスト内において、ある与えられたクエリについて、リターンされる任意のドキュメントは、「関連している」または「関連していない」のいずれかとしてラベル付けされる。クエリについての最も高いランキングの関連ドキュメントのランクがｒｉであり、ここでｉは、ドキュメントをリターンしたクエリの番号またはインデックスである場合、次いでそのクエリについての逆ランク測定値は、ｒｉの逆数、すなわち１／ｒｉである。ＭＲＲは、クエリの組の上での逆ランク測定値の平均として計算される。
【００２５】
機械学習システムは、正規化減損累積利得尺度（ＮＤＣＧ：normalized discounted cumulative gain measure）を使用して評価することもできる。ドキュメント検索のコンテキスト内のＮＤＣＧは、品質をランク付けする累積尺度である。したがって、適切なコストファンクションは、１からそのＮＤＣＧを差し引いたものとなるはずである。与えられたクエリＱｉでは、Ｎｉによってここで示されるＮＤＣＧは、以下の式を使用して計算することができる。
【００２６】
【数１】
2009515231.tif 000003
【００２７】
ここで、ｒ（ｊ）は、ランク付けされたドキュメント順序における位置ｊ中におけるドキュメントの関連性レベル（relevance level）である。正規化定数（normalization constant）、Ｎｉは、ドキュメントの完全な順序付けが、Ｎｉ＝１をもたらすことになるように選択される。ここで、Ｌは、ＮＤＣＧが計算されるランキングレベルである。Ｎｉは、ＮＤＣＧを計算するためにクエリセットにわたって平均化される。
【００２８】
追加のメトリクスは、ペアワイズエラーカウント（pair-wise error count）とウィナーテイクオール（winner-take-all）（「ＷＴＡ」）とを含んでいる。ドキュメント検索のコンテキスト中におけるペアワイズエラーカウントでは、正しくない順序のドキュメント対の数がカウントされる。この基本的な尺度の様々な修正形態が、情報検索文献中において使用される。例えば、ペアワイズエラーは、潜在的な正しくないドキュメント対の最大数にわたっての正しくないドキュメント対の数として計算することができる。ＷＴＡファンクションは、しばしば質問応答を評価するために使用されることがあり、ここでは最上部応答だけが評価される。一般的に、正しい応答がランク付けされた応答のリストの最上部位置にある場合だけに、質問応答の信頼（credit）は与えられる。たとえ正しい応答がランク付けされた応答のリスト内の２番目の位置にあったとしても、間違った応答が最上部位置にある場合には、信頼は与えられない。
【００２９】
以上で論じられた３つの尺度、ＭＲＲ、ＮＤＣＧおよびＷＴＡは、検索法およびランキング法の実行者によって使用される尺度の種類の小さな例示のサブセットであるにすぎない。追加のメトリクスまたはコストファンクションは、それだけには限定されないが、ＲＯＣ曲線下の面積（area under the ROC curve）と、平均精度の平均（mean average precision）の測定を含んでいる。このサブセットは、ここでは具体的な例を伴う説明を明確にする目的のために使用される。したがって、これらの尺度は、いずれにしてもイノベーション（innovation）の範囲を限定することは意図していない。
【００３０】
しばしば、学習システムは、トレーニングフェーズ中にコストファンクションまたはメトリクスの近似を利用してきている。コストファンクションの近似は、学習システムによって生成されるスコアまたは出力が、一般に実数であるので使用されるが、ＷＴＡなどの多数のコストファンクションは、これらの数のファンクションとして見られるときに、微分可能でなく、滑らかに変化していない。これは、与えられたクエリに基づいて取り出されるドキュメントをランク付けするコンテキスト内において理解することができる。そのクエリからもたらされるドキュメントは、ドキュメントごとに生成される学習システムのスコアと、クエリドキュメント対と呼ばれるドキュメントを生成した入力クエリとに基づいてランク付けされる。２つのクエリドキュメント対についてのスコアの値が近い場合には、スコアの小さな変化が、そのドキュメントのランキングの順序を反転させる可能性がある。これは、機械パフォーマンスを評価するために使用されるコストファンクションに関して大きな影響を持つ可能性がある。例えば、ＷＴＡコストファンクションを使用するときに、正しい応答が、ランキング順序中におけるちょうど１つの位置だけ下に移動し、最上部位置において正しくない応答によって置換される場合には、その学習システムは、信頼を受けない。この不連続性（discontinuity）は、学習システムについてパフォーマンスを改善することを困難にする。
【００３１】
機械学習法のこの制限のために、多数の従来の情報検索システムと質問応答システムは、ランキングのためにヒューリスティック（heuristic）を使用する。しかし、ヒューリスティックを使用することは、一般に正しいコストファンクションを使用することよりも、この後者が可能であるとした場合には悪い結果を与えることになる。これは、例えば一部の場合においてヒューリスティックを使用してシステムを改善することが真のコストを改善しないことに注意することにより、観察されてきている。さらに、機械学習システムのトレーニングは、クエリについてリターンされたドキュメントの数が可変であるときに、さらに複雑なものになる。したがって、トレーニングフェーズ中に使用される方法は、一般に学習システムのテスト中にパフォーマンスを評価するために使用される実際のコストファンクションではなくて、学習システムを評価するために使用されるコストファンクションの近似となる。
【００３２】
コストファンクションについての１つの例示の近似は、ペアワイズトレーニング（pair-wise training）である。ペアワイズトレーニング中に、学習システムには、１対の結果（例えば、ドキュメントＡおよびドキュメントＢ）が提示され、ここではそれらのドキュメントのうちの一方は、他方のドキュメントよりも高くランク付けされることが望ましい。コストファンクションを使用して、両方のドキュメントについての学習システムの出力に応じて学習システムをアップデートする。例えば、ドキュメントＡおよびドキュメントＢがその機械に提示され、ドキュメントＡがドキュメントＢよりも高くランク付けされることが望ましいものと仮定する。機械が、ドキュメントＢについて出力するよりもドキュメントＡについてより低い番号を出力する場合、次いでそのコストは大きくなり、機械のパラメータまたは重みは、それに応じてアップデートされる。システムは、それらの結果中におけるペアワイズエラーの数を最小にしようと試み、ここで、ペアワイズエラーは、リスト中の２つのドキュメントが間違った順序でランク付けされるときに起こる。ペアワイズエラーは、（コストファンクションがすべてのソートされたドキュメントまたはデータに依存するので）構造化出力に依存し、（スコアの非常に小さな変化がコストの固定された有限な変化をもたらし得るので）滑らかでないコストファンクションの一例である。ペアワイズエラーは、平滑なファンクションによって近似することができる。以降においては、例示の目的のために、本発明者等は、ペアワイズエラーに対する平滑な近似が使用されていることを仮定している。
【００３３】
以降の例は、ペアワイズトレーニングをＷＴＡの近似として使用する問題を示している。トレーニングクエリは、２つの関連したドキュメントＤ１およびＤ２、ならびに９９８個の関連していないドキュメントを含む１０００個のドキュメントを返す。機械は、最初にＤ１を位置１に、Ｄ２を位置１０００にランク付けする。学習システムは、Ｄ２を位置３まで上に移動することにより、またＤ１を位置２まで下に移動することにより、９９６個のエラーだけクエリについてのペアワイズエラーを減少させる可能性があり、これは、学習システムがＤ１およびＤ２を位置１および２に配置する容量を持たない場合には、必要とされることもある。学習システムの容量に対する制限は、メモリの制限、または計算パワーの制限などを含んでいる。しかし、同じ移動は、正常な結果である１から不調な結果である０へとＷＴＡコストファンクションを減少させることになる。ペアワイズエラーレートの非常に大きな低減は、ＷＴＡエラーまたはコストの可能な最大の増大をもたらしている。
【００３４】
一般に、望ましい動作（behavior）を有する滑らかなコストファンクションを見出すことは、非常に難しい。以上の例に見られるように、Ｄ１を最上部位置に保つことは、Ｄ２を９９７個の位置だけ上に移動し、Ｄ１を１つの位置だけ下に移動することよりもずっと重要であり、最適なＷＴＡコストは、Ｄ１またはＤ２のいずれかが最上部位置にあるときに達成される。この場合には、ＷＴＡに対するよりよい近似は、そのランキングの最上部位置において起こるエラーについてのより高いコスト値を保持しながら、そのランキングのより低い位置において起こるエラーのコストを急に割り引くことになる。そのランキングの低いドキュメントについての非ゼロのコストを依然として可能にすることにより、トレーニングが進むにつれてこれらのドキュメントは徐々に上に移動することが可能になる。ペアワイズエラーとＷＴＡを使用することの間のこの食い違いは、この例においては学習システムが、両方のドキュメントを最上部の２つの位置におく能力を持たないので生じるが、有限な容量は、良好な一般化パフォーマンスを有することになる任意の学習システムのプロパティであることに注意すべきである。
【００３５】
次に、ファンクションＣは、上述のことを達成し、学習システムが、Ｄ１が位置２にあり、Ｄ２が位置１０００にある、所定のクエリについてのランキングを生成するコストファンクションに対する滑らかな近似であり、次いで所定のドキュメントｉについてのスコアがｓｉである場合に、ｓ１に関してのコストファンクションＣの偏導関数は、ｓ２に関してのＣの偏導関数よりもずっと大きいはずであることを仮定すると、以下のようになる。
【００３６】
【数２】
2009515231.tif 000004
【００３７】
ここでコストファンクションの望ましいプロパティが、コストファンクションの導関数に対して制約を課すことにより取り込まれる。コストファンクションを指定するタスクは、それ自体、クエリごとの各スコアであるｓｉに関してのコストファンクションの導関数を指定するタスクによって置換することができる。次いでこれらの導関数を使用して、ちょうどそのコストファンクションの導関数が通常使用されることになるように勾配降下を使用して学習システムをトレーニングすることができる。キーは、クエリとそのランク付けされたドキュメントのインスタンスを仮定すると、１組のランク付けされたドキュメントが、微分不可能なコストを低減するためにどのように移動すべきかを指定することが、多変量のコストファンクションの滑らかな近似を指定することに比べてずっと簡単であるということである。コストファンクションを近似する際の困難さは、コストファンクションが引数（argument）の可変な数のファンクションになる可能性があるので、生ずる。例えば、異なるドキュメントの数は、情報検索の場合によくあるように、異なるクエリについてサービスすることができる。さらに、コストファンクションは、多数のパラメータのファンクションとすることもできる。パラメータのうちの一部はドキュメントごとのスコアなど実数値を有することができ、一部のパラメータは、各ドキュメントのランクやラベルなどの整数値を有することができる。
【００３８】
ドキュメントに対応する、本明細書中において「推定される勾配」と称される１組の提案される勾配は、コストを低減するために生成し、使用することができる。ドキュメントごとの推定される勾配は、そのドキュメントが、コストを低減させるためにランキング内で移動すべき方向と、ドキュメントがいかに強く移動させられるべきであるかを反映すべきである。１組の推定される勾配は、学習システムによって出力される構造化データに基づいて生成し、学習システムパラメータをアップデートする際に使用するために（例えば、ルックアップテーブルに）記憶することができる。コストファンクションが、ペアワイズエラー、ＷＴＡ、ＮＤＣＧおよびＭＲＲについての場合のように微分可能でないときに、そのような勾配が、存在しないことになるので、これらの推定される勾配は、コストファンクションの実際の勾配ではないことに注意すべきである。適切な推定される勾配は、コストファンクションの要件を反映する１組のルールに基づいて取得し、ドキュメントに対して適用することができる。例えば、推定される勾配は、そのようなルールに基づいてルックアップテーブルから取り出すことができる。また、推定される勾配は、そのドキュメントに対する適用時に生成することができる。
【００３９】
図３は、本明細書中において開示される主題の一態様に従って構造化データ検索を生成するためのシステム３００の説明図である。システム３００は、学習コンポーネント１１０と、入力データストア１２０と、１組の構造化データ１３０とを含んでいる。学習コンポーネント１１０は、推定勾配コンポーネント（estimated gradient component）３０２と、パラメータコンポーネント３０４と、ルールコンポーネント３０６とを含むことができる。推定勾配コンポーネント３０２は、学習コンポーネント１１０によって使用されるべきコストファンクションの要件に基づいて１組の提案される勾配または推定される勾配を記憶することができる。推定される勾配の組は、あらかじめ決定し、トレーニングフェーズ中に取出し、使用するためにルックアップテーブルに記憶することができる。推定される勾配は、コストファンクションの要件を反映する１組のルールに基づいて決定することができる。この組のルールは、ルールコンポーネント３０６に記憶することができる。パラメータコンポーネント３０４は、推定勾配コンポーネント３０２に記憶される推定される勾配を利用して、トレーニングフェーズ中に学習コンポーネント１１０のパラメータをアップデートすることができる。推定される勾配は、先行するデータ処理からもたらされる構造化データ１３０に基づいてパラメータコンポーネント３０４による使用のために生成し、あるいは選択することができる。
【００４０】
次に図４Ａを参照すると、学習システムのコストファンクションと、その導関数と、パラメータとの間の関係が特定の例示の組のランク付けされた結果を使用して示されている。図４Ａは、６つのドキュメントのランキングのサンプルを示している。ここで、それらのドキュメントは、図中において最上部から最下部へとランク付けされている。ドキュメントコンテンツは、ゼロか１のいずれかによって表される。「１」は、ドキュメントコンテンツが関連していることを示すが、「０」は、ドキュメントコンテンツが関連していないことを示す。その結果として、ドキュメントの最適なランキングにおいては、ランキング中における最上部の２つの位置は、「１」によって表されるドキュメントによって占有されることになり、「０」によって表されるドキュメントが追随する。図中の各ドキュメントの次の矢印の方向は、各ドキュメントがコストを低減させるために移動し、それによってランク付けされた結果を改善すべき方向を示す。矢印のサイズは、いかに強くドキュメントが示される方向に移動すべきかを示している。
【００４１】
この例では、ランキングファンクションは、ＦＷ（ｘ）によって示すことができる。ここでｘは、特徴ベクトル（feature vector）である。特徴ベクトルは、クエリとドキュメントの両方のアトリビュート（attribute）から導き出されるクエリドキュメント対についての一連の数である。また、特徴ベクトルは、ドキュメントのアトリビュートだけから導き出すこともできる。重みベクトルは、ｗによって表される。特徴ベクトルをしばしば使用して、ドキュメントをソートしランク付けする。重みベクトルは、学習システムの動作を指定する１組のパラメータである。例えば、ニューラルネットワークでは、重みベクトルは、ニューラルネットワークのノードを接続するリンクに添えられる１組の重みまたは係数と、また各ノードに添えられる「オフセット」パラメータを表す。
【００４２】
この例についてのコストファンクションは、Ｃ（ｙ１，．．．ｙ６；ｌ１，．．．ｌ６）により示すことができる。ここで、コストは、ｙによりここで表される学習システムによって生成されるスコアに依存し、ここでｙｉ＝Ｆｗ（ｘｉ）である。例えば、ｙ１は、第１のランク付けされたドキュメントについての学習システムによって生成されるスコアを表し、ｙ２は、第２のランク付けされたドキュメントについての学習システムによって生成されるスコアを表し、以下同様である。コストファンクションは、ここでｌ１，．．．ｌ６によって表されるラベルに依存してもいる。ラベルはランキングの品質を示す。ラベルは、「Ｅｘｃｅｌｌｅｎｔ（優秀）」、「Ｇｏｏｄ（良好）」または「Ｐｏｏｒ（貧弱）」などの、あるいは図中に「０」または「１」として示されるようなテキスト文字列とすることができる。
【００４３】
図４Ｂは、ドキュメントの望ましいランキングを示している。ここで、「１」によって示される２つのドキュメントは、ランキング中における第１の位置および第２の位置へと移動されることになる。第１の位置中における現在「０」によって示されるドキュメントは、第３の位置へと格下げされ、「０」によって示される他のドキュメントのすべては、ランキング内において１つの位置だけ下に移動される。望ましい移動を遂行する必要がある滑らかなコストファンクションは、知られていないこともあるが、このランキングを達成するために、学習システムのランキングファンクション、Ｆｗ（ｘ）は、Ｆ（ｘ１）についての大きな値と、Ｆ（ｘ２）についてのやや小さな値と、Ｆ（ｘ４）についてのかなり小さな値とを生成すべきことは明白である。調整された組の重みを使用したＦ（ｘ１）の値は、以下のように書くことができる。
【００４４】
【数３】
2009515231.tif 000005
【００４５】
ここで、Ｗｉは，学習システムの元の重み、またはパラメータを表し、Ｗｉ＋δＷｉは、小さな変更後の重みを表す。それらの重みは、以下のように選択することができる。
【００４６】
【数４】
2009515231.tif 000006
【００４７】
上記記述は、最適化技法に精通した人々によって認識されるように、いかに勾配降下が機能するかについての非常に基本的な記述である。ここでεは小さな学習レートを表す。その学習レートは定数とすることができる。また、学習レートは、重みごとに異なったものとすることができる。勾配は、ドキュメントがランキング内で移動すべき方向と量の両方を示す。勾配は、ドキュメントごとに計算される。勾配の符号は、ドキュメントが、ランキング内で移動すべき方向を示し、勾配のサイズは、いかに強くドキュメントが所定の方向へ移動すべきであるかを示す。勾配を計算することは、可能または実用的でないこともある。その代わりに、現行のファンクションＦＷのスコアは、現在のシステムがドキュメントに対して与えることになるランキングを取得するために計算し、ソートすることができる。次いで、結果の望ましい移動に注目することにより、λｉによって示される推定される勾配は、各ドキュメントに対して添えることができる。それ故に、図４Ａおよび４Ｂに示される例では、以下のようになる。
【００４８】
【数５】
2009515231.tif 000007
【００４９】
パラメータに対する変更であるδＷｉは、学習システムから生成される推定される勾配、Ｆの勾配、および現行のスコアに基づいている。推定される勾配であるλｊは、すべてのドキュメントｘ１．．．ｘ６についての学習システムの現行の出力に依存する。それ故に、λｊは、Ｆ（ｘ）のファンクション、例えば、λｊ＝λｊ（Ｆ１．．．Ｆ６）である。１組の推定される勾配を仮定すると、対応するコストファンクションが存在する可能性があり、このコストファンクションでは、推定される勾配は、実際の勾配である。推定される勾配に対応するコストファンクションは、本明細書中においては推定されるコストファンクションＣと称される。コストファンクションが図４Ａおよび４Ｂに示される例についてのような６つの引数のファンクションであることを仮定すると、以下のようになる。
【００５０】
【数６】
2009515231.tif 000008
【００５１】
この場合には、推定されるコストファンクションは、以下の式を満たすべきである。
【００５２】
【数７】
2009515231.tif 000009
【００５３】
これは、推定される勾配が取ることができる関数形式に対して条件を付けることに注意すべきである。推定される勾配が真の勾配となるべき実際のファンクションが存在すべき場合には、推定される勾配は、実際に多重線形代数（multilinear  algebra）の分野において「完全形式（exact form）」であると知られているものとなるべきである。
【００５４】
推定される勾配は、学習システムによって生成されるスコアとラベルとに基づいた望ましい結果を反映するように選択することができる。この例においては、それらのラベルは、ランキング中におけるドキュメントの位置を示す。ＷＴＡコストファンクションを使用して６つのドキュメントを評価する例においては、ＷＴＡコストファンクションに基づいた１組のルールを使用して、推定される勾配を選択することができる。第１のルールは、以下のように書くことができる。
ｌ１＝「１」＆Ｆ（ｘ１＝ｌ）−Ｆ（ｘｍ）＞δの場合には、λｊ＝０∀ｊとなる。
【００５５】
ここで、ｍは、最高のランク付けされた「０」のインデックスであり、δは、固定されたマージンである。したがって、第１の位置中におけるドキュメントが「１」（ｌ１＝「１」）であり、第１のランク付けされたドキュメント（Ｆ（ｘ１＝ｌ））についてのスコアから最高のランク付けされた「０」のドキュメントＦ（ｘｍ）についてのスコアを差し引いたものが、固定されたマージン（δ）よりも大きい場合には、集合λｊは、あらゆるｊについてゼロに等しい（λｊ＝０∀ｊ）。この場合には、第１のドキュメントは、正しい位置にあり、ＷＴＡコストファンクションは、１のコストを生成することになる。さらに、「１」でラベル付けされたドキュメントのスコアと、「０」でラベル付けされたドキュメントのスコアとの間の差は、そのマージンよりも大きく、そのドキュメントランキングが、交換されない可能性が高いことを保証する。したがって、ドキュメントのうちのどれも再配置されるべきではなく、推定される勾配は、ゼロに設定されるべきである。
【００５６】
第２のルールは、ラベル「１」を有するドキュメントのすべてより上にランク付けされた「０」のラベル（ｌｉ＝０）を有する任意のドキュメントが、ドキュメントのランク付けされたリストで強く下方に移動させられるべきであるということである。そのドキュメントがランク付けされたリストを下方に移動するように保証するために、推定される勾配は、負の数となるべきであり、そのドキュメントがそのリストを強く下方に移動するように保証するために、ドキュメントについての推定される勾配（λｉ）は、比較的大きな値を有する定数−λに設定されるべきである。
【００５７】
第３に、結果内の最上部にランク付けされたドキュメントではないが、「１」のラベルを有する最上部にランク付けされたドキュメントでは、そのドキュメントは、強く上方に移動すべきである。それに応じて、そのドキュメントがランク付けされたリストを上方に移動するように保証するために、ドキュメントの推定される勾配（λｉ）は、正の値に設定されるべきである。そのドキュメントがリストを強く上方に移動するように保証するために、推定される勾配は、比較的大きな定数、＋λに設定されるべきである。
【００５８】
さらに、ラベル「１」を有するドキュメントの下に配置される「０」のラベルを有するドキュメントは、ランク付けされたリスト中において下方に、しかもずっと弱く移動すべきである。例えば、推定される勾配の値は、「０」でラベル付けされたドキュメントを最上部位置から移動させるために使用される推定される勾配の２分の１の値（例えば、λｉ＝−１／２λ）に設定することができる。同様に、最上部にランク付けされた「１」ではない、ラベル「１」を有するドキュメントは、ランク付けされたリスト中において上方に、しかもずっと弱く移動すべきである。例えば、推定される勾配の値は、「１」でラベル付けされた最上部にランク付けされたドキュメントを最上部位置に向かって移動させるために使用される推定される勾配の２分の１（例えば、λｉ＝１／２λ）に設定することができる。
【００５９】
図４Ｃは、上記ルールを使用して生成される１組の推定される勾配を使用した再順序付けの説明図である。「１」のラベルを有する最上部にランク付けされたドキュメントは、対応する矢印によって示されるように強く上方に移動させられる。同様に、最上部にランク付けされた「０」は、下方に向かって強く移動させられる。残りのドキュメントは、それらのそれぞれのラベルに応じて上方または下方に弱く移動させられる。
【００６０】
学習システムのトレーニングについては、特定の例を見ることにより、さらに説明することができる。例えば、学習コンポーネント１１０は、ニューラルネットワークを含むことができる。ニューラルネットワークは、分類タスクと回帰タスクのために共通に使用される。ニューラルネットワークは、一般にニューロン、ノードまたはユニットとも称される多層の階層構成の処理要素として構成される。本開示の目的のために、用語、ニューロンと、ノードと、ユニットは、交換可能に使用されることになる。各ユニットは、一般的に１つまたは複数の入力と、１つの出力とを有する。各入力は、一般的に何らかの係数値によって重み付けされる。ユニットの各出力は、一般的に適用されるアクティベーションファンクション（activation  function）と、任意の重みまたはバイアスとに従ってその１つまたは複数の入力値を処理する結果である。
【００６１】
ニューラルネットワーク中におけるニューロンの階層構成中において、ニューロンは、通常複数の層に構成される。１つの層中におけるニューロンの出力は、次にくる層中における１つまたは複数のニューロンに対する入力とすることができる。層は、その層中におけるニューロンの入力がニューラルネットワークの外部のデータソースからの入力を受け取るか、あるいはニューロンの出力が、処理の望ましい結果であるかのいずれかであるという意味で露出させる（expose）ことができる。層はまた、その層中におけるユニットの入力が、以前の層または下位の層中におけるユニットの出力を使用して計算され、隠された層中におけるユニットの出力が、次にくる層または高位の層中におけるユニットについての入力を供給するという意味において隠すこともできる。例示のニューラルネットワークは、入力層、中間層または隠された層、出力層など、適切な任意数の層を含むことができる。
【００６２】
ニューラルネットワークの使用は、一般的にトレーニングフェーズとテストフェーズを必要とする。トレーニングフェーズ中には、「トレーニングセット」と呼ばれるデータパターンのあらかじめ選択されたグループのうちの１つが、分類のためにネットワークに対して提示される。このプロセスは多くの場合に、順方向伝搬（forward propagation）と称される。トレーニングステップの一目的は、コストファンクションを最小にし、それによってネットワーク中のエラーを最小にすることである。次いでトレーニングからの結果を使用して、そのパターンが再び順方向伝搬のために提示された場合に、ネットワークがより低いコストをもたらすことになるようにして、重みやバイアスなど、ネットワークのパラメータを調整する。この調整プロセスは、逆方向伝搬（backward propagation）と称される。順方向伝搬と逆方向伝搬は通常、「妥当性検証セット」と呼ばれるデータパターンの適切な第２のあらかじめ選択されたグループ上で平均化されたコストファンクションが最小にされるまで、逐次的に実行される。
【００６３】
トレーニングが完了されるときに、ネットワークのパラメータは、凍結され、もはや変更することはできない。そのポイントにおいては、ネットワークは、十分にトレーニングされていると言われる。テストデータセットがネットワークに対して提示され、そのテストセット上における計算の結果は、評価され、知られている理想的な結果と比較される。その評価が許容可能なマージン内にある結果をもたらす場合には、そのネットワークは、使用のために受け入れられる。
【００６４】
図５は、学習コンポーネント１１０をインプリメントするために使用することができる多層ニューラルネットワーク５００のシステムブロック図である。図に示されるニューラルネットワーク５００は、入力層５１０と、隠された層５２０と、出力層５３０とを含んでいる。各層は、おのおのが入力を受け入れる１つまたは複数のニューロン５４１、５４２、５４３を含み、何らかのあらかじめ定義されたファンクションとオプショナルな重みまたはバイアスに関してその入力を処理し、出力を供給する。各層中におけるユニットはいくつかの接続５５０を経由して相互に接続される。図に示される例においては、各層は、隣接する１つまたは複数の層と完全に接続され、これは、その層中における各ユニットが、そのユニットが存在する層に隣接した１つまたは複数の層中におけるあらゆるユニットに対して接続されることを意味する。提示を明確にするために、一部のユニットと一部の接続は、その図から省略されている。ニューラルネットワーク中におけるユニットの正確な数およびコンフィギュレーションは、この分野における当業者の熟練のレベルの範囲内のインプリメンテーションの詳細であること、ならびに図５に示され、本明細書中において論じられる特定のコンフィギュレーションは、限定するファクタとして解釈されるべきではないことが認識されるべきである。
【００６５】
入力層５１０は、ランク付けされるべき入力データを最初に受け取る層である。一般的に、入力データは、関心のあるいくつかのアトリビュートが定義され、各アトリビュートが関連する値を有するように構成される。入力層５１０の共通の、また多くの場合においては好ましいコンフィギュレーションは、その層が、処理すべきデータの関心のあるアトリビュートの数に等しいユニットの数を有することである。次いで入力層５１０中における各ユニット５４１は、入力データの単一のアトリビュートを処理し、隠された層５２０のユニット５４２に向かってその処理の結果を供給することになる。一般的に、入力層中におけるユニットは、関連するバイアスまたは重みを有さないのに対して、そのネットワーク中におけるあらゆる他のユニットは、有している。同様に、隠された層５２０のユニット５４２は、入力層５１０のユニット５４１からそれらに対するデータ入力を処理し、出力層５３０のユニット５４３に向かってそれらの処理の結果を供給することになる。出力層５３０のユニット５４３は、同様にそれらのそれぞれの入力データを処理し、結果を出力する。
【００６６】
次に図６を参照すると、単一層ニューラルネットワーク６００の一実施形態が、システムブロック図形式で示されている。図に示されるニューラルネットワーク６００は、入力層６１０と出力層６２０とを含んでいる。名前、単一層は、入力層６１０と出力層６２０との間の接続６３０の単一層に由来している。多層ニューラルネットワーク中におけるように、各層は、おのおのが、入力を受け入れ、何らかのあらかじめ定義されたファンクションとオプショナルな重みまたはバイアスに関してその入力を処理し、出力を供給する１つまたは複数のニューロン６４１および６４２を含んでいる。各層中におけるユニットは、いくつかの接続６３０を経由して相互に接続される。入力層６１０は、ランク付けされるべき入力データを最初に受け取る層である。一般的に、入力データは、関心のあるいくつかのアトリビュートが定義され、各アトリビュートが関連する値を有するように構成される。入力層６１０の共通の、また多くの場合においては好ましいコンフィギュレーションは、その層が、処理すべきデータの関心のあるアトリビュートの数に等しいユニットの数を有することである。次いで入力層６１０中における各ユニット６４１は、入力データの単一のアトリビュートを処理し、出力層６２０のユニット６４２に向かってその処理の結果を供給することになる。出力層６２０の１つまたは複数のユニット６４２は、それらのそれぞれの入力データを処理し、結果を出力する。
【００６７】
クエリ検索結果をランク付けする学習システムの場合には、アトリビュートまたは特徴ベクトルは、クエリと検索結果（例えば、ドキュメント）の両方に由来する可能性がある。各特徴ベクトルは、ある種のアトリビュート、例えばクエリ中における単語、結果のタイトル、結果中におけるある種の単語の生起数、およびクエリまたは結果の他の任意の特徴に応じた１組の数とすることができる。特徴ベクトルは、単一のクエリドキュメント対の結果である。
【００６８】
次に図７を参照すると、サンプルユニット７００が、システムブロック図形式で示されている。ユニット７００は、あらかじめ定義されたプロセスに従ってデータ処理を実行する本体（body）７１０を含んでいる。通常、そのプロセスは、アクティベーションファンクション７２０の形態である。使用することができる特定のアクティベーションファンクションは、おおむねインプリメンテーションの選択の問題であるが、一般的には何らかの形式のシグモイド関数（sigmoidal function）である。
【００６９】
入力７４０は、そのあらかじめ定義されたファンクションに従って処理するために本体７１０中にデータを供給する。パラメータとも称される重みまたはバイアス７５０は、ユニット７００の本体７１０中への入力としても示されるが、ユニット７００の本体７１０内の変数など、他の重み付け手段またはバイアス手段を使用することもできる。出力７６０は、アクティベーションファンクションを介して、合計された入力およびバイアスを通過させた結果である。
【００７０】
前述のように、使用される特定のアクティベーションファンクションは、おおむね所与の任意のアプリケーションにおけるインプリメンテーションの選択の問題である。ニューラルネットワーク中における各ユニットおよびあらゆるユニットは、固有のアクティベーションファンクションを有することが可能である。しかし、入力層および隠された層の内部のユニットは、同じアクティベーションファンクションを有し、出力層についての異なるファンクションを使用することが一般的である。この場合にも、異なるファンクションを使用すべきかどうかは、主としてインプリメンテーションの選択である。
【００７１】
言及したタイプのニューラルネットワークを構築し、構成するために、いくつかのファクタが考慮される。適切なアクティベーションファンクションとしきい値が作成され、選択される。入力データフォーマットが定義される。ユニットおよび層の数は、これらのユニットおよび層についての相互接続トポロジと一緒に決定される。構築が完了するときに、ネットワークは、トレーニングされ、テストされる。
【００７２】
前述のシステムは、いくつかのコンポーネントの間の相互作用に関して説明されている。そのようなシステムおよびコンポーネントは、それらのコンポーネントもしくはそこで指定されるサブコンポーネント、指定されるコンポーネントもしくはサブコンポーネントの一部、および／または追加のコンポーネントを含むことができる。サブコンポーネントは、親コンポーネント内に含まれるのではなくて、他のコンポーネントに通信可能に結合されるコンポーネントとしてインプリメントすることもできる。さらに、１つまたは複数のコンポーネントは、集合体機能（aggregate  functionality）を提供する単一のコンポーネントへと組み合わせ、あるいはいくつかのサブコンポーネントへと分割することができることに注意すべきである。それらのコンポーネントは、本明細書中において特に説明されてはいないが、当業者によって知られている１つまたは複数の他のコンポーネントと相互作用することもできる。
【００７３】
さらに、認識されるように、以上の開示されるシステム、および以下の方法の様々な部分は、人工知能の、または知識ベースもしくはルールベースの、コンポーネント、サブコンポーネント、プロセス、手段、方法、またはメカニズム（例えば、サポートベクトルマシン、ニューラルネットワーク、エクスパートシステム、ベイズ信頼度ネットワーク（Bayesian belief network）、ファジーロジック、データフュージョンエンジン、分類器．．．）を含むことができ、あるいはそれらから構成することができる。そのようなコンポーネントは、とりわけシステムおよび方法の一部分をより適応的、ならびに効率的かつインテリジェントにするためにそれによって実行されるある種のメカニズムまたはプロセスを自動化することができる。
【００７４】
上記の例示のシステムを考慮すると、本開示の主題に従ってインプリメントすることができる方法は、図８〜１０のフローチャートを参照してよりよく理解されるであろう。説明を簡単にする目的のために、本方法は、一連のブロックとして示され、説明されるが、一部のブロックは、異なる順序で、かつ／または本明細書中において示され、説明される他のブロックと同時に行うことができるので、請求される主題は、ブロックの順序によって限定されないことを理解し、認識すべきである。さらに、必ずしもすべての示されるブロックが、以下に説明される方法をインプリメントするために必要とされなくてもよい。
【００７５】
また、以下に、そしてこの明細書全体を通して開示される方法は、コンピュータに対してそのような方法を移植すること、および転送することを容易にするために、製造業者の品物に記憶されることが可能であることもさらに認識すべきである。用語、製造業者の品物は、使用されるように、任意のコンピュータ読取り可能デバイス、搬送波または媒体からアクセス可能なコンピュータプログラムを包含することが意図される。
【００７６】
図８は、オペレーションのために学習システムを準備する一方法８００を示している。この処理は、開始ブロック８０２から開始され、プロセスブロック８０４へと継続され、ここでその学習システムはトレーニングされる。プロセスブロック８０６において、学習システムは妥当性検証データを使用してテストされる。判断ブロック８０８において、妥当性検証データ上における学習システムのパフォーマンスが十分であるかどうかについての決定が行われる。パフォーマンスが不十分である場合、この処理はプロセスブロック８０４へと戻り、学習システムはトレーニングを継続する。学習システムのパフォーマンスが十分である場合には、この処理はプロセスブロック８１０へと継続され、ここで学習システムは動作フェーズに入り、ユーザが利用することができる。学習システムの動作パラメータは、動作フェーズに入ることに先立って固定することができる。本プロセスはブロック８１２において終了する。
【００７７】
図９は、任意のコストファンクションを用いて学習システムをトレーニングするための一方法９００を示している。本方法は、ニューラルネットワークを利用したランキングシステムに関して説明される。しかし、本方法は、ニューラルネットワークを含むランキングシステムだけには限定されない。この処理は開始ブロック９０２から開始され、プロセスブロック９０４へと継続され、ここでトレーニング入力が再順序付けされる。とりわけ、トレーニングセットを構成するクエリの組がシャッフルされる。シャッフルすることは、その組の内部のクエリが、ニューラルネットワークに提示される前に再順序付けされるプロシージャを意味する。そのようなシャッフルすることは、コンバージェンスを支援することができるので、トレーニングエポック（training epoch）を開始することに先立ってこのようにしてクエリをシャッフルすることが、多くの場合に有用である。プロセスブロック９０６においては、入力データは、所与のトレーニング入力について学習システムに提示される。この例においては、所与のクエリについて、１組のクエリドキュメント対が、学習システムに対して提示される。代わりに、１組の特徴ベクトルが、学習システムに対して提示される。各特徴ベクトルは、クエリ／ドキュメント対から（所与のクエリについて）計算することができる（すなわち、一部の特徴は、一般にクエリとドキュメントの両方に依存することになる）。クエリドキュメント対の組は、その所与のクエリについてのランク付けすべき各ドキュメントを含んでいる。プロセスブロック９０８においては、学習システムの出力を使用して構造化データを生成する。この例においては、それらのドキュメントのおのおののランキングが決定される。
【００７８】
ドキュメントごとの推定される勾配は、プロセスブロック９１０において構造化データ（例えば、ドキュメントのランキング）に基づいて取得される。推定される勾配は、学習システムの出力が調整されるべき量および方向を示す。推定される勾配は、学習システムをテストするために使用されることになるコストファンクションを反映するように１組のルールに基づいて選択することができる。例えば、ＷＴＡコストファンクションでは、最上部にランク付けされた結果について推定される勾配は、残りの結果についての推定される勾配よりもかなり大きくすることができる。しかし、大きな推定される勾配を利用することは、ドキュメントが、次にくるクエリについて逆にランク付けするというフリッピング（flipping）をもたらす問題を引き起こす可能性がある。推定される勾配の組は、最上部にランク付けされた結果と次にランク付けされた結果との間にかなりのギャップまたはマージンが存在するようにするために選択されるべきである。それに応じて、推定される勾配は、滑らかに変化するように選択することができる。
【００７９】
プロセスブロック９１２において、学習システムのパラメータまたは重みのおのおのは、推定される勾配の組に基づいてアップデートされる。学習システムパラメータに対する変更は、各トレーニング入力からの入力データについて計算し、トレーニング入力のすべてについて入力データに基づいてアップデートすることができる。この例においては、重みの変更は、クエリドキュメント対ごとに計算することができる。しかしながら、推定される勾配の値それら自体は、それらの重みに依存するので、それらの重みは、すべてのクエリドキュメント対が処理されるまで実際には修正されない。バッチ処理の結果として、それらの重みの変更は、そのリスト中におけるあらゆるクエリドキュメント対に依存する。推定される勾配は、あらゆるドキュメントのスコア、ラベルおよびランクに依存する可能性があるので、推定される勾配が、単一のドキュメントのスコアだけに依存する、分類コストファンクションなど、何らかの簡単なコストファンクションについて計算された場合に比べて、学習システムは、ずっと複雑な依存性をモデル化することができる。
【００８０】
判断ブロック９１４において、トレーニングセット中に追加のクエリが存在するかどうかについて決定が行われる。追加のクエリが存在する場合、処理は、プロセスブロック９０６へと戻り、トレーニングセット中における次のクエリが処理される。トレーニングセット中におけるすべてのクエリが処理されている場合には、処理は判断ブロック９１６へと継続される。判断ブロック９１６において、学習システムのパフォーマンスは、トレーニングを継続し、プロセスブロック９０４へと戻るか、あるいはブロック９１８において終了すべきかを決定するために評価される。一実施形態においては、パフォーマンスは、トレーニングセット上において平均エラーレートの変化のレートに基づいて評価される。
【００８１】
図１０は、学習システムパラメータをアップデートするための一方法１０００を示している。処理は、開始ブロック１００２から開始され、プロセスブロック１００４へと継続され、ここで推定される勾配の組が取り出される。次に、プロセスブロック１００６において、学習システムのためのパラメータについての現行の値が取り出される。パラメータは、処理ブロック１００８において、ドキュメントまたは結果ごとに学習システムから出力される推定される勾配およびスコアの組に基づいてアップデートされる。判断ブロック１０１０において、学習システム中においてアップデートされるべき追加のパラメータが存在するかどうかについての決定が行われる。存在する場合、処理は、処理ブロック１００６へと戻り、次のパラメータについての現行の値が取り出される。アップデートされるべき追加のパラメータが存在しない場合には、本プロセスは、ブロック１０１２において終了する。
【００８２】
開示される主題の様々な態様についてのコンテキストを提供するために、図１１および図１２、ならびに以降の説明は、開示される主題の様々な態様を実装することができる適切な環境の簡潔かつ一般的な説明を与えることを意図している。本主題は、１台のコンピュータおよび／または複数台のコンピュータ上で実行されるコンピュータプログラムのコンピュータ実行可能命令の一般的な場合について以上に説明されているが、当業者なら、本開示のシステムおよび方法はまた、他のプログラムモジュールと組み合わせて実装することもできることを認識するであろう。一般に、プログラムモジュールは、個々のタスクを実行し、かつ／または個々の抽象データ型を実装するルーチン、プログラム、コンポーネント、データ構造などを含んでいる。さらに当業者なら、本発明の方法が、単一プロセッサまたはマルチプロセッサのコンピュータシステム、ミニコンピュータ・デバイス、メインフレームコンピュータ、ならびにパーソナルコンピュータ、ハンドヘルドコンピュータ・デバイス（例えば、携帯型個人情報端末（ＰＤＡ）、電話、時計．．．）、マイクロプロセッサベースの電子製品（electronics）またはプログラマブルな民生用もしくは産業用の電子製品などを含めて、他のコンピュータシステムコンフィギュレーションを用いて実行することができることを認識するであろう。例示の態様は、タスクが、通信ネットワークを介してリンクされるリモート処理デバイスによって実行される分散コンピューティング環境中において実行することもできる。しかしながら、本開示の主題のすべてがそうではない場合にも一部の態様は、スタンドアロンコンピュータ上で実行することができる。分散コンピューティング環境においては、プログラムモジュールは、ローカルなメモリストレージデバイス中にもリモートなメモリストレージデバイス中にも配置することができる。
【００８３】
図１１を参照すると、本明細書中において開示される様々な態様をインプリメントするための例示の環境１１１０は、コンピュータ１１１２（例えば、デスクトップ、ラップトップ、サーバ、ハンドヘルド、プログラマブルな民生用もしくは産業用の電子製品．．．）を含んでいる。コンピュータ１１１２は、処理装置１１１４、システムメモリ１１１６およびシステムバス１１１８を含んでいる。システムバス１１１８は、それだけには限定されないがシステムメモリ１１１６を含めてシステムコンポーネントを処理装置１１１４に対して結合する。処理装置１１１４は、様々な使用可能なマイクロプロセッサのうちの任意のものにすることができる。デュアルマイクロプロセッサおよび他のマルチプロセッサのアーキテクチャは、処理装置１１１４として使用することもできる。
【００８４】
システムバス１１１８は、それだけには限定されないが、１１−ビットバス、ＩＳＡバス、マイクロチャネルアーキテクチャ（ＭＳＡ）バス、ＥＩＳＡバス、インテリジェントドライブエレクトロニクス（Intelligent Drive Electronics）（ＩＤＥ）、ＶＥＳＡローカルバス（ＶＬＢ）、ＰＣＩバス、ＵＳＢ、ＡＧＰ（Advanced Graphics Port）、ＰＣＭＣＩＡバス、およびＳＣＳＩを含めて、様々な使用可能な任意のバスアーキテクチャを使用したメモリバスもしくはメモリコントローラ、ペリフェラルバスもしくは外部バス、および／またはローカルバスを含むいくつかのタイプの１つまたは複数のバス構造のうちの任意のものにすることができる。
【００８５】
システムメモリ１１１６は、揮発性メモリ１１２０と不揮発性メモリ１１２２とを含んでいる。起動中などコンピュータ１１１２内の要素間で情報を転送する基本ルーチンを含む基本入出力システム（ＢＩＯＳ：basic input/output system）は、不揮発性メモリ１１２２に記憶される。一例であって限定するものではないが、不揮発性メモリ１１２２は、読取り専用メモリ（ＲＯＭ）、プログラマブルＲＯＭ（ＰＲＯＭ）、ＥＰＲＯＭ（electrically programmable ROM）、ＥＥＰＲＯＭ、またはフラッシュメモリを含むことができる。揮発性メモリ１１２０は、ランダムアクセスメモリ（ＲＡＭ）を含んでおり、このランダムアクセスメモリは、外部キャッシュメモリとしての役割を果たす。一例であって限定するものではないが、ＲＡＭは、シンクロナスＲＡＭ（ＳＲＡＭ）、ＤＲＡＭ、シンクロナスＤＲＡＭ（ＳＤＲＡＭ）、ダブルデータレートＳＤＲＡＭ（ＤＤＲ  ＳＤＲＡＭ）、拡張ＳＤＲＡＭ（ＥＳＤＲＡＭ）、シンクリンクＤＲＡＭ（ＳＬＤＲＡＭ）、およびダイレクトラムバスＲＡＭ（ＤＲＲＡＭ）など、多数の形態で使用可能である。
【００８６】
コンピュータ１１１２はまた、着脱可能／着脱不能な、揮発性／不揮発性のコンピュータストレージ媒体を含んでいる。図１１は、例えば、ディスクストレージ１１２４を示している。ディスクストレージ１１２４は、それだけには限定されないが、磁気ディスクドライブ、フロッピー（登録商標）ディスクドライブ、テープドライブ、Ｊａｚドライブ、Ｚｉｐドライブ、ＬＳ−１００ドライブ、フラッシュメモリカード、またはメモリスティックなどのデバイスを含んでいる。さらに、ディスクストレージ１１２４は、それだけには限定されないが、ＣＤ−ＲＯＭデバイス、ＣＤ−Ｒドライブ、ＣＤ−ＲＷドライブまたはＤＶＤ−ＲＯＭドライブなどの光ディスクドライブを含めて、他のストレージ媒体と別個に、あるいは組み合わせてストレージ媒体を含むことができる。システムバス１１１８に対するディスクストレージデバイス１１２４の接続を容易にするために、インターフェース１１２６など、着脱可能または着脱不能なインターフェースが一般的に使用される。
【００８７】
図１１は、適切な動作環境１１１０中において説明されるユーザと基本的なコンピュータリソースとの間の仲介手段としての役割を果たすソフトウェアについて説明していることを認識すべきである。そのようなソフトウェアは、オペレーティングシステム１１２８を含んでいる。ディスクストレージ１１２４に記憶することができるオペレーティングシステム１１２８は、コンピュータシステム１１１２のリソースを制御し割り付ける役割を果たす。システムアプリケーション１１３０は、システムメモリ１１１６またはディスクストレージ１１２４のいずれかに記憶されるプログラムモジュール１１３２およびプログラムデータ１１３４を介したオペレーティングシステム１１２８によるリソースの管理を利用している。本システムおよび方法は、様々なオペレーティングシステムまたはオペレーティングシステムの組合せを用いて実装できることを認識すべきである。
【００８８】
ユーザは、１つまたは複数の入力デバイス１１３６を介してコマンドまたは情報をコンピュータ１１１２へと入力する。入力デバイス１１３６は、それだけには限定されないが、マウス、トラックボール、スタイラス、タッチパッドなどのポインティングデバイス、キーボード、マイクロフォン、ジョイスティック、ゲームパッド、サテライトディッシュ、スキャナ、ＴＶチューナカード、デジタルカメラ、デジタルビデオカメラ、ウェブカメラなどを含んでいる。これらおよび他の入力デバイスは、１つまたは複数のインターフェースポート１１３８を経由してシステムバス１１１８を介して処理装置１１１４に接続される。１つまたは複数のインターフェースポート１１３８は、例えばシリアルポート、パラレルポート、ゲームポート、およびＵＳＢを含んでいる。１つまたは複数の出力デバイス１１４０は、１つまたは複数の入力デバイス１１３６と同じタイプのポートの一部を使用する。したがって、例えば、ＵＳＢポートを使用して、コンピュータ１１１２に対する入力を供給し、コンピュータ１１１２からの情報を出力デバイス１１４０に対して出力することができる。出力アダプタ１１４２は、専用アダプタを必要とする他の出力デバイス１１４０のうちでもとりわけ、ディスプレイ（例えば、フラットパネルおよびＣＲＴ）、スピーカ、およびプリンタのような一部の出力デバイス１１４０が存在することを示すために提供される。出力アダプタ１１４２は、一例として限定するものではないが、出力デバイス１１４０とシステムバス１１１８との間の接続の手段を提供するビデオカードおよびサウンドカードを含んでいる。他のデバイスおよび／またはデバイスのシステムは、１つまたは複数のリモートコンピュータ１１４４などの入力機能と出力機能の両方を提供することに注意すべきである。
【００８９】
コンピュータ１１１２は、１つまたは複数のリモートコンピュータ１１４４など、１つまたは複数のリモートコンピュータに対する論理接続を使用してネットワーク化された環境中において動作することができる。１つまたは複数のリモートコンピュータ１１４４は、パーソナルコンピュータ、サーバ、ルータ、ネットワークＰＣ、ワークステーション、マイクロプロセッサベースの電気器具、ピアデバイスまたは他の共通ネットワークノードなどとすることができ、一般的にコンピュータ１１１２に対して説明される要素のうちの多くまたはすべてを含んでいる。簡潔にする目的のために、メモリストレージデバイス１１４６だけが、１つまたは複数のリモートコンピュータ１１４４と共に示されている。１つまたは複数のリモートコンピュータ１１４４は、ネットワークインターフェース１１４８を介してコンピュータ１１１２に対して論理的に接続され、次いで１つまたは複数の通信接続１１５０を経由して物理的に接続される。ネットワークインターフェース１１４８は、ローカルエリアネットワーク（ＬＡＮ）やワイドエリアネットワーク（ＷＡＮ）などの通信ネットワークを包含している。ＬＡＮ技術は、ＦＤＤＩ（Fiber Distributed Data Interface）、ＣＤＤＩ（Copper Distributed Data Interface）、Ｅｔｈｅｒｎｅｔ（登録商標）／ＩＥＥＥ８０２．３、トークンリング／ＩＥＥＥ８０２．５などを含んでいる。ＷＡＮ技術は、それだけには限定されないが、ポイント・ツー・ポイントリンクと、統合デジタルサービス通信網（ＩＳＤＮ）のような回路交換網およびそれらの変形と、パケット交換網と、デジタル加入者回線（ＤＳＬ）とを含んでいる。
【００９０】
１つまたは複数の通信接続１１５０は、ネットワークインターフェース１１４８をバス１１１８に対して接続するために使用されるハードウェア／ソフトウェアを意味する。通信接続１１５０は、例証を明確にするためにコンピュータ１１１２の内側に示されるが、この通信接続は、コンピュータ１１１２の外側に存在することも可能である。ネットワークインターフェース１１４８に接続するために必要なハードウェア／ソフトウェアは、例示の目的のためだけであるが、通常の電話グレードのモデムと、ケーブルモデムと、パワーモデム（power modem）およびＤＳＬモデムと、ＩＳＤＮアダプタと、イーサネット（登録商標）カードまたはイーサネット(登録商標)コンポーネントを含むモデムなど、内蔵技術および外付け技術を含んでいる。
【００９１】
図１２は、開示される本システムが対話することができるサンプルのコンピューティング環境１２００の概略ブロック図である。システム１２００は、１つまたは複数のクライアント１２１０を含んでいる。１つまたは複数のクライアント１２１０は、ハードウェアおよび／またはソフトウェア（例えば、スレッド、プロセス、コンピューティングデバイス）とすることができる。システム１２００は、１つまたは複数のサーバ１２３０も含んでいる。したがって、システム１２００は、他のモデルのうちでもとりわけ、２層のクライアントサーバモデル、または多層（multi-tier）のモデル（例えば、クライアント、中間層サーバ、データサーバ）に対応する可能性がある。１つまたは複数のサーバ１２３０は、ハードウェアおよび／またはソフトウェア（例えば、スレッド、プロセス、コンピューティングデバイス）とすることもできる。クライアント１２１０とサーバ１２３０との間の可能な１つの通信は、２つ以上のコンピュータプロセス間で伝送されるようになっているデータパケットの形態とすることもできる。システム１２００は、１つまたは複数のクライアント１２１０と１つまたは複数のサーバ１２３０との間の通信を容易にするために使用することができる通信フレームワーク１２５０を含んでいる。１つまたは複数のクライアント１２１０は、１つまたは複数のクライアント１２１０に対してローカルな情報を記憶するために使用することができる１つまたは複数のクライアントデータストア１２６０に動作可能に接続される。同様に、１つまたは複数のサーバ１２３０は、サーバ１２３０に対してローカルな情報を記憶するために使用することができる１つまたは複数のサーバデータストア１２４０に動作可能に接続される。
【００９２】
上記されているものは、請求される主題の態様の例を含む。請求される主題を説明する目的のためにコンポーネントまたは方法のあらゆる考えられる組合せを説明することは、もちろん可能ではないが、当業者は、本開示の主題の多数のさらなる組合せおよび置換が可能であることを認識することができる。したがって、本開示の主題は、添付の特許請求の範囲の趣旨および範囲内に含まれるすべての変更形態、修正形態、および変形形態を包含することを意図している。さらに、用語「含む（includes）」、「有する（has）」または「有すること（having）」が、詳細な説明または特許請求の範囲のいずれかにおいて使用される範囲では、そのような用語は、「備える（含む）こと（comprising）」が使用されるときに請求項中におけるトランジショナルワード（transitional word）として解釈されるので、用語「備える（含む）こと（comprising）」と同様にして包含することを意図している。
【図面の簡単な説明】
【００９３】
【図１】本明細書中において開示される主題の一態様に従って構造化データを生成するためのシステムの一説明図である。
【図２】本明細書中において開示される主題の一態様に従って構造化データを生成するためのシステムの一説明図である。
【図３】本明細書中において開示される主題の一態様に従って構造化データを生成するためのシステムの一説明図である。
【図４Ａ】１組のドキュメントの例示のランキングの一説明図である。
【図４Ｂ】１組のドキュメントの例示のランキングの一説明図である。
【図４Ｃ】１組のドキュメントの例示のランキングの一説明図である。
【図５】多層ニューラルネットワークのシステムブロック図である。
【図６】単一層ニューラルネットワークのシステムブロック図である。
【図７】ニューラルネットワークのユニットのシステムブロック図である。
【図８】本明細書中において開示される主題の一態様に従ってオペレーションのために学習システムを準備する方法の一説明図である。
【図９】本明細書中において開示される主題の一態様に従って、任意のコストファンクションを用いて学習システムをトレーニングするための一方法を示す図である。
【図１０】機械学習システムパラメータをアップデートするための一方法を示す図である。
【図１１】適切な動作環境を示す概略ブロック図である。
【図１２】一例のコンピューティング環境の概略ブロック図である。
【図１】
2009515231.tif 000010
【図２】
2009515231.tif 000011
【図３】
2009515231.tif 000012
【図４Ａ】
2009515231.tif 000013
【図４Ｂ】
2009515231.tif 000014
【図４Ｃ】
2009515231.tif 000015
【図５】
2009515231.tif 000016
【図６】
2009515231.tif 000017
【図７】
2009515231.tif 000018
【図８】
2009515231.tif 000019
【図９】
2009515231.tif 000020
【図１０】
2009515231.tif 000021
【図１１】
2009515231.tif 000022
【図１２】
2009515231.tif 000023