IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ インターナショナル・ビジネス・マシーンズ・コーポレーションの特許一覧

特許7406873質問および回答の語彙のグラフを使用する照会拡張
<>
  • 特許-質問および回答の語彙のグラフを使用する照会拡張 図1
  • 特許-質問および回答の語彙のグラフを使用する照会拡張 図2A
  • 特許-質問および回答の語彙のグラフを使用する照会拡張 図2B
  • 特許-質問および回答の語彙のグラフを使用する照会拡張 図2C
  • 特許-質問および回答の語彙のグラフを使用する照会拡張 図3
  • 特許-質問および回答の語彙のグラフを使用する照会拡張 図4
  • 特許-質問および回答の語彙のグラフを使用する照会拡張 図5
  • 特許-質問および回答の語彙のグラフを使用する照会拡張 図6
  • 特許-質問および回答の語彙のグラフを使用する照会拡張 図7
  • 特許-質問および回答の語彙のグラフを使用する照会拡張 図8
  • 特許-質問および回答の語彙のグラフを使用する照会拡張 図9
  • 特許-質問および回答の語彙のグラフを使用する照会拡張 図10
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-12-20
(45)【発行日】2023-12-28
(54)【発明の名称】質問および回答の語彙のグラフを使用する照会拡張
(51)【国際特許分類】
   G06F 16/90 20190101AFI20231221BHJP
   G06F 16/28 20190101ALI20231221BHJP
【FI】
G06F16/90 100
G06F16/28
【請求項の数】 17
(21)【出願番号】P 2020563471
(86)(22)【出願日】2019-06-26
(65)【公表番号】
(43)【公表日】2021-11-18
(86)【国際出願番号】 IB2019055380
(87)【国際公開番号】W WO2020003146
(87)【国際公開日】2020-01-02
【審査請求日】2021-10-28
(31)【優先権主張番号】16/022,898
(32)【優先日】2018-06-29
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】390009531
【氏名又は名称】インターナショナル・ビジネス・マシーンズ・コーポレーション
【氏名又は名称原語表記】INTERNATIONAL BUSINESS MACHINES CORPORATION
【住所又は居所原語表記】New Orchard Road, Armonk, New York 10504, United States of America
(74)【代理人】
【識別番号】100112690
【弁理士】
【氏名又は名称】太佐 種一
(72)【発明者】
【氏名】マカティア、シェーマス
(72)【発明者】
【氏名】セイレム、アーメッド
(72)【発明者】
【氏名】マクロスキー、ダニエル
(72)【発明者】
【氏名】ソグリン、ミカーイル
【審査官】松尾 真人
(56)【参考文献】
【文献】特開2013-033452(JP,A)
【文献】特開2011-248596(JP,A)
【文献】特開2003-256466(JP,A)
【文献】吉田 知訓,質問応答Webサイトからの関連語ネットワークの自動抽出,電子情報通信学会技術研究報告,社団法人電子情報通信学会,2008年06月23日,第108巻 第119号,pp.75~80
(58)【調査した分野】(Int.Cl.,DB名)
G06F 16/00-16/958
(57)【特許請求の範囲】
【請求項1】
質問および回答の語彙のグラフを使用する照会拡張のためのコンピュータ実装方法であって、
トレーニング質問テキストおよびトレーニング回答テキストの形態での特定の領域に関するトレーニング・データのセットから生成された質問単語ノードおよび回答単語ノードのグラフを提供することであって、前記質問単語ノードが、トレーニング質問テキストにおいて発生する単語を表す質問単語のタイプのノードであり、前記回答単語ノードが、トレーニング回答テキストにおいて発生し、かつ、関連するトレーニング質問テキストにおいて発生しない共通性のない単語を表す回答単語のタイプのノードであり、それぞれ一のトレーニング質問内の質問単語を表す複数の質問単語ノードと、それぞれ前記一のトレーニング質問に関連する一のトレーニング回答内の共通性のない回答単語を表す複数の回答単語ノードとからの組み合わせの対である複数の共通性のない対各々の間にエッジが提供される、前記提供することと、
前記トレーニング・データのセット内の単語の頻度データに基づいて、前記質問単語ノード、前記回答単語ノード、および前記エッジの重み付けを行うことと、
質問入力を含むユーザの照会入力を受信することと、
前記ユーザの照会入力内の少なくとも一部の単語に関して前記グラフ内の入力ノードを有効化して質問単語ノードを有効化することと、
前記ユーザの照会入力の拡張のための候補単語として出力される、最も大きく有効化された上位n個のノードを得るために、前記質問単語ノード、前記回答単語ノードおよび前記エッジの前記重み付けを使用して前記グラフ全体に広がる有効化を適用することとを含む、コンピュータ実装方法。
【請求項2】
広がる有効化を適用することによって、前記入力ノードに直接的または間接的に接続された質問単語ノードおよび回答単語ノードにわたるすべての方向に信号を伝搬する、請求項1に記載のコンピュータ実装方法。
【請求項3】
前記候補単語を拡張に使用する検索エンジンへのユーザの照会入力の結果に対するユーザ・フィードバックを捕捉し、前記ユーザ・フィードバックを使用して前記グラフを更新することをさらに含む、請求項1または2に記載のコンピュータ実装方法。
【請求項4】
ユーザの照会入力が、前記質問入力に加えて回答入力を含み、入力ノードを有効化することによって、質問単語ノードに加えて回答単語ノードを有効化する、請求項1~3のいずれか1項に記載のコンピュータ実装方法。
【請求項5】
ユーザの照会入力が、検索結果をあるスタイルの回答に絞り込むために、質問入力に加えて回答入力を含み、入力ノードを有効化することによって、質問単語ノードおよび回答単語ノードの両方が、最初に有効化され、前記候補単語が、前記検索結果を回答スタイルに絞り込むために使用される、請求項4に記載のコンピュータ実装方法。
【請求項6】
前記グラフ内の入力ノードを有効化することによって、前記ユーザの照会入力内の重複する表層形および基本形の前記単語を含むノードを有効化する、請求項1~5のいずれか1項に記載のコンピュータ実装方法。
【請求項7】
前記グラフ内の入力ノードを有効化することによって、エッジの関係定義ごとに異なる重み付けを使用して、質問単語ノードと回答単語ノードの対間のエッジに対してエッジの関係定義を適用する、請求項1~6のいずれか1項に記載のコンピュータ実装方法。
【請求項8】
前記グラフを提供することが、
トレーニング質問テキストおよびトレーニング回答テキストの形態で、特定の領域内の前記トレーニング・データのセットを提供することと、
前記関連するトレーニング質問テキスト内で発生しない、前記トレーニング回答テキスト内の共通性のない回答単語を識別することと、
ノードを質問単語ノードおよび回答単語ノードとして前記グラフに追加することによって、前記グラフを生成することであって、前記回答単語ノードが、前記トレーニング・データのセット内の識別された前記共通性のない単語についてのノードである、前記生成することと、
トレーニング質問内の質問単語を表す質問単語ノードと関連するトレーニング回答内の共通性のない回答単語を表す回答単語ノードとの共通性のない対の間にエッジを追加することとを含む、請求項1~7のいずれか1項に記載のコンピュータ実装方法。
【請求項9】
質問および回答の語彙のグラフを使用する照会拡張のためのコンピュータ実装方法であって、
トレーニング質問テキストおよびトレーニング回答テキストの形態で、特定の領域内のトレーニング・データのセットを提供することと、
トレーニング回答テキストにおいて発生し、かつ、関連するトレーニング質問テキスト内で発生しない共通性のない回答単語を識別することと、
ノードを質問単語ノードおよび回答単語ノードとしてグラフに追加することであって、前記質問単語ノードが、トレーニング質問テキストにおいて発生する単語を表す質問単語のタイプのノードであり、ユーザの照会入力が質問入力である場合に前記グラフ内の入力ノードを有効化することにより有効化され、前記回答単語ノードが、前記トレーニング・データのセット内の識別された前記共通性のない回答単語を表す回答単語のタイプのノードであり、ユーザの照会入力が質問入力に加えて回答入力を含む場合に前記グラフ内の入力ノードを有効化することにより前記質問単語ノードとともに有効化される、前記追加することと、
それぞれ一のトレーニング質問内の質問単語を表す複数の質問単語ノードとそれぞれ前記一のトレーニング質問に関連するトレーニング回答内の共通性のない回答単語を表す複数の回答単語ノードとからの組み合わせの対である複数の共通性のない対各々の間にエッジを前記グラフに追加することと、
前記トレーニング・データのセット内の単語の頻度データに基づいて前記質問単語ノード、前記回答単語ノードおよび前記エッジの重み付けを行うことと
を含む、コンピュータ実装方法。
【請求項10】
前記質問単語ノードおよび前記回答単語ノードの重み付けを行うことが、前記トレーニング・データのセット内の質問単語ノードの前記質問単語の発生頻度および前記トレーニング・データのセット内の回答単語ノードの前記回答単語の前記発生頻度によって前記質問単語ノードおよび前記回答単語ノードに重み付けすることを含む、請求項9に記載のコンピュータ実装方法。
【請求項11】
前記エッジの重み付けを行うことが、前記トレーニング・データのセットにわたる前記共通性のない質問単語と回答単語の対の発生頻度に従ってエッジに重み付けすることを含む、請求項9または10に記載のコンピュータ実装方法。
【請求項12】
前記グラフにエッジを追加することが、質問単語および回答単語が語彙関係または意味関係を有している前記質問単語ノードと回答単語ノードの対の間にエッジを作成することを含む、請求項9~11のいずれか1項に記載のコンピュータ実装方法。
【請求項13】
質問単語ノードと回答単語ノードの対の間のエッジに対して関係定義を提供することと、1つのエッジの少なくとも1つの関係定義に対して異なる重み付けを行うこととをさらに含む、請求項9~12のいずれか1項に記載のコンピュータ実装方法。
【請求項14】
ノードを質問単語ノードとして前記グラフに追加することが、事前に定義された制約に従って前記トレーニング質問テキストから単語を条件付きで選択することを含む、請求項9~13のいずれか1項に記載のコンピュータ実装方法。
【請求項15】
質問および回答の語彙のグラフを使用する照会拡張のためのシステムであって、前記システムが、
プロセッサと、
前記プロセッサに通信によって結合され、コンピュータ・プログラム命令を格納するように構成されたメモリと
を備え、
前記プロセッサが、前記コンピュータ・プログラム命令を実行して、
トレーニング質問テキストおよびトレーニング回答テキストの形態での特定の領域に関するトレーニング・データのセットから生成された質問単語ノードおよび回答単語ノードのグラフを提供することであって、前記質問単語ノードが、トレーニング質問テキストにおいて発生する単語を表す質問単語のタイプのノードであり、前記回答単語ノードが、レーニング回答テキストにおいて発生し、かつ、関連するトレーニング質問テキストにおいて発生しない共通性のない単語を表す回答単語のタイプのノードであり、それぞれ一のトレーニング質問内の質問単語を表す複数の質問単語ノードと、それぞれ一のトレーニング質問に関連する一のトレーニング回答内の共通性のない回答単語を表す複数の回答単語ノードとからの組み合わせの対である複数の共通性のない対各々の間にエッジが提供される、前記提供することと、
前記トレーニング・データのセット内の単語の頻度データに基づいて前記質問単語ノード、前記回答単語ノードおよび前記エッジの重み付けを行うことと、
質問入力を含むユーザの照会入力を受信することと、
前記ユーザの照会入力内の少なくとも一部の単語に関して前記グラフ内の入力ノードを有効化して質問単語ノードを有効化することと、
前記質問単語ノード、前記回答単語ノードおよび前記エッジの前記重み付けを使用して前記グラフ全体に広がる有効化を適用することと、
前記ユーザの照会入力の拡張のための候補単語として出力される、最も大きく有効化された上位n個のノードの結果を返すことと
を実行するように構成されている、システム。
【請求項16】
質問および回答の語彙のグラフを使用する照会拡張のためのシステムであって、前記システムが、
プロセッサと、
前記プロセッサに通信によって結合され、コンピュータ・プログラム命令を格納するように構成されたメモリと
を備え、
前記プロセッサが、前記コンピュータ・プログラム命令を実行して、
トレーニング質問テキストおよびトレーニング回答テキストの形態で、特定の領域内のトレーニング・データのセットを提供することと、
トレーニング回答テキストにおいて発生し、かつ、関連するトレーニング質問テキスト内との両方で発生しない共通性のない回答単語を識別することと、
ノードを質問単語ノードおよび回答単語ノードとしてグラフに追加することであって、前記質問単語ノードが、トレーニング質問テキストにおいて発生する単語を表す質問単語のタイプのノードであり、ユーザの照会入力が質問入力である場合に前記グラフ内の入力ノードを有効化することにより有効化され、前記回答単語ノードが、前記トレーニング・データのセット内の識別された前記共通性のない回答単語を表す回答単語のタイプのノードであり、ユーザの照会入力が質問入力に加えて回答入力を含む場合に前記グラフ内の入力ノードを有効化することにより前記質問単語ノードとともに有効化される、前記追加することと、
それぞれ一のトレーニング質問内の質問単語を表す複数の質問単語ノードとそれぞれ前記一のトレーニング質問に関連するトレーニング回答内の共通性のない回答単語を表す複数の回答単語ノードとからの組み合わせの対である複数の共通性のない対各々の間にエッジを追加することと、
前記トレーニング・データのセット内の単語の頻度データに基づいて前記質問単語ノード、前記回答単語ノードおよび前記エッジの重み付けを行うことと
を実行するように構成されている、システム。
【請求項17】
質問および回答の語彙のグラフを使用する照会拡張のためのコンピュータ・プログラムであって、プロセッサに、
トレーニング質問テキストおよびトレーニング回答テキストの形態での特定の領域に関するトレーニング・データのセットから生成された質問単語ノードおよび回答単語ノードのグラフを提供することであって、前記質問単語ノードが、トレーニング質問テキストにおいて発生する単語を表す質問単語のタイプのノードであり、前記回答単語ノードが、トレーニング回答テキストにおいて発生し、かつ、関連するトレーニング質問テキストおいて発生しない共通性のない単語を表す回答単語のタイプのノードであり、それぞれ一のトレーニング質問内の質問単語を表す複数の質問単語ノードと、それぞれ前記一のトレーニング質問に関連する一のトレーニング回答内の共通性のない回答単語を表す複数の回答単語ノードとからの組み合わせの対である複数の共通性のない対各々の間にエッジが提供される、前記提供することと、
前記トレーニング・データのセット内の単語の頻度データに基づいて前記質問単語ノード、前記回答単語ノードおよび前記エッジの重み付けを行うことと、
質問入力を含むユーザの照会入力を受信することと、
前記ユーザの照会入力内の少なくとも一部の単語に関して前記グラフ内の入力ノードを有効化して質問単語ノードを有効化することと、
前記ユーザの照会入力の拡張のための候補単語として使用される、最も大きく有効化された上位n個のノードを得るために、前記質問単語ノード、前記回答単語ノードおよび前記エッジの前記重み付けを使用して前記グラフ全体に広がる有効化を適用することとを実行させるためのコンピュータ・プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、情報検索における照会拡張に関連しており、より詳細には、質問および回答の語彙のグラフを使用する照会拡張に関連している。
【背景技術】
【0002】
情報検索は、情報リソースの集合から、情報の必要性に関連する情報リソースを取得する活動である。検索は、テキスト内で直接検出されない意味ラベリングまたはその他のメタデータを含む、フルテキストまたはその他の内容に基づくインデックス作成に基づくことができる。
【0003】
ユーザが照会をシステムに入力するときに、情報検索プロセスが開始する。照会は、情報の必要性の形式的記述、例えば、検索エンジンにおける検索文字列である。情報検索では、照会は、集合内の単一のオブジェクトを一意に識別しない。代わりに、複数のオブジェクトが、異なる関連性の程度で、照会に一致することがある。
【0004】
照会拡張は、情報検索システムにおいて不可欠である。ユーザは、検索によって取得したい文書の正確な内容を知っていることを期待されるべきではない。追加の関連する用語を使用して照会を拡張することによって、関連する文書が取得される可能性が高まる。
【0005】
照会拡張は、特に照会の理解との関連において、情報検索動作における検索性能を改善するために、特定の照会を再定式化するプロセスである。検索エンジンでは、照会拡張は、ユーザの入力(検索照会領域に入力された単語、および他の種類のデータであることもある)を評価すること、および追加の文書を照合するように検索照会を拡張することを含む。
【0006】
既知の照会拡張は、単語の同義語を見つけ、それらの同義語を検索照会に含めること、検索照会内の単語の異なる形態学的形態を見つけること、つづりの間違いを修正することなどの手法を含む。語彙または単語の直接的照合が不可能な場合でも、関連する対象のトピックなどの追加メタデータまたは意味ラベリングを使用して、関連する文書が返される可能性を改善することができる。例えば、猫および犬を表す単語すべてに「動物」というタグがラベル付けされており、ユーザの照会がそのような語彙を含み、同様にタグ付けされている場合、質問内の特定の単語の直接的参照に依存するのではなく、システムの出力における検索結果のセットを、「動物」の参照を含むようにタグ付けされている検索結果にフィルタリングすることが、役立つことがある。
【0007】
ユーザの照会が指し示すべき文書の内容を予測することは、ささいであるとはとても言えない。追加の用語を照会に単に追加するだけでは、検索問題を悪化させることがある。
【0008】
場合によっては、ユーザの照会テキストが、期待される回答のテキストに一致しないことがある。このことは、法律、金融、または生物医学の質問回答などの、領域または課題に固有の検索において、あるいは標準的ユーザが検索を試みる際に使用する一般的語彙と容易に重ならない、領域特有の豊富な語彙が存在するすべての領域において、特に悪化する。
【発明の概要】
【0009】
本開示の態様によれば、質問および回答の語彙のグラフを使用する照会拡張のためのコンピュータ実装方法が提供される。この方法は、トレーニング質問テキストおよびトレーニング回答テキストの形態での、特定の領域に関するトレーニング・データのセットから生成された質問単語ノードおよび回答単語ノードのグラフを提供することを含むことができ、回答単語ノードは、トレーニング質問テキストおよび関連するトレーニング回答テキストの両方において発生しない共通性のない単語であり、トレーニング・データのセット内の単語の頻度データに基づいて、ノードおよびエッジの重み付けを行うことを含めて、トレーニング質問内の質問単語の質問単語ノードと、関連するトレーニング回答内の共通性のない回答単語の回答単語ノードとの共通性のない対間でエッジが提供される。この方法は、ユーザの照会入力を受信することと、ユーザの照会入力内の少なくとも一部の単語に関して、グラフ内の入力ノードを有効化することと、ユーザの照会入力の拡張のための候補単語として出力される、最も大きく有効化された上位n個のノードを得るために、重み付けを使用してグラフ全体に広がる有効化を適用することとを、さらに含むことができる。
【0010】
この方法は、質問単語ノードへのエッジを含むグラフ内の共通性のない回答単語ノードを使用することによって、ノード間の意味関係に頼らずに、領域の課題を表す質問からの用語のセットと、検索内容内の用語との間のつながりを与える、質問単語と回答単語の共通性のない対を提供するという利点を提供する。
【0011】
広がる有効化を適用することによって、入力ノードに直接的または間接的に接続された質問単語ノードおよび回答単語ノードにわたるすべての方向に、信号を伝搬することができる。
【0012】
この方法は、候補単語を拡張に使用する検索エンジンへのユーザの照会入力の結果に対するユーザ・フィードバックを捕捉することができ、このユーザ・フィードバックを使用してグラフを更新することができる。このようにして、グラフのノード、エッジ、および重み付けを拡張することによって、実装することが容易なグラフ更新メカニズムを提供する。
【0013】
ユーザの照会入力は質問入力であってよく、入力ノードを有効化することによって、質問単語ノードを有効化してよい。一部の実施形態では、ユーザの照会入力は、質問入力に加えて回答入力を含み、入力ノードを有効化することによって、質問単語ノードに加えて回答単語ノードを有効化する。ユーザの照会入力が、質問入力に加えて回答入力を含む場合、それによって、検索結果をあるスタイルの回答に絞り込むことによって、照会拡張を提供することができ、候補単語を、回答スタイルへの検索結果の絞り込みに使用することができる。
【0014】
グラフの有効化は、さまざまな方法を使用して改善されてよい。グラフ内の入力ノードを有効化することによって、ユーザの照会入力内の重複する表層形および基本形の単語を含むノードを有効化してよい。グラフ内の入力ノードを有効化することによって、エッジの関係定義ごとに異なる重み付けを使用して、質問単語と回答単語の対間のエッジに対して、エッジの関係定義を適用してよい。入力ノードを有効化することによって、エッジの関係定義ごとに異なる重み付けを使用して、質問単語と回答単語の対間のエッジに対して、サブトピックの関係定義を適用してよい。
【0015】
質問単語ノードおよび回答単語ノードのグラフを提供することは、トレーニング質問テキストおよびトレーニング回答テキストの形態で、特定の領域内のトレーニング・データのセットを提供することと、関連するトレーニング質問テキスト内で発生しないトレーニング回答テキスト内の共通性のない回答単語を識別することと、ノードを質問単語ノードおよび回答単語ノードとしてグラフに追加することによって、グラフを生成することであって、回答単語ノードが、トレーニング・データのセット内の識別された共通性のない単語のためである、生成することとを含んでよい。グラフを提供することは、トレーニング質問内の質問単語と関連するトレーニング回答内の共通性のない回答単語との共通性のない対間のエッジを追加することを、さらに含むことができる。
【0016】
本開示の別の態様によれば、質問および回答の語彙のグラフを使用する照会拡張のためのコンピュータ実装方法が提供される。この方法は、トレーニング質問テキストおよびトレーニング回答テキストの形態で、特定の領域内のトレーニング・データのセットを提供することと、関連するトレーニング質問テキスト内で発生しないトレーニング回答テキスト内の共通性のない回答単語を識別することと、ノードを質問単語ノードおよび回答単語ノードとしてグラフに追加することであって、回答単語ノードが、トレーニング・データのセット内の識別された共通性のない回答単語のためである、追加することとを含むことができる。このコンピュータ実装方法は、トレーニング質問内の質問単語と関連するトレーニング回答内の共通性のない回答単語との共通性のない対間のエッジを追加することと、トレーニング・データのセット内の単語の頻度データに基づいて、ノードおよびエッジの重み付けを行うこととを、さらに含むことができる。
【0017】
この態様は、説明された有効化方法において使用されてよい共通性のない質問および回答の語彙のグラフを生成する。
【0018】
ノードの重み付けを行うことは、トレーニング・データのセット内の質問単語ノードの質問単語の発生頻度およびトレーニング・データのセット内の回答単語ノードの回答単語の発生頻度によって、ノードに重み付けしてよい。ノード間のエッジの重み付けを行うことは、トレーニング・データのセットにわたる共通性のない質問単語と回答単語の対の頻度に従ってエッジに重み付けしてよい。
【0019】
一部の実施形態では、グラフは、改善のために構成されてよい。この構成は、質問単語および回答単語が語彙関係または意味関係を有している質問単語と回答単語の対間のみにエッジを作成することを含んでよい。この構成は、質問単語と回答単語の対間のエッジに対して関係定義を提供してもよく、エッジの関係定義ごとに異なる重み付けを行ってよい。
【0020】
ノードを質問単語ノードとしてグラフに追加することは、事前に定義された制約に従ってトレーニング質問テキストから単語を条件付きで選択することを含んでよい。事前に定義された制約は、単語が事前に指定された品詞を有しているという要件、コーパス内の用語の頻度、単語が領域のストップ・ワードであるかどうか、単語が領域の語彙またはオントロジーに現れるかどうか、および単語が質問単語であるかどうかのうちの1つまたは複数を含んでよい。
【0021】
トレーニング質問テキストは、現実の意図されたユーザによって作成されてよく、トレーニング回答テキストは、回答が取得される文書のコーパスからのテキストであってよい。
【0022】
本開示の別の態様によれば、質問および回答の語彙のグラフを使用する照会拡張のためのシステムが提供される。このシステムは、プロセッサと、コンポーネントの機能を実行するために、コンピュータ・プログラム命令をプロセッサに提供するように構成されたメモリとを含むことができ、これらのコンポーネントは、トレーニング質問テキストおよびトレーニング回答テキストの形態での、特定の領域に関するトレーニング・データのセットから生成された質問単語ノードおよび回答単語ノードのグラフを提供するためのグラフ生成コンポーネントを含み、回答単語ノードは、トレーニング質問テキストおよび関連するトレーニング回答テキストの両方において発生しない共通性のない単語であり、トレーニング・データのセット内の単語の頻度データに基づいて、ノードおよびエッジの重み付けを行うことを含めて、トレーニング質問内の質問単語の質問単語ノードと、関連するトレーニング回答内の共通性のない回答単語の回答単語ノードとの共通性のない対間でエッジが提供される。これらのコンポーネントは、ユーザの照会入力を受信するための照会受信コンポーネントと、ユーザの照会入力内の少なくとも一部の単語に関して、グラフ内の入力ノードを有効化するためのグラフ入力コンポーネントと、重み付けを使用してグラフ全体に広がる有効化を適用するためのグラフ有効化コンポーネントと、ユーザの照会入力の拡張のための候補単語として出力される、最も大きく有効化された上位n個のノードの結果を返すためのグラフ出力コンポーネントとを含んでいる、グラフ適用コンポーネントをさらに含むことができる。このシステムは、候補単語を拡張に使用する検索エンジンへのユーザの照会入力の結果に対するユーザ・フィードバックを捕捉し、このユーザ・フィードバックを使用してグラフを更新するために、ユーザ・フィードバック・コンポーネントを含んでもよい。
【0023】
ユーザの照会入力は、質問入力または回答入力あるいはその両方であってよく、グラフ入力コンポーネントは、質問単語ノードまたは回答単語ノードあるいはその両方を有効化してよい。ユーザの照会入力が、質問入力に加えて回答入力を含む場合、それによって、検索結果をあるスタイルの回答に絞り込んでよく、グラフ出力コンポーネントは、回答スタイルへの検索結果の絞り込みのための候補単語として使用される、最も大きく有効化された上位n個のノードの結果を返してよい。
【0024】
本開示の別の態様によれば、質問および回答の語彙のグラフを使用する照会拡張のためのシステムが提供される。このシステムは、プロセッサと、コンポーネントの機能を実行するためのコンピュータ・プログラム命令をプロセッサに提供するように構成されたメモリとを含むことができる。これらのコンポーネントは、トレーニング質問テキストおよびトレーニング回答テキストの形態で、特定の領域内のトレーニング・データのセットを提供するためのトレーニング・データ・コンポーネントと、関連するトレーニング質問テキスト内との両方で発生しないトレーニング回答テキスト内の共通性のない回答単語を識別するための共通性のない単語コンポーネント(disjoint word component)と、ノードを質問単語ノードおよび回答単語ノードとしてグラフに追加するためのノード追加コンポーネントであって、回答単語ノードが、トレーニング・データのセット内の識別された共通性のない回答単語のためである、ノード追加コンポーネントとを含んでいる、グラフ生成コンポーネントを含むことができる。これらのコンポーネントは、トレーニング質問内の質問単語と関連するトレーニング回答内の共通性のない回答単語との共通性のない対間のエッジを追加するためのエッジ追加コンポーネントと、トレーニング・データのセット内の単語の頻度データに基づいて、ノードおよびエッジの重み付けを行うための重み付けコンポーネントとを、さらに含むことができる。これらのコンポーネントは、トレーニング・データのセット内の質問単語ノードの質問単語の発生頻度およびトレーニング・データのセット内の回答単語ノードの回答単語の発生頻度によってノードに重み付けするように構成された、ノードの重み付けを行うためのノード重み付けコンポーネントと、トレーニング・データのセットにわたる共通性のない質問単語と回答単語の対の頻度に従ってエッジに重み付けするように構成された、ノード間のエッジの重み付けを行うためのエッジ重み付けコンポーネントとを含んでよい、重み付けコンポーネントをさらに含むことができる。
【0025】
このシステムは、質問単語および回答単語が語彙関係または意味関係を有している質問単語と回答単語の対間のみにエッジを作成する、グラフを提供するために、意味制限コンポーネントを含んでよい。
【0026】
このシステムは、質問単語と回答単語の対間のエッジに対して関係定義を提供し、エッジの関係定義ごとに異なる重み付けを行うために、エッジ関係コンポーネントを含んでよい。
【0027】
このシステムは、候補単語を拡張に使用する検索エンジンへのユーザの照会入力の結果に対するユーザ・フィードバックを受信するためのフィードバック受信コンポーネントと、このユーザ・フィードバックをグラフに適用するためのグラフ更新コンポーネントとを含んでよい。
【0028】
本開示の別の態様によれば、質問および回答の語彙のグラフを使用する照会拡張のためのコンピュータ・プログラム製品が提供され、このコンピュータ・プログラム製品は、プログラム命令が具現化されているコンピュータ可読ストレージ媒体を含む。プロセッサによって実行可能なプログラム命令は、プロセッサに、トレーニング質問テキストおよびトレーニング回答テキストの形態での、特定の領域に関するトレーニング・データのセットから生成された質問単語ノードおよび回答単語ノードのグラフを提供することを実行させることができ、回答単語ノードは、トレーニング質問テキストおよび関連するトレーニング回答テキストの両方において発生しない共通性のない単語であり、トレーニング・データのセット内の単語の頻度データに基づいて、ノードおよびエッジの重み付けを行うことを含めて、トレーニング質問内の質問単語の質問単語ノードと、関連するトレーニング回答内の共通性のない回答単語の回答単語ノードとの共通性のない対間でエッジが提供される。これらのプログラム命令は、プロセッサに、ユーザの照会入力を受信することと、ユーザの照会入力内の少なくとも一部の単語に関して、グラフ内の入力ノードを有効化することと、ユーザの照会入力の拡張のための候補単語として使用される、最も大きく有効化された上位n個のノードを得るために、重み付けを使用してグラフ全体に広がる有効化を適用することとを実行させるように、さらに構成され得る。
【0029】
本開示の別の態様によれば、質問および回答の語彙のグラフを使用する照会拡張のためのコンピュータ・プログラム製品が提供され、このコンピュータ・プログラム製品は、プログラム命令が具現化されているコンピュータ可読ストレージ媒体を含む。プロセッサによって実行可能なプログラム命令は、プロセッサに、トレーニング質問テキストおよびトレーニング回答テキストの形態で、特定の領域内のトレーニング・データのセットを提供することと、関連するトレーニング質問テキスト内で発生しないトレーニング回答テキスト内の共通性のない回答単語を識別することと、ノードを質問単語ノードおよび回答単語ノードとしてグラフに追加することであって、回答単語ノードが、トレーニング・データのセット内の識別された共通性のない回答単語のためである、追加することとを、実行させることができる。これらのプログラム命令は、プロセッサに、トレーニング質問内の質問単語と関連するトレーニング回答内の共通性のない回答単語との共通性のない対間のエッジを追加することと、トレーニング・データのセット内の単語の頻度データに基づいて、ノードおよびエッジの重み付けを行うこととを実行させるように、さらに構成され得る。
【0030】
本開示に含まれている図面は、本明細書に組み込まれ、本明細書の一部を形成する。各図面は、説明と共に本開示の実施形態を示し、本開示の原理を説明するのに役立つ。各図面は、代表的な実施形態の単なる例であり、本開示を制限していない。
【0031】
以下の図面を例として参照し、本発明の一部の実施形態についてここで説明する。
【図面の簡単な説明】
【0032】
図1】本発明の態様が実装されるシステムの実施形態例のブロック図である。
図2A】本開示に従ってグラフの生成を説明する、実施形態例の概略図である。
図2B】本開示に従ってグラフの生成を説明する、実施形態例の概略図である。
図2C】本開示に従ってグラフの生成を説明する、実施形態例の概略図である。
図3】本開示に従って方法の照会拡張において使用するための、グラフの生成の態様の実施形態例のフロー図である。
図4】本開示に従って方法の照会拡張において照会拡張グラフを適用する別の態様の実施形態例のフロー図である。
図5】本開示に従う、照会拡張グラフ生成システムの実施形態例のブロック図である。
図6】本開示に従う、照会拡張グラフ適用システムの実施形態例のブロック図である。
図7】本発明の実施形態に従って、照会拡張のためのグラフを示す概略図である。
図8】本開示が実装されてよいコンピュータ・システムまたはクラウド・サーバの実施形態のブロック図である。
図9】本開示が実装されてよいクラウド・コンピューティング環境の概略図である。
図10】本開示が実装されてよいクラウド・コンピューティング環境の抽象モデル・レイヤの図である。
【発明を実施するための形態】
【0033】
説明を簡単かつ明確にするために、図に示された要素の縮尺は、必ずしも一定ではないということが理解されるであろう。例えば、一部の要素の寸法は、明確に示すために、他の要素よりも誇張されている場合がある。
【0034】
説明される方法およびシステムは、トレーニング・データのセットの形態でのグランド・トゥルースから共通性のない質問単語と回答単語の対のグラフを構築し、実行時に、見えない照会語彙を使用してグラフを有効化することによって、照会拡張を提供する。説明される方法およびシステムを使用することは、質問テキストとの直ちに明らかな語彙リンクまたは意味リンクを有していない回答の内容に直接結びつく。
【0035】
図1を参照すると、ブロック図が情報検索システム100の実施形態例を示しており、情報検索システム100において、文書の検索インデックス170を検索するための検索エンジン160と、検索インデックス170から文書を取得するために検索エンジン160において使用するユーザの照会を拡張するための照会拡張システム110とを含めて、説明される方法およびシステムが実装されてよい。
【0036】
説明される照会拡張システム110は、領域のトレーニング・データのセット140から質問および回答のグラフ150を生成するために、グラフ生成コンポーネント120を含む。トレーニング・データ140は、この場合、特定の領域内のトレーニング回答を伴うトレーニング質問の形態で、直接入力によって提供される、情報のグランド・トゥルースである。
【0037】
質問および回答のグラフ150は、共通性のない質問および回答の語彙のグラフを提供するデータ構造であり、下でさらに説明されているように、トレーニング・データ140から生成された接続するエッジならびにノードおよびエッジの重み付けを有する、質問単語ノードおよび回答単語ノードを含む。
【0038】
照会拡張システム110は、検索エンジン160においてユーザの照会中に質問および回答のグラフ150を適用して、照会用語を拡張するために、グラフ適用コンポーネント130を含む。
【0039】
グラフ適用コンポーネント130は、ユーザの見えない照会入力を受信するための照会受信コンポーネント131と、単語の少なくとも一部を照会入力から質問および回答のグラフ150に入力するためのグラフ入力コンポーネント132とを含む。グラフ適用コンポーネント130は、照会入力の有効化されたノードを含むグラフを有効化するためのグラフ有効化コンポーネント133と、グラフの有効化から上位n個の単語を出力するためのグラフ出力コンポーネント134とを含む。
【0040】
グラフ適用コンポーネント130は、検索インデックス170の検索を改善するために、拡張された照会を検索エンジン160に出力するための拡張照会出力コンポーネント135を含む。
【0041】
示された情報検索システム100は、検索照会によって取得される文書に対する関連性の質を改善することができる。追加の関連する用語を使用して照会を拡張することによって、関連する文書が取得される可能性を高めることができる。
【0042】
図2Aを参照すると、概略図200は、領域のトレーニング・データのセット140から質問および回答のグラフ150を生成する態様の実施形態例を示している。
【0043】
トレーニング・データのセット140は、関連する回答テキスト242を伴う質問テキストのセット241の形態でのグランド・トゥルースである。質問テキスト241は質問単語211で構成されており、回答テキスト242は回答単語221で構成されている。そのようなトレーニング・データは、正しい回答のランクを改善するために、質問回答システムまたは情報検索システムをトレーニングすることから知られる。例示的なトレーニング・データのセットは、約140~50,000個の質問と回答の対のデータ・セットを含んでよいが、この方法を使用するために必要な例の最小数も、許容される例の最大数も存在しない。しかし、提供される例の数が増えるにつれて、見えない質問語彙がグラフに現れる可能性が高まり、さらに、ユーザの入力に対して返される上位n個の回答単語の拡張の関連性が高まる。
【0044】
質問テキスト241は、システムの現実の意図されたユーザによって作成され、標準的ユーザを代表する一般的な種類の語句および語彙を表す。関連する回答テキスト242は、回答または検索結果が取得される文書のコーパスから取り出される。
【0045】
質問回答システムまたは情報検索システムのトレーニングは、これらの質問テキスト241および正しい回答テキスト242を提供するために、対象の専門家に頼る。このデータは、エンタープライズ・システムのトレーニングにおいて使用できる、一次資料となるグランド・トゥルース・データである。そのようなデータを使用する手法に応じて、検索結果に改善をもたらすために、多かれ少なかれ、この種のデータが使用されることがある。この手法には、必要な例の最小数も、許容される例の最大数も存在しない。
【0046】
共通性のない質問単語と回答単語の対を制限するために、質問テキスト241内の質問語彙210および回答テキスト242内の回答語彙220が評価される。共通性のない質問単語と回答単語の対は、トレーニング質問テキスト241および関連するトレーニング回答テキスト242の両方において発生しない単語の対である。一部の実施形態では、回答単語221は、回答テキスト242に含まれているが、質問テキスト141には含まれていない単語に制限されてよい。
【0047】
図2Bを参照すると、これらの共通性のない質問単語と回答単語の対は、例示の目的で示されているベン図245との関連において検討されてよい。質問語彙210および回答語彙220は、2つに分かれた単語のセットとして示されており、これらの単語のセットは、ベン図245に重複230として示されているように、重複することがある。これらの2つのセットの重複230または交差は、「結合」語彙であり、この結合語彙のセットは、検索エンジンの正規基底であり、これらの質問単語を直接含んでいる文書が取得され得る。
【0048】
既知の照会拡張は、この交差空間を拡張しようとし、通常は同義語または下位語(例えば、「ラブラドール」=「犬」)または領域特有の知識(例えば、「パラセタモール=タイレノール」(タイレノールはジョンソン・エンド・ジョンソン社の商標である))を使用するが、交差の拡張のこのプロセスは、通常、パラセタモールが頭痛を「治療する」ため「パラセタモール」の拡張としての「頭痛」のような比較的遠い距離関係も含む、人間に理解可能な、または明白な意味関係を表す従来の意味リソースに頼る。
【0049】
一方、共通性のない語彙は、回答語彙220内にある単語のセットであるが、関連する質問語彙210内には存在しない。重複230内にある回答単語は、質問単語と回答単語の対に使用されない。したがって、共通性のない対250は、質問テキスト241と関連する回答テキスト242の間の、質問単語211および共通性のない回答単語221の網羅的組み合わせである。
【0050】
これらの共通性のない対250の性質は、明白な意味関係を表さないことがあるが、それにもかかわらず、質問において表されたユーザの意図の何らかの側面を捕捉し、この側面が、関連する回答の語彙によって回答される。これらの共通性のない対250は、明白でない意味関係と見なされてよく、従来技術はこれらを無視していた。この現象は、「遅延」および「間隔」のような例において示すことができ、「遅延」および「間隔」は、両方とも時間に関連しているが、容易に認識される意味関係も、一般的に抽出される意味関係も有しておらず、そのため、従来の手法を使用して拡張として活用することが極めて困難である。
【0051】
図2Cを参照すると、質問および回答のグラフ150が、トレーニング・データのセット140(図2Aに示されている)内の単語から構築されている。質問単語ノード251は、トレーニング・データ140の質問テキスト241内のすべての質問単語211に対して提供されてよく、または質問単語211がある品詞を有していること、領域のコーパス内の単語の頻度、領域のストップ・ワードなどの、質問テキスト241からの質問単語211の条件付き選択に対して提供されてよい。
【0052】
回答単語ノード252は、トレーニング・データ140の回答テキスト242内の共通性のない回答単語221に対して提供される。共通性のない回答単語221は、質問テキスト241の語彙に共通して存在しない単語である。
【0053】
エッジ253は、質問単語211および共通性のない回答単語221の形態での共通性のない単語の対250間で、グラフ150内で提供される。2つの回答単語ノード252間には直接のエッジ253は存在しないが、回答単語ノード252は、両方の回答単語ノード252にリンクされた介在する質問単語ノード251によって、1ノード程度だけ互いに離れることができる。
【0054】
ノードの重み付け261、262は、トレーニング・データのセット140内の質問単語211または回答単語221としての単語の頻度として提供される。
【0055】
エッジの重み付け263は、トレーニング・データのセット140内のすべての質問回答データにわたる特定の共通性のない対250の頻度として提供される。エッジの重み付け263は、単語の共通性のない対250が、グランド・トゥルース内の質問と回答の組み合わせごとに共通性がない頻度であってよい。
【0056】
各ノード251、252、またはエッジ253は、重み付けのための関連する値を格納する。これらのシード値は、有効化中に、広がる信号がこれらの同じノードおよびエッジをトラバースするときに適用される、数式の基礎になる。
【0057】
グラフ150は、選択された入力に関して、グラフ150内の最も関連するノード上に累積するために、すべてのノード251、252にわたって、すべての方向に移動する信号を使用して、見えないユーザの質問の入力単語に対して有効化される。この信号は、入力単語に直接的または間接的に接続されたグラフ150内のすべてのノード251、252にわたって、自由に移動することができる。
【0058】
1つの実施形態では、トレーニング・データ140の処理において、品詞(POS:part-of-speech)タグ付けが質問テキスト241または回答テキスト242あるいはその両方に適用されてよい。エッジは、同じPOSタグ(例えば、名詞、動詞、形容詞など)を有する質問単語と回答単語の間にのみ作成されてよい。このようにして、グラフの有効化は、同じPOSエッジをトラバースすることを強制されてよい。
【0059】
一部の実施形態では、エッジが質問単語ノードと回答単語ノードの間に追加されるときに、「共通性がない」というデフォルトの関係に加えて認識される、追加の関係が存在してよい。ノード間に引かれてよいエッジの他の種類は、例えば、同じ言語を共有する質問および関連する回答に応じて、「同じ言語」または「異なる言語」であってよく、分離したトピック分類器、モデル、または意味ラベリング・メカニズムによって決定された質問および関連する回答のサブトピックに応じて、「自動車保険関連」、「小型トラック保険関連」、または「家屋保険関連」であってよい。新しいユーザ入力内で同じトピックが認識されたときに、この入力に対する重要性に従って、異なる重み付けを使用して、これらのエッジがトラバースされてよい。
【0060】
図3を参照すると、フロー図300は、照会拡張において使用するための質問および回答の語彙のグラフを生成する説明された方法の態様の実施形態例を示している。
【0061】
方法300は、トレーニング質問テキストおよびトレーニング回答テキストの形態で、特定の領域内のトレーニング・データのセットを提供する(301)。トレーニング・データは、既知の正しい回答を伴う質問の形態での領域のグランド・トゥルースのコーパスの形態で提供される。質問は、システムの現実の意図されたユーザによって作成され、標準的ユーザを代表する一般的な種類の語句および語彙を表す。関連する回答テキストは、対象の領域に関する回答または検索結果が取得される文書のコーパスから取り出される。したがって、回答は、文脈において非常に関連しているが、質問テキストとのどんな語彙リンクまたは意味リンクも必ずしも有していない。領域のグランド・トゥルースには、比較的少量のトレーニング・データが必要とされる。このトレーニング・データは、追加の質問と回答の対を使用して拡張することが容易でもある。このトレーニング・データは、ユーザの領域および検索されているコーパスを対象にする。
【0062】
共通性のない回答単語が回答テキスト内で識別され(302)、共通性のない単語は、トレーニング回答テキストに加えて関連するトレーニング質問テキスト内で発生しない単語である。単語の共通性のない対は、トレーニング質問テキスト内の単語と、関連するトレーニング回答テキスト内の単語との間で提供される。質問テキストごとに、2つ以上の関連するトレーニング回答テキストが存在してよい。
【0063】
共通性のない質問および回答の語彙のグラフが構築され、このグラフは、質問単語および回答単語というノード・タイプの語彙単語のノードを含む。この方法は、質問単語を含むノードを質問単語ノードとしてグラフに追加し(303)、共通性のない回答単語を、識別された共通性のない単語の回答単語ノードとして追加する。
【0064】
トレーニング・データのセットの質問語彙からの単語は、回答に現れるかどうかにかかわらず、質問単語ノードになってよい。これは、課題の語彙を完全に捕捉するためである。一部の実施形態では、質問テキストからの隠された文脈が確実に含められるようにするために、すべての質問単語が、質問単語ノードとしてグラフに含められてよい。
【0065】
他の実施形態では、質問単語ノードとして含めるために、質問テキストからの質問単語の条件付き選択があってよい。そのような条件付き選択は、さまざまな特徴を含んでよい。それらの特徴は、例えば、単語がある事前に指定された品詞のセットを有しているという要件、コーパス内の用語の頻度、単語が領域のストップ・ワードであるかどうか、用語がある領域の語彙/オントロジーに現れるかどうか、単語が質問単語であるかどうかなどのうちの1つまたは複数を含んでよい。別の実施形態では、質問単語ノードは、関連する回答テキストに含まれていない共通性のない単語に限定されてもよい。
【0066】
数学のグラフ理論は、数学的構造を使用して、オブジェクト間の対での関係をモデル化する。この文脈では、グラフは、エッジによって接続された質問単語ノードおよび回答単語ノードで構成される。グラフは無向であってよく、つまり、各エッジに関連付けられた2つの頂点の間に区別がなくてよく、またはエッジが1つの頂点から別の頂点に向けられてよい。この実施形態では、グラフは無向である。
【0067】
方法300は、トレーニング質問内の質問単語と関連するトレーニング回答内の回答単語との共通性のない対間のエッジをグラフに追加してよい(304)。質問単語と回答単語の共通性のない対の使用は、領域の課題を表す照会からの用語のセットと、他の内容(検索コーパスなど)内の用語との間の、直感的でないが意味のあるつながりを与え、このつながりは、既知の方法において採用されているような発見的解決法では取得できない。
【0068】
方法300は、トレーニング・データのセット内の単語の頻度データに基づいてノードおよびエッジの重み付けを行ってよい(305)。
【0069】
ノードの重み付けは、トレーニング・データのセット内の質問単語ノードの質問単語の発生頻度およびトレーニング・データのセット内の回答単語ノードの回答単語の発生頻度によって、ノードに重み付けすることによって行われてよい。
【0070】
ノード間のエッジの重み付けは、トレーニング・データのセットにわたる共通性のない質問単語と回答単語の対の頻度に従ってエッジに重み付けすることによって行われてよい。
【0071】
グラフ全体に広がる信号の最適な結果を得るようにグラフを構成するための方法が、複数存在する。例えば、ノード・レベルで条件付き含有が存在してよく、またはそのような条件付き含有がエッジ上の接続によって管理されてよく、あるいはその両方であってよい。一部の実施形態では、説明された広がる有効化を使用して、デフォルトですべてを含めることは、現実世界の課題に対してよい結果をもたらすことができる。
【0072】
一部の実施形態では、語彙関係または意味関係を有する質問単語と回答単語の対間で提供されるエッジのみを使用して、グラフが生成されてよい。例えば、同じ品詞を有する質問単語および回答単語のみに対して、エッジが作成されてよい。これによって、グラフの有効化を意味関係に制限する。
【0073】
一部の実施形態では、この方法は、グラフ内の質問単語と回答単語の対間のエッジに対して関係定義を提供してよく(306)、エッジの関係定義ごとに異なる重み付けを行うように構成されてよい。
【0074】
質問を追加するか、または置き換えて、トレーニング・データのセットを拡張することによって、グラフが更新されてよい。下でさらに説明されているようにグラフを使用する拡張された照会を使用して行われた照会の結果のユーザ・フィードバックを受信することによって、グラフが更新されてもよい。
【0075】
図4を参照すると、フロー図400は、質問および回答の語彙のグラフを使用して照会を拡張する説明された方法の態様の実施形態例を示している。
【0076】
方法400は、図3の方法において生成されているように、特定の領域に関するトレーニング・データのセットに対して生成された質問単語ノードおよび回答単語ノードのグラフを提供してよい(401)。このグラフは、質問単語ノードおよび回答単語ノードを含む。回答単語ノードは、トレーニング質問テキストおよび関連するトレーニング回答テキストの両方において発生しない共通性のない単語である。トレーニング質問内の質問単語の質問単語ノードと、関連するトレーニング回答内の共通性のない回答単語の回答単語ノードとの共通性のない対間で、エッジが提供される。このグラフは、トレーニング・データのセット内の単語の頻度データに基づいて、ノードおよびエッジの重み付けを含む。
【0077】
方法400は、単語のセットの形態で、ユーザの照会入力を受信してよい(402)。ユーザの照会入力は、一般に、質問入力であってよいが、照会入力は、回答入力を含んでもよい。入力ノードは、ユーザの照会入力内の重複する表層形または基本形の単語を含むノードであってよい。
【0078】
方法400は、ユーザの照会入力内の単語に関して、グラフ内の入力ノードを有効化してよい(403)。グラフは、ユーザ入力のみを使用して有効化される。ユーザ入力は、質問、またはさらなる文脈のために、質問および関連する回答の形態であることができる。入力の性質に応じて、適切なノードが有効化される。照会入力が質問入力である場合、入力ノードを有効化すると、グラフ内の質問単語ノードが有効化される。照会入力が回答入力も含む場合、入力ノードを有効化すると、質問単語ノードに加えて、グラフ内の回答単語ノードが有効化されてよい。
【0079】
方法400は、ノード間の関係が人間にとって明白であるということを仮定せず、グラフの有効化の後に、ユーザの意図の表現が、直ちに明らかでないとしても、集合的に存在するということを仮定する。このため、最初に特定の単語が多かれ少なかれ役立つということを仮定しようと試みることなく、ユーザの照会入力のすべての語彙がデフォルトでグラフに含まれてよい。特定の単語が関連しているかどうかを判定するために、グラフの有効化およびこれらの接続にわたる重みの分布に頼る。
【0080】
質問および回答内の語彙間の明白でない関係は、説明された方法400における興味深い要因である。「および」のような単語または所有格標識「s」は、特定の文脈において極めて重要であることがあり、これらは単に明白に関連していないため削除されるべきであるということは、仮定されない。例えば、首都に関する回答の一般的性質は、単語「および」で分離された複数の特徴を集合的に参照することであることがあり、この性質は、本開示のグラフ内で捕捉することが可能である。この恩恵は、法律、保険、医療、金融などの領域での本手法の使用において明らかである。
【0081】
方法400は、最も大きく有効化された上位n個のノードを得るために、重み付けを使用してグラフ全体に広がる有効化を適用してよい(404)。広がる有効化を適用することによって、入力ノードに直接的または間接的に接続された質問単語ノードおよび回答単語ノードにわたるすべての方向に、信号を伝搬する。広がる有効化の重みは、文脈に敏感なランク付けを可能にすることによって、情報検索を改善する。
【0082】
同じ品詞のみなどの同じ語彙制約および意味制約のみを使用して拡張するために、広がる有効化を適用するときに、語彙制約および意味制約が適用されてよい。
【0083】
一部の実施形態では、エッジが質問単語と回答単語の間に追加されるときに、共通性のない対であることというデフォルトの関係に加えて認識される、追加の関係が存在してよい。ノード間に引かれてよいエッジの他の種類は、同じ言語を共有する質問および関連する回答に応じて、「同じ言語」または「異なる言語」であってよく、質問および関連する回答のサブトピックに応じて、「自動車保険関連」、「小型トラック保険関連」、または「家屋保険関連」であってよい。新しいユーザ入力内で同じトピックが認識されたときに、この入力に対する重要性に従って、異なる重みを使用して、これらのエッジがトラバースされてよい。
【0084】
方法400は、最も大きく有効化されたn個のノードを、ユーザの照会入力の拡張のための候補単語として使用する(405)。これによって、拡張のための文脈に関連する上位n個の単語を提供する。最も関連する拡張候補を使用して、検索照会が拡張されてよい。
【0085】
方法400は、上位n個の質問単語ノードまたは回答単語ノードを選択してよい。しかし、一部の実施形態では、回答単語ノードには、バックグラウンドの検索コーパス内に存在することが保証されている回答単語を活用するという利点があり、一方、これは質問単語には必ずしも当てはまらないため、回答単語ノードのみが選択される。
【0086】
質問入力に加えて回答入力を含んでいるユーザの照会入力の場合、この照会拡張によって、検索結果をあるスタイルの回答に絞り込むことができ、このスタイルの回答に関して、回答のサンプルが提供されてよい。この場合、質問単語ノードおよび回答単語ノードの両方が、最初に有効化され得る。有効化後に、信号がそれらの点からグラフをトラバースし、グラフ内の他のノードで累積してよく、その後、この累積は、関連性の測定値として使用される。
【0087】
方法400は、候補単語を拡張に使用する検索エンジンへのユーザの照会入力の結果に対するユーザ・フィードバックを捕捉することと(406)、このユーザ・フィードバックを使用してトレーニング・データのセットを補完することとを含んでよい。
【0088】
説明された方法400によって生成された拡張された照会が入力される検索システムは、質問への回答に対する親指評価または星評価などのユーザ・フィードバックを捕捉してよい。このフィードバック・データは、初期グランド・トゥルースの質問回答データを補完するために使用されてよく、それによって、時間と共にシステムを改善するか、または適応させてよい。
【0089】
初期グランド・トゥルースは専門家によって作成されるため、通常は至適基準と見なされ、生のユーザ・フィードバックよりも信頼できると見なされる。したがって、検索システムを改善するためのユーザ・フィードバック・ループの使用は、含める前に、例えば、特定の信頼できる作成者のみを監視することによって、または投票システムおよび信頼性のしきい値を適用することによって、制御され得る。システムを改善するためのフィードバックのこの使用は、照会拡張のための他の手法よりも、ユーザ・データを統合する非常に安価な方法であることができる。
【0090】
以前は見えなかった質問単語または回答単語に関して新しいノードが追加されてよいように、または以前のグランド・トゥルース・データにおいては見えなかった質問と回答の対間に新しいエッジが引かれてよいように、あるいはその両方であるように、グラフ内のノードおよびエッジの頻度が、提供されたフィードバック・データからの追加の数によって拡張されてよい。グラフの反復的更新のこのプロセスは、グラフの更新における関連する動作が、深層学習法などの他の手法の場合のような大規模な再トレーニングも特徴ベクトルまたはその他のデータの再計算も必要としないため、非常に安価であり、実行のための計算効率が非常に良くなることができる。
【0091】
ユーザが、検索結果内の特定の1つまたは複数の回答に対して、親指を立てる合図または高い星評価などの肯定的評価を与えた後に、この回答およびそれに関連付けられた質問を、基礎となる照会拡張グラフに送信することができ、このデータは、前述したように、追加のノード、エッジ、または頻度数、あるいはその組み合わせによって既存のデータを拡張するために、補足的質問回答データとして使用される。
【0092】
このグラフは、語彙間の可能性のある接続のネットワークを提供し、見えない質問の内容を使用して有効化された場合に、質問と回答の間に重複が存在しなかった語彙のセット内の正しい回答に存在していた拡張の最良のセットを予測することができる。これは、共通性のない質問と回答の対を有効化することによって、ユーザ主導型の照会拡張を提供する。
【0093】
出力は、ユーザの照会のすべての部分要素に最も関連している。前述したように拡張された照会を使用して、関連する文書の検索が改善され得る。これは、ユーザの知識または語彙における文脈的ギャップに注目することによる。説明された方法400は、意味的拡張とは異なって、統計的に関連する拡張を生成する。これらの拡張は、内容の意味ではなく、ユーザの意図の意味を反映する。方法400は、ユーザによって作成されたグランド・トゥルースから抽出されたマッピングの周囲の文脈を活用する。追加のユーザの内容は、より正確な文脈の表現をもたらすことができる。
【0094】
[住宅ローン->建設する]または[遅延する->間隔]のような接続は、これらが同じ品詞を有しておらず、同義語でなく、既存の方法によって容易に発見することができず、ユーザ・データ(例えば、質問および回答)によって提供された文脈間で重複していなくても、可能になる。
【0095】
方法400は、グランド・トゥルースのソースからの質問と回答の対のハードコードされる性質に依存することがあるが、明示的な拡張の対をハードコードする方法よりもはるかに柔軟である。
【0096】
この問題に対する改善された解決策は、関連する拡張のみを生成すること、および対象のコーパスに存在していない拡張を生成しないことによって、拡張の関連性を高めるはずである。また、改善された解決策は、上位n個の拡張の効果的なランク付けを含むことによって、取り消しの過剰な増大を減らすはずである。
【0097】
説明された方法400は、トレーニング・データのセットを更新することによって、新しい領域またはユーザの文脈に容易に適応することを可能にする。トレーニング・データは、ユーザの質問語彙を正しい回答にリンクすることによって、ユーザの知識における固有のギャップを解決する拡張を対象にするために使用されてもよい。
【0098】
図5を参照すると、ブロック図が、グラフ生成コンポーネント120の機能を提供するコンポーネントを含む、説明された照会拡張システム110の実施形態例を示している。
【0099】
示されている実施形態では、照会拡張システム110は、プロセッサ501上で実行されるソフトウェア・ユニットであってよい説明されたコンポーネントの機能を実行するために、少なくとも1つのプロセッサ501(またはハードウェア・モジュールまたは回路)を含む。一部の実施形態では、並列処理スレッドを実行する複数のプロセッサ501が提供されてよく、それによって、コンポーネントの機能の一部または全部の並列処理を可能にする。メモリ502は、図5に示されているグラフ生成コンポーネント120および図6に示されているグラフ適用コンポーネント130などのコンポーネントの機能を実行するために、コンピュータ命令503を少なくとも1つのプロセッサ501に提供するように構成されてよい。
【0100】
示されている実施形態では、グラフ生成コンポーネント120は、トレーニング質問テキストおよびトレーニング回答テキストの形態で、特定の領域内のトレーニング・データのセットを提供するためのトレーニング・データ・コンポーネント522と、関連するトレーニング質問テキスト内で発生しないトレーニング回答テキスト内の共通性のない回答単語を識別するための共通性のない単語コンポーネント523とを含む。
【0101】
示されている実施形態では、グラフ生成コンポーネント120は、ノードを質問単語ノードおよび回答単語ノードとしてグラフに追加するために、ノード追加コンポーネント524を含む。回答単語ノードは、トレーニング・データのセット内の識別された共通性のない回答単語のためであってよい。グラフ生成コンポーネント120は、トレーニング質問内の質問単語と関連するトレーニング回答内の共通性のない回答単語との共通性のない対間のエッジを追加するために、エッジ追加コンポーネント525を含んでよい。
【0102】
示されている実施形態では、グラフ生成コンポーネント120は、トレーニング・データのセット内の単語および共通性のない単語の対の頻度データを決定するための頻度決定コンポーネント526と、トレーニング・データのセット内の単語の頻度データに基づいてノードおよびエッジの重み付けを行うための重み付けコンポーネント527とを含む。重み付けコンポーネント527は、ノードの重み付けを行うためのノード重み付けコンポーネント528を含み、ノード重み付けコンポーネント528は、トレーニング・データのセット内の質問単語ノードの質問単語の発生頻度およびトレーニング・データのセット内の回答単語ノードの回答単語の発生頻度によってノードに重み付けするように構成される。重み付けコンポーネント527は、トレーニング・データのセットにわたる共通性のない質問単語と回答単語の対の頻度に従ってエッジに重み付けするように構成された、ノード間のエッジの重み付けを行うためのエッジ重み付けコンポーネント529も含む。
【0103】
示されている実施形態では、グラフ生成コンポーネント120は、語彙関係または意味関係を有している質問単語および回答単語に制限された質問単語と回答単語の対間のエッジを含むグラフを提供するために、意味制限コンポーネント530を含む。グラフ生成コンポーネント120は、質問単語と回答単語の対間のエッジに対して関係定義を提供し、エッジの関係定義ごとに異なる重み付けを行うために、エッジ関係コンポーネント531も含む。グラフ生成コンポーネント120は、候補単語を拡張に使用する検索エンジンへのユーザの照会入力の結果に対するユーザ・フィードバックを受信するためのフィードバック受信コンポーネント532と、このユーザ・フィードバックをグラフに適用するためのグラフ更新コンポーネント533とも含む。
【0104】
図6を参照すると、ブロック図が、グラフ適用コンポーネント130の機能を提供するコンポーネントを含む、説明された照会拡張システム110の実施形態例を示している。
【0105】
示されている実施形態では、グラフ適用コンポーネント130は、ユーザの照会入力を受信するための照会受信コンポーネント131と、ノード選択コンポーネント633によって入力されたユーザの照会内の単語に関してグラフ内の入力ノードを有効化するためのグラフ入力コンポーネント132とを含む。ユーザの照会入力は、質問入力または回答入力あるいはその両方であってよく、グラフ入力コンポーネント132は、質問単語ノードまたは回答単語ノードあるいはその両方を有効化してよい。
【0106】
示されている実施形態では、グラフ適用コンポーネント130は、ノードおよびエッジの重み付けを使用して入力ノードからグラフ全体に広がる有効化を適用するためのグラフ有効化コンポーネント133と、nノード出力コンポーネント637によって最も大きく有効化された上位n個のノードの結果を返すためのグラフ出力コンポーネント134とを含む。出力ノードの単語は、拡張照会出力コンポーネント135において、ユーザの照会入力の拡張のための候補単語として使用されてよい。
【0107】
ユーザの照会入力が質問入力に加えて回答入力を含む場合、これによって、検索結果をあるスタイルの回答に絞り込むことができる。この場合、グラフ出力コンポーネント134は、回答スタイルへの検索結果の絞り込むための候補単語として使用される、最も大きく有効化された上位n個のノードの結果を返してよい。
【0108】
示されている実施形態では、グラフ有効化コンポーネント133は、語彙関係または意味関係を有している質問単語および回答単語に制限された質問単語と回答単語の対間のエッジをグラフが含む、意味制限適用コンポーネント641を含む。グラフ有効化コンポーネント133は、質問単語と回答単語の対間のエッジに対して提供された関係定義を適用し、エッジの関係定義ごとに異なる重み付けを行うために、エッジ関係適用コンポーネント642も含む。
【0109】
示されている実施形態では、照会拡張システム110は、候補単語を拡張に使用する検索エンジンへのユーザの照会入力の結果に対するユーザ・フィードバックを捕捉するためのユーザ・フィードバック・コンポーネント650を含み、このユーザ・フィードバックは、トレーニング・データのセットを補完して更新されたグラフを得るために使用されてよい。
【0110】
グラフ生成コンポーネント120(図5に示されている)およびグラフ適用コンポーネント130を含んでいる説明された照会拡張システム110は、アーキテクチャを変更せずに既存の検索システムに導入されてよい。この導入は、フロントエンドの照会の構築の一部として行われてよく、バックグラウンドのインデックスに影響を与えない。説明された照会拡張システム100(図1に示されている)は、オープンソースのシステムを含む任意の既存の検索システム上で、領域カスタマイズ・インターフェイス(domain-customization interface)として機能してよい。
【0111】
実施例
【0112】
トレーニング・データ:
【0113】
質問回答データは、質問テキストから複数の正しい回答につながる可能性のあるマップである。提供されるそのような例が多いほど、グラフ内の語彙間の関係の深さが改善され、グラフが新しい見えない文脈に関する拡張を推奨できる可能性が高まる。ここで使用される例は、グラフの深さに固有の値とは無関係にメカニズムを示すために、簡単になるように考案されている。
質問:「ダブリンアイルランド首都ですか?」
回答:[「アイルランドの首都および人口最大の都市は、ダブリンです」、「ダブリンはアイルランドの最大の都市であり、首都です」]
質問:「ライオンはどのような種類動物ですか?」
回答:[「ライオンは、アフリカ最大の猫です」、「ライオンは、猫科の動物です」]
【0114】
質問単語ノードとしてグラフに追加されてよい質問単語には下線が引かれており、回答単語ノードとしてグラフに追加されてよい共通性のない回答単語には下線が引かれている。この下線は、「アイルランド」が質問テキスト内にあるため、グラフ内の回答単語ノードの回答単語として含まれないことを示している。
【0115】
表層形および基本形が、質問単語タイプのノードに変換される。例えば、「です(be)」は「です(is)」の基本形であり、「大きい(large)」は「最大の(largest)」の基本形であり、「大きい(big)」は「最大の(biggest)」の基本形である。
【0116】
共通性のない質問と回答の対:
【0117】
この入力から頻度と共に生成された対のセットが、次に、グラフの構築に使用される。以下に、上記の例示的なデータ・セットからの、すべての(17個の)ノード間の(51個の)エッジの例示的なリストを示す。
首都->最大の
首都->大きい
首都->大きい
首都->最大の
首都->人口
です->最大の
です->大きい
です->大きい
です->最大の
です->人口
ダブリン->最大の
ダブリン->大きい
ダブリン->大きい
ダブリン->最大の
ダブリン->人口
都市->最大の
都市->大きい
都市->大きい
都市->最大の
都市->人口
です->最大の
です->大きい
です->大きい
です->最大の
です->人口
アイルランド->最大の
アイルランド->大きい
アイルランド->大きい
アイルランド->最大の
アイルランド->人口
です->アフリカ
です->猫
です->科
動物->最大の
動物->アフリカ
動物->大きい
動物->猫
動物->科
です->アフリカ
です->猫
です->科
種類->最大の
種類->アフリカ
種類->大きい
種類->猫
種類->科
ライオン->最大の
ライオン->アフリカ
ライオン->大きい
ライオン->猫
ライオン->科
【0118】
図7は、上記の例の質問および回答の語彙の例示的なグラフ700の抜粋を示している。明確にするために、例の一部のノードが示されている。
【0119】
例示的な質問単語ノードが、「首都」711、「です」712、「都市」713、「種類」714、「ライオン」715の質問単語について示されており、例示的な回答単語ノードが、「最大の」721、「最大の」722、「猫」723、「科」724の共通性のない回答単語について示されている。
【0120】
グラフ700には、次の例示的なエッジが示されている。
首都->最大の731
首都->最大の732
です->最大の733
です->最大の734
都市->最大の735
都市->最大の736
種類->最大の741
種類->科742
種類->猫743
ライオン->最大の744
ライオン->科745
ライオン->猫746
【0121】
ノード711~715および721~724、ならびにエッジ731~746は、データ・セット内の単語の頻度および共通性のない対の頻度に基づく重み付けを有する。例えば、質問単語「首都」711の重み付けは、質問および回答の語彙におけるその質問単語の存在の頻度測定に基づいてよい。エッジの重み付けは、質問回答データにわたる質問と回答の対の頻度測定に基づいてよい。この簡略化された例では、「です->最大の」のエッジ733および「です->最大の」のエッジ734は、両方とも質問回答データ内で2回現れるため、質問回答データ内で1回現れた場合より大きい重み付けを有する。
【0122】
見えない入力質問および結果:
【0123】
グラフ有効化に従って生成された見えない質問およびn=5の拡張のサンプルは、次のとおりである。
質問1:「インドの首都は何ですか?」
拡張:[「大きい(big)」、「最大の(biggest)」、「人口」、「最大の(largest)」、「大きい(large)」]
質問2:「ライオンは何ですか?」
拡張:[「アフリカ」、「猫」、「科」、「最大の」、「大きい」]
【0124】
グラフ700は、質問1の「首都」711、「です(be)」712(「です(is)」の基本形として)および質問2の「ライオン」715、「です(be)」712(「です(is)」の基本形として)などの、見えない質問のサンプル内の質問単語に対応する質問ノードを使用して有効化されてよい。
【0125】
グラフ700の有効化の結果は、質問1の「大きい(big)」、「最大の(biggest)」、「人口」、「最大の(largest)」、「大きい(large)」および質問2の「アフリカ」、「猫」、「科」、「最大の」、「大きい」の有効化されたノードである。
【0126】
図8は、本開示の実施形態に従って、図1の照会拡張システム110のコンピューティング・デバイスのコンポーネントのブロック図を示している。図8は、単に1つの実施形態の例を提供しており、さまざまな実施形態を実装できる環境に関して、どのような制限も意味していないと理解されるべきである。図に示された環境に対して、多くの変更が行われてよい。
【0127】
コンピューティング・デバイスは、1つまたは複数のプロセッサ802、1つまたは複数のコンピュータ可読RAM804、1つまたは複数のコンピュータ可読ROM806、1つまたは複数のコンピュータ可読ストレージ媒体808、デバイス・ドライバ812、読み取り/書き込み駆動またはインターフェイス814、およびネットワーク・アダプタまたはインターフェイス816を含むことができ、これらはすべて通信ファブリック818を経由して相互接続される。通信ファブリック818は、プロセッサ(マイクロプロセッサ、通信プロセッサ、およびネットワーク・プロセッサなど)、システム・メモリ、周辺機器、およびシステム内の任意のその他のハードウェア・コンポーネントの間で、データまたは制御情報あるいはその両方を渡すために設計された、任意のアーキテクチャを使用して実装され得る。
【0128】
1つまたは複数のオペレーティング・システム810、およびアプリケーション・プログラム811は、各RAM804(通常、キャッシュ・メモリを含む)のうちの1つまたは複数を介してプロセッサ802のうちの1つまたは複数によって実行するために、コンピュータ可読ストレージ媒体808のうちの1つまたは複数に格納される。示されている実施形態では、コンピュータ可読ストレージ媒体808の各々は、内部ハード・ドライブの磁気ディスク・ストレージ・デバイス、CD-ROM、DVD、メモリ・スティック、磁気テープ、磁気ディスク、光ディスク、RAM、ROM、EPROM、フラッシュ・メモリなどの半導体ストレージ・デバイス()、または本開示の実施形態に従ってコンピュータ・プログラムおよびデジタル情報を格納できる任意のその他のコンピュータ可読ストレージ媒体であることができる。
【0129】
コンピューティング・デバイスは、1つまたは複数のポータブル・コンピュータ可読ストレージ媒体826に対して読み取りおよび書き込みを行うためのR/W駆動またはインターフェイス814を含むこともできる。コンピューティング・デバイス上のアプリケーション・プログラム811は、ポータブル・コンピュータ可読ストレージ媒体826のうちの1つまたは複数に格納され、各R/W駆動またはインターフェイス814を介して読み取られ、各コンピュータ可読ストレージ媒体808に読み込まれ得る。
【0130】
コンピューティング・デバイスは、TCP/IPアダプタ・カードまたは無線通信アダプタなどの、ネットワーク・アダプタまたはインターフェイス816を含むこともできる。コンピューティング・デバイス上のアプリケーション・プログラム811は、ネットワーク(例えば、インターネット、ローカル・エリア・ネットワーク、またはその他の広域ネットワーク、あるいは無線ネットワーク)およびネットワーク・アダプタまたはインターフェイス816を介して、外部コンピュータまたは外部ストレージ・デバイスからコンピューティング・デバイスにダウンロードされ得る。プログラムは、ネットワーク・アダプタまたはインターフェイス816からコンピュータ可読ストレージ媒体808に読み込まれてよい。このネットワークは、銅線、光ファイバ、無線送信、ルータ、ファイアウォール、スイッチ、ゲートウェイ・コンピュータ、およびエッジ・サーバを備えてよい。
【0131】
コンピューティング・デバイスは、ディスプレイ画面820、キーボードまたはキーパッド822、およびコンピュータ・マウスまたはタッチパッド824を含むこともできる。デバイス・ドライバ812は、画像化のためにディスプレイ画面820とインターフェイスをとるか、キーボードまたはキーパッド822とインターフェイスをとるか、コンピュータ・マウスまたはタッチパッド824とインターフェイスをとるか、または英数字入力およびユーザ選択の圧力検出のためにディスプレイ画面820とインターフェイスをとるか、あるいはその組み合わせとインターフェイスをとる。デバイス・ドライバ812、R/W駆動またはインターフェイス814、およびネットワーク・アダプタまたはインターフェイス816は、コンピュータ可読ストレージ媒体808またはROM806あるいはその両方に格納されるハードウェアおよびソフトウェアを備えることができる。
【0132】
本発明は、任意の可能な統合の技術的詳細レベルで、システム、方法、またはコンピュータ・プログラム製品、あるいはその組み合わせであってよい。コンピュータ・プログラム製品は、プロセッサに本発明の態様を実行させるためのコンピュータ可読プログラム命令を含んでいるコンピュータ可読ストレージ媒体を含んでよい。
【0133】
コンピュータ可読ストレージ媒体は、命令実行デバイスによって使用するための命令を保持および格納できる有形のデバイスであることができる。コンピュータ可読ストレージ媒体は、例えば、電子ストレージ・デバイス、磁気ストレージ・デバイス、光ストレージ・デバイス、電磁ストレージ・デバイス、半導体ストレージ・デバイス、またはこれらの任意の適切な組み合わせであってよいが、これらに限定されない。コンピュータ可読ストレージ媒体のさらに具体的な例の非網羅的リストは、ポータブル・コンピュータ・ディスケット、ハード・ディスク、ランダム・アクセス・メモリ(RAM:random access memory)、読み取り専用メモリ(ROM:read-only memory)、消去可能プログラマブル読み取り専用メモリ(EPROM:erasable programmable read-only memoryまたはフラッシュ・メモリ)、スタティック・ランダム・アクセス・メモリ(SRAM:static random access memory)、ポータブル・コンパクト・ディスク読み取り専用メモリ(CD-ROM:compact disc read-only memory)、デジタル多用途ディスク(DVD:digital versatile disk)、メモリ・スティック、フロッピー(R)・ディスク、パンチカードまたは命令が記録されている溝の中の隆起構造などの機械的にエンコードされるデバイス、およびこれらの任意の適切な組み合わせを含む。本明細書において使用されるとき、コンピュータ可読ストレージ媒体は、それ自体が、電波またはその他の自由に伝搬する電磁波、導波管またはその他の送信媒体を伝搬する電磁波(例えば、光ファイバ・ケーブルを通過する光パルス)、あるいはワイヤを介して送信される電気信号などの一過性の信号であると解釈されるべきではない。
【0134】
本明細書に説明されたコンピュータ可読プログラム命令は、コンピュータ可読ストレージ媒体から各コンピューティング・デバイス/処理デバイスへ、またはネットワーク、例えば、インターネット、ローカル・エリア・ネットワーク、広域ネットワーク、または無線ネットワーク、あるいはその組み合わせを介して外部コンピュータまたは外部ストレージ・デバイスへダウンロードされ得る。このネットワークは、銅伝送ケーブル、光伝送ファイバ、無線送信、ルータ、ファイアウォール、スイッチ、ゲートウェイ・コンピュータ、またはエッジ・サーバ、あるいはその組み合わせを備えてよい。各コンピューティング・デバイス/処理デバイス内のネットワーク・アダプタ・カードまたはネットワーク・インターフェイスは、コンピュータ可読プログラム命令をネットワークから受信し、それらのコンピュータ可読プログラム命令を各コンピューティング・デバイス/処理デバイス内のコンピュータ可読ストレージ媒体に格納するために転送する。
【0135】
本発明の動作を実行するためのコンピュータ可読プログラム命令は、アセンブラ命令、命令セット・アーキテクチャ(ISA:instruction-set-architecture)命令、マシン命令、マシン依存命令、マイクロコード、ファームウェア命令、状態設定データ、集積回路のための構成データ、あるいは、Smalltalk(R)、C++などのオブジェクト指向プログラミング言語、および「C」プログラミング言語または同様のプログラミング言語などの手続き型プログラミング言語を含む1つまたは複数のプログラミング言語の任意の組み合わせで記述されたソース・コードまたはオブジェクト・コードであってよい。コンピュータ可読プログラム命令は、ユーザのコンピュータ上で全体的に実行すること、ユーザのコンピュータ上でスタンドアロン・ソフトウェア・パッケージとして部分的に実行すること、ユーザのコンピュータ上およびリモート・コンピュータ上でそれぞれ部分的に実行すること、あるいはリモート・コンピュータ上またはサーバ上で全体的に実行することができる。後者のシナリオでは、リモート・コンピュータは、ローカル・エリア・ネットワーク(LAN:local area network)または広域ネットワーク(WAN:wide area network)を含む任意の種類のネットワークを介してユーザのコンピュータに接続されてよく、または接続は、(例えば、インターネット・サービス・プロバイダを使用してインターネットを介して)外部コンピュータに対して行われてよい。一部の実施形態では、本発明の態様を実行するために、例えばプログラマブル論理回路、フィールドプログラマブル・ゲート・アレイ(FPGA:field-programmable gate arrays)、またはプログラマブル・ロジック・アレイ(PLA:programmable logic arrays)を含む電子回路は、コンピュータ可読プログラム命令の状態情報を利用することによって、電子回路をカスタマイズするためのコンピュータ可読プログラム命令を実行してよい。
【0136】
本発明の態様は、本明細書において、本発明の実施形態に従って、方法、装置(システム)、およびコンピュータ・プログラム製品のフローチャート図またはブロック図あるいはその両方を参照して説明される。フローチャート図またはブロック図あるいはその両方の各ブロック、ならびにフローチャート図またはブロック図あるいはその両方に含まれるブロックの組み合わせが、コンピュータ可読プログラム命令によって実装され得るということが理解されるであろう。
【0137】
これらのコンピュータ可読プログラム命令は、コンピュータまたはその他のプログラム可能なデータ処理装置のプロセッサを介して実行される命令が、フローチャートまたはブロック図あるいはその両方の1つまたは複数のブロックに指定される機能/動作を実施する手段を作り出すべく、汎用コンピュータ、専用コンピュータ、または他のプログラム可能なデータ処理装置のプロセッサに提供されてマシンを作り出すものであってよい。これらのコンピュータ可読プログラム命令は、命令が格納されたコンピュータ可読ストレージ媒体がフローチャートまたはブロック図あるいはその両方の1つまたは複数のブロックに指定される機能/動作の態様を実施する命令を含んでいる製品を備えるように、コンピュータ可読ストレージ媒体に格納され、コンピュータ、プログラム可能なデータ処理装置、または他のデバイス、あるいはその組み合わせに特定の方式で機能するように指示できるものであってもよい。
【0138】
コンピュータ可読プログラム命令は、コンピュータ上、その他のプログラム可能な装置上、またはその他のデバイス上で実行される命令が、フローチャートまたはブロック図あるいはその両方の1つまたは複数のブロックに指定される機能/動作を実施するように、コンピュータ、その他のプログラム可能なデータ処理装置、またはその他のデバイスに読み込まれてもよく、それによって、一連の動作可能なステップを、コンピュータ上、その他のプログラム可能な装置上、またはコンピュータ実装プロセスを生成するその他のデバイス上で実行させる。
【0139】
図内のフローチャートおよびブロック図は、本発明のさまざまな実施形態に従って、システム、方法、およびコンピュータ・プログラム製品の可能な実装のアーキテクチャ、機能、および動作を示す。これに関連して、フローチャートまたはブロック図内の各ブロックは、規定された論理機能を実装するための1つまたは複数の実行可能な命令を備える、命令のモジュール、セグメント、または部分を表してよい。一部の代替の実装では、ブロックに示された機能は、図に示された順序とは異なる順序で発生してよい。例えば、連続して示された2つのブロックは、実際には、含まれている機能に応じて、実質的に同時に実行されるか、または場合によっては逆の順序で実行されてよい。ブロック図またはフローチャート図あるいはその両方の各ブロック、ならびにブロック図またはフローチャート図あるいはその両方に含まれるブロックの組み合わせは、規定された機能または動作を実行するか、または専用ハードウェアとコンピュータ命令の組み合わせを実行する専用ハードウェアベースのシステムによって実装され得るということにも注意する。
【0140】
クラウド・コンピューティング
本開示にはクラウド・コンピューティングに関する詳細な説明が含まれているが、本明細書において示された内容の実装は、クラウド・コンピューティング環境に限定されないと理解されるべきである。むしろ、本発明の実施形態は、現在既知であるか、または今後開発される任意のその他の種類のコンピューティング環境と組み合わせて実装できる。
クラウド・コンピューティングは、構成可能な計算リソース(例えば、ネットワーク、ネットワーク帯域幅、サーバ、処理、メモリ、ストレージ、アプリケーション、仮想マシン、およびサービス)の共有プールへの便利なオンデマンドのネットワーク・アクセスを可能にするためのサービス提供モデルであり、管理上の手間とサービス・プロバイダとのやりとりを最小限に抑えて、それらのリソースを迅速にプロビジョニングおよび解放することができる。このクラウド・モデルは、少なくとも5つの特徴、少なくとも3つのサービス・モデル、および少なくとも4つのデプロイメント・モデルを含むことができる。
【0141】
特徴は、次のとおりである。
オンデマンドのセルフ・サービス:クラウドの利用者は、サーバの時間、ネットワーク・ストレージなどの計算能力を一方的に、サービス・プロバイダとの人間的なやりとりを必要とせず、必要に応じて自動的にプロビジョニングすることができる。
幅広いネットワーク・アクセス:能力は、ネットワークを経由して利用可能であり、標準的なメカニズムによってアクセスできるため、異種のシン・クライアントまたはシック・クライアント・プラットフォーム(例えば、携帯電話、ラップトップ、およびPDA)による利用を促進する。
リソース・プール:プロバイダの計算リソースは、プールされ、マルチテナント・モデルを使用して複数の利用者に提供される。さまざまな物理的および仮想的リソースが、要求に従って動的に割り当ておよび再割り当てされる。場所に依存しないという感覚があり、利用者は通常、提供されるリソースの正確な場所に関して制御することも知ることもないが、さらに高い抽象レベルでは、場所(例えば、国、州、またはデータセンター)を指定できる場合がある。
迅速な順応性:能力は、迅速かつ柔軟に、場合によっては自動的にプロビジョニングされ、素早くスケールアウトし、迅速に解放されて素早くスケールインすることができる。プロビジョニングに使用できる能力は、利用者には、多くの場合、任意の量をいつでも無制限に購入できるように見える。
測定されるサービス:クラウド・システムは、計測機能を活用することによって、サービスの種類(例えば、ストレージ、処理、帯域幅、およびアクティブなユーザのアカウント)に適した抽象レベルで、リソースの使用を自動的に制御および最適化する。リソースの使用量は監視、制御、および報告することができ、利用されるサービスのプロバイダと利用者の両方に透明性が提供される。
【0142】
サービス・モデルは、次のとおりである。
SaaS(Software as a Service):利用者に提供される能力は、クラウド・インフラストラクチャ上で稼働しているプロバイダのアプリケーションの利用である。それらのアプリケーションは、Webブラウザ(例えば、Webベースの電子メール)などのシン・クライアント・インターフェイスを介して、さまざまなクライアント・デバイスからアクセスできる。利用者は、ネットワーク、サーバ、オペレーティング・システム、ストレージ、または個々のアプリケーション機能も含む基盤になるクラウド・インフラストラクチャを、限定的なユーザ固有のアプリケーション構成設定を行う可能性を除き、管理することも制御することもない。
PaaS(Platform as a Service):利用者に提供される能力は、プロバイダによってサポートされるプログラミング言語およびツールを使用して作成された、利用者が作成または取得したアプリケーションをクラウド・インフラストラクチャにデプロイすることである。利用者は、ネットワーク、サーバ、オペレーティング・システム、またはストレージを含む基盤になるクラウド・インフラストラクチャを管理することも制御することもないが、デプロイされたアプリケーション、および場合によってはアプリケーション・ホスティング環境の構成を制御する。
IaaS(Infrastructure as a Service):利用者に提供される能力は、処理、ストレージ、ネットワーク、およびその他の基本的な計算リソースのプロビジョニングであり、利用者は、オペレーティング・システムおよびアプリケーションを含むことができる任意のソフトウェアをデプロイして実行できる。利用者は、基盤になるクラウド・インフラストラクチャを管理することも制御することもないが、オペレーティング・システム、ストレージ、およびデプロイされたアプリケーションを制御し、場合によっては、選択されたネットワーク・コンポーネント(例えば、ホスト・ファイアウォール)を限定的に制御する。
【0143】
デプロイメント・モデルは、次のとおりである。
プライベート・クラウド:このクラウド・インフラストラクチャは、ある組織のためにのみ運用される。この組織またはサード・パーティによって管理することができ、オンプレミスまたはオフプレミスに存在することができる。
コミュニティ・クラウド:このクラウド・インフラストラクチャは、複数の組織によって共有され、関心事(例えば、任務、セキュリティ要件、ポリシー、およびコンプライアンスに関する考慮事項)を共有している特定のコミュニティをサポートする。これらの組織またはサード・パーティによって管理することができ、オンプレミスまたはオフプレミスに存在することができる。
パブリック・クラウド:このクラウド・インフラストラクチャは、一般ユーザまたは大規模な業界団体が使用できるようになっており、クラウド・サービスを販売する組織によって所有される。
ハイブリッド・クラウド:このクラウド・インフラストラクチャは、データとアプリケーションの移植を可能にする標準化された技術または独自の技術(例えば、クラウド間の負荷バランスを調整するためのクラウド・バースト)によって固有の実体を残したまま互いに結合された2つ以上のクラウド(プライベート、コミュニティ、またはパブリック)の複合である。
クラウド・コンピューティング環境は、ステートレス、疎結合、モジュール性、および意味的相互運用性に重点を置いたサービス指向の環境である。クラウド・コンピューティングの中心になるのは、相互接続されたノードのネットワークを含むインフラストラクチャである。
ここで図9を参照すると、例示的なクラウド・コンピューティング環境50が示されている。図示されているように、クラウド・コンピューティング環境50は、クラウドの利用者によって使用されるローカル・コンピューティング・デバイス、例えば、パーソナル・デジタル・アシスタント(PDA:personal digital assistant)または携帯電話54A、デスクトップ・コンピュータ54B、ラップトップ・コンピュータ54C、または自動車コンピュータ・システム54N、あるいはその組み合わせなどが通信できる1つまたは複数のクラウド・コンピューティング・ノード10を含む。ノード10は、互いに通信してよい。ノード10は、1つまたは複数のネットワーク内で、本明細書において前述されたプライベート・クラウド、コミュニティ・クラウド、パブリック・クラウド、またはハイブリッド・クラウド、あるいはこれらの組み合わせなどに、物理的または仮想的にグループ化されてよい(図示されていない)。これによって、クラウド・コンピューティング環境50は、クラウドの利用者がローカル・コンピューティング・デバイス上でリソースを維持する必要のないインフラストラクチャ、プラットフォーム、またはSaaS、あるいはその組み合わせを提供できる。図9に示されたコンピューティング・デバイス54A~Nの種類は、例示のみが意図されており、コンピューティング・ノード10およびクラウド・コンピューティング環境50は、任意の種類のネットワークまたはネットワーク・アドレス可能な接続(例えば、Webブラウザを使用した)あるいはその両方を経由して任意の種類のコンピュータ制御デバイスと通信することができると理解される。
【0144】
ここで図10を参照すると、クラウド・コンピューティング環境50(図9)によって提供される機能的抽象レイヤのセットが示されている。図10に示されたコンポーネント、レイヤ、および機能は、例示のみが意図されており、本発明の実施形態がこれらに限定されないということが、あらかじめ理解されるべきである。図示されているように、次のレイヤおよび対応する機能が提供される。
【0145】
ハードウェアおよびソフトウェア・レイヤ60は、ハードウェア・コンポーネントおよびソフトウェア・コンポーネントを含む。ハードウェア・コンポーネントの例としては、メインフレーム61、RISC(Reduced Instruction Set Computer)アーキテクチャベースのサーバ62、サーバ63、ブレード・サーバ64、ストレージ・デバイス65、ならびにネットワークおよびネットワーク・コンポーネント66が挙げられる。一部の実施形態では、ソフトウェア・コンポーネントは、ネットワーク・アプリケーション・サーバ・ソフトウェア67およびデータベース・ソフトウェア68を含む。
【0146】
仮想化レイヤ70は、仮想サーバ71、仮想ストレージ72、仮想プライベート・ネットワークを含む仮想ネットワーク73、仮想アプリケーションおよびオペレーティング・システム74、ならびに仮想クライアント75の仮想的実体を提供できる抽象レイヤを備える。
【0147】
一例を挙げると、管理レイヤ80は、以下で説明される機能を提供することができる。リソース・プロビジョニング81は、クラウド・コンピューティング環境内でタスクを実行するために利用される計算リソースおよび他のリソースの動的調達を行う。計測および価格設定82は、クラウド・コンピューティング環境内でリソースが利用される際のコスト追跡、およびそれらのリソースの利用に対する請求書の作成と送付を行う。一例を挙げると、それらのリソースは、アプリケーション・ソフトウェア・ライセンスを含んでよい。セキュリティは、クラウドの利用者およびタスクのID検証を行うとともに、データおよびその他のリソースの保護を行う。ユーザ・ポータル83は、クラウド・コンピューティング環境へのアクセスを利用者およびシステム管理者に提供する。サービス・レベル管理84は、必要なサービス・レベルを満たすように、クラウドの計算リソースの割り当てと管理を行う。サービス水準合意(SLA:Service Level Agreement)計画および実行85は、今後の要求が予想されるクラウドの計算リソースの事前取り決めおよび調達を、SLAに従って行う。
【0148】
ワークロード・レイヤ90は、クラウド・コンピューティング環境で利用できる機能の例を示している。このレイヤから提供されてよいワークロードおよび機能の例としては、マッピングおよびナビゲーション91、ソフトウェア開発およびライフサイクル管理92、仮想クラスルーム教育の配信93、データ解析処理94、トランザクション処理95、および照会拡張処理96が挙げられる。
【0149】
本発明のさまざまな実施形態の説明は、例示の目的で提示されているが、網羅的であることは意図されておらず、開示された実施形態に制限されない。説明された実施形態の範囲および思想を逸脱することなく多くの変更および変形が可能であることは、当業者にとって明らかであろう。本明細書で使用された用語は、実施形態の原理、実際の適用、または市場で見られる技術を超える技術的改良を最も適切に説明するため、または他の当業者が本明細書で開示された実施形態を理解できるようにするために選択されている。
【0150】
本発明の範囲から逸脱することなく、前述の内容に対して改善および変更が行われ得る。
図1
図2A
図2B
図2C
図3
図4
図5
図6
図7
図8
図9
図10