JP6843882B2 - 履歴ログからの学習と、etlツール内のデータアセットに関するデータベースオペレーションの推奨 - Google Patents

履歴ログからの学習と、etlツール内のデータアセットに関するデータベースオペレーションの推奨 Download PDF

Info

Publication number
JP6843882B2
JP6843882B2 JP2018555888A JP2018555888A JP6843882B2 JP 6843882 B2 JP6843882 B2 JP 6843882B2 JP 2018555888 A JP2018555888 A JP 2018555888A JP 2018555888 A JP2018555888 A JP 2018555888A JP 6843882 B2 JP6843882 B2 JP 6843882B2
Authority
JP
Japan
Prior art keywords
data
database
model
application
context data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2018555888A
Other languages
English (en)
Other versions
JP2019519027A (ja
JP2019519027A5 (ja
Inventor
アトレイー デイ、
アトレイー デイ、
サンジェイ カルスカル、
サンジェイ カルスカル、
ダーンシング、ウダヤクマール
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Informatica LLC
Original Assignee
Informatica LLC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Informatica LLC filed Critical Informatica LLC
Publication of JP2019519027A publication Critical patent/JP2019519027A/ja
Publication of JP2019519027A5 publication Critical patent/JP2019519027A5/ja
Application granted granted Critical
Publication of JP6843882B2 publication Critical patent/JP6843882B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/25Integrating or interfacing systems involving database management systems
    • G06F16/254Extract, transform and load [ETL] procedures, e.g. ETL data flows in data warehouses
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/23Updating
    • G06F16/2358Change logging, detection, and notification
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2457Query processing with adaptation to user needs
    • G06F16/24575Query processing with adaptation to user needs using context
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/25Integrating or interfacing systems involving database management systems
    • G06F16/258Data format conversion from or to a database
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/28Databases characterised by their database models, e.g. relational or object models
    • G06F16/283Multi-dimensional databases or data warehouses, e.g. MOLAP or ROLAP
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/903Querying
    • G06F16/9032Query formulation
    • G06F16/90324Query formulation using system suggestions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Mathematical Physics (AREA)
  • Computational Linguistics (AREA)
  • Evolutionary Computation (AREA)
  • Computing Systems (AREA)
  • Medical Informatics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Artificial Intelligence (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

本出願は2016年4月26日に出願された米国非仮出願第15/139,186号の優先権を主張し、その開示は、その全体が参照により本明細書に組み込まれる。
本開示は一般に、データベース管理システムおよびデータウェアハウスにおけるデータプロセスの抽出、変換、およびロードに関し、より詳細には、データ閲覧および編集環境において表示されるデータのためのデータベースオペレーションを決定し、推奨するためのコンピュータ実行方法に関する。
データウェアハウスの分野では、複数の外部データソースからのデータが通常、内部データベース管理システムに取り込まれるときに、抽出(extract)、変換(transform)、およびロード(load)(ETL)プロセスを介して遷移する。ETLプロセスの一部として、データは、(i)1つまたは複数のデータソースから抽出され、(ii)内部データソースのビジネス要件および技術要件に従ってプログラム変換され、(iii)内部データベース管理システムのターゲットデータストアにロードされる。一旦システムに入ると、データは、様々なデータベースオペレーションを使用してシステムユーザによって操作され得る。多くの場合、ユーザは膨大な量のデータを扱っており、一部のユーザは、データベース管理アプリケーションがデータを処理するためにサポートするデータベースオペレーションに慣れていないか、またはデータベース管理システム内でデータを処理する最も効率的な方法を知らない。この問題に対処するのに十分な知識および経験を獲得することは、特に、一時ユーザまたは多くのタイプのデータを扱うユーザにとって困難であり、時間がかかる可能性がある。
データ解析サーバは、機械学習予測モデルを使用して、プログラム的に決定された推奨データベース動作を、データ解析アプリケーションの習熟度が低いユーザ(ガイド付きユーザ)に提供するように構成される。予測モデルは、データベース内の類似データに関する上級ユーザ(トレーニングユーザ)によるデータベースオペレーション入力から学習される。予測モデルは、熟練度の低いユーザがどのデータベースオペレーションがデータに適しているかを選択するプロセスを改善することによって、データベースを操作する際の効率を改善することを可能にする。
データ解析サーバは、以前のデータベースユーザによるデータベースオペレーションの履歴データを使用して、ETLツールのユーザにデータベースオペレーションを推奨するための予測モデルを構築する。データプロファイリングモジュールは、選択されたユーザグループに提示され、ユーザによって操作されるデータベーステーブルおよびテーブルセット(プロジェクト)のコンテキストデータを維持するように構成される。コンテキストデータは、テーブルおよびプロジェクトのメタデータを含む。データベースオペレーション履歴モジュールは、テーブルおよびプロジェクト上のデータベースオペレーションの履歴データを維持するように構成される。本明細書で使用されるデータベースオペレーションは、ETLによってサポートされ、変換または変更されたデータセットを生成するために特定のデータに対して実行されるプログラム操作である。特定のデータベースオペレーションには、ジョイン(コンバイン)、結合(マージ)、フィルタ、フォーミュラ、ルックアップ、列分割、列追加(データ拡張)、パターン認識および不整合修正、データクレンジング、データ整合、データ標準化などが含まれる。データベース演算は、数学的演算、方程式などのデータに対する演算をさらに含むことができる。
データベースオペレーション推奨モジュールはデータベースオペレーションをユーザに推奨するための予測モデルを構築し、トレーニングし、使用するように構成される。データベースオペレーション推奨モジュールは維持されたデータベースオペレーション履歴データおよびコンテキストデータを使用してモデルをトレーニングし、それによって、どのコンテキストデータが特定のデータベースオペレーションの適用を予測するかを決定する。ガイド付きユーザによるデータベースの使用中に、リアルタイムでガイド付きユーザに対する推薦を生成するために、データベースオペレーション推薦モジュールはガイド付きユーザによってアクセスされている特定のテーブルまたはプロジェクトに対するコンテキストデータを受信し、予測モデルを使用してそのテーブルまたはプロジェクトに対して実行する1つまたは複数の推薦データベースオペレーションを決定する。
データ解析アプリケーションのグラフィカルユーザインタフェースは、データセクション、情報セクション、および様々なユーザインタフェース制御を含む。データセクションは、分析用のテーブルを表示するためのものである。情報セクションは、テーブルのスキーマ定義に基づいて、テーブルのプロファイル情報を表示するものである。コンポジットデータ制御はテーブル間の少なくとも1つのマッチング列に基づいてテーブルをコンポジットテーブルに統合するデータベースオペレーション(同等には、データベースコマンド)を受け取るためのものである。複合データ制御は、様々な統一データベースオペレーションのための複数の異なる制御であってもよい。UIの推薦制御は、データベースオペレーション推薦モジュールによって決定された推薦データベースオペレーションを表示するためのものである。
本明細書に記載される特徴および利点はすべてを包含するものではなく、特に、多くの追加の特徴および利点が、図面、明細書、および特許請求の範囲を考慮して、当業者には明らかであろう。さらに、本明細書で使用される言語は主に、読みやすさおよび説明の目的のために選択されており、本発明の主題を描写または限定するために選択されていない場合があることに留意されたい。
図1は、一実施形態による、データ解析アプリケーションにおいて、データベースオペレーションの履歴ログから予測モデルを生成し、データに対するデータベースオペレーションを推奨するコンピューティング環境の高レベルブロック図である。 図2は、一実施形態によるデータベースオペレーション推薦モジュールのより詳細な図を示す。 図3は、予測モデルをトレーニングする際に使用するための特徴およびクラスを示す例示的なデータテーブルである。 図4は、一実施形態による、データ解析アプリケーションにおいてデータを閲覧および操作するためのユーザインタフェースの一例を示す。 図5Aは一実施形態による、データ解析アプリケーションのガイド付きユーザに対してデータベースオペレーションを決定し推奨するための予測モデルを構築し、トレーニングするための方法を示すフローチャートである。 図5Bは、一実施形態による、データ解析アプリケーションのガイド付きユーザにデータベースオペレーションを推薦するためにトレーニングされた予測モデルを使用する方法を示すフローチャートである。 図6は、一実施形態による、選択された列に応答して提供される推奨を備えた、図3の例示的なユーザインタフェースを示す。 図7は、データ解析アプリケーションにおいて、データ解析サーバから受信した推奨データベースオペレーションおよびオペランドを提示するための方法を示すフローチャートである。
システムのアーキテクチャ
図1は、一実施形態による、データ解析アプリケーションにおいて、データベースオペレーションの履歴ログから予測モデルを生成し、データに対するデータベースオペレーションを推奨するコンピューティング環境100の高レベルブロック図である。
示されるように、コンピューティング環境100は、データリポジトリ102、データ解析サーバ104、およびデータ解析アプリケーション125を含む。
複数のデータリポジトリ102(本明細書では個別にデータリポジトリ102とも呼ぶ)は、データを管理するための1つまたは複数のシステムを含む。各データリポジトリ102は、データリポジトリ102内に格納されたデータにアクセスして更新するためのチャネルを提供する。データリポジトリ102内のデータは、ユーザ、ユーザのグループ、エンティティ、および/またはワークフローに関連付けられ得る。例えば、データリポジトリ102は、特定のエンティティに関連付けられたすべての個人に関連付けられたデータを記憶する顧客関係管理(CRM)システムまたは人事(HR)管理システムとすることができる。データリポジトリ102は、ETLプロセスのためのデータソースまたはエクスポートターゲットとすることができる。データソースの例は、データベース、アプリケーション、およびローカルファイルを含む。同様に、これらのソースは、データをエクスポートするためのターゲットとして機能することができる。共通のエクスポートターゲットは、TABLEAU、SALESFORCE WAVE、およびEXCELである。
データ解析アプリケーション125は、ユーザがデータ解析サーバ104によってデータリポジトリ102から抽出されたデータを操作し、単一のテーブル又は多数のテーブルに対して実行されるべきデータベースオペレーションを選択及び指定することを可能にするソフトウエアアプリケーションであり、この機能を実行するための1つの手段である。一実施形態では、データ解析アプリケーション125がテーブルのセットであるプロジェクトの形でユーザにデータを提供する。データ解析アプリケーション125の様々なモジュールは、汎用コンピュータシステムのネイティブコンポーネントまたは標準コンポーネントではなく、コンピュータシステムの汎用機能を超えて拡張する、本明細書で説明する特定の機能を提供する。さらに、モジュールの機能および動作はコンピュータシステムによる実装を必要とするほど十分に複雑であり、したがって、いかなる実際的な実施形態でも、人間の心の中の精神的なステップによって実行することはできない。これらの構成要素の各々は、以下により詳細に記載される。データ解析アプリケーション125はデバイス非依存であり、したがって、デスクトップアプリケーション、モバイルアプリケーション、またはウェブベースのアプリケーションとすることができる。その様々な機能を実行するために、データ解析アプリケーション125は、ユーザインタフェース(UI)モジュール122およびデータベースオペレーションUIモジュール124を含む。
いくつかの実施形態では、データ解析アプリケーション125は、様々なオンサイトおよび外部のソースおよびターゲット、ならびに本明細書で説明されるプロセスに関与する強化サービスと共に、より大きなクラウドアーキテクチャの一部である。
UIモジュール122はUIにおいて表示するためのデータを受信し、受信したデータに対応するユーザインタフェースを生成し、受信したデータをテーブルにポピュレートし、予測モデルに基づいてデータリファインメントの推奨を表示し、テーブルの1つまたは複数の列に関連付けられた列サマリを生成し、これらの機能を実行するための1つの手段である。生成されたユーザインタフェースは、データ解析アプリケーション125のユーザがテーブルエントリを操作すること、およびデータベースオペレーションをデータに適用することを含めて、テーブルを見ること、およびテーブルと対話することを可能にする。
データベースオペレーションUIモジュール124はUIモジュール122によって生成されたテーブル内のデータに適用するための1つ以上のデータベースオペレーション制御を提供し、この機能を実行するための1つの手段である。具体的には、データベースオペレーションUIモジュール124がデータ解析アプリケーション125のユーザがテーブルに関連付けられたデータベースオペレーションを選択し、指定し、および/またはデータベースオペレーションの適用を引き起こすことを可能にする制御を提供する。
一実施形態によれば、UIモジュール122およびデータベースオペレーションUIモジュール124によって提供されるユーザインタフェースは、グラフィカルに表現されたデータセクション、情報セクション、および様々なグラフィカルに表現されたデータベースオペレーション制御を含む。UIのデータ部は、解析用のテーブルを表示するためのものである。UIの情報セクションは、テーブルに関するプロファイル情報を表示するためのものである。プロファイル情報は、コンテキストデータなどのテーブルの特徴を記述する。UIの複合データ制御は、テーブル間の少なくとも1つの一致する列に基づいて2つのテーブルを複合テーブルに統合するコマンドを受信するユーザインタフェース要素である。UIの推薦制御は、予測モデルを用いてデータベースオペレーション推薦モジュール114により決定された推薦データベースオペレーションを表示するユーザインタフェース要素である。UIは、図4および図6に関して以下により詳細に説明される。
データベースオペレーションUIモジュール124は、実行された各データベースオペレーションに対して、表示されたテーブルに対して実行された各データベースオペレーションをデータ解析サーバ104内のデータベースオペレーション履歴モジュール112に送信する。各データベースオペレーションは、オペレーション識別子によって表され、オペレーション識別子は例えば、名前、ID番号、およびデータベースオペレーションに含まれていたオペランドを示すオペレーション記述によって、オペレーションを一意に識別する。データベースオペレーション履歴モジュール112は、データに適用されたデータベースオペレーションをデータベースオペレーション履歴記憶部120に記憶する。経時的にデータに適用されるデータベースオペレーションはデータベースオペレーション履歴ストア120に取り込まれ、データベースオペレーション履歴内の任意のステップはアンドゥ、リドゥ、または異なるデータに適用することができる。データベースオペレーションは後述するように、ログの形式で格納することができる。
データ解析サーバ104はデータをデータリポジトリ102から抽出し、データを処理し、処理されたデータをデータ解析アプリケーション125に提供して、データをユーザに表示し、ユーザによって操作できるようにする。これらの機能を実行するために、データ解析サーバ104は、データ抽出モジュール108と、データプロファイリングモジュール110と、データベースオペレーション履歴モジュール112とを含む。さらに、これらの機能に関連するデータを記憶するために、データプロファイリングサーバ104は、リポジトリデータストア116、プロファイリングデータストア118、およびデータベースオペレーション履歴ストア120を含む。分析サーバ104の様々なモジュールは、汎用コンピュータシステムのネイティブコンポーネントまたは標準コンポーネントではなく、コンピュータシステムの汎用機能を超えて拡張する、本明細書で説明する特定の機能を提供する。さらに、モジュールの機能および動作はコンピュータシステムによる実装を必要とするほど十分に複雑であり、したがって、いかなる実際的な実施形態でも、人間の心の中の精神的なステップによって実行することはできない。これらの構成要素の各々は、以下により詳細に記載される。
データ抽出モジュール108は抽出されるべきデータリポジトリ102内のデータを識別し、そのデータをデータリポジトリ102から取り出し、そのデータをリポジトリデータストア116に格納するように構成され、そのための1つの手段である。動作中、データ抽出モジュール108は、データを抽出する1つまたは複数のデータリポジトリ102を識別する。データ抽出モジュール108はまた、抽出されるべき識別されたデータリポジトリ102に記憶された特定のデータを識別する。データリポジトリ102および/またはそこに格納された特定のデータの識別は、データプロファイリング動作を行うユーザから受け取った命令に基づいて行うことができる。あるいは、そのような識別がデータを抽出する外部データソースを指定する1つまたは複数のビジネスロジック定義に基づいて行うことができる。
データ抽出モジュール108は、データリポジトリ102によって提供されるデータアクセスチャネルを介してデータリポジトリ102から識別されたデータを抽出する。一実施形態では、データ・アクセス・チャネルは、データ抽出モジュール108がデータ・リポジトリ102と安全に通信して、データ・リポジトリ102との間でデータを取り出し、送信することを可能にする安全なデータ転送プロトコルである。データがデータリポジトリ102から抽出されると、データ抽出モジュール108は、データをリポジトリデータストア116に格納する。
データプロファイリングモジュール110はデータリポジトリ102から抽出され、リポジトリデータストア116に格納されたデータを処理して、データのすべての列、行、および領域を完全にプロファイリングし、そうするための1つの手段である。列、行、およびデータフィールドのプロファイリングは、データタイプ、データドメイン、およびエントリ長、固有値パーセント、および空白値パーセントなどのデータ値に関する他の情報を識別することを含む。
データベース運用履歴部112は、セル、テーブル、プロジェクトに適用されるデータベース運用の履歴を受け取り、格納する手段の一つである。動作中、データベース動作がセル、テーブル、またはプロジェクトに適用されるとき、データベース動作履歴モジュール112は、適用された特定のデータベース動作と、どのデータに適用されたかを、データベース動作履歴ストア120に記憶する。したがって、経時的にデータに適用されるデータベースオペレーションは、データベースオペレーション履歴ストア120に取り込まれる。
本明細書で使用されるデータベースオペレーションは、ETLシステムのプログラムコードによってサポートされ、変換または変更されたデータセットを生成するために特定のデータに対して実行されるプログラム操作である。データベースオペレーションは、テーブルまたはプロジェクトに対して実行することができる。特定のデータベースオペレーションには、ジョイン(コンバイン)、結合(マージ)、フィルタ、フォーミュラ、ルックアップ、列分割、列追加(データ拡張)、パターン認識および不整合修正、データクレンジング、データ整合、データ標準化が含まれる。データベース演算は、数学的演算、数式などのデータに対する演算をさらに含むことができる。データベースオペレーションには以下のものがある。
データベースオペレーション履歴モジュール112はさらに、抽出されたデータに関するコンテキストデータを受信し、作成し、管理するように構成される。コンテキストデータは、テーブルまたはプロジェクトに対して実行されているデータベースオペレーションに関連して収集または生成されるテーブルおよび/またはプロジェクトに関する情報である。コンテキストデータは、プロジェクトメタデータ、テーブルメタデータ、列メタデータ、およびユーザメタデータを含む。コンテキストデータは、データベースオペレーション履歴ストア120に格納されてもよい。
プロジェクトメタデータフィールドは、以下を含む。
テーブルメタデータフィールドは以下を含む。
列メタデータフィールドフィールドは以下を含む。
一実施形態では、コンテキストデータは、プロジェクトメタデータ、テーブルメタデータ、列メタデータ、ユーザメタデータ、および操作を含むログファイルに含まれる。ログファイル内のログエントリは、テーブルまたはプロジェクト上で実行されているデータベースオペレーションに応答して生成され、JavaScript Object Notation(JSON)で表すことができる。ログエントリは、コンテキストおよび操作履歴データを以下の形式で表現する。
{<user metadata><project metadata><worksheets metadata><column metadata><operation specifics>}
ログ・エントリは、データベースオペレーション履歴記憶装置120に記憶することができる。ログエントリの例を以下に示す:
ログエントリ例1

ログエントリ例1では、ユーザメタデータが「userLogger」セクションに含まれる。このセクションの「type」サブセクションは、データがユーザメタデータ(「...UserContextlmp」)であることを示す。このセクションの「data」サブセクションは、データベースオペレーションが実行されたときにデータ解析アプリケーション125のユーザを一意に識別するユーザ識別子値(「user_id」:197)を含む。
プロジェクトメタデータは「projectLogger」セクションに含まれる。このセクションの「type」サブセクションは、データがプロジェクトコンテキストデータ(「...ProjectContextlmp」)であることを示す。「data」サブセクションは、データベースオペレーションが実行されたプロジェクトの特徴を含む。この特徴は、プロジェクト識別子(「project_id」:2312)、プロジェクト名(「project_name」:「test−log」)、プロジェクト内のテーブルの数(「num_worksheets」:1)、ジョインされたワークシートの数(「num_join_worksheetsL」:0)、接合されたワークシートの数(「num_union_worksheets」:0)、および集合ワークシートの数(「num_agg_worksheets」:0)を含む。
テーブルメタデータは、「sheetLogger」セクションに含まれる。このセクションの「type」サブセクションは、データがテーブルメタデータ(「SheetContextlmpl」)であることを示す。「data」サブセクションは、データベースオペレーションが実行されたテーブルの特性を含む。この特性は、テーブル識別子(「ws_id」:2313)、テーブル名(「ws_name」:「dp_user_session.csv」)、テーブルタイプ(「ws_type」:「NORMAL」)、テーブル内の行数(「ws_rows」:31275)、テーブルサイズ(「ws_curr_size」:6)、テーブル内の固有の列数(「ws_unique_cols」:3)、テーブル内のテキストの列数(「ws_text_cols」:3)、日付形式の列数(「ws_date_cols」:0)、数の列数(「ws_numeric_cols」:3)、空白の列数(「ws_blank_cols」:0)、隠れ列数(「ws_hidden_cols」:0)、派生列数(「ws_derived_cols」:0)、およびテーブル上で実行される操作のリスト(「recipe」:「deleteHeaderRows;」)を含む。
列メタデータは「columnLogger」セクションに含まれる。このセクションの「type」サブセクションは、データが列メタデータ(「...ColumnContextImpl」)であることを示す。「data」サブセクションは、データベースオペレーションが実行された列の特性を含む。この特性は、列識別子(「column_id」:2327)、列名(「column_name」:「D」)、列データ型(「column_datatype」:「Integer」)、列内のヌル値のパーセンテージ(「column_nulls」:0.0)、列内の一意の値のパーセンテージ(「column_unique」:99.81)、トリミングのパーセンテージ、列内の可能な値(「column_trimmable」:0.0)、列内の外れ値のパーセンテージ(「column_outlier」:36.175859312554996)、列の値のパターン(「column_pattern」:「<NUMBER>」)、列のドメイン(「column_domain」:「None」)、列の選択された領域(「column_selection」:「None」)、列の最大値(「column_maxvalue」:「1427703590101」)、および列の最小値(「column_minvalue」:「14030217779000」)を含む。
データベースオペレーション履歴データは、「operationLogger」セクションに含まれる。このセクションの「type」サブセクションは、データがオペレーション履歴データ(「OperationContextImpl」)であることを示す。このセクションの「data」サブセクションは、どのデータベースオペレーションが実行されたかを識別するオペレーション識別子(「operation」:「expr:」)と、データベースオペレーションに含まれたオペランドを示すオペレーション記述(「operation_description」:「expr(((C3/60)/60)/24000)+DATE(1970,1,1)」)とを含む。この例では、オペレーションが、タイムスタンプミリ秒を日数に変換するために使用され、それらを日付1/1/1970に追加して、タイムスタンプの日付を取得する。
ログエントリ例2

ログエントリ1の例は、1つのテーブルに対して実行されたデータベースオペレーションに対応する。ログエントリ2の例は、2つのテーブルに対して実行されたデータベースオペレーションに対応する。2つのテーブルに対して実行されるデータベースオペレーションは、2つのテーブルからの列を結合するジョイン(join)および結合(union)操作を含む。ログエントリ2の例では、SheetLoggerセクションで指定されているように、テーブルID762および689を有するテーブルに対して完全外部ジョイン操作が実行された。ログエントリ2の例は、2組のテーブルデータおよび2組の列データを有し、各組は、ジョイン操作が実行された2つのテーブルのうちの1つに対応する。
データ解析サーバ104のユーザモジュール115は、ユーザがデータ解析サーバ104とのアカウントを管理することを可能にする。ユーザモジュール115はさらに、データ解析アプリケーション125に関連するユーザ活動に対応するユーザ情報を受信し、記憶する。ユーザ情報はユーザの好み、ユーザに関連するコンピューティングデバイスに関する情報、様々なグループ(例えば、企業(enterprise)、組織(organization)など)とのユーザの関連、およびトレーニングユーザおよび/またはガイド付きユーザとしてのユーザのステータスを含み得る。トレーニングユーザはデータ解析アプリケーション125のユーザであり、そのデータベースオペレーションは、ガイド付きユーザにデータベースオペレーションを推薦するための予測モデルをトレーニングするために使用される。ガイド付きユーザは、トレーニングされた予測モデルからデータベースオペレーションの推奨を受信するデータ解析アプリケーション125のユーザである。ガイド付きユーザの1つ以上のセットはトレーニングユーザに関連するデータを使用してガイド付きユーザの推薦が生成されるように、トレーニングユーザの1つ以上のセットに関連付けられてもよい。
ガイド付きユーザおよび/またはトレーニングユーザとしてのユーザのステータス、ならびにガイド付きユーザのセットとトレーニングユーザとの間の関連付けは、システム管理者、他のユーザによって指定されてもよいし、自動的に指定されてもよい。例えば、グループ(例えば、組織または企業)は、データ解析アプリケーション125の上級ユーザをトレーニングユーザとして、経験の少ないユーザをガイド付きユーザとして指定することができる。トレーニングユーザのセットはまた、地理的領域またはデータ解析アプリケーション125による熟練度の尺度などのユーザ特性に基づいて、ユーザモジュール115によって自動的に決定されてもよい。ガイド付きユーザは、トレーニングユーザに関連付けられたトレーニングデータがガイド付きユーザに対する推薦を生成するために使用されるように、トレーニングユーザに関連付けられてもよい。結果として、トレーニングユーザの知識および経験は、データ解析サーバ104によって活用されて、ガイド付きユーザに有用な推薦を提供し得る。グループからのトレーニングユーザのセットを同じグループからのガイド付きユーザのセットに関連付けることにより、システムはユーザに、そのグループに特に関連する推薦を提供することができ、グループ内のユーザがグループ全体の一貫性を維持し、独自の情報(例えば、方程式、関数、およびデータ)を保護しながら、生産性を高めることができるようになる。
一実施形態では、トレーニングユーザおよびガイド付きユーザの複数のセットが存在する。特定のユーザは同時にトレーニングユーザおよびガイド付きユーザとすることができ、複数の組のトレーニングユーザおよび/またはガイド付きユーザに属することができる。ユーザはあるタイプのプロジェクト(例えば、会計)に関してはトレーニングユーザであってもよいが、別のタイプのプロジェクト(例えば、マーケティング)に関してはガイド付きユーザであってもよい。トレーニングユーザおよび/またはガイド付きユーザとしてのユーザのステータス、ならびにトレーニングユーザとガイド付きユーザとの間の任意の関連付けは、ユーザデータストア117に格納され得る。ユーザモジュール115は、特定のプロジェクトについて、ユーザのステータスを、ガイド付きユーザまたはトレーニングユーザのいずれかとして決定することができる。ユーザがガイド付きユーザである場合、ユーザモジュール115はさらに、推薦を生成するためにトレーニングユーザのどのセットが使用されるべきかを決定することができる。
データベースオペレーション推薦モジュール114は、コンテキストデータおよびデータベースオペレーション履歴データに基づいて、ユーザに対して推薦されるデータベースオペレーションを決定する。データベースオペレーション推薦モジュール114は、予測モデルに基づいてデータベースオペレーションを推薦する。データベースオペレーションは、予測モデルによっても決定されるオペランドを含む。オペランドは、関数入力などのデータベースオペレーションのための入力またはパラメータである。様々な実施形態では、予測モデルがデータベース動作履歴データおよびコンテキストデータを使用することによってトレーニングされ得る機械学習アルゴリズムである。ロジスティック回帰、ニューラルネットワーク、決定木モデル、およびサポートベクトルマシンモデルを含む、様々な予測モデルが当技術分野で周知である。モデルは入力の特定のセット(例えば、コンテキストデータ)が与えられると、特定のデータベースオペレーションが適切である確率を予測し、可能性のあるデータベースオペレーションのうちの1つまたは複数、および任意選択で、推奨された操作に対応するオペランドを推奨する。予測モデルは、データベース動作履歴データおよびコンテキストデータを使用してトレーニングされる機械学習アルゴリズムとすることができる。一実施形態では、多項ロジスティック分類器または他の適切な汎用機械学習技法などの識別モデルが使用される。方程式、パラメータ、および他のモデル特性は、データベースオペレーション推奨ストア121に格納され得る。データベースオペレーション推奨を生成するための3つのモデル例について、図2を参照して以下に説明する。
図2は、一実施形態によるデータベースオペレーション推薦モジュール114のより詳細な図を示す。モデル構築モジュール205は予測モデルを構築し、モデルトレーニングモジュール210はトレーニングユーザからのトレーニングデータを使用して予測モデルをトレーニングし、推薦生成モジュール220は、トレーニングされた予測モデルを使用して、ガイド付きユーザに対する推薦のためのデータベース動作を決定する。一実施形態では、モデルが多項ロジスティック分類子を使用する。ログエントリからプロファイルされたメタデータフィールドによって表されるような特定のコンテキストデータが与えられると、多項式ロジスティック分類子を使用するモデルは、それぞれの確率を有するデータベース演算のリストを生成する。モデルは、トレーニングデータを用いてトレーニングされる。一実施形態では、トレーニングデータがトレーニングユーザのセットに関する格納されたデータベースオペレーション履歴データおよびコンテキストデータを含む。この実施形態では、モデルトレーニングモジュール210が例えばユーザデータストア117からモデルのトレーニングユーザを決定し、データベース動作履歴ストア120からトレーニングデータを取り出す。
モデル構築モジュール205は予測モデルを構築し、この機能を実行するための1つの手段である。多項ロジスティック分類器は、所与の情報に基づいて事象が発生する確率の推定値を提供する。多項ロジスティック分類器は、以下の形式をとる:
ここで、P(c|d)は、特徴Fによって特徴付けられる条件dが与えられた場合に生じるクラスcによって特徴付けられる事象の確率の推定値である。クラスcは、演算またはオペランドのいずれかである特定の予測モデルの出力に対応し、特徴Fは、関連するコンテキストデータに対応する。F(d,c)は特徴iの観測の尺度であり、F値が高いほど、特徴の存在の相対的な尺度が高いことを示す。λi,cは、クラスcに対応する特徴iの特徴重みである。特定の特徴に対する高いλi,cは、F値がクラスcに対する強力な指標であることを示す。特徴は、異なるクラスcに対して異なるF値またはλ値を有することができる。P(c|d)によって表される確率は、クラスcについて、クラスの全ての特徴にわたる観測の尺度と特徴の重みとの積の合計の指数(exponential)を決定し、その値を全てのクラスにわたる同じ値の合計で割ることによって、計算される。
一実施形態では、モデル構築モジュール205が3つのモデルを構築する:演算モデル(OPモデル)、オペランドモデル(OPDモデル)、列演算モデル(OPCモデル)である。3つのモデルの各々は、トレーニングユーザーからのトレーニングデータを使用してモデルトレーニングモジュール210によってトレーニングされる。3つのモデルの各々は、推薦生成モジュール220によって使用されて、推薦されたデータベースオペレーションおよび/またはオペランドと、コンテキストデータに基づく関連する相対確率とのリストを生成する。
OPモデルは、単一テーブルデータベースオペレーションの推奨データベースオペレーションのリストおよび関連する確率を生成する。OPモデルの機能は、列メタデータフィールドである。
OPDモデルは、単一テーブルデータベースオペレーションのための推奨データベースオペレーションのためのオペランドのリストおよび関連する確率を生成する。OPDモデルの特徴は、列メタデータフィールドおよびデータベースオペレーションである。一実施形態では、OPDモデルがOPモデルと併せて使用され、OPモデルによって決定されたデータベースオペレーションのためのオペランドを決定する。OPDモデルは、OPDモデルによって決定された推奨オペランドが決定された演算に対応するように、OPモデルによって決定されたデータベース演算を入力として取り込む。
OPCモデルは、2テーブルデータベースオペレーションのための推奨データベースオペレーションのリストおよび関連する確率を生成する。OPCモデルの特徴は、2つのテーブルの各々および2つの列の各々についてのメタデータである。
各モデルについて、モデルトレーニングモジュール210は、多項ロジスティック分類器に含める特徴としてどのコンテキストデータフィールドが選択されるかを決定する。モデルトレーニングモジュール210はさらに、選択された各特徴に対する特徴重みを決定する。すべてのメタデータフィールドが演算および/またはオペランドを予測するわけではないので、すべてのメタデータフィールドがモデルの特徴として使用されるわけではない。一実施形態では、モデルトレーニングモジュール210が複数のデータベース動作履歴エントリにわたって、取られる特定のデータベース動作または使用されるオペランドを予測するモデル特徴として使用するコンテキストデータフィールドを選択する。モデルトレーニングモジュール210は、各コンテキストデータフィールドについて予測性の尺度を計算し、予測性の尺度は例えば、情報利得であってもよい。各クラスについて、モデルトレーニングモジュール210は、格納されたコンテキストデータに基づいて、可能な特徴のリスト内の各特徴についての情報利得を計算する。モデルトレーニングモジュール210は、閾値情報ゲイン値を超える特徴を選択し、モデルに含める。所与のクラスについて、特徴に関する情報利得は、以下の式によって計算することができる。
IG(C|F)=Entropy(C)−Entropy(C|F)
ここで、IG(C|F)は情報利得であり、Entropy(C)はクラスCのエントロピーであり、Entropy(C|F)は特徴の存在を仮定したクラスCの条件付きエントロピーである。
一実施形態では、モデルトレーニングモジュール210が情報利得を計算する前に、コンテキストデータを前処理する。一実施形態では、モデルトレーニングモジュール210がコンテキストデータを再サンプリングして、各クラスにわたるデータエントリの分布をより均一にし、その結果、より少ない頻度のデータベースオペレーションがモデルにおいて過少に表されないようにする。再サンプリング技術は、アンダーサンプリング法、オーバーサンプリング法、またはハイブリッド法を含むことができる。一実施形態では、リサンプリングがSMOTE(Synthetic Minority Oversampling Technique)を用いて実行される。様々な実施形態では、すべてのデータを数値表現に変換すること、データの正規化、および数値の2進数への量子化など、他の前処理ステップがコンテキストデータに対して実行される。
図3は、OPモデルなどの予測モデルをトレーニングする際に使用するための特徴およびクラスを示すデータエントリの例示的なテーブルである。図3の例では、列301〜308に示される特徴が、データベースオペレーションが実行された列に対応する列メタデータエントリの選択されたセットである。
列301は、表4で識別される「column_id」メタデータフィールドからの値を含む。
列302は、表4で識別される「column_type」メタデータフィールドからの値を含む。
列303は、表4で識別される「column_nulls」メタデータフィールドからの値を含む。
列304は、表4で識別される「column_unique」メタデータフィールドからの値を含む。
列305は、表4で識別される「Column_pattern」メタデータフィールドからの値を含む。
列306は、表4で識別される「column_domain」メタデータフィールドからの値を含む。
列307は、表4で識別される「column_maxvalue」メタデータフィールドからの値を含む。
列308は、表4で識別される「column_minvalue」メタデータフィールドからの値を含む。
ここでのモデルのクラスは列310に示される表1に識別されるように、列上で実行されたデータベースオペレーションの名前である。表5に示されるように、これらの特定の例示的な特徴およびクラスは、OPモデルをトレーニングするために使用される。図3の例は14個のデータエントリを示すが、実際には上述した予測モデルが数百、数千、数百万またはそれ以上のデータエントリを用いてトレーニングすることができる。様々な実施形態において、データエントリを構成するコンテキストデータおよびデータベースオペレーション履歴データの断片は、図2に関して上述したように、モデルトレーニングモジュール210によってログエントリから選択される。データエントリは、データベースオペレーション推薦ストア121に格納されてもよい。
推薦生成モジュール220は、トレーニングされた予測モデルを使用して、ガイド付きユーザに対する推薦のためのデータベースオペレーションおよび/またはオペランドのリストを、それぞれの相対確率と共に決定する。推薦生成モジュール220は、例えばログファイルの形式でコンテキストデータを受信する。推薦生成モジュール220は関連コンテキストデータを、予測モデルに入力され得るフォーマットでキャプチャするように、ログファイルをプロファイルする。推薦生成モジュール220は推薦を生成するために、適切な予測モデルにコンテキストデータを入力する。様々な実施形態では、使用される予測モデルが単一テーブル推奨の場合にはOPモデルおよびOPDモデルであり、マルチテーブル推奨の場合にはOPCモデルである。推薦生成モジュール220は、様々なイベントの発生時に、定期的な間隔で、または任意の他の適切な時間に、推薦を生成することができる。一実施形態では、推薦生成モジュール220がデータ解析アプリケーション125のユーザインタフェースにおける列の選択を検出し、それに応答してその列に対する推薦を生成するプログラムコードを実行する。このような推薦を生成するためのプロセスは、図5に関して以下に説明される。
推薦生成モジュール220は、生成された1つまたは複数のリストから1つまたは複数の推薦データベースオペレーションおよび/またはオペランドを選択する。一実施形態では、推薦生成モジュール220が予測モデルによって計算されるように、最も高い相対確率を有する推薦を選択する。例えば、選択された列に対する単一シート推薦に対して、推薦生成モジュール220は、OPモデルによって決定される3つの最も確からしいデータベースオペレーションと、OPDモデルによって決定される各オペレーションに対する1つの最も確からしいオペランドとを選択することができる。
推薦生成モジュール220はユーザに表示するために、データ解析アプリケーション125に推薦を提供する。一実施形態では、推奨が動作のテキスト記述として提供される。各データベースオペレーションのテキスト記述は、データベースオペレーション推薦ストア121に格納することができる。推薦生成モジュール220はユーザに表示するためにデータ解析アプリケーション125に提供するために、推薦されたデータベースオペレーションのためのテキスト記述を取り出してもよい。
図4は、一実施形態による、データ解析アプリケーションにおいてデータを閲覧および操作するためのユーザインタフェース400の一例を示す。例示的なユーザインタフェースは、データセクション410、情報セクション415、およびコントロール417を含む。
データセクション410は、閲覧および操作のためのテーブルを表示する。データセクション410は1つ以上のデータソース(例えば、102)から抽出されたデータでポピュレート(populated)される。この例では、2つのテーブルタブ405が示され、「MDM顧客データ(MDM Customer Data)」と題するテーブルがデータセクション410に表示される。ユーザは、テーブルタブ405を使用してプロジェクト内の他のテーブルにナビゲートすることができる。図4の例では、列「first_name」407が選択される。
情報セクション415は、テーブルおよび選択されたデータに関するプロファイル情報を表示する。情報セクション415において、オーバービューカード420は選択された列(first name)の情報オーバービュー(例えば、タイプ、固有値のパーセンテージ、ブランク値のパーセンテージ、列内の名前の最小長、列内の名前の最大長、およびドメインの数)を提供する。ドメインカード425は、テーブル405内のすべてのドメインに関する情報、およびどのくらいの行が各ドメインに対応するかについての情報を含む。値頻度カード430は、選択されたファーストネーム列407における種々の名前の値の頻度、並びに名前の各時間がどのように発生するかをリストする。
提案カード435は、データベースオペレーション推奨モジュール114によって決定された推奨データベースオペレーションを実行するための提案をユーザに提供する。図示の例では、提案されたデータベース動作がファーストネーム(first name)として検証される。システムは、インタフェースのユーザにこれらのインテリジェントな提案を提供するのを助けるために、上述のデータプロファイリングを使用する。提案カード435については、図5および図6に関して以下でより詳細に説明する。
コントロール317は、ユーザが表示されたデータおよびテーブルを操作することを可能にし、データおよびテーブルに対してデータベースオペレーションを実行することを含む。データおよびテーブルは、データエントリとの対話(セル内容の編集、セルの右クリック、方程式の挿入など)または提案カード335などの情報セクション内の要素との対話などの他の方法で操作することもできる。
図5Aは一実施形態による、データ解析アプリケーションのガイド付きユーザに対してデータベースオペレーションを決定し推奨するための予測モデルを構築し、トレーニングするための方法を示すフローチャートである。データ解析サーバ104は、データ解析アプリケーション125のユーザをトレーニングするためのコンテキストデータおよびデータベースオペレーション履歴データを維持する(500)。データ解析サーバ104はある期間にわたって、データ解析アプリケーション125のインスタンスからのコンテキストデータおよびデータベースオペレーション履歴データを、例えば、図1に関して上述したようなログファイルとして受信および格納することによって、コンテキストデータおよびデータベースオペレーション履歴データを維持する。一実施形態では、データ解析アプリケーション125がデータベースオペレーションを検出すると、ログファイルをデータベースオペレーション履歴モジュール112に送信する。別の実施形態では、データベースオペレーション履歴モジュール112がデータ解析アプリケーション125を継続的に監視し、データベースオペレーションを検出すると、データベースオペレーション履歴データおよび対応するコンテキストデータを受信し、記憶する。
図1に関して上述したように、ガイド付きユーザおよび/またはトレーニングユーザとしてのユーザのステータス、ならびにガイド付きユーザとトレーニングユーザとの組の間の関連付けは、システム管理者、他のユーザによって、または自動的に指定することができる。
ステップ505および510では、ガイド付きユーザに推薦を提供する際に使用するために、1つまたは複数の予測モデルが構築され、トレーニングされる。データベースオペレーション推奨モジュール114は、予測モデルを構築する(505)。予測モデルは、演算モデル(OP)、オペランドモデル(OPD)、列演算モデル(OPC)、またはそれらの任意の組合せとすることができる。予測モデルを構築することは、そのデータベースオペレーションがモデルのトレーニングデータとして使用されるトレーニングユーザを決定することを含む。予測モデルを構築することは、モデルクラスを決定することをさらに含む。例えば、予測モデルがOPモデルである場合、クラスはデータベースオペレーションである。予測モデルがOPDモデルである場合、クラスはオペランドである。予測モデルがOPCモデルである場合、クラスは結合および和演算、または定義された2テーブル演算である。予測モデルを構築するステップは上記の表5に関して説明したように、可能なモデル特徴を決定するステップをさらに含む。予測モデルを構築するステップは、データベース動作推薦ストア121からモデル方程式を検索するステップをさらに含む。ステップ505の終わりに、モデルはそのトレーニングされていない形式で存在する。図2に関して説明した方程式は各クラスについて組み立てられるが、特徴重みは未知であるか、またはデフォルト値に設定される。この形態では、モデルが決定されたトレーニングユーザに対応する適切なコンテキストデータを用いてトレーニングする準備ができている。
モデルトレーニングモジュール210は、決定されたトレーニングユーザからの維持されたデータベースオペレーション履歴データおよびコンテキストデータを使用して、モデルをトレーニングする(510)。モデルトレーニングモジュール210は、プロファイリングデータストア118およびデータベースオペレーション履歴ストア120から、トレーニングユーザに対応するデータベースオペレーション履歴データおよびトレーニングコンテキストデータを検索する。図2に関して上述したように、モデルトレーニングモジュール210は、どのコンテキストデータが特定のデータベースオペレーションまたはオペランドを予測するかを決定する。モデルトレーニングモジュール210は、図2に関して上述したように、各モデル特徴に対する特徴重みを決定する。特徴重みおよび他のパラメータは、データベースオペレーション推薦ストア121に格納され、必要に応じて使用のために取り出され得る。一実施形態では、モデルトレーニングモジュール210が図2に関して上述したように、モデルをトレーニングする前にコンテキストデータを前処理する。一旦、モデルがトレーニングされると、モデルは、特徴のセット(データ解析アプリケーションから受信したコンテキストデータ)に基づいてクラス(オペレーションまたはオペランド)の確率を決定するために使用され得る。
ステップ505および510は定期的な間隔で、継続的に、またはどれだけの新しいトレーニングデータが利用可能であるかなどの要因に応じて、行われ得る。ステップ505および510は、データベース動作推奨モジュール114によって生成される各予測モデルに対して繰り返されてもよい。図2に関して上述したように、OPDモデルはOPモデルによって決定されたデータベースオペレーションのためのオペランドを決定するために、OPモデルと共に使用することができる。OPDモデルはOPDモデルによって決定された推奨オペランドが決定された演算に対応するように、OPモデルによって決定されたデータベース演算を入力として取り込むことができる。
図5Bは、一実施形態による、データ解析アプリケーションのガイド付きユーザにデータベースオペレーションを推薦するためにトレーニングされた予測モデルを使用する方法を示すフローチャートである。推薦生成モジュール220は、ガイド付きユーザのデータ解析アプリケーション125からアプリケーションコンテキストデータを受信する(550)。一実施形態では、アプリケーション・コンテキスト・データがデータ解析アプリケーション内に表示されたテーブル内で選択された列など、データ解析アプリケーション125との検出された対話に応答して受信される。データ解析アプリケーション125は対話を検出し、コンテキストデータを含むアプリケーションログエントリを作成し、アプリケーションログエントリをデータ解析サーバ104に送信する。一実施形態では、推薦生成モジュール220が、アプリケーションログエントリをプロファイルして、トレーニングされた予測モデルへの入力として使用することができるフォーマットで、コンテキストデータを取り込む。
推薦生成モジュール220は、コンテキストデータに基づいて、推薦を生成するために使用する1つ以上のモデルを選択する(555)。例えば、コンテキストデータが、プロジェクトが1つのテーブルを有することを示す場合、推薦生成モジュール220は、OPモデルおよびOPDモデルを使用して、推薦を生成する。コンテキストデータが、プロジェクトが複数のテーブルを有することを示す場合、推薦生成モジュール220は、OPモデル、OPDモデル、およびOPCモデルを使用して、推薦を生成する。図2および図5Aに関して上述したように、OPDモデルは、OPモデルの出力を入力として使用して、OPモデルによって決定された推奨演算のリストに対応するオペランドを決定することができる。
推薦生成モジュール220は、選択された予測モデルおよび受信されたコンテキストデータを使用して、ガイド付きユーザに推薦するためのデータベースオペレーションおよび/またはオペランドのリストを生成する(560)。様々な実施形態では、生成された推奨のリストがOPモデル、OPDモデル、およびOPCモデル、ならびに他の予測モデルのうちの1つまたは複数によって決定される演算およびオペランドを含む。推薦生成モジュール220は、ステップ555で選択された各モデルを使用して、各モデルクラスに関連する確率を決定する。生成された推奨のリストは、決定された確率に基づいている。例えば、OPモデルまたはOPCモデルが使用される場合、推薦生成モジュール220はモデルによって決定されるような多数の最も確からしいデータベースオペレーションを選択し、案内されたユーザに推薦として提供する。OPDモデルも使用される場合、OPモデルによって決定された選択されたデータベース演算は、選択されたデータベース演算のための最も可能性の高いオペランドの数を決定するためにOPDモデルへの入力として使用される。
推薦生成モジュール220は、ガイド付きユーザに提示するために、推薦のリストをデータ解析アプリケーション125に送信する(535)。一実施形態では、各推奨データベースオペレーションがデータ解析アプリケーション125のデータベースオペレーションを一意に識別するオペレーション識別子を含む。別の実施形態では、各推奨データベースオペレーションがデータ解析アプリケーション125のユーザに提示するためのデータベースオペレーションのテキスト名または説明をさらに含む。データベースオペレーション、オペレーション識別子、ならびにテキスト名および説明は、データベースオペレーション推薦ストア121に格納され、推薦されたデータベースオペレーションをデータ解析アプリケーション125に送る前に、データベースオペレーション推薦モジュール114によって検索され得る。
図6は、一実施形態による、選択された列に応答して提供される推奨を備えた、図3の例示的なユーザインタフェースを示す。例示的なユーザインタフェースでは、例えばユーザ入力に応答して、列650が選択される。データ解析アプリケーション125は列選択を検出し、データ解析サーバ104に通知する。データ解析サーバ104は、列650の選択に応答して、データ解析アプリケーション125からコンテキストデータを受信する。一実施形態では、データベースオペレーション推薦モジュール114がユーザのステータスを、ユーザデータストア117からの特定のプロジェクトに対するガイド付きユーザと決定し、コンテキストデータをOPモデル(単一の列が選択されるため)およびOPCモデルに渡す。OPモデルは演算のリストを出力し、OPCモデルは、1つ以上のオペランドを出力する。データベースオペレーション推奨モジュール114は、推奨されるデータベースオペレーション、および適切な場合にはオペランドを決定し、その推奨をデータ解析アプリケーション125に送る。図6の例では、ユーザが異なる方法でフォーマットされた電話番号を含むように見える列を選択している。したがって、提供される2つの推奨は、OPモデルによって決定された電話番号をフォーマットする動作と、OPDモデルによって決定された適用する特定の形式のフォーマットのオペランドとを含む。
図7は、データ解析アプリケーションにおいて、データ解析サーバから受信した推奨データベースオペレーションおよびオペランドを提示するための方法を示すフローチャートである。データ解析アプリケーション125は、データ解析サーバ104から推奨データベースオペレーションおよびオペランドを受信する(700)。図5に関して上述したように、データベース動作は、データ解析アプリケーション125のユーザインタフェースに提示するためのテキスト名または記述を含むことができる。UIモジュール122は、データ解析サーバ104によって提供されるテキスト名および説明を使用して、推奨データベースオペレーションおよびオペランドに対応するユーザインタフェース要素を生成する(710)。UIモジュール122は、データ解析アプリケーション125のユーザインタフェースを介して、データ解析アプリケーションのユーザに1つ以上の推奨データベースオペレーションを提示する(720)。
図6に戻ると、提案カード435は推奨データベースオペレーションを含む。列650は、異なる方法でフォーマットされた電話番号を含む。提案カード435上の推奨660A〜Cは、セルまたは列内の電話番号をフォーマットすることを含む。推奨650AおよびBは、共通のデータベースオペレーション(電話番号のフォーマット)を有するが、異なるオペランド(電話番号の出力フォーマット)を有する。データ解析アプリケーションのユーザは、推奨660A〜Cのうちの1つを選択して、データに対して指示されたデータベースオペレーションを実行することができる。
追加構成の考慮事項
本明細書で説明するシステムは、クラウドベースのコンピュータ実装を含む、単一のコンピュータまたはコンピュータのネットワークを使用して実装することができる。コンピュータは、好ましくは1つまたは複数の高性能CPUおよび1Gまたはそれ以上のメインメモリ、ならびに500Gbから2Tbのコンピュータ可読永続ストレージを含み、LINUXまたはその変形などのオペレーティングシステムを実行するサーバクラスコンピュータである。本明細書で説明するシステムの動作は、コンピュータストレージにインストールされ、本明細書で説明する機能を実行するために、そのようなサーバのプロセッサによって実行されるハードウェアおよびコンピュータプログラムの組み合わせによって制御することができる。システム100はネットワークインターフェースおよびプロトコル、データ入力のための入力デバイス、ならびに表示、印刷、または他のデータの提示のための出力デバイスを含む、本明細書で説明される動作に必要な他のハードウェア要素を含むが、これらは実施形態の関連する詳細を不明瞭にすることを避けるために本明細書では示されない。
上記の説明のいくつかの部分は、アルゴリズムのプロセスまたは動作に関して実施形態を説明する。これらのアルゴリズムの説明および表現は、データ処理技術の当業者によって一般的に使用され、彼らの作業内容を他の当業者に効果的に伝える。これらの動作は機能的、計算的、または論理的に説明されているが、プロセッサまたは等価の電気回路、マイクロコードなどによって実行される命令を含むコンピュータプログラムによって実施されるものと理解される。さらに、一般性を損なうことなく、これらの機能的オペレーションの配置をモジュールと呼ぶことも便利である場合があることが判明している。説明された動作およびそれらの関連するモジュールは、ソフトウェア、ファームウェア、ハードウェア、またはそれらの任意の組合せで具現化されてもよい。
本明細書で使用されるように、用語「モジュール」は、指定された機能を提供するために利用されるコンピュータプログラムロジックを指す。したがって、モジュールは、ハードウェア、ファームウェア、および/またはソフトウェアで実装することができる。一実施形態では、プログラムモジュールが記憶装置に格納され、メモリにロードされ、プロセッサによって実行される。本明細書で説明される物理的構成要素の実施形態は、本明細書で説明されるもの以外の他のおよび/または異なるモジュールを含むことができる。さらに、他の実施形態では、モジュールに起因する機能が他のモジュールまたは異なるモジュールによって実行することができる。さらに、この説明は、明瞭さおよび便宜のために「モジュール」という用語を省略することがある。
本発明はまた、本明細書における動作を実行するための装置に関する。この装置は、必要な目的のために特別に構築されてもよく、またはコンピュータによってアクセスされ得るコンピュータ可読媒体上に格納されたコンピュータプログラムによって選択的に起動または再構成される汎用コンピュータを備えてもよい。そのようなコンピュータプログラムはフロッピー(登録商標)ディスク、光ディスク、CD−ROM、磁気−光ディスク、読み取り専用メモリ(ROM)、ランダムアクセスメモリ(RAM)、EPROM、EEPROM、磁気または光カード、特定用途向け集積回路(ASIC)、または電子命令を記憶するのに適した任意のタイプのコンピュータ可読記憶媒体を含む任意のタイプのディスクなどのコンピュータ可読記憶媒体に記憶することができ、それぞれがコンピュータシステムバスに結合されるが、これらに限定されない。さらに、本明細書で言及するコンピュータは単一のプロセッサを含むことができ、または計算能力を高めるために複数のプロセッサ設計を使用するアーキテクチャとすることができる。
本明細書で使用される「1つの実施形態」または「一実施形態」への言及は、実施形態に関連して説明された特定の要素、機能、構成、または特徴が少なくとも1つの実施形態に含まれることを手段する。明細書の様々な場所における「一実施形態では」という語句の出現は、必ずしもすべてが同じ実施形態を指すとは限らない。
本明細書において用いられるとき、「備える(comprises)」、「備える(comprising)」、「含む(includes)」、「含める(including)」、「有する(has)」、「有する(having)」という用語またはそれらの任意の他の活用形は、非限定的な包含をカバーするものとする。例えば、一連の要素を含むプロセス、方法、物品、または装置は、それらの要素のみに必ずしも限定されず、特に明記されていないかあるいはかかるプロセス、方法、物品、または装置に固有の他の要素を含めてもよい。更に、明確に逆のことを表さない限り、「または」は包括的「or」を指し、排他的「or」を意味しない。例えば、条件AまたはBは、以下のいずれか1つによって満たされる:Aが真であり(または存在する)かつBが偽である(または存在しない)、Aが偽であり(または存在しない)かつBが真である(または存在する)、AおよびBの両方が真である(または存在する)。
さらに、「1つの(a)」または「1つの(an)」の使用は、本明細書の実施形態の要素および構成要素を説明するために使用される。これは、単に便宜上、かつ本開示の一般的な意味を与えるためになされる。本明細書は1つまたは少なくとも1つを含めるように読まれるべきであり、複数でないことを意図することが明白でない限り、単数形は複数形も含める。
本開示を読めば、当業者は、識別子空間にわたるエンティティの類似性を決定するためのシステムおよびプロセスのためのさらに追加の代替の構造および機能設計を理解するであろう。したがって、特定の実施形態および用途を図示し、説明したが、本発明は、本明細書に開示される正確な構成および構成要素に限定されず、当業者には明らかな様々な修正、変更、および変形が添付の特許請求の範囲に定義される精神および範囲から逸脱することなく、本明細書に開示される方法および装置の構成、動作、および詳細において行われてもよいことを理解されたい。

Claims (21)

  1. 1つ以上のコンピューティングデバイスによって、データ解析アプリケーションのインスタンスのユーザに推奨を提供する方法であって、
    前記1つ以上のコンピューティングデバイスの少なくとも1つによって、コンテキストデータから、データベースオペレーション履歴データエントリおよびトレーニングコンテキストデータエントリをキャプチャすることによって、コンテキストデータのプロファイリングを行うステップであって、前記コンテキストデータは前記データ解析アプリケーション内のテーブル上で実行されるデータベースオペレーションに応答して前記データ解析アプリケーションの1つまたは複数のインスタンスから受信されたエントリを含む、ステップと、
    前記1つ以上のコンピューティングデバイスの少なくとも1つによって、第1のセットのユーザについて、複数のテーブル上で実行される複数のデータベースオペレーションに対してプロファイリングされたデータベースオペレーション履歴データおよびプロファイリングされたコンテキストデータを維持するステップと、
    前記1つ以上のコンピューティングデバイスの少なくとも1つによって、データ解析アプリケーションの第2のセットのユーザに、少なくとも1つのデータベースオペレーションまたは少なくとも1つのオペランド、の1つ以上を推薦するよう構成された複数の予測モデルを生成するステップであって、前記予測モデルのそれぞれは、プロファイルされたコンテキストデータからのコンテキストデータフィールドに対応する複数の特徴と、推薦のための複数の対応するデータベースオペレーションまたは複数のオペランドのいずれかとを含む、ステップと、
    アプリケーションコンテキストデータを含むアプリケーションログエントリを受信するステップであって、前記アプリケーションログエントリはデータ解析アプリケーションのインスタンス内のテーブル内の列を選択する第2のセットのユーザに応答して受信される、ステップと、
    前記1つ以上のコンピューティングデバイスの少なくとも1つによって、前記アプリケーションコンテキストデータに少なくとも部分的に基づいて、前記複数の予測モデル内の1つ以上の予測モデルを選択するステップと、
    前記1つ以上のコンピューティングデバイスの少なくとも1つによって、前記アプリケーションコンテキストデータを前記1つ以上の選択された予測モデルへ入力することにより、1つ以上の確率リストを生成するステップであって、前記確率リストのそれぞれは、前記複数のデータベースオペレーションまたは前記複数のオペランドに関連付られた複数の確率値を含む、ステップと、
    前記予測モデルへの入力として使用できるフォーマットでアプリケーションコンテキストデータをキャプチャするためにアプリケーションログエントリのプロファイリングを行うステップと、
    前記予測モデルへの入力として前記アプリケーションコンテキストデータを使用して、1つまたは複数の推奨データベースオペレーションを決定するステップと、
    前記1つ以上のコンピューティングデバイスの少なくとも1つによって、前記1つ以上の確率リストに少なくとも部分的に基づいて、1つ以上の推奨を決定するステップであって、前記1つ以上の推奨における各推奨は、データベースオペレーションまたはオペランドを含む、ステップと、
    前記1つ以上のコンピューティングデバイスの少なくとも1つによって、ユーザへの提示のためにデータ解析アプリケーションのインスタンスに前記1つ以上の推奨を送信するステップと、を含む方法。
  2. 前記複数の予測モデルを生成するステップが、複数の予測モデルのそれぞれについて
    ロファイルされたコンテキストデータから複数のコンテキストデータフィールドを選択することにより複数の特徴を決定することと、
    推薦する複数のデータベースオペレーションまたは複数のオペランドを決定することと、
    複数のデータベースオペレーションまたは複数のオペランドの各々について、複数の特徴の各々についての特徴重みを決定することとを含み、
    前記特徴重みはデータベースオペレーションまたはオペランドに関する特徴の予測性の尺度に対応する、請求項1に記載の方法。
  3. 前記コンテキストデータは、プロジェクトメタデータ、ワークシートメタデータ、およびユーザメタデータのうちの少なくとも1つを含む、請求項1に記載の方法。
  4. 少なくとも1つの予測モデルが、多項ロジスティック分類器である、請求項1に記載の方法。
  5. 前記アプリケーションコンテキストデータは、プロジェクトメタデータ、ワークシートメタデータ、およびユーザメタデータのうちの少なくとも1つを含む、請求項1に記載の方法。
  6. 前記1つ以上の推奨は、ジョインオペレーションおよび結合オペレーションのうちの少なくとも1つを含む、請求項1に記載の方法。
  7. 前記1つ以上の選択された予測モデルは、オペレーションモデルおよびオペランドモデルを含み、
    前記アプリケーションコンテキストデータを前記1つ以上の選択された予測モデルへ入力することにより、1つ以上の確率リストを生成するステップは、
    前記アプリケーションコンテキストデータを前記オペレーションモデルへ入力することにより、前記複数のデータベースオペレーションに関連付られた確率を含む第1の確率リストを生成することと、
    前記アプリケーションコンテキストデータおよび前記第1の確率リストを前記オペランドモデルへ入力することにより、前記複数のオペランドに関連付られた確率を含む第2の確率リストを生成することと、を含む、
    請求項1に記載の方法。
  8. データ解析アプリケーションのインスタンスのユーザに推奨を提供する装置であって、
    1つ以上のプロセッサと、
    前記1つ以上のプロセッサの少なくとも1つに動作可能に結合された1つ以上のメモリとを備え、
    前記1つ以上のメモリは、前記1つ以上のプロセッサの少なくとも1つに実行されたときに、前記1つ以上のプロセッサの少なくとも1つに、
    コンテキストデータから、データベースオペレーション履歴データエントリおよびトレーニングコンテキストデータエントリをキャプチャすることによって、コンテキストデータのプロファイリングを行うステップであって、前記コンテキストデータは前記データ解析アプリケーション内のテーブル上で実行されるデータベースオペレーションに応答して前記データ解析アプリケーションの1つまたは複数のインスタンスから受信されたエントリを含む、ステップと、
    第1のセットのユーザについて、複数のテーブル上で実行される複数のデータベースオペレーションに対してプロファイリングされたデータベースオペレーション履歴データおよびプロファイリングされたコンテキストデータを維持するステップと、
    データ解析アプリケーションの第2のセットのユーザに、少なくとも1つのデータベースオペレーションまたは少なくとも1つのオペランド、の1つ以上を推薦するよう構成された複数の予測モデルを生成するステップであって、前記予測モデルのそれぞれは、プロファイルされたコンテキストデータからのコンテキストデータフィールドに対応する複数の特徴と、推薦のための複数の対応するデータベースオペレーションまたは複数のオペランドのいずれかとを含む、ステップと、
    アプリケーションコンテキストデータを含むアプリケーションログエントリを受信するステップであって、前記アプリケーションログエントリはデータ解析アプリケーションのインスタンス内のテーブル内の列を選択する第2のセットのユーザに応答して受信される、ステップと、
    前記アプリケーションコンテキストデータに少なくとも部分的に基づいて、前記複数の予測モデル内の1つ以上の予測モデルを選択するステップと、
    前記アプリケーションコンテキストデータを前記1つ以上の選択された予測モデルへ入力することにより、1つ以上の確率リストを生成するステップであって、前記確率リストのそれぞれは、前記複数のデータベースオペレーションまたは前記複数のオペランドに関連付られた複数の確率値を含む、ステップと、
    前記1つ以上の確率リストに少なくとも部分的に基づいて、1つ以上の推奨を決定するステップであって、前記1つ以上の推奨における各推奨は、データベースオペレーションまたはオペランドを含む、ステップと、
    ユーザへの提示のためにデータ解析アプリケーションのインスタンスに前記1つ以上の推奨を送信するステップと、
    を実行させる命令が格納されている、装置。
  9. 前記命令は、前記1つ以上のプロセッサの少なくとも1つに実行されたときに、前記1つ以上のプロセッサの少なくとも1つに、
    前記複数の予測モデルを生成するステップにおいて、複数の予測モデルのそれぞれについて、
    プロファイルされたコンテキストデータから複数のコンテキストデータフィールドを選択することにより複数の特徴を決定することと、
    推薦する複数のデータベースオペレーションまたは複数のオペランドを決定することと、
    複数のデータベースオペレーションまたは複数のオペランドの各々について、複数の特徴の各々についての特徴重みを決定することと、をさらに行わせ、
    前記特徴重みはデータベースオペレーションまたはオペランドに関する特徴の予測性の尺度に対応する、請求項8に記載の装置。
  10. 前記コンテキストデータは、プロジェクトメタデータ、ワークシートメタデータ、およびユーザメタデータのうちの少なくとも1つを含む、請求項8に記載の装置。
  11. 少なくとも1つの予測モデルが、多項ロジスティック分類器である、請求項8に記載の装置。
  12. 前記アプリケーションコンテキストデータは、プロジェクトメタデータ、ワークシートメタデータ、およびユーザメタデータのうちの少なくとも1つを含む、請求項8に記載の装置。
  13. 前記1つ以上の推奨は、ジョインオペレーションおよび結合オペレーションのうちの少なくとも1つを含む、請求項8に記載の装置。
  14. 前記1つ以上の選択された予測モデルは、オペレーションモデルおよびオペランドモデルを含み、
    前記命令は、前記1つ以上のプロセッサの少なくとも1つに実行されたときに、前記1つ以上のプロセッサの少なくとも1つに、
    前記アプリケーションコンテキストデータを前記1つ以上の選択された予測モデルへ入力することにより、1つ以上の確率リストを生成するステップにおいて、
    前記アプリケーションコンテキストデータを前記オペレーションモデルへ入力することにより、前記複数のデータベースオペレーションに関連付られた確率を含む第1の確率リストを生成することと、
    前記アプリケーションコンテキストデータおよび前記第1の確率リストを前記オペランドモデルへ入力することにより、前記複数のオペランドに関連付られた確率を含む第2の確率リストを生成することと、をさらに実行させる、
    請求項8に記載の装置。
  15. コンピュータ可読命令を記憶する少なくとも1つの非一時的なコンピュータ可読記憶媒体であって、前記コンピュータ可読命令は、1つ以上のコンピューティングデバイスに実行されたとき、前記1つ以上のコンピューティングデバイスの少なくとも1つに、
    コンテキストデータから、データベースオペレーション履歴データエントリおよびトレーニングコンテキストデータエントリをキャプチャすることによって、コンテキストデータのプロファイリングを行うステップであって、前記コンテキストデータはデータ解析アプリケーション内のテーブル上で実行されるデータベースオペレーションに応答して前記データ解析アプリケーションの1つまたは複数のインスタンスから受信されたエントリを含む、ステップと、
    第1のセットのユーザについて、複数のテーブル上で実行される複数のデータベースオペレーションに対してプロファイリングされたデータベースオペレーション履歴データおよびプロファイリングされたコンテキストデータを維持するステップと、
    データ解析アプリケーションの第2のセットのユーザに、少なくとも1つのデータベースオペレーションまたは少なくとも1つのオペランド、の1つ以上を推薦するよう構成された複数の予測モデルを生成するステップであって、前記予測モデルのそれぞれは、プロファイルされたコンテキストデータからのコンテキストデータフィールドに対応する複数の特徴と、推薦のための複数の対応するデータベースオペレーションまたは複数のオペランドのいずれかとを含む、ステップと、
    アプリケーションコンテキストデータを含むアプリケーションログエントリを受信するステップであって、前記アプリケーションログエントリはデータ解析アプリケーションのインスタンス内のテーブル内の列を選択する第2のセットのユーザに応答して受信される、ステップと、
    前記アプリケーションコンテキストデータに少なくとも部分的に基づいて、前記複数の予測モデル内の1つ以上の予測モデルを選択するステップと、
    前記アプリケーションコンテキストデータを前記1つ以上の選択された予測モデルへ入力することにより、1つ以上の確率リストを生成するステップであって、前記確率リストのそれぞれは、前記複数のデータベースオペレーションまたは前記複数のオペランドに関連付られた複数の確率値を含む、ステップと、
    前記1つ以上の確率リストに少なくとも部分的に基づいて、1つ以上の推奨を決定するステップであって、前記1つ以上の推奨における各推奨は、データベースオペレーションまたはオペランドを含む、ステップと、
    ユーザへの提示のためにデータ解析アプリケーションのインスタンスに前記1つ以上の推奨を送信するステップと、
    を実行させる、記憶媒体。
  16. 前記コンピュータ可読命令は、前記1つ以上のプロセッサの少なくとも1つに実行されたときに、前記1つ以上のプロセッサの少なくとも1つに、
    前記複数の予測モデルを生成するステップにおいて、複数の予測モデルのそれぞれについて、
    プロファイルされたコンテキストデータから複数のコンテキストデータフィールドを選択することにより複数の特徴を決定することと、
    推薦する複数のデータベースオペレーションまたは複数のオペランドを決定することと、
    複数のデータベースオペレーションまたは複数のオペランドの各々について、複数の特徴の各々についての特徴重みを決定することと、をさらに行わせ、
    前記特徴重みはデータベースオペレーションまたはオペランドに関する特徴の予測性の尺度に対応する、請求項15に記載の記憶媒体。
  17. 前記コンテキストデータは、プロジェクトメタデータ、ワークシートメタデータ、およびユーザメタデータのうちの少なくとも1つを含む、請求項15に記載の記憶媒体。
  18. 少なくとも1つの予測モデルが、多項ロジスティック分類器である、請求項15に記載の記憶媒体。
  19. 前記アプリケーションコンテキストデータは、プロジェクトメタデータ、ワークシートメタデータ、およびユーザメタデータのうちの少なくとも1つを含む、請求項15に記載の記憶媒体。
  20. 前記1つ以上の推奨は、ジョインオペレーションおよび結合オペレーションのうちの少なくとも1つを含む、請求項15に記載の記憶媒体。
  21. 前記1つ以上の選択された予測モデルは、オペレーションモデルおよびオペランドモデルを含み、
    前記コンピュータ可読命令は、前記1つ以上のプロセッサの少なくとも1つに実行されたときに、前記1つ以上のプロセッサの少なくとも1つに、
    前記アプリケーションコンテキストデータを前記1つ以上の選択された予測モデルへ入力することにより、1つ以上の確率リストを生成するステップにおいて、
    前記アプリケーションコンテキストデータを前記オペレーションモデルへ入力することにより、前記複数のデータベースオペレーションに関連付られた確率を含む第1の確率リストを生成することと、
    前記アプリケーションコンテキストデータおよび前記第1の確率リストを前記オペランドモデルへ入力することにより、前記複数のオペランドに関連付られた確率を含む第2の確率リストを生成することと、をさらに実行させる、
    請求項15に記載の記憶媒体。
JP2018555888A 2016-04-26 2017-04-26 履歴ログからの学習と、etlツール内のデータアセットに関するデータベースオペレーションの推奨 Active JP6843882B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US15/139,186 2016-04-26
US15/139,186 US10324947B2 (en) 2016-04-26 2016-04-26 Learning from historical logs and recommending database operations on a data-asset in an ETL tool
PCT/US2017/029583 WO2017189693A1 (en) 2016-04-26 2017-04-26 Learning from historical logs and recommending database operations on a data-asset in an etl tool

Publications (3)

Publication Number Publication Date
JP2019519027A JP2019519027A (ja) 2019-07-04
JP2019519027A5 JP2019519027A5 (ja) 2020-07-02
JP6843882B2 true JP6843882B2 (ja) 2021-03-17

Family

ID=60090217

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018555888A Active JP6843882B2 (ja) 2016-04-26 2017-04-26 履歴ログからの学習と、etlツール内のデータアセットに関するデータベースオペレーションの推奨

Country Status (6)

Country Link
US (1) US10324947B2 (ja)
EP (1) EP3449334A4 (ja)
JP (1) JP6843882B2 (ja)
AU (1) AU2017255561B2 (ja)
CA (1) CA3022113A1 (ja)
WO (1) WO2017189693A1 (ja)

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10073858B2 (en) 2013-05-16 2018-09-11 Oracle International Corporation Systems and methods for tuning a storage system
US11289200B1 (en) 2017-03-13 2022-03-29 C/Hca, Inc. Authorized user modeling for decision support
US10412028B1 (en) 2013-05-24 2019-09-10 HCA Holdings, Inc. Data derived user behavior modeling
US10936599B2 (en) 2017-09-29 2021-03-02 Oracle International Corporation Adaptive recommendations
US11269822B2 (en) * 2017-10-09 2022-03-08 Sap Se Generation of automated data migration model
US11222274B2 (en) * 2017-12-01 2022-01-11 At&T Intellectual Property I, L.P. Scalable integrated information structure system
US10783161B2 (en) * 2017-12-15 2020-09-22 International Business Machines Corporation Generating a recommended shaping function to integrate data within a data repository
US11323564B2 (en) * 2018-01-04 2022-05-03 Dell Products L.P. Case management virtual assistant to enable predictive outputs
JP7246095B2 (ja) * 2018-02-09 2023-03-27 国立大学法人静岡大学 機械学習システム及び機械学習方法
JP7119411B2 (ja) * 2018-02-16 2022-08-17 日本電気株式会社 データベース装置、データ管理方法、及びコンピュータ・プログラム
US11531929B2 (en) * 2018-11-09 2022-12-20 Citrix Sysiems, Inc. Systems and methods for machine generated training and imitation learning
US11636071B2 (en) * 2020-01-10 2023-04-25 Salesforce.Com, Inc. Database replication error recovery based on supervised learning
CN111324455A (zh) * 2020-02-10 2020-06-23 浙江中智达科技有限公司 工业云平台调度方法、装置及系统
WO2021174101A1 (en) 2020-02-28 2021-09-02 Clumio, Inc. Storage of backup data using a time-series data lake
US11379500B2 (en) * 2020-03-30 2022-07-05 Sap Se Automated data integration, reconciliation, and self healing using machine learning
US11763178B2 (en) 2020-05-29 2023-09-19 Capital One Services, Llc Predictive scheduling and execution of data analytics applications based on machine learning techniques
CN113392173A (zh) * 2020-08-28 2021-09-14 郭举 基于区块链的信息推送更新方法、系统及云服务信息平台
US11886891B2 (en) * 2021-09-10 2024-01-30 Sap Se Context-based multiexperience element dynamically generated using natural language processing
CN117055479B (zh) * 2023-07-19 2024-05-24 河南上恒医药科技有限公司 口服溶液药物生产过程中设备状态监控方法及系统

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7698170B1 (en) * 2004-08-05 2010-04-13 Versata Development Group, Inc. Retail recommendation domain model
US7720720B1 (en) * 2004-08-05 2010-05-18 Versata Development Group, Inc. System and method for generating effective recommendations
JP4958476B2 (ja) * 2006-05-24 2012-06-20 株式会社日立製作所 検索装置
US20090144262A1 (en) * 2007-12-04 2009-06-04 Microsoft Corporation Search query transformation using direct manipulation
JP5049223B2 (ja) * 2008-07-29 2012-10-17 ヤフー株式会社 Webクエリに対する検索要求属性を自動推定する検索装置、検索方法及びプログラム
US8266148B2 (en) * 2008-10-07 2012-09-11 Aumni Data, Inc. Method and system for business intelligence analytics on unstructured data
US20100114976A1 (en) * 2008-10-21 2010-05-06 Castellanos Maria G Method For Database Design
US8200661B1 (en) * 2008-12-18 2012-06-12 Google Inc. Dynamic recommendations based on user actions
US8161077B2 (en) * 2009-10-21 2012-04-17 Delphix Corp. Datacenter workflow automation scenarios using virtual databases
US20120102007A1 (en) * 2010-10-22 2012-04-26 Alpine Consulting, Inc. Managing etl jobs
WO2013130867A1 (en) * 2012-02-29 2013-09-06 Sourcefire, Inc. Method and apparatus for retroactively detecting malicious or otherwise undesirable software
US8978114B1 (en) * 2012-07-15 2015-03-10 Identropy, Inc. Recommendation engine for unified identity management across internal and shared computing applications
US9646262B2 (en) * 2013-06-17 2017-05-09 Purepredictive, Inc. Data intelligence using machine learning
KR101404710B1 (ko) * 2013-12-16 2014-06-11 김민수 호 기반 광고 서비스 제공 방법
US11227104B2 (en) * 2014-05-11 2022-01-18 Informatica Llc Composite data creation with refinement suggestions
US9881059B2 (en) * 2014-08-08 2018-01-30 Yahoo Holdings, Inc. Systems and methods for suggesting headlines
US9507824B2 (en) * 2014-08-22 2016-11-29 Attivio Inc. Automated creation of join graphs for unrelated data sets among relational databases
AU2015306693A1 (en) * 2014-08-25 2017-03-02 Shl Us Llc Customizable machine learning models
US10976907B2 (en) * 2014-09-26 2021-04-13 Oracle International Corporation Declarative external data source importation, exportation, and metadata reflection utilizing http and HDFS protocols
US20160117087A1 (en) * 2014-10-23 2016-04-28 Microsoft Corporation Job creation and reuse
US10229148B1 (en) * 2014-12-01 2019-03-12 Arimo, Inc. Multi-language support for interfacing with distributed data
US10430421B2 (en) * 2014-12-29 2019-10-01 Facebook, Inc. Recommending content items in a social network using delayed interaction
US10713587B2 (en) * 2015-11-09 2020-07-14 Xerox Corporation Method and system using machine learning techniques for checking data integrity in a data warehouse feed

Also Published As

Publication number Publication date
EP3449334A4 (en) 2019-12-25
US20170308595A1 (en) 2017-10-26
AU2017255561A1 (en) 2018-12-13
JP2019519027A (ja) 2019-07-04
US10324947B2 (en) 2019-06-18
AU2017255561B2 (en) 2020-11-26
EP3449334A1 (en) 2019-03-06
WO2017189693A1 (en) 2017-11-02
CA3022113A1 (en) 2017-11-02

Similar Documents

Publication Publication Date Title
JP6843882B2 (ja) 履歴ログからの学習と、etlツール内のデータアセットに関するデータベースオペレーションの推奨
US10558629B2 (en) Intelligent data quality
US9965531B2 (en) Data storage extract, transform and load operations for entity and time-based record generation
WO2020167559A1 (en) Generation of process models in domains with unstructured data
US8645332B1 (en) Systems and methods for capturing data refinement actions based on visualized search of information
US20160004757A1 (en) Data management method, data management device and storage medium
US11037096B2 (en) Delivery prediction with degree of delivery reliability
US20130166357A1 (en) Recommender engine
WO2019200480A1 (en) Method and system for model auto-selection using an ensemble of machine learning models
Bermúdez et al. Improving demand forecasting accuracy using nonlinear programming software
US20230093756A1 (en) Systems and methods for generating recommendations
CN112507098A (zh) 问题处理方法、装置、电子设备、存储介质及程序产品
US11868363B2 (en) Method and system for persisting data
US20190205299A1 (en) Library search apparatus, library search system, and library search method
US20190065987A1 (en) Capturing knowledge coverage of machine learning models
US11294669B2 (en) Method and computer-program-product determining measures for the development, design and/or deployment of complex embedded or cyber-physical systems, in particular complex software architectures used therein, of different technical domains
Serpell Incorporating data quality improvement into supply–use table balancing
US20200342302A1 (en) Cognitive forecasting
JP2020035072A (ja) 情報処理装置、情報処理方法および情報処理プログラム
WO2023084710A1 (ja) 推計システム、推計方法、及びプログラム
US11455274B2 (en) Method and system for analyzing data in a database
JP2024016411A (ja) 営業支援装置、及び営業支援方法
CN116756410A (zh) 产品服务推荐方法、产品服务推荐装置、设备及存储介质
CN116628011A (zh) 一种sql语句的处理方法、装置、设备及存储介质
JP2015201059A (ja) パラメータ設定支援システム、パラメータ設定方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200425

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200519

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20200519

A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20200609

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20200924

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20201013

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210112

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20210126

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20210224

R150 Certificate of patent or registration of utility model

Ref document number: 6843882

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250