(57)【特許請求の範囲】
【請求項１】
プロセッサと、前記プロセッサによって実行されるアプリケーションを含むメモリとを含むコンピューティングシステムであって、
前記アプリケーションが、エンティティーオーグメンタシステムを含み、
前記エンティティーオーグメンタシステムが、
コンピュータ可読エンティティーを受け取って、前記エンティティーを、前記エンティティーに基づいてソーステーブルのインデックス上で検索を行うように構成されている検索システムへ送信する入力レシーバコンポーネントであって、エンティティーが、人、場所、または物を表す文字列であり、前記エンティティーによってそれぞれ表されている人、場所、または物が、属性を有する、入力レシーバコンポーネントと、
前記入力レシーバコンポーネントが前記エンティティーを受け取ったことに応答して、前記属性に関するそれぞれの属性値を前記検索システムから受け取り、前記属性値がそれぞれ、前記エンティティーに対応する、出力コンポーネントであって、前記属性値を受け取ったことに応答して前記属性値を出力する出力コンポーネントと、を含み、
前記コンピューティングシステムが前記プロセッサと通信状態にあるディスプレイをさらに含み、
前記アプリケーションが、スプレッドシートアプリケーションであり、
前記スプレッドシートアプリケーションが、スプレッドシートが前記ディスプレイ上に提示されるようにし、
前記スプレッドシートが、前記エンティティーによってそれぞれ投入される複数のフィールドを含み、
前記出力コンポーネントが、前記属性値で前記スプレッドシートを増補するオーグメンタコンポーネントを含む、コンピューティングシステム。
【請求項２】
前記オーグメンタコンポーネントが、前記スプレッドシートを増補する際に、前記スプレッドシートの行または列のうちの１つに前記属性値を投入する、請求項１に記載のコンピューティングシステム。
【請求項３】
前記プロセッサと通信状態にあるディスプレイをさらに含み、
前記アプリケーションが、ウェブブラウザまたはＥメールアプリケーションのうちの１つであり、
前記エンティティーが、前記ディスプレイ上に表示されるウェブページ、または前記ディスプレイ上に表示されるＥメール内に含まれ、
前記入力レシーバコンポーネントが、前記ウェブページまたは前記Ｅメールのうちの前記１つからの前記エンティティーの選択の受け取りに応答して前記エンティティーを受け取る、請求項１に記載のコンピューティングシステム。
【請求項４】
プロセッサと、前記プロセッサによって実行されるアプリケーションを含むメモリとを含むコンピューティングシステムであって、
前記アプリケーションが、エンティティーオーグメンタシステムを含み、
前記エンティティーオーグメンタシステムが、
コンピュータ可読エンティティーを受け取って、前記エンティティーを、前記エンティティーに基づいてソーステーブルのインデックス上で検索を行うように構成されている検索システムへ送信する入力レシーバコンポーネントであって、エンティティーが、人、場所、または物を表す文字列であり、前記エンティティーによってそれぞれ表されている人、場所、または物が、属性を有する、入力レシーバコンポーネントと、
前記入力レシーバコンポーネントが前記エンティティーを受け取ったことに応答して、前記属性に関するそれぞれの属性値を前記検索システムから受け取り、前記属性値がそれぞれ、前記エンティティーに対応する、出力コンポーネントであって、前記属性値を受け取ったことに応答して前記属性値を出力する出力コンポーネントと、を含み、
前記コンピューティングシステムがディスプレイをさらに含み、
前記出力コンポーネントが、複数のテーブルスニペットを前記検索システムから受け取る表示コンポーネントを含み、
前記テーブルスニペットが、前記エンティティーに関連しているものとして前記検索システムによって識別されたそれぞれのソーステーブルを要約し、
前記表示コンポーネントが、前記テーブルスニペットを前記ディスプレイ上に表示する、コンピューティングシステム。
【請求項５】
前記出力コンポーネントが、オーグメンタコンポーネントをさらに含み、
前記入力レシーバコンポーネントが、前記テーブルスニペットのうちの１つのテーブルスニペットの選択を受け取り、
前記属性値が、前記テーブルスニペットによって要約されているソーステーブルによって含まれており、
前記オーグメンタコンポーネントが、前記テーブルスニペットの前記選択の受け取りに応答して前記それぞれの属性値で前記エンティティーを増補する、請求項４に記載のコンピューティングシステム。
【請求項６】
前記オーグメンタコンポーネントが、前記テーブルスニペット内に表されている列が前記テーブルスニペットから選択された旨の表示を受け取り、
前記オーグメンタコンポーネントが、前記列のコンテンツを、前記プロセッサによって実行されているアプリケーションによって提示されているテーブルに加える、請求項５に記載のコンピューティングシステム。
【請求項７】
前記入力レシーバコンポーネントがさらに、前記属性の選択を受け取り、
前記入力レシーバコンポーネントが、前記エンティティーとともに前記属性のアイデンティティーを前記検索システムへ送信する、請求項１に記載のコンピューティングシステム。
【請求項８】
クライアントコンピューティングデバイスにおいて実行される方法であって、
マシン可読エンティティーを受け取るステップであり、エンティティーが、人、場所、または物を表す文字列であり、前記エンティティーによって表されている人、場所、または物が、属性を有する、ステップと、
前記エンティティーを受け取ったことに応答して、前記エンティティーを検索システムへ送信するステップであり、前記検索システムが、前記エンティティーに基づいて、ネットワークアクセス可能なテーブルのインデックス上で検索を実行するように構成されている、ステップと、
エンティティーのリスト内の前記エンティティーに関するそれぞれの属性値を前記検索システムから受け取るステップであり、前記属性値が、前記属性の値である、ステップと、
前記属性値を受け取ったことに応答して、前記属性値をディスプレイ上に表示するステップであり、前記属性値がそれぞれ、前記エンティティーに対してグラフィカルな関係で表示されて、前記エンティティーによって表されている前記人、場所、または物が前記それぞれの属性値を有するということを視覚的に示す、ステップとを含み、
前記エンティティーを受け取るステップが、
前記クライアントコンピューティングデバイスによって実行されているアプリケーションのグラフィカルユーザインターフェース内に前記エンティティーを表示するステップと、
前記グラフィカルユーザインターフェースとの対話を介して前記エンティティーの選択を受け取るステップとを含み、
前記対話が、
マウスポインタを介した前記エンティティーの選択、
前記クライアントコンピューティングデバイスのタッチセンシティブディスプレイ上で実行されるジェスチャーを介した前記エンティティーの選択、または
前記エンティティーを識別する話声コマンドのうちの１つである、方法。
【請求項９】
クライアントコンピューティングデバイスにおいて実行される方法であって、
マシン可読エンティティーを受け取るステップであり、エンティティーが、人、場所、または物を表す文字列であり、前記エンティティーによって表されている人、場所、または物が、属性を有する、ステップと、
前記エンティティーを受け取ったことに応答して、前記エンティティーを検索システムへ送信するステップであり、前記検索システムが、前記エンティティーに基づいて、ネットワークアクセス可能なテーブルのインデックス上で検索を実行するように構成されている、ステップと、
エンティティーのリスト内の前記エンティティーに関するそれぞれの属性値を前記検索システムから受け取るステップであり、前記属性値が、前記属性の値である、ステップと、
前記属性値を受け取ったことに応答して、前記属性値をディスプレイ上に表示するステップであり、前記属性値がそれぞれ、前記エンティティーに対してグラフィカルな関係で表示されて、前記エンティティーによって表されている前記人、場所、または物が前記それぞれの属性値を有するということを視覚的に示す、ステップとを含み、
前記エンティティーを受け取るステップが、
前記クライアントコンピューティングデバイスによって実行されているスプレッドシートアプリケーションのグラフィカルユーザインターフェース内にテーブル形式データを表示するステップであって、前記テーブル形式データが、前記グラフィカルユーザインターフェースのセル内に提示され、前記セル内のセルのサブセットが、前記エンティティーをそれぞれ含む、ステップと、
セルの前記サブセットの選択を受け取るステップと、
前記セルの前記サブセットに基づいて検索が実行されることになる旨の表示を受け取るステップと、を含み、前記属性値を前記ディスプレイ上に表示するステップが、新たな行または列で前記テーブル形式データを増補するステップを含み、前記新たな行または列が、前記属性値を投入される、方法。
【請求項１０】
クライアントコンピューティングデバイスにおいて実行される方法であって、
マシン可読エンティティーを受け取るステップであり、エンティティーが、人、場所、または物を表す文字列であり、前記エンティティーによって表されている人、場所、または物が、属性を有する、ステップと、
前記エンティティーを受け取ったことに応答して、前記エンティティーを検索システムへ送信するステップであり、前記検索システムが、前記エンティティーに基づいて、ネットワークアクセス可能なテーブルのインデックス上で検索を実行するように構成されている、ステップと、
エンティティーのリスト内の前記エンティティーに関するそれぞれの属性値を前記検索システムから受け取るステップであり、前記属性値が、前記属性の値である、ステップと、
前記属性値を受け取ったことに応答して、前記属性値をディスプレイ上に表示するステップであり、前記属性値がそれぞれ、前記エンティティーに対してグラフィカルな関係で表示されて、前記エンティティーによって表されている前記人、場所、または物が前記それぞれの属性値を有するということを視覚的に示す、ステップとを含み、
前記エンティティーを前記検索システムへ送信したことに応答して、前記検索システムから複数の属性が受け取られ、前記複数の属性が、前記属性を含み、前記方法が、
前記複数の属性からの前記属性の選択を受け取るステップと、
前記複数の属性からの前記属性の前記選択を受け取ったことに応答して、前記属性を前記検索システムへ送信するステップと、
前記属性を前記検索システムへ送信したことに応答して、前記検索システムから前記属性値を受け取るステップと、をさらに含む、方法。
【請求項１１】
クライアントコンピューティングデバイスにおいて実行される方法であって、
マシン可読エンティティーを受け取るステップであり、エンティティーが、人、場所、または物を表す文字列であり、前記エンティティーによって表されている人、場所、または物が、属性を有する、ステップと、
前記エンティティーを受け取ったことに応答して、前記エンティティーを検索システムへ送信するステップであり、前記検索システムが、前記エンティティーに基づいて、ネットワークアクセス可能なテーブルのインデックス上で検索を実行するように構成されている、ステップと、
エンティティーのリスト内の前記エンティティーに関するそれぞれの属性値を前記検索システムから受け取るステップであり、前記属性値が、前記属性の値である、ステップと、
前記属性値を受け取ったことに応答して、前記属性値をディスプレイ上に表示するステップであり、前記属性値がそれぞれ、前記エンティティーに対してグラフィカルな関係で表示されて、前記エンティティーによって表されている前記人、場所、または物が前記それぞれの属性値を有するということを視覚的に示す、ステップとを含み、
前記エンティティーを前記検索システムへ送信したことに応答して、テーブルスニペットのランク付けされたリストを前記検索システムから受け取るステップであって、テーブルスニペットの前記ランク付けされたリスト内のそれぞれのテーブルスニペットが、ネットワーク接続を介してアクセス可能なそれぞれのソーステーブルを要約し、テーブルスニペットの前記ランク付けされたリスト内のそれぞれのテーブルスニペットが、
前記それぞれのソーステーブルに関するタイトル、
前記それぞれのソーステーブルのネットワークロケーション、および
前記それぞれのソーステーブルの代表的な部分を含む、ステップと、
テーブルスニペットの前記ランク付けされたリストを前記ディスプレイ上に表示するステップと、
テーブルスニペットの前記ランク付けされたリスト内の１つのテーブルスニペットの選択を受け取るステップであって、前記テーブルスニペットが、前記属性値を含むソーステーブルを要約する、ステップと、
前記テーブルスニペットの前記選択を受け取ったことに応答して、前記テーブルスニペットの前記選択を前記検索システムへ送信するステップと、
前記テーブルスニペットの前記選択を前記検索システムへ送信したことに応答して前記属性値を受け取るステップと
をさらに含む、方法。
【請求項１２】
プロセッサによって実行されたときに、
スプレッドシートアプリケーションのグラフィカルユーザインターフェース内にスプレッドシートを表示するステップであって、前記スプレッドシートが、テーブルを含み、前記テーブルが、エンティティーを含む列を含む、ステップと、
前記テーブル内の前記エンティティーの選択を受け取るステップと、
前記テーブル内で選択された前記エンティティーに基づいて検索が行われることになる旨の表示を受け取るステップと、
属性のアイデンティティーを受け取るステップと、
前記エンティティーおよび前記属性を検索システムへ送信するステップであって、前記検索システムが、前記エンティティーおよび前記属性に基づいて、コンピュータ可読テーブルを探す検索を実行するように構成されている、ステップと、
前記エンティティーおよび前記属性を前記検索システムへ送信したことに応答して、前記エンティティーにそれぞれ対応する前記属性の値を受け取るステップと、
前記属性の前記値を受け取ったことに応答して、前記スプレッドシート内の前記テーブルに別の列を加えるステップであって、前記別の列が、前記属性の前記値を含み、前記属性の前記値が、前記列内の前記エンティティーにそれぞれマップするように前記別の列内で配列される、ステップと、を含む行為を前記プロセッサに実行させる命令を含むコンピュータ可読ストレージメディア。
【発明の詳細な説明】
【技術分野】
【０００１】
[0001]  コンピュータ実行可能スプレッドシートアプリケーションは従来、そのユーザがテーブル形式データを編成および分析することを可能にするように構成されている。一般に、コンピュータ実行可能スプレッドシートアプリケーションのスプレッドシートは、行および列で配列されている多くのセルを含み、それぞれのセルは、それぞれの値（またはその他のセル内のデータに基づいて値を出力する関数）を保持することができる。スプレッドシートアプリケーションのユーザは、セルを選択し、そのセル内に含まれることになる新たな値を明示することによって、またはそのセルに関する値を算出するために使用される関数を修正することによって、そのセルのコンテンツを手動で修正することができる。
【背景技術】
【０００２】
[0002]  従来のスプレッドシートアプリケーションは、特に、それらのスプレッドシートアプリケーションによってサポートされている関数（およびそのような関数を呼び出すコマンド）にユーザが精通している場合に、テーブル形式データを編成および操作するのによく適している。一例においては、ユーザは、「ＳＵＭ」などのテキストコマンドを明記すること、およびその後に、合計内に含まれることが望ましい値を含むセルを識別することによって、それぞれの複数のセル内の値どうしが合計されるようにすることができる。
【発明の概要】
【発明が解決しようとする課題】
【０００３】
[0003]  しかしながら、従来のスプレッドシートアプリケーションにおいては、スプレッドシートアプリケーション内にまだロードされていないデータでテーブルを増補（拡張：Augment）することは困難であることがある。たとえば、初心者ユーザが、テーブルをスプレッドシートアプリケーション内にロードする場合があり、この場合、そのテーブルは、エンティティーの列を含んでいる（たとえば、この場合、エンティティーは、人、場所、または物を表す文字列である）。したがって、一例においては、エンティティーの列は、都市名、州名、会社名などを含むことがある。確認することができるように、人、場所、または物は、属性によって記述されることがある。たとえば、カリフォルニアという州は、（たとえば、特定の年における）人口、（たとえば、数年にわたる）平均降水量などの多くの属性によって記述されることがあり、それらの属性は、それぞれそれらに対応する値を有する。従来は、たとえば、それぞれのエンティティーに対応する属性値の列を加えるようにテーブルを増補するためには、ユーザは、（たとえば、従来の検索エンジンの使用を通じて）所望の属性値の検索を実行し、それらの属性値を含むデータソース（たとえば、テーブル、またはテーブルのセット）を識別し、そのデータソースが信頼できるということを特定し、次いで、その識別されたソースからテーブル内の適切なロケーションへデータを手動でトランスポートしなければならない。これは時間のかかる苛立たしいタスクとなることがあるということを確認することができる。
【課題を解決するための手段】
【０００４】
[0004]  以降は、本明細書においてさらに詳細に記述されている主題の簡単な概要である。この概要は、特許請求の範囲の範疇に関して限定することを意図されているものではない。
【０００５】
[0005]  本明細書において記述されているのは、データファインディングデータ（DFD）検索に関連するさまざまなテクノロジー、ならびにＤＦＤ検索中に識別されたデータ（たとえば、テーブル形式データ）を閲覧および操作するためのメカニズムである。例示的な一実施形態においては、クライアントコンピューティングデバイス上で実行されるアプリケーションは、複数のマシン可読エンティティーを含むことがあり、エンティティーは、人、場所、または物を表す文字列である。たとえば、そのアプリケーションは、スプレッドシートアプリケーションであることがあり、エンティティーは、スプレッドシートアプリケーション内にロードされるテーブルの列に含まれている場合がある。次いでクライアントコンピューティングデバイスは、エンティティーが選択された旨の表示を（たとえば、ユーザ、またはクライアントコンピューティングデバイス上で実行されている別のプログラムから）受け取ることができる。さらに、クライアントコンピューティングデバイスは、ユーザまたはプログラムによって明示された属性（たとえば、エンティティーによって表されている人、場所、または物の属性を表す文字列）を（任意選択により）受け取ることができる。
【０００６】
[0006]  次いでアプリケーションは、エンティティー（および属性）を検索システムへ送信することができる。たとえば、アプリケーションは、エンティティーを含むクエリーを構築することができる。別の例においては、アプリケーションは、エンティティーおよび属性を検索システムへ送信することができ、検索システムが、クエリーを構築することができる。検索システムは、クエリーに基づいてテーブルのインデックス上で検索を実行する。検索システムは、クエリーを形成するために使用されるエンティティーに関連している可能性がある属性および／または属性値（ならびに任意選択により、識別された属性の名前）を含むソーステーブルを識別することができ、そのソーステーブルの少なくとも一部分を、クライアントコンピューティングデバイス上で実行されているアプリケーションへ送信することができる。例示的な一実施形態においては、検索システムは、ユーザによって識別された属性を受け取った場合には、明示されているエンティティーの少なくともサブセットを含むソーステーブルを識別することができ、明示されている属性の値をそのソーステーブルから抽出することができ、かかる値を、クライアントコンピューティングデバイス上で実行されているアプリケーションへ送信することができる。次いでそれらの属性値を、エンティティーと適切に相関付けて、ディスプレイ上に提示すること、またはコンピュータ可読ストレージメディア内のテーブルに格納することが可能である。したがって、エンティティーがはじめに選択された元であるテーブルを、ユーザによって識別された属性の値で比較的すばやく増補することができる。
【０００７】
[0007]  別の例示的な実施形態においては、エンティティー（および任意選択により属性）を受け取ったことに応答して、検索システムは、それらのエンティティーに関する属性の値を含むソーステーブルを識別することができ、そのソーステーブルを要約するテーブルスニペット（table snippet）を生成することができる。テーブルスニペットは、たとえば、ソーステーブルのタイトル、ソーステーブルのソースロケーション（たとえば、ソーステーブルを含むウェブページのＵＲＬ）、およびそのテーブルの代表的な部分を含むことができる。テーブルスニペットを、クライアントコンピューティングデバイス上で実行されているコンピュータ実行可能アプリケーションへ送信することができ、そのコンピュータ実行可能アプリケーションは、テーブルスニペットを、ユーザによるレビューのためにディスプレイ上に表示することができる。ユーザは、テーブルスニペットをレビューして、（そのテーブルスニペットによって要約されている）ソーステーブルのいずれかのコンテンツが、スプレッドシートアプリケーション内にロードされるテーブル内に組み込まれることになるかどうか（たとえば、スプレッドシートアプリケーション内にロードされるテーブル内に列が加えられることになるかどうか）を特定することができる。たとえば、テーブルスニペットは、そのスニペットにおいて要約されている列に対してグラフィカルな関係で配置されている選択可能なボタンを含むことができる。
【０００８】
[0008]  選択可能なボタンがユーザによって選択されたことに応答して、列内の属性値をスプレッドシートアプリケーション内にインポートして、テーブル内のエンティティーと適切に位置合わせし、その結果、上述の属性値を含む新たな列でテーブルを増補することができる。テーブルスニペットは、ハイパーリンクまたはボタンをさらに含むことができ、そのハイパーリンクまたはボタンは、ユーザによって選択された場合には、ソーステーブルのさらに多くがユーザへ提示されるようにするか、またはソーステーブルを含むウェブページをブラウザにロードさせる。
【０００９】
[0009]  上述の概要は、本明細書において論じられているシステムおよび／または方法のいくつかの態様についての基本的な理解を提供するために、簡略化された概要を提示している。この概要は、本明細書において論じられているシステムおよび／または方法の広範な概観ではない。鍵となる／決定的に重要な要素を識別すること、またはそのようなシステムおよび／もしくは方法の範囲を線引きすることは意図されていない。その唯一の目的は、以降で提示されるさらに詳細な記述への前置きとして、いくつかのコンセプトを簡略化された形態で提示することである。
【図面の簡単な説明】
【００１０】
【図１】[0010]データファインディングデータ（DFD）検索を実行するように構成されている例示的なシステムの機能ブロック図である。
【図２】[0011]識別されたエンティティーを、それらに対応する属性値で増補するように構成されている例示的なエンティティーオーグメンタシステムの機能ブロック図である。
【図３】[0012]受け取られたエンティティーに基づいてソーステーブルを識別するように構成されている例示的な検索システムの機能ブロック図である。
【図４】[0013]スプレッドシートアプリケーション内にロードされるテーブルにおける複数のエンティティーの選択を示すスプレッドシートアプリケーションの例示的なグラフィカルユーザインターフェースを示す図である。
【図５】[0014]選択されたエンティティーに基づくＤＦＤ検索の開始を容易にするスプレッドシートアプリケーションの例示的なグラフィカルユーザインターフェースを示す図である。
【図６】[0015]属性値でのエンティティーの増補を示すスプレッドシートアプリケーションの例示的なグラフィカルユーザインターフェースを示す図である。
【図７】[0016]スプレッドシート内のセルがマウスポインタを上に重ねられたことに応答して提示することができる例示的なデータを示すスプレッドシートアプリケーションの例示的なグラフィカルユーザインターフェースを示す図である。
【図８】[0017]ディスプレイ上でのテーブルスニペットの提示を示すスプレッドシートアプリケーションの例示的なグラフィカルユーザインターフェースを示す図であり、それらのテーブルスニペットは、選択されたエンティティーに関連した属性値を含むそれぞれのソーステーブルを要約している。
【図９】[0018]例示的なテーブルスニペットを示す図である。
【図１０】[0019]コンテンツページの例示的なグラフィカルユーザインターフェースを示す図であり、ＤＦＤ検索の実行を開始するために、そのコンテンツページ内のエンティティーを選択することができる。
【図１１】[0020]ＤＦＤ検索の実行を容易にする検索エンジンバーティカルの例示的なグラフィカルユーザインターフェースを示す図である。
【図１２】[0021]人、場所、または物を表すグラフィカルオブジェクトをドラッグアンドドロップすることを介してＤＦＤ検索の実行を容易にする例示的なグラフィカルユーザインターフェースを示す図である。
【図１３】[0022]ＤＦＤ検索を実行するための例示的な方法を示す流れ図である。
【図１４】[0023]複数のエンティティーを含むテーブルを、それらのエンティティーの属性のそれぞれの値で増補するための例示的な方法を示す流れ図である。
【図１５】[0024]属性のランク付けされたリストをディスプレイ上に提示するための例示的な方法を示す流れ図であり、属性のそのランク付けされたリストは、複数の識別されたエンティティーに関連しているとわかる。
【図１６】[0025]選択されたエンティティーに関連しているとわかったソーステーブルをそれぞれ要約するテーブルスニペットを生成するための例示的な方法を示す流れ図である。
【図１７】[0026]属性のランク付けされたリストにおける属性の選択に基づいてテーブル形式データを増補するための例示的な方法を示す流れ図である。
【図１８】[0027]例示的なコンピューティングシステムを示す図である。
【発明を実施するための形態】
【００１１】
[0028]  次いで、データファインディングデータ（DFD）検索に関連するさまざまなテクノロジーについて、図面を参照しながら記述し、それらの図面を通じて、同様の要素を指すために同様の参照番号が使用されている。以降の記述においては、説明の目的から、１つまたは複数の態様の徹底的な理解を提供するために多くの具体的な詳細が示されている。しかしながら、これらの具体的な詳細を伴わずにそのような態様を実施することができるということは明らかであると言える。その他の場合においては、１つまたは複数の態様について記述することを容易にするために、よく知られている構造およびデバイスがブロック図の形態で示されている。さらに、特定のシステムコンポーネントによって実行されるものとして記述されている機能を複数のコンポーネントによって実行することができるということを理解されたい。同様に、たとえば、１つのコンポーネントを、複数のコンポーネントによって実行されるものとして記述されている機能を実行するように構成することができる。
【００１２】
[0029]  その上、「または（もしくは）」という用語は、排他的な「または（もしくは）」よりもむしろ包括的な「または（もしくは）」を意味することを意図されている。すなわち、別段の内容が明示されない限り、または文脈から明らかでない限り、「Ｘは、Ａまたは（もしくは）Ｂを採用する」というフレーズは、自然な包括的な順列のうちのいずれをも意味することを意図されている。すなわち、「Ｘは、Ａまたは（もしくは）Ｂを採用する」というフレーズは、「Ｘは、Ａを採用する」、「Ｘは、Ｂを採用する」、または「Ｘは、ＡおよびＢの両方を採用する」という例のうちのいずれによっても満たされる。加えて、本出願および添付の特許請求の範囲において使用されている「ａ」および「ａｎ」という冠詞は一般に、別段の内容が明示されない限り、または単数形へ導かれることが文脈から明らかでない限り、「１つまたは複数の」を意味すると解釈されるべきである。
【００１３】
[0030]  さらに、本明細書において使用される際には、「コンポーネント」および「システム」という用語は、プロセッサによって実行されたときに特定の機能が実行されるようにするコンピュータ実行可能命令を伴って構成されているコンピュータ可読データストレージを包含することを意図されている。それらのコンピュータ実行可能命令は、ルーチン、関数などを含むことができる。コンポーネントまたはシステムを単一のデバイス上に局在させること、またはいくつかのデバイスにわたって分散させることが可能であるということも理解されたい。さらに、本明細書において使用される際には、「例示的な」という用語は、何かの例示または例としての役割を果たすことを意味することを意図されており、好みを示すことを意図されてはいない。
【００１４】
[0031]  図１を参照すると、ＤＦＤ検索の実行を容易にする例示的なシステム１００が示されている。ＤＦＤとは、検索を実行するために採用されるクエリーが、アプリケーション内にロードされるデータに基づく検索を指す。したがって、ＤＦＤ検索においては、アプリケーション内にロードされるデータは、関連したデータを見つけるために採用される。
【００１５】
[0032]  システム１００は、クライアントコンピューティングデバイス１０２を含み、クライアントコンピューティングデバイス１０２は、デスクトップコンピューティングデバイス、モバイルコンピューティングデバイス（たとえば、ラップトップコンピューティングデバイス、モバイル電話、タブレットコンピューティングデバイス、ウェアラブルコンピューティングデバイスなど）、またはその他の適切なクライアントコンピューティングデバイスであること、またはそれらを含むことが可能である。システム１００は、ネットワーク１０６を介してクライアントコンピューティングデバイス１０２と通信状態にあるサーバコンピューティングデバイス１０４をさらに含む。ネットワーク１０６は、インターネット、セルラーネットワークなどであることが可能である。
【００１６】
[0033]  クライアントコンピューティングデバイス１０２は、クライアントプロセッサ１０８およびクライアントメモリ１１０を含み、クライアントプロセッサ１０８は、クライアントメモリ１１０内にロードされている命令を実行するように構成されている。クライアントメモリ１１０には、内部にアプリケーション１１２をロードすることができ、それによってクライアントプロセッサ１０８は、アプリケーション１１２を実行することができる。例示的な一実施形態においては、アプリケーション１１２は、スプレッドシートアプリケーションであることが可能である。別の例においては、アプリケーション１１２は、スプレッドシートアプリケーションをロードするように構成されているウェブブラウザであることが可能である。しかしながら、アプリケーション１１２は、スプレッドシートアプリケーション、またはスプレッドシートアプリケーションをロードすることができるアプリケーション（たとえば、ブラウザ）であることに限定されないということを理解されたい。たとえば、アプリケーション１１２は、ワードプロセッシングアプリケーション、コンテンツをユーザに提示するように構成されているアプリケーション（たとえば、ニュースアプリケーション）、専用のＥメールアプリケーション、インスタントメッセージングアプリケーション、ビデオゲーム、ソーシャルネットワーキングアプリケーションなどであることが可能である。
【００１７】
[0034]  アプリケーション１１２は、エンティティーオーグメンタシステム（entity augmentor system）１１４を含む。簡単に言えば、アプリケーション１１２には、内部に複数のエンティティーをロードすることができ、エンティティーオーグメンタシステム１１４は、それらのエンティティーの属性の値の取り出しを容易にする。より詳細には、エンティティーは、人、場所、または物を表すコンピュータ可読文字列である。非限定的な例においては、アプリケーション１１２は、内部にテーブルがロードされているスプレッドシートアプリケーションであることが可能であり、そのテーブルの列は、国を識別するエンティティーを含んでいる。エンティティーオーグメンタシステム１１４は、それらの国の属性（たとえば、人口、平均温度、国内総生産など）の値の取り出しを容易にする。
【００１８】
[0035]  サーバコンピューティングデバイス１０４は、サーバプロセッサ１１６およびサーバメモリ１１８を含み、サーバプロセッサ１１６は、サーバメモリ１１８内にロードされている命令を実行する。サーバメモリ１１８は、エンティティーオーグメンタシステム１１４から受け取られた複数のエンティティー（および任意選択により属性）に基づいてＤＦＤ検索の実行を容易にする検索システム１２０を含むことができる。サーバコンピューティングデバイス１０４は、インデックス１２４を含むデータストア１２２を含むか、またはデータストア１２２へのアクセスを有し、インデックス１２４は、ソーステーブルの検索可能なインデックスである（たとえば、ソーステーブルは、２次元のテーブルまたは多次元のテーブルであることが可能である）。インデックス１２４によってインデックス付けされたソーステーブルは、ネットワークを介してアクセス可能とすることができる。たとえば、ソーステーブルは、インターネットを介してアクセス可能なウェブページ上のテーブルであることが可能である。したがって、検索システム１２０は、エンティティーオーグメンタシステム１１４から複数のエンティティー（および任意選択により属性）を受け取ることができ、エンティティーに関連している１つまたは複数のソーステーブルを識別するためにインデックス１２４上で検索を実行することができる。たとえば、識別された１つまたは複数のソーステーブルは、受け取られたエンティティーの少なくともサブセットと、受け取られたエンティティーのそのサブセットにそれぞれが対応する属性値を含む行または列とを含むことができる。
【００１９】
[0036]  図１において示されているシステム１００のアーキテクチャーは例示的なものであるということを理解されたい。たとえば、検索システム１２０は、クライアントコンピューティングデバイス１０２上のクライアントメモリ１１０内にロードされているアプリケーション１１２の一部分であることが可能である。別の例においては、インデックス１２４を含むデータストア１２２は、クライアントコンピューティングデバイス１０２にとってローカルなものであることが可能である。またさらに別の例においては、エンティティーオーグメンタシステム１１４をサーバメモリ１１８内に含めることができる。またさらに、エンティティーオーグメンタシステム１１４、検索システム１２０、および／またはインデックス１２４を、クライアントコンピューティングデバイス１０２と、サーバコンピューティングデバイス１０４との間において分散させることができる。
【００２０】
[0037]  次いで、システム１００の例示的なオペレーションについて示す。クライアントメモリ１１０内にロードされてクライアントプロセッサ１０８によって実行されるアプリケーション１１２は、内部に複数のエンティティーを有することができ、それらのエンティティーは、たとえば、クライアントコンピューティングデバイス１０２のディスプレイ（図示せず）上に表示することができる。たとえば、アプリケーション１１２は、スプレッドシートアプリケーションであることが可能であり、そのスプレッドシートアプリケーションのスプレッドシートの列内には、複数のエンティティーを含めることができる。ユーザは、クライアントコンピューティングデバイス１０２のための入力メカニズム（たとえば、マウス、タッチセンシティブディスプレイなど）の利用を通じて、複数のエンティティーを選択することができ、アプリケーション１１２は、複数のエンティティーが選択された旨の表示を受け取ることができる。次いでエンティティーオーグメンタシステム１１４は、複数のエンティティーに基づいてＤＦＤ検索が行われることになる旨の表示を受け取ることができる。たとえば、エンティティーオーグメンタシステム１１４は、ユーザにとって関心がある複数のエンティティーおよび（任意選択により）属性を受け取ることができる。
【００２１】
[0038]  表示を受け取ったことに応答して、エンティティーオーグメンタシステム１１４は、例示的な一実施形態においては、ＤＦＤ検索を実行するために使用することができるクエリーを構築することができる。次いで、エンティティーオーグメンタシステム１１４は、ネットワークを介してサーバコンピューティングデバイス１０４へクエリーを送信することをクライアントコンピューティングデバイス１０２に行わせることができる。クエリーは、たとえば、ユーザによって選択されたエンティティーおよび属性を含むことができる。別の例においては、エンティティーオーグメンタシステム１１４は、（クエリーとして形成されていない）エンティティーおよび属性がサーバコンピューティングデバイス１０４へ送信されるようにすることができる。
【００２２】
[0039]  サーバ１０４は、クライアントコンピューティングデバイス１０４からデータを受け取り、そのデータは、検索システム１２０に提供される。検索システム１２０は、クエリーとしてフォーマット設定されていないエンティティーを受け取った場合には、それらのエンティティー（および任意選択により、ユーザによって明示された属性）に基づいてクエリーを構築することができる。検索システム１２０は、そのクエリーに基づいてインデックス１２４を検索する。検索システム１２０は、インデックス１２４上での検索の実行に基づいて、クエリーに関連している、ひいてはエンティティーに関連している少なくとも１つのソーステーブルを識別する。たとえば、その少なくとも１つのソーステーブルは、複数のエンティティーの少なくともサブセット、複数のエンティティーのうちのエンティティーの知られている同義語などを含むことができる。さらに、その少なくとも１つのソーステーブルは、複数のエンティティーの属性の値を含むことができ、その属性は、ユーザによって明示しておくことができる。
【００２３】
[0040]  少なくとも１つのテーブルを識別したことに応答して、検索システム１２０は、ネットワーク１０６を介してクライアントコンピューティングデバイス１０２へソーステーブルの少なくとも一部分を送信することをサーバコンピューティングデバイス１０４に行わせる。たとえば、検索システム１２０は、識別されたソーステーブル内の属性の値をクライアントコンピューティングデバイス１０２へ送信することをサーバコンピューティングデバイス１０４に行わせることができる。エンティティーオーグメンタシステム１１４は、検索システム１２０によって識別されたソーステーブルのその少なくとも一部分（たとえば、属性の値）を受け取り、属性のそれらの値で、ユーザによって選択された複数のエンティティーを増補する。たとえば、アプリケーション１１２がスプレッドシートアプリケーションであって、エンティティーがスプレッドシートの列内に含まれている場合には、エンティティーオーグメンタシステム１１４は、かかるスプレッドシートに列を加えて、その列に属性の値を投入することができ、属性のそれらの値は、それらのそれぞれのエンティティーと適切に位置合わせされる。エンティティーを、それらに対応するそれぞれの属性値で増補することのその他の例について、以降に示す。
【００２４】
[0041]  次いで、図２を参照すると、エンティティーオーグメンタシステム１１４の機能ブロック図が示されている。エンティティーオーグメンタシステム１１４は、（たとえば、ユーザ、またはクライアントコンピューティングデバイス１０２上で実行されているコンピュータ実行可能アプリケーションから）複数のエンティティーの選択を受け取る入力レシーバコンポーネント２０２を含む。加えて、任意選択により、入力レシーバコンポーネント２０２は、属性の選択を受け取ることができ、エンティティーオーグメンタシステム１１４は、それぞれの選択されたエンティティーに関する属性の値を取り出すことになる。入力レシーバコンポーネント２０２は、選択されたエンティティーおよび（提供されている場合には）属性をサーバコンピューティングデバイス１０４へ送信する送信機コンポーネント２０４を含むことができる。前に示したように、別の例示的な実施形態においては、送信機コンポーネント２０４を、選択されたエンティティーおよび属性に基づいてクエリーを構築するように構成することができ、クエリーをサーバコンピューティングデバイス１０４へ送信するようにさらに構成することができる。
【００２５】
[0042]  エンティティーオーグメンタシステム１１４は、出力コンポーネント２０６をさらに含み、出力コンポーネント２０６は、入力レシーバコンポーネント２０２がエンティティーの選択を受け取ったことに応答して、属性（たとえば、ユーザによって選択された属性）の値を受け取って、選択されたエンティティーに関する属性の値を出力するように構成されている。例示的な一実施形態においては、出力コンポーネント２０６は、ソーステーブルの少なくとも一部分を検索システム１２０から受け取ることができ、ソーステーブルのその部分には、属性の値が含まれている。出力コンポーネント２０６は、ソーステーブルの少なくともその部分をクライアントコンピューティングデバイス１０２のディスプレイ上に表示するように構成されている表示コンポーネント２０８を含む。ソーステーブルのその部分の表示によって、クライアントコンピューティングデバイス１０２のユーザは、たとえば、ソーステーブルの属性値をスプレッドシート内にロードする前に、ソーステーブルのコンテンツをレビューすることができる。
【００２６】
[0043]  本明細書においてさらに詳細に記述されるように、表示コンポーネント２０８は、ソーステーブルの多くの異なるパラメータを表示することができる。例示的な一実施形態においては、表示コンポーネント２０８は、検索システム１２０によって生成された検索結果のランク付けされたリストを受け取ることができ、検索結果のランク付けされたリストは、上述のソーステーブルを表す結果を含む。一例によれば、検索結果は、それぞれのソーステーブルのタイトル、それぞれのソーステーブルのロケーション（たとえば、URL）、ソーステーブル内の属性のアイデンティティー、ソーステーブル内のエンティティーのアイデンティティーなどを含むことができる。表示コンポーネント２０８は、たとえば、ユーザが、検索結果のランク付けされたリストから、ソーステーブルを表す検索結果を選択した旨の表示を受け取ることができる。そのような表示を受け取ったことに応答して、表示コンポーネント２０８は、ソーステーブルのさらに多くを表示することができ、ソースページを含むウェブページがブラウザによってロードされるようにすることができる、といった具合である。
【００２７】
[0044]  出力コンポーネント２０６は、選択されたエンティティーに基づいて検索システム１２０によって識別されたテーブルのプレビューを生成することができるプレビュージェネレータコンポーネント２１０を含むこともできる。上で示したように、表示コンポーネント２０８は、それぞれのソーステーブルを表す検索結果のランク付けされたリストを表示することができる。プレビュージェネレータコンポーネント２１０は、検索結果に関連して事前に定義されたアクション（たとえば、マウスポインタを重ねること、指で押したまま保持すること、音声コマンドを出力することなど）をユーザが実行した旨の表示を受け取ることができる。そのようなアクションを検知すると、プレビュージェネレータコンポーネント２１０は、クライアントコンピューティングデバイス１０２のディスプレイ上に提示されることになる検索結果によって表されるソーステーブルのプレビューを表示することができる。したがって、クライアントコンピューティングデバイス１０２のユーザは、検索結果のランク付けされたリスト内に表されるソーステーブルのプレビューを迅速に得ることができる。
【００２８】
[0045]  プレビュージェネレータコンポーネント２１０に関連している別の例においては、上で示したように、プレビュージェネレータコンポーネント２１０は、検索システム１２０によって識別されたソーステーブルのプレビューが、クライアントコンピューティングデバイス１０２のディスプレイ上に表示されるようにすることができる。さらに、プレビュージェネレータコンポーネント２１０は、ソーステーブルのプレビューを、そのプレビュー内で示されるデータを操作するためのコントロールを含むように生成することができ、たとえば、これらのコントロールは、ソーステーブルのプレビュー内の値を列によって、行によって、といった具合にソートすることを容易にすることができる。さらに、従来のスプレッドシートアプリケーションのフィルタリング機能をプレビュージェネレータコンポーネント２１０によって有効にすることができる。
【００２９】
[0046]  またさらに別の例においては、出力コンポーネント２０６は、複数のテーブルスニペットをサーバ１０４から受け取ることができ、それらのスニペットは、検索システム１２０によって識別されたそれぞれのソーステーブルを、送信機コンポーネント２０４によってサーバ１０４へ送信されたエンティティーに関連しているものとして要約する。スニペットは、たとえば、そのスニペットによって要約されているテーブルのタイトル、そのスニペットによって要約されているソーステーブルのロケーション、そのスニペットによって要約されているソーステーブル内に含まれている属性、およびソーステーブルのうちで、かかるソーステーブルのコンテンツを表す部分を識別するデータを含むことができる。したがって、クライアントコンピューティングデバイス１０２上のアプリケーション１１２に、クライアントコンピューティングデバイス１０２のユーザに提示するための属性値をロードさせる前に、ユーザには、ソーステーブルのコンテンツが信頼できるかどうかを確認する際にユーザを支援すること、属性を選択する上でユーザを支援することなどを行う情報を提供することができるということを確認することができる。
【００３０】
[0047]  さらに別の例においては、ユーザは、属性を識別することなくエンティティーを選択することができ、（エンティティーオーグメンタシステム１１４または検索システム１２０によって構築される）結果として生じるクエリーを、それに応じて構築することができる。サーバ１０４の検索システム１２０は、エンティティーに関連しているソーステーブルを識別することができ、識別されたソーステーブルは、いくつかの異なる属性（たとえば、インデックス１２４において示されているエンティティーに伴って最も頻繁に生じる属性）に関する値を含む。それらのいくつかの属性のアイデンティティーを、検索システム１２０によって出力して、表示コンポーネント２０８によって受け取ることができ、表示コンポーネント２０８は、それらのいくつかの属性をユーザに対して表面化させる（たとえば、そのような属性をクライアントコンピューティングデバイス１０２のディスプレイ上に表示する）。たとえば、表示コンポーネント２０８は、それらの属性を表示して、それらの属性が選択可能である旨を示すこと（たとえば、それらの属性のハイパーリンクをつけること、それらの属性に対してグラフィカルな関係でボタンが提示されるようにすることなど）が可能である。ユーザは、表示された属性のうちの少なくとも１つの属性を選択することができ、その少なくとも１つの属性の選択は、入力レシーバコンポーネント２０２によって受け取られる。次いで入力レシーバコンポーネント２０２は、その属性の選択を反映するようにクエリーを更新することができ、またはその属性を検索システム１２０へ送信することができ、次いで検索システム１２０が、そのクエリーを更新する。次いで検索システム１２０は、選択されたエンティティーおよび選択された属性に基づいてインデックス１２４を検索することができる。
【００３１】
[0048]  出力コンポーネント２０６は、アプリケーション内にロードされているエンティティーを、ユーザによって選択された属性の値で増補するオーグメンタコンポーネント２１２をさらに含むことができる。一例においては、オーグメンタコンポーネント２１２は、新たな列がテーブルに加えられるようにすることができ、その列に属性の値を投入することができる。オーグメンタコンポーネント２１２は、属性値を、それらのそれぞれのエンティティーと位置合わせする。別の例においては、オーグメンタコンポーネント２１２は、それらのエンティティーおよび属性の値をテーブル形式で含むページ（たとえば、ウェブページ、ワードプロセッシングページなど）を生成することができ、それによって、クライアントコンピューティングデバイス１０２のユーザは、それらのエンティティーのうちの１つのエンティティーに関して、そのエンティティーに関する属性の値を識別することができる。
【００３２】
[0049]  次いで図３を参照すると、検索システム１２０の例示的な機能ブロック図が示されている。検索システム１２０は、（たとえば、エンティティーオーグメンタシステム１１４の送信機コンポーネント２０４から）エンティティーを受け取るエンティティーレシーバコンポーネント３０２を含む。加えて、エンティティーレシーバコンポーネント３０２は、クライアントコンピューティングデバイス１０２のユーザによって明示された属性を受け取ることができる。一例によれば、エンティティーレシーバコンポーネント３０２は、エンティティーおよび（任意選択により）属性の受け取りに応答してインデックス１２４上で実行されることになるクエリーを構築することができる。
【００３３】
[0050]  検索システム１２０は、検索コンポーネント３０４をさらに含み、検索コンポーネント３０４は、クエリーに基づいてインデックス１２４を検索して、インデックス１２４においてインデックス付けされているソーステーブルの少なくとも一部分をエンティティーオーグメンタシステム１１４へ返すように構成されている。検索コンポーネント３０４は、クエリーに関連したソーステーブルを識別するために任意の適切な検索アルゴリズムを利用することができる。
【００３４】
[0051]  検索コンポーネント３０４は、クエリーに関連しているものとして検索コンポーネント３０４によって識別されたテーブルをランク付けするテーブルランカーコンポーネント３０６を含む。例示的な一実施形態においては、テーブルランカーコンポーネント３０６は、（クエリーにおいて表されている）選択されたエンティティーに関するソーステーブルのカバレッジ、ソーステーブルが位置しているソースの信頼性などに基づいてソーステーブルをランク付けすることができる。
【００３５】
[0052]  検索コンポーネント３０４は、検索コンポーネント３０４によって識別されてテーブルランカーコンポーネント３０６によってランク付けされたソーステーブルの少なくとも一部分をクライアントコンピューティングデバイス１０２のエンティティーオーグメンタシステム１１４へ返すリターナコンポーネント（returner component）３０８をさらに含むことができる。例示的な一実施形態においては、リターナコンポーネント３０８は、検索結果のランク付けされたリストを出力することができ、それぞれのソーステーブルを表す検索結果が、テーブルランカーコンポーネント３０６によるランキング出力に従ってランク付けされている。検索結果のランク付けされたリストは、ハイパーリンク、テーブルスニペットなどを含むことができる。さらに、リターナコンポーネント３０８を、検索コンポーネント３０４によって識別されたソーステーブルの最も関連している部分を識別するように構成することができる。たとえば、リターナコンポーネント３０８は、ソーステーブルの一部分をエンティティーオーグメンタシステム１１４へ返すことができ、ソーステーブルのその部分は、（たとえば、クライアントコンピューティングデバイス１０２のユーザによって以前にアクセスまたは操作されたデータ、アプリケーション１１２内にロードされているテーブル内に既に存在している属性値などに基づいて、）最もポピュラーな属性、選択されたエンティティーに最も関連していると思われる属性値を含む。
【００３６】
[0053]  検索コンポーネント３０４は、クエリーに基づいて検索コンポーネント３０４によって識別されたソーステーブル内の属性をランク付けする属性ランカーコンポーネント３１０を任意選択により含むことができる。属性ランカーコンポーネント３１０は、１）クライアントコンピューティングデバイス１０８上のアプリケーション１１２内にロードされているデータにおいて既に表されている属性、２）属性の値が含まれているソーステーブルの信頼性、３）（たとえば、属性を含むインデックス１２４においてインデックス付けされているテーブルの数に基づく）属性のポピュラリティーなどのうちの１つまたは複数に基づいて属性を選択およびランク付けすることができる。リターナコンポーネント３０８は、属性のランク付けされたリストをエンティティーオーグメンタシステム１１４へ返すことができる。属性のそのランク付けされたリストをクライアントコンピューティングデバイス１０２のユーザに対してさらすことまたは表面化させることが可能であり、次いでユーザは、属性のそのランク付けされたリストから属性を選択することができる。その選択された属性をサーバコンピューティングデバイス１０４へ送信して、エンティティーレシーバコンポーネント３０２によって受け取ることができ、エンティティーレシーバコンポーネント３０２は、その選択された属性に基づいてクエリーを更新することができる。次いで検索コンポーネント３０４は、その更新されたクエリーを使用して検索を更新することができ、それによって、選択されたエンティティーのうちのエンティティーおよび選択された属性の値を含むソーステーブルが識別される。テーブルランカーコンポーネント３０６は、それらのソーステーブルをランク付けし、次いでリターナコンポーネント３０８は、検索結果のランク付けされたリスト（それらの検索結果によって表されているソーステーブルのそれぞれの部分を含むことができる）をエンティティーオーグメンタシステム１１４へ返すことができる。
【００３７】
[0054]  図４〜図１２をまとめて参照すると、ＤＦＤ検索の実行を容易にするいくつかの例示的なグラフィカルユーザインターフェースが示されている。図４を単独で参照すると、スプレッドシートアプリケーションの例示的なグラフィカルユーザインターフェース４００が示されている。したがって、図４において示されている例においては、クライアントメモリ１１０内にロードされているアプリケーション１１２は、スプレッドシートアプリケーションであることが可能である。グラフィカルユーザインターフェース４００は、スプレッドシート４０２を含み、スプレッドシート４０２は、行および列で配列されている複数のセルを含む。例示的なグラフィカルユーザインターフェース４００においては、列Ａ〜Ｆおよび行１〜１３が示されている。スプレッドシートアプリケーションのグラフィカルユーザインターフェースは、グラフィカルユーザインターフェース４００において示されているよりも多くのまたは少ない列および／または行を示すことができるということを理解されたい。グラフィカルユーザインターフェース４００はまた、ツールバー４０４を含み、ツールバー４０４は、さまざまな選択可能なボタン、プルダウンメニュー、データ入力フィールドなどを含むことができ、そのような機能は、スプレッドシート４０２内に含まれるデータを作成すること、配列すること、操作すること、フィルタリングすること、および表示することを容易にする。
【００３８】
[0055]  グラフィカルユーザインターフェース４００は、クライアントコンピューティングデバイス１０２のユーザによって示されたクエリーを受け取るように構成されているクエリーフィールド４０６をさらに含む。ボタン４０８が、クエリーフィールド４０６に対してグラフィカルな関係にあり、クライアントコンピューティングデバイス１０２のユーザによって選択された場合には、クエリーフィールド４０６において示されているクエリーに基づいてデータ上で検索が実行されるようにすることができる。一例によれば、この検索は、ローカルに（たとえば、スプレッドシートアプリケーション内にロードされているデータ上で）実行することができる。別の例においては、クエリーフィールド４０６内に入力されたクエリーは、いくつかのエンティティー（および任意選択により属性）を識別することができ、ボタン４０８が選択されたことに応答して検索システム１２０へ送信することができる。グラフィカルユーザインターフェース４００は、ボタン４１０をさらに含み、ボタン４１０は、選択された場合には、クライアントコンピューティングデバイス１０２のマイクロフォンをアクティブ化して、音声入力の受け取りを容易にする。音声入力は、自然言語クエリー、スプレッドシート４０２における行または列の識別、スプレッドシートにおいて表されているエンティティーの識別などであることが可能である。
【００３９】
[0056]  グラフィカルユーザインターフェース４００は、列Ａがいくつかのエンティティーを含んでいるということを示している。複数のエンティティー４１１（列Ａの行１〜８におけるエンティティー）が、スプレッドシート４０２において選択されているものとして示されている。たとえば、複数のエンティティー４１１を選択するためにカーソル４１２を採用することができる。別の例においては、複数のエンティティー４１１を選択するためにタッチセンシティブディスプレイ上でのジェスチャーを採用することができる。またさらに別の例においては、（ボタン４１０の選択に応答してサブミットされた）音声入力を介して複数のエンティティー４１１を選択することができる。別の例においては、クエリーフィールド４０６内へのクエリーの入力を介して複数のエンティティー４１１を選択することができる。
【００４０】
[0057]  次いで図５を参照すると、選択されたエンティティー４１１に基づいてＤＦＤ検索の実行を容易にする例示的なグラフィカルユーザインターフェース５００が示されている。クライアントコンピューティングデバイスのユーザは、選択されたエンティティー４１１に基づいてＤＦＤ検索が実行されることになる旨を示すコマンド（たとえば、右クリック、ジェスチャー、話声コマンドなど）を示すことができる。入力レシーバコンポーネント２０２は、そのような入力を受け取って、たとえば、コマンドの受け取りに応答してクライアントコンピューティングデバイス１０２のディスプレイ上にポップアップウィンドウ５０２が表示されるようにすることができる。ポップアップウィンドウ５０２は、いくつかの選択可能なオプションを含むことができ、それらのオプションのうちの１つは、ＤＦＤ検索を開始することができる。ＤＦＤ検索を開始するためのオプションは、カーソル４１２を介して、タッチセンシティブディスプレイ上でのタッチ、音声コマンドを介して、といった具合に選択することができる。ポップアップウィンドウ５０２において示されているＤＦＤオプションの選択を入力レシーバコンポーネント２０２が受け取ったことに応答して、送信機コンポーネント２０４は、選択されたエンティティー４１１を検索システム１２０へ送信すること（または、選択されたエンティティー４１１に基づいてクエリーを構築して、そのクエリーを検索システム１２０へ送信すること）が可能である。この例においては、ユーザは、属性を明示していない。しかしながら、属性についてのユーザによる明示の受け取りを容易にするメカニズムが考えられるということを理解されたい。たとえば、ユーザが、クエリーフィールド４０６において属性を明示することができる、ポップアップウィンドウ５０２が、属性を明示するためのフィールドを含むことができる、といった具合である。
【００４１】
[0058]  次いで図６を参照すると、属性値でのエンティティー４１１の増補を示すグラフィカルユーザインターフェース６００が示されている。上述したように、検索システム１２０は、（エンティティー４１１および明示された属性に基づいて構築される）クエリーに基づいてインデックス１２４を検索し、属性の値６０２をエンティティーオーグメンタシステム１１４へ返すことができる。オーグメンタコンポーネント２１２は、エンティティーと適切に位置合わせされた、スプレッドシートの値６０２をスプレッドシート４０２の列Ｂ内のセルに投入することによって、属性の値６０２でスプレッドシート４０２を増補することができる。したがって、「ＶＡＬＵＥ  １」は、「ＥＮＴＩＴＹ  １」に関する属性の値であり、「ＶＡＬＵＥ  ２」は、「ＥＮＴＩＴＹ  ２」に関する属性の値である、といった具合である。
【００４２】
[0059]  上述の例においては、オーグメンタコンポーネント２１２は、属性の値６０２を列Ｂ内のセルに自動的に投入する（たとえば、ユーザは、値６０２がスプレッドシート４０２内にインポートされる前に値６０２をレビューおよび承認していない）。ユーザは、属性の値６０２を不承認した場合には、「アンドゥ」コマンドを示して、より洗練された検索が検索システム１２０によって実行されるようにすることができる。さらに、一例においては、ユーザは、属性を明示する必要がない。むしろ、検索システム１２０は、属性を自動的に識別することができる。たとえば、検索システム１２０は、（たとえば、選択されたエンティティー４１１のうちのエンティティーおよび「ＡＴＴＲＩＢＵＴＥ  １」の両方を含むインデックス１２４においてインデックス付けされたテーブルの数に基づいて、）「ＡＴＴＲＩＢＵＴＥ  １」が、選択されたエンティティー４１１に関連した最もポピュラーな属性であるということを特定することができる。検索コンポーネント３０４は、ユーザフィードバックを伴わずにかかる属性を選択して、かかる属性に関する値をエンティティーオーグメンタシステム１１４へ送信することができ、オーグメンタコンポーネント２１２は、かかる値の受け取りに応答して属性値でスプレッドシート４０２を増補することができる。
【００４３】
[0060]  値６０２でスプレッドシートを増補することを容易にするために、検索コンポーネント３０４および／またはオーグメンタコンポーネント２１２は、統合されたファジー結合された列のインポートを実行することができる。具体的には、検索コンポーネント３０４および／またはオーグメンタコンポーネント２１２は、１）スプレッドシート内の選択されたエンティティー４１１と、２）選択されたエンティティー４１１の少なくともサブセットを含む検索コンポーネント３０４によって識別されたソーステーブルの列との間においてファジー結合を実行することができる。例示的な一実施形態においては、そのようなファジー結合は、（選択されたエンティティー４１１における、またはソーステーブルにおける）エンティティーのさまざまな構文上のおよび意味上の表示におけるスペルミスに対して堅牢であることが可能である。たとえば、意味上の同義語を、そのような同義のエンティティーを提供する別個のデバイスから取り出すことができる。検索コンポーネント３０４および／またはオーグメンタコンポーネント２１２は、ファジー結合を実行する際に利用可能である構文上の変換ルールを含むこともできる。このファジー結合は、ソーステーブル内のエンティティーが、選択されたエンティティー４１１に適切にマップされること、ひいては、適切な属性値が、選択されたエンティティー４１１にマップされることを可能にする。
【００４４】
[0061]  次いで図７を参照すると、スプレッドシートアプリケーションの別の例示的なグラフィカルユーザインターフェース７００が示されている。グラフィカルユーザインターフェース７００において示されているように、ユーザは、ＤＦＤ検索中に取り出された列Ｂからの属性値を選択している。たとえば、カーソル４１２をセルＢ５上に重ねることができ、セルＢ５は、「ＥＮＴＩＴＹ  ４」に関する「ＶＡＬＵＥ  ４」を含んでいる。ユーザがそのセル上にカーソルを重ねたことに応答して、そのセル内の属性値に関連している情報を提示することができる。たとえば、カーソル４１２がセルＢ５上に重ねられたことに応答して、その属性値が得られた元であるソーステーブルのアイデンティティーをポップアップウィンドウ７０２内に提示することができる。さらに、ポップアップウィンドウ７０２は、「ＶＡＬＵＥ  ４に対応するソーステーブル内のエンティティーのアイデンティティーを表示することができる。これは、選択されたエンティティー４１１のうちのエンティティーがソーステーブルにおいて異なってつづられているということを示すことができる。一例においては、セルＡ５内のエンティティーが「Ｃｏｍｐａｎｙ」である場合があり、その一方で、ソーステーブル内の対応するエンティティーが「ＣＭＰＮＹ」とつづられている場合がある。ポップアップウィンドウ７０２内の情報に基づいて、クライアントコンピューティングデバイス１０２のユーザは、ファジー結合の正しさ、個々の属性値の正しさなどを確認することができる。
【００４５】
[0062]  次いで図８を参照すると、スプレッドシートアプリケーションの例示的なグラフィカルユーザインターフェース８００が表示されている。グラフィカルユーザインターフェース８００は、ＤＦＤ検索が行われたことに応答してクライアントコンピューティングデバイス１０２のディスプレイ上に提示することができるデータの表示を示している。検索システム１２０は、グラフィカルユーザインターフェース８００において提示するために検索結果８０２を返し、表示コンポーネント２０８は、検索結果８０２をクライアントコンピューティングデバイス１０２のディスプレイ上に表示する。上で示したように、検索結果８０２は、検索結果のランク付けされたリストを含むことができ、それらの検索結果は、クエリー（そのクエリーは、選択されたエンティティー４１１、および任意選択により、ユーザによって明示された少なくとも１つの属性に基づいている）に関連しているものとして検索システム１２０によって識別されたソーステーブルを表している。
【００４６】
[0063]  たとえば、検索結果８０２は、従来のウェブ検索結果と同様の様式で表示することができ、検索結果８０２は、それらの検索結果によってそれぞれ表されているソーステーブルへのハイパーリンクを含む。ハイパーリンクを選択すると、たとえば、ソーステーブルを含むウェブページをウェブブラウザにロードさせることができる。別の例においては、ハイパーリンクを選択すると、プレビュージェネレータコンポーネント２１０に、対応する検索結果によって表されるソーステーブルのプレビューをグラフィカルユーザインターフェース８００内に表示させることができる。検索結果８０２は、示されていない間には、それらに関連付けられているスクロールバーを有することができ、そのスクロールバーは、「無限の」スクローリングを容易にする。したがってユーザは、検索結果の新たなページを要求するよりもむしろ、スクロールを行って、さらなる検索結果を提供される。例示的なグラフィカルユーザインターフェース８００においては、検索結果８０２は、複数のランク付けされたテーブルスニペット８０４〜８１０を含むことができる。テーブルスニペット８０４〜８１０はそれぞれ、検索システム１２０によって識別されたソーステーブルを要約している。
【００４７】
[0064]  次いで図９を参照すると、検索結果８０２内に含めることができる例示的なテーブルスニペット９００が示されている。テーブルスニペット９００は、１）ソーステーブルのタイトル、２）テーブルスニペット９００によって要約されているソーステーブルのロケーション（たとえば、そのテーブルを取得することができるＵＲＬ）、３）テーブルスニペット９００によって要約されているソーステーブル内の属性値を有する属性（たとえば、最もポピュラーな属性のしきい値数、選択されたエンティティー４１１に最も関連していると思われる属性のしきい値数、および／またはクライアントコンピューティングデバイス１０２のユーザによってサブミットされた属性）、４）エンティティーカバレッジデータ（エンティティーカバレッジデータは、テーブルスニペット９００によって要約されているソーステーブル内にも含まれている選択されたエンティティー４１１のうちのエンティティーの数を示す）、ならびに５）テーブルスニペット９００によって要約されているソーステーブルのサンプル部分９０２（ソーステーブルのサンプル部分９０２は、検索システム１２０が、選択されたエンティティー４１１に基づいてそのソーステーブルをなぜ識別したかに関する情報をクライアントコンピューティングデバイス１０２のユーザに提供することができるソーステーブルの行および／または列のサブセットを含む）を含むことができるが、それらを含むことには限定されない。たとえば、選択されたエンティティー４１１のうちのエンティティー、および／またはかかるエンティティーに関する属性値を含む行および／または列を部分９０２内に含めることができる。
【００４８】
[0065]  ソーステーブルの部分９０２内の行および／または列は、ソーステーブルそのものと比較した場合には、異なった形で配列することができるということを理解されたい。すなわち、検索システム１２０は、クライアントコンピューティングデバイス１０２内にロードされているスプレッドシートにおけるエンティティーどうしの配列に対応する外観となるようにテーブルスニペット９００を生成することができる。したがって、クライアントコンピューティングデバイス１０２のユーザは、スニペット９００によって要約されているソーステーブルを検索システム１２０がなぜ返したかを比較的すばやく視覚的に確認することができ、そのスニペットによって要約されているソーステーブル内の属性値でスプレッドシート４０２を増補することが望ましいかどうかをさらに視覚的に確認することができる。
【００４９】
[0066]  例示的な一実施形態においては、テーブルスニペット９００内に列挙される属性は、選択可能とすることができる。属性の選択を受け取ると、エンティティーに関する属性（たとえば、選択されたエンティティー４１内にも含まれているソーステーブル内に含まれているエンティティー）の値を部分９０２が強調表示するようにテーブルスニペット９００を更新することができる。別の例においては、属性を選択すると、クエリーが洗練されるように、および更新された検索をインデックス１２４上で検索システム１２０が実行するようにすることができる。
【００５０】
[0067]  さらに、テーブルスニペット９００によって要約されているソーステーブルの部分９０２のそれぞれの行および／または列に関して、それぞれのグラフィカルオブジェクトを提示することができ、そのようなグラフィカルオブジェクトを選択すると、それぞれの行および／または列における属性の値でスプレッドシート４０２を増補することをオーグメンタコンポーネント２１２に行わせることができる。たとえば、テーブルスニペット９００内に示されているソーステーブルの部分９０２は、５つの列、すなわち、テーブルスニペット９００によって要約されているソーステーブル内のエンティティーを表す第１の列と、それらのエンティティーのそれぞれの属性を表す４つの列とを含む。４つの属性列のそれぞれは、それぞれの選択可能なグラフィカルオブジェクトを含むことができる。したがって、テーブルスニペット９００は、４つの属性列に対応する選択可能なグラフィカルオブジェクト９０４〜９１０を含む。一例においては、グラフィカルオブジェクト９０４の選択の受け取りに応答して、選択されたエンティティー４１１のうちのエンティティーの「ＡＴＴＲＩＢＵＴＥ  １」という属性の属性値をスプレッドシート４０２内にロードして、（たとえば、図６のグラフィカルユーザインターフェース６００において示されているように）選択されたエンティティー４１１に対する関係においてグラフィカルに示すことができる。すなわち、スプレッドシート４０２の列を「ＡＴＴＲＩＢＵＴＥ  １」に関する属性列として新たに投入することができ、その列には属性値が投入される。
【００５１】
[0068]  テーブルスニペット９００は、拡張ボタン９１２を含むこともでき、拡張ボタン９１２は、選択された場合には、スニペット９００によって要約されているソーステーブルの全体がクライアントコンピューティングデバイス１０２のディスプレイ上に（たとえば、スプレッドシートアプリケーションにおいて、ウェブブラウザにおいて、ワードプロセッシングドキュメントにおいて、といった具合に）提示されるようにすることができる。たとえば、ソーステーブルをスプレッドシートアプリケーションの新たなスプレッドシート内にロードすることができる。別の例においては、検索結果８０２を、テーブルスニペット９００によって要約されているテーブルと置き換えることができる。さらに、テーブルスニペット９００は、示されていない間には、テーブルスニペット９００によって要約されているソーステーブルに類似したソーステーブルを識別することを検索システム１２０に行わせるように構成されている検索ボタンを含むことができる。次いで検索システム１２０は、テーブルスニペット９００によって要約されているソーステーブルに基づく（ならびに任意選択により、選択されたエンティティー４１１、およびクライアントコンピューティングデバイス１０２のユーザによって示された属性にさらに基づく）検索結果を提供することができる。
【００５２】
[0069]  その上、テーブルスニペット９００は、示されていない間には、ヒットの強調表示をサポートすることができる。より詳細には、テーブルスニペット９００によって表されているテーブルが、クエリーに基づいて取り出され、そのクエリーは、キーワードを含む。キーワードがテーブルスニペット９００内に含まれている場合には、それらのキーワードを強調表示して、テーブルスニペット９００によって表されているテーブル内のどこでそれらのキーワードが発生しているかを示すことができる。それらのロケーションは、スニペット９００内に含まれているテーブルのタイトル、ＵＲＬ、サブセットなどの中である可能性がある。
【００５３】
[0070]  次いで図１０を参照すると、データファインディングデータ検索の実行を容易にする別の例示的なグラフィカルユーザインターフェース１０００。例示的なグラフィカルユーザインターフェース１０００は、クライアントコンピューティングデバイス１０２によって実行されるスプレッドシートアプリケーション以外のアプリケーションによって提示することができる。たとえば、グラフィカルユーザインターフェース１０００は、ワードプロセッシングアプリケーション、テキスト編集アプリケーション、Ｅメールアプリケーション、ソーシャルネットワーキングアプリケーション、インスタントメッセージングアプリケーション、ニュースアプリケーション、スライドプレゼンテーションアプリケーション、または、コンテンツをページ上に提示することができるその他の適切なアプリケーションのためのものであることが可能である。示されているように、ページ上のコンテンツは、（たとえば、デリミタによって区切られている）いくつかのエンティティー１００１を含む。コンテンツページのコンテンツのエンティティー１００１（たとえば、エンティティー１〜６）を選択するために、任意の適切な選択メカニズムを採用することができる。たとえば、クライアントコンピューティングデバイス１０２のユーザは、カーソル４１２の利用を通じてエンティティー１００１を強調表示することができる。別の例においては、ユーザは、音声コマンド、ジェスチャーなどを介してエンティティー１００１を選択することができる。次いでユーザは、選択されたエンティティー１００１（および任意選択により、提供された属性）に基づいてデータファインディングデータ検索が採用されることになる旨の表示を示すことができる。やはり、この表示を、たとえば、選択されたエンティティー１００１上で右クリックすることによって受け取ることができ、それによって、ポップアップウィンドウ１００２が、クライアントコンピューティングデバイス１０２のディスプレイ上に提示されるようにする。
【００５４】
[0071]  ポップアップウィンドウ１００２内のオプションのうちの１つは、選択されたエンティティー１００１に基づいてＤＦＤ検索を実行することとすることができ、かかるオプションは、任意の適切な選択メカニズムを介して選択することができる。次いで、選択されたエンティティー１００１（または選択されたエンティティー１００１に基づいて構築されたクエリー）を検索システム１２０へ送信することができ、検索システム１２０は、上述してきたのと同様の様式で検索結果、属性値などを返すことができる。例示的な一実施形態においては、検索システム１２０は、新たなページ（たとえば、ウェブページ、ワードドキュメントなど）が構築されるようにすることができ、また、その新たなページがクライアントコンピューティングデバイス１０２へ送信されるようにすることができ、結果として生じるページは、選択されたエンティティー１００１と、ユーザおよび／または検索システム１２０によって識別された対応する属性値とを含むテーブルを含む。別の例においては、選択されたエンティティー１００１に関する属性値を検索システム１２０から受け取ったことに応答して、スプレッドシートアプリケーションをクライアントコンピューティングデバイス１０２において始動して、そのスプレッドシートアプリケーションに、選択されたエンティティー１００１と、それらに対応する属性値とを投入することができる。そのような一実施形態においては、ユーザは、ウェブページ上の関心のあるテーブルを識別することができ、その関心のあるテーブル内のエンティティーを選択して、それらの選択されたエンティティー（および任意選択により属性）を使用してＤＦＤ検索の実行を開始して、そのＤＦＤ検索に基づいてスプレッドシートアプリケーション内にテーブルが自動的に生成されるようにすることができる（そのテーブルは、ユーザによって選択されたエンティティーと、検索システム１２０によって識別されてユーザによって承認された別のテーブルからの属性値とを含む）。
【００５５】
[0072]  次いで図１１を参照すると、別の例示的なグラフィカルユーザインターフェース１１００が示されている。グラフィカルユーザインターフェース１１００は、ある検索エンジンのためのグラフィカルユーザインターフェース（たとえば、ある検索エンジンの特定のバーティカル）であることが可能である。たとえば、その検索エンジンは、複数のバーティカルを含むことができ、それらのバーティカルは、グラフィカルユーザインターフェース１１００内の選択可能なグラフィカルオブジェクトによって表すことができる。例示的なバーティカルは、選択可能なオブジェクト１１０２〜１１１０によって表されている「ＷＥＢ」、「ＩＭＡＧＥＳ」、「ＶＩＤＥＯＳ」、「ＮＥＷＳ」、および「ＴＡＢＬＥＳ」であることが可能である。「ＷＥＢ」というバーティカルは、従来のウェブ検索の実行を容易にし、「ＩＭＡＧＥＳ」というバーティカルは、イメージを探す検索の実行を容易にし、「ＶＩＤＥＯＳ」というバーティカルは、ビデオを探す検索の実行を容易にする、といった具合である。
【００５６】
[0073]  例示的なグラフィカルユーザインターフェース１１００においては、ユーザは、カーソル４１２を用いてグラフィカルオブジェクト１１１０を選択しており、それによって、「ＴＡＢＬＥＳ」というバーティカルが選択されている。「ＴＡＢＬＥＳ」というバーティカルは、投入することができる少なくとも２つのフィールド、すなわち、１）ユーザによって明示された１つまたは複数のエンティティーを受け取るように構成されている第１のフィールド１１１２、および２）第１のフィールド１１２内に入力された１つまたは複数のエンティティーの１つまたは複数の属性を受け取るように構成されている第２のフィールド１１１４を含むことができる。示されているように、ユーザは、複数のエンティティーをフィールド１１１２内に、デリミタ（たとえば、セミコロン、またはその他の適切なデリミタ）によって区切って入力することができる。同様に、ユーザは、複数の属性をフィールド１１１４において、デリミタによって区切って示すことができる。次いで、グラフィカルユーザインターフェース１１００内の検索ボタン１１１６を選択することができ、それによって、送信機コンポーネント２０４が、フィールド１１１２および１１１４内のエンティティーおよび属性をそれぞれ検索システム１２０へ送信する（または、それによって、エンティティーオーグメンタシステム１１４が、エンティティーおよび属性に基づいてクエリーを構築して、そのクエリーを検索システム１２０へ送信する）。検索システム１２０は、上述の様式でＤＦＤ検索を実行することができる。
【００５７】
[0074]  次いで検索システム１２０は、検索結果を返すことができ、その検索結果は、検索結果フィールド１１１８内に表示することができる。フィールド１１１８内に示される検索結果は、フィールド１１１２内に示されている少なくとも１つのエンティティーと、フィールド１１１４内に示されている属性の少なくとも１つの値とを含むものとして識別されたソーステーブルの部分であることが可能である。別の例においては、検索結果フィールド１１１８内の検索結果は、ユーザによって比較的すばやく使用することができる最終結果を形成するためにともに結合される複数のテーブルから抽出されたデータを含むことができる。たとえば、第１のソーステーブルは、フィールド１１１２内に明示されている第１のエンティティーを含むこと、およびフィールド１１１４内に明示されている属性に関する属性値を有することが可能であり、その一方で第２のソーステーブルは、フィールド１１１２内に明示されている第２のエンティティー、およびフィールド１１１４内に明示されている属性に関する値を含むことができる。検索システム１２０は、第１のソーステーブルおよび第２のソーステーブルを識別し、それらの２つのソーステーブルのそれぞれから適切な入力を選択し、第１のソーステーブルと第２のソーステーブルとの組合せに基づく検索結果を作成することができる。ユーザの情報ニーズは、その検索結果内に含まれている組合せによって満たされる。
【００５８】
[0075]  次いで図１２を参照すると、ＤＦＤ検索の実行を容易にする別の例示的なグラフィカルユーザインターフェース１２００が示されている。グラフィカルユーザインターフェース１２００は、複数の選択可能なオブジェクト１２０４〜１２０６を含むことができる第１の部分１２０２を含む。たとえば、かかるオブジェクト１２０４〜１２０６は、ウェブページ上に含めることができ、それらのオブジェクト１２０４〜１２０６は、購入可能なアイテムを表すことができる。ユーザは、オブジェクト１２０４〜１２０６をスクロールし、適切な選択メカニズムを介して１つまたは複数のオブジェクトを選択し、それらの選択されたオブジェクトをワークスペースフィールド１２０８へドラッグすることができる。例示的なグラフィカルユーザインターフェース１２００においては、ユーザは、オブジェクト１２０４、ならびに３つのさらなるオブジェクト１２１０〜１２１４を選択している。ワークスペースフィールド１２０８は、検索ボタン１２１６を含むことができ、検索ボタン１２１６は、ユーザによって選択された場合には、ワークスペースフィールド１２０８内のエンティティーを検索システム１２０へ送信することを送信機コンポーネント２０４に行わせ、送信機コンポーネント２０４は、上述のように、それらのエンティティーに基づいてインデックス１２４上で検索を実行する。検索結果は、ワークスペースフィールド１２０８内に、または別のコンテンツページ上に提示することができる。
【００５９】
[0076]  図４〜図１２において示されているグラフィカルユーザインターフェースは、さまざまな例を提供しているが、多くの変形が考えられるということを理解されたい。たとえば、グラフィカルユーザインターフェース１１００は、ＤＦＤの実行を開始するための２つのフィールドを示しているが、単一のフィールド（たとえば、クエリーフィールド４０６、フィールド１１１２など）の利用を通じてＤＦＤ検索を開始することができるということを理解されたい。そのような例においては、キーワードクエリーを単一のフィールド内に入力することができ、検索システム１２０は、そのキーワードクエリーに基づいてテーブルのランク付けされたリストを返すことができる。そのフィールド内に示されるクエリーは、黙示的な構造を含むことができ、検索システム１２０が最適化される特定のクラスのクエリーが存在することが可能である。たとえば、例示的である構造は、純粋なキーワードクエリー、１つのエンティティーのみのクエリー、複数のエンティティーのクエリー、コンセプトのクエリー、エンティティー属性のクエリーなどを含む。
【００６０】
[0077]  さらに、図７において示されているグラフィカルユーザインターフェース７００は、セルを選択すると提示することができるデータを示しているが、ユーザは、特定の列に関する情報を得たいと望む場合があるということを理解されたい。たとえば、カーソル４１２を採用して、グラフィカルユーザインターフェース７００内の「Ｂ」列の上に重ねることができ、それによって、その列に関するメタデータ、たとえば、列の同義語を提示することをポップアップウィンドウ７０２に行わせることができる。そのような同義語は、インデックス１２４においてインデックス付けされているソーステーブル内に存在することが可能である。
【００６１】
[0078]  さらに別の例においては、例示的なテーブルスニペット９００は、グラフィカルオブジェクト９０４〜９１０を含むものとして記述されており、グラフィカルオブジェクト９０４〜９１０のうちの１つが選択された場合には、その選択されたオブジェクトの列内の属性値が、ロードされているスプレッドシート内のテーブルに付加される。しかしながら、別の例においては、データを付加するためのドラッグアンドドロップアプローチが考えられ、ユーザは、テーブルスニペット９００（または拡張されたテーブル）内の特定の列またはセルの値を選択し、それらの列またはセルの値を、スプレッドシートアプリケーションによってロードされているスプレッドシート４０２内の所望のロケーションへドラッグし、それらの列またはセルの値を所望の位置でドロップする。属性値のドラッグアンドドロップが実行された場合には、それらの属性値を、適切なエンティティーに対応するように自動的に配列することができる。
【００６２】
[0079]  さらに、本明細書においては、検索システム１２０が属性のランク付けされたリストを返す実施形態について記述してきた。別の例においては、属性をリスト形式で提供されるよりもむしろ、表示コンポーネント２０８は、選択されたエンティティー４１１に関する属性のタグクラウドを表示することができ、そのタグクラウド内に、エンティティー４１１に関する属性（または属性からのキーワード）が含まれている。タグクラウド内の属性は、（エンティティー属性のクエリーのケースにおいては）属性の名前および／または属性の名前からのキーワードを含む識別されたソーステーブルの数に比例してサイズ設定することができる。その他の例も、容易に認識されるであろう。
【００６３】
[0080]  図１３〜図１７は、ＤＦＤ検索に関連している例示的な方法を示している。それらの方法は、シーケンスにおいて実行される一連の行為であるものとして示され記述されているが、そのシーケンスの順序によって限定されるものではないということを理解および認識されたい。たとえば、いくつかの行為は、本明細書において記述されているのとは異なる順序で生じることが可能である。加えて、１つの行為は、別の行為と同時に生じることが可能である。さらに、いくつかの場合においては、本明細書において記述されている方法を実施する上ですべての行為が必要とされるわけではないことがある。
【００６４】
[0081]  その上、本明細書において記述されている行為は、１つまたは複数のプロセッサによって実施すること、および／または１つもしくは複数のコンピュータ可読メディア上に格納することが可能なコンピュータ実行可能命令であることが可能である。それらのコンピュータ実行可能命令は、ルーチン、サブルーチン、プログラム、および／または実行のスレッドなどを含むことができる。またさらに、それらの方法の行為の結果は、コンピュータ可読メディア内に格納すること、および／またはディスプレイデバイス上に表示することなどが可能である。
【００６５】
[0082]  次いで図１３を参照すると、ＤＦＤ検索の実行を容易にする例示的な方法１３００が示されている。方法１３００は、１３０２において開始し、１３０４において、コンピュータ可読エンティティーが受け取られ、それらのコンピュータ可読エンティティーは、共通の属性を有している。一例においては、ユーザが適切な選択メカニズムを介してエンティティーを選択したことに応答して、コンピュータ可読エンティティーを受け取ることができる。１３０６において、エンティティーを受け取ったことに応答して、それらのエンティティーは、検索システムへ送信される。上で示したように、検索システムは、ソーステーブルをインデックス付けしているインデックス上で検索するように構成されており、その検索は、エンティティーに基づく。
【００６６】
[0083]  １３０８において、共通の属性の値が、検索システムから受け取られ、それらの値はそれぞれ、受け取られたエンティティーに対応している。１３１０において、共通の属性の値を受け取ったことに応答して、共通の属性の値が出力される。たとえば、共通の属性の値を、検索結果の一部分として提示することができる。別の例においては、共通の属性の値を、エンティティーを含むテーブルに付加することができ、属性の値は、エンティティーにそれぞれ適切に対応するようにテーブル内で配列される。方法１３００は、１３１２において完了する。
【００６７】
[0084]  次いで図１４を参照すると、ＤＦＤ検索に基づいて取り出された属性値でテーブル形式データを増補することを容易にする例示的な方法１４００が示されている。方法１４００は、１４０２において開始し、１４０４において複数のコンピュータ可読エンティティーが受け取られ、それらのエンティティーは、属性を共有している。１４０６において、エンティティーを受け取ったことに応答して、それらのエンティティーは、検索システムへ送信され、検索システムは、コンピュータ可読ソーステーブルのインデックス上で検索するように構成されている。１４０８において、複数のテーブルスニペットが、検索システムから受け取られ、それらのテーブルスニペットは、検索システムによって識別されたソーステーブルのそれぞれの要約である。１４１０において、それらの複数のテーブルスニペットは、ディスプレイ上に表示される。１４１２において、複数のテーブルスニペットからの１つのテーブルスニペットの選択が受け取られ、１４１４においてエンティティーは、属性の値で増補され（豊かにされ）、それらの値は、テーブルスニペットによって要約されているソーステーブルから抽出されて、１４１２におけるテーブルスニペットの選択に基づいて取り出されている。方法１４００は、１４１６において完了する。
【００６８】
[0085]  次いで図１５を参照すると、属性のランク付けされたリスト（または属性のタグクラウド）内の属性の選択に基づいて属性値でエンティティーを増補することを容易にする例示的な方法１５００が示されている。方法１５００は、１５０２において開始し、１５０４において、エンティティーが受け取られ、それらのエンティティーは、共通の属性を有している。１５０６において、エンティティーを受け取ったことに応答して、それらのエンティティーは、コンピュータ可読テーブルのインデックス上で検索するように構成されている検索システムへ送信される。１５０８において、属性が検索システムから受け取られ、それらの属性は、１５０４において受け取られたエンティティーに関連しているものとして識別されている。一例においては、それらの属性を、属性のランク付けされたリストとして、属性のタグクラウドとして、といった具合に受け取ることができる。たとえば、それらの属性は、１５０４において受け取られたエンティティーを含む（インデックスによってインデックス付けされている）ソーステーブル内で最も共通して生じている属性であることが可能である。
【００６９】
[0086]  １５１０において、属性を受け取ったことに応答して、それらの属性が出力される。１５１２において、属性の選択が受け取られ（たとえば、ユーザが、関心のある属性を選択し）、１５１４において、属性の選択を受け取ったことに応答して、エンティティーは、その属性のそれぞれの値で増補される。より詳細には、属性を選択すると、その属性が検索システムへ送信されるようにすることができ、検索システムは、その属性および受け取られたエンティティーを利用して、インデックスによってインデックス付けされているソーステーブル内の属性値を見つける。次いでそれらの属性値を返して、ユーザによって確認することができ、それらの属性値でテーブル形式データを増補することができる。方法１５００は、１５１６において完了する。
【００７０】
[0087]  次いで図１６を参照すると、テーブルスニペットの動的な生成を容易にする例示的な方法１６００が示されている。方法１６００は、１６０２において開始し、１６０４において、コンピュータ可読エンティティーが受け取られる。１６０６において、コンピュータ可読エンティティーを受け取ったことに応答して、それらのエンティティーに基づいて、コンピュータ可読ソーステーブルを探す検索が実行される。すなわち、エンティティー（またはその同義語）を含むソーステーブルが見つけられる。さらに、その検索は、識別された属性に基づいて実行することができる。１６０８において、その検索に基づいて、テーブルのランク付けされたリストが生成され、１６１０において、テーブルのランク付けされたリスト内のそれぞれのテーブルに関するテーブルスニペットが生成される。１６１２において、それらのテーブルスニペットが出力される。たとえば、それらのテーブルスニペットは、スプレッドシートアプリケーションのグラフィカルユーザインターフェース内に表示することができる。方法１６００は、１６１４において完了する。
【００７１】
[0088]  次いで図１７を参照すると、属性のランク付けされたリストの生成を容易にする例示的な方法１７００が示されている。方法１７００は、１７０２において開始し、１７０４において、コンピュータ可読エンティティーが受け取られる。１７０６において、それらのエンティティーを受け取ったことに応答して、それらのエンティティーを含むコンピュータ可読テーブルを探す検索が実行される。１７０８において、その検索に基づいて、それらのエンティティーに関連した属性のランク付けされたリストが生成される。１７１０において、属性のランク付けされたリストが出力される（たとえば、クライアントコンピューティングデバイスへ送信される）。１７１２において、属性のランク付けされたリストからの属性の選択が受け取られ、１７１４において、属性の選択の受け取りに応答して、それぞれのエンティティーに関する属性の値が出力される。方法１７００は、１７１６において完了する。
【００７２】
[0089]  次いで図１８を参照すると、本明細書において開示されているシステムおよび方法に従って使用することができる例示的なコンピューティングデバイス１８００のハイレベル図が示されている。たとえば、コンピューティングデバイス１８００は、ＤＦＳ検索を実行する際に使用するためのコンピュータ可読エンティティーおよび／または属性の選択を容易にするシステムにおいて使用することができる。別の例として、コンピューティングデバイス１８００は、識別されたエンティティーおよび属性に基づいて検索を実行することをサポートするシステムにおいて使用することができる。コンピューティングデバイス１８００は、メモリ１８０４内に格納されている命令を実行する少なくとも１つのプロセッサ１８０２を含む。それらの命令は、たとえば、上述の１つまたは複数のコンポーネントによって実行されるものとして記述されている機能を実施するための命令、または上述の方法のうちの１つまたは複数を実施するための命令であることが可能である。プロセッサ１８０２は、システムバス１８０６を介してメモリ１８０４にアクセスすることができる。メモリ１８０４は、実行可能命令を格納することに加えて、テーブル形式データ、コンピュータ可読エンティティー、属性の名前、ソーステーブルのインデックスなどを格納することもできる。
【００７３】
[0090]  コンピューティングデバイス１８００は、プロセッサ１８０２によってシステムバス１８０６を介してアクセス可能であるデータストア１８０８をさらに含む。データストア１８０８は、実行可能命令、ソーステーブル、ソーステーブルのインデックス、コンピュータ可読エンティティーなどを含むことができる。コンピューティングデバイス１８００はまた、外部のデバイスがコンピューティングデバイス１８００と通信することを可能にする入力インターフェース１８１０を含む。たとえば、入力インターフェース１８１０は、外部のコンピュータデバイスから、ユーザから、といった具合に命令を受け取るために使用することができる。コンピューティングデバイス１８００はまた、コンピューティングデバイス１８００を１つまたは複数の外部のデバイスとインターフェース接続する出力インターフェース１８１２を含む。たとえば、コンピューティングデバイス１８００は、出力インターフェース１８１２を介して、テキスト、イメージなどを表示することができる。
【００７４】
[0091]  入力インターフェース１８１０および出力インターフェース１８１２を介してコンピューティングデバイス１８００と通信する外部のデバイスを、ユーザが対話することができる実質的に任意のタイプのユーザインターフェースを提供する環境内に含めることができるということが考えられる。ユーザインターフェースタイプの例は、グラフィカルユーザインターフェース、ナチュラルユーザインターフェースなどを含む。たとえば、グラフィカルユーザインターフェースは、キーボード、マウス、リモコンなどの入力デバイスを採用しているユーザからの入力を受け取ること、およびディスプレイなどの出力デバイス上に出力を提供することが可能である。さらに、ナチュラルユーザインターフェースは、キーボード、マウス、リモコンなどの入力デバイスによって課される制約から自由な様式でユーザがコンピューティングデバイス１８００と対話することを可能にすることができる。むしろ、ナチュラルユーザインターフェースは、話声認識、タッチおよびスタイラス認識、スクリーン上およびスクリーン近傍の両方でのジェスチャー認識、エアジェスチャー、ヘッドトラッキングおよびアイトラッキング、音声および話声、視覚、タッチ、ジェスチャー、マシンインテリジェンスなどに依存することができる。
【００７５】
[0092]  加えて、コンピューティングデバイス１８００は、単一のシステムとして示されているが、分散システムであることも可能であるということを理解されたい。したがって、たとえば、いくつかのデバイスが、ネットワーク接続を介して通信状態にあることが可能であり、コンピューティングデバイス１８００によって実行されるものとして記述されているタスクを共同で実行することができる。
【００７６】
[0093]  本明細書において記述されているさまざまな機能は、ハードウェア、ソフトウェア、またはそれらの任意の組合せで実装することができる。ソフトウェアで実装される場合には、それらの機能は、１つまたは複数の命令またはコードとしてコンピュータ可読メディア上に格納すること、またはコンピュータ可読メディアを介して伝送することが可能である。コンピュータ可読メディアは、コンピュータ可読ストレージメディアを含む。コンピュータ可読ストレージメディアは、コンピュータによってアクセスすることができる任意の利用可能なストレージメディアであることが可能である。限定ではなく、例として、そのようなコンピュータ可読ストレージメディアは、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ、ＣＤ−ＲＯＭ、もしくはその他の光ディスクストレージ、磁気ディスクストレージもしくはその他の磁気ストレージデバイス、または、所望のプログラムコードを命令もしくはデータ構造の形態で搬送もしくは格納するために使用することが可能な、かつコンピュータによってアクセスすることが可能なその他の任意のメディアを含むことができる。ディスク（disk）およびディスク（disc）は、本明細書において使用される際には、コンパクトディスク（CD: compact disc）、レーザーディスク（登録商標）（laser disc）、光ディスク（optical disc）、デジタル多用途ディスク（DVD: digital versatile disc）、フロッピー（登録商標）ディスク（floppy disk）、およびブルーレイディスク（BD: Blu-ray（登録商標） disc）を含み、ディスク（disk）は通常、データを磁気的に再生し、ディスク（disc）は通常、レーザーを用いてデータを光学的に再生する。さらに、伝搬される信号は、コンピュータ可読ストレージメディアの範囲内には含まれない。コンピュータ可読メディアはまた、１つの場所から別の場所へのコンピュータプログラムの転送を容易にする任意のメディアを含む通信メディアを含む。たとえば、接続は、通信メディアであることが可能である。たとえば、同軸ケーブル、光ファイバケーブル、ツイストペア、デジタルサブスクライバーライン（DSL）、または、赤外線、ラジオ波、およびマイクロ波などのワイヤレステクノロジーを使用して、ウェブサイト、サーバ、またはその他のリモートソースからソフトウェアが送信される場合には、その同軸ケーブル、光ファイバケーブル、ツイストペア、ＤＳＬ、または、赤外線、ラジオ波、およびマイクロ波などのワイヤレステクノロジーは、通信メディアの定義内に含まれる。上記の組合せも、コンピュータ可読メディアの範囲内に含まれるべきである。
【００７７】
[0094]  代替として、または追加として、本明細書において記述されている機能は、少なくとも部分的には、１つまたは複数のハードウェアロジックコンポーネントによって実行することができる。限定ではなく、例として、使用することができるハードウェアロジックコンポーネントの例示的なタイプとしては、フィールドプログラマブルゲートアレイ（FPGA）、プログラム固有集積回路（ASIC）、プログラム固有標準製品（ASSP）、システムオンアチップシステム（SOC）、コンプレックスプログラマブルロジックデバイス（CPLD）などが含まれる。
【００７８】
[0095]  上述してきた内容は、１つまたは複数の実施形態の例を含んでいる。もちろん、上述の態様について記述する目的で上述のデバイスまたは方法の考えられるすべての修正および変更について記述することは不可能であるが、当技術分野における標準的な技術者なら、さまざまな態様の多くのさらなる修正および並べ替えが可能であるということを認識することができる。したがって、記述されている態様は、添付の特許請求の範囲の趣旨および範疇内に収まるすべてのそのような変更、修正、および変形を包含することを意図されている。さらに、「ｉｎｃｌｕｄｅｓ」という用語は、詳細な説明または特許請求の範囲において使用されている限り、「ｃｏｍｐｒｉｓｉｎｇ」という用語が請求項において移行語として採用されている場合に解釈される際の「ｃｏｍｐｒｉｓｉｎｇ」と同様の様式で包括的であることを意図されている。
【図１】
0006480925.tif 000002
【図２】
0006480925.tif 000003
【図３】
0006480925.tif 000004
【図４】
0006480925.tif 000005
【図５】
0006480925.tif 000006
【図６】
0006480925.tif 000007
【図７】
0006480925.tif 000008
【図８】
0006480925.tif 000009
【図９】
0006480925.tif 000010
【図１０】
0006480925.tif 000011
【図１１】
0006480925.tif 000012
【図１２】
0006480925.tif 000013
【図１３】
0006480925.tif 000014
【図１４】
0006480925.tif 000015
【図１５】
0006480925.tif 000016
【図１６】
0006480925.tif 000017
【図１７】
0006480925.tif 000018
【図１８】
0006480925.tif 000019