(57)【要約】本システムはクエリ回路を含む。クエリ回路は、特定のデータタイプについての予め設定されたクエリを構造化データセットについて実行することにより該特定のデータタイプに関連する一組の構造化データタームを決定する。該予め設定されたクエリは、該特定のデータタイプについて所定のビジネスルールに従って生成することが可能である。クエリ回路は更に、該一組の構造化データタームから非構造化検索クエリをを生成し、該非構造化検索クエリを非構造化データセットについて実行して非構造化検索結果を取得する。【選択図】図２
2017537398.tif 000002
【特許請求の範囲】
【請求項１】
一組の所定のタームからのユーザ検索選択を受信し、該ユーザ検索選択が特定のデータタイプについてフィルタを指定するものであり、
該特定のデータタイプについて予め設定されたクエリにアクセスし、該予め設定されたクエリが該特定のデータタイプについて所定のビジネスルールに従って生成されたものであり、
該予め設定されたクエリを構造化データセットについて実行して一組の構造化データタームを取得し、
該一組の構造化データタームに非構造化クエリ生成機能を適用して非構造化検索クエリを生成し、
該非構造化検索クエリを非構造化データセットについて実行する
ことからなる方法。
【請求項２】
前記非構造化検索クエリを前記非構造化データセットについて実行することが、該非構造化検索クエリを該非構造化データセットについて検索エンジンに入力することを含み、  前記一組の構造化データタームに前記非構造化クエリ生成機能を適用することにより、前記検索エンジンによりサポートされる構文で前記非構造化検索クエリが生成される、
請求項１に記載の方法。
【請求項３】
前記予め設定されたクエリを前記構造化データセットについて実行することが、予め設定されたクエリ操作を前記構造化データセット内の一組の予め設定されたテーブルについて実行することを含む、請求項１に記載の方法。
【請求項４】
前記予め設定されたクエリが前記特定のデータタイプに応じて変化する、請求項１に記載の方法。
【請求項５】
前記予め設定されたクエリを前記構造化データセットについて実行することが、前記一組の構造化データタームにおける１つ以上のタームについてそれぞれの重みを読み出すことを更に含み、
前記一組の構造化データタームに前記非構造化クエリ生成機能を適用することが、前記それぞれの重みを説明することを含む、
請求項１に記載の方法。
【請求項６】
前記非構造化検索クエリを前記非構造化データセットについて実行することにより非構造化検索結果を取得し、
該非構造化検索結果について統合機能を実行することにより該非構造化検索結果を解析する
ことを更に含む、請求項１に記載の方法。
【請求項７】
クエリ回路を備えたシステムであって、該クエリ回路が、
特定のデータタイプについて予め設定されたクエリを構造化データセットについて実行することにより該特定のデータタイプに関する一組の構造化データタームを決定し、該予め設定されたクエリが、該特定のデータタイプについて所定のビジネスルールに従って生成されたものであり、
該一組の構造化データタームから非構造化検索クエリを生成し、
該非構造化検索クエリを非構造化データセットについて実行して非構造化検索結果を取得する、システム。
【請求項８】
前記クエリ回路が更に、前記非構造化検索結果を前記構造化データセット内の選択された構造化データと結合させる、請求項７に記載のシステム。
【請求項９】
前記クエリ回路が更に、
前記非構造化検索結果についてのデータ識別子値を決定し、
該データ識別子値を有する構造化データセット中の構造化データオブジェクトを識別し、
前記非構造化データセットからの前記非構造化検索結果を前記構造化データセットからの前記構造化データオブジェクトと結合することにより結合済データを取得し、
該結合済データについて解析を実行する、
請求項７に記載のシステム。
【請求項１０】
前記クエリ回路が、
前記構造化データオブジェクトにおける外部キーを識別し、
前記構造化データセット中の別の構造化データオブジェクトを識別し、該別の構造化データオブジェクトが、前記外部キーである主キーを有するものであり、
該別の構造化データオブジェクトを前記非構造化検索結果及び前記構造化データオブジェクトと結合する
ことにより前記結合済データを取得する、請求項９に記載のシステム。
【請求項１１】
前記非構造化検索結果及び前記構造化データオブジェクトについての前記データ識別子値が、前記構造化データセット及び前記非構造化データセットへの入力データのデータ挿入プロセスを介して生成される、請求項９に記載のシステム。
【請求項１２】
実行可能命令を格納した持続性コンピュータ読み取り可能媒体であって、該実行可能命令が、
対応するデータタイプに従って変化する一組の予め設定されたクエリを維持し、該予め設定されたクエリが、該対応するデータタイプについて所定のビジネスルールに従ってそれぞれ生成されたものであり、
一組の所定のタームからユーザ検索選択を受信し、該ユーザ検索選択が、特定のデータタイプについてフィルタを指定するものであり、
前記特定のデータタイプに従って前記一組の予め設定されたクエリの中から特定の予め設定されたクエリを識別し、
該特定の予め設定されたクエリを構造化データセットについて実行することにより特定のデータタイプに関する一組の構造化データタームを決定し、
該一組の構造化データタームから非構造化検索クエリを生成し、
該非構造化検索クエリを非構造化データセットについて実行して非構造化検索結果を取得する、
持続性コンピュータ読み取り可能媒体。
【請求項１３】
前記実行可能命令が更に、
前記非構造化検索結果についてデータ識別子値を決定し、
該データ識別子値を有する構造化データセット中の構造化データオブジェクトを識別し、
前記非構造化データセットからの前記非構造化検索結果を前記構造化データセットからの前記構造化データオブジェクトと結合することにより結合済データを取得し、
該結合済データについて解析を実行する、
請求項１２に記載の持続性コンピュータ読み取り可能媒体。
【請求項１４】
前記実行可能命令が更に、
前記構造化データオブジェクトにおける外部キーを識別し、
前記構造化データセット中の別の構造化データオブジェクトを識別し、該別の構造化データオブジェクトが、前記外部キーである主キーを有するものであり、
該別の構造化データオブジェクトを前記非構造化検索結果及び前記構造化データオブジェクトと結合する
ことにより前記結合済データを取得する、請求項１３に記載の持続性コンピュータ読み取り可能媒体。
【請求項１５】
前記非構造化検索結果及び前記構造化データオブジェクトについての前記データ識別子値が、前記構造化データセット及び前記非構造化データセットへの入力データのデータ挿入プロセスを介して生成される、請求項１３に記載の持続性コンピュータ読み取り可能媒体。
【発明の詳細な説明】
【背景技術】
【０００１】
最近の技術の進歩は、膨大な量のデータの生成及び格納に拍車を掛けている。ウェブ検索エンジンは、インターネット上に散在する莫大な量のデータの検索をサポートする。企業は、財務記録、電子メールメッセージ、及び業務記録等を介して膨大な量のデータを生成する可能性がある。高精細度ビデオファイルは、膨大な量のオーディオ及びビデオデータをエンコードすることが可能なものである。
【発明の概要】
【発明が解決しようとする課題】
【０００２】
技術が発展し続けるため、複数の大規模データソース間における関連データの検索及び解析は次第に困難になってきている。
【図面の簡単な説明】
【０００３】
【図１】構造化データ、非構造化データ、又はその両方へのアクセスをサポートするデータシステムの一例を示している。
【図２】クエリ回路が実行することができる構造化データセットへのアクセスの一例を示している。
【図３】クエリ回路が実行することができる非構造化データセットへのアクセスの一例を示している。
【図４】クエリ回路が実行することができるデータ結合の一例を示している。
【図５】クエリ回路が実行することができるデータ解析の一例を示している。
【図６】クエリ回路が実施することができるデータ挿入の一例を示している。
【図７】クエリ回路が実施することができるロジックの一例を示している。
【図８】構造化データ、非構造化データ、又はその両方へのアクセスをサポートするコンピューティング装置の一例を示している。
【発明を実施するための形態】
【０００４】
図１は、構造化データ、非構造化データ、又はその両方へのアクセスをサポートするデータシステム100の一例を示している。構造化データは、一定のデータモデル又はスキーマに従うデータを称することが可能である。このため、構造化データは、データモデルにより指定されるレコード又はファイル内の一定のフィールド中に格納することが可能である。このため、構造化データの例として、リレーショナルデータベース、一定のスプレッドシートフィールド、XML（extensible markup language）ファイル、データウェアハウスストレージ、エンタープライズシステムレコード、会計レコード、統計ストレージ、センサレコード、ウェブログ、金融取引ログ、又は任意の特定のデータモデル又はデータスキーマに従うデータセットの一部として格納されたデータが挙げられる。一組の構造化データは、構造化データセットと称することが可能である。特定の一例として、データシステム100は、データシステム100は、リレーショナルデータベースとして実施された構造化データセットにアクセスすることが可能である。
【０００５】
非構造化データとは、一定のデータモデル又はスキーマに従わないデータを称することが可能である。このため、非構造化データは、前記データモデルで示したような特定の場所に格納されていないことが可能である。このため、非構造化データは、データファイルの所定フィールド内に格納されていない自由な形式のテキスト又はデータを称することが可能である。非構造化データはまた、非構造化ドキュメントと称することが可能であり、１つのデータファイルは複数の非構造化ドキュメントを含むことが可能であり、又は１つの非構造化ドキュメントは複数のデータファイルにまたがることが可能である。このため、非構造化ドキュメントは、テキスト又はワードプロセシングドキュメント、ウェブページ、ソーシャルサイト、イメージファイル、電子メールメッセージ、並びにディジタルオーディオ及び／又はビデオファイルなどに見いだすことができる。一組の非構造化データは、非構造化データセットと称することが可能であり、データシステム100は、非構造化データ管理システム（例えば、検索エンジン）を介して非構造化データセットにアクセスすることが可能である。検索エンジンは、非構造化データの効率的なアクセス及び検索をサポートするように非構造化ドキュメントに索引付けすることが可能である。
【０００６】
データシステム100は、構造化及び／又は非構造化データへのアクセスに関する様々な機能を実施するクエリ回路110を含むことが可能である。クエリ回路110は、ハードウェア及びソフトウェアの組み合わせといった任意の複数の態様で実施することが可能である。実施形態によっては、クエリ回路110は、プロセッサ、メモリ、又はその両方を含む。該メモリは、以下で説明するクエリ回路110の任意の機能又は特徴を実行するための実行可能命令を格納することが可能である。
【０００７】
クエリ回路110は、構造化及び非構造化データの両方を使用して様々な態様でデータシステム100二か苦悩されている関連データについて問い合わせを行うことが可能である。実施形態によっては、クエリ回路110は、構造化データを利用して非構造化データを読み出すことが可能である。かかる実施形態では、クエリ回路110は、構造化データセットから取得した一組のデータタームから非構造化データセット内への検索クエリを生成することが可能であり、その一例を図２及び図３に関して説明する。実施形態によっては、クエリ回路110は、非構造化データセットからの検索結果を、構造化データセット内の選択された構造化データと結合させることが可能であり、その一例を図４に関して示す。かかるクエリ回路110の例示的な特徴について次に説明する。
【０００８】
図２は、クエリ回路110が実行することができる構造化データセットに対する例示的なアクセスを示している。同図に示す例では、クエリ回路110は、構造化データ管理システム201を介して構造化データセットにアクセスする。該構造化データ管理システム201は、構造化データへのアクセスを制御する任意のシステム、装置、ロジック、又はアプリケーションとすることが可能である。例えば、構造化データ管理システム201は、リレーショナルデータベース管理システム（RDBMS）とすることが可能であり、該構造化データ管理システム201を介して格納される構造化データは、リレーショナルデータベースという形を取ることが可能である。図２の実施形態を再び参照すると、構造化データ管理システム201により管理される構造化データセットはテーブル211-216を含み、該テーブルは、データベース・スキーマを介して指定されるよう相互に連結し編成することが可能である。構造化データセット内のテーブルは、複数のデータフィールド及び複数のテーブルエントリを含むことが可能である。テーブル内の１つのエントリは、該テーブルの複数のデータフィールドについて複数の値を格納する該テーブル内の１つのデータ行を示すことが可能である。例えば、図２中のテーブル212は、「顧客」という名称が付され、及び「名前」データフィールド、識別「ID」データフィールド、及び「住所」データフィールドのための特定の値を格納するテーブルエントリ220を含む。
【０００９】
クエリ回路110は、構造化及び／又は非構造化データの特定のコレクション（collection）に対するアクセスを提供するよう設計されたデータシステム100の一部として実施することが可能である。ここで、構造化データセットを編成するために使用されるデータ・スキーマは、データシステム100により維持される特定のデータコレクションに対応することが可能である。一例として、データシステム100は、会社のドキュメントの検索能力を提供することが可能であり、構造化データ管理システム201により管理される構造化データセットを定義するスキーマは、例えば、顧客、金融取引、勘定残高、支出、及び税金等に関するデータを格納する複数のテーブルを定義することが可能である。別の例として、データシステム100は、スポーツイベントのビデオデータへの検索可能なアクセスを提供することが可能であり、構造化データセットを定義するスキーマは、選手、チーム、スポンサー、試合時間、スコア、及び統計等のデータを格納するテーブルを定義することが可能である。
【００１０】
クエリ回路110は、構造化及び／又は非構造化データにアクセスするためのユーザ検索選択221を受信することが可能である。該ユーザ検索選択221は、一組の所定のタームから（例えば、所与のユーザインタフェイスを介して）選択することが可能である。データシステム100は、該所定のタームを提供して、該データシステム100を介してアクセス可能なデータに関する選択をサポートすることが可能である。したがって、該所定のタームは、ドロップダウンメニュー、選択可能なタブ、及びボタンとして、又はユーザインタフェイスを介して提示される他の視覚的な指示によって、提示することが可能である。ユーザ検索選択221は、データシステム100に関する特定のデータタイプについてのフィルタを指定することが可能であり、実施形態によっては、顧客データ、金融取引データ、チームデータ、選手データ、又はデータシステム100によりサポートされる他の任意のタイプのデータのフィルタリングを含む。ユーザ検索選択221は、所定のデータタイプについてのフィルタ並びに一時的なフィルタ（例えば、特定の期間についてのデータ）といった多数のフィルタを指定することが可能である。
【００１１】
クエリ回路110は、特定のタイプのデータへのアクセスをサポートするために、一組の構造化データターム222を構造化データセットから読み出すことが可能である。構造化データタームは、１つの構造化データセットからの複数のデータタームを示すことが可能であり、該構造化データセットに格納された複数の特定の値とすることが可能である。このため、構造化データタームは、リレーショナルデータベース内の複数の特定のテーブルについての複数のデータフィールド値を含むことが可能である。特に、該読み出された一組の１つ以上の構造化データタームは、所与のデータタイプに関するものとすることが可能であり、このため、受信したユーザ検索選択221に応じて異なるものとなる。特に、該読み出された一組の構造化データタームは、ユーザ検索選択221で指定されたフィルタ内の特定のデータタイプに対応することが可能であり、及び該ユーザ検索選択221により指定された特定のデータタイプに応じて異なるものとなる。
【００１２】
ユーザ検索選択221の特定のデータタイプに関する一組の構造化データターム222の読み出しをサポートするために、クエリ回路110は、予め設定されたクエリ223を構造化データセットについて実行することが可能である。該構造化データセットについての該予め設定されたクエリ223の実行は、一組の構造化データターム222を返すことが可能である。クエリ回路110は、該予め設定されたクエリ223を、ユーザ選択フィルタにより指定された特定のデータタイプに応じて、一組の予め設定されたクエリの中から、選択することが可能である。換言すれば、クエリ回路110により選択された予め設定されたクエリ223は、ユーザ検索選択221に応じて変化し得るものである。クエリ回路110は、対応するデータタイプに従って変化する一組の予め設定されたクエリを維持することが可能である。該予め設定されたクエリは、構造化データセットにアクセスするためのSQL（Structured Query Language）クエリという形を取ることが可能である。該予め設定されたクエリは、構造化データセットを定義するために使用される特定のスキーマによって決まり、及びユーザ検索選択221により指定されたデータタイプに固有の構造化データセット内に格納されている特定のテーブル、データフィールド、キー、又はその他のデータへのアクセスを指定することが可能である。
【００１３】
クエリ回路110により維持される予め設定されたクエリ223は、所定のビジネスルールに従って生成することが可能である。該所定のビジネスルールは、特定のデータを、予め設定されたクエリ223に対応する特定のデータタイプに関するものとして識別することが可能なものである。したがって、該予め設定されたクエリ223は、該所定のビジネスルールにより指定された関連するデータに対応する特定のデータフィールドにアクセスするために、構造化データセットのスキーマを詳細に説明するよう生成することが可能である。一例として、所定のビジネスルールは、特に、顧客名、関連する企業、及び住所を「顧客」データタイプに関連するものとして識別することが可能である。予め設定されたクエリ223は、所定のビジネスルールにより指定された関連するデータを読み出すために構造化データセット中の特定のデータフィールドにアクセスするよう生成することが可能である。構造化データセットのスキーマを説明するために、予め設定されたクエリ223は、関連するデータを一組の構造化データターム222として読み出すために、任意の数の選択操作、テーブル結合操作、又はその他のデータアクセス操作を含むことが可能である。予め設定されたクエリ223は、例えば、関連するデータのビジネス知識を利用して、特に所定のビジネスルールに従って特定のデータタイプに関連する構造化データタームを読み出すように、アプリケーション開発者、データベース管理団体、又はデータ設計者により生成され又は設定されることが可能である。
【００１４】
所定のビジネスルールは、予め設定されたクエリ223に対応する特定のデータタイプにデータが関連する度合いを指定することが可能である。クエリ回路110は、例えば、予め設定されたクエリ223を実行することにより返された複数の構造化データターム222の中の１つの構造化データタームのための重みを決定することが可能である。実施形態によっては、構造化データセット中のエントリが、特定のデータフィールドのための重み値を格納することが可能である。この実施形態では、リレーショナルデータベース中の所与のテーブルは、該テーブル内に格納された１つ以上の他のデータフィールドの重みを指定する重みデータフィールドを含むことが可能である。実施形態によっては、予め設定されたクエリ223自体が、構造化データタームのための重みを含むことが可能であり、該重みは、該予め設定されたクエリ223内にエンコードすることが可能である。
【００１５】
構造化データセット内の特定のデータフィールドの重みは、該特定のデータフィールドのデータが同じままであったとしても、クエリ回路110がアクセスしている特定のデータタイプによって変化し得る。例えば、顧客「名前」データフィールドは、顧客データタイプについては一層大きな重みを有することが可能であり、及び金融取引データタイプについては一層小さな重みを有することが可能である。この例では、顧客データタイプに固有の予め設定されたクエリは、顧客「名前」データフィールドについて一層大きな重みをエンコードし又は返し、金融取引データタイプに固有の予め設定されたクエリは、顧客「名前」データフィールドについて一層小さな重みをエンコードし又は返すことが可能である。実施形態によっては、予め設定されたクエリ223は、数値データフィールドに対して一層小さな重みを付与し又は重みを付与しない。
【００１６】
上述のように、クエリ回路110は、予め設定されたクエリ223を構造化データセット上で実行することにより、該構造化データセットから一組の構造化データターム222を取得することが可能である。クエリ回路110により読み出された該一組の構造化データターム222は、該クエリ回路110により受信されたユーザ検索選択221に応じて変化し得る。次いで、クエリ回路110は、該一組の構造化データターム222を使用して非構造化データにアクセスすることが可能である。
【００１７】
図３は、クエリ回路110が実行することが可能な非構造化データセットへのアクセスの一例を示している。実施形態によっては、非構造化データセットは、非構造化ドキュメントを格納したドキュメントリポジトリとして実施される。該ドキュメントリポジトリは、非構造化データ管理システム320を介してアクセスし及び管理することが可能である。非構造化データ管理システム320は、ドキュメントリポジトリ内の非構造化ドキュメントのアクセス及び検索を制御することが可能である。実施形態によっては、非構造化データ管理システム320は、ドキュメントリポジトリ内の複数の非構造化ドキュメント間で１つ以上のキーワードについて検索することが可能な検索エンジン321を含む。非構造化データセット内への検索から返された結果は、非構造化検索結果と称することが可能であり、該非構造化検索結果は、該検索により返された１つ以上の非構造化ドキュメントを含むことが可能である。このため、検索エンジン321は、ドキュメントリポジトリ内に検索クエリを実行して、非構造化検索結果を、該検索クエリによって返された１つ以上の関連する非構造化ドキュメントとして返すことが可能である。
【００１８】
クエリ回路110は、非構造化データセット内への検索クエリと称することができる非構造化検索クエリ331を生成することが可能である。特に、クエリ回路110は、構造化データセットから読み出した一組の構造化データターム222から非構造化検索クエリ331を生成することが可能である。実施形態によっては、クエリ回路110は、非構造化クエリ生成機能を一組の構造化データターム222に適用して非構造化検索クエリ331を生成する。該構造化クエリ生成機能は、一組の構造化データターム222を入力として受け取り、例えば以下で説明する方法及び技術に従って、非構造化データ管理システム320によりサポートされる形式で非構造化検索クエリ331を出力することが可能である。
【００１９】
実施形態によっては、クエリ回路110自体が非構造化検索クエリ331を生成する。該クエリ回路110は、該非構造化検索クエリ331内の検索タームに構造化データタームを追加することが可能であり、これにより所定のビジネスルールにより指定される関連するタームが非構造化データセット内で確実に検索されることになる。クエリ回路110は、特に検索エンジン321に入力するための非構造化検索クエリ331を生成することが可能である。したがって、クエリ回路110は、検索エンジン321によりサポートされる構文で非構造化検索クエリ331を生成することが可能である。
【００２０】
クエリ回路110は、非構造化検索クエリ331を生成する際に、構造化データタームの重みを説明する（account for）ことが可能である。一組の構造化データターム222が、１つ以上の構造化データタームの重みを含む場合、クエリ回路110は、非構造化検索クエリ331を生成する際にそれぞれの重みについて説明することが可能である。検索エンジン321の構文が、クエリ内のキーワード（例えば、検索ターム）に対する重みの付与をサポートする場合、クエリ回路110は、該構文に違って該重みの付与を行う。検索エンジン321の構文が、クエリ内の検索タームに対する重みの付与をサポートしない場合には、クエリ回路110は、（例えば、非構造化検索クエリ331内で検索タームを複数回複製して該複製されたタームを暗黙的に重み付けすることにより）特定の検索タームについての重み付けを暗黙的に含むよう非構造化検索クエリ331を調整することが可能である。
【００２１】
実施形態によっては、クエリ回路110は、非構造化検索クエリ331を生成する際に重み付け基準を付与する。例えば、クエリ回路110は、非構造化検索クエリ331を生成する際に、最小重み閾値を付与することが可能である。かかる例では、クエリ回路110は、特定の構造化データタームのそれぞれの重みが該最小重み閾値を超える場合に、非構造化検索クエリ331内のキーワードとして特定の構造化データタームを含む。しかし、それぞれの重みが該最小重み閾値を超えない場合には、非構造化検索クエリ331から該特定の構造化データタームを省略することが可能である。実施形態によっては、クエリ回路110は、最大重み閾値を付与し、構造化データタームのそれぞれの重みが該最大重み閾値を超える場合に非構造化検索クエリ331から構造化データタームを除外する。
【００２２】
非構造化検索クエリ331を生成すると、クエリ回路110は、非構造化データセットについて非構造化検索クエリ331を実行することが可能である。例えば、クエリ回路110は、非構造化検索クエリ331を非構造化データ管理システム320へ送信し実行して非構造化データを読み出すことが可能である。クエリ回路110は、非構造化検索クエリ331の実行結果として非構造化検索結果332を受信することが可能である。該非構造化検索結果332は、検索エンジン321により返された１つ以上の構造化データターム222を含む非構造化ドキュメントを含むことが可能である。該非構造化検索結果332は、関連性に従って順序づけすることが可能であり、該関連性は、非構造化ドキュメントが特定の構造化データタームを含む度合い、非構造化検索クエリ331で指定された重み、又は検索エンジン321により付与された他の関連する要因といった様々な要因に従って検索エンジン321が決定することが可能である。
【００２３】
このため、クエリ回路110は、構造化データ（例えば、構造化データターム222）を使用して生成された非構造化検索クエリ331から返された非構造化データ（例えば、非構造化検索結果332）を受信することが可能である。構造化データの使用を介して非構造化データを読み出すことにより、クエリ回路110は、改善された精度、関連性、及び効率を有するデータ検索をサポートすることが可能となる。更に、予め設定されたクエリ223を生成するために使用される所定のビジネスルールは、構造化データセット内の特に関連するデータを識別することが可能であるため、クエリ回路110により取得される非構造化検索結果332は、ユーザ検索選択221に精確で関連性の高い結果を提供することが可能である。実施形態によっては、クエリ回路110は、非構造化検索結果332を（例えば、ユーザインタフェイスを介して非構造化検索結果332を提示することにより）ユーザに返す。別の実施形態では、クエリ回路110は、構造化データセット、非構造化データセット、又はその両方から関連するデータを更に識別するために、非構造化検索結果332を更なる構造化データと結合させることが可能である。
【００２４】
図４は、クエリ回路110が実行することが可能なデータの結合の一例を示している。特に、クエリ回路110は、非構造化検索結果332を受信して、該非構造化検索結果332を構造化データセット中の選択された構造化データと結合させることが可能である。例えば、クエリ回路110は、結合命令411を実行して、構造化データセットから選択された構造化データを結合して結合済データ312を取得することが可能である。クエリ回路110は、非構造化検索結果332中の１つ以上の非構造化ドキュメントに対応する構造化データを結合のために選択することが可能である。こうすることにより、クエリ回路110は、非構造化検索結果に対応する構造化データを様々な態様で識別することが可能であり、その幾つかの例を次に提示する。
【００２５】
実施形態によっては、クエリ回路110は、非構造化検索結果のデータ識別子値を構造化データオブジェクトのデータ識別子値と一致させることが可能である。１つの非構造化検索結果（例えば、１つの非構造化ドキュメント）は、１つ以上の関連づけされたデータ識別子値を含むことが可能である。該関連づけされたデータ識別子値は、非構造化ドキュメントについてのメタデータの一部として含めることが可能である。構造化データオブジェクト（例えば、テーブル、エントリ、データフィールド、又はその他の構造化データの要素）は、同様にデータ識別子値を含むことが可能である。データ識別子は、テーブル中の１つのデータフィールド、構造化データ管理システム201により維持されるメタデータの一部、又はそれ以外の任意の多数の態様で構造化データオブジェクトに関連付けられたものとすることが可能である。かかるデータ識別子値は、構造化データセット及び非構造化データセットの両方にわたって適用されるため、グローバル識別子値またはユニバーサル識別子値と称することが可能である。
【００２６】
データ識別子値の一致は、非構造化ドキュメント及び構造化データオブジェクトが互いに対応するものであることを示すことが可能である。該非構造化ドキュメント及び構造化データオブジェクトは、解析済みの共通の入力データであってその一部が構造化データセット、非構造化データセット、又はその両方に挿入済である共通の入力データに対応することが可能である。一例として、データシステム100に挿入される入力データは、特定の電子メールメッセージを含むことが可能である。該電子メールメッセージの解析の結果として、構造化データセットへの構造化データオブジェクトの（例えば、該特定の電子メールメッセージに関する日付、送信者、及び受信者を格納する「通信」テーブル中へのテーブルエントリの）挿入が生じることになる。該特定の電子メールメッセージ自体は、非構造化データとして識別され、及び格納のために検索エンジン321により索引付けされることが可能である。共通のデータ識別子値を生成して、該電子メールメッセージと該電子メールメッセージのための「通信」テーブル内へのテーブルエントリとの両方に関連付けすることが可能である。このため、検索エンジン321が次いで該電子メールメッセージを非構造化検索結果332の一部として返す際に、クエリ回路110は、データ識別子値の突き合わせを行って、「通信」テーブル中のエントリを対応する構造化データとして識別することが可能である。
【００２７】
データ識別子値の突き合わせ星の一例を図４に示す。同図において、非構造化検索結果332は、データ識別子値「A」を有する非構造化ドキュメントを含む。構造化データ管理システム201により管理される構造化データセット中のテーブル211もまた、データ識別子値「A」を有する構造化データオブジェクト（例えば、テーブルエントリ又はテーブル自体）を含む。このため、図４では、クエリ回路110は、テーブル211を、一致する識別子値を有する選択された構造化データとして識別し、該テーブル211を非構造化検索結果332に結合して、該テーブル211からの構造化データを含む結合済データ412を取得する。
【００２８】
実施形態によっては、クエリ回路110は、構造化データ中の更なるデータオブジェクトが非構造化検索結果と一致するデータ識別子値を有さない場合であっても、該更なるデータオブジェクトを対応する構造化データとして識別することが可能である。一例として、クエリ回路110は、一致するデータ識別子値を有する対応するテーブル（例えば、テーブル211）における外部キー（foreign key）を識別することが可能である。クエリ回路110は更に、該識別された外部キーを主キー（primary key）として有する構造化データセット中の別のテーブルを結合することが可能である。別の例として、クエリ回路110は、（例えば、時間的な制約（例えば、特定の期間）又は空間的若しくは位置的な制約（例えば、非構造化ドキュメントの特定の位置、空間、領域、又はその他の部分における非構造化データ）に従って、又は構造化データオブジェクトの任意の他の特徴、データフィールド、若しくはディメンションにわたって）テーブル内の構造化データについて自己結合（self-join）を実行することが可能である。更に別の実施形態として、クエリ回路110は、一致する構造化データオブジェクトに対応する又は相関するファクトテーブル又はディメンションテーブルを（例えば、外部キーの関係を介して）識別することが可能である。
【００２９】
クエリ回路110は、結合命令411による結合のためにどの特定の構造化データが選択されるかを制御することが可能である。ここで、クエリ回路110は、非構造化検索結果332と結合されるべき選択された構造化データを指定するよう結合命令411を生成することが可能である。結合済データ412は、一致するデータ識別子を有する構造化データオブジェクト（例えば、図４のテーブル211）、一致するデータ識別子を有さないが１つ以上の非構造化検索結果と対応する構造化データ（例えば、図４のテーブル215（テーブル211と外部-主キー関係を共有するもの））、又はその両方を含むことが可能である。クエリ回路110は、ユーザインタフェイスを介して結合済データ412を提示すること及び／又は該結合済データ412について解析を実行することが可能である。
【００３０】
図５は、クエリ回路110が実行することが可能なデータ解析の一例を示している。クエリ回路110は、検索結果データ510を受信することが可能であり、該検索結果データ510は、非構造化検索結果332、結合済データ412、及び該クエリ回路110が解析することができる任意の他の構造化又は非構造化データのあらゆる組み合わせを含むことが可能である。クエリ回路110は、該検索結果データ510を解析してデータ解析結果520を取得することが可能である。
【００３１】
クエリ回路110は、データ解析の一部として検索結果データ510について様々な結合、統合（aggregate）、又は計算操作を実行することが可能である。一例として、クエリ回路110は、検索結果データを解析して特定のタームが現れた回数（特定タームのカウントと称す）を決定することが可能である。別の例として、クエリ回路110は、指定されたグループ分けに従って検索結果データ510をグループ分けし、及び各グループ分け毎に結果をカウントする、グループ別カウント操作を実行することが可能である。クエリ回路110は、ユーザ検索選択221により指定されたデータタイプに従って検索結果データ510をグループ分けすることが可能であり、例えば、スポーツイベントでの特定のチームにより検索結果データをグループ分けし、及び様々なチームが検索結果データ510に現れるそれぞれのカウントを決定することが可能である。更に別の例として、クエリ回路110により実行されるデータ解析は、特定の期間、空間的な制約、又は任意の他のデータディメンション又は特徴にわたる検索結果データ510のフィルタリング、及び該フィルタリング後のデータについての後続の解析の実行を含むことが可能である。
【００３２】
幾つかの例示的な解析について説明したが、クエリ回路110は、任意の数の他のデータ解析技術をデータ解析の一部として実行してデータ解析結果520を取得することが可能である。クエリ回路110は、ユーザにより入力されたユーザ検索選択221の結果を提供することができるユーザインタフェイスを介してデータ解析結果520を提示することが可能である。
【００３３】
図６は、クエリ回路110が実行することが可能なデータ挿入の一例を示している。クエリ回路110は、データシステム100への入力データ601の解析及び挿入をサポートすることが可能である。該入力データ601は、データシステム100が格納し、解析し、又はアクセスをサポートするあらゆるデータとすることが可能である。ここで、入力データ601は、データシステム100の特定の機能又は目的に応じて変化し得る。実施形態によっては、入力データ601は、企業の業務記録及びドキュメントを含み、このため、電子メールメッセージ、金融取引記録、法的文書、組織のスプレッドシートなどを含むことが可能である。実施形態によっては、入力データ601は、データシステム100により実行される特定のビデオ解析（例えば、スポーツチーム又はイベントのビデオのトラッキング、複数の地理的な場所にわたるニュースイベントの解析、又は複数のテレビ番組にわたるプロダクト・プレイスメントの有効性の決定）のためのビデオデータを含むことが可能である。
【００３４】
クエリ回路110が入力データ601を解析するために採用することができる解析、方法、及び技術は、ほぼ無限である。例えば、クエリ回路110は、光学式文字認識（OCR）を実行して入力データ601からテキストを抽出することが可能であり、該OCRは、テキストに関連する位置データ（例えば、テキストが発生するドキュメント又はビデオフレーム中の位置、テキストが発生するときのタイミング情報など）、時間データ（例えば、特定のテキストが発生するときの時刻記録）、又はその他のデータの識別を含むことが可能である。クエリ回路110は、ビデオファイルの音声部分をテキストへと転記し、該転記のテキスト解析を更に実行して特定のタームの発生を識別することが可能である。更に別の実施形態として、クエリ回路110は、顔認識技術を実行してビデオデータ中に現れる人を識別し、該顔認識が特定の人を識別している間に前記音声の転記へとリンクすることが可能である。これらは、クエリ回路110が入力データ601について実行することができる解析を幾つか例示したものに過ぎない。
【００３５】
入力データ601の解析の結果として、構造化データセットに挿入するための構造化データが得られる。すなわち、クエリ回路110は、構造化データセットに挿入するために入力データ601から抽出された特定のデータを識別することが可能であり、該特定のデータは、該構造化データセットの特定のスキーマ又はデータモデルに応じて変化し得る。クエリ回路110は、例えば、構造化データ管理システム201により管理されるリレーショナルデータベース内にテーブルエントリを挿入することを決定することが可能である。該テーブルエントリは、特定の非構造化ドキュメント又はその一部（例えば、特定のビデオフレーム又は一連のビデオフレーム、特定の電子メールメッセージ、特定のスプレッドシート等）の解析の結果として得ることが可能である。したがって、クエリ回路110は、構造化データオブジェクト（例えば、挿入のためのテーブルエントリ）と、該構造化データオブジェクトを生成する非構造化ドキュメントとの間の対応関係を識別することが可能である。
【００３６】
クエリ回路110は、互いに対応する構造化データオブジェクト及び非構造化ドキュメントについて共通に生成されたデータ識別子値を取得することが可能である。該データ識別子値は、入力データ601の挿入プロセスを介して共通に生成することが可能である。図６の実施形態に示すように、クエリ回路110は、所与のデータ識別子値を有する所与のテーブルエントリについての挿入命令（命令611）を構造化データ管理システム201へ送信する。図６において、クエリ回路110は、該データ識別子値を有する対応する非構造化ドキュメントについての挿入命令（命令612）を送信する。
【００３７】
クエリ回路110は、対応する構造化データ及び非構造化データに対するデータ識別子値を様々な方法で取得することが可能である。実施形態によっては、クエリ回路110自体が該データ識別子値を生成することが可能である。実施形態によっては、クエリ回路110は、非構造化データ管理システム320からデータ識別子値を受信することが可能であり、該データ識別子値は検索エンジン321により生成することが可能である。かかる実施形態では、検索エンジン321は、データ識別子値を生成して非構造化ドキュメントのメタデータに挿入することが可能である。クエリ回路110は、非構造化ドキュメントに関連づけされたデータ識別子値を受信し、該データ識別子値を、該非構造化ドキュメントの解析に伴う（例えば、該解析により生成され又は決定された）構造化データオブジェクトと共に挿入することが可能である。実施形態によっては、クエリ回路110は、構造化データ管理システム201（例えば、RDBMS）により生成されたデータ識別子値を受信し、及び非構造化ドキュメントをその索引付け及び格納のために検索エンジン321へ送信する際に１つ以上の関連づけされたデータ識別子値を送信することが可能である。
【００３８】
図７は、クエリ回路110が実施することが可能なロジック700の一例を示している。クエリ回路110は、該ロジック700を、ハードウェア、ソフトウェア、又はそれらの組み合わせ（例えば、プロセッサ実行可能命令を格納したマシン読み取り可能媒体）として実施することが可能である。
【００３９】
クエリ回路110は、一組の所定のタームからのユーザ検索選択221を受信することが可能であり、該ユーザ検索選択221は、特定のデータタイプについてのフィルタを指定するものである（702）。これに応じて、クエリ回路110は、前記特定のデータタイプについて、予め設定されたクエリ223にアクセスし、該予め設定されたクエリ223は、該特定のデータタイプについて所定のビジネスルールに従って生成されたものである（704）。次いで、クエリ回路110は、該予め設定されたクエリ223を構造化データセットについて実行して一組の構造化データターム222を取得し（706）、該一組の構造化データターム222に非構造化クエリ生成機能を適用して非構造化検索クエリ331を生成する（708）。クエリ回路110は、該非構造化検索クエリ331を（例えば、検索エンジン321へ送信して実行させることにより）非構造化データセットについて実行することが可能である。
【００４０】
図８は、構造化データ、非構造化データ、又はその両方へのアクセスをサポートするコンピューティング装置800の一実施形態を示している。ここで、該コンピューティング装置800は、（上述のクエリ回路110の任意の機能を含む）本書で説明した任意の機能を実施することが可能である。コンピューティング装置800は、プロセッサ810を含むことが可能である。該プロセッサ810は、１つ以上の中央処理装置（CPU）、マイクロプロセッサ、及び／又はコンピュータ読み取り可能媒体（例えば、メモリ）上に格納された命令を実行するのに適した任意のハードウェア装置とすることが可能である。コンピューティング装置800は、コンピュータ読み取り可能媒体820を含むことが可能である。該コンピュータ読み取り可能媒体820は、図８に示すクエリ命令822等の実行可能命令を格納する任意の電子的、磁気的、光学的、又はその他の物理的な記憶装置とすることが可能である。このため、コンピュータ読み取り可能媒体820は、例えば、RAM（Random Access Memory）、EEPROM（Electrically-Erasable Programmable Read-Only Memory）、ストレージドライブ、及び光ディスク等とすることが可能である。
【００４１】
コンピューティング装置800は、コンピュータ読み取り可能媒体820上に格納された命令をプロセッサ810により実行することが可能である。該命令の実行は、本書で説明した任意の機能をコンピューティング装置800に行わせる。特定の一例がクエリ命令822を介して図８に示されている。クエリ命令822の実行は、上述したクエリ回路110の機能の任意の組み合わせをコンピューティング装置800に行わせ、例えば、対応するデータタイプに従って変化する（該対応するデータタイプについて所定のビジネスルールに従ってそれぞれ生成された）一組の予め設定されたクエリを維持し、一組の所定のタームから（特定のデータタイプについてのフィルタを指定する）ユーザ検索選択221を受信し、該特定のデータタイプに従って前記一組の予め設定されたクエリの中から特定の予め設定されたクエリ223を識別し、構造化データセットについて前記特定の予め設定されたクエリ223を実行することにより特定のデータタイプに関連する一組の構造化データターム222を決定し、該一組の構造化データターム222から非構造化検索クエリ331を生成し、及び非構造化データセットについて該非構造化検索クエリ331を実行して非構造化検索結果332を取得することをコンピューティング装置800に行わせる。
【００４２】
上述した方法、装置、システム、及びロジック（クエリ回路110を含む）は、ハードウェア、ソフトウェア、又はその両方の任意の様々な組み合わせにより多数の異なる態様で実施することが可能である。例えば、クエリ回路110の全部又は一部は、コントローラ、マイクロプロセッサ、又はASIC（Application Specific Integrated Circuit）に含まれることが可能であり、又は別個のロジック若しくはコンポーネント、又は単一の集積回路上に組み込まれ若しくは複数の集積回路に分散された他のタイプのアナログ若しくはディジタル回路の組み合わせとして実施することが可能である。上述の回路、システム、装置、及びロジックの全部又は一部は、プロセッサ、コントローラ、又はその他の処理装置により実行するための命令として実施することが可能であり、及び有形の若しくは持続性のマシン読み取り可能若しくはコンピュータ読み取り可能媒体（例えば、フラッシュメモリ、RAM、ROM（Read Only Memory）、EPROM（Erasable Programmable Read Only Memory）、又は、CD-ROM（Compact Disc Read Only Memory）、磁気ディスク、又は光ディスクといった他のマシン読み取り可能媒体）に格納することが可能である。このため、コンピュータプログラム製品といった製品は、記憶媒体及び該記憶媒体に格納されたコンピュータ読み取り可能命令を含むことが可能であり、該コンピュータ読み取り可能命令は、エンドポイント、コンピュータシステム、又はその他の装置で実行された際に、任意の上記説明に従って処理を該装置に実行させる。
【００４３】
本書で説明したシステム、装置、及び回路（クエリ回路110を含む）の処理能力は、複数のシステム要素（例えば、複数のプロセッサ及びメモリ（随意選択的に複数の分散された処理システムを含む））にわたって分散させることが可能である。パラメータ、データベース、及びその他のデータ構造は、別個に格納し管理することが可能であり、単一のメモリ又はデータベースに組み込むことが可能であり、多数の異なる態様で論理的に及び物理的に編成することが可能であり、及び、リンクリスト、ハッシュテーブル、又は暗黙の（implicit）ストレージ機構といったデータ構造を含む多数の態様で実施することが可能である。プログラムは、単一のプログラムの一部（例えば、サブルーチン）、複数の別個のプログラム、複数のメモリ及びプロセッサにわたって分散されたものとすることが可能であり、又は共有ライブラリ（例えば、DLL（Dynamic Link Library））等のライブラリといった多数の異なる態様で実施することが可能である。該DLLは、例えば、上述したシステムの任意の処理を行うコードを格納することが可能である。様々な実施形態について説明したが、更に多くの実施形態を実施可能であることが当業者には自明であろう。
【００４４】
幾つかの例示的な実施形態について説明した。追加的又は代替的な実施形態を実施することが可能である。
【図１】
2017537398.tif 000003
【図２】
2017537398.tif 000004
【図３】
2017537398.tif 000005
【図４】
2017537398.tif 000006
【図５】
2017537398.tif 000007
【図６】
2017537398.tif 000008
【図７】
2017537398.tif 000009
【図８】
2017537398.tif 000010
【国際調査報告】
2017537398.tif 000011
2017537398.tif 000012
2017537398.tif 000013