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

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

▶ アルテリックス インコーポレイテッドの特許一覧

<>
  • 特表-産業特定機械学習アプリケーション 図1
  • 特表-産業特定機械学習アプリケーション 図2
  • 特表-産業特定機械学習アプリケーション 図3
  • 特表-産業特定機械学習アプリケーション 図4A
  • 特表-産業特定機械学習アプリケーション 図4B
  • 特表-産業特定機械学習アプリケーション 図4C
  • 特表-産業特定機械学習アプリケーション 図5
  • 特表-産業特定機械学習アプリケーション 図6
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2024-04-16
(54)【発明の名称】産業特定機械学習アプリケーション
(51)【国際特許分類】
   G06N 20/00 20190101AFI20240409BHJP
【FI】
G06N20/00
【審査請求】未請求
【予備審査請求】未請求
(21)【出願番号】P 2023566407
(86)(22)【出願日】2022-04-22
(85)【翻訳文提出日】2023-11-21
(86)【国際出願番号】 US2022025903
(87)【国際公開番号】W WO2022231963
(87)【国際公開日】2022-11-03
(31)【優先権主張番号】17/242,927
(32)【優先日】2021-04-28
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
(71)【出願人】
【識別番号】519405569
【氏名又は名称】アルテリックス インコーポレイテッド
(74)【代理人】
【識別番号】110001243
【氏名又は名称】弁理士法人谷・阿部特許事務所
(72)【発明者】
【氏名】ジェームズ マックス カンター
(72)【発明者】
【氏名】カリヤン クマル ヴェラマチャネニー
(57)【要約】
機械学習アプリケーションは、複数の機械学習アプリケーションから選択される。それぞれの機械学習アプリケーションは、種々の産業課題に対応し、対応する産業課題に特有の標準特徴および機械学習パイプラインを含む。機械学習アプリケーションは、選択された機械学習アプリケーションに対応する産業課題に対する予測を行うためのモデルを生成するためのデータセットを受信する。標準特徴にデータセット内の変数をマッピングするために、標準特徴がユーザへの表示のために提供される。ユーザによるマッピングは、ユーザインターフェースを通じて受信される。少なくともマッピングに基づいて複数のモデルをトレーニングするために、機械学習パイプラインがデータセットに適用される。トレーニングされたモデルは、ランク付けされ、トレーニングされたモデルのうちの1つが、ランク付けに基づいて選択される。選択されたトレーニングされたモデルは、新しいデータに基づいて予測を行うために使用される。
【特許請求の範囲】
【請求項1】
産業課題に対する予測を行うためのモデルを生成するためのコンピュータ実装方法であって、
機械学習アプリケーションによって、モデルを生成するためのデータセットを受信することであって、前記機械学習アプリケーションは、前記産業課題に基づいて複数の機械学習アプリケーションから選択され、前記複数の機械学習アプリケーションのそれぞれは、種々の産業課題に対応し、対応する前記産業課題に特有の標準特徴および対応する前記産業課題に特有の機械学習パイプラインを含む、ことと、
ユーザに関連付けられたクライアントデバイスへの表示のために、前記機械学習アプリケーション内の前記標準特徴を提供することと、
前記クライアントデバイスから、および、前記標準特徴を提供することに応答して、選択された前記機械学習アプリケーション内の標準特徴に対する、前記データセット内の変数のマッピングを受信することと、
選択された前記機械学習アプリケーションの前記機械学習パイプラインを前記データセットに適用して、少なくとも前記マッピングに基づいて複数のモデルをトレーニングすることと、
トレーニングされた前記複数のモデルをランク付けすることと、
前記ランク付けに基づいて、トレーニングされた前記複数のモデルから生成されたモデルを選択することと、
を備える、コンピュータ実装方法。
【請求項2】
前記機械学習アプリケーションによって、前記ユーザに関連付けられた前記クライアントデバイスへの表示のために、前記機械学習アプリケーション内の前記標準特徴を提供することは、
前記機械学習アプリケーションによって、前記機械学習アプリケーション内の前記標準特徴を、ユーザインターフェースへの表示のために提供することであって、前記ユーザインターフェースは、前記ユーザが、前記機械学習アプリケーション内の前記標準特徴に、前記データセット内の変数をマッピングすることを可能にする、こと、
を備える、請求項1に記載のコンピュータ実装方法。
【請求項3】
選択された前記機械学習アプリケーションの前記機械学習パイプラインを前記データセットに適用して、少なくとも前記マッピングに基づいて複数のモデルをトレーニングすることは、
前記データセット内の1つまたは複数の前記変数にマッピングされた、選択された前記機械学習アプリケーション内の1つまたは複数の標準特徴、および、1つまたは複数の他の特徴、を含む複数の特徴を生成することであって、1つまたは複数の前記他の特徴は、選択された前記機械学習アプリケーションの標準特徴のいずれにもマッピングされていない前記データセット内の1つまたは複数の他の変数から抽出される、こと、
を備える、請求項1に記載のコンピュータ実装方法。
【請求項4】
前記データセット内の1つまたは複数の前記変数にマッピングされた1つまたは複数の標準特徴および1つまたは複数の他の特徴を含む複数の特徴を生成することは、
選択された前記機械学習アプリケーションの標準特徴のいずれにもマッピングされていない前記データセット内の変数を識別することと、
識別された前記変数に基づいてプリミティブのプールからプリミティブを選択することであって、前記プリミティブは、変数を特徴に変換する関数を備える、ことと、
前記プリミティブを前記変数に適用して、1つまたは複数の前記他の特徴のうちの1つを生成することと、
を備える、請求項3に記載のコンピュータ実装方法。
【請求項5】
ラベリング関数を前記データセットに適用して、ラベルタイムを生成することであって、それぞれのラベルタイムは、ラベルおよび前記ラベルに関連付けられたカットオフタイムを含む、こと、
をさらに備える、請求項1に記載のコンピュータ実装方法。
【請求項6】
前記ラベリング関数は、前記機械学習アプリケーションに含まれ、選択された前記機械学習アプリケーションに対応する前記産業課題に特有である、
請求項5に記載のコンピュータ実装方法。
【請求項7】
前記ラベリング関数は、カスタマイズ可能なパラメータを備え、前記方法は、
前記クライアントデバイスから前記カスタマイズ可能なパラメータの値を受信することであって、前記値は、前記産業課題の範囲内の予測に固有である、ことと、
受信された前記値に基づいて、前記ラベリング関数をカスタマイズすることと、
をさらに備える、請求項5に記載のコンピュータ実装方法。
【請求項8】
実行可能なコンピュータプログラム命令を格納する非一時的コンピュータ可読メモリであって、産業課題に対する予測を行うためのモデルを生成するための操作を実行する前記実行可能な命令は、
機械学習アプリケーションによって、前記モデルを生成するためのデータセットを受信することであって、前記機械学習アプリケーションは、前記産業課題に基づいて複数の機械学習アプリケーションから選択され、前記複数の機械学習アプリケーションのそれぞれは、種々の産業課題に対応し、対応する前記産業課題に特有の標準特徴および対応する前記産業課題に特有の機械学習パイプラインを含む、ことと、
ユーザに関連付けられたクライアントデバイスへの表示のために、前記機械学習アプリケーション内の前記標準特徴を提供することと、
前記クライアントデバイスから、および、前記標準特徴を提供することに応答して、選択された前記機械学習アプリケーション内の標準特徴に対する、前記データセット内の変数のマッピングを受信することと、
選択された前記機械学習アプリケーションの前記機械学習パイプラインを前記データセットに適用して、少なくとも前記マッピングに基づいて複数のモデルをトレーニングすることと、
トレーニングされた前記複数のモデルをランク付けすることと、
前記ランク付けに基づいて、トレーニングされた前記複数のモデルから生成されたモデルを選択することと、
を備える、非一時的コンピュータ可読メモリ。
【請求項9】
前記機械学習アプリケーションによって、前記ユーザに関連付けられた前記クライアントデバイスへの表示のために、前記機械学習アプリケーション内の前記標準特徴を提供することは、
前記機械学習アプリケーションによって、前記機械学習アプリケーション内の前記標準特徴を、ユーザインターフェースへの表示のために提供することであって、前記ユーザインターフェースは、前記ユーザが、前記機械学習アプリケーション内の前記標準特徴に、前記データセット内の変数をマッピングすることを可能にする、こと、
を備える、請求項8に記載の非一時的コンピュータ可読メモリ。
【請求項10】
選択された前記機械学習アプリケーションの前記機械学習パイプラインを前記データセットに適用して、少なくとも前記マッピングに基づいて複数のモデルをトレーニングすることは、
前記データセット内の1つまたは複数の前記変数にマッピングされた、選択された前記機械学習アプリケーション内の1つまたは複数の標準特徴、および、1つまたは複数の他の特徴、を含む複数の特徴を生成することであって、1つまたは複数の前記他の特徴は、選択された前記機械学習アプリケーションの標準特徴のいずれにもマッピングされていない前記データセット内の1つまたは複数の他の変数から抽出される、こと、
を備える、請求項8に記載の非一時的コンピュータ可読メモリ。
【請求項11】
前記データセット内の1つまたは複数の前記変数にマッピングされた1つまたは複数の標準特徴および1つまたは複数の他の特徴を含む複数の特徴を生成することは、
選択された前記機械学習アプリケーションの標準特徴のいずれにもマッピングされていない前記データセット内の変数を識別することと、
識別された前記変数に基づいてプリミティブのプールからプリミティブを選択することであって、前記プリミティブは、変数を特徴に変換する関数を備える、ことと、
前記プリミティブを前記変数に適用して、1つまたは複数の前記他の特徴のうちの1つを生成することと、
を備える、請求項10に記載の非一時的コンピュータ可読メモリ。
【請求項12】
前記操作は、
ラベリング関数を前記データセットに適用して、ラベルタイムを生成することであって、それぞれのラベルタイムは、ラベルおよび前記ラベルに関連付けられたカットオフタイムを含む、こと、
をさらに備える、請求項8に記載の非一時的コンピュータ可読メモリ。
【請求項13】
前記ラベリング関数は、前記機械学習アプリケーションに含まれ、選択された前記機械学習アプリケーションに対応する前記産業課題に特有である、
請求項12に記載の非一時的コンピュータ可読メモリ。
【請求項14】
前記ラベリング関数は、カスタマイズ可能なパラメータを備え、前記操作は、
前記クライアントデバイスから前記カスタマイズ可能なパラメータの値を受信することであって、前記値は、前記産業課題の範囲内の予測に固有である、ことと、
受信された前記値に基づいて、前記ラベリング関数をカスタマイズすることと、
をさらに備える、請求項12に記載の非一時的コンピュータ可読メモリ。
【請求項15】
コンピュータプログラム命令を実行するためのコンピュータプロセッサと、
産業課題に対する予測を行うためのモデルを生成するための操作を実行する前記コンピュータプロセッサによって実行可能なコンピュータプログラム命令を格納する非一時的コンピュータ可読メモリと、を含むシステムであって、前記実行可能な命令は、
機械学習アプリケーションによって、前記モデルを生成するためのデータセットを受信することであって、前記機械学習アプリケーションは、前記産業課題に基づいて複数の機械学習アプリケーションから選択され、前記複数の機械学習アプリケーションのそれぞれは、種々の産業課題に対応し、対応する前記産業課題に特有の標準特徴および対応する前記産業課題に特有の機械学習パイプラインを含む、ことと、
ユーザに関連付けられたクライアントデバイスへの表示のために、前記機械学習アプリケーション内の前記標準特徴を提供することと、
前記クライアントデバイスから、および、前記標準特徴を提供することに応答して、選択された前記機械学習アプリケーション内の標準特徴に対する、前記データセット内の変数のマッピングを受信することと、
選択された前記機械学習アプリケーションの前記機械学習パイプラインを前記データセットに適用して、少なくとも前記マッピングに基づいて複数のモデルをトレーニングすることと、
トレーニングされた前記複数のモデルをランク付けすることと、
前記ランク付けに基づいて、トレーニングされた前記複数のモデルから生成されたモデルを選択することと、
を備えるシステム。
【請求項16】
前記機械学習アプリケーションによって、前記前記ユーザに関連付けられた前記クライアントデバイスへの表示のために、前記機械学習アプリケーション内の前記標準特徴を提供することは、
前記機械学習アプリケーションによって、前記機械学習アプリケーション内の前記標準特徴を、ユーザインターフェースへの表示のために提供することであって、前記ユーザインターフェースは、前記ユーザが、前記機械学習アプリケーション内の前記標準特徴に、前記データセット内の変数をマッピングすることを可能にする、こと、
を備える、請求項15に記載のシステム。
【請求項17】
選択された前記機械学習アプリケーションの前記機械学習パイプラインを前記データセットに適用して、少なくとも前記マッピングに基づいて複数のモデルをトレーニングすることは、
前記データセット内の1つまたは複数の前記変数にマッピングされた、選択された前記機械学習アプリケーション内の1つまたは複数の標準特徴、および、1つまたは複数の他の特徴、を含む複数の特徴を生成することであって、1つまたは複数の前記他の特徴は、選択された前記機械学習アプリケーションの標準特徴のいずれにもマッピングされていない前記データセット内の1つまたは複数の他の変数から抽出される、こと、
を備える、請求項15に記載のシステム。
【請求項18】
前記データセット内の1つまたは複数の前記変数にマッピングされた1つまたは複数の標準特徴および1つまたは複数の他の特徴を含む複数の特徴を生成することは、
選択された前記機械学習アプリケーションの標準特徴のいずれにもマッピングされていない前記データセット内の変数を識別することと、
識別された前記変数に基づいてプリミティブのプールからプリミティブを選択することであって、前記プリミティブは、変数を特徴に変換する関数を備える、ことと、
前記プリミティブを前記変数に適用して、1つまたは複数の前記他の特徴のうちの1つを生成することと、
を備える、請求項17に記載のシステム。
【請求項19】
前記操作は、
ラベリング関数を前記データセットに適用して、ラベルタイムを生成することであって、それぞれのラベルタイムは、ラベルおよび前記ラベルに関連付けられたカットオフタイムを含む、こと、
をさらに備える、請求項15に記載のシステム。
【請求項20】
前記ラベリング関数は、カスタマイズ可能なパラメータを備え、
前記クライアントデバイスから前記カスタマイズ可能なパラメータの値を受信することであって、前記値は、前記産業課題の範囲内の予測に固有である、ことと、
受信された前記値に基づいて、前記ラベリング関数をカスタマイズすることと、
をさらに備える、請求項19に記載のシステム。
【発明の詳細な説明】
【技術分野】
【0001】
記述される実施形態は、一般に、データストリームを処理することに関し、特に、産業特定機械学習アプリケーションを使用して、データストリームに基づいて予測を行うためのモデルをトレーニングすることに関する。
【背景技術】
【0002】
本出願は、参照により本明細書に組み込まれる、2021年4月28に出願された米国特許出願第17/242,927号明細書の利益を主張する。
【0003】
自動機械学習ツールは、機械学習を現実世界の問題に適用する処理を自動化する。現在の自動機械学習ツールは、展開可能な機械学習モデルの作成を、より早くかつ効率的にすることを可能にする。しかしながら、自動機械学習ツールはしばしば、データセットに関するドメイン知識を組み込んでいないため、最適ではない(sub-optimal)モデルを産出する。その結果、現在利用可能な自動機械学習ツールによって生成されたモデルは、データに基づいて予測を行うことができるほど良好ではない。
【0004】
上記および他の問題は、方法、非一時的コンピュータ可読メモリ、およびシステムによって対処される。方法の一実施形態は、産業課題に対する予測を行うためのモデルを生成するための方法である。方法は、機械学習アプリケーションによって、モデルを生成するためのデータセットを受信することを含む。機械学習アプリケーションは、産業課題に基づいて複数の機械学習アプリケーションから選択される。複数の機械学習アプリケーションのそれぞれは、種々の産業課題に対応し、対応する産業課題に特有の標準特徴および対応する産業課題に特有の機械学習パイプラインを含む。方法はさらに、ユーザに関連付けられたクライアントデバイスへの表示のために、機械学習アプリケーション内の標準特徴を提供することを含む。方法はさらに、クライアントデバイスから、および標準特徴を提供することに応答して、選択された機械学習アプリケーションの標準特徴に対する、データセット内の変数のマッピングを受信することを含む。方法はさらに、選択された機械学習アプリケーションの機械学習パイプラインをデータセットに適用して、少なくともマッピングに基づいて複数のモデルをトレーニングすることを含む。方法はさらに、複数のトレーニングされたモデルをランク付けすることを含む。方法はまた、ランク付けに基づいて、トレーニングされた複数のモデルから生成されたモデルを選択することを含む。
【0005】
非一時的なコンピュータ可読メモリの一実施形態は、実行可能なコンピュータプログラム命令を格納する。命令は、産業課題に対する予測を行うためのモデルを生成するための操作を実行することが実行可能である。操作は、機械学習アプリケーションによって、モデルを生成するためのデータセットを受信することを含む。機械学習アプリケーションは、産業課題に基づいて複数の機械学習アプリケーションから選択される。複数の機械学習アプリケーションのそれぞれは、種々の産業課題に対応し、対応する産業課題に特有の標準特徴および対応する産業課題に特有の機械学習パイプラインを含む。操作はさらに、ユーザに関連付けられたクライアントデバイスへの表示のために、機械学習アプリケーション内の標準特徴を提供することを含む。操作はさらに、クライアントデバイスから、および標準特徴を提供することに応答して、選択された機械学習アプリケーション内の標準特徴に対する、データセット内の変数のマッピングを受信することを含む。操作はさらに、選択された機械学習アプリケーションの機械学習パイプラインをデータセットに適用して、少なくともマッピングに基づいて複数のモデルをトレーニングすることを含む。操作はさらに、複数のトレーニングされたモデルをランク付けすることを含む。操作はまた、ランク付けに基づいて、トレーニングされた複数のモデルから生成されたモデルを選択することを含む。
【0006】
システムの一実施形態は、コンピュータプログラム命令を実行するためのコンピュータプロセッサを含む。システムはまた、産業課題に対する予測を行うためのモデルを生成するための操作を実行するコンピュータプロセッサによって実行可能なコンピュータプログラム命令を格納する非一時的コンピュータ可読メモリを含む。操作は、機械学習アプリケーションによって、モデルを生成するためのデータセットを受信することを含む。機械学習アプリケーションは、産業課題に基づいて複数の機械学習アプリケーションから選択される。複数の機械学習アプリケーションのそれぞれは、種々の産業課題に対応し、対応する産業課題に特有の標準特徴および対応する産業課題に特有の機械学習パイプラインを含む。操作はさらに、ユーザに関連付けられたクライアントデバイスへの表示のために、機械学習アプリケーションの標準特徴を提供することを含む。操作はさらに、クライアントデバイスから、および標準特徴を提供することに応答して、選択された機械学習アプリケーション内の標準特徴に対する、データセット内の変数のマッピングを受信することを含む。操作はさらに、選択された機械学習アプリケーションの機械学習パイプラインをデータセットに適用して、少なくともマッピングに基づいて複数のモデルをトレーニングすることを含む。操作はさらに、複数のトレーニングされたモデルをランク付けすることを含む。操作はまた、ランク付けに基づいて、トレーニングされた複数のモデルから生成されたモデルを選択することを含む。
【図面の簡単な説明】
【0007】
図1図1は、一実施形態による機械学習サーバを含む機械学習環境を示すブロック図である。
図2図2は、一実施形態による産業特定機械学習アプリケーションを生成するアプリケーション生成エンジンを示すブロック図である。
図3図3は、一実施形態による産業特定機械学習アプリケーションを示すブロック図である。
図4A図4Aは、一実施形態による図3の産業特定機械学習アプリケーションを使用して、データセットからモデルをトレーニングすることを示す図である。
図4B図4Bは、一実施形態による図3の産業特定機械学習アプリケーションを使用して、データセットからモデルをトレーニングすることを示す図である。
図4C図4Cは、一実施形態による図3の産業特定機械学習アプリケーションを使用して、データセットからモデルをトレーニングすることを示す図である。
図5図5は、一実施形態による産業特定機械学習アプリケーションを使用して、モデルをトレーニングする方法を示すフローチャートである。
図6図6は、一実施形態による図1の機械学習サーバとして使用するための典型的なコンピュータシステムの機能図を示す高レベルのブロック図である。
【0008】
図は、例示のみを目的として様々な実施形態を示す。当業者は、本明細書に記載される実施形態の原理から逸脱することなく、本明細書に示される構造および方法の代替的な実施形態が使用されることを、以下の議論から容易に認識し得る。様々な図面における同様の参照番号および名称は、同様の要素を示す。
【発明を実施するための形態】
【0009】
図1は、一実施形態による機械学習サーバ110を含む機械学習環境100を示すブロック図である。環境100はさらに、ネットワーク140を介して機械学習サーバ110に接続された複数のデータソース120およびクライアントデバイス130を含む。図示された環境100は、複数のデータソース120およびクライアントデバイス130に結合された1つの機械学習サーバ110のみを含むが、実施形態は、複数の機械学習サーバ、単一のデータソース、および単一のクライアントデバイス、またはそれらの他のバリエーションを有することが可能である。
【0010】
機械学習サーバ110は、機械学習モデルを構築し、データに基づいて予測を行うためにモデルを展開するために利用されるコンピュータベースのシステムである。データは、ネットワーク140を介して、複数のデータソース120のうちの1つまたは複数、または、複数のクライアントデバイス130のうちの1つまたは複数から、集められる、収集される、またはそうでなければアクセスされる。機械学習サーバ110は、多種多様なデータソース120またはクライアントデバイス130からのデータにアクセスする、準備する、混合する、および分析する際に用いられるスケーラブルなソフトウェアツールおよびハードウェアリソースを実装することが可能である。
【0011】
機械学習サーバ110は、産業特定機械学習処理を実装する。機械学習サーバ110は、アプリケーション生成アプリケーション150、および、アプリケーション生成アプリケーション150によって生成された複数の産業特定機械学習アプリケーション160(「機械学習アプリケーション160」とも呼ばれ、個々に、「産業特定機械学習アプリケーション160」または「機械学習アプリケーション160」とも呼ばれる)を含む。産業特定機械学習アプリケーション160は、特定の産業課題の範囲内の予測を行うためのモデルをトレーニングするために使用されることが可能であるアプリケーションである。産業課題は、産業またはビジネスのドメインにおける課題である。産業/ドメインは、例えば、情報技術(IT)操作、ヘルスケア、工業生産、小売り、セールスおよびマーケティング、保険、銀行業などであることが可能である。産業課題は、例えば、アプリケーションの監視、サービスレベル合意違反の検出、ユーザの行動予測などであることが可能である。
【0012】
産業課題に特有の機械学習アプリケーション160は、特定の産業のための機械学習サーバ110によって生成される機械学習ツール(例えば、ラベリング関数、標準特徴、機械学習パイプライン、など)を含む。そのような機械学習ツールは、産業課題のドメイン知識、産業課題に関連付けられたモデルの過去のトレーニングの知識、産業課題に関する他の種類の知識、またはそれらの組合せに基づいて、生成および/または選択され得る。これらの産業特定機械学習ツールにより、機械学習処理は、従来の機械学習技術と比較して、より効率的である。例えば、標準特徴は、モデルをトレーニングするための特徴として使用されることが可能であり(例えば、単にトレーニングデータ内の変数を標準特徴にマッピングすることにより)、これは、データセットからこれらの特徴を抽出するのに必要な時間と計算ソースを節約することができる。別の例として、機械学習処理で使用されるパイプラインの探索および最適化は、従来の機械学習処理と比較して、検索と最適化がより効率的になるように、選択された機械学習アプリケーションのパイプラインに限定されることが可能である。機械学習ツールにより、機械学習アプリケーション160は、自動化された産業特定機械学習を実行する。
【0013】
いくつかの実施形態では、産業特定機械学習アプリケーション160は、ユーザが、機械学習処理に入力を提供することを可能にし得る。例えば、それは、ユーザが、標準特徴に、トレーニングデータセット内の変数をマッピングすることを可能にし得る。それはまた、ユーザによって探索された特定の予測に対するラベリング関数をカスタマイズするために、ラベリング関数内の特定のパラメータの値をユーザが定義することを可能にする。このようにして、産業特定機械学習アプリケーション160は、産業課題のドメイン知識と、データセットおよび特定の予測におけるユーザの特別な知識の両方を活用する。それゆえ、従来の機械学習技術と比較して、産業特定機械学習アプリケーション160は、産業のニーズおよびユーザのニーズにより適合するモデルをトレーニングすることが可能である。
【0014】
いくつかの実施形態では、機械学習サーバ110は、ユーザに関連付けられたクライアントデバイスへの表示のために、多様な産業特定機械学習アプリケーション160を提供する。機械学習サーバ110は、ユーザが、機械学習モデルをトレーニングするための産業特定機械学習アプリケーション160のうちの1つを選択することを可能にする。ユーザは、モデルによりなされる予測、モデルをトレーニングするのに使用されるデータ、予測を行うために使用されるデータなどの、トレーニングされる機械学習モデルに関連付けられた知識を有する人物である(例えば、機械学習エンジニア、開発エンジニアなど)。ユーザは、モデルによりなされる予測、例えば、産業課題の範囲に入る予測、に関する産業課題に特有の機械学習アプリケーション160を選択する。
【0015】
いくつかの実施形態では、機械学習サーバ110は、ユーザインターフェースに機械学習アプリケーション160を提示する。機械学習アプリケーション160は、機械学習アプリケーション160に対応する産業課題を示すラベルに関連付けられ得、それにより、ユーザは、機械学習アプリケーションが、ユーザが必要とするモデルをトレーニングするのに適しているかどうかを決定するために、ラベルに頼り得る。いくつかの実施形態では、機械学習サーバ110は、1つまたは複数のユーザインターフェース、例えば、グラフィカルユーザインターフェース(GUI)をサポートし、それは、ユーザが、機械学習アプリケーションと相互作用することを可能にする。例えば、ユーザインターフェースは、機械学習アプリケーションを見る、機械学習アプリケーションをダウンロードする、機械学習アプリケーションのオンラインバージョンと相互作用する、機械学習アプリケーションへのデータセットをアップロードする、データセット内の変数を機械学習アプリケーションの標準特徴にマッピングする、などのオプションをユーザに提供する。
【0016】
データソース120は、機械学習サーバ110に電子データを提供する。データソース120は、ハードディスクドライブ(HDD)またはソリッドステートドライブ(SSD)などのストレージデバイス、複数のストレージデバイスへのアクセスを管理および提供するコンピュータ、ストレージエリアネットワーク(SAN)、データベース、またはクラウドストレージシステムとし得る。データソース120はまた、別のソースからデータを取得できるコンピュータシステムであり得る。データソース120は、機械学習サーバ110から離れていて、ネットワーク140を介してデータを提供し得る。さらに、いくつかまたは全てのデータソース120は、ネットワーク140を介してデータを渡すことなく、データ分析システムに直接結合され、データを提供し得る。
【0017】
データソース120によって提供されるデータは、産業課題を解決するための、および/または、産業課題の範囲内の予測を行うためにトレーニングされるモデルに入力される、機械学習モデルをトレーニングするために使用されるデータを含む。データは、データレコード(例えば行)に編成され得る。それぞれのデータは、1つまたは複数の値を含む。例えば、データソース120によって提供されるデータレコードは、一連のカンマ区切りの値を含み得る。データは、データ分析システム110を使用する企業に関連する情報を記述する。例えば、データソース120からのデータは、ウェブサイト上および/またはアプリケーションでアクセス可能なコンテンツとのコンピュータベースの相互作用(例えば、クリック追跡データ)を記述することが可能である。別の例として、データソース120からのデータは、オンラインおよび/または店舗での顧客取引を記述することが可能である。企業は、コンピュータ技術、製造業など、様々な産業の1つまたは複数であることが可能である。
【0018】
クライアントデバイス130は、ユーザ入力を受信するとともに、ネットワーク140を介してデータを送信および/または受信することが可能な1つまたは複数のコンピューティングデバイスである。一実施形態では、クライアントデバイス130は、デスクトップまたはラップトップコンピュータなどの従来のコンピュータシステムである。代替として、クライアントデバイス130は、携帯情報端末(PDA)、携帯電話、スマートフォン、または別の適切なデバイスなど、コンピュータ機能を有するデバイスであり得る。クライアントデバイス130は、ネットワーク140を介して1つまたは複数のデータソース120および機械学習サーバ110と通信するように構成される。一実施形態では、クライアントデバイス130は、クライアントデバイス130のユーザが機械学習サーバ110と相互作用することを可能にするアプリケーションを実行する。例えば、クライアントデバイス130は、例えば、機械学習サーバ110によってサポートされるGUIを実行することによって、ネットワーク140を介してクライアントデバイス130と機械学習アプリケーション160との間の相互作用を可能にするアプリケーションを実行する。クライアントデバイス130は、GUIを表示するディスプレイデバイスを含む、またはそうでなければ関連付けられる。クライアントデバイス130はまた、GUIへの入力を提供するなど、ユーザがGUIと相互作用することを可能にする入力デバイス、例えば、キーボード、マウスなど、と関連付けられる。別の実施形態では、クライアントデバイス130は、IOS(R)またはANDROID(TM)などのクライアントデバイス130のネイティブオペレーティングシステム上で実行されるアプリケーションプログラミングインターフェース(API)を介して、機械学習サーバ110と相互作用する。クライアントデバイス130は、1つまたは複数のデータソース120と相互作用して、データソース120にデータを送信する、またはデータソース120からデータを取得し得る。
【0019】
ネットワーク140は、機械学習サーバ110とデータソース120との間の通信経路を表す。一実施形態では、ネットワーク140はインターネットであり、標準的な通信技術および/またはプロトコルを使用する。それゆえ、ネットワーク140は、イーサネット、802.11、ワールドワイド・インターオペラビリティ・フォー・マイクロウェーブ・アクセス(WiMAX(登録商標))、3G、ロングタームエボリューション(LTE)、デジタル加入者線(DSL)、非同期転送モード(ATM)、インフィニバンド、PCIエクスプレスアドバンストスイッチングなどの技術を使用するリンクを含むことが可能である。同様に、ネットワーク140で使用されるネットワーキングプロトコルには、マルチプロトコルラベルスイッチング(MPLS)、伝送制御プロトコル/インターネットプロトコル(TCP/IP)、ユーザデータグラムプロトコル(UDP)、ハイパーテキストトランスポートプロトコル(HTTP)、シンプルメール転送プロトコル(SMTP)、ファイル転送プロトコル(FTP)などを含むことが可能である。
【0020】
ネットワーク140を介して交換されるデータを、ハイパーテキストマークアップランゲージ(HTML)、拡張可能マークアップランゲージ(XML)などを含む技術および/またはフォーマットを使用して表すことが可能である。さらに、リンクの全てまたは一部を、セキュアソケットレイヤ(SSL)、トランスポートレイヤセキュリティ(TLS)、仮想プライベートネットワーク(VPN)、インターネットプロトコルセキュリティ(IPsec)などの従来の暗号化技術を使用して暗号化することが可能である。別の実施形態では、エンティティは、上記のものの代わりに、またはそれに加えて、カスタムおよび/または専用のデータ通信技術を使用することが可能である。
【0021】
図2は、一実施形態による産業特定機械学習アプリケーションを生成するアプリケーション生成モジュール200を示すブロック図である。アプリケーション生成エンジン200は、図1のアプリケーション生成エンジン150の一実施形態である。アプリケーション生成エンジン200は、モデルをトレーニングするために使用されることが可能である産業特定機械学習アプリケーションを生成する。アプリケーション生成エンジン200は、ラベリング関数モジュール210、標準特徴モジュール220、パイプラインモジュール230、ユーザインターフェースモジュール240、およびデータベース250を含む。当業者は、他の実施形態が、ここで説明したコンポーネントとは異なるコンポーネントおよび/または他のコンポーネントを有することが可能であり、機能性が、異なる方法でコンポーネント間に分散されることが可能であることを認識するであろう。
【0022】
ラベリング関数モジュール210は、産業課題に特有のラベリング関数を取得する。ラベリング関数は、データセットに適用された場合にデータセットからラベルタイムを作成する関数である。ラベルタイムは、テーブル(「ラベルタイムテーブル」とも呼ばれる)で提供され得る。ラベルタイムは、カットオフタイムおよびカットオフタイムに関連付けられたラベルを含む。カットオフタイムは、予測を行う時間である。カットオフタイムの前にタイムスタンプに関連付けられたデータは、ラベルの特徴を抽出するために使用されることが可能である。しかしながら、カットオフタイムの後にタイムスタンプに関連付けられたデータは、ラベルの特徴を抽出するために使用されるべきではない。カットオフタイムに関連付けられたラベルは、カットオフタイムに関連付けられた予測対象の過去の例(真または偽など)である。ラベルは、ラベリング関数を使用することによって、カットオフタイム上および/またはカットオフタイムを超えるタイムスタンプに関連付けられたデータに基づいて生成される。例えば、毎月1日など、特定の日のユーザの行動についての予測の場合、カットオフタイムは、毎月1日となる。毎月1日のタイムスタンプに関連付けられたデータは、ラベルを生成するためにラベリング関数に適用されるが、特徴を生成するために使用されることは可能でない。全ての特徴は、カットオフタイムより前のデータ、例えば前月のデータ、を使用して生成されるべきである。
【0023】
ラベリング関数は、カスタマイズ可能なパラメータを含む。パラメータの例は、予測日/タイム(すなわち、カットオフ日/タイム)、予測ウィンドウ(予測を行うための期間)、日または月の数(予測される未来の期間)などを含む。いくつかの実施形態では、パラメータの値は、例えば、予測および/または産業課題のドメイン知識を有するユーザによって、産業課題の範囲内の種々の予測についてのラベルタイムを作成するために、カスタマイズされる。例えば、毎月1日のユーザの行動についての予測を行うために、予測日は、毎月1日が可能であり、予測ウィンドウは、1月とすることが可能である。
【0024】
標準特徴モジュール220は、産業特定標準特徴を生成する。例えば、それぞれの機械学習アプリケーションについて、標準特徴モジュール220は、例えば、産業課題のドメインに関連付けられた知識に基づいて、機械学習アプリケーションの産業ドメインに特有な1つまたは複数の標準特徴を生成する。いくつかの実施形態では、標準特徴モジュール220は、産業課題を解決するためにトレーニングされたモデルにユーザが入力するデータセット内の典型的な変数に基づいて、標準特徴を生成する。例えば、次の購買予測に特有な機械学習アプリケーションの場合、標準特徴モジュール220は、ユーザ(ユーザID、性別、誕生日、ジップコードなど)および過去の取引(取引ID、取引日、取引量、製品購入など)に関連付けられた標準特徴を生成する。いくつかの実施形態では、標準特徴モジュール220は、特徴のプールから標準特徴を選択する。標準特徴モジュール220は、産業課題に関連付けられたモデルの過去のトレーニングにおける標準特徴の性能に基づいて、プールから標準特徴を選択し得る。
【0025】
いくつかの実施形態では、標準特徴モジュール220は、特徴を生成するためにデータセットに適用される標準プリミティブを生成する。標準プリミティブは、データに適用された場合に、データ上の計算を実行し、関連する値を有する対応する標準特徴を生成するアルゴリズムを含む。1つの例では、標準プリミティブは、機械学習アプリケーションの産業ドメインに対してデフォルトであるプリミティブである。別の例では、標準プリミティブは、候補プリミティブのプールから選択される。例えば、候補プリミティブは、候補プリミティブから生成された特徴のランク付けに基づいてランク付けされる。より高く(例えば、他の候補プリミティブから生成された特徴よりも高い)ランク付けされた特徴を生成する候補プリミティブは、標準プリミティブとして選択される。標準プリミティブのアルゴリムズは、異なる変数を有する異なるデータセットに適用するために使用されることが可能である。それゆえ、標準プリミティブは、産業ドメインにおける異なる機械学習モデルをトレーニングするために、異なるデータセットで再利用されることが可能である。プリミティブおよび特徴のランク付けについての詳細は、図3とともに以下で説明する。
【0026】
パイプラインモジュール230は、産業課題に特有の1つまたは複数のパイプラインを生成する。パイプラインは、モデルをトレーニングするために機械学習アプリケーションによって実行される機械学習処理のワークフローであり、モデルをトレーニングするための一連のステップを指定する。機械学習パイプラインはまた、データ代入、特徴スケーリング、分類等のためのツールなど、機械学習処理で使用されるツール(例えば、アルゴリズム)を指定し得る。1つの例では、パイプラインのステップは、データコンポージング、特徴エンジニアリング、モデルトレーニング、モデル検証、およびモデル展開を含む。ステップは、サブステップを含み得る。例えば、データ準備のステップは、データ種類設定、データエンコーディング、およびデータ代入を含み得、特徴エンジニアリングのステップは、選択および特徴ランク付けを含み得、および、モデルトレーニングのステップは、ハイパーパラメータ調整およびアルゴリズム選択を含み得る。異なるパイプラインは、異なる序列のステップおよび/または異なるステップを含む。
【0027】
いくつかの実施形態では、パイプラインモジュール230は、目的関数に基づいてパイプラインのプールからパイプラインを選択する。目的関数は、最適化(例えば、最大化に対して最小化)される関数である。これは、予測目的/目標にどれだけ到達したかを測る。これは、損失関数またはコスト関数であり得る。パイプラインモジュール230は、産業課題のドメインに基づいて、目的関数のプールから目的関数を選択し得る。目的関数は、ドメインに特有である。パイプラインモジュール230は、目的関数をパイプラインのプールに適用して、複数のパイプラインを選択する。例えば、パイプラインモジュール230は、それぞれのパイプラインが目的関数をどれだけ最適化したかに基づいてパイプラインのプールをランク付けし、ランク付けに基づいてパイプラインのプールから複数のパイプラインを選択する。
【0028】
いくつかの実施形態では、パイプラインモジュール230は、パイプラインテンプレートを取得し、パイプラインテンプレートから産業課題に特有のパイプラインを生成する。それぞれのテンプレートは、一連のコンポーネントを含む。コンポーネントは、機械学習処理でのステップを実行するためのツールである。コンポーネントの例は、データ送信ツール、データ種類設定ツール、データエンコーディングツール、データ代入ツール、特徴選択ツール、特徴ランク付けツール、アルゴリズム選択ツール、などを含む。コンポーネントは、1つまたは複数のパラメータに関連付けられる。パラメータの値は、変化またはカスタマイズされることが可能である。特徴ランク付けツールを例にとると、特徴ランク付けツールのパラメータは、特徴をランク付けするために使用される決定木の数である。パラメータの値は、例えば、100、200、300などであることが可能である。
【0029】
いくつかの実施形態では、パイプラインモジュール230は、パイプラインテンプレート内のコンポーネントのパラメータの値を決定する。1つの例では、パイプラインモジュール230は、産業課題に対してデフォルトである値を使用する。別の例では、パイプラインモジュール230は、機械学習モデルを使用して、コンポーネントのパラメータの値を決定する。機械学習モデルは、機械学習パイプラインのコンポーネントのパラメータの値を決定するためにトレーニングされている。例えば、パイプラインモジュール230は、機械学習モデルへ関連する情報を入力し、機械学習モデルは、パイプラインテンプレート内の1つまたは複数のコンポーネントのパラメータの値を出力する。関連する情報は、パイプラインテンプレートの情報(パイプラインテンプレート内のコンポーネントの情報、パイプラインテンプレート内の他のコンポーネントの情報、など)、機械学習アプリケーションの情報、産業課題の情報、機械学習アプリケーションのユーザから受信した情報(例えば、パイプラインテンプレートを使用してトレーニングされるモデルの期待される精度、パイプラインテンプレートを使用してモデルをトレーニングするために必要な期待される期間、など)などを含み得る。
【0030】
パイプラインモジュール230は、パイプラインテンプレートをランク付けすることによって、パイプラインテンプレートからパイプラインを選択する。例えば、パイプラインモジュール230は、それぞれのパイプラインテンプレートを使用してトレーニングされた機械学習モデルの精度に基づいて、パイプラインテンプレートをランク付けし、より高くランク付けされたパイプラインテンプレートを選択する。パイプラインモジュール230は、パイプラインテンプレート内のコンポーネントのパラメータの値を決定する前および/または後で、パイプラインテンプレートをランク付けし得る。
【0031】
ユーザインターフェースモジュール240は、産業特定機械学習アプリケーション用のユーザインターフェース(例えば、グラフィカルユーザインターフェース(GUI))を生成する。ユーザインターフェースは、機械学習アプリケーションと相互作用するために、ユーザによって使用される要素を含む。要素の例は、ユーザが、オプションを選択または解除するために使用し得るアイコン、タブ、チェックボックス、ボタン、ドロップダウンリスト、リストボックス、ラジオボン、スイッチ、または他の種類の要素、ユーザが、数字、記号、および/またはテキストを入力するために使用し得る入力フィールド、ユーザの確認のためのユーザへの情報を提示するための提示領域などが含まれる。ユーザインターフェースの詳細については、図3とともに以下で説明する。
【0032】
データベース250は、アプリケーション生成エンジン200によって受信され、使用され、または生成されるデータなどの、アプリケーション生成エンジン200と関連付けられたデータを格納する。いくつかの実施形態では、データベース250は、ラベル関数、標準特徴、目的関数、機械学習パイプラインなどを格納する。
【0033】
図3は、一実施形態による産業特定機械学習アプリケーション300を示すブロック図である。機械学習アプリケーション300は、図1の機械学習アプリケーション160の一実施形態である。機械学習アプリケーション300は、産業特定機械学習ツールを含み、産業課題の範囲内の予測を行うためのモデルをトレーニングするために使用される。機械学習アプリケーション300は、ユーザインターフェースモジュール310、ラベリングモジュール320、特徴エンジニアリングモジュール330、トレーニングモジュール340、ランク付けモジュール350、およびデータベース360を含む。当業者は、他の実施形態が、ここで説明したコンポーネントとは異なるコンポーネントおよび/または他のコンポーネントを有することが可能であり、機能性が、異なる方法でコンポーネント間に分散されることが可能であることを認識するであろう。
【0034】
ユーザインターフェースモジュール310は、ユーザが、機械学習アプリケーション300にアクセス、相互作用することを可能にするユーザインターフェース(GUIなど)をサポートする。例えば、ユーザインターフェースは、ユーザが、例えば、クライアントデバイスまたはデータソースから、機械学習アプリケーションにデータセットをロードすることを可能にする。ユーザインターフェースは、例えば、時間的範囲に該当するデータがモデルをトレーニングするために使用されるように、ユーザがカットオフタイムの前の時間的範囲を指定することを可能にすることによって、ユーザが、モデルをトレーニングするためにデータセットの一部を選択することを可能にする。
【0035】
ユーザインターフェースは、ユーザが、機械学習アプリケーション300にラベリング関数のカスタマイズ可能なパラメータの値を提供することを可能にする。ユーザから受信された値は、ユーザによって探索された特定の予測に対する機械学習処理をカスタマイズするために使用されることが可能である。いくつかの実施形態では、ユーザインターフェースは、ユーザにカスタマイズ可能なパラメータを提示する。ユーザインターフェースは、カスタマイズ可能なパラメータの値を入力するために、ユーザのためのカスタマイズ可能なパラメータについての1つまたは複数の入力フィールドを含み得る。ユーザインターフェースはまた、ユーザがカスタマイズ可能なパラメータの値を選択することが可能なドロップダウンリストを提供し得る。ユーザインターフェースモジュール310は、ラベリング関数をカスタマイズするため、ユーザから受信したカスタマイズ可能なパラメータの値を、ラベリングモジュール320へ送信する。
【0036】
ユーザインターフェースはまた、機械学習アプリケーション300内の標準特徴をユーザへ提示し、ユーザが、データセット内の変数を、標準特徴にマッピングすることを可能にする。いくつかの実施形態では、データセットを受信した後、ユーザインターフェースモジュール310は、データセット内の変数を識別する。ユーザインターフェースモジュール310は、ユーザへの表示のために変数の全てまたはいくつかをユーザインターフェースに提示し、それにより、ユーザは、変数を選択し、変数を標準特徴にマッピングすることが可能になる。ユーザインターフェースは、ユーザのマッピングを受信し、マッピングを特徴エンジニアリングモジュール320へ送信する。
【0037】
ユーザインターフェースはまた、データセットの編集、変数のためのデータ種類の選択、ハイパーパラメータの定義付けおよび/または調整、機械学習処理に対する他のガイダンスの提供、またはそれらの組合せなどの、機械学習処理に影響を与える他の選択をユーザが行うことを可能にし得る。いくつかの実施形態では、ユーザインターフェースは、ユーザへの提示のための、例えば、機械学習パイプラインの視覚的表現などの、機械学習処理の視覚的表現を提供する。
【0038】
ラベリングモジュール320は、データセットに機械学習アプリケーション300のラベリング関数を適用することによって、データセットからラベルタイムを生成する。それぞれのラベルタイムは、ラベルおよびラベルに関連付けられたカットオフタイムを含む。ラベルは、予測対象の過去の例である。ラベルは、トレーニングモジュール340によって実行される教師あり機械学習処理において対象として使用されるだろう。カットオフタイムは、ラベルについて特徴付けを行うためのデータを使用することを終了する時を示す。予測が、毎月1日に顧客が解約するかどうかという例では、カットオフタイムは、ラベルタイムテーブルに示されるように、毎月1日である。それぞれのラベルの全ての特徴は、データ漏れを防ぐため、この時間より前のデータを使用すべきである。
【0039】
いくつかの実施形態では、ラベリングモジュール320は、ユーザインターフェースを通じてユーザから受信され得るラベリング関数のカスタマイズ可能なパラメータの値に基づいて、ラベリング関数をカスタマイズする。ユーザによって提供された値は、モデルがトレーニングされるべき、産業課題の範囲内にある特定の予測に特有であることが可能である。ユーザは、モデルがトレーニングされる特定の予測の知識を持っているため、ラベリングモジュール320は、トレーニングされるモデルが、ユーザによって求められる特定の予測に合わせられるように、ユーザのそのような知識を組み込む。
【0040】
特徴エンジニアリングモジュール330は、カットオフタイムの前のタイムスタンプに関連付けられたデータセット内のデータに基づいて、特徴を生成する。特徴は、例えば、ユーザインターフェースを通じて、ユーザによってデータセット内の変数にマッピングされた、機械学習アプリケーション300内の標準特徴であり得る。特徴はまた、特徴エンジニアリングモジュール330によってデータセットから抽出され得る。例えば、特徴エンジニアリングモジュール330は、ユーザによって標準特徴のいずれにもマッピングされていないデータセット内の変数を識別し、変数から特徴を生成する。
【0041】
特徴を抽出するために、特徴エンジニアリングモジュール330は、機械学習アプリケーション300によって維持されるプリミティブのプールから1つまたは複数のプリミティブを選択し得る。プリミティブのプールは、数百または数千のプリミティブなどの、多数のプリミティブを含む。それぞれのプリミティブは、データに適用された場合に、データ上の計算を実行し、関連付けられた値を有する特徴を生成するアルゴリズムを含む。プリミティブは、1つまたは複数の属性に関連付けられる。プリミティブの属性は、プリミティブの記述(例えば、データに適用された場合にプリミティブによって実行される計算を指定する自然言語記述)、入力種類(すなわち、入力データの種類)、戻り種類(すなわち、出力データの種類)、以前の特徴エンジニアリング処理においてプリミティブがどの程度有用であったかを示すプリミティブのメタデータ、またはその他の属性であり得る。
【0042】
いくつかの実施形態では、プリミティブのプールは、多様な異なる種類のプリミティブを含む。プリミティブの1つの種類は、集約プリミティブ(aggregation primitive)である。データセットに適用された場合、集約プリミティブは、データセット内の関連するデータを識別し、関連するデータの決定を実行し、および、決定を要約したおよび/または集約した値を作成する。例えば、集約プリミティブ「カウント」は、データセットの関連する行の値を識別し、値のそれぞれが非ヌル値であるかどうかを決定し、および、データセットの行の非ヌル値の数のカウントを返す(出力する)。別の種類のプリミティブは、変換プリミティブである。データセットに適用された場合、変換プリミティブは、データセット内の既存の1つまたは複数の変数から、新しい変数を作成する。例えば、変換プリミティブ「週末」は、データセット内のタイムスタンプを評価し、タイムスタンプによって示される日付が週末に当たるかどうかを示すバイナリ値(例えば、真または偽)を返す。別の例示的な変換プリミティブは、タイムスタンプを評価し、指定された日付までの日数(例えば、特定の休日までの日数)を示すカウント値を返す。
【0043】
特徴エンジニアリングモジュール330は、データセットに基づいてプリミティブのセットを選択する。いくつかの実施形態では、特徴エンジニアリングモジュール330は、スキムビューアプローチ(skim view approach)、サマリービューアプローチ(summary view approach)、またはその両方を使用して、プリミティブを選択する。スキムビューアプローチでは、特徴エンジニアリングモジュール330は、データセットの1つまたは複数のセマンティック表現を識別する。データセットのセマンティック表現は、データセットの特性を記述し、データセット内のデータ上の計算を実行することなく取得される。データセットのセマンティック表現の例は、データセット内の1つまたは複数の特定の変数(例えば、列の名前)の存在、列の数、行の数、データセットの出力種類、データセットの他の属性、およびそれらの組合せを含む。スキムビューアプローチを使用してプリミティブを選択するために、特徴エンジニアリングモジュール330は、データセットの識別されたセマンティック表現が、プール内のプリミティブの属性と合致するかどうかを決定する。合致する場合、特徴エンジニアリングモジュール330は、プリミティブを選択する。
【0044】
スキムビューアプローチは、ルールベースの分析である。データセットの識別されたセマンティック表現が、プリミティブの属性と合致するかどうかの決定は、特徴エンジニアリングアプリケーション200によって維持されたルールに基づいている。ルールは、例えば、データセットのセマンティック表現のキーワードのマッチングおよびプリミティブの属性に基づいて、どのデータセットのセマンティック表現が、どのプリミティブの属性に合致するかを指定する。1つの例では、データセットのセマンティック表現は、列名「生年月日」であり、特徴エンジニアリングモジュール330は、データセットのセマンティック表現に合致する入力種類が「生年月日」であるプリミティブを選択する。別の例では、データセットのセマンティック表現は、列名「タイムスタンプ」であり、特徴エンジニアリングモジュール330は、プリミティブがタイムスタンプを示すデータとの使用に適切であることを示す属性を有するプリミティブを選択する。
【0045】
サマリービューアプローチでは、特徴エンジニアリングモジュール330は、データセットから代表ベクトルを生成する。代表ベクトルは、データセット内のテーブルの数、テーブル毎の列の数、それぞれの列の平均数、および、それぞれの行の平均数を示すデータなどの、データセットを記述するデータを符号化する。代表ベクトルはそれゆえ、データセットのフィンガープリントとしての役割を果たす。フィンガープリントは、データセットのコンパクトな表現であり、ハッシュ関数、ラビンのフィンガープリントアルゴリズム(Rabin's fingerprinting algorithm)、または他の種類のフィンガープリント関数などの、1つまたは複数のフィンガープリント関数を、データセットに適用することにより生成され得る。
【0046】
特徴エンジニアリングモジュール330は、代表ベクトルに基づいてデータセットのプリミティブを選択する。例えば、特徴エンジニアリングモジュール330は、データセットの代表ベクトルを機械学習されたモデルへ入力する。機械学習されたモデルは、データセットに対するプリミティブを出力する。機械学習されたモデルは、例えば、特徴エンジニアリングモジュール330によって、代表ベクトルに基づいてデータセットのプリミティブを選択するようにトレーニングされる。それは、複数のトレーニングデータセットの複数の代表ベクトル、および、複数のトレーニングデータセットのそれぞれに対するプリミティブのセットを含む、トレーニングデータに基づいてトレーニングされ得る。複数のトレーニングデータセットのそれぞれに対するプリミティブのセットは、対応するトレーニングデータセットに基づいて予測を行うために有用であると決定された特徴を生成するために使用されている。いくつかの実施形態では、機械学習されたモデルは、継続的にトレーニングされる。例えば、特徴エンジニアリングモジュール330は、データセットの代表ベクトルおよび選択されたプリミティブの少なくともいくつかに基づいて、機械学習されたモデルをさらにトレーニングすることが可能である。
【0047】
特徴エンジニアリングモジュール330は、選択されたプリミティブおよびデータセットに基づいて、複数の特徴を合成する。いくつかの実施形態では、特徴エンジニアリングモジュール330は、選択されたプリミティブのそれぞれを、データセットの少なくとも一部に適用して、1つまたは複数の特徴を合成する。例えば、特徴エンジニアリングモジュール330は、「週末」プリミティブを、データセット内の列名「タイムスタンプ」に適用して、ある日付が週末であるか否かを示す特徴を合成する。特徴エンジニアリングモジュール330は、数百または数百万の特徴などの、データセットの多数の特徴を合成することが可能である。
【0048】
特徴エンジニアリングモジュール330は、特徴を評価し、特徴のグループを取得するために、評価に基づいて特徴のいくつかを除去する。いくつかの実施形態では、特徴エンジニアリングモジュール330は、反復的な処理を通じて特徴を評価する。反復のそれぞれのラウンドでは、特徴エンジニアリングモジュール330は、以前の反復によって除去されなかった特徴(「残りの特徴」とも呼ばれる)を、データセットの異なる部分に適用し、特徴のそれぞれについて有用性スコアを決定する。特徴エンジニアリングモジュール330は、残りの特徴から有用性スコアが最も低いいくつかの特徴を除去する。いくつかの実施形態では、特徴エンジニアリングモジュール330は、ランダムフォレストを使用して特徴の有用性スコアを決定する。
【0049】
特徴エンジニアリングモジュール330は、特徴(マッピングされた標準特徴および/またはマッピングされていない変数から生成された特徴)をランク付けし、それぞれの特徴についてランク付けスコアを決定する。特徴のランク付けスコアは、特徴が目標変数を予測するのにどれだけ重要か、言い換えると、特徴が予測因子としてどれだけ優れているか、を示す。いくつかの実施形態では、特徴エンジニアリングモジュール330は、特徴およびデータセットに基づいてランダムフォレストを構築する。特徴エンジニアリングモジュール330は、ランダムフォレストにおけるそれぞれの決定木に基づいて特徴のランク付けスコアを決定し、特徴のランク付けスコアとして、個々のランク付けスコアの平均を取得する。特徴エンジニアリングモジュール330は、それぞれの決定木の一部としてGINI不純度(GINI impurity)を使用し、特徴が予測モデル全体にどの程度寄与するかを測定し得る。ランダムフォレストを使用することにより決定された特徴のランク付けスコアは、特徴が他の特徴に関してどれだけ重要かを示し、「相対的ランク付けスコア」と呼ばれる。1つの例では、ランク付けモジュール330は、最も高くランク付けされた選択された特徴の相対的ランク付けスコアが1であると決定する。ランク付けモジュール330は、その後、最も高くランク付けされた特徴のランク付けスコアに対する残りの特徴のそれぞれのランク付けスコアの比率を、対応する選択された特徴の相対的ランク付けスコアとして決定する。
【0050】
特徴エンジニアリングモジュール330は、それぞれの選択された特徴について絶対的なランク付けスコアを、例えば、グッドマン-クルスカルのタウ(Goodman-Kruskal Tau)(GKT)尺度に基づいて、決定し得る。GKT尺度は、居所的または絶対的な関連性の尺度であり、特徴がどの程度対象を予測するかを示す。特徴エンジニアリングモジュール330は、それらの相対的ランク付けスコアおよび/または絶対的なランク付けスコアに基づいて特徴のグループのサブセットを、モデルをトレーニングする特徴として、選択し得る。
【0051】
特徴エンジニアリングモジュール330はまた、例えば、選択された特徴の相対的および/または絶対的なランク付けスコアに基づいて、それぞれの選択された特徴についての重要度係数を決定する。重要度係数は、対象予測に対してどれだけ重要/関連があるかを示す。特徴エンジニアリングモジュール330はまた、例えば、カットオフタイム前のタイムスタンプに関連付けられたデータセット内の対応するデータに変換器を適用することによって、選択されたそれぞれの特徴の値を生成する。特徴エンジニアリングモジュール330は、選択された特徴、それらの重要度係数、およびそれらの値(「特徴マトリクス」と総称する)を、モデルをトレーニングするためにトレーニングモジュール340に送信する。
【0052】
トレーニングモジュール340は、機械学習アプリケーション300のそれぞれの機械学習パイプラインを使用して、ラベリングモジュール320からのラベルおよび特徴エンジニアリングモジュール330からの特徴マトリクスに基づいて、モデルをトレーニングする。
【0053】
モデルをトレーニングする処理では、トレーニングモジュール340は、欠損値を検出し得、値を供給するためにデータ代入を実行し得る。いくつかの実施形態では、トレーニングモジュール340は、現在の値に基づいて欠損値を取り換えるために新しい値を決定する。例えば、欠損値を有するそれぞれの特徴またはラベルについて、トレーニングモジュール340は、欠損値を、現在の値の平均もしくは中間、最頻出の値、または新しいデータサンプルからの値、と取り換える。トレーニングモジュール340は、k-最近傍(K-Nearest Neighbor)(kNN)代入法、ホットデック補定法(hot deck imputation)、コールドデック補定法(cold deck imputation)、回帰代入法(regression imputation)、確率的回帰代入法(Stochastic regression imputation)、外挿および内挿(extrapolation and interpolation)、単一値代入法(single imputation)、多重代入(multiple imputation)、連鎖方程式による多変量補定法(Multivariate Imputation by Chained Equation)(MICE)、ディープニューラルネットワークを使用する代入(imputation using Deep Neural Networks)などの他の代入法を使用し得る。
【0054】
トレーニングモジュール340はまた、例えば、特徴の値を正規化または標準化することによって、特徴のスケーリングを実行し得る。いくつかの実施形態では、トレーニングモジュール340は、特徴の重要度係数に基づいて特徴の値域をスケーリングする。例えば、より高い重要度係数を有する特徴の値域は、より低い重要度係数を有する別の特徴の値域よりも、より高くスケーリングされる。特徴が他の特徴よりも比較的高い値域を有する場合、トレーニングモジュールは、トレーニング処理中に特徴が他の特徴よりも優位になるのを避けるために、特徴の値域を減少し得る。トレーニングモジュール340は、例えば、最小最大スケーラー(Min Max Scaler)、標準スケーラー(Standard Scaler)、最大Absスケーラー(Max Abs Scaler)、ロバストスケーラー(Robust Scaler)、分位変換スケーラー(Quantile Transformer Scaler)、パワートランスフォーマースケーラー(Power Transformer Scaler)、単位ベクトルスケーラー(Unit Vector Scaler)などの、特徴のスケーリングに様々な方法を使用することが可能である。
【0055】
トレーニングモジュール340はまた、分類を実装するアルゴリズムを取得する。トレーニングモジュール340は、候補アルゴリズムのプールからアルゴリズムを選択し得る。候補アルゴリズムの例は、例えば、決定木、ロジスティック回帰、ランダムフォレスト、XGブースト(XGBoost)、線形サポートベクターマシーン(線形SVM)、Adaブースト(AdaBoost)、ニューラルネットワーク、ナイーブベイズ、記憶ベース学習(memory-based learning)、ランダムフォレスト、バギング木(bagged trees)、ブースト木(boosted trees)、ブーストスタンプ(boosted stumps)など、を含む。いくつかの実施形態では、トレーニングモジュール340は、利用可能な情報、例えば、モデルをトレーニングするための時間制限、計算リソース制限(例えば、プロセッサ制限、メモリ使用制限など)、解決すべき予測課題、データセットの特性、選択された特徴、などに基づいて、プール内の候補アルゴリズムの数を制約し得る。トレーニングモジュール340は、それぞれの候補アルゴリズムをテストし得、最良のものを選択し得る。
【0056】
トレーニングモジュール340は、分類アルゴリズムを使用することによってモデルをトレーニングする。機械学習アプリケーションには複数の機械学習パイプラインがあるため、トレーニングモジュール340は、複数のモデルをトレーニングする。
【0057】
ランク付けモジュール350は、複数のトレーニングされたモデルをランク付けする。いくつかの実施形態では、ランク付けモジュール350は、性能尺度(例えば、分類精度)に関連付けられたテストハーネスを定義し、トレーニングされたモデルの性能を評価する。例えば、ランク付けモジュール350は、トレーニングされたモデルをテストセットに適用して、トレーニングされたモデルの精度を定量化する。テストセットは、モデルをトレーニングするのに使用したデータとは異なるデータを含む。いくつかの実施形態では、機械学習アプリケーション300は、ラベルおよび特徴マトリクスを、トレーニングセットおよびテストセットに分割する。トレーニングセットは、モデルをトレーニングするためにトレーニングモジュール340に提供され、テストセットは、モデルをランク付けするためにランク付けモジュール350に提供される。
【0058】
精度測定に適用される一般的な指標は、以下を含む。
正確さ=TP/(TP+FP)および再現率=TP/(TP+FN)、ここで正確さは、モデルが予測した総数(TP+FPまたは偽陽性)のうち、モデルが正しく予測した結果(TPまたは真陽性)の数であり、再現率は、モデルが実際に発生した総数(TP+FNまたは偽陰性)のうち、モデルが正しく予測した結果(TP)の数である。Fスコア(F-score=2PR/(P+R))は、正確さおよび再現率を1つの尺度に統合する。
【0059】
テストハーネスに対してトレーニングされたモデルをテストした結果は、性能尺度に対してトレーニングされたモデルが予測課題でどのように実行したかを推定する。ランク付けモジュール350は、それぞれのトレーニングされたモデルについてランク付けスコアを決定し得、ランク付けスコアは、トレーニングされたモデルの測定された性能および/または精度を示す。ランク付けモジュール350は、ランク付けに基づいて、トレーニングされたモデルのうちの1つ、例えば、最良の性能を有するトレーニングモデルを選択する。
【0060】
ランク付けモジュール370はそして、選択されたトレーニングされたモデルを展開し、選択されたトレーニングされたモデルは、新しい値に基づいて予測を行うために使用されることが可能である。いくつかの実施形態では、ランク付けモジュール370は、コンピュータシステム、例えば、産業課題に関連付けられた産業の組織のサーバ、のデータベースにアーチファクトを送信する。アーチファクトは、機械学習処理によって作成された出力であり、例えば、選択されたトレーニングされたモデル、他のトレーニングされたモデル、モデルチェックポイント、特徴、ラベルなどを含む。コンピュータシステムはさらに、選択されたトレーニングされたモデルが新しい値に基づいて予測を行うために使用される他のコンピュータシステムへ、選択されたトレーニングされたモデルを提供する。
【0061】
データベース360は、機械学習アプリケーション300によって受信され、使用され、および生成されるデータなどの、機械学習アプリケーション300と関連付けられたデータを格納する。例えば、データベース360は、データセット、標準特徴、特徴マトリクス、変換器、ラベルタイム、トレーニングセット、テストセット、機械学習パイプライン、それぞれの機械学習パイプラインのステップにおいてなされた決定、アルゴリズム、ハイパーパラメータ、トレーニングされたモデル、トレーニングされたモデルのランク付けスコア、などを格納する。
【0062】
図4AからCは、一実施形態による産業特定機械学習アプリケーション300を使用して、データセットからモデルをトレーニングすることを示す図である。図4Aでは、データセット410が、ラベリングモジュール320へ入力され、ラベリングモジュール320が、ラベルタイムテーブル420を出力する。ラベルタイムテーブル420は、それぞれがカットオフタイムに関連付けられたラベルを含む。
【0063】
図4Bでは、特徴生成データ430は、特徴エンジニアリングモジュール320へ入力され、特徴マトリクス440を出力する。特徴生成データ430は、カットオフタイムの前のタイムスタンプに関連付けられたデータセット内の、データの一部または全てを含む。特徴マトリクス440は、複数の特徴、特徴の値、および特徴の重要度係数を含む。複数の特徴のいくつかは、機械学習アプリケーション300に含まれる標準特徴であり、ユーザに対して機械学習アプリケーション300によって提供され、および、ユーザによってデータセット内の変数にマッピングされる。
【0064】
図4Cでは、特徴マトリクス440、ラベルタイムテーブル420からのラベル値425、および、機械学習パイプライン450が、トレーニングモジュール340へ入力される。機械学習パイプライン450は、インピュータ453、スケーラー455および分類器457を含む。機械学習パイプライン450は、機械学習アプリケーション300の複数の機械学習パイプラインのうちの1つである。複数の機械学習パイプラインは、産業課題に特有である。トレーニングモジュール340は、機械学習パイプライン450を使用してモデル460をトレーニングする:トレーニングモジュール340は、インピュータ453を使用して、欠損値を検出し、欠損値のために新しい値を供給する;トレーニングモジュール340は、スケーラー455を使用して、特徴の値域をスケーリングする。そして、トレーニングモジュール340は、分類器457を使用して、教師あり機械学習を実行する。
【0065】
トレーニングモジュール340はまた、機械学習アプリケーション300の他の機械学習パイプラインのそれぞれを使用して、トレーニングされたモデルを生成する。いくつかの実施形態では、それらトレーニングされたモデルは、それらの予測性能に基づいてランク付けされ、最良の性能を有すると決定されたトレーニングされたモデルは、展開され、新しいデータに基づいて予測を行うために使用される。
【0066】
図5は、一実施形態による産業課題に対する予測を行うためのモデルを生成するための方法500を示すフローチャートである。いくつかの実施形態では、方法は、機械学習アプリケーション160によって実行されるが、他の実施形態では、方法による操作のいくつかまたは全てが、他のエンティティによって実行され得る。いくつかの実施形態では、フローチャート内の操作は、異なる順序で実行され、異なるおよび/または追加のステップを含む。
【0067】
機械学習アプリケーション160は、モデルを生成するためのデータセットを受信する(510)。データセットは、ユーザに関連付けられたクライアントデバイスから、または例えば、図1のデータソース120のうちの1つの、データソースから受信されることが可能である。機械学習アプリケーション160は、産業課題に基づいて、複数の機械学習アプリケーションから選択される。複数の機械学習アプリケーションのそれぞれは、種々の産業課題に対応し、対応する産業課題に特有の標準特徴および対応する産業課題に特有の機械学習パイプラインを含む。例示的な産業課題は、アプリケーションの監視、サービスレベル合意違反の検出、ユーザの行動予測などを含む。
【0068】
いくつかの実施形態では、標準特徴は、産業課題に基づいて、機械学習サーバ110によって、事前に生成されているおよび/または選択されている。標準特徴は、産業課題を解決するモデルの過去のトレーニングで重要であると証明された特徴、産業課題を解決するモデルのトレーニングに使用されるデータセットの一般的な変数、産業課題に論理的に関連する特徴、またはそれらの組み合わせであることが可能である。
【0069】
いくつかの実施形態では、機械学習パイプラインは、産業課題のドメインに基づいて、機械学習サーバ110によって事前に生成されている。例えば、機械学習サーバ110は産業課題の記述に基づいて、産業課題のドメインを識別する。ドメインは、ビジネスに関連付けられる。機械学習サーバ110は、識別されたドメインに基づいて、複数の目的関数から目的関数を選択した。複数の目的関数のそれぞれは、それぞれのドメインに特有であり、それぞれのドメインにおける予測のための最適な機械学習パイプラインを選択するために使用される。機械学習サーバ110はそして、目的関数を機械学習パイプラインのプールに適用して、機械学習パイプラインのプールからそれぞれの機械学習アプリケーションの機械学習パイプラインを選択する。
【0070】
機械学習アプリケーション160は、ユーザに関連付けられたクライアントデバイスへの表示のために、機械学習アプリケーション内の標準特徴を提供する(520)。いくつかの実施形態では、機械学習アプリケーション160は、520ユーザインターフェースに標準特徴を、提供する。ユーザインターフェースは、クライアントデバイスに関連付けられたユーザが、データセット内の変数を、選択された機械学習アプリケーション内の標準特徴にマッピングすることを可能にする。いくつかの実施形態では、ユーザインターフェースは、ユーザが、データセット内の1つの変数を1つの標準特徴にマッピングすること、データセット内の複数の変数を1つの標準特徴にマッピングすること、および/または、データセット内の1つの変数を複数の標準特徴にマッピングすることを可能にする。
【0071】
機械学習アプリケーション160は、クライアントデバイスから、および標準特徴を提供することに応答して、選択された機械学習アプリケーション内の標準特徴に対する、データセット内の変数のマッピングを受信する(530)。例えば、機械学習サーバ110は、ユーザの、変数「ユーザ名」の標準特徴「ID」に対するマッピングを受信する。機械学習サーバ110がマッピングを受信した後に、機械学習サーバ110は、変数の値を新しい値へ、標準特徴の値として変換し得る。例えば、変数「ユーザ名」が、ユーザの名前を表す複数のテキスト文字列を含む場合、機械学習サーバは、テキスト文字列を標準特徴「ID」の値として数値に変換する。
【0072】
機械学習アプリケーション160は、機械学習アプリケーション160の機械学習パイプラインをデータセットに適用して、少なくともマッピングに基づいて複数のモデルをトレーニングする(540)。それぞれの機械学習パイプラインは、トレーニング処理のステップを指定する。いくつかの実施形態では、トレーニング処理は、データ代入、特徴スケーリング、および分類を含む。
【0073】
いくつかの実施形態では、機械学習アプリケーション160は、データセット内の1つまたは複数の変数にマッピングされた選択された機械学習アプリケーション内の1つまたは複数の標準特徴、および、1つまたは複数の他の特徴を含む、複数の特徴を生成する。機械学習アプリケーション160は、標準特徴のいずれにもマッピングされていないデータセット内の変数から、1つまたは複数の他の特徴を抽出する。そのような特徴を抽出するために、機械学習アプリケーション160は、標準特徴のプールのいずれにもマッピングされていないデータセット内の変数を識別し、識別された変数に基づいてプリミティブのプールからプリミティブを選択し、変数にプリミティブを適用することが可能である。
【0074】
機械学習アプリケーション160は、複数のトレーニングされたモデルをランク付けする(550)。いくつかの実施形態では、機械学習アプリケーション160は、570性能尺度(例えば、分類精度)に関連付けられたテストハーネスを定義し、それらの性能に基づいてトレーニングされたモデルをランク付けすることによって、トレーニングされたモデルをランク付けする。それぞれのトレーニングされたモデルの性能は、トレーニングされたモデルにテストセットを入力し、トレーニングされたモデルの出力をテストセットに関連付けられた公知の予測結果と比較することによって測定することが可能である。
【0075】
機械学習アプリケーション160は、ランク付けに基づいて、複数のトレーニングされたモデルから生成されたモデルを選択する(560)。選択されたトレーニングされたモデルは、新しいデータで予測を行うために使用される。
【0076】
図6は、一実施形態による、図1の機械学習サーバ110として使用するための典型的なコンピュータシステム600の機能図を示す高レベルのブロック図である。
【0077】
図示のコンピュータシステムは、チップセット604に結合された少なくとも1つのプロセッサ602を含む。プロセッサ602は、同じダイ上に複数のプロセッサコアを含むことが可能である。チップセット604は、メモリコントローラハブ620および入出力(I/O)コントローラハブ622を含む。メモリ606およびグラフィックスアダプタ612は、メモリコントローラハブ620に結合され、ディスプレイ618は、グラフィックスアダプタ612に結合される。ストレージデバイス608、キーボード610、ポインティングデバイス614、およびネットワークアダプタ616は、I/Oコントローラハブ622に結合され得る。いくつかの他の実施形態では、コンピュータシステム600は、追加の、より少ない、または異なるコンポーネントを有し得、コンポーネントは、別々に結合され得る。例えば、コンピュータシステム600の実施形態は、ディスプレイおよび/またはキーボードを欠き得る。さらに、コンピュータシステム600は、いくつかの実施形態では、ラックマウントブレードサーバとして、またはクラウドサーバインスタンスとしてインスタンス化され得る。
【0078】
メモリ606は、プロセッサ602によって使用される命令およびデータを保持する。いくつかの実施形態では、メモリ606はランダムアクセスメモリである。ストレージデバイス608は、非一時的コンピュータ可読記憶媒体である。ストレージデバイス608は、HDD、SSD、または他の種類の非一時的コンピュータ可読記憶媒体であることが可能である。機械学習サーバ110によって処理および分析されたデータは、メモリ606および/またはストレージデバイス608に格納されることが可能である。
【0079】
ポインティングデバイス614は、マウス、トラックボール、または他の種類のポインティングデバイスであり、コンピュータシステム600にデータを入力するためにキーボード610と組み合わせて使用され得る。グラフィックスアダプタ612は、ディスプレイ618上に画像および他の情報を表示する。いくつかの実施形態では、ディスプレイ618は、ユーザ入力および選択を受信するためのタッチスクリーン機能を含む。ネットワークアダプタ616は、コンピュータシステム600をネットワーク160に接続する。
【0080】
コンピュータシステム600は、本明細書に記載される機能を提供するためのコンピュータモジュールを実行するように適合される。本明細書で使用されるように、用語「モジュール」は、特定の機能を提供するためのコンピュータプログラム命令および他のロジックを指す。モジュールは、ハードウェア、ファームウェア、および/またはソフトウェアで実装されることが可能である。モジュールは、1つまたは複数のプロセスを含むこと、および/または処理の一部のみによって提供されることが可能である。モジュールは、通常、ストレージデバイス608に格納され、メモリ606にロードされ、プロセッサ602によって実行される。
【0081】
コンポーネントの特定の命名、用語の大文字化、属性、データ構造、または任意の別のプログラミングまたは構造の側面は、必須でも重要でもなく、記載された実施形態を実装するメカニズムは、異なる名前、フォーマット、またはプロトコルを有し得る。さらに、システムは、記載されたように、ハードウェアおよびソフトウェアの組み合わせを介して、または完全にハードウェア要素で実装され得る。また、本明細書に記載された様々なシステムコンポーネント間の機能の特定の分割は、単なる例示であり、必須ではなく、単一のシステムコンポーネントによって実行される機能は、代わりに、複数のコンポーネントによって実行され得、複数のコンポーネントによって実行される機能は、代わりに、単一のコンポーネントによって実行され得る。
【0082】
上記の説明のいくつかの部分は、情報に対する操作のアルゴリズムおよび記号表現に関する特徴を提示する。これらのアルゴリズム的な説明および表現は、データ処理技術の当業者が、その作業の内容を他の当業者に最も効果的に伝えるために使用する手段である。これらの操作は、機能的または論理的に記載されているが、コンピュータプログラムによって実装されると理解される。さらに、一般性を失うことなく、これらの操作の配置をモジュールまたは機能名として参照することも、時には便利であることが証明されている。
【0083】
上記の議論から明らかなように特に言及されない限り、説明全体を通して、「処理」または「計算」または「計算する」または「決定する」または「表示する」などの用語を利用する議論は、コンピュータシステムメモリまたはレジスタまたは他のそのような情報ストレージ、トランスミッションまたはディスプレイデバイス内の物理的(電子的)量として表されるデータを操作および変換する、コンピュータシステムまたは同様の電子計算デバイスの動作および処理を指すことが理解される。
【0084】
本明細書に記載される特定の実施形態は、アルゴリズムの形式で記載される処理ステップおよび命令を含む。実施形態の処理ステップおよび命令は、ソフトウェア、ファームウェアまたはハードウェアで実施されることが可能であり、ソフトウェアで実施される場合、リアルタイムネットワークオペレーティングシステムによって使用される異なるプラットフォーム上に存在し、そこから動作されるようにダウンロードされることが可能であることに留意されたい。
【0085】
最後に、本明細書で使用される言語は、主として、読みやすさおよび教育目的のために選択されており、本発明の主題を描写または限定するために選択され得ないことに留意されたい。したがって、実施形態の開示は例示を意図しており、限定を意図しない。
図1
図2
図3
図4A
図4B
図4C
図5
図6
【手続補正書】
【提出日】2024-01-18
【手続補正1】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
産業課題に対する予測を行うためのモデルを生成するためのコンピュータ実装方法であって、
機械学習アプリケーションによって、モデルを生成するためのデータセットを受信することであって、前記機械学習アプリケーションは、前記産業課題に基づいて複数の機械学習アプリケーションから選択され、前記複数の機械学習アプリケーションのそれぞれは、種々の産業課題に対応し、対応する前記産業課題に特有の標準特徴および対応する前記産業課題に特有の機械学習パイプラインを含む、ことと、
ユーザに関連付けられたクライアントデバイスへの表示のために、前記機械学習アプリケーション内の前記標準特徴を提供することと、
前記クライアントデバイスから、および、前記標準特徴を提供することに応答して、選択された前記機械学習アプリケーション内の標準特徴に対する、前記データセット内の変数のマッピングを受信することと、
選択された前記機械学習アプリケーションの前記機械学習パイプラインを前記データセットに適用して、少なくとも前記マッピングに基づいて複数のモデルをトレーニングすることと、
トレーニングされた前記複数のモデルをランク付けすることと、
前記ランク付けに基づいて、トレーニングされた前記複数のモデルから生成されたモデルを選択することと、
を備える、コンピュータ実装方法。
【請求項2】
前記機械学習アプリケーションによって、前記ユーザに関連付けられた前記クライアントデバイスへの表示のために、前記機械学習アプリケーション内の前記標準特徴を提供することは、
前記機械学習アプリケーションによって、前記機械学習アプリケーション内の前記標準特徴を、ユーザインターフェースへの表示のために提供することであって、前記ユーザインターフェースは、前記ユーザが、前記機械学習アプリケーション内の前記標準特徴に、前記データセット内の変数をマッピングすることを可能にする、こと、
を備える、請求項1に記載のコンピュータ実装方法。
【請求項3】
選択された前記機械学習アプリケーションの前記機械学習パイプラインを前記データセットに適用して、少なくとも前記マッピングに基づいて複数のモデルをトレーニングすることは、
前記データセット内の1つまたは複数の前記変数にマッピングされた、選択された前記機械学習アプリケーション内の1つまたは複数の標準特徴、および、1つまたは複数の他の特徴、を含む複数の特徴を生成することであって、1つまたは複数の前記他の特徴は、選択された前記機械学習アプリケーションの標準特徴のいずれにもマッピングされていない前記データセット内の1つまたは複数の他の変数から抽出される、こと、
を備える、請求項1に記載のコンピュータ実装方法。
【請求項4】
前記データセット内の1つまたは複数の前記変数にマッピングされた1つまたは複数の標準特徴および1つまたは複数の他の特徴を含む複数の特徴を生成することは、
選択された前記機械学習アプリケーションの標準特徴のいずれにもマッピングされていない前記データセット内の変数を識別することと、
識別された前記変数に基づいてプリミティブのプールからプリミティブを選択することであって、前記プリミティブは、変数を特徴に変換する関数を備える、ことと、
前記プリミティブを前記変数に適用して、1つまたは複数の前記他の特徴のうちの1つを生成することと、
を備える、請求項3に記載のコンピュータ実装方法。
【請求項5】
ラベリング関数を前記データセットに適用して、ラベルタイムを生成することであって、それぞれのラベルタイムは、ラベルおよび前記ラベルに関連付けられたカットオフタイムを含む、こと、
をさらに備える、請求項1に記載のコンピュータ実装方法。
【請求項6】
前記ラベリング関数は、前記機械学習アプリケーションに含まれ、選択された前記機械学習アプリケーションに対応する前記産業課題に特有である、
請求項5に記載のコンピュータ実装方法。
【請求項7】
前記ラベリング関数は、カスタマイズ可能なパラメータを備え、前記方法は、
前記クライアントデバイスから前記カスタマイズ可能なパラメータの値を受信することであって、前記値は、前記産業課題の範囲内の予測に固有である、ことと、
受信された前記値に基づいて、前記ラベリング関数をカスタマイズすることと、
をさらに備える、請求項5に記載のコンピュータ実装方法。
【請求項8】
実行可能なコンピュータプログラム命令を格納する非一時的コンピュータ可読メモリであって、産業課題に対する予測を行うためのモデルを生成するための操作を実行する前記実行可能な命令は、
機械学習アプリケーションによって、前記モデルを生成するためのデータセットを受信することであって、前記機械学習アプリケーションは、前記産業課題に基づいて複数の機械学習アプリケーションから選択され、前記複数の機械学習アプリケーションのそれぞれは、種々の産業課題に対応し、対応する前記産業課題に特有の標準特徴および対応する前記産業課題に特有の機械学習パイプラインを含む、ことと、
ユーザに関連付けられたクライアントデバイスへの表示のために、前記機械学習アプリケーション内の前記標準特徴を提供することと、
前記クライアントデバイスから、および、前記標準特徴を提供することに応答して、選択された前記機械学習アプリケーション内の標準特徴に対する、前記データセット内の変数のマッピングを受信することと、
選択された前記機械学習アプリケーションの前記機械学習パイプラインを前記データセットに適用して、少なくとも前記マッピングに基づいて複数のモデルをトレーニングすることと、
トレーニングされた前記複数のモデルをランク付けすることと、
前記ランク付けに基づいて、トレーニングされた前記複数のモデルから生成されたモデルを選択することと、
を備える、非一時的コンピュータ可読メモリ。
【請求項9】
前記機械学習アプリケーションによって、前記ユーザに関連付けられた前記クライアントデバイスへの表示のために、前記機械学習アプリケーション内の前記標準特徴を提供することは、
前記機械学習アプリケーションによって、前記機械学習アプリケーション内の前記標準特徴を、ユーザインターフェースへの表示のために提供することであって、前記ユーザインターフェースは、前記ユーザが、前記機械学習アプリケーション内の前記標準特徴に、前記データセット内の変数をマッピングすることを可能にする、こと、
を備える、請求項8に記載の非一時的コンピュータ可読メモリ。
【請求項10】
選択された前記機械学習アプリケーションの前記機械学習パイプラインを前記データセットに適用して、少なくとも前記マッピングに基づいて複数のモデルをトレーニングすることは、
前記データセット内の1つまたは複数の前記変数にマッピングされた、選択された前記機械学習アプリケーション内の1つまたは複数の標準特徴、および、1つまたは複数の他の特徴、を含む複数の特徴を生成することであって、1つまたは複数の前記他の特徴は、選択された前記機械学習アプリケーションの標準特徴のいずれにもマッピングされていない前記データセット内の1つまたは複数の他の変数から抽出される、こと、
を備える、請求項8に記載の非一時的コンピュータ可読メモリ。
【請求項11】
前記データセット内の1つまたは複数の前記変数にマッピングされた1つまたは複数の標準特徴および1つまたは複数の他の特徴を含む複数の特徴を生成することは、
選択された前記機械学習アプリケーションの標準特徴のいずれにもマッピングされていない前記データセット内の変数を識別することと、
識別された前記変数に基づいてプリミティブのプールからプリミティブを選択することであって、前記プリミティブは、変数を特徴に変換する関数を備える、ことと、
前記プリミティブを前記変数に適用して、1つまたは複数の前記他の特徴のうちの1つを生成することと、
を備える、請求項10に記載の非一時的コンピュータ可読メモリ。
【請求項12】
前記操作は、
ラベリング関数を前記データセットに適用して、ラベルタイムを生成することであって、それぞれのラベルタイムは、ラベルおよび前記ラベルに関連付けられたカットオフタイムを含む、こと、
をさらに備える、請求項8に記載の非一時的コンピュータ可読メモリ。
【請求項13】
前記ラベリング関数は、前記機械学習アプリケーションに含まれ、選択された前記機械学習アプリケーションに対応する前記産業課題に特有である、
請求項12に記載の非一時的コンピュータ可読メモリ。
【請求項14】
前記ラベリング関数は、カスタマイズ可能なパラメータを備え、前記操作は、
前記クライアントデバイスから前記カスタマイズ可能なパラメータの値を受信することであって、前記値は、前記産業課題の範囲内の予測に固有である、ことと、
受信された前記値に基づいて、前記ラベリング関数をカスタマイズすることと、
をさらに備える、請求項12に記載の非一時的コンピュータ可読メモリ。
【請求項15】
コンピュータプログラム命令を実行するためのコンピュータプロセッサと、
産業課題に対する予測を行うためのモデルを生成するための操作を実行する前記コンピュータプロセッサによって実行可能なコンピュータプログラム命令を格納する非一時的コンピュータ可読メモリと、を含むシステムであって、前記実行可能な命令は、
機械学習アプリケーションによって、前記モデルを生成するためのデータセットを受信することであって、前記機械学習アプリケーションは、前記産業課題に基づいて複数の機械学習アプリケーションから選択され、前記複数の機械学習アプリケーションのそれぞれは、種々の産業課題に対応し、対応する前記産業課題に特有の標準特徴および対応する前記産業課題に特有の機械学習パイプラインを含む、ことと、
ユーザに関連付けられたクライアントデバイスへの表示のために、前記機械学習アプリケーション内の前記標準特徴を提供することと、
前記クライアントデバイスから、および、前記標準特徴を提供することに応答して、選択された前記機械学習アプリケーション内の標準特徴に対する、前記データセット内の変数のマッピングを受信することと、
選択された前記機械学習アプリケーションの前記機械学習パイプラインを前記データセットに適用して、少なくとも前記マッピングに基づいて複数のモデルをトレーニングすることと、
トレーニングされた前記複数のモデルをランク付けすることと、
前記ランク付けに基づいて、トレーニングされた前記複数のモデルから生成されたモデルを選択することと、
を備えるシステム。
【請求項16】
前記機械学習アプリケーションによって、前記前記ユーザに関連付けられた前記クライアントデバイスへの表示のために、前記機械学習アプリケーション内の前記標準特徴を提供することは、
前記機械学習アプリケーションによって、前記機械学習アプリケーション内の前記標準特徴を、ユーザインターフェースへの表示のために提供することであって、前記ユーザインターフェースは、前記ユーザが、前記機械学習アプリケーション内の前記標準特徴に、前記データセット内の変数をマッピングすることを可能にする、こと、
を備える、請求項15に記載のシステム。
【請求項17】
選択された前記機械学習アプリケーションの前記機械学習パイプラインを前記データセットに適用して、少なくとも前記マッピングに基づいて複数のモデルをトレーニングすることは、
前記データセット内の1つまたは複数の前記変数にマッピングされた、選択された前記機械学習アプリケーション内の1つまたは複数の標準特徴、および、1つまたは複数の他の特徴、を含む複数の特徴を生成することであって、1つまたは複数の前記他の特徴は、選択された前記機械学習アプリケーションの標準特徴のいずれにもマッピングされていない前記データセット内の1つまたは複数の他の変数から抽出される、こと、
を備える、請求項15に記載のシステム。
【請求項18】
前記データセット内の1つまたは複数の前記変数にマッピングされた1つまたは複数の標準特徴および1つまたは複数の他の特徴を含む複数の特徴を生成することは、
選択された前記機械学習アプリケーションの標準特徴のいずれにもマッピングされていない前記データセット内の変数を識別することと、
識別された前記変数に基づいてプリミティブのプールからプリミティブを選択することであって、前記プリミティブは、変数を特徴に変換する関数を備える、ことと、
前記プリミティブを前記変数に適用して、1つまたは複数の前記他の特徴のうちの1つを生成することと、
を備える、請求項17に記載のシステム。
【請求項19】
前記操作は、
ラベリング関数を前記データセットに適用して、ラベルタイムを生成することであって、それぞれのラベルタイムは、ラベルおよび前記ラベルに関連付けられたカットオフタイムを含む、こと、
をさらに備える、請求項15に記載のシステム。
【請求項20】
前記ラベリング関数は、カスタマイズ可能なパラメータを備え、前記操作は、
前記クライアントデバイスから前記カスタマイズ可能なパラメータの値を受信することであって、前記値は、前記産業課題の範囲内の予測に固有である、ことと、
受信された前記値に基づいて、前記ラベリング関数をカスタマイズすることと、
をさらに備える、請求項19に記載のシステム。
【手続補正2】
【補正対象書類名】明細書
【補正対象項目名】0011
【補正方法】変更
【補正の内容】
【0011】
機械学習サーバ110は、産業特定機械学習処理を実装する。機械学習サーバ110は、アプリケーション生成エンジン150、および、機械学習サーバ110によって生成された複数の産業特定機械学習アプリケーション160(「機械学習アプリケーション160」とも呼ばれ、個々に、「産業特定機械学習アプリケーション160」または「機械学習アプリケーション160」とも呼ばれる)を含む。産業特定機械学習アプリケーション160は、特定の産業課題の範囲内の予測を行うためのモデルをトレーニングするために使用されることが可能であるアプリケーションである。産業課題は、産業またはビジネスのドメインにおける課題である。産業/ドメインは、例えば、情報技術(IT)操作、ヘルスケア、工業生産、小売り、セールスおよびマーケティング、保険、銀行業などであることが可能である。産業課題は、例えば、アプリケーションの監視、サービスレベル合意違反の検出、ユーザの行動予測などであることが可能である。
【手続補正3】
【補正対象書類名】明細書
【補正対象項目名】0017
【補正方法】変更
【補正の内容】
【0017】
データソース120によって提供されるデータは、産業課題を解決するための、および/または、産業課題の範囲内の予測を行うためにトレーニングされるモデルに入力される、機械学習モデルをトレーニングするために使用されるデータを含む。データは、データレコード(例えば行)に編成され得る。それぞれのデータは、1つまたは複数の値を含む。例えば、データソース120によって提供されるデータレコードは、一連のカンマ区切りの値を含み得る。データは、機械学習サーバ110を使用する企業に関連する情報を記述する。例えば、データソース120からのデータは、ウェブサイト上および/またはアプリケーションでアクセス可能なコンテンツとのコンピュータベースの相互作用(例えば、クリック追跡データ)を記述することが可能である。別の例として、データソース120からのデータは、オンラインおよび/または店舗での顧客取引を記述することが可能である。企業は、コンピュータ技術、製造業など、様々な産業の1つまたは複数であることが可能である。
【手続補正4】
【補正対象書類名】明細書
【補正対象項目名】0021
【補正方法】変更
【補正の内容】
【0021】
図2は、一実施形態による産業特定機械学習アプリケーションを生成するアプリケーション生成エンジン200を示すブロック図である。アプリケーション生成エンジン200は、図1のアプリケーション生成エンジン150の一実施形態である。アプリケーション生成エンジン200は、モデルをトレーニングするために使用されることが可能である産業特定機械学習アプリケーションを生成する。アプリケーション生成エンジン200は、ラベリング関数モジュール210、標準特徴モジュール220、パイプラインモジュール230、ユーザインターフェースモジュール240、およびデータベース250を含む。当業者は、他の実施形態が、ここで説明したコンポーネントとは異なるコンポーネントおよび/または他のコンポーネントを有することが可能であり、機能性が、異なる方法でコンポーネント間に分散されることが可能であることを認識するであろう。
【手続補正5】
【補正対象書類名】明細書
【補正対象項目名】0032
【補正方法】変更
【補正の内容】
【0032】
データベース250は、アプリケーション生成エンジン200によって受信され、使用され、または生成されるデータなどの、アプリケーション生成エンジン200と関連付けられたデータを格納する。いくつかの実施形態では、データベース250は、ラベリング関数、標準特徴、目的関数、機械学習パイプラインなどを格納する。
【手続補正6】
【補正対象書類名】明細書
【補正対象項目名】0036
【補正方法】変更
【補正の内容】
【0036】
ユーザインターフェースはまた、機械学習アプリケーション300内の標準特徴をユーザへ提示し、ユーザが、データセット内の変数を、標準特徴にマッピングすることを可能にする。いくつかの実施形態では、データセットを受信した後、ユーザインターフェースモジュール310は、データセット内の変数を識別する。ユーザインターフェースモジュール310は、ユーザへの表示のために変数の全てまたはいくつかをユーザインターフェースに提示し、それにより、ユーザは、変数を選択し、変数を標準特徴にマッピングすることが可能になる。ユーザインターフェースは、ユーザのマッピングを受信し、マッピングを特徴エンジニアリングモジュール30へ送信する。
【手続補正7】
【補正対象書類名】明細書
【補正対象項目名】0044
【補正方法】変更
【補正の内容】
【0044】
スキムビューアプローチは、ルールベースの分析である。データセットの識別されたセマンティック表現が、プリミティブの属性と合致するかどうかの決定は、特徴エンジニアリングモジュール330によって維持されたルールに基づいている。ルールは、例えば、データセットのセマンティック表現のキーワードのマッチングおよびプリミティブの属性に基づいて、どのデータセットのセマンティック表現が、どのプリミティブの属性に合致するかを指定する。1つの例では、データセットのセマンティック表現は、列名「生年月日」であり、特徴エンジニアリングモジュール330は、データセットのセマンティック表現に合致する入力種類が「生年月日」であるプリミティブを選択する。別の例では、データセットのセマンティック表現は、列名「タイムスタンプ」であり、特徴エンジニアリングモジュール330は、プリミティブがタイムスタンプを示すデータとの使用に適切であることを示す属性を有するプリミティブを選択する。
【手続補正8】
【補正対象書類名】明細書
【補正対象項目名】0049
【補正方法】変更
【補正の内容】
【0049】
特徴エンジニアリングモジュール330は、特徴(マッピングされた標準特徴および/またはマッピングされていない変数から生成された特徴)をランク付けし、それぞれの特徴についてランク付けスコアを決定する。特徴のランク付けスコアは、特徴が目標変数を予測するのにどれだけ重要か、言い換えると、特徴が予測因子としてどれだけ優れているか、を示す。いくつかの実施形態では、特徴エンジニアリングモジュール330は、特徴およびデータセットに基づいてランダムフォレストを構築する。特徴エンジニアリングモジュール330は、ランダムフォレストにおけるそれぞれの決定木に基づいて特徴のランク付けスコアを決定し、特徴のランク付けスコアとして、個々のランク付けスコアの平均を取得する。特徴エンジニアリングモジュール330は、それぞれの決定木の一部としてGINI不純度(GINI impurity)を使用し、特徴が予測モデル全体にどの程度寄与するかを測定し得る。ランダムフォレストを使用することにより決定された特徴のランク付けスコアは、特徴が他の特徴に関してどれだけ重要かを示し、「相対的ランク付けスコア」と呼ばれる。1つの例では、特徴エンジニアリングモジュール330は、最も高くランク付けされた選択された特徴の相対的ランク付けスコアが1であると決定する。特徴エンジニアリングモジュール330は、その後、最も高くランク付けされた特徴のランク付けスコアに対する残りの特徴のそれぞれのランク付けスコアの比率を、対応する選択された特徴の相対的ランク付けスコアとして決定する。
【手続補正9】
【補正対象書類名】明細書
【補正対象項目名】0055
【補正方法】変更
【補正の内容】
【0055】
トレーニングモジュール340はまた、分類を実装するアルゴリズムを取得する。トレーニングモジュール340は、候補アルゴリズムのプールからアルゴリズムを選択し得る。候補アルゴリズムの例は、例えば、決定木、ロジスティック回帰、ランダムフォレスト、XGブースト(XGBoost)、線形サポートベクターマシーン(線形SVM)、Adaブースト(AdaBoost)、ニューラルネットワーク、ナイーブベイズ、記憶ベース学習(memory-based learning)バギング木(bagged trees)、ブースト木(boosted trees)、ブーストスタンプ(boosted stumps)など、を含む。いくつかの実施形態では、トレーニングモジュール340は、利用可能な情報、例えば、モデルをトレーニングするための時間制限、計算リソース制限(例えば、プロセッサ制限、メモリ使用制限など)、解決すべき予測課題、データセットの特性、選択された特徴、などに基づいて、プール内の候補アルゴリズムの数を制約し得る。トレーニングモジュール340は、それぞれの候補アルゴリズムをテストし得、最良のものを選択し得る。
【手続補正10】
【補正対象書類名】明細書
【補正対象項目名】0059
【補正方法】変更
【補正の内容】
【0059】
テストハーネスに対してトレーニングされたモデルをテストした結果は、性能尺度に対してトレーニングされたモデルが予測課題でどのように実行したかを推定する。ランク付けモジュール350は、それぞれのトレーニングされたモデルについてランク付けスコアを決定し得、ランク付けスコアは、トレーニングされたモデルの測定された性能および/または精度を示す。ランク付けモジュール350は、ランク付けに基づいて、トレーニングされたモデルのうちの1つ、例えば、最良の性能を有するトレーニングされたモデルを選択する。
【手続補正11】
【補正対象書類名】明細書
【補正対象項目名】0060
【補正方法】変更
【補正の内容】
【0060】
ランク付けモジュール30はそして、選択されたトレーニングされたモデルを展開し、選択されたトレーニングされたモデルは、新しい値に基づいて予測を行うために使用されることが可能である。いくつかの実施形態では、ランク付けモジュール30は、コンピュータシステム、例えば、産業課題に関連付けられた産業の組織のサーバ、のデータベースにアーチファクトを送信する。アーチファクトは、機械学習処理によって作成された出力であり、例えば、選択されたトレーニングされたモデル、他のトレーニングされたモデル、モデルチェックポイント、特徴、ラベルなどを含む。コンピュータシステムはさらに、選択されたトレーニングされたモデルが新しい値に基づいて予測を行うために使用される他のコンピュータシステムへ、選択されたトレーニングされたモデルを提供する。
【手続補正12】
【補正対象書類名】明細書
【補正対象項目名】0063
【補正方法】変更
【補正の内容】
【0063】
図4Bでは、特徴生成データ430は、特徴エンジニアリングモジュール30へ入力され、特徴マトリクス440を出力する。特徴生成データ430は、カットオフタイムの前のタイムスタンプに関連付けられたデータセット内の、データの一部または全てを含む。特徴マトリクス440は、複数の特徴、特徴の値、および特徴の重要度係数を含む。複数の特徴のいくつかは、機械学習アプリケーション300に含まれる標準特徴であり、ユーザに対して機械学習アプリケーション300によって提供され、および、ユーザによってデータセット内の変数にマッピングされる。
【手続補正13】
【補正対象書類名】明細書
【補正対象項目名】0074
【補正方法】変更
【補正の内容】
【0074】
機械学習アプリケーション160は、複数のトレーニングされたモデルをランク付けする(550)。いくつかの実施形態では、機械学習アプリケーション160は、50性能尺度(例えば、分類精度)に関連付けられたテストハーネスを定義し、それらの性能に基づいてトレーニングされたモデルをランク付けすることによって、トレーニングされたモデルをランク付けする。それぞれのトレーニングされたモデルの性能は、トレーニングされたモデルにテストセットを入力し、トレーニングされたモデルの出力をテストセットに関連付けられた公知の予測結果と比較することによって測定することが可能である。
【手続補正14】
【補正対象書類名】明細書
【補正対象項目名】0079
【補正方法】変更
【補正の内容】
【0079】
ポインティングデバイス614は、マウス、トラックボール、または他の種類のポインティングデバイスであり、コンピュータシステム600にデータを入力するためにキーボード610と組み合わせて使用され得る。グラフィックスアダプタ612は、ディスプレイ618上に画像および他の情報を表示する。いくつかの実施形態では、ディスプレイ618は、ユーザ入力および選択を受信するためのタッチスクリーン機能を含む。ネットワークアダプタ616は、コンピュータシステム600をネットワーク10に接続する。
【手続補正15】
【補正対象書類名】図面
【補正対象項目名】図2
【補正方法】変更
【補正の内容】
図2
【手続補正16】
【補正対象書類名】図面
【補正対象項目名】図3
【補正方法】変更
【補正の内容】
図3
【手続補正17】
【補正対象書類名】図面
【補正対象項目名】図4B
【補正方法】変更
【補正の内容】
図4B
【国際調査報告】