(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-07-16
(45)【発行日】2024-07-24
(54)【発明の名称】環境コンテキストへの能動的適応を通じて情報空間のセグメントを識別する技術
(51)【国際特許分類】
G06F 16/90 20190101AFI20240717BHJP
【FI】
G06F16/90 100
(21)【出願番号】P 2022505347
(86)(22)【出願日】2020-07-21
(86)【国際出願番号】 IB2020056825
(87)【国際公開番号】W WO2021024064
(87)【国際公開日】2021-02-11
【審査請求日】2022-12-23
(32)【優先日】2019-08-07
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】390009531
【氏名又は名称】インターナショナル・ビジネス・マシーンズ・コーポレーション
【氏名又は名称原語表記】INTERNATIONAL BUSINESS MACHINES CORPORATION
【住所又は居所原語表記】New Orchard Road, Armonk, New York 10504, United States of America
(74)【代理人】
【識別番号】100112690
【氏名又は名称】太佐 種一
(72)【発明者】
【氏名】シドルキン,オレグ
(72)【発明者】
【氏名】バティン,セルゲイ
(72)【発明者】
【氏名】ボルダッシュ,マイケル
【審査官】三橋 竜太郎
(56)【参考文献】
【文献】特表2011-508340(JP,A)
【文献】米国特許出願公開第2014/0173199(US,A1)
【文献】特表2014-500542(JP,A)
【文献】中国特許出願公開第109358821(CN,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 16/00-16/958
(57)【特許請求の範囲】
【請求項1】
人工知能システムによって、第1のユーザ要求を受信することと、
異種ストレージ媒体から第1の情報のセグメントを検索することであって、前記第1の情報のセグメントが、前記異種ストレージ媒体の上位層に位置
し、かつ、複数の情報のセグメントと前記複数の情報のセグメントの間の関係性のリンクを含む情報グラフの一部である、検索することと、
前記第1の情報のセグメントが、前記第1のユーザ要求を解決しないとの判定に応じて
、
前記第1の情報のセグメントを、前記異種ストレージ媒体の相対的下位層に沈下させることと、
前記第1の情報のセグメントと第2の情報のセグメントとの間の第1の関係性のリンクの第1の強度に基づいて、前記異種ストレージ媒体の前記相対的下位層から
前記第2の情報のセグメントを検索する
ことを決定することと、
前記第2の情報のセグメントが、前記第1のユーザ要求を解決するとの判定に応答して、前記第2の情報のセグメントを、前記異種ストレージ媒体の前記上位層に浮上させることと
を含む、方法。
【請求項2】
前記関係性のリンクは、現在のコンテキスト、ユーザ・プロファイルまたはこれらの両方に少なくとも部分的に基づいて決定される強度を有する、請求項1に記載の方法。
【請求項3】
前記異種ストレージ媒体の前記上位層は、前記異種ストレージ媒体の前記相対的下位層よりも相対的に低いアクセス・コストを有する、請求項1
または2に記載の方法。
【請求項4】
前記異種ストレージ媒体の前記相対的下位層に格納された情報のセグメントは、前記異種ストレージ媒体の前記上位層に格納された情報のセグメントと比較し、相対的に低い信頼度に関連付けられる、請求項1
~3のいずれか1項に記載の方法。
【請求項5】
前記第1の情報のセグメントは、前記第1のユーザ要求の第1のコンテキストに基づいて識別され、前記第1のコンテキストは、前記第1のユーザ要求を行った第1のユーザと、前記第1のユーザの1以上の以前の要求とを示す、請求項1
~4のいずれか1項に記載の方法。
【請求項6】
前記第1のユーザの前記1以上の以前の要求に基づいて前記第1のユーザの第1のプロファイルを生成することであって、前記第1のプロファイルは、前記第1の情報のセグメントにおける1以上のエンティティおよび前記1以上のエンティティ間の関係性のランク付けを特定する、生成すること
をさらに含む、請求項5に記載の方法。
【請求項7】
人工知能システムによって、第1のユーザ要求を受信することと、
異種ストレージ媒体から第1の情報のセグメントを検索することであって、前記第1の情報のセグメントが、前記異種ストレージ媒体の上位層に位置する、検索することと、
前記第1の情報のセグメントが、前記第1のユーザ要求を解決しないとの判定に応じて、前記第1の情報のセグメントを、前記異種ストレージ媒体の相対的下位層に沈下させることと、
前記異種ストレージ媒体の前記相対的下位層から第2の情報のセグメントを検索することと、
前記第2の情報のセグメントが、前記第1のユーザ要求を解決するとの判定に応答して、前記第2の情報のセグメントを、前記異種ストレージ媒体の前記上位層に浮上させることと
を含む方法であり、前記第1の情報のセグメントは、前記第1のユーザ要求の第1のコンテキストに基づいて識別され、前記第1のコンテキストは、前記第1のユーザ要求を行った第1のユーザと、前記第1のユーザの1以上の以前の要求とを示
し、前記方法は、
前記第1のユーザの前記1以上の以前の要求に基づいて前記第1のユーザの第1のプロファイルを生成することであって、前記第1のプロファイルは、前記第1の情報のセグメントにおける1以上のエンティティおよび前記1以上のエンティティ間の関係性のランク付けを特定する、生成することと、
前記人工知能システムに関し、前記第1のプロファイルの品質を示す1以上のパフォーマンス・インジケータを決定することと、
前記第1のプロファイルの前記品質が閾値を上回ると判定したことに応答して、前記第1のプロファイルを使用して、前記人工知能システムの新しいユーザについての要求に回答することと
をさらに含む
、方法。
【請求項8】
人工知能システムによって、第1のユーザ要求を受信することと、
異種ストレージ媒体から第1の情報のセグメントを検索することであって、前記第1の情報のセグメントが、前記異種ストレージ媒体の上位層に位置する、検索することと、
前記第1の情報のセグメントが、前記第1のユーザ要求を解決しないとの判定に応じて、前記第1の情報のセグメントを、前記異種ストレージ媒体の相対的下位層に沈下させることと、
前記異種ストレージ媒体の前記相対的下位層から第2の情報のセグメントを検索することと、
前記第2の情報のセグメントが、前記第1のユーザ要求を解決するとの判定に応答して、前記第2の情報のセグメントを、前記異種ストレージ媒体の前記上位層に浮上させることと
を含む方法であり、前記方法は、さらに、
前記人工知能システムによって第2のユーザ要求を受信することであって、前記第2のユーザ要求は、前記第2のユーザ要求に回答する
コスト
の限界を特定する、受信することと、
前記異種ストレージ媒体の前記上位層に位置するデータを用いて前記第2のユーザ要求に適切に回答できないと判定することと、
特定された前記
コストの限界に基づいて、前記異種ストレージ媒体の前記相対的下位層を探索することと、
を含む
、方法。
【請求項9】
請求項1~8のいずれか1項に記載の方法の全てのステップを実行するように適応された手段を含むシステム。
【請求項10】
コンピュータ・プログラムであって、前記コンピュータ・プログラムが、コンピュータ・システム上で実行されるとき、請求項1~8のいずれか1項に記載の方法のすべてのステップを実行するための命令を含むコンピュータ・プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報空間に関し、より詳細には、情報空間の関連セグメントを識別するために能動適応を利用することに関する。
【背景技術】
【0002】
現代のコンピューティング・システム(特に、情報検索システムまたは人工知能システム)は、正確に機能するために、格納された大量のデータを必要とする。加えて、このデータは、システムが任意の所与の時点に関連情報を識別し、検索することを可能にするように格納されていなければならない。より大きなデータストアを維持することにより、任意の所与の入力に対して正確、適切、または満足できるデータが返される確率が改善される。しかしながら、データストアがますます増大するに伴い、ストレージ・コストが顕著になってくる。すなわち、金銭的コストが増大するとともに、ますます大きくなるストアを探索するために必要な処理コストも増大する。さらに、この大量のデータを維持することが可能なストレージのソリューションは、しばしば、アクセスするのに遅く、システムに追加のレイテンシを導入する。
【発明の概要】
【0003】
本発明は、請求項1に記載の方法、請求項9および請求項10に記載された、対応するシステムおよびコンピュータ・プログラムを提供する。
【図面の簡単な説明】
【0004】
【
図1】本明細書に開示される一実施形態による、情報空間の関連情報セグメントを能動的に識別するためのワークフローを示す。
【
図2A】本明細書に開示される一実施形態による、効率を改善するために関連情報のセグメントを浮上および沈下させるための技術を説明する。
【
図2B】本明細書に開示される一実施形態による、効率を改善するために関連情報のセグメントを浮上および沈下させるための技術を説明する。
【
図3】本明細書に開示される一実施形態による、環境コンテキストに基づく能動的適応を用いて関連情報のセグメントを識別するように構成された人工知能システムを示すブロック図である。
【
図4】本明細書に開示される一実施形態による、関連情報のセグメントを能動的に識別するための方法を示すフロー図である。
【
図5】本明細書に開示される一実施形態による、能動的に適応する情報システムにおけるユーザ・コンテキストをプロファイリングするための方法を示すフロー図である。
【
図6】本明細書に開示される一実施形態による、関連情報のセグメントを識別する方法を示すフロー図である。
【発明を実施するための形態】
【0005】
本開示の実施形態は、効率的かつ費用効果的な方法で関連データをより良く識別するために、情報空間の情報を能動的に浮上および沈下させるための技術を提供する。実施形態においては、情報分析検索システムは、関連情報を照会され得る膨大な(そして成長し続ける)情報空間を維持する。例えば、人工知能(Artificial Intelligence,AI)アプリケーションは、所与の要求または入力に対する関連データを識別し、適切な応答を生成するために、このようなシステムに依拠し得る。本開示のいくつかの実施形態においては、情報空間は、これらの要素間の関係によってリンクされた、要素またはエンティティのグラフとして維持される。
【0006】
一実施形態においては、システムが情報空間と相互作用するとき、(例えば、関係性の重みまたは適切さを増加または減少させることによって)エンティティ間の関係性を作成、除去または修正することができる。いくつかの実施形態においては、情報空間のセグメントおよびブランチは、環境コンテキストの定量的観察およびユーザからの定性的フィードバックに基づいてさらにアノテーション付けされる。加えて、一実施形態においては、動作中に新たなデータが学習されて取り入れられるにつれて、情報空間は絶えず成長している。例えば、一実施形態においては、ユーザからの入力および要求を情報空間に追加することができ、その結果、それは、将来の要求に対してより良好に応答するために、検索され、その後、依拠することができるようになる。このようにして、システムは、動的かつ知的である。所与の入力(例えば、ユーザからの要求)に対し、情報システムは、応答を生成するために関連データを識別し、検索するべきである。
【0007】
しかしながら、実施形態においては、情報空間は、有意なストレージ上の懸念を提示し得る。典型的には、ストレージのソリューションは、価格、容量および速度において大きく変化する可能性がある。例えば、シリアライズされたストレージは、デシリアライズされたストレージよりも高速であるが、コスト増加(または縮小されたサイズ)となる可能性がある。同様に、ランダム・アクセス・メモリ(RAM)またはキャッシュは、ディスク・ベースのストレージよりも相対的に速くすることができるが、容量を減少させ、価格を増大させる可能性がある。さらに、リモート・ストレージのソリューション(例えば、クラウドのような)は、有意な容量および拡張の容易さを提供することができるが、有意に増加したレイテンシを有する。本開示の実施形態においては、グラフとして表される、連続的な情報空間が、多数の層を含む異種ストレージ・ソリューションに格納され、ここで、各層は、様々な利点および欠点と関連している。一実施形態においては、相対的に上位層は、(例えば、データを探索および検索するための)使用に対するレイテンシなど、低減されたアクセス・コストに関連付けられ、一方、相対的に下位層は、利用するための追加の時間またはコストを含む。
【0008】
一実施形態においては、正確で信頼性のある応答を提供するために、システムは、使用中に情報空間のセグメントを浮上(surface)および沈下(sink)させるための適応(adaptation)を利用し、所与の質問に対する最も関連する情報が、異種ストレージ・ソリューションの相対的に上位層で見出される可能性が高くなるようにする。いくつかの実施形態においては、情報空間のセグメントが、特定の入力に基づいて識別され、利用される場合、そのデータは、ストレージ・システムの相対的に上位層に浮上される。同様に、データが使用される頻度が少ない場合には、それは、システムの下位層に漸進的に沈下される。これにより、計算効率を向上させるために、所定のコンテキストに対する関連データを異種ストレージ・システムにおいて積極的に移動させる。すなわち、所与のコンテキストが次に発生すると、情報空間の関連データが、それにアクセスするためのコストを低減する、システムの相対的に上位層に配置されることになる。実施形態においては、コンテキストは、現在の入力、以前の入力/要求、現在のユーザ、時刻などの任意の数のシステム・ファクタを含むことができる。
【0009】
一実施形態においては、各要求または入力は、情報空間を探索することによって、回答される(または、そうでなければ満たされる)べき質問または問い合わせである。例えば、ユーザは、情報を要求したり、実行すべきタスクや動作等を指示したりすることができる。一実施形態においては、システムは、(要求が未だ解決されていない場合に)下位層に進む前に、まずストレージ・システムの相対的上位層を利用して、要求に応答するためにストレージ・システムに問い合わせる。いくつかの実施形態においては、システムは、現在の”最良の”応答に関連する信頼レベルに基づいて、より下位の(したがって、より費用のかかる)ストレージ層に継続するかどうかを決定する。例えば、システムは、最上位の層のデータを識別し、それを評価して、要求を適切に満たす信頼度を決定することができる。信頼度が所定の閾値以上である場合には、データを使用して応答を返すことができる。しかしながら、信頼度が閾値未満である場合には、システムは、満足な応答が発見されるまで、ストレージの次の最下位の層を探索することができる。
【0010】
いくつかの実施形態においては、要求は、要求のコストまたは重要性をさらに特定してもよい。一実施形態においては、コストの限界(または低い重要性)は、ストレージ・システムがシステム内の深すぎる探索をしないように制限することができる。同様に、より高いコスト限界(またはより高い重要性)は、より高い信頼性の応答が生成されるまで、システム内のより遠く/より深い探索を継続するようにシステムに指示することができる。一実施形態においては、要求に応答するための関連データを識別するために、システムは、エンティティ間の関係性の強度および各エンティティが存在する層の組み合わせを利用する。例えば、システムは、第1の関連エンティティ(例えば、ストレージグラフ内のノード)を識別し、予め定義された最小の重みで(例えば、グラフにおけるエッジを介して)第1のノードに接続されている他のエンティティ(例えば、ノード)を識別することができる。次いで、システムは、識別された各要素のデータを、関係性の強度もしくは要素が格納された層またはこれらの両方に基づいて、検索し、評価することができる。
【0011】
このような実施形態においては、例えば、システムは、最初に、より強い接続を有するデータを評価することができるが、(接続が強い場合でも)ストレージ・システムの下位層に格納されている要素を評価することを延期することができる。いくつかの実施形態においては、システムは、接続の強度および検索のコスト(例えば、それが存在する層)に基づいて、下位層のデータを検索するかどうかを総体的に決定する。別の実施形態においては、システムは、最上位層を最初に探索し、適切なデータを識別することなく上位層が尽くされた場合にのみ次の下位層に進む。このようにして、システムは、満足な応答を返すことができるまで、グラフを反復的に横断することができる(順次より遠隔のノードに到達する、もしくは順次ストレージのより下位層に到達する、またはこれらの両方である)。
【0012】
一実施形態においては、個々のユーザ・コンテキストをプロファイルしてもよい。すなわち、最もよいパフォーマンスのプロファイル(例えば、最も効率的もしくは正確またはこれらの両方であるもの)を識別するために、統計(応答を生成するための時間もしくはコストまたはこれらの両方、応答の精度もしくは信頼性またはこれらの両方など)をユーザ毎に収集してもよい。これらは、システムの全体的なパフォーマンスを向上させるために、より低いパフォーマンスのプロファイルに連続的に併合してもよい。いくつかの実施形態においては、学習曲線を低減させ、人工知能システムが新しいユーザ・コンテキストに適応するのに必要な時間を短縮するために、システムの新しいユーザを訓練または案内するために、最も良いパフォーマンスのプロファイルがまた使用される。
【0013】
例えば、一実施形態においては、ユーザの挙動は、システムによって生成された次のステップの推奨による影響を受ける可能性がある。すなわち、システムは、以前にプロファイルされた上位成績者に部分的に基づいて、関連データを識別し、もしくは要求に応答し、またはこれらの両方をすることができ、これにより、効率を向上させ、新しいユーザについての応答時間およびコストを低減することができる。一実施形態においては、プロファイルは、エンティティもしくはエンティティ間の対応する関係性またはこれらの両方の順位付けから構成される。これらの順位付けは、よって、システム全体の効率を向上させるために、容易に併合可能であり、移転可能である。一実施形態においては、これらの順位付けは、ユーザがシステムを利用するときに学習される。例えば、いくつかの実施形態においては、人工知能システムは、ユーザの次の要求に基づいて関係性を推定することができ、あるいは、ユーザは、応答の質を具体的に指示することができる。
【0014】
図1は、本明細書に開示される一実施形態による、情報空間において関連情報セグメントを能動的に識別するためのワークフロー100を示す。図示されるように、質問応答システム105(例えば、人工知能システム)は、1以上のユーザから要求120を受信し、対応する応答125を生成する。いくつかの実施形態においては、要求120および応答125は、自然言語であり、会話体である。いくつかの実施形態においては、要求120および応答125は、あたかもユーザが質問応答システム105と会話をしているかのように、順に、受信され、返される。例えば、第1の要求120は、”去年送信した上位5つのメーリングを見せて”を含んでもよく、対応する応答125は、”これが、去年からの上位5つのメーリングです”およびそれに続くメーリングのリストを含んでもよい。
【0015】
いくつかの実施形態においては、システムは、所与のユーザからの以前の要求120および応答125の一部または全てを、ユーザからの現在の要求120のコンテキストとして維持し、コンテキストを使用して、次の応答125を生成する。上記の例で続けると、一定時間後に、ユーザは、”これらのメーリングの平均的な開封率はいくらですか?”と要求を行う可能性がある。質問応答システム105が、このコンテキストを維持していた場合、適切な応答125を生成することができる(例えば、”5つのメーリングの去年からの平均開封率はX%です”など)。別の実施形態においては、質問応答システム105が、ユーザがどのメーリングを参照しているかを確信的に決定することができない場合、応答125は、さらなる情報(例えば、"どのメーリングを参照していますか?”)を要求することができる。
【0016】
図示の実施形態においては、質問応答システム105は、応答125を生成するために、グラフ115として編成された情報空間を利用する。図示されるように、グラフ115は、接続またはエッジによってリンクされた複数のエンティティまたは要素110A~110Hを含む。いくつかの実施形態においては、任意の所与の要素110間の接続は、関係性の性質に依存して双方向性または単方向性であってよい。他の実施形態においては、全ての接続は双方向である。一実施形態において、グラフ115内の任意の2つの要素110の間の距離は、第1の要素110から第2の要素110に到達するために横断される必要があるエッジまたはリンクの数に基づいて定義される。いくつかの実施形態においては、各エッジは、対応する重みまたは強度を有してもよく、対応する要素110間の関係性の強度を示す。図示されるように、グラフ115は、関連するデータが任意の要素110に位置する可能性のある連続的な情報空間を表す。
【0017】
いくつかの実施形態においては、質問応答システム105は、ユーザと対話すると、情報空間が成長する(例えば、新しい要素110が作成され、接続されるか、新たなデータが既存の要素110に追加されるか、もしくは接続が作成、除去または修正されるか、またはこれらの組み合わせである)。一実施形態においては、グラフ115は、複数の層を有した異種ストレージ・システムに格納され、ここでは、各層は、対応する(例えば、層内に維持されたデータにアクセスするのに必要とされる計算リソースまたは時間に関した)アクセス・コストに関連付けられる。所与の要素110は、任意のストレージ層にあってよく、同一の層または異なる層に存在してもよい、他の要素110への接続(例えばポインタ)を有していてもよい。一実施形態においては、質問応答システム105が使用されるにつれ、グラフ115内の要素110が、所与のコンテキストに対するそれらの関連性に基づいて連続的に移行される。
【0018】
例えば、要素110Gが要求120に応答するために使用される場合、要素110Gは、それが存在する層から、相対的に上位層に移動されてもよい。すなわち、要求120を満たすために使用されるデータは、それが以前に配置された場所よりも相対的に上位層に格納され得る。これのようにして、質問応答システム105は、同一(または類似)のコンテキストが発生した場合に、より効率的に、かつ、増大した確率で、このデータを識別し、検索することができる。同様に、一実施形態においては、上位の層がフルになる(または、システムが、所与の要素110が所与のコンテキストに対し有用でないと判定した場合)と、質問応答システム105は、同様のコンテキストを有する後続の要求120に応答するために使用される可能性を低減するために(そして、より高い層において、より関連するデータのための空きを作るために)、要素110を相対的に下位層に沈下させることができる。
【0019】
図2Aおよび
図2Bは、本明細書に開示される一実施形態による、関連情報セグメントを浮上および沈下させて、効率を改善する技術を説明する。
図2Aの説明される実施形態においては、情報空間は、一連の層205A~205Dに分割される。各層は、それぞれのアクセス・コストを有する。本明細書で使用されるように、第2層205に対するアクセス・コストと比較して第1層205に対するアクセス・コストが低い場合、第1層205は、第2層205よりも”相対的に上位”とみなされる。アクセス・コストは、例えば、層205に格納されたデータにアクセスするのにかかるレイテンシ、データにアクセスするために必要な計算リソース、データへのアクセスの金銭的コストなどを含んでもよい。同様に、第1層205に対するアクセス・コストが第2層205のアクセス・コストよりも高い場合には、第1層205は第2層205よりも”相対的に下位”にある。
【0020】
実施形態においては、ストレージ・システムは、揮発性ストレージ(例えば、キャッシュまたはRAM)もしくは不揮発性ストレージ(例えば、ハード・ディスク)またはこれらの両方を含む任意の数およびタイプの機構を含むことができる。さらに、データは、各層205内に任意の数の方法で格納することができる。例えば、1つの層205においてデータがシリアライズされてもよく、他の層205でデシリアライズされてもよい。
図2Aに示すように、情報空間200Aの要素110は、以前の要求に応答して、これらの情報がどれほど有用であるかまたは関連するかに少なくとも部分的に基づいて、層205A~205Dにわたって分散される。例えば、要素110A,110Bは、最上位の層205Aに位置し、人工知能システムにとってアクセス性が高くなる。これにより、(例えば、システムが下位の層205に進む前に層205Aの少なくともいくつかを探索する可能性があるので)、将来の要求についてアクセス・コストを低減することができるとともに、類似のコンテキストを有する要求に対して検索される確率を向上させることができる。
【0021】
実施形態においては、各層205は、任意のサイズであってよい。すなわち、より下位の層205は、(ストレージが、金銭的に相対的に高くないため)より大きく、より多くの要素110を格納することができる傾向があるが、いくつかの実施形態においては、1以上の相対的に上位の層205が、下位の層205よりも高い容量を有していてもよい。例えば、ハード・ディスク・ストレージが、ストレージの単位当たりの金銭的コストに関して相対的安価であるが、システムは、システムの動作およびレイテンシを改善するために、より高い層205において、有意な量の高速な(しかし、ストレージの単位当たりの金銭的コストの観点からより高価な)ストレージを利用してもよい。各層205の特定のサイズは、したがって、様々な実施形態において変化する可能性がある。
【0022】
図2Aは、第1の時点における情報空間200Aを示し、
図2Bは、第2の時点における情報空間200Bを示す。図示のように、情報空間200Bにおいては、要素110Aが最上位の層205Aから相対的に下位層205Bに移動され、要素110Cが相対的に下位層205Bから最上位層205Aに移動されている。とりわけ、要素110の間の接続および関係は変更されない(例えば、重みが変化していない)。一実施形態においては、それが最近のユーザ要求に応答する際に関連するかまたは有用であることを判明したため、システムが、要素110Cを最上位層205Aに移動した可能性がある。同様に、要素110Aは、有用ではないため、あるいは層205Aがフルであるため、層205へ移動される可能性もある。
【0023】
図3は、本明細書に開示される一実施形態による、環境コンテキストに基づいて能動的適応を使用して関連情報セグメントを識別するように構成された人工知能システム305を示すブロック図である。物理コンピューティング・システムとして示されているが、実施形態においては、人工知能システム305は、ハードウェアまたはソフトウェア(例えば、仮想コンピューティング・システムとして)を用いて実装されてもよく、任意の数のデバイスにわたって分散されてもよい。図示の実施形態においては、人工知能システム305は、プロセッサ301と、メモリ315と、ストレージ320と、ネットワーク・インタフェース325とを含む。図示の実施形態においては、プロセッサ310は、メモリ315に格納されたプログラミング命令を読み出し、実行し、また、ストレージ320に存在するアプリケーション・データを格納および読み出す。プロセッサ310は、概して、単一のCPU、複数のCPU、複数の処理コアを有する単一のCPUなどを代表する。メモリ315は、一般に、ランダム・アクセス・メモリを表すように含まれる。ストレージ320は、ディスク・ドライブ、フラッシュ・ベースのストレージ・デバイスなどの任意の組み合わせであってよく、固定ディスク・ドライブ、リムーバブル・メモリカード、キャッシュ、光ストレージ、ネットワーク・アタッチ・ストレージ(NAS)、またはストレージ・エリア・ネットワーク(SAN)などの固定もしくはリムーバブルまたはこれらの両方のストレージ・デバイスを含んでもよい。一実施形態においては、ストレージ320は、各層が異なるタイプのストレージもしくは異なるコストのアクセスを有するストレージまたはこれらの両方に対応する、複数の層の異種システムである。人工知能システム305は、ネットワーク・インタフェース325を介して、1以上の他の装置およびコンポーネントと通信可能に結合されてもよい。
【0024】
図示する実施形態においては、ストレージ320は、データ355(例えば、情報グラフに配置された要素110)、および、1以上のプロファイル360を含む。一実施形態においては、各プロファイル360は、所与のユーザもしくはコンテキストまたはこれらの両方の関連性または重要性に関して、データ355に反映された要素110もしくは関係性またはこれらの両方の順位付けを指定する。一実施形態においては、プロファイル360は、パフォーマンス・インジケータ(典型的または平均的な応答のレイテンシまたはコスト、典型的な応答に関連付けられた信頼度、応答の質に関するユーザ・フィードバックなど)に基づいて、プロファイルの品質を決定するためにスコア付けまたは評価される。高品質に関連したプロファイルは、次いで、以下詳細に説明するように、他のユーザに対する応答を生成するために使用することができる。
【0025】
図示のように、メモリ315は、人工知能アプリケーション330を含み、人工知能アプリケーション330は、コンテキスト・コンポーネント335と、識別コンポーネント340と、評価コンポーネント345と、プロファイル・コンポーネント350とを含む。メモリ315に常駐するソフトウェアとして示されているが、実施形態においては、人工知能アプリケーション330の機能は、ハードウェア、ソフトウェアまたはハードウェアとソフトウェアとの組み合わせを用いて実装することができる。さらに、概念上明確にするために、別個の構成要素として例示されているが、実施形態においては、コンテキスト・コンポーネント335、識別コンポーネント340、評価コンポーネント345およびプロファイル・コンポーネント350の動作は、結合されてもよく、任意の数のコンポーネントにわたって分散されてもよい。人工知能アプリケーション330は、概して、ユーザ要求を受信し、関連データ355を識別し、対応する応答を生成する。いくつかの実施形態においては、人工知能アプリケーション330は、所与のコンテキストに対するそれらの関連性または有用性に基づいて、能動的に浮上(例えば、相対的に上位のストレージ層へ移動すること)および沈下(例えば、相対的に下位のストレージ層へ移動すること)させることなどによって、データ355のストレージをさらに管理する。
【0026】
一実施形態においては、コンテキスト・コンポーネント335は、要求ごとに、対応するコンテキストを決定する。一実施形態においては、コンテキストは、現在の要求と、同一ユーザからの1以上の以前の要求とを含む。いくつかの実施形態においては、コンテキストは、追加的に、人工知能アプリケーション330によってユーザに返された1以上の以前の応答を含む。一実施形態においては、コンテキストは、ユーザの標示もしくは対応するプロファイル360またはこれらの両方をさらに含んでもよい。実施形態においては、コンテキスト・コンポーネント335は、ユーザに対するより良い応答を生成するために、ユーザが人工知能アプリケーション330と対話するとき、このコンテキストを収集し、維持することができる。任意の所与の要求に対して、コンテキスト・コンポーネント335は、対応するコンテキストを、識別コンポーネント340に提供することができる。
【0027】
図示された実施形態においては、識別コンポーネント340は、所与のコンテキストに基づいて、情報空間(例えば、データ355)を探索し、関連データまたは情報セグメントを識別する。一実施形態においては、識別コンポーネント340は、ユーザの意図を決定するために、自然言語処理(NLP)を用いて、要求を構文解析し、意図を解決できる関連情報についてデータ355を探索する。実施形態においては、識別コンポーネント340は、現在のコンテキストもしくはユーザのプロファイル360またはこれらの両方に少なくとも部分的に基づいて探索する。例えば、コンテキストを使用して、識別コンポーネント340は、より多くの関連するデータを識別することができる(あるいは関連するデータをより迅速に識別することができる)。同様に、プロファイル360が、ユーザの人工知能アプリケーション330との履歴的な対話を反映するので、識別コンポーネント340は、プロファイル360を使用して、ユーザが望むものである可能性が高いデータを識別することができる。
【0028】
一実施形態においては、関連データを検索するために、識別コンポーネント340は、最初に、ストレージ320の最上位の層を探索し、要求に応答するのに有用な要素またはエンティティを識別する。識別コンポーネント340は、次いで、(例えば、グラフ構造内の接続に基づいて)元々識別された各要素に対する関連要素を反復的に識別することができる。一実施形態においては、識別コンポーネント340は、先に進む前に、このデータを評価コンポーネント345に渡す。いくつかの実施形態においては、評価コンポーネント340の応答に基づいて、識別コンポーネント340は、十分な回答が生成されるまで、同様に(グラフ内の接続に従って)追加の要素を識別し続けることができる。
【0029】
いくつかの実施形態においては、識別コンポーネント340は、上位層の全ての関連データが尽きるまで、その上位層から要素を検索し、その後、より下位層に進む。別の実施形態においては、識別コンポーネント340は、所定の要素を検索するかどうかを決定するために、層同一性および関係強度を用いる。例えば、このような実施形態においては、所定の要素に対する高い接続強度を有するが、下位層で見いだされた要素は、第2の要素がより低い関係性強度または重みを有する場合であっても、上位層におけるこの第2の要素を支持して、バイパスされる可能性がある。同様に、一実施形態においては、接続が十分に強い場合、識別コンポーネント340は、このデータを、それがストレージ・デバイス320の下位層に存在する場合であっても、検索することができる。一実施形態においては、要素間の関係性強度は、現在のコンテキストもしくは現在のプロファイル360またはこれらの両方に少なくとも部分的に基づいて決定される。
【0030】
図示の実施形態においては、評価コンポーネント345は、データを使用して要求に回答できるかを決定するために、検索されたデータ要素を評価する。十分に高い信頼度で応答を生成することができる場合、評価コンポーネント345は、識別コンポーネント340に探索を終了させるように指示することができ、応答が生成されて返され得る。検索されたデータがまだ不十分である場合、評価コンポーネント345は、識別コンポーネント340に探索を継続するように指示してもよい。いくつかの実施形態においては、評価コンポーネント345は、さらに、その関連性に基づいて、ストレージ320においてデータを浮上および沈下させる。例えば、与えられた情報セグメントが応答の信頼性を有意に増加させる場合、評価コンポーネント345は、この情報セグメントを相対的に上位層に移動させることができる。これに対して、所与のデータ要素が信頼性を低下させる場合、評価コンポーネント345は、ストレージ320においてそれを下位層に沈下させることができる。これにより、将来的に同様のコンテキストにおいて検索される可能性が低減される。
【0031】
一実施形態においては、プロファイル・コンポーネント350は、各ユーザのプロファイルを構築し、維持する。一実施形態においては、各プロファイル350は、要素もしくは要素間の関係性またはこれらの両方の順位付けを含む。各プロファイルは、ユーザ対話を監視することによって構築される。例えば、2つの要素の両方が、ユーザが嗜好する回答を生成するために使用された場合、プロファイル・コンポーネント350は、要素が組み合わされた場合に有益であることを示すようにユーザ・プロファイルを更新することができる(例えば、使用者に対する応答を生成する場合、それらの間の関係性の重みが増加されるべきである)。いくつかの実施形態においては、上記で議論したように、プロファイル・コンポーネント350は、プロファイル360の品質を決定するために、各プロファイル360について、パフォーマンス・インジケータをさらに決定する。
【0032】
例えば、プロファイル・コンポーネント350は、ユーザに対する回答を生成するためにどれだけ多くのリソースが消費されるか、どれくらい回答が正確または回答に自信があるか、ユーザが回答をどれくらい評価したかなどを決定してもよい。プロファイル・コンポーネント350は、次いで、システムの効率を高めるために、また(例えば、高品質のプロファイルに部分的に基づいて関連する可能性があるデータを選択することによって)新しいユーザを案内するために、より高いパフォーマンスのプロファイル360を、より低いパフォーマンスのプロファイルに連続的に併合(merge)することができる。このようにして、一実施形態においては、人工知能アプリケーション330は、関連データ355を探索するとき、もしくは、他のユーザのためにデータ355を浮上および沈下させるとき、またはこれらの両方のときに、より高いパフォーマンスのプロファイル360で指定された順位付けを使用することができる。
【0033】
図4は、本明細書に開示される一実施形態による、関連情報セグメントを能動的に識別するための方法400を示すフロー図である。方法400は、ブロック405で開始し、ここでは、人工知能アプリケーション330が、ユーザからの要求を受信する。一実施形態においては、要求は、自然言語テキスト(またはテキストに変換可能なオーディオ)を含む。ブロック410において、人工知能アプリケーション330は、受信した要求の現在のコンテキストを決定する。実施形態においては、これは、要求するユーザの同一性(または要求するユーザのプロファイル)、1以上の以前の要求もしくは応答またはこれらの組み合わせなどを含んでもよい。方法400は、次いで、ブロック415に進み、ここでは、人工知能アプリケーション330が、決定されたコンテキストに基づいて、ストレージ・システムの最上位層を探索する。例えば、人工知能アプリケーション330は、NLPを使用しても意図を決定してもよく、グラフベースの情報空間を探索し、応答に関連する可能性のあるデータ要素を識別してもよい。
【0034】
図示された実施形態においては、人工知能アプリケーション330は、最初に、ストレージの最上位の層を探索する。すなわち、最上位層は、アクセス・コストが最も低い(例えば、迅速に探索され得る)ため、人工知能アプリケーション330は、ユーザに応答するのにかかるレイテンシおよび計算リソースを削減するために、その探索をこの層に制限する。方法400は、次いで、ブロック420に進み、ここでは、人工知能アプリケーション330は、検索されたデータに基づいて、応答を生成し、この生成された応答における信頼度を計算する。一実施形態においては、信頼度は、データが見出された層に基づいたり、ユーザの決定された意図に応答がどの程度よく適合するかに基づいたりなどすることができる。ブロック425において、人工知能アプリケーション330は、応答が適切であるか(例えば、応答が所定の閾値の信頼性を満たすか否か)否かを判定する。もしそうであれば、方法400は、ブロック440に進み、これについては以下でより詳細に説明する。そうでなければ、方法400は、ブロック430に進む。
【0035】
ブロック430において、応答がまだ十分でなかった場合、人工知能アプリケーション330は、以前に識別され、検索されたものに関連するデータ要素を識別する。一実施形態においては、人工知能アプリケーション330は、グラフ構造において定義された関係性に部分的に基づいて、および、部分的に要求のコンテキスト(例えば、ユーザのプロファイル、以前の要求など)に基づいてそのようにしてもよい。実施形態においては、識別された要素は、ストレージ・システムの任意の層に配置され得る。すなわち、以前に識別された要素は、システム内の任意の数の層に格納された任意の数の他の要素へのポインタを含んでもよい。
【0036】
次いで、方法400は、ブロック435に続き、ここでは、人工知能アプリケーション330が、これらの新しく識別された要素のうちの1以上を、評価されるものとして選択する。一実施形態においては、人工知能アプリケーション330は、関係性強度とセグメントが存在するストレージ層とに基づいて、所与の情報セグメント(例えば、データ内の要素)を検索して、評価するかどうかを決定する。このような実施形態においては、より高い関係強度は、要素を検索するより高い確率に相関し、より下位のストレージ層は、要素を検索するより低い確率に相関する。このようにして、人工知能アプリケーション330は、(その関係性強度に基づいて、および、さらに、より関連するデータが維持されるストレージの相対的に上位の層に存在するという事実に基づいて)より関連する可能性があるデータを識別し、選択することができる。方法400は、次いで、ブロック420に戻る。このようにして、人工知能アプリケーション330は、必要なリソースを最小限に抑えつつ適切な回答を生成するために、データを反復的に検索し、評価し、情報空間により深く、また、より下位の層に到達する。
【0037】
ブロック440に戻ると、一度十分に適切な回答が生成されると、人工知能アプリケーション330は、生成された応答をユーザに返す。方法400は、次いで、ブロック445に進み、ここでは、人工知能アプリケーション330が、生成された応答に基づいて、データ要素を浮上させ、もしくは沈下させまたはこれらの両方をさせることにより、ストレージ・システムを管理する。例えば、一実施形態においては、人工知能アプリケーション330は、特に有用であったかまたは関連していたデータを浮上(例えば、相対的に上位層に移動)させ、有用ではない、または応答の信頼度を低下させたデータ要素を沈下(例えば、相対的に下位層に移動)させる。いくつかの実施形態においては、人工知能アプリケーション330は、そのモデルおよび(例えば、データを浮上および沈下するための)動作を改善するために、ユーザからのフィードバックを受信し、利用することができる。このようにして、人工知能アプリケーション330は、将来の動作中、関連するデータをより良く識別することができる。
【0038】
図5は、本明細書に開示される一実施形態による、能動的に適応する情報システムにおけるユーザ・コンテキストをプロファイリングするための方法500を示すフロー図である。方法500は、ブロック505で開始し、ここでは、人工知能アプリケーション330が、ユーザが人工知能システムと対話する(例えば、要求を送信し、応答を受信する)のを監視する。ブロック510においては、人工知能アプリケーション330は、各ユーザについて、観察されたユーザ対話に基づいて、エンティティ(例えば、要素110)もしくはエンティティ間の関係性またはこれらの両方の順位付けを決定する。情報空間は、次に、ユーザ毎にプロファイルを生成し、これらの順位付けを指定する。このようにして、人工知能アプリケーション330は、ユーザに対する後続の応答を生成する場合に、順位付けされたエンティティおよび関係性の形態で、以前のユーザ対話を依拠することができる。
【0039】
方法500は、次いで、ブロック520に進み、ここでは、人工知能アプリケーション330が、最も良いパフォーマンスのプロファイルを識別する。実施形態においては、人工知能アプリケーション330は、応答の平均レイテンシ、応答を生成する平均計算コスト、平均精度または信頼度などの様々な重要パフォーマンス・インジケータ(KPI)を用いて最良のプロファイルを定義することができる。これらのKPIを用いて、次いで、各プロファイルの品質を判定する。ブロック525においては、人工知能アプリケーション330は、識別された最良のプロファイルに基づいて、1以上のユーザに対する後続の応答を生成する。例えば、一実施形態においては、人工知能アプリケーション330は、各々に示された順位付けを集約または平均化することによって、最良のプロファイルを他のユーザ(例えば、新しいユーザ、または低く順位付けされたプロファイルを有するユーザ)のプロファイルと併合する。このようにして、最良のパフォーマンスのプロファイルに部分的に基づいて、これらのユーザに対して応答が生成される。
【0040】
図6は、本明細書に開示される一実施形態による、関連情報セグメントを識別するための方法600を示すフロー図である。方法600は、ブロック605で開始し、ここでは、人工知能アプリケーション330が、第1のユーザ要求を受信する。方法600は、次いで、ブロック610に続き、ここでは、人工知能アプリケーション330が、異種ストレージ媒体から、第1の情報のセグメントを検索し、ここで、第1の情報のセグメントは、異種ストレージ媒体の上位層に位置している。さらに、ブロック615において、人工知能アプリケーション330は、第1の情報セグメントが第1のユーザ要求を解決しないと判定する。この決定に基づいて、方法600は、ブロック620に進み、ここでは、人工知能アプリケーション330が、第1の情報のセグメントを、異種ストレージ媒体の相対的に下位層に沈下させる。さらに、ブロック625において、人工知能アプリケーション330は、異種ストレージ媒体の相対的に下位層から第2の情報のセグメントを検索する。方法600は、次いで、ブロック630に進み、ここでは、第2の情報のセグメントが第1のユーザ要求を解決したと判定した場合、人工知能アプリケーション330が、第2の情報セグメントを、異種ストレージ媒体の上位層に浮上させる。
【0041】
本開示の種々の実施形態について説明されているが、説明を目的としており、開示される実施形態を網羅または限定することを意図するものではない。多数の変更例および変形例が、説明する実施形態の範囲および精神を逸脱することなく、当業者にとって明白となるであろう。本明細書で使用される用語は、実施形態の原理、実際の応用、または、市場において見られる技術を超えた技術向上を最も良く説明し、または、他の当業者が本明細書に開示の実施形態を理解することができるように選ばれたものである。
【0042】
上記においては、本開示において提示された実施形態に対して参照がなされている。しかしながら、本開示の範囲は、特定の実施形態に限定されるものではない。代わりに、異なる実施形態に関連するか否かにかかわらず、上記の特徴および要素の任意の組み合わせが、企図された実施形態を実装および実践するために企図される。さらに、本明細書に開示された実施形態は、他の可能な解決策を超えて、または従来技術を超えて利点を達成し得るが、所与の実施形態によって特定の利点が達成されるか否かは、本開示の範囲を限定するものではない。従って、上記の側面、特徴、実施形態および利点は、単に例示的なものであり、請求項において明示的に記載されている場合を除き、付加された請求項の要素または制限であるとは考えない。同様に、”本発明”に対する参照は、本明細書に開示される本発明の主題の一般化として解釈されるべきではなく、請求項において明示的に記載されている場合を除いて、付加する請求項の要素または制限であるとみなされるべきではない。
【0043】
本開示の側面は、全体的にハードウェアの実施形態、全体的にソフトウェアの実施形態(ファームウェア、常駐ソフトウェア、マイクロコードなどを含む。)、またはソフトウェアおよびハードウェアの側面を組み合わせた実施形態の形態をとってもよく、これらはすべて、本明細書において一般的に”回路”、”モジュール”または”システム”と参照される。
【0044】
本発明は、システム、方法もしくはコンピュータ・プログラム製品またはこれらの組み合わせであってよい。コンピュータ・プログラム製品は、プロセッサに本発明の側面を実行させるためのコンピュータ可読プログラム命令をその上に有するコンピュータ可読ストレージ媒体を含んでもよい。
【0045】
コンピュータ可読ストレージ媒体は、命令実行デバイスによって使用するための命令を保持し格納する有形のデバイスであってよい。コンピュータ可読ストレージ媒体は、例えば、これに限定されるものではないが、電子的ストレージ・デバイス、磁気ストレージ・デバイス、光学ストレージ・デバイス、電磁気ストレージ・デバイス、半導体ストレージ・デバイスまたは上記の任意の適切な組み合わせであってよい。コンピュータ可読ストレージ媒体のより具体的な例示の列挙としては、ポータブル・コンピュータ・ディスケット、ハード・ディスク、ランダム・アクセス・メモリ(RAM)、リード・オンリー・メモリ(ROM)、消去可能プログラマブル・リード・オンリー・メモリ(EPROMまたはフラッシュメモリ)、スタティック・ランダム・アクセス・メモリ(SRAM)、ポータブル・コンパクト・ディスク・リード・オンリー・メモリ(CD-ROM)、デジタル・バーサタイル・ディスク(DVD)、メモリースティック、フロッピー(登録商標)ディスク、パンチカードまたは記録された命令を有する溝内の隆起構造のような機械的エンコードされたデバイス、および上記の任意の適切な組み合わせが含まれる。コンピュータ可読ストレージ媒体は、本明細書で使用されるように、電波、自由伝搬する電磁波、導波路または他の伝送媒体を伝搬する電磁波(たとえば、ファイバ光ケーブルを通過する光パルス)または、ワイヤを通して伝送される電気信号のような、それ自体が一時的な信号として解釈されるものではない。
【0046】
本明細書で説明されるコンピュータ可読プログラム命令は、コンピュータ可読ストレージ媒体からそれぞれのコンピュータ/処理デバイスに、または、例えばインターネット、ローカル・エリア・ネットワーク、ワイド・エリア・ネットワークもしくは無線ネットワークまたはこれらの組み合わせといったネットワークを介して外部コンピュータまたは外部ストレージ・デバイスにダウンロードすることができる。ネットワークは、銅伝送ケーブル、光伝送ファイバ、無線伝送、ルータ、ファイアウォール、スイッチ、ゲートウェイ・コンピュータもしくはエッジサーバまたはこれらの組み合わせを含んでもよい。各コンピュータ/処理デバイスにおけるネットワーク・アダプタ・カードまたはネットワーク・インタフェースは、ネットワークからコンピュータ可読プログラム命令を受信し、コンピュータ可読プログラム命令を、それぞれのコンピューティング/処理デバイス内のコンピュータ可読ストレージ媒体に格納するために転送する。
【0047】
本発明の動作を実行するためのコンピュータ可読プログラム命令は、アセンブラ命令、命令セットアーキテクチャ(ISA)命令、機械語命令、機械依存命令、マイクロコード、ファームウェア命令、状態設定データまたは、1以上のプログラミング言語の任意の組み合わせで書かれたソース・コードあるいはオブジェクト・コードであってよく、1以上のプログラミング言語は、Smalltalk(登録商標)、C++またはこれらに類するもなどのオブジェクト指向言語、Cプログラミング言語または類似のプログラミング言語などの従来型の手続型言語を含む。コンピュータ可読プログラム命令は、全体としてユーザのコンピュータ上で、部分的にユーザのコンピュータ上で、スタンド・アローンのソフトウェア・パッケージとして、部分的にユーザのコンピュータ上でかつ部分的に遠隔のコンピュータ上で、または、完全に遠隔のコンピュータまたはサーバ上で、実行されてもよい。後者のシナリオでは、遠隔のコンピュータは、ユーザのコンピュータに、ローカル・エリア・ネットワーク(LAN)またはワイド・エリア・ネットワーク(WAN)を含む任意のタイプのネットワークを通じて接続されてもよく、あるいは接続は、(例えば、インターネット・サービス・プロバイダを用いてインターネットを通じて)外部コンピュータになされてもよい。いくつかの実施形態においては、電気的回路は、本発明の側面を実行するために、コンピュータ可読プログラム命令の状態情報を利用して、電気的回路を個別化することによって、コンピュータ可読プログラム命令を実行してもよく、この電気的回路は、例えば、プログラマブル・ロジック回路、フィールド・プログラマブル・ゲート・アレイ(FPGA)、またはプログラマブル・ロジック・アレイ(PLA)を含む。
【0048】
本発明の側面は、本明細書において、本発明の実施形態に従った方法、装置(システム)およびコンピュータ・プログラム製品のフローチャート図もしくはブロック図またはその両方を参照しながら、説明される。フローチャート図もしくはブロック図またはその両方の各ブロック、および、フローチャート図もしくはブロック図またはその両方における複数のブロックの組み合わせは、コンピュータ可読プログラム命令によって実装されてもよいことが理解されよう。
【0049】
これらのコンピュータ可読プログラム命令は、汎用コンピュータ、特定目的コンピュータのプロセッサまたは他のプログラマブル・データ処理装置に提供され、コンピュータのプロセッサまたは他のプログラマブル・データ処理装置を介して実行される命令が、フローチャート図もしくはブロックまたはその両方のブロックまたは複数のブロックにおいて特定される機能/作用を実装するための手段を作成するように、マシンを生成する。これらのコンピュータ可読プログラム命令は、また、コンピュータ、プログラマブル・データ処理装置もしくは他のデバイスまたはこれらの組み合わせに特定のやり方で機能するよう指示できるコンピュータ可読ストレージ媒体に格納され、それに格納された命令を有するコンピュータ可読ストレージ媒体に、フローチャートもしくはブロックまたはその両方のブロックまたは複数のブロックで特定される機能/作用の側面を実装する命令を含む製品が含まれるようにする。
【0050】
コンピュータ可読プログラム命令は、また、コンピュータ、他のプログラマブル・データ処理装置、または他のデバイスにロードされ、コンピュータ、他のプログラマブル・データ処理装置または他のデバイス上で一連の動作ステップを実行させて、コンピュータ、他のプログラマブル・データ処理装置または他のデバイス上で実行される命令が、フローチャートもしくはブロックまたはその両方のブロックまたは複数のブロックで特定される機能/作用の側面を実装するように、コンピュータ実装処理を生成することもできる。
【0051】
図面におけるフローチャートおよびブロック図は、本発明の種々の実施形態に従ったシステム、方法およびコンピュータ・プログラム製品の可能な実装のアーキテクチャ、機能性および動作を示す。この点に関して、フローチャートまたはブロック図の各ブロックは、特定の論理機能を実装するための1以上の実行可能な命令を含む、モジュール、セグメントまたは命令の部分を表す可能性がある。いくつかの代替の実装では、ブロックにおいて言及された機能は、図面に示された順序から外れて生じる可能性がある。例えば、連続して示される2つのブロックは、実際には、実質的に同時に、あるいは、複数のブロックは、関与する機能性に応じて逆の順序で実行されてもよい。ブロック図もしくはフローチャート図またはその両方の各ブロックおよびブロック図もしくはフローチャート図またはその両方の複数のブロックの組み合わせが、特定の機能または作用を実行し、または、特別な目的のハードウェアおよびコンピュータ命令の組み合わせを実施する、特定目的ハードウェアベースのシステムによって実装されてもよいことに留意されたい。
【0052】
本発明の実施形態は、クラウド・コンピューティング・インフラストラクチャを介してエンド・ユーザに提供されてもよい。クラウド・コンピューティングは、概して、ネットワークを介したサービスとして、スケーラブルな計算リソースを提供することを参照する。より正式には、クラウド・コンピューティングは、コンピューティング・リソースとその基礎となる技術アーキテクチャ(例えば、サーバ、ストレージ、ネットワーク)との間の抽象化を提供するコンピューティング能力として定義され、これにより、最小限の管理努力またはサービス・プロバイダとのやり取りで、迅速にプロビジョニングおよびリリースすることができる、構成可能なコンピューティング・リソースの共用プールへの便利かつオンデマンドなネットワーク・アクセスが可能となる。ひいては、クラウド・コンピューティングは、ユーザが、計算リソースを提供するために使用される基礎の物理的なシステム(またはそれらのシステムの位置)とはかかわりなく、”クラウド”における仮想計算リソース(例えば、ストレージ、データ、アプリケーションおよび完全に仮想化されたコンピューティング・システムでさえ)へアクセスすることを可能とする。
【0053】
典型的には、クラウド・コンピューティング・リソースは、ユーザが実際に使用するコンピューティング・リソース(例えば、ユーザによって消費されるストレージ・スペースの量またはユーザによってインスタンス化された仮想化システムの数)だけに課金される、ペイ・パー・ユース・ベースでユーザに提供される。ユーザは、インターネットを横断して、任意の時点で、かつ、どこからでも、クラウド内に存在するリソースの任意のものにアクセスすることができる。本発明の文脈において、ユーザは、アプリケーション(例えば、人工知能アプリケーション330)またはクラウドで利用可能な関連するデータにアクセスすることができる。例えば、人工知能アプリケーション330は、クラウドにおけるコンピューティング・システム上で実行することができ、異種のストレージ・システムを管理することができる。このようなケースにおいては、人工知能アプリケーション330は、要求を受信し、応答を生成し、クラウド内に位置する種々のストレージ層にデータ要素を格納することができる。このようにすることにより、ユーザは、クラウドに接続されるネットワーク(例えば、インターネット)に取り付けられた任意のコンピューティング・システムからこの情報にアクセスすることができる。