JP2020187723A - プライバシーを保護しながら分散された顧客データ上で機械学習すること - Google Patents

プライバシーを保護しながら分散された顧客データ上で機械学習すること Download PDF

Info

Publication number
JP2020187723A
JP2020187723A JP2019229271A JP2019229271A JP2020187723A JP 2020187723 A JP2020187723 A JP 2020187723A JP 2019229271 A JP2019229271 A JP 2019229271A JP 2019229271 A JP2019229271 A JP 2019229271A JP 2020187723 A JP2020187723 A JP 2020187723A
Authority
JP
Japan
Prior art keywords
data
training
anonymized
model
individual
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.)
Granted
Application number
JP2019229271A
Other languages
English (en)
Other versions
JP7229148B2 (ja
Inventor
ペーター・エバーライン
Eberlein Peter
フォルカー・ドリーゼン
Driesen Volker
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.)
SAP SE
Original Assignee
SAP SE
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 SAP SE filed Critical SAP SE
Publication of JP2020187723A publication Critical patent/JP2020187723A/ja
Application granted granted Critical
Publication of JP7229148B2 publication Critical patent/JP7229148B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • G06F21/6245Protecting personal data, e.g. for financial or medical purposes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • G06F21/6245Protecting personal data, e.g. for financial or medical purposes
    • G06F21/6254Protecting personal data, e.g. for financial or medical purposes by anonymising data, e.g. decorrelating personal data from the owner's identification
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Medical Informatics (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Mathematical Physics (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Computation (AREA)
  • Data Mining & Analysis (AREA)
  • Computing Systems (AREA)
  • Databases & Information Systems (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

【課題】プライバシーへの影響を最小に維持しながら、分散された顧客データ上で機械学習を行う。【解決手段】コンピュータ実装システムおよびコンピュータ実装方法が、以下を含む。機械学習(ML)モデルをトレーニングしてほしいという要求が、トレーニングブローカーにおいて受け取られる。モデルをトレーニングするための匿名化されたデータが、複数のデータソースの各個々のデータソースからトレーニングブローカーによって取得される。匿名化されたデータは、各個々のデータソースからのプロダクションデータの機微な情報の匿名化によって提供されているデータサイエンススキーマを介してアクセスされる。匿名化されたデータを使用してMLモデルをトレーニングするために、データベンダーに匿名化されたデータへのアクセスが与えられる。【選択図】図1

Description

機械学習技法は、たとえば、作られたテストデータの代わりに、プロダクションデータが使用されるとき、改善された結果をもたらすことができる。しかしながら、プロダクションデータは、個人的または機微な情報を含む可能性がある。機械学習技法から恩恵を受ける、会社または企業などの顧客は、個人的または機微な情報を提供することに関して懸念をもつことがある。個人情報は、たとえば、名前、住所、電話番号、アカウント番号、およびコンピュータクレデンシャル(computer credential)など、個人を特定できる情報(PII:personally identifiable information)を含むことができる。機微な情報は、たとえば、勘定残高、他の数量または測定値、および人口統計学的情報を含むことができる。結果として、顧客は、データがプライバシーに関係する情報または一般的に機微な情報を含んでいる可能性があるので、モデルを作成するベンダーに顧客のデータを提供することを避ける。
本開示は、プライバシーへの影響を最小に維持しながら、分散された顧客データ上で機械学習を行うための技法について説明する。一実装形態では、コンピュータ実装方法が、トレーニングブローカーにおいて、機械学習(ML)モデルをトレーニングしてほしいという要求を受け取るステップと、トレーニングブローカーによって複数のデータソースの各個々のデータソースから、モデルをトレーニングするための匿名化されたデータを取得するステップであって、匿名化されたデータが、各個々のデータソースからのプロダクションデータの機微な情報の匿名化によって提供されているデータサイエンススキーマを介してアクセスされる、取得するステップと、データベンダーに、匿名化されたデータを使用してMLモデルをトレーニングするために匿名化されたデータへのアクセスを与えるステップとを含む。
説明する主題は、コンピュータ実装方法と、コンピュータ実装方法を行うためのコンピュータ可読命令を記憶する、非一時的コンピュータ可読媒体と、1つまたは複数のコンピュータと相互動作可能に結合された1つまたは複数のコンピュータメモリデバイスを含み、1つまたは複数のコンピュータによって実行されると、コンピュータ実装方法を行う命令を記憶した、有形の非一時的機械可読媒体を有する/コンピュータ可読命令が非一時的コンピュータ可読媒体に記憶された、コンピュータ実装システムとを使用して実装することができる。
本明細書で説明する主題は、以下の利点のうちの1つまたは複数を実現するために実装することができる。第1に、実際のプロダクションデータが、個人的または機微な情報を損なうことなく、モデルをトレーニングするために使用され、顧客のためのデータ機密性を増強し得る。第2に、異なる顧客のデータを使用するモデルトレーニングサービスが、顧客がベンダーデータベースに顧客のデータを複製する必要なしに作成され得る。第3に、生成されたデータは適切な結果をもたらさない場合があるので、実際のプロダクションデータの使用は、モデルの性能および精度を向上させることができる。第4に、機械学習モデルが、分散された顧客向けに個人個人で作成され得る。第5に、モデルをトレーニングするために使用される個々の顧客データを、個人などのデータソースまで遡って突きとめることができない。
本明細書の主題の1つまたは複数の実装形態の詳細を、発明を実施するための形態、特許請求の範囲、および添付の図面に示す。発明を実施するための形態、特許請求の範囲、および添付の図面から当業者には、主題の他の特徴、態様、および利点が明らかとなるであろう。
本開示の一実装形態による、前処理システムの一例を示すブロック図である。 本開示の一実装形態による、前処理システムを使用するモデルトレーニングシステムの一例を示すブロック図である。 本開示の一実装形態による、モデルトレーニングシステムのデータからモデルの変形態の一例を集合的に示すブロック図である。 本開示の一実装形態による、モデルトレーニングシステムのデータからモデルの変形態の一例を集合的に示すブロック図である。 本開示の一実装形態による、モデルトレーニングシステムのモデルからデータの変形態の一例を集合的に示すブロック図である。 本開示の一実装形態による、モデルトレーニングシステムのモデルからデータの変形態の一例を集合的に示すブロック図である。 本開示の一実装形態による、モデルの機械学習トレーニングに使用される匿名化されたデータを仲介するためにトレーニングブローカーを使用するためのコンピュータ実装方法の一例を示すフローチャートである。 本開示の一実装形態による、説明するアルゴリズム、方法、機能、処理、フロー、および手順に関連する計算機能を与えるように使用されるコンピュータ実装システムの一例を示すブロック図である。
様々な図面における同様の参照番号および名称は、同様の要素を示す。
以下の詳細な説明は、分散された顧客データ上で、プライバシーを保護しながら機械学習を行うための技法について説明し、1つまたは複数の特定の実装形態の状況で開示する主題を当業者が作成し、使用できるように提示される。開示する実装形態の様々な変更形態、修正形態、および置換形態を作成することができ、当業者には直ちに明らかになるであろう。定義される一般的原理は、本開示の範囲から逸脱することなく、他の実装形態および用途に適用することができる。場合によっては、説明する主題の理解を得るために不必要であり、かつ当業者の技能のうちである1つまたは複数の技術的詳細が、1つまたは複数の記載する実装形態を曖昧にしないように、省略されることがある。本開示は、説明するまたは図示する実装形態に限定されるものではなく、説明する原理および特徴と一致する最大の範囲を与えられるものとする。
多くの顧客は、顧客の顧客サイトに展開される標準ソフトウェアを使用する。たとえば、顧客は、同じ企業資源計画(ERP)ソフトウェアを使用する場合がある。場合によっては、ERPソフトウェアは、顧客固有の拡張機能など、アドオン機能を含む。アドオン機能のいくつかは、機械学習(ML)機能に関係することがあり、ML機能は、すべての顧客および顧客のデータに適用される技法を含むことができる。たとえば、ML技法は、同じERPソフトウェアを使用する顧客に共通しているデータの基礎に基づくことがある。データは、異なるタイプのアプリケーションの間で共有されるフォーマットを含む、共通のフォーマットになっていることがある。一例として、ML技法は、販売注文、販売注文項目、インボイス、人的資源(HR)データ、およびデータの組合せに適用することができる。これらのデータタイプの各々が、1つの共通のデータフォーマットにマップされる異なるソフトウェア製品に記憶されたデータセットに対して規定された事実上の業界標準に基づくデータ構造を使用することができる。
たとえばソフトウェアベンダーが、所与の製品または製品群で使用される情報に基づいているMLモデルを作成したい場合がある。MLモデル、データ分析、およびモデルトレーニングは、しばしば実際の顧客データ、またはプロダクションデータを使用することから恩恵を受けることができる。プロダクションデータは、たとえば、生成されたデータが容認可能または現実的な結果を与えないシナリオにおいて必要不可欠である場合がある。この場合、顧客が、店舗用の製品またはクラウドベースの製品に対するプロダクションデータを提供するよう求められてもよい。ベンダーに顧客データを読み取ることを禁止するデータアクセス規制または要件が存在してもよい。いくつかの会社は、会社の方針により、いくつかのタイプの顧客データへのアクセスを禁止してもよい。一般データ保護規則(GDPR)ルールなど、機微なデータ(たとえば、PII)へのアクセスを禁止する政府または法的規制が存在してもよい。
データプライバシー懸念の結果として、たとえば、実際の顧客データに基づいて機械学習モデルを作成する最良の方法に関して、課題が存在することがある。この課題は、数人の顧客(たとえば、異なる場所にいる)の間でデータが分散され、ベンダーがデータへの直接アクセスを許可されないとき、より困難になり得る。データの一部がアクセス可能であるときでも、顧客データプライバシーを維持することが、依然として課題を提起する。
データ処理
いくつかの実装形態では、モデルに使用するためにデータがアクセスされる前に、データの前処理が行われ得る。この前処理は、機械学習プロセスがデータベースに記憶されるデータに直接アクセスすること、またはこれを使用することがないように導かれ得る。ソフトウェアベンダーによって設けられる前処理機構は、一般的に、特定のデータ構造およびデータタイプに依存する。たとえば、トレーニングプロセスに必要とされないフィールドは、フィルタ処理で除くことができる。フィルタ処理されるフィールドは、たとえば、モデルには必要とされない個人データを含むことができる。フィルタ処理は、データがトレーニングプロセスによって読み取られる、またはこれにアクセス可能にされないことを保証することができる。いくつかの実装形態では、テキスト、文字列、およびグローバル一意識別子(GUID)などのフィールドを数字(乱数を含む)に変換する、またはソースデータのリバースエンジニアリングおよび再作成を防ぐ他の形に変換するために、データセットまたはデータベース上で機構を使用することができる。
図1は、本開示の一実装形態による、前処理システム100の一例を示すブロック図である。前処理システム100は、アプリケーション104のために働くデータベース102内のデータを前処理するために使用され得る。データエクスポーザコントロール106が、データをモデルに提供することができる。データベース102は、アプリケーション104のために働く顧客プロダクションデータスキーマ108と、データエクスポーザコントロール106のために働くデータサイエンススキーマ110とを含む。プロダクションデータスキーマ108は、ビュー114を介してデータベーステーブル112へのアクセスを与える。データサイエンススキーマ110は、ビュー118を介してデータベーステーブル116へのアクセスを与える。いくつかの実装形態では、データエクスポーザコントロール106は、プロダクションデータのサブセットを受け取るパイプライン120を介してデータにアクセスすることもできる。
いくつかの実装形態では、前処理システム100は、データサイエンススキーマ110などのさらなるデータベーススキーマの使用により確立されるフィルタ処理をサポートすることができる。さらなるデータベーススキーマが、他の場合は顧客プロダクションデータスキーマ108を使用してアクセス可能であるプロダクションデータの特定のサブセットへのアクセスを許可する、ビュー118などのオブジェクトを含むことができる。いくつかの実装形態では、特定のフィールドへの(書込みアクセスを不可にしながら)読取りアクセスを選択的に許可するビューが作成され得る。たとえば、名前を含むデータフィールドが、フィルタ処理で除かれることがあり、または名前もしくは他のフィールドが、元の名前を匿名化するグローバル一意識別子(GUID)にマップされることがある。GUIDは、たとえば、2つ以上のテーブルに加わるために、通常使用される個人情報を表す値に取って代わることができる。いくつかの実装形態では、数値は、任意の数でスケーリングされ得る。このようにして、数値データの幅(および数値データ内の相対関係)が、実際の値を公開することなく、比較され得る。
いくつかの実装形態では、第2のフィルタ処理機構が、パイプライン120などのデータパイプラインの作成および使用を含むことができる。たとえばデータパイプラインを使用するとき、顧客プロダクションデータスキーマ108を使用して読み取られるデータが変換され、データサイエンススキーマ110によってアクセス可能なデータベーステーブル116に記憶され得る。顧客(たとえば、顧客の管理者を介して)は、データサイエンススキーマ110を使用してアクセス可能なデータを定義することを含めて、データサイエンススキーマ110を制御することができる。ユーザインターフェースは、公開される情報のタイプを見るために顧客によって使用され得る。機械学習に公開されてはならないいくつかのデータセットについて、ビュー、テーブル、およびテーブル行を削除することができる。公開されるデータが顧客に容認可能であることを顧客が確認できるように、データを公開するために使用されるアプリケーションプログラミングインターフェース(API)を顧客に提供することができる。
図2は、本開示の一実装形態による、前処理システム100を使用するモデルトレーニングシステム200の一例を示すブロック図である。モデルトレーニングシステム200は、モデル206をトレーニングするために、機械学習(ML)モデルトレーニング202または204(または組合せ)を使用することができる。
トレーニング
データの前処理が完了された後、モデル206のトレーニングが行われ得る。いくつかの実装形態では、トレーニング、すなわち、1)データからモデルのMLモデルトレーニング202、または2)モデルからデータのMLモデルトレーニング204を行うために、少なくとも2つの異なる手法を使用することができる。
データからモデルの変形態(または手法)では、メモリ208内のデータが、(たとえば、データにアクセスすることによって、またはデータを受け取ることによって)モデルに運ばれる。データは、ベンダーにおいてデータサイエンススキーマ210を使用してアクセスされる。データは、トレーニングブローカー212を通過する。
モデルからデータの変形態では、モデルは、(たとえば、モデルを顧客の場所に提供することによって)データ場所で使用するために提供される。モデルが所与の顧客のためにトレーニングされると、更新されたモデルは、トレーニングブローカー212に提供され、トレーニングブローカー212は更新されたモデルをさらなる顧客に渡すことができる。
いくつかの実装形態では、データからモデルの変形態は、最適な手法であるとみなすことができる。これは、トレーニングを実行するために必要とされる特定のハードウェアが、データの場所に存在すると想定することができないためである。たとえば、それは、すべての顧客が、モデルを実行するために必要なグラフィックス処理ユニット(GPU)または特定用途向け集積回路(ASIC)ハードウェアを有するとは限らない場合であってもよい。また、トレーニングがかなりの資源を消費する場合、および顧客データセンターで資源が利用可能でない場合、資源はベンダーによって提供され得る。
いくつかの実装形態では、モデルからデータの変形態は、(たとえば、「転移学習」のために)データ場所に分散できるモデルに限定され得る。結果として、モデルからデータの変形態は、モデルのみがトレーニングのためにネットワークを介して送られる(データは送られない)ので、大きいデータ量により好適であり得る。
データからモデルの変形態
図3Aおよび図3Bは、本開示の一実装形態による、モデルトレーニングシステムのデータからモデルの変形態300の一例をまとめて示すブロック図である。データからモデルの変形態300は、分散された顧客データを使用して集中型トレーニングを提供することができる。トレーニングが行われる前に、データは、たとえば、顧客データベース内のデータサイエンススキーマからデータを読み取ること、およびトレーニングブローカーにデータをキャッシュすることによって、前処理することができる。
モデルトレーニングは、たとえば、ステップ1 302において、関係するデータがキャッシュされるよう要求することを含む、シナリオXをトレーニングしてほしいという要求が行われるとき、開始することができる。たとえば、ベンダーデータセンター304のベンダーが、特定のトレーニングごとにどのデータがキャッシュされるか(306)を指定することができる。キャッシュされるデータを特定する情報は、トレーニングブローカー212に渡され得る。ベンダーデータセンター304は、顧客308の構成要素と同様の構成要素を含むことができ、アプリケーション310と、データベース312とを含む。データベース312は、ベンダー独自のデータスキーマ314と、データサイエンススキーマ316とを含む。ベンダーデータセンター304は、モデルをトレーニングすることができる、データからモデルのMLトレーニングモジュール320を含む。データ匿名化および変換318が、顧客の個人的および機微なデータが保護されることを保証することができる。
トレーニングブローカー212は、次いで、順不同を含む、任意の順序とすることができる、参加する顧客からのレコードを読み取ることができる。たとえば、ステップ2a〜ステップ2m 324において、データを読み取ることは、トレーニングブローカー212によって呼び出される顧客の単一レコードにアクセスすることを含むことができる。データがトレーニングブローカー212によってアクセスされ、キャッシュされた後、トレーニングのためにキャッシュへのアクセスが与えられるステップ3 326において、モデルトレーニングを行うことができる。トレーニングブローカー212から読み取られたデータ上で実際のトレーニングが行われる時間の間、トレーニングブローカー212は、接続されたすべての顧客からレコードをランダムに配信することができる。結果として、トレーニングアルゴリズムは、どのデータがどの顧客から来たかを含む、個人的なまたはプライバシーセンシティブなデータ所有者情報にアクセスしない。
キャッシュは、元のデータベーステーブルの一意のキー制約を実施する必要がないので、同じキーをもつ行が、異なる顧客から読み取られ、キャッシュされ得る。顧客名および顧客のデータベース名(またはレコードを特定の顧客にマップすることを可能にする他の情報)は、キャッシュのレコードに追加されない。場合によっては、これらのタイプのプライバシー保護技法は、外部の信頼できる第三者によって監督され得る。
機械モデルトレーニングは、たとえば異なる顧客によってアクセス可能ないくつかの異なる出所の複数のデータセットを表すデータのスーパーセットを読み取ることができる。いくつかの実装形態では、最小数(たとえば、10人)の顧客からのデータが使用されることを意味する、最小数のソースを指定することができる。いくつかの実装形態では、外部の信頼できる第三者が最小値を監視し、徹底することができる。
いくつかの実装形態では、白色雑音レコードのセットが、読取り中にキャッシュに導入されることがある。このように、トレーニングアルゴリズムは、アクセスされるデータが、接続された顧客システムのいずれかから来るか、それともたとえば白色雑音発生装置から来るかを決定することができない。白色雑音データセットは、モデルのトレーニングを妨害しないように設計することができる。
モデルからデータの変形態
図4Aおよび図4Bは、本開示の一実装形態による、モデルトレーニングシステムのモデルからデータの変形態400の一例をまとめて示すブロック図である。モデルからデータの変形態は、顧客データにわたって反復される分散型トレーニングをサポートすることができる。モデルからデータの手法は、トレーニングされたモデルがさらなるデータでのトレーニングにより改善され得るという概念を包含する「転移学習」に対応するモデルに使用され得る。いくつかの実装形態では、この手法は、以下のステップを含み、ニューラルネットワークと同様の方法で実装され得る。
ステップ1a 402において、モデルはベンダーデータ上でトレーニングされる。ルートモデルは、ベンダーによって生成できるベンダー独自のデータに基づいて作成することができ、データは、より低いがそれでも有効な品質を有する。ルートモデルは最初に、最初の顧客のデータのプライバシーを保護するようにして作成することができる。たとえば、第1の顧客からのモデルの更新されたバージョンが、その後、トレーニングブローカー212に返されるとき、モデルは全く顧客のデータのみに基づくものではなく、したがって、顧客にマップすることができない。ステップ1b 404において、モデルは、さらなるトレーニングのためにトレーニングブローカー212に渡される。
次いでモデルの再トレーニングが、たとえば、顧客1人ずつ行われ得る。ステップ2a 406において、トレーニングブローカー212は、顧客のデータ上でのさらなるトレーニングのために、ルートモデルを顧客308のパイプラインの第1の顧客に提供することができる。ステップ3a 408において、第1の顧客は、顧客1のデータを使用してモデルを再トレーニングすることができる。ステップ4a 410において、モデルをトレーニングした後、第1の顧客は、再トレーニングされたモデルをトレーニングブローカー212に渡すことができる。結果として、モデルバージョン412が再トレーニングされると、モデルバージョン414が作成される。一般に、モデルが顧客によって再トレーニングされるとき、モデルのバージョンVnからモデルのバージョンVn+1が作成され得る。この例では、モデルがステップ1b 404において初めてトレーニングブローカー212に渡された後、バージョンはn=1であり、モデルが第1の顧客によって再トレーニングされた後、バージョンはn=2である。モデルの各バージョンが作成された後、更新されたモデルは、次いで、現在の例では顧客308のパイプラインの顧客2から顧客mを含む、次の顧客に送られる。
ステップ406〜410と同様のステップが、残りの顧客2から顧客mに対して顧客ごとに繰り返され得る。たとえば、ステップ416において、トレーニングブローカー212は、ルートモデルの更新されたバージョン(たとえば、バージョンVx+1)を、顧客308のパイプラインのm番目の顧客に提供することができる。結果として、m番目の顧客に渡されるモデルバージョンVx 422が、モデルバージョンVx+1 424を作成するために再トレーニングされ得る。
モデルが幾人かの顧客のデータでトレーニングされると、モデルはテストすることができる。ステップ5 426において、トレーニングブローカー212は、更新されたモデルの精度をベンダーがテストすることができるベンダーデータセンター304にモデル(たとえば、バージョンx+1)を渡すことができる。精度は、たとえば、データサイエンティストに報告され得る。モデルからデータの変形態400のステップは、モデルの精度がたとえば所定のしきい値を超える精度を有して十分に良いと決定されるまで繰り返され得る。
変形態を拡張する
いくつかの実装形態では、変形態300および変形態400の両方が、追加されたパブリックデータを使用して、たとえば、中央情報局(CIA)ワールドファクトブックからのデータまたはウィキペディアからのデータを使用して、トレーニングするために拡張され得る。データからモデルの変形態300の場合、パブリックデータは、顧客データと同様にしてアクセスされ、実際の顧客データと混合され得る。モデルからデータの変形態400の場合、パブリックデータは、ルートモデルをトレーニングするために使用され得る。パブリックデータが顧客の場所でのトレーニング中に顧客データと相関関係にあることが望ましい場合、パブリックデータは、顧客データセンターでのトレーニング中に読み取ることができる。
いくつかの実装形態では、ベンダーが、モデルからデータの変形態を使用する顧客に順不同のトレーニングを使用してモデルをトレーニングしたい場合がある。たとえば、モデルは顧客Aに、顧客のデータの20%でモデルをトレーニングする命令とともに提供されることがある。モデルは、顧客B〜顧客Zの各々によって、同じく顧客のデータの20%を使用してモデルをトレーニングする命令とともに、連続的に再トレーニングされ得る。すべての顧客が、顧客のデータの20%を使用してモデルを再トレーニングすると、ベンダーは、場合によっては再トレーニングの別のフェーズに入ることができる。たとえば、顧客の任意の順で、顧客A〜顧客Zの各々が、顧客のデータの次のN%(たとえば、30%)でモデルを再トレーニングするよう命令されることがある。顧客がモデルを再トレーニングするたびに、モデルはその時点までに他の顧客によってすでにトレーニングまたは再トレーニングされている。
いくつかの実装形態では、トレーニングが行われる方法を、ベンダーまたは他のエンティティが指定することができる。たとえば、ベンダーは、顧客の数およびトレーニングに使用される顧客のタイプのプロファイルを指定することができる。この例では、トレーニングブローカーは、特定の顧客を選択することができ、たとえば、どの産業から顧客を選択するかを選択することができる。
実施例
いくつかの団体の収集した知識を反映することができる、MLモデルをトレーニングするための以下の例では、各団体が、それ自体のデータベースを有することができ、顧客は、1つまたは複数の団体であることがある。
情報サービスモデルの一例では、ベンダーが、機械学習によって、かつ参加する顧客のデータに基づいて強化された情報サービスを提供することを提案してもよい。顧客がサービスを購入する(または利用する)ことを希望する場合、顧客は、ベンダーにデータを提供することに同意することができる。ベンダーは、参加する顧客にサービスを作成し、提供するために、寄与するすべての顧客のデータを使用することができる。情報サービスモデルのいくつかの実装形態では、ベンダーは、ある価格で顧客にサービスを提案することができ、ベンダーは、場合によっては、サービスをサポートするデータを提供する顧客に割引価格を提供することができる。
第1の例では、ベンダーが、様々な広告チャンネルに費やされるマーケティング投資に関係する推薦を行うサービスを提案したい場合がある。顧客は、顧客の製品、収益、およびマーケティング活動に関するデータを提供することができる。
MLモデルは、製品タイプ(たとえば、ヘッドフォン、テレビジョン、または衣類)、製品の価格、および使用されるマーケティングのタイプ(たとえば、電子メールキャンペーンを含む広告チャネル、オンライン広告、テレビ広告、または新聞広告)など、顧客推論に関係するパラメータを、入力として使用することができる。モデルは、チャンネルの評価値を返すことができる。たとえば、モデルは、テレビ広告を0.3値、電子メール広告を0.1値、オンライン広告を0.8値で格付けし、オンライン広告がマーケティングのために最高値のチャンネルを提供することを顧客に示してもよい。
この例では、モデルをトレーニングするのに必要とされる情報は、顧客推論値に加えて、マーケティングコストおよび特定のキャンペーン前後の売上高に関連する情報を含むことができる。パラメータは、会社内部の秘密を公開しないように、正規化され得る。一例として、売上高値が、100万(または別の値)に正規化され得る。このようにして、実際の売上情報は、ベンダーには見えないが、スケーリングされた値への変化(たとえば、100万から120万への変化)が見える。いくつかの実装形態では、製品タイプおよび広告チャンネルを正規化するために、パブリックオントロジー(public ontology)を使用することができる。
第2の例では、ベンダーが、求人票の応募者の推薦を行うサービスを提案したい場合がある。サービスを利用する顧客は、応募者の履歴書、職務明細書、および応募者の仕事上の成功など、応募者に関するデータを提供することができる。MLモデルは、たとえば、応募者が応募者の仕事をいかによくこなす可能性があるかという評価または予測を作成するために、履歴書および職務内容からのデータなど、入力されたパラメータを使用することができる。雇用する団体は、したがって、高い格付けの応募者を面接に招くことに集中することができる。
モデルは、履歴情報、職務経歴情報、採用/不採用の決定、年次人事評価、および昇進経路を使用して、トレーニングされ得る。学歴、知識、および経験など、履歴書内の職務経歴および情報を正規化するために、パブリックオントロジー(またはベンダーオントロジー)が使用され得る。
図5は、本開示の一実装形態による、モデルの機械学習トレーニングのために使用される匿名化されたデータを仲介するためにトレーニングブローカーを使用するためのコンピュータ実装方法500の一例を示すフローチャートである。提示を明快にするために、以下の説明は、一般的に、この説明の他の図の文脈において方法500を説明する。しかしながら、方法500は、たとえば、任意のシステム、環境、ソフトウェア、およびハードウェア、または必要に応じてシステム、環境、ソフトウェア、およびハードウェアの組合せによって行われ得ることは理解されよう。いくつかの実装形態では、方法500の様々なステップは、並行して、組み合わせて、ループで、または任意の順序で実行され得る。
502において、機械学習(ML)モデルをトレーニングしてほしいという要求が、トレーニングブローカーにおいて受け取られる。一例として、図3Aを参照すると(ステップ1 302において)、トレーニングブローカー212は、ベンダーデータセンター304から要求を受け取ることができる。関係するデータをキャッシュしてほしいという要求を含む、シナリオXをトレーニングしてほしいという要求が作成されることがある。502から、方法500は、504に進む。
504において、モデルをトレーニングするための匿名化されたデータが、複数のデータソースの各個々のデータソースからトレーニングブローカーによって取得される。匿名化されたデータは、各個々のデータソースからのプロダクションデータの機微な情報の匿名化によって提供されているデータサイエンススキーマを介してアクセスされる。たとえば、ステップ2a〜2m 324において、トレーニングブローカー212は、参加する顧客308からレコードを読み取ることができる。データを読み取ることは、トレーニングブローカー212によって呼び出される顧客の単一レコードにアクセスすることを含むことができる。データへのアクセスは、たとえば、データサイエンススキーマ110を介して与えられ得る。504から、方法500は、506に進む。
506において、匿名化されたデータへのアクセスが、匿名化されたデータを使用してMLモデルをトレーニングするためにデータベンダーに与えられる。一例として、データがトレーニングブローカー212によってアクセスされ、キャッシュされた後、トレーニングのためにキャッシュへのアクセスが与えられるステップ3 326において、モデルトレーニングを行うことができる。トレーニングブローカー212から読み取られたデータ上で実際のトレーニングが行われる時間の間、トレーニングブローカー212は、接続されたすべての顧客からランダムにレコードを配信することができる。506の後、方法500は停止することができる。
データからモデルの変形態に基づく実装形態を含む、いくつかの実装形態では、匿名化されたデータを取得することおよびその後のMLモデルのトレーニングは、トレーニングブローカー、個々のデータソース、およびデータベンダーの間で以下の対話を含む。匿名化されたデータの要求が、複数のデータソースの各個々のデータソースに与えられ、匿名化されたデータは、複数のデータソースの各個々のデータソースから受け取られる。匿名化されたデータは、トレーニングブローカーによって保守されるキャッシュに記憶され、匿名化されたデータへのアクセスが、データベンダーに与えられる。たとえば、ステップ2a〜2m 324によって、トレーニングブローカー212は、参加している顧客308からレコードを読み取ることができる。トレーニングブローカー212は、データをキャッシュし(306)、ステップ3 326においてトレーニングのためにキャッシュへのアクセスがベンダーデータセンター304に与えられる。
モデルからデータの変形態に基づく実施形態を含む、いくつかの実装形態では、匿名化されたデータを取得することおよびその後のMLモデルのトレーニングは、トレーニングブローカー、個々のデータソース、およびデータベンダーの間で以下の対話を含む。モデルは、複数のデータソースの各個々のデータソースに提供される。複数のデータソースの各個々のデータソースから、更新されたモデルが受け取られ、更新されたモデルは、個々のデータソースで実行される機械学習モデルトレーニングを使用して、および個々のデータソースにローカルに利用可能な匿名化されたデータを使用して、個々のデータソースによって作成される。提供することと、受け取ることとは、複数のデータソースの他の個々のデータソースに対して繰り返される。更新されたモデルは、トレーニングブローカーによってデータベンダーに提供される。一例として、図4Aを参照すると、ステップ2a 406において、トレーニングブローカー212は、顧客のデータ上でのさらなるトレーニングのために、ルートモデルを顧客308のパイプラインの第1の顧客に提供することができる。ステップ3a 408において、第1の顧客は、顧客1のデータを使用してモデルを再トレーニングすることができる。ステップ4a 410において、モデルをトレーニングした後、第1の顧客は、再トレーニングされたモデルをトレーニングブローカー212に渡すことができる。ステップ5a 426において、トレーニングブローカー212は、ベンダーデータセンター304にモデルを渡すことができ、更新されたモデルの精度がベンダーによってテストされ得る。
いくつかの実装形態では、方法500は、データサイエンススキーマを作成し、使用することをさらに含むことができる。たとえば、データサイエンススキーマ110は、プロダクションデータのプロダクションデータスキーマ108に基づいて作成することができる。データサイエンススキーマは、プロダクションデータへの読取り専用アクセスを与え、アクセスはプロダクションデータ中の非個人化データに限定される。データサイエンススキーマ110を使用することによって、非個人化データの複製が必要とされない。データサイエンススキーマは、プロダクションデータへのアクセスを与えるために使用される。
いくつかの実施形態では、方法500は、各個々のデータソースでのユーザによる評価のためにデータサイエンススキーマへのアクセスを与えるステップをさらに含むことができる。たとえば、公開されるデータが容認可能であることを顧客308が確認できるように、データを公開するために使用されるAPIを顧客に提供することができる。
いくつかの実装形態では、方法500は、個々のデータソースに帰することができる数値を取り除くために、匿名化されたデータ中の数値をスケーリングすることをさらに含むことができる。たとえば、数値は、任意の数でスケーリングすることができる。このようにして、数値データの幅(および数値データ内の相対関係)が、実際の値を公開することなく、比較され得る。
いくつかの実装形態では、方法500は、個々のデータソースに帰することができる値を取り除くために、プロダクションデータにおけるフィールドをGUIDにマップすることをさらに含むことができる。GUIDは、たとえば、匿名化されたデータとともに記憶することができる。
いくつかの実装形態では、方法500は、パイプラインの使用をさらに含むことができる。プロダクションデータのサブセットを(たとえば、テーブル112から)受け取るために、パイプライン(たとえば、パイプライン120)が作成される。プロダクションデータは、MLモデルをトレーニングするのに必要とされるトレーニングデータを与えるために読み取られる。トレーニングデータは、たとえば、パイプライン120にアクセス可能なデータベーステーブル116に記憶される。データベーステーブルへのアクセスは、たとえば、データサイエンススキーマ110を使用して行われ得る。
図6は、本開示の一実装形態による、説明するアルゴリズム、方法、機能、プロセス、フロー、および手順に関連する計算機能を提供するために使用されるコンピュータ実装システム600の一例を示すブロック図である。図示した実装形態では、システム600は、コンピュータ602と、ネットワーク630とを含む。
図示したコンピュータ602は、サーバ、デスクトップコンピュータ、ラップトップ/ノートブックコンピュータ、ワイヤレスデータポート、スマートフォン、携帯情報端末(PDA)、タブレットコンピュータ、これらのデバイス内の1つもしくは複数のプロセッサなどの任意のコンピューティングデバイス、またはコンピューティングデバイスの物理インスタンスもしくは仮想インスタンスを含むコンピューティングデバイスの組合せ、またはコンピューティングデバイスの物理インスタンスもしくは仮想インスタンスの組合せを含むよう意図されている。さらに、コンピュータ602は、キーパッド、キーボード、もしくはタッチスクリーン、またはユーザ情報を受け付けることができる入力デバイスの組合せなどの入力デバイスと、デジタルデータ、視覚情報、オーディオ情報、別のタイプの情報、または情報のタイプの組合せを含む、コンピュータ602の動作に関連する情報を、グラフィカルタイプユーザインターフェース(UI)(もしくはGUI)または他のUI上で伝える出力デバイスとを含むことができる。
コンピュータ602は、たとえば、クライアント、ネットワーク構成要素、サーバ、またはデータベースもしくは別の永続性(persistency)としての、分散コンピューティングシステムにおける役割、または本開示で説明する主題を行うための役割の組合せにおいて、機能することができる。図示したコンピュータ602は、ネットワーク630と通信可能に結合される。いくつかの実装形態では、コンピュータ602の1つまたは複数の構成要素は、クラウドコンピューティング、ローカル、またはグローバルを含む環境または環境の組合せの中で動作するように構成することができる。
ハイレベルでは、コンピュータ602は、説明する主題に関連するデータおよび情報を受け取る、送る、処理する、記憶する、または管理するように動作可能な電子計算機である。いくつかの実装形態によれば、コンピュータ602は、アプリケーションサーバ、電子メールサーバ、ウェブサーバ、キャッシングサーバ、ストリーミングデータサーバ、またはサーバの任意の組合せなどのサーバを含む、またはサーバと通信可能に結合されることもある。
コンピュータ602は、ネットワーク630を介して(たとえば、別のコンピュータ602上で実行しているクライアントソフトウェアアプリケーションから)要求を受け取り、ソフトウェアアプリケーションまたはソフトウェアアプリケーションの組合せを使用して受け取った要求を処理することによって受け取った要求に応答することができる。加えて、要求は、内部ユーザ(たとえば、コマンドコンソールからまたは別の内部アクセス方法によって)、外部もしくは第3者、または他のエンティティ、個人、システム、もしくはコンピュータから、コンピュータ602に送られることもある。
コンピュータ602の構成要素の各々は、システムバス603を使用して通信することができる。いくつかの実装形態では、ハードウェア、ソフトウェア、またはハードウェアとソフトウェアの組合せを含む、コンピュータ602の構成要素のいずれかまたは全部が、アプリケーションプログラミングインターフェース(API)612、サービスレイヤ613、またはAPI 612とサービスレイヤ613の組合せを使用して、システムバス603を介してインターフェースすることができる。API 612は、ルーチン、データ構造、およびオブジェクトクラスの仕様を含むことができる。API 612は、コンピュータ言語に依存しない、または依存することがあり、完全なインターフェース、単一機能、またはAPIのセットを指す。サービスレイヤ613は、コンピュータ602またはコンピュータ602に通信可能に結合された他の構成要素(図示の有無にかかわらず)に、ソフトウェアサービスを提供する。コンピュータ602の機能は、サービスレイヤ613を使用するすべてのサービスの消費者にアクセス可能とすることができる。サービスレイヤ613によって提供されるソフトウェアサービスなどのソフトウェアサービスは、再利用可能な、規定されたインターフェースを介して規定された機能を提供する。たとえば、インターフェースは、コンピューティング言語(たとえば、JAVA(登録商標)もしくはC++)、またはコンピューティング言語の組合せで書かれて、特定のフォーマット(たとえば、拡張可能マークアップ言語(XML))またはフォーマットの組合せでデータを提供するソフトウェアとすることができる。コンピュータ602の一体型構成要素として図示しているが、代替実装形態は、API 612またはサービスレイヤ613を、コンピュータ602の他の構成要素またはコンピュータ602に通信可能に結合された他の構成要素(図示の有無にかかわらず)に対して独立した構成要素として示すことができる。さらに、API 612またはサービスレイヤ613のいずれかまたはすべての部分が、本開示の範囲から逸脱することなく、別のソフトウェアモジュール、企業アプリケーション、またはハードウェアモジュールの子またはサブモジュールとして実装され得る。
コンピュータ602は、インターフェース604を含む。単一のインターフェース604として図示しているが、特定の必要、要望、またはコンピュータ602の特定の実装形態に従って、2つ以上のインターフェース604が使用され得る。インターフェース604は、分散環境においてネットワーク630に通信可能につながる別のコンピューティングシステム(図示の有無にかかわらず)と通信するためにコンピュータ602によって使用される。一般的に、インターフェース604は、ネットワーク630と通信するように動作可能であり、ソフトウェア、ハードウェア、またはソフトウェアとハードウェアの組合せに符号化された論理を含む。より具体的には、インターフェース604は、ネットワーク630またはインターフェース604のハードウェアが図示したコンピュータ602の内部または外部の物理的信号を通信するよう動作可能であるように、通信と関連する1つまたは複数の通信プロトコルをサポートするソフトウェアを含むことができる。
コンピュータ602は、プロセッサ605を含む。単一のプロセッサ605として図示しているが、特定の必要、要望、またはコンピュータ602の特定の実装形態に従って、2つ以上のプロセッサ605が使用され得る。一般的に、プロセッサ605は、本開示で説明するように、コンピュータ602の動作、ならびに任意のアルゴリズム、方法、機能、プロセス、フロー、および手順を行うために、命令を実行し、データを操作する。
コンピュータ602はまた、コンピュータ602、ネットワーク630に通信可能につながる別の構成要素(図示の有無にかかわらず)、またはコンピュータ602と別の構成要素の組合せのために、データを保持することができるデータベース606を含む。たとえば、データベース606は、本開示と一致するデータを記憶するインメモリまたは従来のデータベースとすることができる。いくつかの実装形態では、データベース606は、特定の必要、要望、またはコンピュータ602の特定の実装形態、および記載した機能に従って、2つ以上の異なるデータベースタイプの組合せ(たとえば、ハイブリッドインメモリおよび従来のデータベース)とすることができる。単一のデータベース606として図示しているが、特定の必要、要望、またはコンピュータ602の特定の実装形態、および記載した機能に従って、同様のまたは異なるタイプの2つ以上のデータベースが使用され得る。データベース606をコンピュータ602の一体型構成要素として示しているが、代替実装形態では、データベース606は、コンピュータ602の外部にあることがある。
コンピュータ602はまた、コンピュータ602、ネットワーク630に通信可能につながる1つもしくは複数の別の構成要素(図示の有無にかかわらず)、またはコンピュータ602と別の構成要素の組合せのために、データを保持することができるメモリ607を含む。メモリ607は、本開示と一致する任意のデータを記憶することができる。いくつかの実装形態では、メモリ607は、特定の必要、要望、またはコンピュータ602の特定の実装形態、および記載した機能に従って、2つ以上の異なるタイプのメモリの組合せ(たとえば、半導体と磁気ストレージの組合せ)とすることができる。単一のメモリ607として図示しているが、特定の必要、要望、またはコンピュータ602の特定の実装形態、および記載した機能に従って、同様のまたは異なるタイプの2つ以上のメモリ607が使用され得る。メモリ607をコンピュータ602の一体型構成要素として示しているが、代替実装形態では、メモリ607は、コンピュータ602の外部にあることがある。
アプリケーション608は、特に本開示で説明する機能に関して、特定の必要、要望、またはコンピュータ602の特定の実装形態に従った機能を提供するアルゴリズムソフトウェアエンジンである。たとえば、アプリケーション608は、1つまたは複数の構成要素、モジュール、またはアプリケーションとして働く。さらに、単一のアプリケーション608として図示しているが、アプリケーション608は、コンピュータ602上に複数のアプリケーション608として実装され得る。加えて、コンピュータ602と一体として示しているが、代替実装形態では、アプリケーション608は、コンピュータ602の外部にあることがある。
コンピュータ602はまた、電力供給614を含むことができる。電力供給614は、ユーザが交換可能であるか、またはユーザが交換可能ではないように構成され得る、再充電可能なまたは使い捨てのバッテリーを含むことができる。いくつかの実装形態では、電力供給614は、電力変換または管理回路(再充電、スタンバイ、または別の電力管理機能を含む)を含むことができる。いくつかの実装形態では、電力供給614は、たとえば、コンピュータ602に電力を供給する、または充電式バッテリーを充電するために、コンピュータ602が壁コンセントまたは別の電源に差し込まれることを可能にする電源プラグを含むことができる。
コンピュータ602を含むコンピュータシステムと関連する、またはこれの外部の任意の数のコンピュータ602があることがあり、各コンピュータ602がネットワーク630を介して通信する。さらに、「クライアント」、「ユーザ」という用語、または他の適切な用語は、本開示の範囲から逸脱することなく、適宜に互いに区別なく使用されることがある。さらに、本開示は、多くのユーザが1つのコンピュータ602を使用できること、または1人のユーザが複数のコンピュータ602を使用できることを考える。
主題の説明する実装形態は、1つまたは複数の特徴を、単独でまたは組み合わせて含むことができる。
たとえば、第1の実装形態では、コンピュータ実装方法が、トレーニングブローカーにおいて、機械学習(ML)モデルをトレーニングしてほしいという要求を受け取るステップと、トレーニングブローカーによって複数のデータソースの各個々のデータソースから、モデルをトレーニングするための匿名化されたデータを取得するステップであって、匿名化されたデータが、各個々のデータソースからのプロダクションデータの機微な情報の匿名化によって提供されているデータサイエンススキーマを介してアクセスされる、取得するステップと、データベンダーに、匿名化されたデータを使用してMLモデルをトレーニングするために匿名化されたデータへのアクセスを与えるステップとを含む。
上記および他の説明した実装形態は各々、場合によっては、以下の特徴のうち1つまたは複数を含むことがある。
第1の特徴であって、以下の特徴のいずれかと組み合わせることができ、匿名化されたデータを取得することが、複数のデータソースの各個々のデータソースに、匿名化されたデータの要求を与えることと、複数のデータソースの各個々のデータソースから、匿名化されたデータを受け取ることと、匿名化されたデータをトレーニングブローカーによって保守されるキャッシュに記憶することとを含み、データベンダーに、匿名化されたデータへのアクセスを与えることが、キャッシュへのアクセスを与えることを含む、第1の特徴。
第2の特徴であって、前または以下の特徴のいずれかと組み合わせることができ、匿名化されたデータを取得することが、複数のデータソースの各個々のデータソースにモデルを与えることと、複数のデータソースの各個々のデータソースから、更新されたモデルを受け取ることであって、更新されたモデルが、個々のデータソースで実行される機械学習モデルトレーニングを使用して、および個々のデータソースにローカルに利用可能な匿名化されたデータを使用して、個々のデータソースによって作成される、受け取ることと、複数のデータソースの他の個々のデータソースに対して与えることおよび受け取ることを繰り返すことと、トレーニングブローカーによってデータベンダーに更新されたモデルを与えることとを含む、第2の特徴。
第3の特徴であって、前または以下の特徴のいずれかと組み合わせることができ、プロダクションデータのプロダクションデータスキーマに基づいてデータサイエンススキーマを作成することであって、データサイエンススキーマがプロダクションデータへの読取り専用アクセスを与え、データサイエンススキーマが、非個人化データを複製せずにプロダクションデータ中の非個人化データに限定されるアクセスを与える、作成することと、プロダクションデータへのアクセスを与えるためにデータサイエンススキーマを使用することとをさらに含む、第3の特徴。
第4の特徴であって、前または以下の特徴のいずれかと組み合わせることができ、各個々のデータソースでユーザに、評価のためにデータサイエンススキーマへのアクセスを与えることをさらに含む、第4の特徴。
第5の特徴であって、前または以下の特徴のいずれかと組み合わせることができ、個々のデータソースに帰することができる数値を取り除くために、匿名化されたデータ中の数値をスケーリングすることをさらに含む、第5の特徴。
第6の特徴であって、前または以下の特徴のいずれかと組み合わせることができ、個々のデータソースに帰することができる値を取り除くために、プロダクションデータ中のフィールドをグローバル一意識別子(GUID)にマップすることと、匿名化データとともにGUIDを記憶することをさらに含む、第6の特徴。
第7の特徴であって、前または以下の特徴のいずれかと組み合わせることができ、プロダクションデータのサブセットを受け取るためのパイプラインを作成することと、MLモデルをトレーニングするのに必要とされるトレーニングデータのためにプロダクションデータを読み取ることと、パイプラインにアクセス可能なデータベーステーブルにトレーニングデータを記憶することと、データサイエンススキーマを使用してデータベーステーブルへのアクセスを与えることとをさらに含む、第7の特徴。
第2の実装形態では、コンピュータ可読媒体が、動作を行うためにコンピュータシステムによって実行可能な1つまたは複数の命令を記憶し、動作が、複数のデータソースの各個々のデータソースに、匿名化されたデータの要求を与えることと、複数のデータソースの各個々のデータソースから、匿名化されたデータを受け取ることと、匿名化されたデータをトレーニングブローカーによって保守されるキャッシュに記憶することとを含み、データベンダーに、匿名化されたデータへのアクセスを与えることが、キャッシュへのアクセスを与えることを含む。
上記および他の説明した実装形態は各々、場合によっては、以下の特徴のうち1つまたは複数を含むことがある。
第1の特徴であって、以下の特徴のいずれかと組み合わせることができ、匿名化されたデータを取得することが、複数のデータソースの各個々のデータソースに、匿名化されたデータの要求を与えることと、複数のデータソースの各個々のデータソースから、匿名化されたデータを受け取ることと、匿名化されたデータをトレーニングブローカーによって保守されるキャッシュに記憶することとを含み、データベンダーに、匿名化されたデータへのアクセスを与えることが、キャッシュへのアクセスを与えることを含む、第1の特徴。
第2の特徴であって、前または以下の特徴のいずれかと組み合わせることができ、匿名化されたデータを取得することが、複数のデータソースの各個々のデータソースにモデルを与えることと、複数のデータソースの各個々のデータソースから、更新されたモデルを受け取ることであって、更新されたモデルが、個々のデータソースで実行される機械学習モデルトレーニングを使用して、および個々のデータソースにローカルに利用可能な匿名化されたデータを使用して、個々のデータソースによって作成される、受け取ることと、複数のデータソースの他の個々のデータソースに対して与えることおよび受け取ることを繰り返すことと、トレーニングブローカーによってデータベンダーに更新されたモデルを与えることとを含む、第2の特徴。
第3の特徴であって、前または以下の特徴のいずれかと組み合わせることができ、動作は、プロダクションデータのプロダクションデータスキーマに基づいてデータサイエンススキーマを作成することであって、データサイエンススキーマがプロダクションデータへの読取り専用アクセスを与え、データサイエンススキーマが、非個人化データを複製せずにプロダクションデータ中の非個人化データに限定されるアクセスを与える、作成することと、プロダクションデータへのアクセスを与えるためにデータサイエンススキーマを使用することとをさらに含む、第3の特徴。
第4の特徴であって、前または以下の特徴のいずれかと組み合わせることができ、動作は、各個々のデータソースでユーザに、評価のためにデータサイエンススキーマへのアクセスを与えることをさらに含む、第4の特徴。
第5の特徴であって、前または以下の特徴のいずれかと組み合わせることができ、動作は、個々のデータソースに帰することができる数値を取り除くために、匿名化されたデータ中の数値をスケーリングすることをさらに含む、第5の特徴。
第6の特徴であって、前または以下の特徴のいずれかと組み合わせることができ、動作は、個々のデータソースに帰することができる値を取り除くために、プロダクションデータ中のフィールドをグローバル一意識別子(GUID)にマップすることと、匿名化データとともにGUIDを記憶することとをさらに含む、第6の特徴。
第7の特徴であって、前または以下の特徴のいずれかと組み合わせることができ、動作は、プロダクションデータのサブセットを受け取るためのパイプラインを作成することと、MLモデルをトレーニングするのに必要とされるトレーニングデータのためにプロダクションデータを読み取ることと、パイプラインにアクセス可能なデータベースにトレーニングデータを記憶することと、データサイエンススキーマを使用してデータベーステーブルへのアクセスを与えることとをさらに含む、第7の特徴。
第3の実装形態では、コンピュータ実装システムが、1つまたは複数のコンピュータと、1つまたは複数のコンピュータと相互動作可能に結合され、1つまたは複数の命令を記憶する有形の非一時的機械可読媒体を有する1つまたは複数のコンピュータメモリデバイスとを含み、1つまたは複数の命令は、1つまたは複数のコンピュータによって実行されると、複数のデータソースの各個々のデータソースに、匿名化されたデータの要求を与えることと、複数のデータソースの各個々のデータソースから、匿名化されたデータを受け取ることと、匿名化されたデータをトレーニングブローカーによって保守されるキャッシュに記憶することとを含む1つまたは複数の動作を行い、データベンダーに、匿名化されたデータへのアクセスを与えることが、キャッシュへのアクセスを与えることを含む。
上記および他の説明した実装形態は各々、場合によっては、以下の特徴のうち1つまたは複数を含むことがある。
第1の特徴であって、以下の特徴のいずれかと組み合わせることができ、匿名化されたデータを取得することが、複数のデータソースの各個々のデータソースに、匿名化されたデータの要求を与えることと、複数のデータソースの各個々のデータソースから、匿名化されたデータを受け取ることと、匿名化されたデータをトレーニングブローカーによって保守されるキャッシュに記憶することとを含み、データベンダーに、匿名化されたデータへのアクセスを与えることが、キャッシュへのアクセスを与えることを含む、第1の特徴。
第2の特徴であって、前または以下の特徴のいずれかと組み合わせることができ、匿名化されたデータを取得することが、複数のデータソースの各個々のデータソースにモデルを与えることと、複数のデータソースの各個々のデータソースから、更新されたモデルを受け取ることであって、更新されたモデルが、個々のデータソースで実行される機械学習モデルトレーニングを使用して、および個々のデータソースにローカルに利用可能な匿名化されたデータを使用して、個々のデータソースによって作成される、受け取ることと、複数のデータソースの他の個々のデータソースに対して与えることおよび受け取ることを繰り返すことと、トレーニングブローカーによってデータベンダーに更新されたモデルを与えることとを含む、第2の特徴。
第3の特徴であって、前または以下の特徴のいずれかと組み合わせることができ、動作は、プロダクションデータのプロダクションデータスキーマに基づいてデータサイエンススキーマを作成することであって、データサイエンススキーマがプロダクションデータへの読取り専用アクセスを与え、データサイエンススキーマが、非個人化データを複製せずにプロダクションデータ中の非個人化データに限定されるアクセスを与える、作成することと、プロダクションデータへのアクセスを与えるためにデータサイエンススキーマを使用することとをさらに含む、第3の特徴。
本明細書で説明する主題および機能的動作の実装形態は、デジタル電子回路において、有形に具現化されたコンピュータソフトウェアもしくはファームウェアにおいて、本明細書で開示する構造およびそれらの構造的に同等のものを含む、コンピュータハードウェアにおいて、またはそれらの任意の組合せにおいて、実装されることがある。説明する主題のソフトウェア実装形態は、1つまたは複数のコンピュータプログラムとして、すなわち、コンピュータまたはコンピュータ実装システムによる実行のために、またはこれらの動作を制御するために、有形の非一時的コンピュータ可読媒体上に符号化されたコンピュータプログラム命令の1つまたは複数のモジュールとして、実装されることがある。代替または追加として、プログラム命令は、人工的に生成される伝搬信号、たとえば、コンピュータまたはコンピュータ実装システムによる実行のために受信機装置に送信するための情報を符号化するために生成される機械生成の電気、光、または電磁信号の中/上に符号化されることがある。コンピュータ記憶媒体は、機械可読ストレージデバイス、機械可読記憶基板、ランダムもしくはシリアルアクセスメモリデバイス、またはコンピュータ記憶媒体の組合せであることがある。1つまたは複数のコンピュータを構成するとは、ソフトウェアが1つまたは複数のコンピュータによって実行されると、特定のコンピューティング動作が行われるように、1つまたは複数のコンピュータが、ハードウェア、ファームウェア、またはソフトウェア(またはハードウェア、ファームウェア、およびソフトウェアの組合せ)をインストールしていることを意味する。
「リアルタイム(real-time)」、「リアルタイム(real time)」、「リアルタイム(realtime)」、「リアル(高速)タイム(RFT)」、「ほぼリアルタイム(NRT)」、「準リアルタイム」という用語、または(当業者に理解される)同様の用語は、アクションおよび応答が時間的に近接して、アクションおよび応答が実質的に同時に発生すると個人が知覚することを意味する。たとえば、データにアクセスするための個人のアクションに続くデータの表示への応答の(または表示の開始の)時間差は、1ミリ秒(ms)未満、1秒(s)未満、または5s未満であることがある。要求されたデータは、瞬時に表示される(または表示するために起動される)必要はないが、説明するコンピューティングシステムの処理限界、およびたとえば、データを収集する、正確に測定する、分析する、処理する、記憶する、または送信するのに必要とされる時間を考慮に入れながら、意図的な遅延無しで表示(または表示するために起動)される。
「データ処理装置」、「コンピュータ」、または「電子コンピュータデバイス」という用語(または、当業者に理解される同義語)は、データ処理ハードウェアを指し、例としてプログラマブルプロセッサ、コンピュータ、または複数のプロセッサもしくはコンピュータを含む、データを処理するためのあらゆる種類の装置、デバイス、および機械を包含する。コンピュータはまた、専用論理回路、たとえば、中央処理ユニット(CPU)、フィールドプログラマブルゲートアレイ(FPGA)、または特定用途向け集積回路(ASIC)とすること、またはこれらをさらに含むことができる。いくつかの実装形態では、コンピュータまたはコンピュータ実装システムまたは専用論理回路(またはコンピュータもしくはコンピュータ実装システムおよび専用論理回路の組合せ)は、ハードウェアベースまたはソフトウェアベース(またはハードウェアベースとソフトウェアベースの両方の組合せ)とすることができる。コンピュータは、場合によって、コンピュータプログラムのための実行環境を作成するコード、たとえば、プロセッサファームウェアを構成するコード、プロトコルスタック、データベース管理システム、オペレーティングシステム、または実行環境の組合せを含むことができる。本開示は、オペレーティングシステム、たとえばLINUX、UNIX(登録商標)、WINDOWS(登録商標)、MAC OS、ANDROID(登録商標)、もしくはIOS、またはオペレーティングシステムの組合せを備えるコンピュータまたはコンピュータ実装システムの使用を考える。
プログラム、ソフトウェア、ソフトウェアアプリケーション、ユニット、モジュール、ソフトウェアモジュール、スクリプト、コード、または他の構成要素と呼ばれる、または説明されることもある、コンピュータプログラムは、コンパイラ型もしくはインタープリタ型言語、または宣言型もしくは手続き型言語を含む、プログラミング言語の任意の形態で書くことができ、またコンピュータプログラムは、たとえば、スタンドアロンプログラム、モジュール、コンポーネント、またはサブルーチンとして含み、コンピューティング環境で使用するために、任意の形態で展開されることがある。コンピュータプログラムは、ファイルシステムのファイルに対応することがあるが、対応する必要はない。プログラムは、他のプログラムまたはデータ、たとえば、マークアップ言語ドキュメントに記憶された1つまたは複数のスクリプトを入れたファイルの一部分に、当該プログラムに専用の単一ファイルに、または複数の協調ファイル、たとえば、1つもしくは複数のモジュール、サブプログラム、もしくはコードの一部を記憶するファイルに、記憶することができる。コンピュータプログラムは、1つのコンピュータ上で、または1つのサイトに位置するもしくは複数のサイトにわたって分散し、通信ネットワークによって相互接続された複数のコンピュータ上で実行されるように配置することができる。
様々な図に示したプログラムの部分は、説明する特徴または機能を様々な目的、方法、または他のプロセスを使用して実装するユニットまたはモジュールなどの個々の構成要素として示され得るが、プログラムは、代わりにいくつかのサブユニット、サブモジュール、第三者サービス、構成要素、ライブラリ、および他の構成要素を適宜に含むことができる。逆に、様々な構成要素の特徴および機能は、適宜に、単一構成要素に結合することができる。計算による決定を行うために使用されるしきい値は、静的に、動的に、または静的と動的の両方において決定することができる。
説明する方法、プロセス、または論理フローは、本開示と一致する機能の1つまたは複数の例を表し、説明または図示した実装形態に本開示を限定することを意図せず、説明する原理および特徴と一致する最も広い範囲を与えられることを意図している。説明する方法、プロセス、または論理フローは、1つまたは複数のプログラマブルコンピュータが、入力データで動作し、出力データを生成することによって機能を行うために1つまたは複数のコンピュータプログラムを実行することによって行われ得る。方法、プロセス、または論理フローは、専用論理回路、たとえばCPU、FPGA、またはASICによって行われることもあり、コンピュータがこれらとして実装されることもある。
コンピュータプログラムを実行するためのコンピュータは、汎用または専用マイクロプロセッサ、または両方、または別のタイプのCPUをベースとすることができる。一般的にCPUが、メモリから命令およびデータを受け取り、メモリに書き込む。コンピュータの必須要素は、命令を行うまたは実行するためのCPU、ならびに命令およびデータを記憶するための1つまたは複数のメモリデバイスである。一般的にコンピュータはまた、データを記憶するための1つもしくは複数の大容量ストレージデバイス、たとえば、磁気ディスク、光磁気ディスク、もしくは光ディスクを含み、またはこれらからデータを受け取る、もしくはこれらにデータを転送する、もしくはその両方を行うために動作可能に結合される。しかしながら、コンピュータがそのようなデバイスを有する必要はない。さらに、コンピュータが別のデバイス、たとえば、携帯電話、携帯情報端末(PDA)、モバイルオーディオもしくはビデオプレーヤ、ゲームコンソール、全地球測位システム(GPS)レシーバ、またはポータブルメモリストレージデバイスに、埋め込まれることがある。
コンピュータプログラム命令およびデータを記憶するための非一時的コンピュータ可読媒体は、あらゆる形態の永久/非永久または揮発性/不揮発性メモリ、媒体、およびメモリデバイスを含むことができ、例として、半導体メモリデバイス、たとえばランダムアクセスメモリ(RAM)、読取り専用メモリ(ROM)、相変化メモリ(PRAM)、スタティックランダムアクセスメモリ(SRAM)、ダイナミックランダムアクセスメモリ(DRAM)、消去可能プログラマブル読取り専用メモリ(EPROM)、電気的消去可能プログラマブル読取り専用メモリ(EEPROM)、およびフラッシュメモリデバイス、磁気デバイス、たとえばテープ、カートリッジ、カセット、内蔵/リムーバブルディスク、光磁気ディスク、ならびに光メモリデバイス、たとえばデジタル多用途/ビデオディスク(DVD)、コンパクトディスク(CD)-ROM、DVD+/-R、DVD-RAM、DVD-ROM、高精細/密度(HD)-DVD、およびBLU-RAY/BLURAY DISC (BD)、および他の光メモリ技術を含む。メモリは、動的情報、または任意のパラメータ、変数、アルゴリズム、命令、ルール、制約、もしくは参照を含む他の適切な情報を記憶する、キャッシュ、クラス、フレームワーク、アプリケーション、モジュール、バックアップデータ、ジョブ、ウェブページ、ウェブページテンプレート、データ構造、データベーステーブル、リポジトリを含む、様々なオブジェクトまたはデータを記憶することができる。さらに、メモリは、ログ、ポリシー、セキュリティもしくはアクセスデータ、または報告ファイルなどの、他の適切なデータを含むことができる。プロセッサおよびメモリは、専用論理回路によって補われる、または専用論理回路に組み込まれることがある。
ユーザとの対話を可能にするために、本明細書で説明する主題の実装形態は、ユーザに情報を表示するためのディスプレイデバイス、たとえば陰極線管(CRT)、液晶ディスプレイ(LCD)、発光ダイオード(LED)、またはプラズマモニタと、ユーザがそれによってコンピュータに入力を行うことができるキーボードおよびポインティングデバイス、たとえばマウス、トラックボール、またはトラックパッドとを有するコンピュータ上に実装することができる。また、感圧性をもつタブレットコンピュータ表面などのタッチスクリーン、または容量もしくは電気センシングを使用するマルチタッチスクリーンを使用して、コンピュータに入力を行うこともできる。ユーザと対話するために、他のタイプのデバイスを使用することができる。たとえば、ユーザに与えるフィードバックは、任意の形態の感覚フィードバック(視覚的、聴覚的、触覚的、または組合せのフィードバックタイプなど)とすることができる。ユーザからの入力は、音、発話、または触覚入力を含む、任意の形態で受け取ることができる。加えて、コンピュータが、ユーザによって使用されるクライアントコンピューティングデバイスに文書を送り、それから文書を受け取ることによって(たとえば、ウェブブラウザから受け取られる要求に応じてユーザのモバイルコンピューティングデバイス上のウェブブラウザにウェブページを送ることによって)ユーザと対話することができる。
「グラフィカルユーザインターフェース」または「GUI」という用語は、1つまたは複数のグラフィカルユーザインターフェースおよび特定のグラフィカルユーザインターフェースの表示の各々を描写するために、単数形または複数形で使用することができる。したがって、GUIは、限定はしないが、ウェブブラウザ、タッチスクリーン、またはコマンドラインインターフェース(CLI)を含む、情報を処理し、情報結果をユーザに効率的に提示する任意のグラフィカルユーザインターフェースを表すことができる。一般に、GUIは、インタラクティブフィールド、プルダウンリスト、およびボタンなど、一部または全部がウェブブラウザと関連する、いくつかのユーザインターフェース(UI)要素を含むことができる。これらおよび他のUI要素は、ウェブブラウザの機能に関連する、またはこれを表すことがある。
本明細書で説明する主題の実装形態は、たとえばデータサーバとして、バックエンド構成要素を含むコンピューティングシステム、またはミドルウェア構成要素、たとえばアプリケーションサーバを含むコンピューティングシステム、またはフロントエンド構成要素、たとえば、それによりユーザが本明細書で説明する主題の実装形態と対話することができるグラフィカルユーザインターフェース、もしくはインターネットブラウザを有するクライアントコンピュータを含む、コンピューティングシステム、または1つもしくは複数のそのようなバックエンド構成要素、ミドルウェア構成要素、もしくはフロントエンド構成要素の任意の組合せを含むコンピューティングシステムにおいて実装可能である。システムの構成要素は、ワイヤラインまたはワイヤレスデジタルデータ通信の任意の形態または媒体(またはデータ通信の組合せ)、たとえば、通信ネットワークによって相互接続され得る。通信ネットワークの例は、ローカルエリアネットワーク(LAN)、無線アクセスネットワーク(RAN)、メトロポリタンエリアネットワーク(MAN)、ワイドエリアネットワーク(WAN)、マイクロ波アクセス世界規模相互運用(WIMAX)、たとえば802.11 a/b/g/nまたは802.20(または802.11xと802.20の組合せまたは本開示と一致する他のプロトコル)、インターネットの全部もしくは一部、別の通信ネットワーク、または通信ネットワークの組合せを使用するワイヤレスローカルエリアネットワーク(WLAN)を含む。通信ネットワークは、ネットワークノード間で、たとえば、インターネットプロトコル(IP)パケット、フレームリレーフレーム、非同期転送モード(ATM)セル、音声、ビデオ、データ、または他の情報を用いて通信することができる。
コンピューティングシステムは、クライアントと、サーバとを含むことができる。クライアントおよびサーバは、一般的に互いから遠くにあり、典型的には通信ネットワークを介して対話する。クライアントとサーバの関係は、それぞれのコンピュータで実行している、互いにクライアント-サーバ関係を有するコンピュータプログラムによって生じる。
本明細書は、多くの特定の実装形態の詳細を含むが、これらはいかなる発明の概念の範囲への、または特許請求され得るものの範囲への制限として解釈されるべきではなく、むしろ特定の発明の概念の特定の実装形態に固有であり得る特徴の説明として解釈されるべきである。本明細書において別個の実装形態の文脈で説明されるいくつかの特徴は、単一の実装形態において組み合わせて実装されることもある。逆に、単一の実装形態の文脈で説明される様々な特徴は、複数の実装形態において別々に、または任意の部分組合せで実装されることもある。さらに、前に説明した特徴は、いくつかの組合せで機能するものとして説明され、初めにそのように請求されることさえあるが、請求される組合せからの1つまたは複数の特徴は、場合によってはその組合せから削除されることがあり、請求される組合せは、部分組合せ、または部分組合せの変形を対象とし得る。
主題の特定の実装形態について説明した。当業者には明らかであるように、他の実装形態、変更形態、および説明する実装形態の置換形態は、以下の特許請求の範囲内に入る。動作は、特定の順序で図面または特許請求の範囲に示されるが、これは、望ましい結果を達成するために、このような動作が図示された特定の順序でもしくは順次に行われること、または例示したすべての動作が行われる(いくつかの動作はオプションと見なされ得る)ことを必要とするものと理解されるべきではない。いくつかの状況では、マルチタスキングまたは並列処理(またはマルチタスキングと並列処理の組合せ)が有利であり、適切と考えられるように行われ得る。
さらに、前に説明した実装形態における様々なシステムモジュールおよび構成要素の分離または統合は、すべての実装形態においてそのような分離または統合を必要とすると理解されるべきではなく、説明するプログラム構成要素およびシステムは、一般的に単一のソフトウェア製品に統合される、または複数のソフトウェア製品にパッケージ化されることがあると理解されるべきである。
したがって、前に説明した例示的な実装形態は、本開示を定義または制約しない。他の変形形態、代用形態、および変更形態もまた、本開示の趣旨および範囲から逸脱することなく考えられる。
さらに、請求されるいずれの実装形態も、少なくともコンピュータ実装方法と、コンピュータ実装方法を行うためのコンピュータ可読命令を記憶する非一時的コンピュータ可読媒体と、コンピュータ実装方法または非一時的コンピュータ可読媒体に記憶された命令を行うように構成されたハードウェアプロセッサと相互動作可能に結合されたコンピュータメモリを含むコンピュータシステムとに、適用可能であると見なされる。
100 前処理システム
102 データベース
104 アプリケーション
106 データエクスポーザコントロール
108 顧客プロダクションデータスキーマ
110 データサイエンススキーマ
112 データベーステーブル
114 ビュー
116 データベーステーブル
118 ビュー
120 パイプライン
200 モデルトレーニングシステム
202 機械学習(ML)モデルトレーニング
204 MLモデルトレーニング
206 モデル
208 メモリ
210 データサイエンススキーマ
212 トレーニングブローカー
600 コンピュータ実装システム
602 コンピュータ
603 システムバス
604 インターフェース
605 プロセッサ
606 データベース
607 メモリ
608 アプリケーション
612 アプリケーションプログラミングインターフェース(API)
613 サービスレイヤ
614 電力供給
630 ネットワーク

Claims (20)

  1. コンピュータ実装方法であって、
    トレーニングブローカーにおいて、機械学習(ML)モデルをトレーニングしてほしいという要求を受け取るステップと、
    前記トレーニングブローカーによって複数のデータソースの各個々のデータソースから、前記モデルをトレーニングするための匿名化されたデータを取得するステップであって、前記匿名化されたデータが、各個々のデータソースからのプロダクションデータの機微な情報の匿名化によって提供されているデータサイエンススキーマを介してアクセスされる、取得するステップと、
    データベンダーに、前記匿名化されたデータを使用して前記MLモデルをトレーニングするために前記匿名化されたデータへのアクセスを与えるステップと
    を含む、コンピュータ実装方法。
  2. 前記匿名化されたデータを取得するステップが、
    前記複数のデータソースの各個々のデータソースに、前記匿名化されたデータの要求を行うステップと、
    前記複数のデータソースの各個々のデータソースから、前記匿名化されたデータを受け取るステップと、
    前記匿名化されたデータを、前記トレーニングブローカーによって保守されるキャッシュに記憶するステップであって、データベンダーに前記匿名化されたデータへのアクセスを与えることが、前記キャッシュへのアクセスを与えることを含む、記憶するステップと
    を含む、請求項1に記載のコンピュータ実装方法。
  3. 前記匿名化されたデータを取得するステップが、
    前記複数のデータソースの各個々のデータソースに、前記モデルを提供するステップと、
    前記複数のデータソースの各個々のデータソースから、更新されたモデルを受け取るステップであって、前記更新されたモデルが、前記個々のデータソースが前記個々のデータソースで実行される機械学習モデルトレーニングを使用すること、および前記個々のデータソースにローカルに利用可能な前記匿名化されたデータを使用することによって作成される、受け取るステップと、
    前記複数のデータソースの他の個々のデータソースに対して、前記提供するステップと、前記受け取るステップとを繰り返すステップと、
    前記トレーニングブローカーによって前記データベンダーに前記更新されたモデルを提供するステップと
    を含む、請求項1に記載のコンピュータ実装方法。
  4. 前記プロダクションデータのプロダクションデータスキーマに基づいて前記データサイエンススキーマを作成するステップであって、前記データサイエンススキーマが前記プロダクションデータへの読取り専用アクセスを与え、前記データサイエンススキーマが、非個人化データを複製せずに前記プロダクションデータ中の非個人化データに限定されるアクセスを与える、作成するステップと、
    前記プロダクションデータへのアクセスを与えるために前記データサイエンススキーマを使用するステップと
    をさらに含む、請求項1に記載のコンピュータ実装方法。
  5. 各個々のデータソースでユーザに、評価のために前記データサイエンススキーマへのアクセスを与えるステップ
    をさらに含む、請求項4に記載のコンピュータ実装方法。
  6. 前記個々のデータソースに帰することができる数値を取り除くために、前記匿名化されたデータ中の数値をスケーリングするステップ
    をさらに含む、請求項2に記載のコンピュータ実装方法。
  7. 前記個々のデータソースに帰することができる値を取り除くために、前記プロダクションデータ中のフィールドをグローバル一意識別子(GUID)にマップするステップと、
    前記匿名化されたデータとともに前記GUIDを記憶するステップと
    をさらに含む、請求項1に記載のコンピュータ実装方法。
  8. 前記プロダクションデータのサブセットを受け取るためにパイプラインを作成するステップと、
    MLモデルをトレーニングするのに必要とされるトレーニングデータのために前記プロダクションデータを読み取るステップと、
    前記トレーニングデータを前記パイプラインにアクセス可能なデータベーステーブルに記憶するステップと、
    前記データサイエンススキーマを使用して前記データベーステーブルへのアクセスを与えるステップと
    をさらに含む、請求項1に記載のコンピュータ実装方法。
  9. 動作を行うためにコンピュータシステムによって実行可能な1つまたは複数の命令を記憶する非一時的コンピュータ可読媒体であって、前記動作が、
    トレーニングブローカーにおいて、機械学習(ML)モデルをトレーニングしてほしいという要求を受け取ることと、
    前記トレーニングブローカーによって複数のデータソースの各個々のデータソースから、前記モデルをトレーニングするための匿名化されたデータを取得することであって、前記匿名化されたデータが、各個々のデータソースからプロダクションデータの機微な情報の匿名化によって提供されているデータサイエンススキーマを介してアクセスされる、取得することと、
    データベンダーに、前記匿名化されたデータを使用して前記MLモデルをトレーニングするために前記匿名化されたデータへのアクセスを与えることと
    を含む、非一時的コンピュータ可読媒体。
  10. 前記匿名化されたデータを取得することが、
    前記複数のデータソースの各個々のデータソースに、前記匿名化されたデータの要求を行うことと、
    前記複数のデータソースの各個々のデータソースから、前記匿名化されたデータを受け取ることと、
    前記匿名化されたデータを、前記トレーニングブローカーによって保守されるキャッシュに記憶することであって、データベンダーに前記匿名化されたデータへのアクセスを与えることが、前記キャッシュへのアクセスを与えることを含む、記憶することと
    を含む、請求項9に記載の非一時的コンピュータ可読媒体。
  11. 前記匿名化されたデータを取得することが、
    前記複数のデータソースの各個々のデータソースに、前記モデルを提供することと、
    前記複数のデータソースの各個々のデータソースから、更新されたモデルを受け取ることであって、前記更新されたモデルが、前記個々のデータソースが前記個々のデータソースで実行される機械学習モデルトレーニングを使用すること、および前記個々のデータソースにローカルに利用可能な前記匿名化されたデータを使用することによって作成される、受け取ることと、
    前記複数のデータソースの他の個々のデータソースに対して、前記提供することと、前記受け取ることとを繰り返すことと、
    前記トレーニングブローカーによって前記データベンダーに前記更新されたモデルを提供することと
    を含む、請求項9に記載の非一時的コンピュータ可読媒体。
  12. 前記動作が、
    前記プロダクションデータのプロダクションデータスキーマに基づいて前記データサイエンススキーマを作成することであって、前記データサイエンススキーマが前記プロダクションデータへの読取り専用アクセスを与え、前記データサイエンススキーマが、非個人化データを複製せずに前記プロダクションデータ中の非個人化データに限定されるアクセスを与える、作成するステップと、
    前記プロダクションデータへのアクセスを与えるために前記データサイエンススキーマを使用することと
    をさらに含む、請求項9に記載の非一時的コンピュータ可読媒体。
  13. 前記動作が、
    各個々のデータソースでユーザに、評価のために前記データサイエンススキーマへのアクセスを与えること
    をさらに含む、請求項12に記載の非一時的コンピュータ可読媒体。
  14. 前記動作が、
    前記個々のデータソースに帰することができる数値を取り除くために、前記匿名化されたデータ中の数値をスケーリングすること
    をさらに含む、請求項10に記載の非一時的コンピュータ可読媒体。
  15. 前記動作が、
    前記個々のデータソースに帰することができる値を取り除くために、前記プロダクションデータ中のフィールドをグローバル一意識別子(GUID)にマップすることと、
    前記匿名化されたデータとともに前記GUIDを記憶することと
    をさらに含む、請求項9に記載の非一時的コンピュータ可読媒体。
  16. 前記動作が、
    前記プロダクションデータのサブセットを受け取るためにパイプラインを作成することと、
    MLモデルをトレーニングするのに必要とされるトレーニングデータのために前記プロダクションデータを読み取ることと、
    前記トレーニングデータを前記パイプラインにアクセス可能なデータベーステーブルに記憶することと、
    前記データサイエンススキーマを使用して前記データベーステーブルへのアクセスを与えることと
    をさらに含む、請求項9に記載の非一時的コンピュータ可読媒体。
  17. コンピュータ実装システムであって、
    1つまたは複数のコンピュータと、
    前記1つまたは複数のコンピュータと相互動作可能に結合され、1つまたは複数の命令を記憶する有形の非一時的機械可読媒体を有する、1つまたは複数のコンピュータメモリデバイスであって、前記1つまたは複数の命令が、前記1つまたは複数のコンピュータによって実行されると、
    トレーニングブローカーにおいて、機械学習(ML)モデルをトレーニングしてほしいという要求を受け取ることと、
    前記トレーニングブローカーによって複数のデータソースの各個々のデータソースから、前記モデルをトレーニングするための匿名化されたデータを取得することであって、前記匿名化されたデータが、各個々のデータソースからプロダクションデータの機微な情報の匿名化によって提供されているデータサイエンススキーマを介してアクセスされる、取得するステップと、
    データベンダーに、前記匿名化されたデータを使用して前記MLモデルをトレーニングするために前記匿名化されたデータへのアクセスを与えることと
    を含む、1つまたは複数の動作を行う、1つまたは複数のコンピュータメモリデバイスと
    を備える、コンピュータ実装システム。
  18. 前記匿名化されたデータを取得することが、
    前記複数のデータソースの各個々のデータソースに、前記匿名化されたデータの要求を行うことと、
    前記複数のデータソースの各個々のデータソースから、前記匿名化されたデータを受け取ることと、
    前記匿名化されたデータを、前記トレーニングブローカーによって保守されるキャッシュに記憶することであって、データベンダーに前記匿名化されたデータへのアクセスを与えることが、前記キャッシュへのアクセスを与えることを含む、記憶するステップと
    を含む、請求項17に記載のコンピュータ実装システム。
  19. 前記匿名化されたデータを取得することが、
    前記複数のデータソースの各個々のデータソースに、前記モデルを提供することと、
    前記複数のデータソースの各個々のデータソースから、更新されたモデルを受け取ることであって、前記更新されたモデルが、前記個々のデータソースが前記個々のデータソースで実行される機械学習モデルトレーニングを使用すること、および前記個々のデータソースにローカルに利用可能な前記匿名化されたデータを使用することによって作成される、受け取るステップと、
    前記複数のデータソースの他の個々のデータソースに対して、前記提供することと、前記受け取ることとを繰り返すことと、
    前記トレーニングブローカーによって前記データベンダーに前記更新されたモデルを提供することと
    を含む、請求項17に記載のコンピュータ実装システム。
  20. 前記動作が、
    前記プロダクションデータのプロダクションデータスキーマに基づいて前記データサイエンススキーマを作成することであって、前記データサイエンススキーマが前記プロダクションデータへの読取り専用アクセスを与え、前記データサイエンススキーマが、非個人化データを複製せずに前記プロダクションデータ中の非個人化データに限定されるアクセスを与える、作成するステップと、
    前記プロダクションデータへのアクセスを与えるために前記データサイエンススキーマを使用することと
    をさらに含む、請求項17に記載のコンピュータ実装システム。
JP2019229271A 2019-05-13 2019-12-19 プライバシーを保護しながら分散された顧客データ上で機械学習すること Active JP7229148B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US16/410,076 US11797879B2 (en) 2019-05-13 2019-05-13 Machine learning on distributed customer data while protecting privacy
US16/410,076 2019-05-13

Publications (2)

Publication Number Publication Date
JP2020187723A true JP2020187723A (ja) 2020-11-19
JP7229148B2 JP7229148B2 (ja) 2023-02-27

Family

ID=68296094

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019229271A Active JP7229148B2 (ja) 2019-05-13 2019-12-19 プライバシーを保護しながら分散された顧客データ上で機械学習すること

Country Status (5)

Country Link
US (1) US11797879B2 (ja)
EP (1) EP3739487B1 (ja)
JP (1) JP7229148B2 (ja)
CN (1) CN111931223A (ja)
AU (2) AU2019283803A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20220144502A (ko) * 2021-04-20 2022-10-27 성신여자대학교 연구 산학협력단 인공지능 학습장치 및 인공지능 학습장치의 동작방법

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10983762B2 (en) 2019-06-27 2021-04-20 Sap Se Application assessment system to achieve interface design consistency across micro services
CN113051620B (zh) * 2021-05-31 2021-08-03 华中科技大学 一种机器学习中训练数据隐私度量的方法和系统
CN115129992A (zh) * 2022-07-04 2022-09-30 北京深演智能科技股份有限公司 数据的处理方法及装置、非易失性存储介质、处理器
GB2623057A (en) * 2022-09-28 2024-04-10 Nokia Technologies Oy Training data collection
US20240111890A1 (en) * 2022-09-30 2024-04-04 Capital One Services, Llc Systems and methods for sanitizing sensitive data and preventing data leakage from mobile devices

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000293421A (ja) * 1998-10-02 2000-10-20 Ncr Internatl Inc プライバシー保護機能を向上させたデータ管理装置及び方法
WO2018017467A1 (en) * 2016-07-18 2018-01-25 NantOmics, Inc. Distributed machine learning systems, apparatus, and methods
JP2018194904A (ja) * 2017-05-12 2018-12-06 株式会社情報医療 予測システム、予測方法、および予測プログラム

Family Cites Families (146)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7523142B2 (en) 2001-12-17 2009-04-21 Sap Ag Systems, methods and articles of manufacture for upgrading a database with a shadow system
US7720992B2 (en) 2005-02-02 2010-05-18 Sap Aktiengesellschaft Tentative update and confirm or compensate
US7657575B2 (en) 2005-12-30 2010-02-02 Sap Ag Sequencing updates to business objects
US7734648B2 (en) 2006-04-11 2010-06-08 Sap Ag Update manager for database system
US9262763B2 (en) 2006-09-29 2016-02-16 Sap Se Providing attachment-based data input and output
US7739387B2 (en) 2007-03-08 2010-06-15 Sap Ag System and method for message packaging
US20090106372A1 (en) 2007-10-22 2009-04-23 Markus Schmidt-Karaca Systems and methods to transmit information to a groupware client
US8407297B2 (en) 2007-10-22 2013-03-26 Sap Ag Systems and methods to receive information from a groupware client
US20090106371A1 (en) 2007-10-22 2009-04-23 Markus Schmidt-Karaca Systems and methods to generate business reports based on electronic mail messages
US8225303B2 (en) 2007-11-30 2012-07-17 Sap Ag System and method for providing software upgrades
US20090150479A1 (en) 2007-12-07 2009-06-11 Peter Eberlein Web Feeds for Work List Publishing
US20090172110A1 (en) 2007-12-31 2009-07-02 Peter Eberlein Systems and methods to identify internal and external email
US9122669B2 (en) 2008-08-29 2015-09-01 Sap Se Flat schema integrated document oriented templates
US8200634B2 (en) 2008-10-08 2012-06-12 Sap Ag Zero downtime maintenance using a mirror approach
US8996466B2 (en) 2008-12-01 2015-03-31 Sap Se Extend crud to support lifecyle management and business continuity
US8479187B2 (en) 2008-12-02 2013-07-02 Sap Ag Adaptive switch installer
US9361326B2 (en) 2008-12-17 2016-06-07 Sap Se Selectable data migration
US9229707B2 (en) 2008-12-18 2016-01-05 Sap Se Zero downtime mechanism for software upgrade of a distributed computer system
US20100161648A1 (en) 2008-12-19 2010-06-24 Peter Eberlein Flexible multi-tenant support of metadata extension
US8291038B2 (en) 2009-06-29 2012-10-16 Sap Ag Remote automation of manual tasks
US8572369B2 (en) 2009-12-11 2013-10-29 Sap Ag Security for collaboration services
US20110154445A1 (en) 2009-12-22 2011-06-23 Markus Schmidt-Karaca Systems to provide business information over social networks
US8732083B2 (en) 2010-06-15 2014-05-20 Sap Ag Managing consistent interfaces for number range, number range profile, payment card payment authorisation, and product template template business objects across heterogeneous systems
US8631406B2 (en) 2010-06-30 2014-01-14 Sap Ag Distributed cloud computing architecture
US9032406B2 (en) 2010-07-01 2015-05-12 Sap Se Cooperative batch scheduling in multitenancy system based on estimated execution time and generating a load distribution chart
US8560876B2 (en) 2010-07-06 2013-10-15 Sap Ag Clock acceleration of CPU core based on scanned result of task for parallel execution controlling key word
US8250135B2 (en) 2010-07-09 2012-08-21 Sap Ag Brokered cloud computing architecture
US8301610B2 (en) 2010-07-21 2012-10-30 Sap Ag Optimizing search for insert-only databases and write-once data storage
US8880486B2 (en) 2010-07-27 2014-11-04 Sap Ag Distributed database system utilizing an extended two-phase-commit process
US8392573B2 (en) 2010-07-30 2013-03-05 Sap Ag Transport of customer flexibility changes in a multi-tenant environment
US8924384B2 (en) 2010-08-04 2014-12-30 Sap Ag Upgrading column-based databases
US8380667B2 (en) 2010-08-11 2013-02-19 Sap Ag Selectively upgrading clients in a multi-tenant computing system
US8356010B2 (en) 2010-08-11 2013-01-15 Sap Ag Online data migration
US8434060B2 (en) 2010-08-17 2013-04-30 Sap Ag Component load procedure for setting up systems
US8751573B2 (en) 2010-11-23 2014-06-10 Sap Ag Cloud-processing management with a landscape directory
US8604973B2 (en) 2010-11-30 2013-12-10 Sap Ag Data access and management using GPS location data
US20120136839A1 (en) 2010-11-30 2012-05-31 Peter Eberlein User-Driven Conflict Resolution Of Concurrent Updates In Snapshot Isolation
US8375130B2 (en) 2010-12-16 2013-02-12 Sap Ag Shared resource discovery, configuration, and consumption for networked solutions
US8762929B2 (en) 2010-12-16 2014-06-24 Sap Ag System and method for exclusion of inconsistent objects from lifecycle management processes
US8972934B2 (en) 2010-12-20 2015-03-03 Sap Ag Support for temporally asynchronous interface extensions
US9009105B2 (en) 2010-12-30 2015-04-14 Sap Se Application exits for consistent tenant lifecycle management procedures
US8875122B2 (en) 2010-12-30 2014-10-28 Sap Se Tenant move upgrade
US8706772B2 (en) 2010-12-30 2014-04-22 Sap Ag Strict tenant isolation in multi-tenant enabled systems
US8467817B2 (en) 2011-06-16 2013-06-18 Sap Ag Generic business notifications for mobile devices
US9137130B2 (en) 2011-09-22 2015-09-15 Sap Se Dynamic network load forecasting
US8566784B2 (en) 2011-09-22 2013-10-22 Sap Ag Business process change controller
US20130085810A1 (en) 2011-09-29 2013-04-04 Volker Driesen Federated business configuration and scoping
US8805986B2 (en) 2011-10-31 2014-08-12 Sap Ag Application scope adjustment based on resource consumption
US8645483B2 (en) 2011-11-15 2014-02-04 Sap Ag Groupware-integrated business document management
US9256840B2 (en) 2011-12-01 2016-02-09 Sap Se Establishing business networks using a shared platform
US9633107B2 (en) 2011-12-06 2017-04-25 Sap Se Mobile metadata model repository
US20130166416A1 (en) 2011-12-21 2013-06-27 Peter Eberlein Dynamic catalogs on mobile wireless devices
US20130166415A1 (en) 2011-12-21 2013-06-27 Jens Odenheimer Adapting Mobile Catalogs by Filtering for Available Products, Mass Movers and Hot-Sellers
US9069984B2 (en) 2011-12-21 2015-06-30 Sap Se On-demand authorization management
US9471659B2 (en) 2012-03-06 2016-10-18 Sap Se Providing continuous database access during database modification
US8612406B1 (en) 2012-05-22 2013-12-17 Sap Ag Sharing business data across networked applications
US20130325672A1 (en) 2012-05-31 2013-12-05 Sap Ag Mobile forecasting of sales using customer stock levels in a supplier business system
US20130324201A1 (en) 2012-06-01 2013-12-05 Peter Eberlein Applying gamification techniques to process incidents
US20130339488A1 (en) 2012-06-15 2013-12-19 Peter Eberlein Enterprise services framework for mobile devices
US9183540B2 (en) 2012-07-03 2015-11-10 Sap Se Mobile device analytics engine
US20140019429A1 (en) 2012-07-12 2014-01-16 Volker Driesen Downtime reduction for lifecycle management events
US20140025441A1 (en) 2012-07-19 2014-01-23 Sap Ag Peer support gamification by application knowledge scoring in social networks
US20140047319A1 (en) 2012-08-13 2014-02-13 Sap Ag Context injection and extraction in xml documents based on common sparse templates
US9720994B2 (en) 2012-10-04 2017-08-01 Sap Se Replicated database structural change management
US8793230B2 (en) 2012-10-23 2014-07-29 Sap Ag Single-database multiple-tenant software system upgrade
US9348929B2 (en) 2012-10-30 2016-05-24 Sap Se Mobile mapping of quick response (QR) codes to web resources
US20140149158A1 (en) 2012-11-28 2014-05-29 Jens Odenheimer Retail math optimization
US9077717B2 (en) 2012-11-30 2015-07-07 Sap Se Propagation and adoption of extensions across applications in networked solutions
US9652744B2 (en) 2012-12-10 2017-05-16 Sap Se Smart user interface adaptation in on-demand business applications
US9367199B2 (en) 2012-12-13 2016-06-14 Sap Se Dynamical and smart positioning of help overlay graphics in a formation of user interface elements
US11050820B2 (en) 2013-04-29 2021-06-29 Sap Se Cloud sharing system
US9182979B2 (en) 2013-04-29 2015-11-10 Sap Se Social coding extensions
US9632802B2 (en) 2013-06-14 2017-04-25 Sap Se Automatic configuration of mobile programs
US9721116B2 (en) 2013-06-24 2017-08-01 Sap Se Test sandbox in production systems during productive use
US9031910B2 (en) 2013-06-24 2015-05-12 Sap Se System and method for maintaining a cluster setup
US10191733B2 (en) 2013-06-25 2019-01-29 Sap Se Software change process orchestration in a runtime environment
US9026502B2 (en) 2013-06-25 2015-05-05 Sap Se Feedback optimized checks for database migration
US9189226B2 (en) 2013-06-25 2015-11-17 Sap Se Software logistics protocols
US10291704B2 (en) 2013-06-26 2019-05-14 Sap Se Networked solutions integration using a cloud business object broker
US9639448B2 (en) 2013-06-27 2017-05-02 Sap Se Multi-version systems for zero downtime upgrades
US9336227B2 (en) 2013-10-07 2016-05-10 Sap Se Selective synchronization in a hierarchical folder structure
US9223985B2 (en) 2013-10-09 2015-12-29 Sap Se Risk assessment of changing computer system within a landscape
US9767424B2 (en) 2013-10-16 2017-09-19 Sap Se Zero downtime maintenance with maximum business functionality
US9436724B2 (en) 2013-10-21 2016-09-06 Sap Se Migrating data in tables in a database
US10061788B2 (en) 2013-12-19 2018-08-28 Sap Se Transformation of document flow to contributors network
US9274757B2 (en) 2013-12-19 2016-03-01 Sap Se Customer tailored release master plan generation for hybrid networked solutions
US9800689B2 (en) 2013-12-19 2017-10-24 Sap Se Distributed application integration auto-adjustment
US20150188890A1 (en) 2013-12-26 2015-07-02 Bare Said Client side encryption in on-demand applications
US9569283B2 (en) 2014-01-31 2017-02-14 Sap Se Write back of documents opened in third-party applications
US20150222665A1 (en) 2014-01-31 2015-08-06 Peter Eberlein Restricting user actions based on document classification
US9875273B2 (en) 2014-01-31 2018-01-23 Sap Se Methods and systems for managing configuration settings
US9354871B2 (en) 2014-06-26 2016-05-31 Sap Se Multi-stage push notifications for software logistic tools
US9354860B2 (en) 2014-07-15 2016-05-31 Sap Se Optimizing software change processes using real-time analysis and rule-based hinting
US20160026698A1 (en) 2014-07-23 2016-01-28 Peter Eberlein Enabling business process continuity on periodically replicated data
US20160063050A1 (en) 2014-08-28 2016-03-03 Joerg Schoen Database Migration Consistency Checker
US10303665B2 (en) 2014-09-24 2019-05-28 Sap Se Zero downtime maintenance for applications and databases
US9361093B2 (en) 2014-10-01 2016-06-07 Sap Se Revoking a zero downtime upgrade
US9519675B2 (en) 2014-10-01 2016-12-13 Sap Se Data access management during zero downtime upgrade
US20160098253A1 (en) 2014-10-07 2016-04-07 Daniel Hutzel Delivering and deploying services in multi-server landscapes
US9858309B2 (en) 2014-10-07 2018-01-02 Sap Se Managing write accesses during database upgrade procedure
US20160127325A1 (en) 2014-10-29 2016-05-05 Jens Odenheimer Scrambling business data
US9372685B1 (en) 2014-12-16 2016-06-21 Sap Se Impact prediction of software change deployment on customer systems
US9501516B2 (en) 2014-12-19 2016-11-22 Sap Se Zero downtime upgrade of database applications using triggers and calculated fields
US9898495B2 (en) 2015-02-23 2018-02-20 Sap Se Zero downtime upgrade for database applications with altering sequences
US9898494B2 (en) 2015-02-23 2018-02-20 Sap Se Zero downtime upgrade for database applications using tables with sequences
US9854045B2 (en) 2015-04-13 2017-12-26 Sap Se Generic cloud enabling of stateful applications
US10102478B2 (en) 2015-06-26 2018-10-16 Conduent Business Services, Inc. Distributed and privacy-preserving prediction method
US9678740B2 (en) 2015-10-01 2017-06-13 Sap Se Migration mechanism
US10311077B2 (en) 2015-10-22 2019-06-04 Sap Se Database table conversion
US10296324B2 (en) 2015-10-30 2019-05-21 Sap Se Zero downtime software system upgrade
US20170161291A1 (en) 2015-12-03 2017-06-08 Sap Se Database table conversion
US9703554B2 (en) 2015-12-07 2017-07-11 Sap Se Custom code migration suggestion system based on actual change references
US10157068B2 (en) 2015-12-29 2018-12-18 Sap Se Configuring and operating applications using a descriptor
US10685007B2 (en) 2016-03-29 2020-06-16 Sap Se Table content transport and delivery
US9898279B2 (en) 2016-03-31 2018-02-20 Sap Se Optimizing ABAP development as a service
US10346184B2 (en) 2016-05-13 2019-07-09 Sap Se Open data protocol services in applications and interfaces across multiple platforms
US10230708B2 (en) 2016-05-20 2019-03-12 Sap Se Application managed service instances
US10871962B2 (en) 2016-05-27 2020-12-22 Sap Se Zero downtime maintenance in constrained systems
US10417205B2 (en) 2016-06-07 2019-09-17 Sap Se Database system and method of operation thereof
CA3027129A1 (en) * 2016-06-21 2017-12-28 Pinpoint Predictive, Inc. Predicting psychometric profiles from behavioral data using machine-learning while maintaining user anonymity
US10523662B2 (en) 2016-09-16 2019-12-31 Sap Se In-memory database advanced programming model
US10684999B2 (en) 2016-10-05 2020-06-16 Sap Se Multi-procedure support in data migration
US10055215B2 (en) 2016-10-05 2018-08-21 Sap Se Enabling corrections during upgrade procedure
US10929406B2 (en) * 2016-10-27 2021-02-23 American Express Travel Related Services Company, Inc Systems and methods for a self-services data file configuration with various data sources
US10025568B2 (en) 2016-11-11 2018-07-17 Sap Se Database object lifecycle management
US10891273B2 (en) 2016-11-11 2021-01-12 Sap Se Database container delivery infrastructure
US10558529B2 (en) 2016-11-11 2020-02-11 Sap Se Database object delivery infrastructure
US10909090B2 (en) 2016-11-11 2021-02-02 Sap Se Database proxy object delivery infrastructure
US10491700B2 (en) 2016-11-18 2019-11-26 Sap Se Application managed service instances
US11693945B2 (en) 2016-11-18 2023-07-04 Sap Se Secure calls between applications
US10565524B2 (en) 2017-01-31 2020-02-18 Hewlett Packard Enterprise Development Lp Performing privacy-preserving multi-party analytics on horizontally partitioned local data
US10268692B2 (en) 2017-02-15 2019-04-23 Sap Se Multi-procedure support in data migration
US10706170B2 (en) 2017-03-16 2020-07-07 Sap Se Tenant table sharing with content separation
US10789220B2 (en) 2017-03-28 2020-09-29 Sap Se Management of database API schema
US10656933B2 (en) 2017-03-28 2020-05-19 Sap Se Zero downtime for frequent software updates
US10298591B2 (en) 2017-04-28 2019-05-21 Sap Se Secure integration of independent cloud foundry applications in a fiori launchpad
US10693989B2 (en) 2017-04-28 2020-06-23 Sap Se Brokering services from partner cloud platforms
US10185552B2 (en) 2017-05-12 2019-01-22 Sap Se Enforcing content constraints on delivery and end user changes
US10437795B2 (en) 2017-05-12 2019-10-08 Sap Se Upgrading systems with changing constraints
US10375120B2 (en) * 2017-05-12 2019-08-06 Sap Se Positionally-encoded string representations, including their use in machine learning and in security applications
US10268472B2 (en) 2017-05-16 2019-04-23 Sap Se Upgrading systems with replicated data
US20180374105A1 (en) * 2017-05-26 2018-12-27 Get Attached, Inc. Leveraging an intermediate machine learning analysis
US11017297B2 (en) * 2017-06-12 2021-05-25 Honeywell International Inc. System and methods to provide seamless information exchange between certified and uncertified applications
US20190012609A1 (en) 2017-07-06 2019-01-10 BeeEye IT Technologies LTD Machine learning using sensitive data
US10528761B2 (en) * 2017-10-26 2020-01-07 Sap Se Data anonymization in an in-memory database
US11062043B2 (en) * 2019-05-01 2021-07-13 Optum, Inc. Database entity sensitivity classification

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000293421A (ja) * 1998-10-02 2000-10-20 Ncr Internatl Inc プライバシー保護機能を向上させたデータ管理装置及び方法
WO2018017467A1 (en) * 2016-07-18 2018-01-25 NantOmics, Inc. Distributed machine learning systems, apparatus, and methods
JP2018194904A (ja) * 2017-05-12 2018-12-06 株式会社情報医療 予測システム、予測方法、および予測プログラム

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20220144502A (ko) * 2021-04-20 2022-10-27 성신여자대학교 연구 산학협력단 인공지능 학습장치 및 인공지능 학습장치의 동작방법
KR102557639B1 (ko) * 2021-04-20 2023-07-19 성신여자대학교 연구 산학협력단 인공지능 학습장치 및 인공지능 학습장치의 동작방법

Also Published As

Publication number Publication date
AU2019283803A1 (en) 2020-12-03
CN111931223A (zh) 2020-11-13
AU2021286319B2 (en) 2024-01-18
JP7229148B2 (ja) 2023-02-27
AU2021286319A1 (en) 2022-01-20
EP3739487B1 (en) 2023-08-02
US11797879B2 (en) 2023-10-24
EP3739487A1 (en) 2020-11-18
US20200364604A1 (en) 2020-11-19

Similar Documents

Publication Publication Date Title
JP7229148B2 (ja) プライバシーを保護しながら分散された顧客データ上で機械学習すること
JP6803980B1 (ja) 信頼されたイニシャライザを用いない秘密分散
CN112424766B (zh) 数据交换
Moghavvemi et al. The entrepreneur’s perception on information technology innovation adoption: An empirical analysis of the role of precipitating events on usage behavior
JP5160840B2 (ja) データオブジェクトの消費者に対するコンテンツの提供方法および装置
US10255364B2 (en) Analyzing a query and provisioning data to analytics
US10192072B1 (en) Protecting sensitive data
US20230196147A1 (en) Unified explainable machine learning for segmented risk
US20160350697A1 (en) Just in time learning driven by point of sale or other data and metrics
US11449909B2 (en) Customizable formula based dynamic API evaluation using a database system
CA3233934A1 (en) Data compression techniques for machine learning models
AU2021202447A1 (en) Agnostic crm augmentation with a display screen
EP2570943B1 (en) Protection of data privacy in an enterprise system
US9171330B2 (en) Transparency data analysis and reporting
AU2021202448A1 (en) Agnostic customer relationship management with browser overlay and campaign management portal
US10318900B2 (en) Job profile generation based on intranet usage
US20100125471A1 (en) Financial journals in financial models of performance servers
US11222133B1 (en) User programmatic interface for supporting data access control in a database system
US11829911B2 (en) Resource scoring and recommendation system
US20170293599A1 (en) Checklist Contexts and Completion
US11263533B2 (en) Dynamic configurable rule representation
US20200192639A1 (en) Modeling of data generaton scenarios
US20130173436A1 (en) Transparent Transaction Certification for Accountable Entities
US12050566B2 (en) Migration tool
US11711400B2 (en) Electronic access control system

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20201214

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20210930

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20211004

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20220104

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220203

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20220704

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20221104

C60 Trial request (containing other claim documents, opposition documents)

Free format text: JAPANESE INTERMEDIATE CODE: C60

Effective date: 20221104

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20221114

C21 Notice of transfer of a case for reconsideration by examiners before appeal proceedings

Free format text: JAPANESE INTERMEDIATE CODE: C21

Effective date: 20221121

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: 20230123

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20230214

R150 Certificate of patent or registration of utility model

Ref document number: 7229148

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150