JP2022044016A - 新規機械学習プロジェクトにおける使用に適合可能な既存機械学習プロジェクトの自動推奨 - Google Patents

新規機械学習プロジェクトにおける使用に適合可能な既存機械学習プロジェクトの自動推奨 Download PDF

Info

Publication number
JP2022044016A
JP2022044016A JP2021142495A JP2021142495A JP2022044016A JP 2022044016 A JP2022044016 A JP 2022044016A JP 2021142495 A JP2021142495 A JP 2021142495A JP 2021142495 A JP2021142495 A JP 2021142495A JP 2022044016 A JP2022044016 A JP 2022044016A
Authority
JP
Japan
Prior art keywords
project
existing
feature
features
dataset
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.)
Pending
Application number
JP2021142495A
Other languages
English (en)
Inventor
ケイ サハ・リポン
K Saha Ripon
アール プラサド・ムクル
R Prasad Mukul
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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Publication of JP2022044016A publication Critical patent/JP2022044016A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/901Indexing; Data structures therefor; Storage structures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/04Inference or reasoning models
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2457Query processing with adaptation to user needs
    • G06F16/24578Query processing with adaptation to user needs using ranking
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/907Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning

Landscapes

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

Abstract

【課題】新規機械学習プロジェクトにおける使用に適合可能な既存機械学習プロジェクトの自動推奨方法、プログラム及びシステムを提供する。【解決手段】方法は、既存の機械学習(ML)プロジェクトから第1の特徴を抽出することと、第1の特徴をコーパスに記憶することと、第1の検索クエリに基づいてコーパス上で第1の検索を実行して既存のMLプロジェクトの第1のランク付けセットを生成することと、既存のMLプロジェクトの第1のランク付けセットの第1の特徴に基づいて第2の特徴を生成することと、第2の検索クエリに基づいてコーパス上で第2の検索を実行して既存のMLプロジェクトの第2のランク付けセットを生成することと、既存のMLプロジェクトの第2のランク付けセット内の最も高いランク付けの既存のMLプロジェクトを第2のMLプロジェクトでの使用に適合可能として推奨することと、を含む。【選択図】図3

Description

本開示で論じられる実施形態は、既存の機械学習プロジェクトを新しい機械学習プロジェクトでの使用に適合可能として自動的に推奨することに関する。
機械学習(ML)は、一般に、予測を行うために訓練データを用いて訓練されるMLモデルを採用し、予測は、継続的な訓練で自動的により正確になる。MLは、これらに限られないがトラフィック予測、ウェブ検索、オンライン詐欺検出、医療診断、発話認識、電子メールフィルタリング、画像認識、バーチャルパーソナルアシスタント、及び自動翻訳を含む広範なアプリケーションで使用され得る。
MLがますます一般的になるにつれ、新しいMLプロジェクトを実装することに応じられるML専門家(例えば、熟練したデータ科学者)の不足がしばしばある。例えば、いくつかの推定によれば、新規MLプロジェクトを開発するタスクを現在課されているデータ科学者の大多数は非専門家(例えば、比較的未熟又は初心者)であり、ますます複雑なMLプロジェクトの開発に適任であろう修士又は博士号を有するのは5人に2人程度にすぎない。
自動化されたML(AutoML)は、MLを現実の問題に適用するプロセスを自動化するプロセスである。AutoMLは、非専門家にまずML専門家になるよう求めることなく、非専門家がMLモデル及び手法を利用することを可能にし得る。AutoMLは、ML専門家の不足があるとしても新しいMLプロジェクトを実装するという、ますます増大する課題に対する解決策として提案されてきた。しかしながら、現在のAutoMLソリューションは単に簡素かつ部分的なソリューションを提供しており、これらは、非専門家が新規MLプロジェクトを完全に実装できるようにするには不十分である。
本開示において請求される主題事項は、何らかの欠点を解決し又は上述されたような環境においてのみ動作する実施形態に限定されない。むしろ、この背景技術は、本開示に記載されるいくつかの実施形態が実施され得る1つの例示的な技術分野を示すためにのみ提供される。
一実施形態の態様によれば、動作は、既存の機械学習(ML)プロジェクトのセット内の既存のMLプロジェクトごとに、上記既存のMLプロジェクトから第1のプロジェクト特徴、第1のデータセット特徴、及び第1のパイプライン特徴を抽出し、上記既存のMLプロジェクトの上記第1のプロジェクト特徴、上記第1のデータセット特徴、及び上記第1のパイプライン特徴をコーパスに記憶することを含み得る。動作は、第2のMLプロジェクトからの第2のプロジェクト特徴及び第2のデータセット特徴に基づいて第1の検索クエリを生成することをさらに含み得る。さらに、動作は、上記第1の検索クエリに基づいて上記コーパス上で第1の検索を実行して1つ以上の第1の類似度スコアに基づいて上記既存のMLプロジェクトの第1のランク付けセットを生成することを含み得る。さらに、動作は、上記既存のMLプロジェクトの上記第1のランク付けセットの上記第1のパイプライン特徴に基づいて第2のパイプライン特徴を生成することを含み得る。さらに、動作は、上記第2のプロジェクト特徴、上記第2のデータセット特徴、及び上記第2のパイプライン特徴に基づいて第2の検索クエリを生成することを含み得る。さらに、動作は、上記第2の検索クエリに基づいて上記コーパス上で第2の検索を実行して1つ以上の第2の類似度スコアに基づいて上記既存のMLプロジェクトの第2のランク付けセットを生成することを含み得る。さらに、動作は、上記既存のMLプロジェクトの上記第2のランク付けセット内の最も高いランク付けの既存のMLプロジェクトを上記第2のMLプロジェクトでの使用に適合可能として推奨することを含み得る。
実施形態の目的及び利点は、少なくとも特許請求の範囲において特に指し示された要素、特徴、及び組み合わせにより実現され、達成される。
前述の一般的な説明及び以下の詳細な説明の双方が例として与えられており、説明的であり、請求される発明の限定ではない。
例示的な実施形態が、添付図面の使用を通してさらなる特定性及び詳細と共に記載され、説明される。
既存のMLプロジェクトを自動的に検索し、新しいMLプロジェクトに適合させることに関する一例示的な環境を表す図である。 一例示的なコンピューティングシステムのブロック図を示す。 既存のMLプロジェクトを新しいMLプロジェクトでの使用に適合可能として自動的に推奨する一例示的な方法のフローチャートである。 コーパス上で検索を実行する一例示的な方法のフローチャートである。 新しいMLプロジェクトの関連パイプライン特徴を生成する一例示的な方法のフローチャートである。 正規化されたMLプロジェクト特徴の第1の例示的な構造化文書を示す。 正規化されたMLプロジェクト特徴の第2の例示的な構造化文書を示す。 構造化クエリとしてフォーマットされた新しいMLプロジェクトのための一例示的な検索クエリを示す図である。 類似度スコアを計算する一例示的な方法のフローチャートである。 構造化クエリとしてフォーマットされた新しいMLプロジェクトのための一例示的な再定式化された検索クエリを示す。
本開示に記載されるいくつかの実施形態は、既存のMLプロジェクトを新しいMLプロジェクトでの使用に適合可能として自動的に推奨する方法及びシステムに関する。
MLがますます一般的になるにつれ、新しいMLプロジェクトを実装することに応じられるML専門家(例えば、熟練したデータ科学者)の不足がしばしばある。従来のプログラムと異なり、MLプロジェクトの教師付き(supervised)MLパイプラインは、一般に、そのワークフローにおいて高い類似性を有することがある。しかしながら、多くの理由で、新しい予測タスクのために最初のエンドツーエンドのMLプロジェクトを実装することは依然としてかなり時間がかかり、チャレンジングな可能性があり、上記理由には、絶えず進化するMLフレームワーク及びライブラリを常に把握していることに関連する経験の不足と困難さが含まれる。ML専門家の不足した状態で新しいMLプロジェクトを実装するという、ますます増大する課題を解決するために、様々なAutoMLソリューション(例えば、Auto-Sklearn、AutoPandasなど)が提案されてきたが、現在のAutoMLソリューションは単に簡素かつ部分的なソリューションを提供しており、これらは、非専門家が新規MLプロジェクトを完全に実装できるようにするには不十分である。さらに、既存のMLプロジェクトのオープンソースソフトウェア(OSS)データベース(例えば、Kaggle、GitHubなど)は、専門家と非専門家の双方が既存のMLプロジェクトで協働することを可能にするが、非専門家がこれらのデータベースで潜在的に有用な既存のMLプロジェクトを見つけることは、少なくとも、従来のキーワード検索が最も関連する既存のMLプロジェクトを確実に見つけることができず、また新しいMLプロジェクトのドメインとは異なるドメインで関連するMLプロジェクトを見つけることができないことに起因して、困難又は不可能な可能性がある。
本開示において、用語「MLプロジェクト」は、データセットと、データセットに対して定義されたMLタスクと、MLタスクのためのMLモデルを訓練し、このMLモデルを新しい予測に使用するための動作のシーケンスを実施するように構成されるMLパイプライン(例えば、スクリプト又はプログラムコード)とを含む、プロジェクトを指し得る。本開示において、用語「ノートブック(notebook)」は、MLパイプライン(例えば、Jupyterノートブック)を開発及び/又は表現するために使用される計算構造を指し得る。本開示において、用語「構造化文書」及び「構造化クエリ」は、その内容がXMLなどのマークアップ言語を使用してラベル付きブロックに編成された電子的な文書又はクエリを指し得る。本明細書に開示される実施形態は、Pythonプログラミング言語のMLパイプライン、Jupyterノートブックとして構造化されたノートブック、及びXMLを採用する構造化文書及び構造化クエリを用いて説明されるが、他の実施形態が、異なる言語で書かれたMLパイプライン、他のプラットフォームで構造化されたノートブック、及びXML以外の構造化言語(例えば、JSONなど)を採用する構造化文書及び構造化クエリを含み得ることが理解される。
本開示の1つ以上の実施形態によれば、動作は、既存のMLプロジェクトを新しいMLプロジェクトでの使用に適合可能として自動的に推奨するように実行され得る。例えば、いくつかの実施形態において、コンピュータシステムは、「検索及び適合」スタイルのワークフローに立脚することにより、データ科学者の自然なワークフローを有機的にサポートすることができ、これにおいて、データ科学者は、新しいMLプロジェクトを構築するための良い出発点として機能できる既存のMLプロジェクトをまず検索し、次いで、既存のMLプロジェクトを適切に適合させて新しいMLプロジェクトの新しいデータセット及び新しいMLタスクのためのMLパイプラインを構築するであろう。
例えば、いくつかの実施形態において、コンピュータシステムは、既存のMLプロジェクトのデータベース(例えば、既存のMLプロジェクトのOSSデータベース、既存のMLプロジェクトの社内データベースなど)から生の(raw)MLプロジェクトを自動的にマイニングすることができ、それらを既存のMLプロジェクトのコーパスに格納する前に、生のMLプロジェクトを自動的にキュレートする(curate)ことができる。いくつかの実施形態において、大規模なリポジトリからの既存のMLプロジェクトのこのマイニング及びキュレーションは、検索及び適合ワークフローにおいて使用できる多様で高品質な既存のMLプロジェクトのコーパスを結果としてもたらし得る。さらに、このキュレーションは、各既存のMLプロジェクトからプロジェクト特徴、データセット特徴、及びパイプライン特徴を抽出し、これらの特徴を各既存のMLプロジェクトのコーパスに記憶することを含み得る。
いくつかの実施形態において、非専門家のデータ科学者などから新しいMLプロジェクトのための新しいデータセット及び新しいMLタスクを受け取ると、コンピュータシステムは、新しいMLプロジェクトでの使用に適合可能であるように最も適し得る1つ以上の既存のMLプロジェクトについてコーパスを自動的に検索することができる。この検索は、コンピュータシステムが新しいMLプロジェクトからの新しいプロジェクト特徴及び新しいデータセット特徴に基づいて初期検索クエリを生成することを含み得る。次いで、コンピュータシステムは、初期検索クエリに基づいてコーパス上で初期検索を実行して、類似のプロジェクト特徴及びデータセット特徴を有する既存のMLプロジェクトの初期ランク付けセットを生成することができる。次に、コンピュータシステムは、既存のMLプロジェクトの初期ランク付けセットのパイプライン特徴に基づいて関連するパイプライン特徴を生成し、新しいプロジェクト特徴、新しいデータセット特徴、及び関連するパイプライン特徴に基づいて最終検索クエリを生成することができる。次いで、コンピュータシステムは、最終検索クエリに基づいてコーパス上で最終検索を実行して、類似のプロジェクト特徴、データセット特徴、及びパイプライン特徴を有する既存のMLプロジェクトの最終ランク付けセットを生成することができる。最後、コンピュータシステムは、既存のMLプロジェクトの最終ランク付けセット内の1つ以上の最も高いランク付けの既存のMLプロジェクトを、新しいMLプロジェクトでの使用に最も適合可能として推奨することができる。
したがって、いくつかの実施形態において、非専門家のデータ科学者は、単に新しいMLプロジェクトのための新しいデータセット及び新しいMLタスクを定式化することができ、次いで、コンピュータシステムは、ツールにより支援される対話型の検索及び適合ワークフローを実装して、既存のMLプロジェクトを自動的に検索し、新しいMLプロジェクトでの使用に適合可能として推奨することができる。したがって、いくつかの実施形態は、初心者のデータ科学者に、新しいMLプロジェクトのための新しい高品質のエンドツーエンドのMLパイプラインを効率的に作成する力を与えることができる。
本開示の1つ以上の実施形態によれば、MLプロジェクト開発の技術分野は、データ科学者(例えば、しばしば非専門家である)に新しいMLプロジェクトの新しい要件に最も類似した潜在的に有用な既存のMLプロジェクトを手動で見つけるタスクを課すことと比較して、既存のMLプロジェクトを自動的に検索し、新しいMLプロジェクトでの使用に適合可能として推奨するようにコンピューティングシステムを構成することにより、改善され得る。このような構成により、コンピューティングシステムは、抽出されたプロジェクト特徴、データセット特徴、及びパイプライン特徴に基づいて関連する既存のMLプロジェクトをより良く検索することができ得る。
本開示の実施形態は、添付の図面を参照して説明される。
図1は、本開示に記載される少なくとも1つの実施形態に従って配置された、既存のMLプロジェクトを自動的に検索し、新しいMLプロジェクトに適合させることに関する一例示的な環境100を表す図である。環境100は、OSS MLプロジェクトデータベース102a~102nと、既存のMLプロジェクトをMLプロジェクトコーパス104へキュレートするように構成されたキュレーションモジュール114と、新しいMLプロジェクトの新しいデータセット106及び新しいMLタスク108(例えば、データ科学者118により提供された)に基づいて新しいMLプロジェクトのためにMLプロジェクトコーパス104から関連する既存のMLプロジェクト110(それらの対応するデータセット109及びMLパイプライン111を含む)を検索するように構成された検索モジュールと、関連する既存のMLプロジェクト110のMLパイプライン111を新しいMLプロジェクトの新しいMLパイプライン112に合成し適合させるように構成された適合モジュール120を含み得る。
OSS MLプロジェクトデータベース102a~102nは、既存のMLプロジェクトの大規模なリポジトリでもよく、各MLプロジェクトは、少なくともデータセットと、データセットに対して定義されたMLタスクと、MLタスクのためのMLモデルを訓練し、このMLモデルを新しい予測に使用するための動作のシーケンスを実施するように構成されるMLパイプライン(例えば、スクリプト又はプログラムコード)とを含む、電子データを含む。既存のMLプロジェクトの大規模なリポジトリいくつかの例は、これらに限られないが、Kaggle及びGitHubを含む。いくつかの実施形態において、OSS MLプロジェクトデータベース102a~102n内の各MLプロジェクトは、ノートブックを含んでもよく、ノートブックは、MLパイプラインを開発及び/又は表現するために使用される計算構造であり得る。ノートブックの一例は、Jupyterノートブックである。いくつかの実施形態において、環境100は、既存のMLプロジェクトの社内データベースなど、OSS MLプロジェクトデータベース102a~102nに追加で、既存のMLプロジェクトの他のデータベースをさらに含んでもよい。
キュレーションモジュール114、検索モジュール116、及び適合モジュール120の各々は、コンピューティングデバイスが1つ以上の動作を実行することを可能にするように構成されたコード及びルーチンを含んでもよい。さらに又は代わりに、これらのモジュールの各々は、プロセッサ、マイクロプロセッサ(例えば、1つ以上の動作を実行し又はその実行を制御するための)、フィールドプログラマブルゲートアレイ(FPGA)、又は特定用途向け集積回路(ASIC)を含むハードウェアを使用して実装されてもよい。いくつかの他の例において、モジュールの各々は、ハードウェア及びソフトウェアの組み合わせを使用して実装されてもよい。本開示において、これらのモジュールの各々により実行されると記載された動作は、モジュールが対応するシステムに実行するよう指示し得る動作を含み得る。
キュレーションモジュール114は、OSS MLプロジェクトデータベース102a~102nに記憶された既存のMLプロジェクトに関して、既存のMLプロジェクトをMLプロジェクトコーパス104に記憶する前又は後に、一連の動作を実行するように構成され得る。例えば、キュレーションモジュール114は、OSS MLプロジェクトデータベース102a~102nからの生のMLプロジェクトを自動的にマイニングして、MLプロジェクトコーパス104にそれらを記憶する前又は後に、生のMLプロジェクトを自動的にキュレートするように構成されてもよい。MLプロジェクトコーパス104は、OSS MLプロジェクトデータベース102a~102nからキュレートされた既存のMLプロジェクトのリポジトリであり得る。いくつかの実施形態において、MLプロジェクトコーパス104は、自動化された「検索及び適合」スタイルのワークフローにおいて採用され得るクリーニングされた、高品質の、インデキシングされた既存のMLプロジェクトの大規模なコーパスであり得る。このワークフローのスタイルにおいて、検索は、新しいMLタスク108及び新しいデータセット106に関連し、かつ新しいMLパイプライン112を含む新しいMLプロジェクトを構築するための「シード」として使用されるべき既存のMLプロジェクトを、識別することを含み得る。さらに、このスタイルのワークフローにおいて、適合させることは、対話及び合成アプローチを使用して、関連する既存のMLプロジェクト110を適合させて新しいMLプロジェクトの新しいMLパイプライン112を生成することを含み得る。
検索モジュール116は、MLプロジェクトコーパス104に記憶された既存のMLプロジェクトを通じての検索に関して一連の動作を実行するように構成され得る。例えば、キュレーションモジュール114は、データ科学者118などから新しいMLプロジェクトのための新しいデータセット106及び新しいMLタスク108を受け取るように構成されてもよい。次いで、検索モジュール116は、受け取ると、MLプロジェクトコーパス104を自動的に検索して関連する既存のMLプロジェクト110を識別するように構成されてもよい。
いくつかの実施形態において、新しいMLタスク108のための関連する既存のMLプロジェクト110を識別することに対する様々な課題を克服するために、キュレーションモジュール114は、既存のMLプロジェクトをマイニング及びキュレートするように構成されてもよく、検索モジュール116は、関連する既存のMLプロジェクト110を検索するように構成されてもよい。例えば、新しいMLプロジェクトの新しいMLタスク108について、従来のキーワードベースの検索のみを使用するなどで新しいMLタスク108及び新しいデータセット106のみに基づいて関連する既存のMLプロジェクト110をMLプロジェクトコーパス104内で見つけることは、チャレンジングであり得、なぜならば、従来の検索からの検索結果は、関連するMLプロジェクトを見逃す傾向があり、また、これらの検索結果がより関連性のないMLプロジェクトを不正確に含む傾向があるという点でノイズがある傾向があるためである。さらに、新しいMLタスク108にかなり関連し得るが、新しいMLタスク108及び新しいデータセット106の記述からの一致キーワードのみに基づき完全に無関係であるように見え得る他のドメインから既存のMLプロジェクトを識別することは、チャレンジングな可能性がある。したがって、キュレーションモジュール114は、既存のMLプロジェクトから特徴を抽出し、MLプロジェクトコーパス104に記憶して、検索モジュール116が新しいデータセット106及び新しいMLタスク108に関してMLプロジェクトコーパス104内の関連する既存のMLプロジェクト110を見つけることができるように構成されてもよく、それにより、データ科学者118は、この事前情報を活用して新しいMLタスク108を迅速に実施することができる。この目的のために、検索モジュール116は、意味的に類似したMLプロジェクトだけでなく、他のドメインにあるがそれにもかかわらず新しいMLプロジェクトとかなり類似しているように予期されるMLパイプラインを有するMLプロジェクトも見つけることができる、2段階の擬似関連性フィードバック(pseudo-relevance feedback)ベースの検索を実行するように構成され得る。
適合モジュール120は、関連する既存のMLプロジェクト110のMLパイプライン111を新しいMLパイプライン112に合成し適合させることに関して一連の動作を実行するように構成され得る。例えば、適合モジュール120は、新しいMLプロジェクト(例えば、新しいデータセット106、新しいMLタスク108、及び新しいMLパイプライン112を含む)のための新しいMLパイプライン112での使用のために、MLパイプライン111から機能ブロックを自動的に選択するように構成されてもよい。さらに、適合モジュール120は、新しいMLパイプライン112の機能ブロックを適合させて、新しいデータセット106上で新しいMLタスク108を実行するために新しいMLパイプライン112を実行できるように構成されてもよい。いくつかの実施形態において、適合モジュールは、既存のMLパイプライン111を新しいMLパイプライン112に自動的に適合させることができるが、他の実施形態において、この自動適合は、どの既存のMLパイプライン111が新しいMLパイプライン112への手動適合に最も適することになるかに関するデータ科学者118への推奨により置き換えられ、又は拡張され(augmented)てもよい。
したがって、いくつかの実施形態において、非専門家であり得るデータ科学者118は、単に新しいMLプロジェクトのための新しいデータセット106及び新しいMLタスク108を定式化することができ、キュレーションモジュール114、検索モジュール116、及び適合モジュール120は、(例えば、本明細書に開示される方法の1つ以上を実行することにより)一緒に機能して、既存のMLプロジェクトを自動的に検索し、新しいMLプロジェクトでの使用に適合可能として推奨することができる。したがって、本明細書に開示される方法は、初心者のデータ科学者に、新しいMLプロジェクトのために新しい高品質のエンドツーエンドのMLパイプラインを効率的に作成する力を与えることができる。
本開示の範囲から逸脱することなく、図1に対して修正、追加、又は省略がなされ得る。例えば、環境100は、本開示において図示及び説明されたものより多くの又は少ない要素を含んでもよい。
図2は、本開示の少なくとも1つの実施形態による、一例示的なコンピューティングシステム202のブロック図を示す。コンピューティングシステム202は、1つ以上のモジュール(例えば、図1のキュレーションモジュール114、検索モジュール116、若しくは適合モジュール120、又はこれらの何らかの組み合わせ)に関連づけられた1つ以上の動作を実装又は指示するように構成され得る。コンピューティングシステム202は、プロセッサ250、メモリ252、及びデータ記憶装置254を含んでもよい。プロセッサ250、メモリ252、及びデータ記憶装置254は、通信上結合されてもよい。
一般に、プロセッサ250は、様々なコンピュータハードウェア又はソフトウェアモジュールを含む、任意の適切な専用若しくは汎用コンピュータ、コンピューティングエンティティ、又は処理デバイスを含んでもよく、任意の適用可能なコンピュータ読取可能記憶媒体に記憶された命令を実行するように構成されてもよい。例えば、プロセッサ250は、マイクロプロセッサ、マイクロコントローラ、デジタル信号プロセッサ(DSP)、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)、又はプログラム命令を解釈及び/又は実行するよう及び/又はデータを処理するように構成された任意の他のデジタル若しくはアナログ回路を含んでもよい。図2において単一のプロセッサとして示されているが、プロセッサ250は、本開示に記載される任意の数の動作を個々又は集合的に実行し又はその実行を指示するように構成された、任意の数のプロセッサを含んでもよい。さらに、プロセッサの1つ以上が、異なるサーバなどの1つ以上の異なる電子デバイス上に存在してもよい。
いくつかの実施形態において、プロセッサ250は、メモリ252、データ記憶装置254、又はメモリ252及びデータ記憶装置254に記憶されたプログラム命令を解釈及び/又は実行し、かつ/あるいはデータを処理するように構成され得る。いくつかの実施形態において、プロセッサ250は、データ記憶装置254からプログラム命令を取り出し、プログラム命令をメモリ252にロードしてもよい。プログラム命令がメモリ252にロードされた後、プロセッサ250はプログラム命令を実行することができる。
例えば、いくつかの実施形態において、上述のモジュール(例えば、キュレーションモジュール114、検索モジュール116、若しくは適合モジュール120、又はこれらの組み合わせ)のうち1つ以上が、プログラム命令としてデータ記憶装置254に含まれてもよい。プロセッサ250は、データ記憶装置254から対応するモジュールのプログラム命令を取り出し、対応するモジュールのプログラム命令をメモリ252にロードすることができる。対応するモジュールのプログラム命令がメモリ252にロードされた後、プロセッサ250はプログラム命令を実行することができ、それにより、コンピューティングシステムは、命令により指示されるとおり対応するモジュールに関連づけられた動作を実施することができる。
メモリ252及びデータ記憶装置254は、記憶されたコンピュータ実行可能命令又はデータ構造を搬送し又は有するコンピュータ読取可能記憶媒体を含んでもよい。そのようなコンピュータ読取可能記憶媒体は、プロセッサ250などの汎用又は専用コンピュータによりアクセスされ得る任意の利用可能な媒体を含んでもよい。限定でなく例として、そのようなコンピュータ読取可能記憶媒体は、ランダムアクセスメモリ(RAM)、読取専用メモリ(ROM)、電気的消去可能プログラマブル読取専用メモリ(EEPROM)、コンパクトディスク読取専用メモリ(CD‐ROM)若しくは他の光ディスク記憶装置、磁気ディスク記憶装置若しくは他の磁気記憶デバイス、フラッシュメモリデバイス(例えば、ソリッドステートメモリデバイス)、又はコンピュータ実行可能命令又はデータ構造の形式で特定のプログラムコードを搬送又は記憶するために使用でき、かつ汎用又は専用コンピュータによりアクセスできる任意の他の記憶媒体を含む、有形の又は非一時的なコンピュータ読取可能記憶媒体を含んでもよい。上記の組み合わせもまた、コンピュータ読取可能記憶媒体の範囲内に含まれてもよい。コンピュータ実行可能命令は、例えば、プロセッサ250に特定の動作又は動作のグループを実行させるように構成された命令及びデータを含んでもよい。
本開示の範囲から逸脱することなく、コンピューティングシステム202に対して修正、追加、又は省略がなされ得る。例えば、いくつかの実施形態において、コンピューティングシステム202は、明示的に図示又は説明されない可能性のある任意の数の他のコンポーネントを含んでもよい。
図3は、本開示に記載される少なくとも1つの実施形態による、既存のMLプロジェクトを新しいMLプロジェクトでの使用に適合可能として自動的に推奨する一例示的な方法300のフローチャートである。方法300は、任意の適切なシステム、装置、又はデバイスにより実行されてもよい。例えば、図1のキュレーションモジュール114及び/又は検索モジュール116、又は図2のコンピューティングシステム202(例えば、1つ以上のモジュールにより指示される)は、方法300に関連づけられた動作の1つ以上を実行することができる。個別のブロックで示されているが、方法300のブロックの1つ以上に関連づけられたステップ及び動作は、特定の実装に依存してさらなるブロックに分割されてもよく、より少ないブロックに組み合わせられてもよく、あるいは削除されてもよい。
方法300は、ブロック302において、既存のMLプロジェクトからプロジェクト特徴、データセット特徴、及びパイプライン特徴を抽出することを含み得る。いくつかの実施形態において、プロジェクト特徴は、1つ以上のプロジェクトトピック特徴を含んでもよい。いくつかの実施形態において、データセット特徴は、1つ以上のデータセット属性特徴、1つ以上のデータセット統計特徴、及び1つ以上のターゲットタスク特徴を含んでもよい。いくつかの実施形態において、パイプライン特徴は、前処理アプリケーションプログラムインタフェース(API)特徴及びモデル特徴を含んでもよい。例えば、キュレーションモジュール114は、様々なMLプロジェクトデータベース(例えば、OSS MLプロジェクトデータベース102a~102n、既存のMLプロジェクトの社内データベースなど)に記憶された既存のMLプロジェクトをクロールすることができ、既存のMLプロジェクトの各々からプロジェクト特徴、データセット特徴、及びパイプライン特徴を抽出することができる。いくつかの実施形態において、これらの特徴は、図9に開示される特徴のうち任意のものを含んでもよい。
方法300は、ブロック304において、既存のMLプロジェクトのプロジェクト特徴、データセット特徴、及びパイプライン特徴をコーパスに記憶することを含み得る。いくつかの実施形態において、記憶する前に、方法300は、ストップワードの除去、ステミング、コード識別子のトークン化、略語の完全な単語へのマッピング、及び同義語の決定のうち1つ以上を実行することにより、プロジェクト特徴、データセット特徴、及びパイプライン特徴を正規化することを含んでもよい。いくつかの実施形態において、記憶する前、及び正規化した後に、方法300は、正規化されたプロジェクト特徴、正規化されたデータセット特徴、及び正規化されたパイプライン特徴を構造化文書にフォーマットする(formatting)ことを含んでもよい。これらの実施形態において、方法300は、コーパスにおいて構造化文書をインデキシングする(indexing)ことをさらに含んでもよい。例えば、キュレーションモジュール114は、既存のMLプロジェクトの各々について、図9に開示される特徴を正規化し、MLプロジェクトコーパス104に記憶し、インデキシングすることができる。これらの特徴は、図6及び図7に開示される構造化文書などの構造化文書としてフォーマットされてもよい。
方法300は、ブロック306において、新しいMLプロジェクトからの新しいプロジェクト特徴及び新しいデータセット特徴に基づいて第1の検索クエリを生成することを含み得る。例えば、検索モジュール116は、新しいMLプロジェクトからの新しいプロジェクト特徴及び新しいデータセット特徴に基づいて第1の検索クエリを生成することができる。いくつかの実施形態において、これらの特徴は、図9に開示されるプロジェクトトピック特徴、データセット属性特徴、データセット統計特徴、及びターゲットタスク特徴のうち1つ以上を含んでもよく、新しいデータセット106及び新しいMLタスク108から導出され得る。さらに、いくつかの実施形態において、第1の検索クエリは、図8に開示される構造化クエリなどの構造化クエリとしてフォーマットされてもよい。
方法300は、ブロック308において、第1の検索クエリに基づいてコーパス上で第1の検索を実行して既存のMLプロジェクトの第1のランク付けセットを生成することを含み得る。例えば、検索モジュール116は、第1の検索クエリに基づいてMLプロジェクトコーパス104上で第1の検索を実行して既存のMLプロジェクトの第1のランク付けセットを生成することができる。いくつかの実施形態において、第1の検索は、以下で図4に関してさらに詳細に説明される方法400の1つ以上の動作に従って実行されてもよい。
方法300は、ブロック310において、既存のMLプロジェクトの第1のランク付けセットのパイプライン特徴に基づいて関連するパイプライン特徴を生成することを含み得る。例えば、検索モジュール116は、既存のMLプロジェクトの第1のランク付けセットのパイプライン特徴に基づいて関連するパイプライン特徴を生成することができる。いくつかの実施形態において、関連するパイプライン特徴は、図9に開示される前処理API特徴及びモデル特徴のうち1つ以上を含んでもよい。いくつかの実施形態において、関連するパイプライン特徴は、以下で図5に関してさらに詳細に説明される方法500の1つ以上の動作に従って生成されてもよい。
方法300は、ブロック312において、新しいプロジェクト特徴、新しいデータセット特徴、及び関連するパイプライン特徴に基づいて第2の検索クエリを生成することを含み得る。例えば、検索モジュール116は、図9に開示される特徴に基づいて第2の検索クエリを生成することができる。いくつかの実施形態において、第2の検索クエリは、構造化クエリとしてフォーマットされてもよく、図10に開示される再定式化された(reformulated)構造化クエリ1000などの第1の検索クエリの再定式化でもよく、これは、図8に開示される初期構造化クエリ800には存在しなかった、関連するパイプライン特徴(例えば、API前処理特徴及びモデル特徴)を含む。
方法300は、ブロック314において、第2の検索クエリに基づいてコーパス上で第2の検索を実行して既存のMLプロジェクトの第2のランク付けセットを生成することを含み得る。例えば、検索モジュール116は、第2の検索クエリに基づいてMLプロジェクトコーパス104上で第2の検索を実行して関連する既存のMLプロジェクト110を生成することができ、関連する既存のMLプロジェクト110は、最も関連性のあるものから最も関連性のないものへランク付けされ得る。
方法300は、ブロック316において、既存のMLプロジェクトの第2のランク付けセット内の最も高いランク付けの既存のMLプロジェクトを新しいMLプロジェクトでの使用に適合可能として推奨することを含み得る。例えば、検索モジュール116は、関連する既存のMLプロジェクト110のうち最も高いランク付けの既存のMLプロジェクトを新しいMLプロジェクトでの使用に最も適合可能であるとして推奨することができ、これは、この既存のMLプロジェクトのMLパイプライン111を新しいMLプロジェクトの新しいMLパイプライン112に適合させることを含んでもよい。
本開示の範囲から逸脱することなく、方法300に対して修正、追加、又は省略がなされ得る。例えば、方法300の動作のいくつかは異なる順序で実施されてもよい。さらに又は代わりに、2つ以上の動作が同時に実行されてもよい。さらに、概説された動作及びアクションは例として提供されているに過ぎず、動作及びアクションのいくつかが、開示される実施形態を損なうことなく任意でもよく、より少ない動作及びアクションに組み合わせられてもよく、あるいはさらなる動作及びアクションに拡張されてもよい。
図4は、本開示に記載される少なくとも1つの実施形態による、コーパス上で検索を実行する一例示的な方法の例示的な方法400のフローチャートである。いくつかの実施形態において、図3の方法300に関して上述したブロック308の動作は、方法400に従って実行されてもよい。
方法400は、任意の適切なシステム、装置、又はデバイスにより実行されてもよい。例えば、図1の検索モジュール116又は図2のコンピューティングシステム202(例えば、1つ以上のモジュールにより指示される)は、方法400に関連づけられた動作の1つ以上を実行することができる。個別のブロックで示されているが、方法400のブロックの1つ以上に関連づけられたステップ及び動作は、特定の実装に依存してさらなるブロックに分割されてもよく、より少ないブロックに組み合わせられてもよく、あるいは削除されてもよい。
方法400は、ブロック402において、新しいMLプロジェクトの特徴とコーパス内の既存のMLプロジェクトの特徴との間の類似度スコアを生成することを含み得る。いくつかの実施形態において、この生成は、新しいプロジェクト特徴とコーパス内のプロジェクト特徴の各々との間、1つ以上の新しいデータセット属性特徴とコーパス内のデータセット属性特徴の各々との間、1つ以上の新しいデータセット統計特徴とコーパス内のデータセット統計特徴の各々との間、及び1つ以上の新しいターゲットタスク特徴とコーパス内のターゲットタスク特徴の各々との間の類似度スコアを生成することを含んでもよい。例えば、検索モジュール116は、新しいMLプロジェクトの特徴とMLプロジェクトコーパス104内の既存のMLプロジェクトの特徴との間の類似度スコアS1、S2、S3、及びS4(図9参照)を生成することができる。
方法400は、ブロック404において、ランク付け関数に基づいて既存のMLプロジェクトの各々についての類似度スコアを集計する(aggregating)ことを含み得る。例えば、検索モジュール116は、ランク付け関数に基づいて既存のMLプロジェクトの各々について類似度スコアS1、S2、S3、及びS4(図9参照)を集計して(例えば、一緒に加算して)、既存のMLプロジェクトごとに集計された(全体的な)類似度スコアを生成することができる。
方法400は、ブロック406において、集計された類似度スコアに基づいて既存のMLプロジェクトをランク付けすることを含み得る。例えば、検索モジュール116は、集計された類似度スコアに基づいて既存のMLプロジェクトをランク付けすることができる。
本開示の範囲から逸脱することなく、方法400に対して修正、追加、又は省略がなされ得る。例えば、方法400の動作は異なる順序で実施されてもよい。さらに、いくつかの実施形態において、方法400は、図3のブロック308の動作に関して反復的又は同時に実行されてもよい。
図5は、本開示に記載される少なくとも1つの実施形態による、新しいMLプロジェクトの関連するパイプライン特徴を生成する一例示的な方法500のフローチャートである。いくつかの実施形態において、図3の方法300に関して上述したブロック310の動作は、方法500に従って実行されてもよい。さらに、方法500は、第1の検索クエリ(ブロック306で生成される)が第2の検索クエリ(ブロック312で生成される)に再定式化される結果をもたらし得る。
方法500は、任意の適切なシステム、装置、又はデバイスにより実行されてもよい。例えば、図1の検索モジュール116、又は図2のコンピューティングシステム202(例えば、1つ以上のモジュールにより指示される)は、方法500に関連づけられた動作の1つ以上を実行することができる。個別のブロックで示されているが、方法500のブロックの1つ以上に関連づけられたステップ及び動作は、特定の実装に依存してさらなるブロックに分割されてもよく、より少ないブロックに組み合わせられてもよく、あるいは削除されてもよい。
方法500は、ブロック502において、第1の既存のMLプロジェクトが新しいデータセット統計特徴と第1の既存のMLプロジェクトのデータセット統計特徴との間で最も高い類似度スコアを有することに基づいて、第1のランク付けセットから第1の既存のMLプロジェクトを選択することを含み得る。例えば、検索モジュール116は、クレジットカード関連の既存のMLプロジェクト(図7の構造化文書700により表される)を、新しいデータセット統計特徴(例えば、図8の構造化クエリ800において<dataset-value-property>タグにより表される)とカード関連の既存のMLプロジェクトのデータセット統計特徴(例えば、図7の構造化文書700において<dataset-value-property>タグにより表される)との間で最も高い類似度スコアを有するものとして選択することができる。
方法500は、ブロック504において、新しい前処理API特徴を第1の既存のMLプロジェクトの前処理API特徴に設定することを含み得る。例えば、データセット統計特徴は前処理API特徴と相関する傾向があるため、検索モジュール116は、新しい前処理API特徴(例えば、図10の構造化クエリ1000において<preprocessing>タグにより表される)を、カード関連の既存のMLプロジェクト(図7の構造化文書700により表される)の前処理API特徴(図7の構造化文書700において<preprocessing>タグにより表される)に設定することができる。
方法500は、ブロック506において、第2の既存のMLプロジェクトが新しいターゲットタスク特徴と第2の既存のMLプロジェクトのターゲットタスク特徴との間で最も高い類似度スコアを有することに基づいて、第1のランク付けセットから第2の既存のMLプロジェクトを選択することを含み得る。例えば、検索モジュール116は、糖尿病関連の既存のMLプロジェクト(図6の構造化文書600により表される)を、新しいターゲットタスク特徴(例えば、図8の構造化クエリ800において<predictive-task>タグにより表される)と糖尿病関連の既存のMLプロジェクトのターゲットタスク特徴(例えば、図6の構造化文書600において<predictive-task>タグにより表される)との間で最も高い類似度スコアを有するものとして選択することができる。
方法500は、ブロック508において、新しいモデル特徴を第2の既存のMLプロジェクトのモデル特徴に設定することを含み得る。例えば、ターゲットタスク特徴はモデル特徴と相関する傾向があるため、検索モジュール116は、新しいモデル特徴(例えば、図10の構造化クエリ1000において<model>タグにより表される)を、糖尿病関連の既存のMLプロジェクト(図6の構造化文書600により表される)のモデル特徴(図6の構造化文書600において<model>タグにより表される)に設定することができる。
本開示の範囲から逸脱することなく、方法500に対して修正、追加、又は省略がなされ得る。例えば、方法500の動作は異なる順序で実施されてもよい。さらに、いくつかの実施形態において、方法500は、図3のブロック310の動作に関して反復的又は同時に実行されてもよい。
図6は、正規化されたMLプロジェクト特徴の第1の例示的な構造化文書600を示し、図7は、正規化されたMLプロジェクト特徴の第2の例示的な構造化文書700を示す。構造化文書600及び700は、MLプロジェクトコーパス104に記憶された既存のMLプロジェクトからの特徴を表し得る。例えば、構造化文書600は、血漿グルコース濃度耐性検査結果(plasma glucose concentration tolerance test results)、血圧の拡張期血圧(pressure diastolic blood pressure)、年齢(age)などの患者の様々な特性を所与として患者が糖尿病(diabetes)を有するかどうかを予測するように構成された糖尿病関連のMLプロジェクト特徴を表すことができる。さらに、構造化文書700は、限度残高(limit balance)、性別(sex)、教育(education)、年齢(age)、給与(pay)、及び次月のデフォルト支払い(default payment next month)などの特性を所与として個人がクレジットカードの履行を怠るかどうかを予測するように構成されたクレジットカード関連のMLプロジェクト特徴を表すことができる。図6及び図7は、MLプロジェクトコーパス104に記憶された既存のMLプロジェクトに関して方法300の様々なブロックがどのように実行され得るかの例を提供するためにここで論じられる。
図6及び図7に示す例において、構造化文書600及び700は、2つの別個の既存のMLプロジェクトから抽出された様々な特徴を表す。詳細には、1つ以上のプロジェクト特徴は、<topics>タグで表される1つ以上のプロジェクトトピック特徴を含んでもよい。さらに、1つ以上のデータセット特徴は、<attributes>タグで表される1つ以上のデータセット属性特徴、<dataset-value-properties>タグで表される1つ以上のデータセット統計特徴、及び<predictive-task>タグで表される1つ以上のターゲットタスク特徴を含んでもよい。さらに、パイプライン特徴は、<preprocessing>タグで表される1つ以上の前処理API特徴と、<model>タグで表される1つ以上のモデル特徴を含んでもよい。
本開示の範囲から逸脱することなく、構造化文書600及び700に対して修正、追加、又は省略がなされ得る。例えば、様々な他の特徴及び/又は他のタグが構造化文書600及び700に含まれてもよく、様々なタグが除去されてもよく、かつ/あるいは様々なタグが異なる順序で含まれてもよい。
図8は、構造化クエリ800としてフォーマットされた新しいMLプロジェクトのための一例示的な検索クエリを示す。構造化クエリ800は、新しいMLプロジェクトからの特徴を表し得、新しいMLプロジェクトの新しいデータセット106及び新しいMLタスク108から導出され得る。構造化クエリ800は、患者の年齢(age)、ジェンダー(gender)、身長(height)、体重(weight)、血圧(blood pressure)、グルコース(glucose)、喫煙(smoking)及びアルコール習慣、並びに患者の活動レベルを所与として患者が心血管疾患を有するかどうかを予測するように構成された新しい心血管疾患関連のMLプロジェクトの特徴を表すことができる。図8は、新しいMLプロジェクトに関して方法300の様々なブロックがどのように実行され得るかの例を提供するためにここで論じられる。
図8に示す例において、構造化クエリ800は、新しいMLプロジェクトから抽出された様々な特徴を表す。詳細には、1つ以上のプロジェクト特徴は、<topics>タグで表される1つ以上のプロジェクトトピック特徴を含んでもよい。さらに、1つ以上のデータセット特徴は、<attributes>タグで表される1つ以上のデータセット属性特徴、<dataset-value-properties>タグで表される1つ以上のデータセット統計特徴、及び<predictive-task>タグで表される1つ以上のターゲットタスク特徴を含んでもよい。パイプライン特徴は新しいデータセット106及び新しいMLタスク108から導出されない可能性があり、代わりに既存のMLプロジェクトから生成され(例えば、コピーされ)得るため、パイプライン特徴は構造化クエリ800の初期定式化に含まれないことが留意される。
本開示の範囲から逸脱することなく、構造化クエリ800に対して修正、追加、又は省略がなされ得る。例えば、様々な他の特徴及び/又は他のタグが構造化クエリ800に含まれてもよく、様々なタグが除去されてもよく、かつ/あるいは様々なタグが異なる順序で含まれてもよい。
図9は、本開示に記載される少なくとも1つの実施形態による、類似度スコアを計算する一例示的な方法900のフローチャートである。図10は、構造化クエリ1000としてフォーマットされた新しいMLプロジェクトのための一例示的な再定式化クエリを示す。図9及び図10は、MLプロジェクトコーパス104に記憶された既存のMLプロジェクト及び新しいMLプロジェクトに関して方法300の様々なブロックがどのように実行され得るかの例を提供するためにここで論じられる。
図9に示す例では、MLプロジェクトコーパス104に記憶された既存のMLプロジェクトの各々から様々な特徴が抽出され得、プロジェクト特徴、データセット特徴、及びパイプライン特徴が含まれる。プロジェクトトピックは、MLタスク記述及び/又はノートブックから導出されてもよく、MLプロジェクトを高レベル及び低レベルで記述する重要なキーワードを含み得る(例えば、糖尿病データセットでは、プロジェクトトピックは、社会(society)、健康(health)、内分泌状態(endocrine conditions)、糖尿病(diabetes)、ヘルスケア(healthcare)、及び疾患(disease)でもよい)。データセット属性は、MLタスク記述及び/又はデータセットから導出されてもよく、データセット列の記述を含み得る(例えば、糖尿病データセットでは、データセット属性は、年齢、インスリン、BMIなどを含んでもよい)。データセット統計は、データセットから導出されてもよく、データの性質を型及び分布の観点(例えば、最小値、最大値、中央値、数値(Numeric)、又はカテゴリ(Categoric)など)で含み得る。ターゲットタスクは、MLタスク記述及び/又はノートブックから導出されてもよく、タスクの名前及び性質を含み得る(例えば、患者が糖尿病を有するかどうかを予測することは、分類(classification)タスクでもよい)。ライブラリは、MLパイプラインから導出されてもよく、MLプロジェクトのMLパイプラインを実装するために使用されるライブラリ(例えば、Keras、scikit、pandasなど)を含み得る。前処理は、MLパイプラインから導出されてもよく、特徴を前処理するため(例えば、欠損値の補充、スケーリング、様々な変換の適用)に使用されるAPIを含み得る。モデルは、MLパイプラインから導出されてもよく、予測タスクを解決するために使用される教師付き学習手法と、MLモデル(例えば、ロジスティック回帰(Logistic regression)、ランダムフォレスト、ニューラルネットワークなど)を実装するために使用される全てのAPIを含み得る。
同様に、新しいMLプロジェクトの新しいデータセット106及び新しいMLタスク108から様々な特徴が抽出され得、プロジェクト特徴及びデータセット特徴が含まれるが、パイプライン特徴は含まれず、なぜならば、これらは新しいデータセット106及び新しいMLタスク108から抽出できない可能性があるためである。代わりに、新しいMLプロジェクトのパイプライン特徴は、既存のMLプロジェクトのうち1つ以上のパイプライン特徴から生成され(コピーされ)得る。
例えば、図3の方法300のブロック308で実行される第1の検索の間、類似度スコアS1、S2、S3、及びS4が、(例えば、構造化クエリ800内の特徴を、構造化文書600及び700、並びにMLプロジェクトコーパス104に記憶された全ての他の既存のMLプロジェクトの全ての他の構造化文書内の特徴と比較することにより)計算され、集計され得る。この計算及び集計は、新しいMLプロジェクトのプロジェクト特徴及びデータセット特徴と最も類似しているプロジェクト特徴及びデータセット特徴を有する、MLプロジェクトコーパス104からの既存のMLプロジェクトの第1ランク付けセットを決定することができる。いくつかの実施形態において、類似度スコアは、特定の類似度スコアが他の類似度スコアより大きく重み付けされて特定の特徴に対するより高い優先順位及び他の特徴に対するより低い優先順位を反映するように、個々に重み付けされてもよい。
次いで、図3の方法300のブロック310の間、新しいMLプロジェクトのパイプライン特徴は、既存のMLプロジェクトのこの第1ランク付けセットから導出され得る。例えば、データセット統計特徴は前処理API特徴と相関する傾向があるため、新しいMLプロジェクトの前処理API特徴は、データセット統計特徴について最も高い類似度スコアS3を有する、既存のMLプロジェクトの第1のランク付けセット内の既存のMLプロジェクトの前処理API特徴から導出されてもよい(例えば、構造化クエリ800は、構造化クエリ1000に開示されるように、構造化文書700からの<preprocess>タグで拡張され得る)。同様に、ターゲットタスク特徴はモデル特徴と相関する傾向があるため、新しいMLプロジェクトのモデル特徴は、ターゲットタスク特徴について最も高い類似度スコアS4を有する、既存のMLプロジェクトの第1のランク付けセット内の既存のMLプロジェクトのモデル特徴から導出されてもよい(例えば、構造化クエリ800は、構造化クエリ1000に開示されるように、構造化文書600からの<model>タグにより拡張され得る)。したがって、構造化クエリ800は、擬似関連性フィードバックを通じて再定式化され得、その結果、再定式化された構造化クエリ1000がもたらされる。
次に、図3の方法300のブロック314で実行される第2の検索の間、類似度スコアS1、S2、S3、S4、S5、S6、及びS7が、(例えば、再定式化された構造化クエリ1000の特徴を、構造化文書600及び700、並びにMLプロジェクトコーパスに記憶された全ての他の既存のMLプロジェクトの全ての他の構造化文書内の特徴と比較することにより)計算され、集計され得る。この計算及び集計は、新しいMLプロジェクトのプロジェクト特徴、データセット特徴、及びパイプライン特徴に最も類似しているプロジェクト特徴、データセット特徴、及びパイプライン特徴を有する、MLプロジェクトコーパス104からの既存のMLプロジェクトの第2のランク付けセット(例えば、関連する既存のMLプロジェクト110)を決定することができる。いくつかの実施形態において、方法900の類似度スコアは、様々な方法で計算され得る。例えば、類似度スコアS1、S2、S6、及びS7は、BM25ベースのベクトル空間モデルを使用して計算されるのに特に適し得る。さらに、類似度スコアS3、S4、及びS5は、距離計算を使用して計算されるのに特に適し得る。
最後、図3の方法300のブロック316において、関連する既存のMLプロジェクト110内の1つ以上の最も高いランク付けの既存のMLプロジェクトが、新しいMLプロジェクトの新しいMLパイプライン112への自動又は手動の適合を含む、新しいMLプロジェクトでの使用に最も適合可能であるとして推奨され得る。
本開示の範囲から逸脱することなく、方法900又は構造化クエリ1000に対して修正、追加、又は省略がなされ得る。例えば、方法900の動作のいくつかは異なる順序で実施されてもよい。さらに又は代わりに、2つ以上の動作が同時に実行されてもよい。さらに、概説された動作及びアクションは例として提供されているに過ぎず、動作及びアクションのいくつかが、開示される実施形態を損なうことなく任意でもよく、より少ない動作及びアクションに組み合わせられてもよく、あるいはさらなる動作及びアクションに拡張されてもよい。さらに、様々な他の特徴及び/又は他のタグが構造化クエリ1000に含まれてもよく、様々なタグが除去されてもよく、かつ/あるいは様々なタグが異なる順序で含まれてもよい。
上述のように、本開示に記載される実施形態は、以下でより詳細に論じられるように、様々なコンピュータハードウェア又はソフトウェアモジュールを含む専用又は汎用コンピュータの使用を含んでもよい。さらに、上述のように、本開示に記載される実施形態は、記憶されたコンピュータ実行可能命令又はデータ構造を搬送し又は有するコンピュータ読取可能媒体を使用して実施されてもよい。
本開示で用いられるとき、用語「モジュール」又は「コンポーネント」は、モジュール又はコンポーネントのアクションを実行するように構成された特定のハードウェア実装、及び/又はコンピューティングシステムの汎用ハードウェア(例えば、コンピュータ読取可能媒体、処理デバイスなど)に記憶及び/又は実行され得るソフトウェアオブジェクト又はソフトウェアルーチンを参照し得る。いくつかの実施形態において、本開示に記載される異なるコンポーネント、モジュール、エンジン、及びサービスが、コンピューティングシステム上で実行するオブジェクト又はプロセスとして(例えば、別個のスレッドとして)実現されてもよい。本開示に記載されるシステム及び方法のいくつかは、(汎用ハードウェアに記憶及び/又は実行される)ソフトウェアで実現されるものとして一般に記載されるが、特定のハードウェア実装、又はソフトウェアと特定のハードウェア実装との組み合わせもまた可能であり、企図される。本説明において、「コンピューティングエンティティ」は、本開示において前に定義された任意のコンピューティングシステム、又はコンピューティングシステム上で動作する任意のモジュール又はモジュレートの組み合わせでもよい。
本開示において、特に別記の特許請求の範囲(例えば、別記の特許請求の範囲の本文)において用いられる用語は、一般に「開放的」な用語として意図されている(例えば、用語「含んでいる」は、「含んでいるがこれに限定されない」と解釈されるべきであり、用語「有する」は、「少なくとも有する」と解釈されるべきであり、用語「含む」は、「含むがこれに限定されない」と解釈されるべきである等)。
さらに、特定数の導入された請求項記載が意図されている場合、そのような意図は請求項に明示的に記載され、そのような記載がない場合、そのような意図は存在しない。例えば、理解の助けとして、以下の別記の特許請求の範囲は、請求項記載を導入するために、導入フレーズ「少なくとも1つの」及び「1つ以上の」の使用を含むことがある。しかしながら、そのようなフレーズの使用は、不定冠詞「一の」(“a”又は“an”)による請求項記載の導入が、同じ請求項が導入フレーズ「1つ以上の」又は「少なくとも1つの」と「一の」などの不定冠詞とを含むときでも、そのような導入された請求項記載を含む任意の特定の請求項を1つのそのような記載のみ含む実施形態に限定することを暗に示すように見なされるべきではない(例えば、「一の」(“a”及び/又は“an”)は「少なくとも1つの」又は「1つ以上の」を意味するよう解釈されるべきである)。請求項記載を導入するために用いられる定冠詞の使用についても同様である。
さらに、特定数の導入された請求項記載が明示的に記載されている場合であっても、当業者は、そのような記載は少なくとも記載された数を意味するよう解釈されるべきであることを認識するであろう(例えば、他の修飾語を伴わない「2つの記載」というただそれだけの記載は、少なくとも2つの記載、又は2つ以上の記載を意味する)。さらに、「A、B、及びC等のうち少なくとも1つ」又は「A、B、及びC等のうち1つ以上」と類似の規定が用いられている例において、一般に、そのような構造は、A単独、B単独、C単独、A及びB共に、A及びC共に、B及びC共に、又はA、B、及びC共に等を含むことが意図される。フレーズ「A又はB」のこの解釈は、用語「A及び/又はB」が「A」又は「B」又は「A及びB」の可能性を含むように時に用いられ得るとしても、依然として適用可能である。
さらに、明細書においてか、特許請求の範囲においてか、又は図面においてかにかかわらず、2つ以上の代替的な用語を提示するいかなる分離的なワード又はフレーズも、用語のうち1つ、用語のうちいずれか、又は双方の用語を含む可能性を考慮するよう理解されるべきである。例えば、フレーズ「A又はB」は、「A」又は「B」又は「A及びB」の可能性を含むよう理解されるべきである。
本開示に記載される全ての例及び条件付き言語は、本開示及び発明者が当該技術分野を促進するために寄与した概念を理解する際に読者を助けるための教育的目的が意図され、このように具体的に記載された例及び条件に限定されないものとみなされるべきである。本開示の実施形態が詳細に説明されたが、本開示の主旨及び範囲から逸脱することなく様々な変更、置換、及び改変がなされ得る。
上記の実施形態につき以下の付記を残しておく。
(付記1)
既存の機械学習(ML)プロジェクトのセット内の既存のMLプロジェクトごとに、前記既存のMLプロジェクトから第1のプロジェクト特徴、第1のデータセット特徴、及び第1のパイプライン特徴を抽出し、前記既存のMLプロジェクトの前記第1のプロジェクト特徴、前記第1のデータセット特徴、及び前記第1のパイプライン特徴をコーパスに記憶するステップと、
第2のMLプロジェクトからの第2のプロジェクト特徴及び第2のデータセット特徴に基づいて第1の検索クエリを生成するステップと、
前記第1の検索クエリに基づいて前記コーパス上で第1の検索を実行して1つ以上の第1の類似度スコアに基づいて前記既存のMLプロジェクトの第1のランク付けセットを生成するステップと、
前記既存のMLプロジェクトの前記第1のランク付けセットの前記第1のパイプライン特徴に基づいて第2のパイプライン特徴を生成するステップと、
前記第2のプロジェクト特徴、前記第2のデータセット特徴、及び前記第2のパイプライン特徴に基づいて第2の検索クエリを生成するステップと、
前記第2の検索クエリに基づいて前記コーパス上で第2の検索を実行して1つ以上の第2の類似度スコアに基づいて前記既存のMLプロジェクトの第2のランク付けセットを生成するステップと、
前記既存のMLプロジェクトの前記第2のランク付けセット内の最も高いランク付けの既存のMLプロジェクトを前記第2のMLプロジェクトでの使用に適合可能として推奨するステップと、
を含む方法。
(付記2)
前記記憶するステップの前に、ストップワードの除去、ステミング、コード識別子のトークン化、略語の完全な単語へのマッピング、及び同義語の決定のうち1つ以上を実行することにより、前記第1のプロジェクト特徴、前記第1のデータセット特徴、及び前記第1のパイプライン特徴を正規化するステップ、をさらに含む付記1に記載の方法。
(付記3)
前記記憶するステップの前、及び前記正規化するステップの後に、前記正規化された第1のプロジェクト特徴、前記正規化された第1のデータセット特徴、及び前記正規化された第1のパイプライン特徴を構造化文書にフォーマットするステップ、をさらに含む付記2に記載の方法。
(付記4)
前記記憶するステップは、前記コーパスにおいて前記構造化文書をインデキシングすることをさらに含む、付記3に記載の方法。
(付記5)
前記既存のMLプロジェクトの前記第1のデータセット特徴は、1つ以上の第1のデータセット属性特徴、1つ以上の第1のデータセット統計特徴、及び1つ以上の第1のターゲットタスク特徴を含み、
前記第2のMLプロジェクトの前記第2のデータセット特徴は、1つ以上の第2のデータセット属性特徴、1つ以上の第2のデータセット統計特徴、及び1つ以上の第2のターゲットタスク特徴を含む、
付記1に記載の方法。
(付記6)
前記コーパス上で前記第1の検索を実行することは、
前記第2のプロジェクト特徴と前記コーパス内の前記第1のプロジェクト特徴の各々との間、前記1つ以上の第2のデータセット属性特徴と前記コーパス内の前記第1のデータセット属性特徴の各々との間、前記1つ以上の第2のデータセット統計特徴と前記コーパス内の前記第1のデータセット統計特徴の各々との間、及び前記1つ以上の第2のターゲットタスク特徴と前記コーパス内の前記第1のターゲットタスク特徴の各々との間の、前記既存のMLプロジェクトの各々についての中間類似度スコアを生成することと、
前記既存のMLプロジェクトの各々についての前記中間類似度スコアをランク付け関数に基づいて前記1つ以上の第1の類似度スコアのうち1つに集計することと、
前記1つ以上の第1の類似度スコアに基づいて前記既存のMLプロジェクトをランク付けすることと、
を含む、付記5に記載の方法。
(付記7)
前記既存のMLプロジェクトの各々の前記第1のパイプライン特徴は、第1の前処理アプリケーションプログラムインターフェース(API)特徴及び第1のモデル特徴を含み、
前記第2のMLプロジェクトの前記第2のパイプライン特徴は、第2の前処理API特徴及び第2のモデル特徴を含む、
付記6に記載の方法。
(付記8)
前記第2のMLプロジェクトのための前記第2のパイプライン特徴を生成することは、
第1の既存のMLプロジェクトが前記1つ以上の第2のデータセット統計特徴と前記第1の既存のMLプロジェクトの前記1つ以上の第1のデータセット統計特徴との間で最も高い第1の類似度スコアを有することに基づいて、前記第1のランク付けセットから前記第1の既存のMLプロジェクトを選択することと、
前記1つ以上の第2の前処理API特徴を、前記第1の既存のMLプロジェクトの前記1つ以上の第1の前処理API特徴に設定することと、
第2の既存のMLプロジェクトが前記1つ以上の第2のターゲットタスク特徴と前記第2の既存のMLプロジェクトの前記1つ以上の第1のターゲットタスク特徴との間で最も高い第1の類似度スコアを有することに基づいて、前記第1のランク付けセットから前記第2の既存のMLプロジェクトを選択することと、
前記1つ以上の第2のモデル特徴を、前記第2の既存のMLプロジェクトの前記第1のモデル特徴に設定することと、
を含む、付記7に記載の方法。
(付記9)
実行されることに応答してシステムに動作を実行させる命令を記憶するように構成された1つ以上の非一時的コンピュータ読取可能記憶媒体であって、前記動作は、
既存の機械学習(ML)プロジェクトのセット内の既存のMLプロジェクトごとに、前記既存のMLプロジェクトから第1のプロジェクト特徴、第1のデータセット特徴、及び第1のパイプライン特徴を抽出し、前記既存のMLプロジェクトの前記第1のプロジェクト特徴、前記第1のデータセット特徴、及び前記第1のパイプライン特徴をコーパスに記憶することと、
第2のMLプロジェクトからの第2のプロジェクト特徴及び第2のデータセット特徴に基づいて第1の検索クエリを生成することと、
前記第1の検索クエリに基づいて前記コーパス上で第1の検索を実行して1つ以上の第1の類似度スコアに基づいて前記既存のMLプロジェクトの第1のランク付けセットを生成することと、
前記既存のMLプロジェクトの前記第1のランク付けセットの前記第1のパイプライン特徴に基づいて第2のパイプライン特徴を生成することと、
前記第2のプロジェクト特徴、前記第2のデータセット特徴、及び前記第2のパイプライン特徴に基づいて第2の検索クエリを生成することと、
前記第2の検索クエリに基づいて前記コーパス上で第2の検索を実行して1つ以上の第2の類似度スコアに基づいて前記既存のMLプロジェクトの第2のランク付けセットを生成することと、
前記既存のMLプロジェクトの前記第2のランク付けセット内の最も高いランク付けの既存のMLプロジェクトを前記第2のMLプロジェクトでの使用に適合可能として推奨することと、
を含む、1つ以上の非一時的コンピュータ読取可能記憶媒体。
(付記10)
前記動作は、前記記憶することの前に、ストップワードの除去、ステミング、コード識別子のトークン化、略語の完全な単語へのマッピング、及び同義語の決定のうち1つ以上を実行することにより、前記第1のプロジェクト特徴、前記第1のデータセット特徴、及び前記第1のパイプライン特徴を正規化することをさらに含む、付記9に記載の1つ以上の非一時的コンピュータ読取可能記憶媒体。
(付記11)
前記動作は、前記記憶することの前、及び前記正規化することの後に、前記正規化された第1のプロジェクト特徴、前記正規化された第1のデータセット特徴、及び前記正規化された第1のパイプライン特徴を構造化文書にフォーマットすることをさらに含む、付記10に記載の1つ以上の非一時的コンピュータ読取可能記憶媒体。
(付記12)
前記記憶することは、前記コーパスにおいて前記構造化文書をインデキシングすることをさらに含む、付記11に記載の1つ以上の非一時的コンピュータ読取可能記憶媒体。
(付記13)
前記既存のMLプロジェクトの前記第1のデータセット特徴は、1つ以上の第1のデータセット属性特徴、1つ以上の第1のデータセット統計特徴、及び1つ以上の第1のターゲットタスク特徴を含み、
前記第2のMLプロジェクトの前記第2のデータセット特徴は、1つ以上の第2のデータセット属性特徴、1つ以上の第2のデータセット統計特徴、及び1つ以上の第2のターゲットタスク特徴を含む、
付記9に記載の1つ以上の非一時的コンピュータ読取可能記憶媒体。
(付記14)
前記コーパス上で前記第1の検索を実行することは、
前記第2のプロジェクト特徴と前記コーパス内の前記第1のプロジェクト特徴の各々との間、前記1つ以上の第2のデータセット属性特徴と前記コーパス内の前記第1のデータセット属性特徴の各々との間、前記1つ以上の第2のデータセット統計特徴と前記コーパス内の前記第1のデータセット統計特徴の各々との間、及び前記1つ以上の第2のターゲットタスク特徴と前記コーパス内の前記第1のターゲットタスク特徴の各々との間の、前記既存のMLプロジェクトの各々についての中間類似度スコアを生成することと、
前記既存のMLプロジェクトの各々についての前記中間類似度スコアをランク付け関数に基づいて前記1つ以上の第1の類似度スコアのうち1つに集計することと、
前記1つ以上の第1の類似度スコアに基づいて前記既存のMLプロジェクトをランク付けすることと、
を含む、付記13に記載の1つ以上の非一時的コンピュータ読取可能記憶媒体。
(付記15)
前記既存のMLプロジェクトの各々の前記第1のパイプライン特徴は、第1の前処理アプリケーションプログラムインターフェース(API)特徴及び第1のモデル特徴を含み、
前記第2のMLプロジェクトの前記第2のパイプライン特徴は、第2の前処理API特徴及び第2のモデル特徴を含む、
付記14に記載の1つ以上の非一時的コンピュータ読取可能記憶媒体。
(付記16)
前記第2のMLプロジェクトのための前記第2のパイプライン特徴を生成することは、
第1の既存のMLプロジェクトが前記1つ以上の第2のデータセット統計特徴と前記第1の既存のMLプロジェクトの前記1つ以上の第1のデータセット統計特徴との間で最も高い第1の類似度スコアを有することに基づいて、前記第1のランク付けセットから前記第1の既存のMLプロジェクトを選択することと、
前記1つ以上の第2の前処理API特徴を、前記第1の既存のMLプロジェクトの前記1つ以上の第1の前処理API特徴に設定することと、
第2の既存のMLプロジェクトが前記1つ以上の第2のターゲットタスク特徴と前記第2の既存のMLプロジェクトの前記1つ以上の第1のターゲットタスク特徴との間で最も高い第1の類似度スコアを有することに基づいて、前記第1のランク付けセットから前記第2の既存のMLプロジェクトを選択することと、
前記1つ以上の第2のモデル特徴を、前記第2の既存のMLプロジェクトの前記第1のモデル特徴に設定することと、
を含む、付記15に記載の1つ以上の非一時的コンピュータ読取可能記憶媒体。
(付記17)
システムであって、
1つ以上のプロセッサと、
前記1つ以上のプロセッサにより実行されることに応答して当該システムに動作を実行させる命令を記憶するように構成された1つ以上の非一時的コンピュータ読取可能記憶媒体と、を含み、前記動作は、
既存の機械学習(ML)プロジェクトのセット内の既存のMLプロジェクトごとに、前記既存のMLプロジェクトから第1のプロジェクト特徴、第1のデータセット特徴、及び第1のパイプライン特徴を抽出し、前記既存のMLプロジェクトの前記第1のプロジェクト特徴、前記第1のデータセット特徴、及び前記第1のパイプライン特徴をコーパスに記憶することと、
第2のMLプロジェクトからの第2のプロジェクト特徴及び第2のデータセット特徴に基づいて第1の検索クエリを生成することと、
前記第1の検索クエリに基づいて前記コーパス上で第1の検索を実行して1つ以上の第1の類似度スコアに基づいて前記既存のMLプロジェクトの第1のランク付けセットを生成することと、
前記既存のMLプロジェクトの前記第1のランク付けセットの前記第1のパイプライン特徴に基づいて第2のパイプライン特徴を生成することと、
前記第2のプロジェクト特徴、前記第2のデータセット特徴、及び前記第2のパイプライン特徴に基づいて第2の検索クエリを生成することと、
前記第2の検索クエリに基づいて前記コーパス上で第2の検索を実行して1つ以上の第2の類似度スコアに基づいて前記既存のMLプロジェクトの第2のランク付けセットを生成することと、
前記既存のMLプロジェクトの前記第2のランク付けセット内の最も高いランク付けの既存のMLプロジェクトを前記第2のMLプロジェクトでの使用に適合可能として推奨することと、
を含む、システム。
(付記18)
前記動作は、
前記記憶することの前に、ストップワードの除去、ステミング、コード識別子のトークン化、略語の完全な単語へのマッピング、及び同義語の決定のうち1つ以上を実行することにより、前記第1のプロジェクト特徴、前記第1のデータセット特徴、及び前記第1のパイプライン特徴を正規化することと、
前記記憶することの前、及び前記正規化することの後に、前記正規化された第1のプロジェクト特徴、前記正規化された第1のデータセット特徴、及び前記正規化された第1のパイプライン特徴を構造化文書にフォーマットすることと、
をさらに含む、付記17に記載のシステム。
(付記19)
前記記憶することは、前記コーパスにおいて前記構造化文書をインデキシングすることをさらに含む、付記18に記載のシステム。
(付記20)
前記既存のMLプロジェクトの前記第1のデータセット特徴は、1つ以上の第1のデータセット属性特徴、1つ以上の第1のデータセット統計特徴、及び1つ以上の第1のターゲットタスク特徴を含み、
前記第2のMLプロジェクトの前記第2のデータセット特徴は、1つ以上の第2のデータセット属性特徴、1つ以上の第2のデータセット統計特徴、及び1つ以上の第2のターゲットタスク特徴を含み、
前記コーパス上で前記第1の検索を実行することは、
前記第2のプロジェクト特徴と前記コーパス内の前記第1のプロジェクト特徴の各々との間、前記1つ以上の第2のデータセット属性特徴と前記コーパス内の前記第1のデータセット属性特徴の各々との間、前記1つ以上の第2のデータセット統計特徴と前記コーパス内の前記第1のデータセット統計特徴の各々との間、及び前記1つ以上の第2のターゲットタスク特徴と前記コーパス内の前記第1のターゲットタスク特徴の各々との間の、前記既存のMLプロジェクトの各々についての中間類似度スコアを生成することと、
前記既存のMLプロジェクトの各々についての前記中間類似度スコアをランク付け関数に基づいて前記1つ以上の第1の類似度スコアのうち1つに集計することと、
前記1つ以上の第1の類似度スコアに基づいて前記既存のMLプロジェクトをランク付けすることと、
を含み、
前記既存のMLプロジェクトの各々の前記第1のパイプライン特徴は、第1の前処理アプリケーションプログラムインターフェース(API)特徴及び第1のモデル特徴を含み、
前記第2のMLプロジェクトの前記第2のパイプライン特徴は、第2の前処理API特徴及び第2のモデル特徴を含み、
前記第2のMLプロジェクトのための前記第2のパイプライン特徴を生成することは、
第1の既存のMLプロジェクトが前記1つ以上の第2のデータセット統計特徴と前記第1の既存のMLプロジェクトの前記1つ以上の第1のデータセット統計特徴との間で最も高い第1の類似度スコアを有することに基づいて、前記第1のランク付けセットから前記第1の既存のMLプロジェクトを選択することと、
前記1つ以上の第2の前処理API特徴を、前記第1の既存のMLプロジェクトの前記1つ以上の第1の前処理API特徴に設定することと、
第2の既存のMLプロジェクトが前記1つ以上の第2のターゲットタスク特徴と前記第2の既存のMLプロジェクトの前記1つ以上の第1のターゲットタスク特徴との間で最も高い第1の類似度スコアを有することに基づいて、前記第1のランク付けセットから前記第2の既存のMLプロジェクトを選択することと、
前記1つ以上の第2のモデル特徴を、前記第2の既存のMLプロジェクトの前記第1のモデル特徴に設定することと、
を含む、付記17に記載のシステム。

Claims (20)

  1. 既存の機械学習(ML)プロジェクトのセット内の既存のMLプロジェクトごとに、前記既存のMLプロジェクトから第1のプロジェクト特徴、第1のデータセット特徴、及び第1のパイプライン特徴を抽出し、前記既存のMLプロジェクトの前記第1のプロジェクト特徴、前記第1のデータセット特徴、及び前記第1のパイプライン特徴をコーパスに記憶するステップと、
    第2のMLプロジェクトからの第2のプロジェクト特徴及び第2のデータセット特徴に基づいて第1の検索クエリを生成するステップと、
    前記第1の検索クエリに基づいて前記コーパス上で第1の検索を実行して1つ以上の第1の類似度スコアに基づいて前記既存のMLプロジェクトの第1のランク付けセットを生成するステップと、
    前記既存のMLプロジェクトの前記第1のランク付けセットの前記第1のパイプライン特徴に基づいて第2のパイプライン特徴を生成するステップと、
    前記第2のプロジェクト特徴、前記第2のデータセット特徴、及び前記第2のパイプライン特徴に基づいて第2の検索クエリを生成するステップと、
    前記第2の検索クエリに基づいて前記コーパス上で第2の検索を実行して1つ以上の第2の類似度スコアに基づいて前記既存のMLプロジェクトの第2のランク付けセットを生成するステップと、
    前記既存のMLプロジェクトの前記第2のランク付けセット内の最も高いランク付けの既存のMLプロジェクトを前記第2のMLプロジェクトでの使用に適合可能として推奨するステップと、
    を含む方法。
  2. 前記記憶するステップの前に、ストップワードの除去、ステミング、コード識別子のトークン化、略語の完全な単語へのマッピング、及び同義語の決定のうち1つ以上を実行することにより、前記第1のプロジェクト特徴、前記第1のデータセット特徴、及び前記第1のパイプライン特徴を正規化するステップ、をさらに含む請求項1に記載の方法。
  3. 前記記憶するステップの前、及び前記正規化するステップの後に、前記正規化された第1のプロジェクト特徴、前記正規化された第1のデータセット特徴、及び前記正規化された第1のパイプライン特徴を構造化文書にフォーマットするステップ、をさらに含む請求項2に記載の方法。
  4. 前記記憶するステップは、前記コーパスにおいて前記構造化文書をインデキシングすることをさらに含む、請求項3に記載の方法。
  5. 前記既存のMLプロジェクトの前記第1のデータセット特徴は、1つ以上の第1のデータセット属性特徴、1つ以上の第1のデータセット統計特徴、及び1つ以上の第1のターゲットタスク特徴を含み、
    前記第2のMLプロジェクトの前記第2のデータセット特徴は、1つ以上の第2のデータセット属性特徴、1つ以上の第2のデータセット統計特徴、及び1つ以上の第2のターゲットタスク特徴を含む、
    請求項1に記載の方法。
  6. 前記コーパス上で前記第1の検索を実行することは、
    前記第2のプロジェクト特徴と前記コーパス内の前記第1のプロジェクト特徴の各々との間、前記1つ以上の第2のデータセット属性特徴と前記コーパス内の前記第1のデータセット属性特徴の各々との間、前記1つ以上の第2のデータセット統計特徴と前記コーパス内の前記第1のデータセット統計特徴の各々との間、及び前記1つ以上の第2のターゲットタスク特徴と前記コーパス内の前記第1のターゲットタスク特徴の各々との間の、前記既存のMLプロジェクトの各々についての中間類似度スコアを生成することと、
    前記既存のMLプロジェクトの各々についての前記中間類似度スコアをランク付け関数に基づいて前記1つ以上の第1の類似度スコアのうち1つに集計することと、
    前記1つ以上の第1の類似度スコアに基づいて前記既存のMLプロジェクトをランク付けすることと、
    を含む、請求項5に記載の方法。
  7. 前記既存のMLプロジェクトの各々の前記第1のパイプライン特徴は、第1の前処理アプリケーションプログラムインターフェース(API)特徴及び第1のモデル特徴を含み、
    前記第2のMLプロジェクトの前記第2のパイプライン特徴は、第2の前処理API特徴及び第2のモデル特徴を含む、
    請求項6に記載の方法。
  8. 前記第2のMLプロジェクトのための前記第2のパイプライン特徴を生成することは、
    第1の既存のMLプロジェクトが前記1つ以上の第2のデータセット統計特徴と前記第1の既存のMLプロジェクトの前記1つ以上の第1のデータセット統計特徴との間で最も高い第1の類似度スコアを有することに基づいて、前記第1のランク付けセットから前記第1の既存のMLプロジェクトを選択することと、
    前記1つ以上の第2の前処理API特徴を、前記第1の既存のMLプロジェクトの前記1つ以上の第1の前処理API特徴に設定することと、
    第2の既存のMLプロジェクトが前記1つ以上の第2のターゲットタスク特徴と前記第2の既存のMLプロジェクトの前記1つ以上の第1のターゲットタスク特徴との間で最も高い第1の類似度スコアを有することに基づいて、前記第1のランク付けセットから前記第2の既存のMLプロジェクトを選択することと、
    前記1つ以上の第2のモデル特徴を、前記第2の既存のMLプロジェクトの前記第1のモデル特徴に設定することと、
    を含む、請求項7に記載の方法。
  9. システムに動作を実行させるコンピュータプログラムであって、前記動作は、
    既存の機械学習(ML)プロジェクトのセット内の既存のMLプロジェクトごとに、前記既存のMLプロジェクトから第1のプロジェクト特徴、第1のデータセット特徴、及び第1のパイプライン特徴を抽出し、前記既存のMLプロジェクトの前記第1のプロジェクト特徴、前記第1のデータセット特徴、及び前記第1のパイプライン特徴をコーパスに記憶することと、
    第2のMLプロジェクトからの第2のプロジェクト特徴及び第2のデータセット特徴に基づいて第1の検索クエリを生成することと、
    前記第1の検索クエリに基づいて前記コーパス上で第1の検索を実行して1つ以上の第1の類似度スコアに基づいて前記既存のMLプロジェクトの第1のランク付けセットを生成することと、
    前記既存のMLプロジェクトの前記第1のランク付けセットの前記第1のパイプライン特徴に基づいて第2のパイプライン特徴を生成することと、
    前記第2のプロジェクト特徴、前記第2のデータセット特徴、及び前記第2のパイプライン特徴に基づいて第2の検索クエリを生成することと、
    前記第2の検索クエリに基づいて前記コーパス上で第2の検索を実行して1つ以上の第2の類似度スコアに基づいて前記既存のMLプロジェクトの第2のランク付けセットを生成することと、
    前記既存のMLプロジェクトの前記第2のランク付けセット内の最も高いランク付けの既存のMLプロジェクトを前記第2のMLプロジェクトでの使用に適合可能として推奨することと、
    を含む、コンピュータプログラム。
  10. 前記動作は、前記記憶することの前に、ストップワードの除去、ステミング、コード識別子のトークン化、略語の完全な単語へのマッピング、及び同義語の決定のうち1つ以上を実行することにより、前記第1のプロジェクト特徴、前記第1のデータセット特徴、及び前記第1のパイプライン特徴を正規化することをさらに含む、請求項9に記載のコンピュータプログラム。
  11. 前記動作は、前記記憶することの前、及び前記正規化することの後に、前記正規化された第1のプロジェクト特徴、前記正規化された第1のデータセット特徴、及び前記正規化された第1のパイプライン特徴を構造化文書にフォーマットすることをさらに含む、請求項10に記載のコンピュータプログラム。
  12. 前記記憶することは、前記コーパスにおいて前記構造化文書をインデキシングすることをさらに含む、請求項11に記載のコンピュータプログラム。
  13. 前記既存のMLプロジェクトの前記第1のデータセット特徴は、1つ以上の第1のデータセット属性特徴、1つ以上の第1のデータセット統計特徴、及び1つ以上の第1のターゲットタスク特徴を含み、
    前記第2のMLプロジェクトの前記第2のデータセット特徴は、1つ以上の第2のデータセット属性特徴、1つ以上の第2のデータセット統計特徴、及び1つ以上の第2のターゲットタスク特徴を含む、
    請求項9に記載のコンピュータプログラム。
  14. 前記コーパス上で前記第1の検索を実行することは、
    前記第2のプロジェクト特徴と前記コーパス内の前記第1のプロジェクト特徴の各々との間、前記1つ以上の第2のデータセット属性特徴と前記コーパス内の前記第1のデータセット属性特徴の各々との間、前記1つ以上の第2のデータセット統計特徴と前記コーパス内の前記第1のデータセット統計特徴の各々との間、及び前記1つ以上の第2のターゲットタスク特徴と前記コーパス内の前記第1のターゲットタスク特徴の各々との間の、前記既存のMLプロジェクトの各々についての中間類似度スコアを生成することと、
    前記既存のMLプロジェクトの各々についての前記中間類似度スコアをランク付け関数に基づいて前記1つ以上の第1の類似度スコアのうち1つに集計することと、
    前記1つ以上の第1の類似度スコアに基づいて前記既存のMLプロジェクトをランク付けすることと、
    を含む、請求項13に記載のコンピュータプログラム。
  15. 前記既存のMLプロジェクトの各々の前記第1のパイプライン特徴は、第1の前処理アプリケーションプログラムインターフェース(API)特徴及び第1のモデル特徴を含み、
    前記第2のMLプロジェクトの前記第2のパイプライン特徴は、第2の前処理API特徴及び第2のモデル特徴を含む、
    請求項14に記載のコンピュータプログラム。
  16. 前記第2のMLプロジェクトのための前記第2のパイプライン特徴を生成することは、
    第1の既存のMLプロジェクトが前記1つ以上の第2のデータセット統計特徴と前記第1の既存のMLプロジェクトの前記1つ以上の第1のデータセット統計特徴との間で最も高い第1の類似度スコアを有することに基づいて、前記第1のランク付けセットから前記第1の既存のMLプロジェクトを選択することと、
    前記1つ以上の第2の前処理API特徴を、前記第1の既存のMLプロジェクトの前記1つ以上の第1の前処理API特徴に設定することと、
    第2の既存のMLプロジェクトが前記1つ以上の第2のターゲットタスク特徴と前記第2の既存のMLプロジェクトの前記1つ以上の第1のターゲットタスク特徴との間で最も高い第1の類似度スコアを有することに基づいて、前記第1のランク付けセットから前記第2の既存のMLプロジェクトを選択することと、
    前記1つ以上の第2のモデル特徴を、前記第2の既存のMLプロジェクトの前記第1のモデル特徴に設定することと、
    を含む、請求項15に記載のコンピュータプログラム。
  17. システムであって、
    1つ以上のプロセッサと、
    前記1つ以上のプロセッサにより実行されることに応答して当該システムに動作を実行させる命令を記憶するように構成された1つ以上の非一時的コンピュータ読取可能記憶媒体と、を含み、前記動作は、
    既存の機械学習(ML)プロジェクトのセット内の既存のMLプロジェクトごとに、前記既存のMLプロジェクトから第1のプロジェクト特徴、第1のデータセット特徴、及び第1のパイプライン特徴を抽出し、前記既存のMLプロジェクトの前記第1のプロジェクト特徴、前記第1のデータセット特徴、及び前記第1のパイプライン特徴をコーパスに記憶することと、
    第2のMLプロジェクトからの第2のプロジェクト特徴及び第2のデータセット特徴に基づいて第1の検索クエリを生成することと、
    前記第1の検索クエリに基づいて前記コーパス上で第1の検索を実行して1つ以上の第1の類似度スコアに基づいて前記既存のMLプロジェクトの第1のランク付けセットを生成することと、
    前記既存のMLプロジェクトの前記第1のランク付けセットの前記第1のパイプライン特徴に基づいて第2のパイプライン特徴を生成することと、
    前記第2のプロジェクト特徴、前記第2のデータセット特徴、及び前記第2のパイプライン特徴に基づいて第2の検索クエリを生成することと、
    前記第2の検索クエリに基づいて前記コーパス上で第2の検索を実行して1つ以上の第2の類似度スコアに基づいて前記既存のMLプロジェクトの第2のランク付けセットを生成することと、
    前記既存のMLプロジェクトの前記第2のランク付けセット内の最も高いランク付けの既存のMLプロジェクトを前記第2のMLプロジェクトでの使用に適合可能として推奨することと、
    を含む、システム。
  18. 前記動作は、
    前記記憶することの前に、ストップワードの除去、ステミング、コード識別子のトークン化、略語の完全な単語へのマッピング、及び同義語の決定のうち1つ以上を実行することにより、前記第1のプロジェクト特徴、前記第1のデータセット特徴、及び前記第1のパイプライン特徴を正規化することと、
    前記記憶することの前、及び前記正規化することの後に、前記正規化された第1のプロジェクト特徴、前記正規化された第1のデータセット特徴、及び前記正規化された第1のパイプライン特徴を構造化文書にフォーマットすることと、
    をさらに含む、請求項17に記載のシステム。
  19. 前記記憶することは、前記コーパスにおいて前記構造化文書をインデキシングすることをさらに含む、請求項18に記載のシステム。
  20. 前記既存のMLプロジェクトの前記第1のデータセット特徴は、1つ以上の第1のデータセット属性特徴、1つ以上の第1のデータセット統計特徴、及び1つ以上の第1のターゲットタスク特徴を含み、
    前記第2のMLプロジェクトの前記第2のデータセット特徴は、1つ以上の第2のデータセット属性特徴、1つ以上の第2のデータセット統計特徴、及び1つ以上の第2のターゲットタスク特徴を含み、
    前記コーパス上で前記第1の検索を実行することは、
    前記第2のプロジェクト特徴と前記コーパス内の前記第1のプロジェクト特徴の各々との間、前記1つ以上の第2のデータセット属性特徴と前記コーパス内の前記第1のデータセット属性特徴の各々との間、前記1つ以上の第2のデータセット統計特徴と前記コーパス内の前記第1のデータセット統計特徴の各々との間、及び前記1つ以上の第2のターゲットタスク特徴と前記コーパス内の前記第1のターゲットタスク特徴の各々との間の、前記既存のMLプロジェクトの各々についての中間類似度スコアを生成することと、
    前記既存のMLプロジェクトの各々についての前記中間類似度スコアをランク付け関数に基づいて前記1つ以上の第1の類似度スコアのうち1つに集計することと、
    前記1つ以上の第1の類似度スコアに基づいて前記既存のMLプロジェクトをランク付けすることと、
    を含み、
    前記既存のMLプロジェクトの各々の前記第1のパイプライン特徴は、第1の前処理アプリケーションプログラムインターフェース(API)特徴及び第1のモデル特徴を含み、
    前記第2のMLプロジェクトの前記第2のパイプライン特徴は、第2の前処理API特徴及び第2のモデル特徴を含み、
    前記第2のMLプロジェクトのための前記第2のパイプライン特徴を生成することは、
    第1の既存のMLプロジェクトが前記1つ以上の第2のデータセット統計特徴と前記第1の既存のMLプロジェクトの前記1つ以上の第1のデータセット統計特徴との間で最も高い第1の類似度スコアを有することに基づいて、前記第1のランク付けセットから前記第1の既存のMLプロジェクトを選択することと、
    前記1つ以上の第2の前処理API特徴を、前記第1の既存のMLプロジェクトの前記1つ以上の第1の前処理API特徴に設定することと、
    第2の既存のMLプロジェクトが前記1つ以上の第2のターゲットタスク特徴と前記第2の既存のMLプロジェクトの前記1つ以上の第1のターゲットタスク特徴との間で最も高い第1の類似度スコアを有することに基づいて、前記第1のランク付けセットから前記第2の既存のMLプロジェクトを選択することと、
    前記1つ以上の第2のモデル特徴を、前記第2の既存のMLプロジェクトの前記第1のモデル特徴に設定することと、
    を含む、請求項17に記載のシステム。
JP2021142495A 2020-09-04 2021-09-01 新規機械学習プロジェクトにおける使用に適合可能な既存機械学習プロジェクトの自動推奨 Pending JP2022044016A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US17/013136 2020-09-04
US17/013,136 US20220076143A1 (en) 2020-09-04 2020-09-04 Automatically recommending an existing machine learning project as adaptable for use in a new machine learning project

Publications (1)

Publication Number Publication Date
JP2022044016A true JP2022044016A (ja) 2022-03-16

Family

ID=77411622

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2021142495A Pending JP2022044016A (ja) 2020-09-04 2021-09-01 新規機械学習プロジェクトにおける使用に適合可能な既存機械学習プロジェクトの自動推奨

Country Status (3)

Country Link
US (1) US20220076143A1 (ja)
EP (1) EP3964980A1 (ja)
JP (1) JP2022044016A (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11360763B2 (en) * 2020-10-13 2022-06-14 International Business Machines Corporation Learning-based automation machine learning code annotation in computational notebooks

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11361243B2 (en) * 2017-06-07 2022-06-14 Accenture Global Solutions Limited Recommending machine learning techniques, features, and feature relevance scores
US11170007B2 (en) * 2019-04-11 2021-11-09 International Business Machines Corporation Headstart for data scientists
US11086891B2 (en) * 2020-01-08 2021-08-10 Subtree Inc. Systems and methods for tracking and representing data science data runs
US11488068B2 (en) * 2020-04-10 2022-11-01 Microsoft Technology Licensing, Llc Machine-learned predictive models and systems for data preparation recommendations
US11403304B2 (en) * 2020-09-02 2022-08-02 Fujitsu Limited Automatically curating existing machine learning projects into a corpus adaptable for use in new machine learning projects

Also Published As

Publication number Publication date
EP3964980A1 (en) 2022-03-09
US20220076143A1 (en) 2022-03-10

Similar Documents

Publication Publication Date Title
US10963794B2 (en) Concept analysis operations utilizing accelerators
US11900064B2 (en) Neural network-based semantic information retrieval
US10102254B2 (en) Confidence ranking of answers based on temporal semantics
US9965548B2 (en) Analyzing natural language questions to determine missing information in order to improve accuracy of answers
US9621601B2 (en) User collaboration for answer generation in question and answer system
US9703536B2 (en) Debugging code using a question and answer system based on documentation and code change records
US9715531B2 (en) Weighting search criteria based on similarities to an ingested corpus in a question and answer (QA) system
CN110457708B (zh) 基于人工智能的词汇挖掘方法、装置、服务器及存储介质
US10552498B2 (en) Ground truth generation for machine learning based quality assessment of corpora
US9535980B2 (en) NLP duration and duration range comparison methodology using similarity weighting
US9760828B2 (en) Utilizing temporal indicators to weight semantic values
US11734322B2 (en) Enhanced intent matching using keyword-based word mover's distance
AU2018226420B2 (en) Voice assisted intelligent searching in mobile documents
Ahmed et al. Named entity recognition by using maximum entropy
US20220351634A1 (en) Question answering systems
US20150294007A1 (en) Performing A Search Based On Entity-Related Criteria
Paydar et al. A semi-automated approach to adapt activity diagrams for new use cases
JP2022044016A (ja) 新規機械学習プロジェクトにおける使用に適合可能な既存機械学習プロジェクトの自動推奨
US20230316082A1 (en) Deterministic training of machine learning models
Guan et al. Egeria: A framework for automatic synthesis of HPC advising tools through multi-layered natural language processing
Radeva et al. Web Application for Retrieval-Augmented Generation: Implementation and Testing
JP2023147236A (ja) 説明により強化された機械学習パイプライン