(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024072804
(43)【公開日】2024-05-28
(54)【発明の名称】カスタム特徴量エンジニアリングのための単位予測
(51)【国際特許分類】
G06F 16/90 20190101AFI20240521BHJP
G06F 18/214 20230101ALI20240521BHJP
G06F 40/56 20200101ALI20240521BHJP
G06F 16/9032 20190101ALI20240521BHJP
【FI】
G06F16/90 100
G06F18/214
G06F40/56
G06F16/9032
【審査請求】未請求
【請求項の数】20
【出願形態】OL
(21)【出願番号】P 2023193032
(22)【出願日】2023-11-13
(31)【優先権主張番号】17/988651
(32)【優先日】2022-11-16
(33)【優先権主張国・地域又は機関】US
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.JAVA
(71)【出願人】
【識別番号】000005223
【氏名又は名称】富士通株式会社
(74)【代理人】
【識別番号】100107766
【弁理士】
【氏名又は名称】伊東 忠重
(74)【代理人】
【識別番号】100070150
【弁理士】
【氏名又は名称】伊東 忠彦
(72)【発明者】
【氏名】リィウ・レイ
(72)【発明者】
【氏名】ドン・イヌリヌ
(72)【発明者】
【氏名】バーラミ・メフディ
(72)【発明者】
【氏名】プラサド・ムクル アール
【テーマコード(参考)】
5B175
【Fターム(参考)】
5B175DA01
5B175EA01
5B175HB03
(57)【要約】
【課題】カスタム特徴量エンジニアリングのための単位予測の方法等を提供する。
【解決手段】方法は、第1タイトル及び第1値を有する第1カラムと、第2タイトル及び第2値を有する第2カラムとを少なくとも含み得るデータセットを取得することを含んでよい。動作は更に、メタデータ類似度値、意味的類似度値、及び/又は測定単位類似度値に基づいて第1カラムと第2カラムとの間の総類似度値を決定することと、総類似度値が閾値よりも小さい場合に第1カラム及び第2カラムをクラスタに加えることと、特徴量エンジニアリング関数を用いて、クラスタに加えるべき新しいカラムを生成することとを含んでもよく、新しいカラムは新しいタイトル及び新しい値を含んでよく、新しい値は、第1値及び/又は第2値に作用することによって特徴量エンジニアリング関数を用いて決定される。更に、動作は、新しいカラムをデータセットに加えることを含んでもよい。
【選択図】
図5
【特許請求の範囲】
【請求項1】
1つ以上のカラムを有し、前記1つ以上のカラムの夫々がタイトル及び少なくとも1つの値を含むデータセットを取得することと、
前記1つ以上のカラムの夫々について、前記タイトルと、前記少なくとも1つの値からのサンプル値とを抽出することと、
前記1つ以上のカラムの夫々について前記タイトル及び前記サンプル値に基づいて質問を合成することと、
回答を得るよう前記質問を言語モデルへ送信することと、
前記質問に対する前記回答から、前記少なくとも1つのカラムの夫々の前記少なくとも1つの値に対する予測された測定の単位を生成することと
を有する方法。
【請求項2】
前記1つ以上のカラムの夫々について前記質問を合成する前に、前記1つ以上のカラムの夫々から前記タイトルを展開することを更に有する、
請求項1に記載の方法。
【請求項3】
合成された前記質問は、機械学習タスク記述を含む、
請求項1に記載の方法。
【請求項4】
複数のサンプル値が前記1つ以上のカラムの夫々について抽出され、複数の質問が合成され、合成された前記質問の数は、予め定義された最小閾値に基づき決定される、
請求項1に記載の方法。
【請求項5】
前記質問を言語モデルへ送信する前に、少なくとも1つの質問-回答対を前記言語モデルへ送信することによって前記言語モデルを訓練することを更に有し、
前記少なくとも1つの質問-回答対は、
測定の単位の例を含む回答例を引き出すよう作成された質問例と、
前記測定の単位の例を含む前記回答例と
を含む、
請求項1に記載の方法。
【請求項6】
少なくとも3つの質問が合成され、
前記予測された測定の単位は、前記言語モデルから受け取られた少なくとも3つの回答から過半数の回答を選択することによって生成される、
請求項1に記載の方法。
【請求項7】
前記予測された測定の単位に基づいて前記データセットの前記1つ以上のカラムの間の類似度値を決定することと、
前記類似度値が閾値よりも大きい場合に、前記データセットの前記1つ以上のカラムを含むクラスタを生成することと、
特徴量エンジニアリング関数を用いて、前記クラスタに加えるべき、新しいタイトル及び少なくとも1つの新しい値を含む新しいカラムを生成することと、
前記新しいタイトル及び前記少なくとも1つの新しい値を含む前記新しいカラムを前記データセットに加えることと、
前記新しいカラムを含む前記データセットを用いて機械学習モデルを訓練することと
を更に有する、
請求項1に記載の方法。
【請求項8】
命令を記憶するよう構成される1つ以上の非一時的なコンピュータ可読記憶媒体であって、
前記命令は、実行されることに応答して、システムに、
1つ以上のカラムを有し、前記1つ以上のカラムの夫々がタイトル及び少なくとも1つの値を含むデータセットを取得することと、
前記1つ以上のカラムの夫々について、前記タイトルと、前記少なくとも1つの値からのサンプル値とを抽出することと、
前記1つ以上のカラムの夫々について前記タイトル及び前記サンプル値に基づいて質問を合成することと、
回答を得るよう前記質問を言語モデルへ送信することと、
前記質問に対する前記回答から、前記少なくとも1つのカラムの夫々の前記少なくとも1つの値に対する予測された測定の単位を生成することと
を有する動作を実行させる、
1つ以上の非一時的なコンピュータ可読記憶媒体。
【請求項9】
前記動作は、前記1つ以上のカラムの夫々について前記質問を合成する前に、前記1つ以上のカラムの夫々から前記タイトルを展開することを更に有する、
請求項8に記載の非一時的なコンピュータ可読記憶媒体。
【請求項10】
合成された前記質問は、機械学習タスク記述に基づく、
請求項8に記載の非一時的なコンピュータ可読記憶媒体。
【請求項11】
複数のサンプル値が前記1つ以上のカラムの夫々について抽出され、複数の質問が合成され、合成された前記質問の数は、予め定義された最小閾値に基づき決定される、
請求項8に記載の非一時的なコンピュータ可読記憶媒体。
【請求項12】
前記動作は、前記質問を言語モデルへ送信する前に、少なくとも1つの質問-回答対を前記言語モデルへ送信することによって前記言語モデルを訓練することを更に有し、
前記質問-回答対は、
測定の単位の例を含む回答例を引き出すよう作成された質問例と、
前記測定の単位の例を含む前記回答例と
を含む、
請求項8に記載の非一時的なコンピュータ可読記憶媒体。
【請求項13】
少なくとも3つの質問が合成され、
前記予測された測定の単位は、前記言語モデルから受け取られた少なくとも3つの回答から過半数の回答を選択することによって生成される、
請求項8に記載の非一時的なコンピュータ可読記憶媒体。
【請求項14】
前記動作は、
前記予測された測定の単位に基づいて前記データセットの前記1つ以上のカラムの間の類似度値を決定することと、
前記類似度値が閾値よりも大きい場合に、前記データセットの前記1つ以上のカラムを含むクラスタを生成することと、
特徴量エンジニアリング関数を用いて、前記クラスタに加えるべき、新しいタイトル及び少なくとも1つの新しい値を含む新しいカラムを生成することと、
前記新しいタイトル及び前記少なくとも1つの新しい値を含む前記新しいカラムを前記データセットに加えることと、
前記新しいカラムを含む前記データセットを用いて機械学習モデルを訓練することと
を更に有する、
請求項8に記載の非一時的なコンピュータ可読記憶媒体。
【請求項15】
1つ以上のプロセッサと、命令を記憶するよう構成される1つ以上の非一時的なコンピュータ可読記憶媒体とを有するシステムであって、
前記命令は、実行されることに応答して、前記システムに、
1つ以上のカラムを有し、前記1つ以上のカラムの夫々がタイトル及び少なくとも1つの値を含むデータセットを取得することと、
前記1つ以上のカラムの夫々について、前記タイトルと、前記少なくとも1つの値からのサンプル値とを抽出することと、
前記1つ以上のカラムの夫々について前記タイトル及び前記サンプル値に基づいて質問を合成することと、
回答を得るよう前記質問を言語モデルへ送信することと、
前記質問に対する前記回答から、前記少なくとも1つのカラムの夫々の前記少なくとも1つの値に対する予測された測定の単位を生成することと
を有する動作を実行させる、
システム。
【請求項16】
合成された前記質問は、機械学習タスク記述に基づく、
請求項15に記載のシステム。
【請求項17】
複数のサンプル値が前記1つ以上のカラムの夫々について抽出され、複数の質問が合成され、合成された前記質問の数は、予め定義された最小閾値に基づき決定される、
請求項15に記載のシステム。
【請求項18】
前記動作は、前記質問を言語モデルへ送信する前に、少なくとも1つの質問-回答対を前記言語モデルへ送信することによって前記言語モデルを訓練することを更に有し、
前記質問-回答対は、
測定の単位の例を含む回答例を引き出すよう作成された質問例と、
前記測定の単位の例を含む前記回答例と
を含む、
請求項15に記載のシステム。
【請求項19】
少なくとも3つの質問が合成され、
前記予測された測定の単位は、前記言語モデルから受け取られた少なくとも3つの回答から過半数の回答を選択することによって生成される、
請求項15に記載のシステム。
【請求項20】
前記動作は、
前記予測された測定の単位に基づいて前記データセットの前記1つ以上のカラムの間の類似度値を決定することと、
前記類似度値が閾値よりも大きい場合に、前記データセットの前記1つ以上のカラムを含むクラスタを生成することと、
特徴量エンジニアリング関数を用いて、前記クラスタに加えるべき、新しいタイトル及び少なくとも1つの新しい値を含む新しいカラムを生成することと、
前記新しいタイトル及び前記少なくとも1つの新しい値を含む前記新しいカラムを前記データセットに加えることと、
前記新しいカラムを含む前記データセットを用いて機械学習モデルを訓練することと
を更に有する、
請求項15に記載のシステム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示で議論される実施形態は、カスタム特徴量エンジニアリング(Feature Engineering,FE)のための単位予測に関係がある。
【背景技術】
【0002】
本願で別段示されない限りは、本開示で記載される題材は、本願の特許請求の範囲に対する先行技術ではなく、このセクションに含まれることによって先行技術であると認められるものではない。
【0003】
機械学習システムは、金融技術、Eコマース、ソーシャルメディア、ゲーム、顔認識、及び自動運転を含むがこれらに限られない多数の技術分野で使用される可能性がある。これらの機械学習システムは、システムが様々な状況を学習して適応することを可能にし得る入力を受け取ることができる。多くの場合、機械学習システムが受け取ることができる入力は、ひと組以上のデータであり得る。
【0004】
本開示で請求されている主題は、上述されている環境でしか動作しない実施形態又は上述された如何なる欠点も解決する実施形態に限られない。むしろ、この背景は、本開示で記載されるいくつかの実施形態が実施される可能性がある技術の一例を説明するためにのみ与えられている。
【発明の概要】
【0005】
この概要は、詳細な説明において以下で更に記載される概念の一部を簡潔な形で紹介するために与えられている。この概要は、請求されている主題の重要な特徴又は必須の特徴を特定するよう意図されたものでも、請求されている主題の範囲を決定する目的で使用されるものではない。
【0006】
本開示の1つ以上の実施形態は方法を含んでよい。方法は、少なくとも第1カラム及び第2カラムを含み得るデータセットを取得することを含んでよく、第1カラムには、第1タイトル及び第1値が含まれてよく、第2カラムには、第2タイトル及び第2値が含まれてよい。更に、方法は、第1カラムと第2カラムとの間の総類似度値を決定することを含んでよく、総類似度値は、メタデータ類似度値、意味的類似度値、及び測定単位類似度値のうちの少なくとも1つに基づき得る。方法は、総類似度値が閾値よりも小さい場合に第1カラム及び第2カラムをクラスタに加えることを更に含んでもよい。更に、方法は、特徴量エンジニアリング関数を使用することによって行われる可能性がある、クラスタに加えるべき新しいカラムを生成することを含んでもよく、新しいカラムには、新しいタイトル及び新しい値が含まれてよく、新しい値は、第1カラムの第1値及び第2カラムの第2値の少なくとも1つに作用することによって特徴量エンジニアリング関数を用いて決定され得る。更に、方法は、新しいカラムをデータセットに加えることを含んでもよい。
【0007】
本開示の1つ以上の実施形態は方法を含んでもよい。方法は、1つ以上のカラムを有するデータセットを取得することを含んでよく、1つ以上のカラムの夫々には、タイトル及び少なくとも1つの値が含まれ得る。方法は、1つ以上のカラムの夫々について、タイトルと、少なくとも1つの値からのサンプル値とを抽出することを更に含んでもよい。更に、方法は、1つ以上のカラムの夫々についてタイトル及びサンプル値に基づいて質問を合成することを含んでよい。方法は、回答を得るよう質問を言語モデルへ送信することを更に含んでもよく、更には、方法は、質問に対する前記回答から、少なくとも1つのカラムの夫々の少なくとも1つの値に対する予測された測定の単位を生成することを含んでもよい。
【0008】
実施形態の目的及び利点は、少なくとも、特許請求の範囲で特に指摘されている要素、特徴、及び組み合わせによって、実現及び達成される。前述の概要及び以下の詳細な説明はいずれも例示及び説明であり、請求されている発明の限定ではないことが理解されるべきである。
【図面の簡単な説明】
【0009】
例となる実施形態が、添付の図面の使用を通じて、追加の特定及び詳細をもって記載及び説明される。
【0010】
【
図1】自動化されたカスタム特徴量エンジニアリングを利用することができるシステムの実施形態を例示する。
【
図2】データセットに加えるべき複数の新しいカラムを生成するよう構成されるシステムの実施形態を例示する。
【
図3A】メタデータ類似度値を計算するための情報を抽出する方法の例のフローチャートを表す。
【
図3B】メタデータ類似度値を決定する方法の例のフローチャートを表す。
【
図4】意味的類似度値を決定する方法の例のフローチャートを表す。
【
図5】データセット内の値について予測された測定の単位を生成する方法の例のフローチャートを表す。
【
図6】予測された2つの単位の間の単位類似度値を決定する方法の例のフローチャートを表す。
【
図7】言語モデルに対する複数の質問を生成する方法の例のフローチャートを表す。
【
図8】多数決投票により予測された測定の単位を決定する方法の例のフローチャートを表す。
【
図9】データセットに加えるべき新しい値を含む新しいカラムを生成する方法の例のフローチャートを表す。
【
図10】本開示のいくつかの実施形態に従って全て配置されているコンピューティングシステムの例のブロック図を表す。
【発明を実施するための形態】
【0011】
機械学習システム及びアルゴリズムは、人工知能を使用する多数の技術分野で、特に、予測を伴うタスクで、ますます使用されている。多数のアプリケーションに適合するよう機械学習システム及びアルゴリズムを開発することは、ますます、より困難かつ高価になっている。機械学習システムの開発には時間がかかり、機械学習システムに関連したデータセットを準備するためにデータサイエンティスト及び他からの膨大な工数及び専門知識が必要となる場合がある。これらのデータセットは、特定のタスクを実行するために機械学習システムを訓練するのに使用され得る。
【0012】
機械学習システムを訓練するために使用されるデータセットの開発における有用なツールは、特徴量エンジニアリングであり得る。本開示は、特徴量エンジニアリング及び特徴量エンジニアリングを使用するよう設計された関数に関係がある。例えば、特徴量エンジニアリングは、所与のデータセット内のデータを拡張、縮小、クリーンアップ、フィルタ処理、又は明確化するよう設計され得る、数学演算などの任意数の動作を指し得る。特徴量エンジニアリング又はその実施に関連した動作のいくつかの例には、特徴選択、特徴抽出、及び/又は特徴構築がある。
【0013】
本開示で特徴量エンジニアリングに関連して使用される特徴は、データセット内の一意の属性又は変数を指し得る。特徴は、データセット内の単一のカラムとしてデータセット内でコンテキスト化され得る。
【0014】
特徴選択は、データセット内の1つ以上の冗長な特徴を取り除くことによってデータセット内の冗長性が低減されるプロセスを含み得る。
【0015】
特徴抽出は、より少ない変数が使用されるようにデータを結合、表示、又は別なふうに操作することによって、所与のデータセット内の特徴の次元が削減されるプロセスを含み得る。例えば、データセット内の特徴の次元は、削除されるか又は他の変数と結合され得る1つ以上の変数を特定するためにマッピング関数を使用することによって、削減され得る。例えば、主成分分析(Principal Component Analysis,PCA)マッピング関数が、データセットの主成分を特定するために使用されてよく、より少ない変数で視覚化又は説明され得るようにそのデータを抽出してよい。
【0016】
特徴構築は、もともとリストアップされていなかった可能性がある他の特徴を含めるデータセット内の既存の特徴の拡張を指し得る。特徴構築は、新しい特徴が生成されてデータセットに加えられ得るように2つ以上の特徴に対して実行され得る数学関数(例えば、加算、減算、除算、乗算、それらの組み合わせ、又は他)を使用することを含んでもよい。データセットに加えられた新しい特徴又はカラムを含むデータセットは、機械学習システムの性能が向上し得るように機械学習システムを訓練するために使用されてよい。
【0017】
特徴量エンジニアリングは、データセットを改善するために使用されるツールであることができる一方で、特徴量エンジニアリングを実行するプロセスは高価である場合がある。現在の自動化された機械学習アルゴリズム及びシステムは、関連する特徴を識別子、それらの関連する特徴を比較し、特徴量エンジニアリングによりデータセットを改善し得る新しい特徴を生成することを単独で行うことが難しい場合がある。そのため、手動手段は、大規模なデータセットを含むデータセットに対して特徴量エンジニアリングを実行するために一般的に取られる手段である可能性がある。
【0018】
例えば、特徴量エンジニアリングは、データセットに特徴を加えたり、データセット内の特徴冗長性を取り除いたり、及び/又はデータセット内の次元を削減したりすることができる経験豊かなデータサイエンティストによって通常は行われ得る。更に、機械学習システムを訓練するために使用され得るデータセットは、(例えば、数千又は数百万個のデータ点、あるいは、それ以上という単位で)大規模である場合がある。実際に、機械学習のための多くのアプリケーションは、そのような機械学習システムを大規模なデータセットにより訓練することによって恩恵を受け得る。つまり、機械学習システムを訓練するために使用され得るより有効なデータセットを生成できる特徴量エンジニアリング関数を適用するためには、より多くの時間、より多くの専門的知識、及びより多くの資金が必要となる可能性がある。
【0019】
本開示で記載されるいくつかの実施形態は、データセットが機械学習システムを訓練するためにより適切であることができるように新しい特徴を生成するために特徴量エンジニアリングプロセスを実行可能な方法及びシステムを開示することによって、機械学習システムの訓練に関連したコスト(例えば、計算、人的、及び/又は金銭的コスト)を実質的に減らし得る。例えば、本開示で記載される方法及びシステムは、データセット内の特徴間の類似度を求め、データセット内の特徴間の類似度に基づいてデータセット内の類似した特徴をクラスタ化し、新しい特徴を生成し、新しい特徴をデータセットに加え、冗長若しくは無関係な特徴をデータセットから削除し、及び/又は新しい特徴を含むデータセットを使用して、タスクを実行するよう設計され得る機械学習システムを訓練してよい。
【0020】
本開示の1つ以上の実施形態に従って、以下で記載される1つ以上の方法を実施するよう設計されたシステムは、少なくとも1つの新しい特徴を生成してデータセットに加えてよい。追加的に、又は代替的に、データセットは、所与のタスクを実行するよう機械学習システムを訓練するために使用されてもよい。更に、システムによって生成されてデータセットに加えられた少なくとも1つの新しい特徴を含むデータセットは、多数の機械学習システム及び/又は機械学習アルゴリズムを訓練するよう設計され得る機械学習パイプラインで使用されてもよい。
【0021】
本開示の1つ以上の実施形態に従って、少なくとも1つの新しい特徴を加えることは、少なくとも1つの新しい特徴を含まないデータセットには存在し得ない追加量の情報を含めることによって、データセットを改善し得る。追加的に、又は代替的に、データセット内の少なくとも1つの新しい特徴は、データセット内の他の特徴を更に説明することができるコンテキストを含んでもよい。例えば、データセットは、第1特徴「速い」(“quick”)及び第2特徴「時速100マイル」を含んでよい。更に例を続けると、特徴量エンジニアリング関数は、第1特徴と第2特徴とを結合してよく、それにより、“時速100マイル”がデータセット内で「速い」の更なるコンテキストを提供し得る第3特徴が生成される。これら及び他の実施形態で、追加のコンテキストは、特徴間の相関を提供し得る。例えば、第1特徴「速い」(“quick”)及び第2特徴「高速」(“fast”)は夫々第3特徴「時速100マイル」及び第4特徴「時速200マイル」と組み合わされてよく、第5特徴及び第6特徴が生成される。更に例を続けると、生成された第5特徴及び第6特徴は、データセット内で別なふうに表現されていなかった可能性がある第1特徴「速い」及び第2特徴「高速」の間の相関を提供し得る。いくつかの実施形態で、少なくとも1つの新しい特徴を含むデータセットを使用して訓練された機械学習システム又はアルゴリズムは、少なくとも1つの新しい特徴を含まないデータセットを用いて訓練された機械学習システムと比べて、予測精度及び/又は効率が高くなっている可能性がある。追加的に、又は代替的に、少なくとも1つの新しい特徴を含み得るデータセットには、含まれる冗長な特徴が少なくなり、機械学習システムが訓練され得る速度は速くなり、また、ノイズが多くかつ重要度が低い特徴を減らすことによって過剰適合が低減され得る。いくつかの実施形態で、所与の特徴に対して測定の単位を予測するための記載される原理及び/又は動作の使用は、記載されている利点をもたらし得る。例えば、所与の特徴について予測された測定の単位を提供することによって、機械学習システムは、機械学習システムが割り当てられるタスクをより良く実行することができる(例えば、そのタスクの実行が、より正確及び/又はより高速になり得る)。全体として、いくつかの状況で、機械学習システムの性能は、本開示の方法及びシステム、及び/又はそのような方法及びシステムによって生成された新しいデータセットを使用することによって、向上し得る。更に、機械学習パイプラインの性能は、機械学習パイプラインが任意数の機械学習システム及び/又はアルゴリズムを訓練するよう設計され得る場合に、本開示の1つ以上の原理及び/又は本開示の実施形態で生成された新しいデータセットを使用することによって、向上し得る。
【0022】
本開示のこれら及び他の実施形態は、添付の図面を参照して説明される。図は、そのような実施形態の例の図式的及び概略的な表現であり、限定ではなく、また、それらは必ずしも実寸通りに描かれているわけでもない。図中、同じ番号を付された特徴は、別なふうに記載されない限り、同じ構造及び機能を示す。
【0023】
図1は、本開示で記載される少なくとも1つの実施形態に従って、特徴量エンジニアリング関数(例えば、自動化されたカスタム特徴量エンジニアリング)を利用することができるシステム100の実施形態を例示する。システム100は、データセット110、特徴量エンジニアリングシステム120、新しいデータセット130、及び機械学習システム140を含んでよい。
【0024】
データセット110は、所与の特徴を代表し得る値を含んでよい。所与の特徴を代表する値は、カラムに編成されてよい。いくつかの実施形態で、データセット110は多数のカラムを含んでよく、各カラムは、タイトルと、任意数の値とを含んでもよい。例えば、データセットが家に関する情報を含んでいる場合に、第1カラムのタイトルは「合計平方フィート」であってよく、値の夫々は、データセット内のそのエントリについての対応する家の「合計平方フィート」を表し得る。いくつかの実施形態で、データセット110のカラムは、データセット110内の別個の又は異なる特徴を夫々表してよい。例えば、データセット110は、第1特徴を表し得る第1カラムを含んでよく、データセット110は、第2特徴を表し得る第2カラムを更に含んでもよい。いくつかの実施形態で、データセット内の特徴は、特徴量エンジニアリング関数における入力変数として使用されてもよい。これら及び他の実施形態で、特徴量エンジニアリング関数における入力変数は、データセット内の所与の“カラム”によって表されてよく、所与のカラム内の値は、互いに一貫した1つ以上の特性又は特徴を共有してもよい。カラムの例が利用される一方で、例えば、ロー、アレイ、ベクトル、又は任意の他のアプローチにおいて特徴に関連したデータを格納することなど、任意の他のデータ格納又は表現アプローチが採用されてもよいことが理解されるであろう。
【0025】
いくつかの実施形態で、カラムの夫々の値は、同じデータタイプであってもよく、あるいは、異なるデータタイプであってもよい。例えば、データセット110のカラムの夫々の値の夫々は、整数であってよい。他の例として、データセット110のカラムの夫々の値の夫々は、文字列であってよい。更なる例として、データセット110の第1カラム内の値は文字列であってよく、データセット110の第2カラム内の値は整数であってよい。いくつかの実施形態で、データセット110内の所与のカラムは、異なるデータタイプを含んでもよい。これら及び他の実施形態で、データセット110の値は、整数、浮動小数点、文字列、文字、及び/又は任意の他のデータタイプを含んでよい。
【0026】
これら及び他の実施形態で、データセット110は、カンマ区切り値ファイルタイプ(“CSV”)、階層的データ形式(“HDF”)、Java Script Object Notation(“JSON”)、テキストファイル(“TXT”)、構造化クエリ言語(“SQL”)データベース、又はデータセット110内のカラム及び値が格納及び編成されることを可能にし得る任意の他のファイルタイプで格納されてよい。これら及び他の実施形態で、データセット110は、特徴量エンジニアリングシステム120によって受け取られてよい。
【0027】
特徴量エンジニアリングシステム120は、データセット110を受け取り、データセット110内の値の少なくとも1つに基づいて、データセット110に加えるべき新しいカラムを生成するよう構成される任意のシステム、装置、又はデバイスを含んでよい。いくつかの実施形態で、特徴量エンジニアリングシステム120は、第1カラム内の値と第2カラム内の値との間の類似度を決定するよう設計された特徴量エンジニアリング関数を含んでよい。追加的に、又は代替的に、第1カラム内の値が第2カラム内の値と類似しているとの決定に基づいて、特徴量エンジニアリング関数は、新しいカラム内の新しい値を生成し得る。いくつかの実施形態で、特徴量エンジニアリング関数は、第1カラム内の値の1つ以上及び/又は第2カラム内の値の1つ以上に対して数学演算を実行することによって、新しいカラム内の新しい値を生成してもよい。追加的に、又は代替的に、特徴量エンジニアリングシステム120は、新しい値を含む新しいカラムをデータセット110に加えてよい。そのような状況で、新しいカラムを含む更新されたデータセットは、新しいデータセット130と呼ばれ得る。
【0028】
いくつかの実施形態で、特徴量エンジニアリングシステム120は、新しいデータセット130を形成する場合に、データセット110からカラムを削除してもよい。例えば、特徴量エンジニアリングシステム120は、第1カラム内の値及び第2カラム内の値が互いに重複している可能性があることを決定し、それに応じて、特徴量エンジニアリングシステム120は、データセット110から第2カラムを取り除き得る。
【0029】
いくつかの実施形態で、新しいデータセット130は、元のデータセット110と、特徴量エンジニアリングシステム120によって特徴量エンジニアリング関数によって生成された新しいカラムとを含んでよい。いくつかの実施形態で、新しいデータセット130は、特徴量エンジニアリングシステム120によってデータセット110に加えられた任意数の新しいカラムを含んでもよい。これら及び他の実施形態で、新しいカラムの夫々は、異なる特徴量エンジニアリング関数によって生成されてもよい。いくつかの実施形態で、新しいデータセット130は、元のデータセット110でよりも含まれるカラムが少ないことがある。例えば、冗長性を取り除くことによって、新しいデータセット130は、元のデータセット110よりも含まれるカラムが少なくなる。
【0030】
いくつかの実施形態で、新しいデータセット130は、元のデータセット110からの全てのカラムを含まなくてもよく(例えば、1つ以上のカラムが削除されていてもよい)、また、特徴量エンジニアリングシステム120によってデータセット110に加えられた1つ以上の新しいカラムを含んでもよい。例えば、データセット110は、第1値を含む第1カラム、第2値を含む第2カラム、第3値を含む第3カラム、及び第4値を含む第4カラムを含んでよい。例を続けると、特徴量エンジニアリングシステム120は、第3値及び第4値が第1値及び第2値に照らして冗長である可能性があるので、第3カラム及び第4カラムの両方を削除してもよい。更に例を続けると、特徴量エンジニアリングシステム120は、第1カラム内の第1値と第2カラム内の第2値との間の比較に基づいて、新しい値を含む新しいカラムを更に生成していることがある。例を続けると、特徴量エンジニアリングシステム120は、新しいデータセット130が、特徴量エンジニアリングシステム120によって生成された新しいカラムを含む3つのカラム(元のデータセット110より1つ少ない)を含むように、新しいカラムをデータセット110に加えてよい。
【0031】
いくつかの実施形態で、特徴量エンジニアリングシステム120は、新しいデータセット130を機械学習システム140へ送信するよう設計されてよい。
【0032】
機械学習システム140は、所与のタスクを実行するよう訓練されるためにデータセットを利用するよう構成される任意の適切なシステム、装置、又はデバイスであってよい。いくつかの実施形態で、機械学習システム140は、特徴量エンジニアリングシステム120から新しいデータセット130を受信するよう構成されてよい。いくつかの実施形態で、新しいデータセット130は、所与のタスクを完了するよう機械学習システム140を訓練するために使用されてよい。いくつかの実施形態で、所与のタスクは、予測を行うこと、関係を識別すること、又は任意の他のタスクを含んでよい。
【0033】
例として、機械学習システム140は、住宅の価格を予測するよう構成されるアルゴリズムを含んでよい。この例で、機械学習システム140は、「場所」を表す値を含む第1カラムと、「最終販売価格」を表す値を含む第2カラムとを有し得るデータセット110を受け取ってよい。データセット110は、場所及び最終販売価格などの他のデータに基づいて所与の住宅の価格を予測するその目標機能を実行するよう機械学習システム140を訓練するために使用されてよい。
【0034】
他の例では、機械学習システム140は、住宅の価格を予測するよう構成されるアルゴリズムを含んでよい。例を続けると、機械学習システム140は、データセット110に関して前述の例で説明されたように、「場所」を表す値を含む第1カラムと、「最終販売価格」を表す値を含む第2カラムとを有し得る新しいデータセット130を受け取ってよい。更に、新しいデータセット130は、「面積」を表し得る値を含む第3カラムと、「単位面積価格」を表す、特徴量エンジニアリングシステムによって生成され得る値を含む第4カラムとを含んでよい。新しいデータセット130は、所与の住宅の価格を予測するよう機械学習システム140を訓練するために使用されてよい。更に例を続けると、追加の特徴「単位面積価格」が、新しいデータセット130を生成するときに特徴量エンジニアリングシステム120によってデータセット110に加えられている可能性があるので、新しいデータセット130を受け取った機械学習システム140は、機械学習システム140が元のデータセット110により訓練されている場合よりも正確に、所与の住宅の価格を予測することが可能であり得る。
【0035】
本開示の範囲から外れずに、システム100に対して、変更、追加、又は削除が行われてもよい。例えば、記載されている方法における異なる要素の指定は、ここで記載されている概念を説明するの助けることを意味しており、限定するものではない。更に、システム100は、他の要素をいくつでも含んでよく、あるいは、記載されている以外のシステム又は環境により実施されてもよい。
【0036】
図2は、本開示で記載される少なくとも1つの実施形態に従って、データセット210に加えるべき複数の新しいカラムを生成するよう構成されるシステム200の実施形態を例示する。システム200は、第1カラム220a、第2カラム220b、乃至第nカラム220n(「カラム220」と総称される)を含む多数のカラムを含み得るデータセット210を含んでよい。システム200は、データセット210を受け取るよう構成されてよく、更には、メタデータ類似度モジュール230、意味的類似度モジュール240、及び単位類似度モジュール250を含んでもよい。システム200は、クラスタモジュール260を更に含んでもよい。システム200は、第1カラム220a、第2カラム220b、乃至第nカラム220nとともに、システム200によって生成された少なくとも1つの新しいカラム220dを含み得る新しいデータセット270を更に含んでもよい。システム200は、新しいデータセット270を機械学習システム280へ送信するよう更に構成されてもよい。
【0037】
データセット210は、第1カラム220a、第2カラム220b、乃至第nカラム220nを含んでよい。第1カラム220aは、第1タイトル及び第1を含んでよく、第2カラム220bは、第2タイトル及び第2値を含んでよく、第nカラム220nは、第nタイトル及び第n値を含んでよい。
【0038】
いくつかの実施形態で、第1カラム220aの第1タイトルは、第2カラム220bの第2タイトルと同じであり、第nカラム220nの第nタイトルと同じであってよい。追加的に、又は代替的に、第1カラム220aの第1タイトルは、第2カラム220bの第2タイトルと同じでなくてもよく、第1カラム220aの第1タイトルは、第nカラム220nの第nタイトルと同じでなくてもよい。
【0039】
これら及び他の実施形態で、所与のカラム内の値は、カラムのタイトルと関係があり得る。例えば、所与のカラムのタイトルは「単位面積価格」であってよく、所与のカラム内の値は、タイトルに見合った[[100 125 140.70]]及び/又は他の値などの、タイトル「単位面積価格」にさかのぼって関連する値を含んでよい。
【0040】
いくつかの実施形態で、システム200は、カラム220が類似している可能性があるかどうかを決定するようカラム220を比較してよい。例えば、第1カラム220aは、第2カラム220b、第nカラム220n、又は任意の他のカラムと比較されてよい。いくつかの実施形態で、任意の数のカラムが互いに比較されてよく、例えば、第1カラム220aは、第2カラム220b及び第nカラム220nの両方と比較される。
【0041】
いくつかの実施形態で、カラム220の間の総類似度値は、メタデータ類似度値、意味的類似度値、及び単位類似度値の少なくとも1つに基づき決定されてよい。いくつかの実施形態で、システム200は、メタデータ類似度モジュール230を用いてメタデータ類似度値を決定してよい。追加的に、又は代替的に、システム200は、意味的類似度モジュール240を用いて意味的類似度値を決定してよい。追加的に、又は代替的に、システム200は、単位類似度モジュール250を用いて単位類似度値を決定してよい。メタデータ類似度値、意味的類似度値、及び単位類似度値の少なくとも1つを決定するために、システム200はカラム220を比較してよい。
【0042】
いくつかの実施形態で、カラム220は、カラム220の間のメタデータ類似度値を決定するようメタデータ類似度モジュール230によって比較されてよい。メタデータ類似度モジュール230は、第1カラム220aなどの、カラム220の1つ以上を受け取ることが可能であり得る。
【0043】
いくつかの実施形態で、メタデータ類似度モジュール230は、カラムの値からメタデータを抽出するよう更に構成されてよい。例えば、メタデータ類似度モジュール230は、第1カラム220a、第2カラム220b、及び/又は第nカラム220nからメタデータを抽出してよい。いくつかの実施形態で、抽出されたメタデータは、値のデータタイプ、値に関連した統計値(例えば、最小値、最大値、範囲、など)、値のデータ分布(例えば、分散、標準偏差、など)、及び/又は値に関連した特性タイプ(例えば、長さ、数量、体積、など)を含んでよい。
【0044】
いくつかの実施形態で、メタデータ類似度モジュール230は、1つのカラムからの抽出されたメタデータを、他のカラムからの抽出されたメタデータと比較するよう構成されてよい(例えば、第1カラム220aから抽出されたメタデータ及び第2カラム220bから抽出されたメタデータ)。いくつかの実施形態で、メタデータ類似度モジュール230は、任意の数のカラムからの抽出されたメタデータを比較するよう構成されてもよい(例えば、第1カラム220a、第2カラム220b、及び/又は第nカラム220nから抽出されたメタデータ)。メタデータ類似度モジュール230は、データタイプ、データ分布、特性タイプ、及び/又は各々のカラムの値から抽出された任意の他の情報を比較することなど、カラム間で抽出されたメタデータを比較してよい。
【0045】
これら及び他の実施形態で、メタデータ類似度モジュール230は、以下
図3A及び
図3Bで更に詳細に記載及び説明されるように、第1カラム220a内の第1値からの抽出されたメタデータと、第2カラム220b内の第2値からの抽出されたメタデータとを比較することによって、メタデータ類似度値を決定してよい。
【0046】
いくつかの実施形態で、意味的類似度モジュール240は、1つのカラムからの抽出された意味的データを、他のカラムからの抽出された意味的データと比較するよう構成されてよい(例えば、第1カラム220aから抽出されたタイトル及び第2カラム220bから抽出されたタイトル)。意味的類似度モジュール240は、タイトル、各々のカラムから抽出された値、及び各々のカラムから抽出された任意の他の情報を比較することなど、カラム間で抽出された意味的データを比較してよい。いくつかの実施形態で、意味的類似度モジュール240は、カラム間で抽出された意味的データを比較することに基づいて、各々のカラム間の意味的類似度値を生成するよう更に構成されてよい。
【0047】
いくつかの実施形態で、単位類似度モジュール250は、1つのカラムからの値についての測定の単位を、他のカラムからの測定の単位と比較するよう構成されてよい(例えば、第1カラム220a内の値についての測定の単位及び第2カラム220b内の値についての測定の単位)。
【0048】
いくつかの実施形態で、測定単位モジュール250は、カラム220の夫々における値の測定の単位を予測するよう構成されてよい。例えば、第1カラム220a内の値及び/又は関連するメタデータ若しくは他の関連する情報は、値の測定の単位を含まないことがある。これら及び他の実施形態で、測定単位モジュール250は、以下
図5~8で更に詳細に記載及び説明されるように、第1カラム220a内の値について測定の単位を予測するよう構成されてよい。
【0049】
いくつかの実施形態で、測定単位モジュール250は、言語モデルを使用することによって任意数のカラム内の値について測定の単位を予測するよう構成されてよい。例えば、測定単位モジュール250は、予測された測定の単位を含む回答を引き出すよう設計された質問を生成してよい。いくつかの実施形態で、測定単位モジュール250は、質問を言語モデルへ送信するよう更に構成されてよい。これら及び他の実施形態で、言語モデルは、質問を受け取り、予測された測定の単位を含む回答を生成するよう構成されてよい。
【0050】
いくつかの実施形態で、測定単位モジュール250は、値が既知の測定の単位を有していない場合に、第1カラム220aから値及び/又はタイトルを受け取ってよい。いくつかの実施形態で、測定単位モジュール250は、第1カラム220a内の値の1つを含む質問を生成してよい。これら及び他の実施形態で、測定単位モジュール250によって生成された質問は、第1カラム220aのタイトルに関して取得された追加又は他の情報を含んでもよい。例えば、生成された質問は、「[タイトル]の単位は何ですか?」を含んでよい。例を続けると、タイトルは「単位面積価格」であってよく、質問は「単位面積価格の単位は何ですか?」となる。これら及び他の実施形態で、生成された質問は言語モデルへ送信されてよく、それにより、質問は、予測された測定の単位を含む回答を引き出し得る。いくつかの実施形態で、言語モデルは、予測された測定の単位を含む回答を返してよい。
【0051】
1つのカラムを用いて説明されているが、測定単位モジュール250は、関連する測定の単位の予測を容易にするよう任意の数のカラムについて質問生成してもよいことが理解されるだろう。例えば、測定単位モジュール250は、第1カラム220a、第2カラム220b、及び/又は第nカラム220nについて質問を生成してよい。
【0052】
いくつかの実施形態で、測定単位モジュール250は、第1カラムからの第1の予測された測定の単位、第2カラムからの第2の予測された測定の単位、乃至第nカラムからの第nの予測された測定の単位を比較するよう構成されてよい。これら及び他の実施形態で、測定単位モジュール250は、第1の予測された測定の単位を第2の予測された測定の単位と比較することによって、第1単位類似度値を決定してよい。追加的に、又は代替的に、測定単位モジュール250は、第2の予測された単位を第nの予測された測定の単位と比較することによって、第2単位類似度値を決定するよう構成されてもよい。
【0053】
いくつかの実施形態で、システム200は、カラムのクラスタを生成するよう構成されてよい。いくつかの実施形態で、クラスタはクラスタモジュール260によって生成されてよい。追加的に、又は代替的に、クラスタモジュール260は、1つ以上のカラムをクラスタに加えるよう構成されてよい。いくつかの実施形態で、クラスタモジュール260は、第1カラム220a、第2カラム220b、乃至第nカラム220nを含み得るデータセット210を受け取るよう構成されてよい。これら及び他の実施形態で、クラスタモジュール260は、メタデータ類似度モジュール230からメタデータ類似度値を、意味的類似度モジュール240から意味的類似度値を、及び/又は測定単位モジュール250から単位類似度値を受け取るよう構成されてよい。これら及び他の実施形態で、メタデータ類似度値、意味的類似度値、及び/又は単位類似度値は、カラム220の間、例えば、第1カラム220aと第2カラム220bとの間の総類似度値を一緒に構成し得る。
【0054】
いくつかの実施形態で、クラスタモジュール260は、類似したカラムのクラスタを生成するよう構成されてよい。例えば、クラスタモジュール260は、第1カラム220a及び第2カラム220bを含み得る第1クラスタを生成してよい。これら及び他の実施形態で、クラスタモジュール260は、メタデータ類似度値、意味的類似度値、及び/又は単位類似度値の1つ以上が閾値を下回ることに基づいて、カラムが類似していることを決定し得る。例えば、第1カラム220a及び第2カラム220bは、メタデータ類似度値、意味的類似度値、及び/又は単位類似度値の少なくとも1つが閾値を下回る可能性があるので、類似であると決定されてよい。いくつかの実施形態で、第1カラム220a及び第2カラム220bは、総類似度値が閾値を下回っているので、類似であると決定されてよい。クラスタ化及び/又は関連する閾値は、以下で
図3、
図4及び
図8で更に記載及び説明される。
【0055】
例として、カラム間の完全な類似性は、ゼロの総類似度値により示されてよく、対照的に、カラム間の完全な相違は、無限大の総類似度値により示されてよい。上述されたように、総類似度値が小さいほど、総類似度が大きい場合よりも、カラム間の類似性は高いことを示す。そのため、閾値は、閾値を下回る総類似度値がクラスタ間の類似性を示し、カラムがクラスタ化され得るように、セットされてよい。
【0056】
代替的に、逆もまた然りであってよい。例えば、カラム間の完全な類似性は、無限大の総類似度値により示されてよく、対照的に、カラム間の完全な相違は、ゼロの総類似度値により示されてよい。そのため、閾値は、閾値を上回る総類似度値がクラスタ間の類似性を示し、カラムがクラスタ化され得るように、セットされてよい。
【0057】
いくつかの実施形態で、完全な類似性又は相違について無限大及びゼロの値の代わりに、類似度値は、ゼロから1の間の値を含んでもよく、1は、完全な類似性を表し、ゼロは、完全な相違を表し、あるいは、1は、完全な相違を表し、ゼロは、完全な類似性を表す。
【0058】
いくつかの実施形態で、クラスタモジュール260は、カラム220の1つを既存のクラスタに加えてよい。例えば、値のn番目の数及びn番目のタイトルを含む第nカラムは、第1クラスタ内の第1カラム220a及び第2カラム220bに類似し得る。類似性に基づいて、クラスタモジュール260は、第1クラスタが第1カラム220a、第2カラム220b、及び第nカラム220nの夫々を含むように、第nカラムを第1クラスタに加えてよい。いくつかの実施形態で、第nカラムは、第1カラム220a内の第1カラム220a及び第2カラム220bと類似していない判明することがある。そのような実施形態では、クラスタモジュール260は、第nカラム220nを含む第2クラスタを生成してもよい。
【0059】
いくつかの実施形態で、システム200は、クラスタモジュール260によって生成されたクラスタ内のカラム220に基づいて、新しいカラム220dを生成してよい。システム200は、クラスタの少なくとも1つにおけるカラム220の少なくとも1つにおける値に対して数学演算を実行し得る特徴量エンジニアリング関数を自動的に選択し展開してよい。これら及び他の実施形態で、システム200は、新しいカラム220dを含み得る新しいデータセット270を生成してよい。例えば、新しいデータセット270は、第1カラム220a、第2カラム220b、乃至第nカラム220n、及び新しいカラム220dを含んでよい。
【0060】
いくつかの実施形態で、新しいカラム220d内の新しい値は、システム200によって自動的に選択及び展開され得る特徴量エンジニアリング関数によって生成されてよい。例えば、第1値を含む第1カラム220aは、第2値を含む第2カラム220bに類似していてよく、第1カラム220a及び第2カラム220bは、類似性に基づいて第1クラスタに加えられてよい。例えば、第1値は、住宅の「単位面積価格」を示してよく、第2値は、住宅の「合計平方フィート」を示してよい。更に例を続けると、特徴量エンジニアリング関数は、第1カラム220a内の第1値及び第2カラム220b内の第2値を乗算してよく、それにより、「住宅価格の総額」を示し得る第3値を含む第3カラムが生成され得る。いくつかの実施形態で、第3値を含む第3カラムは、第1カラム及び第2カラムを含む第1クラスタに加えられてよく、新しいデータセット270を形成するようデータセット210に加えられる新しいカラム220dであってよい。
【0061】
いくつかの実施形態で、システム200は、第1カラム220a、第2カラム220b、乃至第nカラム220n、及び新しいカラム220dを含み得る新しいデータセット270を機械学習システム280へ送信するよう構成されてよい。いくつかの実施形態で、機械学習システム280はシステム200に含められてよい。これら及び他の実施形態で、機械学習システム280は、新しいデータセット270を受信するよう構成されてよい。いくつかの実施形態で、機械学習システム280は新しいデータセット270によって訓練され得る。
【0062】
本開示の範囲から外れずに、システム200に対して、変更、追加、又は削除が行われてもよい。例えば、記載されている方法における異なる要素の指定は、ここで記載されている概念を説明するの助けることを意味しており、限定するものではない。更に、システム200は、他の要素をいくつでも含んでよく、あるいは、記載されている以外のシステム又は環境により実施されてもよい。
【0063】
図3Aは、本開示で記載される少なくとも1つの実施形態に従って、メタデータ類似度値を計算するための情報を抽出する方法300の例のフローチャートを表す。方法300は、
図1の特徴量エンジニアリングシステム120、
図2のメタデータ類似度モジュール230、及び/又は
図2のシステム200に関して任意の適切なシステム、装置、又はデバイスによって実行されてよい。方法300は、1つ以上のブロック302、304、306、308、310、及び312を含んでよい。別個のブロックで表されているが、方法300のブロックの1つ以上に関連したステップ及び動作は、具体的な実施に応じて、追加のブロックに分割されても、より少ないブロックへとまとめられても、又は削除されてもよい。
【0064】
いくつかの実施形態で、方法300はブロック302から開始してよい。ブロック302で、表形式のデータからカラムが選択されてよい。いくつかの実施形態で、表形式のデータは、カラムに編成され得る値を含み得るデータセットの形をとってよく、カラムの夫々はタイトルを含んでもよい。いくつかの実施形態で、上で
図1において上述された特徴量エンジニアリングシステム120は、カラムを選択するよう構成されてよい。これら及び他の実施形態で、カラムは、上述された
図2のカラム220と同じもの又は類似するものであってよい。追加的に、又は代替的に、カラムは、上で記載及び説明された
図2のデータセット210及び/又は
図1のデータセット110と同じもの又は類似するものであってよいデータセットから選択されてもよい。
【0065】
ブロック304で、データタイプが抽出されてよい。いくつかの実施形態で、データタイプは、表形式のデータからデータタイプを抽出するよう構成されるシステム、デバイス、又は装置(例えば、
図1のシステム100、
図1の特徴量エンジニアリングシステム120、
図2で上述されたメタデータ類似度モジュール230によるシステム200)によって抽出されてよい。いくつかの実施形態で、データタイプは、表形式のデータから選択されたカラム内の値から抽出されてもよい。例えば、データタイプは、メタデータの部分であってよく、あるいは、データタイプを抽出するようカラム内の値の特性を解析することによって抽出されてもよい。これら及び他の実施形態で、データタイプは、表形式のデータから選択されたカラム内の値を記述し得る整数、倍精度浮動小数点、文字列、文字、ブール値、又は他のデータタイプの1つであってよい。
【0066】
ブロック306で、データ分布が計算されてよい。いくつかの実施形態で、表形式のデータから選択されたカラムの夫々における値は、データ分布を記述する値が計算され得る記述的メタデータを含んでよい。例えば、各カラムは最小値及び最大値を含んでよく、それにより、各カラムの範囲は、最大値と最小値との間の差を決定することによって計算され得る。これら及び他の実施形態で、データ分布値は、カラム内の値から計算されてよい(例えば、分散、標準偏差、モード、中間値、極大値、極小値、データの分布、データの形状、相関、確率、共分散、歪度、及び/又はカラムのデータ分布を記述し得る他の値)。
【0067】
ブロック308で、特性タイプが、表形式のデータ内のカラムからの値から決定されてよい。いくつかの実施形態で、特性タイプは、カラムの夫々における値の特性タイプの長さ、面積、位置、時間、体積、数量、品質、密度、レベル、カウント、量、又は他の記述子を含んでよい。これら及び他の実施形態で、如何なる適切なデバイス又はシステムも、1つ以上の特性タイプを推定するか又は別なふうに決定するよう構成されてよい。例えば、
図2で記載及び説明されたシステム200、又は他のデバイス若しくはシステムが、
図2で説明されたメタデータ類似度モジュール230において記載されたような動作を実行するよう構成される。
【0068】
ブロック310で、データ分布値、データタイプ、特性タイプ、及び他の形式のメタデータが、カラムの夫々についてセーブされてよい。これら及び他の実施形態で、方法300で記載されるように抽出及び計算されたデータタイプ、特性タイプ、及び他の形式のメタデータ(“メタデータ”)は格納されてよく、メタデータが抽出され得るカラムの夫々と関連付けられてよい。
【0069】
ブロック312で、表形式のデータに更なるカラムが存在しているかどうかの決定が行われてよい。いくつかの実施形態で、カラムの夫々からのメタデータは、表形式のデータから抽出されてよい。これら及び他の実施形態で、システムは、メタデータがカラムの夫々から抽出されたかどうかを決定するよう構成されてよく、そうでない場合に、システムは、他のカラムを選択してよく、ブロック302から始まるメタデータの抽出プロセスを開始してよい。
【0070】
いくつかの実施形態で、メタデータを抽出すべきカラムがデータセット内にこれ以上存在しないことが決定されてもよい。いくつかの実施形態で、メタデータがカラムから抽出された後、方法300は、以下で記載及び説明される
図3Bを続けてよい。
【0071】
本開示の範囲から外れずに、方法300に対して変更、追加、又は削除が行われてもよい。例えば、方法300の動作は別の順序で実施されてもよい。追加的に、又は代替的に、2つ以上の動作は同時に実行されてもよい。更に、説明されている操作及び動作は、単に例として与えられており、操作及び動作の一部は、記載されている実施形態の本質から外れずに、任意であっても、より少ない操作及び動作にまとめられても、あるいは、追加の操作及び動作に拡張されてもよい。
【0072】
図3Bは、本開示で記載される少なくとも1つの実施形態に従って、メタデータ類似度値を決定する方法350の例のフローチャートを表す。方法350は、
図1の特徴量エンジニアリングシステム120、
図2のメタデータ類似度モジュール230、及び
図2のシステム200に関して任意の適切なシステム、装置、又はデバイスによって実行されてよい。方法350は、1つ以上のブロック318、320、322、324、326、328、330、332、及び334を含んでよい。別個のブロックで表されているが、方法350のブロックの1つ以上に関連したステップ及び動作は、具体的な実施に応じて、追加のブロックに分割されても、より少ないブロックへとまとめられても、又は削除されてもよい。
【0073】
いくつかの実施形態で、方法350は、
図3Aにおいて上で記載及び説明された方法300の続きであってよい。いくつかの実施形態で、方法350はブロック318から開始してよい。ブロック318で、抽出されたメタデータを含む第1カラムが選択されてよい。いくつかの実施形態で、抽出されたメタデータは、データタイプ、特性タイプ、又は方法300で上述されて
図3Aに表された他の形式のメタデータの少なくとも1つを含んでよい。
【0074】
ブロック320で、抽出されたメタデータを含む第2カラムが選択されてよい。いくつかの実施形態で、抽出されたメタデータは、データタイプ、特性タイプ、又は方法300で上述されて
図3Aに表された他の形式のメタデータの少なくとも1つを含んでよい。いくつかの実施形態で、第1の選択されたカラムからの抽出されたメタデータは、第2の選択されたカラムからの抽出されたメタデータに類似した情報を含んでよい。例えば、第1の選択されたカラムからの抽出されたメタデータは、データタイプ、最大値、最小値、平均値、及び特性タイプを含んでよい。更に、第2の選択されたカラムからの抽出されたメタデータは、データタイプ、最小値、最大値、平均値、及び特性タイプを含んでよい。いくつかの実施形態で、第1の選択されたカラムからの抽出されたメタデータは、第2の選択されたカラムからの抽出されたメタデータに類似していなくてもよい。
【0075】
ブロック322で、第1の選択されたカラムからのデータタイプが第2の選択されたカラムからのデータタイプと同等であるかどうかに関して決定が行われてよい。例えば、第1の選択されたカラムからのデータタイプは整数であってよく、第2の選択されたカラムからのデータタイプも整数であってよい。例を続けると、従って、両方のデータタイプは同等であると決定され得る。いくつかの実施形態で、データタイプは同じでなくてもよいが、これらの実施形態の側面に従って同等のままである。例えば、1つのデータタイプは整数であってよく、一方、他のデータタイプは浮動小数点値であってよい。更に例を続けると、データタイプは、システムが第1カラム内の値を第2カラム内の値と比較できるほど十分にデータタイプは互換性があり得るので、たとえデータタイプが一致しないとしても、データタイプは同等であることができる。いくつかの実施形態で、データタイプは同等でないことがある。例えば、1つのデータタイプは整数であってよく、他のデータタイプは文字列であってよい。例を続けると、メタデータ類似度が決定され得るほど整数が文字列と十分に互換性があり得ないので、データタイプは同等でない。データタイプが同等である場合に、方法350はブロック324へ進んでよい。データタイプが同等でない場合には、方法350はブロック326へ進んでよい。
【0076】
ブロック324で、第1データ分布が第2データ分布と同等であり得るかどうかが決定される。いくつかの実施形態で、第1カラム内の値は第2カラム内の値と互換性があり得る場合に、第1データ分布は第2データ分布と同等であり得る。例えば、第1データ分布は、75~100の間の値の範囲を含んでよく、第2データ分布は、60~115までの値の範囲を含んでよい。例を続けると、第1カラムからの値及び第2カラムからの値は互換性があり得るので、第1の値範囲及び第2の値範囲は互換性があり得る。いくつかの実施形態で、第1データ分布及び第2データ分布は、同等を決定するために確立された任意の数の規則に基づいて同等であり得る。例えば、同等を決定するために確立された規則の1つは、第1データ分布内の値の範囲が第2データ分布の値の範囲と類似した規模であることを含んでよい。他の例として、大きい方の値の範囲が小さい方の値の範囲の2倍よりも小さい場合に、第1データ分布内の値の範囲は、第2データ分布内の値の範囲と同等であり得る。例えば、最小値から最大値までの間の第1データ分布内の値の範囲が50であり、最小値から最大値までの間の第2データ分布内の値の範囲が150である(第1データ分布内の値の範囲の2倍よりも大きい)場合に、値の範囲は同等ではない。データ分布が同等である場合に、方法350はブロック328へ進んでよい。データ分布が同等でない場合には、方法350はブロック326へ進んでよい。
【0077】
ブロック326で、閾数よりも大きい類似度値が割り当てられてよい。いくつかの実施形態で、カラム間に割り当てられた類似度値は、第1カラム内の値のデータタイプが第2カラム内の値のデータタイプと同等でない場合に、閾値よりも大きくなる。例えば、1つのデータタイプは浮動小数点であってよく、他のデータタイプは文字列であってよい。例を続けると、浮動小数点及び文字列は互換性がないので、類似度値は閾値よりも大きい値を割り当てられてよく、これは、値が類似していないことを示し得る。これら及び他の実施形態で、類似度値は、ゼロから無限大までの間の範囲を取ることができ、無限大の値は、何であれ類似性なしを示す。いくつかの実施形態で、類似度値は、ゼロから1の間の範囲を取ることができ、1は、何であれ類似性なしを示し得る。更に例を続けると、システムは、特徴量エンジニアリング関数により、閾値を上回る類似度値が割り当てられる場合に、新しいカラムの新しい値を生成しなくてもよい。いくつかの実施形態で、第1カラム内の値と第2カラム内の値との間で距離が計算されてよい。いくつかの実施形態で、カラム間の距離は、カラム間のメタデータ類似度値を決定するために使用されてよい。いくつかの実施形態で、第1の選択されたカラム内の値は文字列であってよく、第2の選択されたカラム内の値は文字列であってよい。追加的に、又は代替的に、距離は、第1カラム内の文字列をベクトルに変換し、第2カラム内の文字列をベクトルに変換することによって、決定されてよい。いくつかの実施形態で、ベクトル間の距離は、レーベンシュタイン距離、コサイン距離、又はカラム内の値を表すベクトル間の距離を計算するよう構成された他の数学的類似度関数を用いて、決定されてもよい。いくつかの実施形態で、計算された距離は、第1カラム内の値と第2カラム内の値との間のメタデータ類似度値を決定するために使用されてよい。
【0078】
ブロック328で、メタデータ類似度値は、第1カラム及び第2カラムに関連した抽出されたメタデータ間で決定されてよい。いくつかの実施形態で、メタデータ類似度値は、ベクトル間の距離、第1カラム及び第2カラムに夫々関連したデータ分布の間の分布類似性、及び第1カラムと第2カラムとの間のデータタイプ類似性のうちの少なくとも1つに基づいて決定されてよい。いくつかの実施形態で、メタデータ類似度値は、前もって決定された閾値に基づいて決定されてもよい。例えば、閾値が“2”であることが前もって決定されていてよく、従って、“2”を超える値を割り当てられた類似度値は、以下
図9で説明されるように、第1の選択されたカラムと第2の選択されたカラムとの間の抽出されたメタデータが類似していない可能性があること、又は少なくとも、第1カラムと第2カラムとの間の抽出されたメタデータがクラスタに含めるほどには十分に類似していない可能性があることを示し得る。
【0079】
ブロック330で、メタデータ類似度値はセーブされてよい。いくつかの実施形態で、メタデータ類似度値は、メタデータ類似度値が第1カラム及び第2カラムと関連付けられ得るようにセーブされてよい。いくつかの実施形態で、メタデータ類似度値は、メタデータ類似度値が、当該メタデータ類似度に関連したカラムと対を成す他のカラムに関連した他のメタデータ類似度値とともにセーブされ得るように、セーブされてよい。例えば、第1カラム220aと第2カラム220bとの間の類似性を表すメタデータ類似度値が存在してよく、これは、第2カラム220bと第nカラム220nとの間の類似性を表す他のメタデータ類似度値とともにセーブされてよい。
【0080】
ブロック332で、更なるカラムが比較されるために残っているかどうかが決定されてよい。いくつかの実施形態で、表形式のデータは、カラムの各対の間のメタデータ類似度値を決定するよう夫々比較され得るカラムを含んでよい。例えば、表形式のデータは、3つのカラム、つまり、第1カラム220a、第2カラム220b、及び第nカラム220nを有してよい。方法300は、第1カラム220aと第2カラム220b、第1カラム220aと第nカラム220n、及び第2カラム220bと第nカラム220nを比較してよい。いくつかの実施形態で、ブロック332で、これらの比較の夫々がまだ行われているかどうかが決定されてよい。比較が行われている場合に、方法350はブロック334へ進んでよく、そうでない場合には、方法350はブロック318に戻ってよく、及び/又は方法300のブロック302に戻ってよい。
【0081】
ブロック334で、メタデータ類似度値は、システムへ送信されてよく、あるいは、
図1、2、及び9で説明されるように、総類似度値を生成するよう関数で使用されてもよい。
【0082】
本開示の範囲から外れずに、方法350に対して変更、追加、又は削除が行われてもよい。例えば、方法350の動作は別の順序で実施されてもよい。追加的に、又は代替的に、2つ以上の動作は同時に実行されてもよい。更に、説明されている操作及び動作は、単に例として与えられており、操作及び動作の一部は、記載されている実施形態の本質から外れずに、任意であっても、より少ない操作及び動作にまとめられても、あるいは、追加の操作及び動作に拡張されてもよい。
【0083】
図4は、本開示で記載される少なくとも1つの実施形態に従って、データセット内のカラムの対の間の意味的類似度値を決定する方法400の例のフローチャートを表す。方法400は、
図1の特徴量エンジニアリングシステム120、
図2のメタデータ類似度モジュール230、及び
図2のシステム200に関して任意の適切なシステム、装置、又はデバイスによって実行されてよい。方法400は、1つ以上のブロック410、420、430、440、450、460、470、及び480を含んでよい。別個のブロックで表されているが、方法400のブロックの1つ以上に関連したステップ及び動作は、具体的な実施に応じて、追加のブロックに分割されても、より少ないブロックへとまとめられても、又は削除されてもよい。
【0084】
いくつかの実施形態で、方法400はブロック410から開始してよい。ブロック410で、一対のカラムがデータセットから選択されてよい。いくつかの実施形態で、データセットから選択されたカラムの対は、タイトルを夫々含む一対のカラムを含んでよい。いくつかの実施形態で、タイトルは、データセットのカラムの対における値について記述し得る。例えば、カラムの1つにおける1つの値は150であってよく、対応するタイトルは、値について記述し得る「平方フィート当たりの価格」であってよい。
【0085】
ブロック420で、第1カラム内の第1タイトル及び第2カラムからの第2タイトルがデータセットから抽出されてよい。いくつかの実施形態で、第1カラム内の第1タイトル及び第2カラム内の第2タイトルは同じでなくてもよい。追加的に、又は代替的に、第1タイトル及び第2タイトルは同じであってもよい。いくつかの実施形態で、第1カラム内の第1タイトルは省略形であってもよい。例えば、第1タイトルは、「Garage Year Built」(ガレージ建設年)の省略形であり得る「GarageYrBlt」であってよい。
【0086】
ブロック430で、第1タイトルは第1ベクトルに変換されてよく、第2タイトルは第2ベクトルに変換されてよい。いくつかの実施形態で、第1タイトル及び第2タイトルは、埋め込み関数を用いて、第1ベクトル及び第2ベクトルに夫々変換されてよい。埋め込み関数の例には、Word2Vector、Bidirectional Encoder Representations from Transformers-Embedding(“BERT埋め込み”)、Generative Pre-trained Transformer(“GPT埋め込み”)、及びタイトルをベクトルに変換することができる任意の他の関数がある。いくつかの実施形態で、第1ベクトルは、第1タイトル内の単語の数値表現を含んでよく、第2ベクトルは、第2タイトル内の単語の数値表現を含んでよい。
【0087】
ブロック440で、第1ベクトルと第2ベクトルとの間の距離が計算されてよい。いくつかの実施形態で、第1ベクトルと第2ベクトルとの間の距離は、類似度関数を用いて計算されてよい。いくつかの実施形態で、類似度関数は、コサイン類似度関数、ユークリッド距離関数、又は2つのベクトル間の距離を決定するよう設計された任意の他の関数であってよい。いくつかの実施形態で、第1ベクトルと第2ベクトルとの間で計算された距離は、第1カラム内の第1タイトル及び第2カラム内の第2タイトルが類似する可能性があるかどうかを決定するために使用されてよい。いくつかの実施形態で、第1ベクトルと第2ベクトルとの間の距離が小さいほど、第1タイトル及び第2タイトルが類似している可能があることを示し得る。例えば、第1タイトルは、「Fist Floor Square Feet」(1階平方フィート)の省略形であり得る「1stFlrSF」であってよく、第2タイトルは、「2階平方フィート」の省略形であり得る「2ndFlrSF」であってよい。例を続けると、第1タイトル及び第2タイトルは、第1ベクトル及び第2ベクトルに変換されてよく、第1ベクトルと第2ベクトルとの間で計算された距離は、0.25であってよい。他の例では、第1タイトルは「1stFlrSF」であってよく、第2タイトルは「HousingPrice」(住宅価格)であってよい。2番目の例では、第1タイトルは第1ベクトルに変換されてよく、第2タイトルは第2ベクトルに変換されてよく、第1ベクトルと第2ベクトルとの間で計算された距離は、1.25であってよい。上記の例で、最初の例で計算された距離は、二番目の例で計算された距離よりも小さくなり、これは、2番目の例における第1タイトルと第2タイトルとの間でそうであったよりも、最初の例における第1タイトルと第2タイトルとの間の類似性の方が高いことを示す。
【0088】
ブロック450で、意味的類似度値が、第1ベクトルと第2ベクトルとの間の計算された距離に基づいて決定されてよい。いくつかの実施形態で、意味的類似度値は、第1ベクトルと第2ベクトルとの間の計算された距離と同じであってよい。いくつかの実施形態で、第1ベクトルと第2ベクトルとの間の計算された距離は、第1ベクトルと第2ベクトルとの間の距離を含む複数の係数に基づいて、意味的類似度値に変換されてもよい。いくつかの実施形態で、意味的類似度値は、第1カラム及び第2カラムに関連した予測された測定の単位の間の比較に加えて第1ベクトルと第2ベクトルとの間の距離に基づいて決定されてよい。例えば、データセットは第1カラム及び第2カラムを含んでよく、第1カラムは、第1カラム内の値について記述し得るタイトル「サラリー」を有してよく、第2カラムは、第2カラム内の値について記述し得るタイトル「オーバーオール」を有してよい。例を続けると、第1カラム内の値及び第2カラム内の値は両方とも、
図5~8に関して以下で記載される様々な実施形態に係る方法を用いて予測され得る予測された「ドル」の単位を有することが決定されてよい。更に例を続けると、第1タイトル「サラリー」と第2タイトル「オーバーオール」との間の距離が比較的高くなることが決定されてよく、これは、第1カラム及び第2カラムが類似していない可能性があることを示し得る。しかし、値は同じ予測された単位「ドル」を有するので、第1カラムと第2カラムとの間の意味的類似度値は、第1タイトルと第2タイトルとの間の距離だけを用いた意味的類似度値よりも低くなり、これは、第1カラム及び第2カラムが類似している可能性があることを示し得る。
【0089】
ブロック460で、第1カラム及び第2カラムが類似していると見なされるべきかどうかが決定されてよい。いくつかの実施形態で、決定は、意味的類似度値が閾値を下回るかどうかに基づいてよい。例えば、第1ベクトルと第2ベクトルとの間の距離が決定されてよい。距離が閾値を上回る場合には、第1カラム及び第2カラムは類似していない可能性がある。第1カラム及び第2カラムが類似していると見なされない場合には、方法400はブロック470へ進んでよい。第1カラム及び第2カラムが類似していると見なされる場合には、方法400はブロック480へ進んでよい。
【0090】
ブロック470で、更なるカラムが比較のために存在するかどうかが決定されてよい。これら及び他の実施形態で、カラムの夫々は互いに比較され得る。例えば、データセットには、第1カラム、第2カラム、及び第3カラムが含まれ得る。例を続けると、第1カラムは第2カラム及び第3カラムと比較されてよく、第2カラムは第3カラムと比較されてよい。いくつかの実施形態で、夫々の比較の後で、全ての列が比較されたかどうかが決定され得る。解析のための追加のペアがある場合には、方法400は、もう一対のカラムについて検討するためにブロック410へ戻ってよい。更なるカラム対がない場合には、方法は終了し得る。
【0091】
ブロック480で、ブロック450で決定された意味的類似度値がセーブされてよい。いくつかの実施形態で、意味的類似度値は、意味的類似度値がカラムの対と関連付けられ得るようにセーブされてよい。意味的類似度値はセーブされて、以下
図9で記載及び例示されるように、カラムの対が一緒にクラスタ化され得るかどうかを決定するために、データ類似度値及びメタデータ類似度値とともに特徴量エンジニアリング関数によって使用されてよい。ブロック480の後、方法400は、カラムの任意の残りの対の解析のためにカラムの任意の追加の対があるかどうかを決定するために、ブロック470へ進んでよい。
【0092】
本開示の範囲から外れずに、方法400に対して変更、追加、又は削除が行われてもよい。例えば、方法400の動作は別の順序で実施されてもよい。追加的に、又は代替的に、2つ以上の動作は同時に実行されてもよい。更に、説明されている操作及び動作は、単に例として与えられており、操作及び動作の一部は、記載されている実施形態の本質から外れずに、任意であっても、より少ない操作及び動作にまとめられても、あるいは、追加の操作及び動作に拡張されてもよい。
【0093】
図5は、本開示で記載される少なくとも1つの実施形態に従って、データセット内の値について予測された測定の単位を生成する方法500の例のフローチャートを表す。方法500は、
図1の特徴量エンジニアリングシステム120、
図2のメタデータ類似度モジュール230、及び/又は
図2のシステム200に関して任意の適切なシステム、装置、又はデバイスによって実行されてよい。方法500は、1つ以上のブロック510、520、530、540、及び550を含んでよい。別個のブロックで表されているが、方法500のブロックの1つ以上に関連したステップ及び動作は、具体的な実施に応じて、追加のブロックに分割されても、より少ないブロックへとまとめられても、又は削除されてもよい。
【0094】
いくつかの実施形態で、方法500はブロック510から開始し得る。ブロック510で、データセットが取得されてよく、データセットには、タイトル及び/又は値を含むカラムが含まれ得る。そのようなデータセットの例は、
図2に表されているデータセット210及び/又は
図1に表されているデータセット110として表される。
【0095】
ブロック520で、タイトル及び値がカラムから抽出されてよい。いくつかの実施形態で、タイトル及び値は、以下ブロック530で説明されるように、システムが、タイトル及び値の両方を含み得る質問を合成するよう構成され得るように、組み合わせてカラムから抽出されてもよい。
【0096】
ブロック530で、質問がタイトル及び値に基づいて合成され得る。いくつかの実施形態で、質問は自然言語質問として合成されてよい。これら及び他の実施形態で、質問は、値についての予測された測定の値を含み得る応答を質問が引き出し得るように、合成されてよい。例えば、合成された質問は、カラム内の値の測定の単位を含む応答を引き出すよう作成され得る「[値]の単位は何?」を含んでよい。これら及び他の実施形態で、合成された質問は、質問に対する何らかの追加のコンテキストを質問が提供し得るように、値及びタイトルを用いて作成されてよい。例えば、カラムのタイトルは「地下平方フィート」であってよく、カラム内の値は1,000であってよい。例を更に続けると、合成された質問は「地下平方フィートは1,000であり、地下平方フィートの値は何?」を含んでよい。これら及び他の実施形態で、カラムのタイトルは省略されてもよく、例えば、「地下平方フィート」(Basement Square Feet)であるタイトルの代わりに、第1タイトルは「BmtSF」であってよい。従って、先の例で説明されるように、合成された質問は「BmtSFは1,000であり、BmtSFの値は何?」であってもよい。これら及び他の実施形態で、合成された質問は、カラム記述、展開されたタイトル、複数のサンプル質問、機械学習タスク記述、質問-回答の複数の例、及び以下
図7で更に例示及び記載されるような他の関連する考慮事項を含み得る他の考慮事項に基づいてよい。
【0097】
ブロック540で、合成された質問は、回答を得るよう言語モデルへ送信されてよい。いくつかの実施形態で、質問は、言語モデルが、予測された測定の単位を含み得る質問に対する回答を生成し得るように、言語モデルへ送信されてよい。これら及び他の実施形態で、言語モデルは、Generative Pre-Trained Transformer 3(“GPT3”)、Bidirectional Encoder Representaions from Transfomers(“BERT”)、Robustly Optimized Bidirectional Encoder Representaions from Transformers(“RoBERTa”)、Text-to-Text Transfer Transformer(“T5”)、及び合成された質問を受信し、予測された測定の単位を含み得る回答を提供するよう設計された他の言語モデルなどの言語モデルを含み得る予め訓練された大規模言語モデルを含んでよい。これら及び他の実施形態で、より大きい言語モデルは、合成された質問により正確に回答できる。例えば、T5-11b言語モデルは、言語モデルが訓練中に改善しようと試みることができる110億個のパラメータを含み、一方、T5-Small言語モデルは、言語モデルが訓練中に改善しようと試みることができる6000万個のパラメータを含む。例を続けると、T5-11b言語モデルは、例えば、T5-Small言語モデルよりも大きいデータセットを用いて、訓練され得るので、T5-11b言語モデルは、T5-Small言語モデルと比べて、正確に質問に答えるのにより適することになる。
【0098】
ブロック550で、回答に基づいて、予測された測定の単位が生成されてよい。いくつかの実施形態で、1つの質問が合成され、言語モデルへ送信されてよく、言語モデルは、予測された測定の単位を、合成された質問に対する回答として提供し得る。いくつかの実施形態で、質問は、カラム内の値及びタイトルに基づいて生成されてよい。いくつかの実施形態で、言語モデルは、所与のカラム内の複数の値又は所与のカラム内の値の夫々について複数の質問を受信するよう構成されてよい。これら及び他の実施形態で、言語モデルは、質問の夫々に対する回答を提供するよう構成されてよい。いくつかの実施形態で、予測された測定の単位は、複数の質問について言語モデルによって提供された回答の過半数(majority)からの合意に基づき選択されてもよい。例えば、第1カラムは第1タイトル、第1値、第2値、及び第3値を含んでよい。例を続けると、第1質問は、第1タイトル及び第1値に基づいて合成されてよく、第2質問は第1タイトル及び第2値に基づいて合成されてよく、第3質問は第1タイトル及び第3値に基づいて合成されてよい。第1質問、第2質問、及び第3質問の夫々が言語モデルへ送信されてよく、言語モデルは、第1質問に対する第1回答、第2質問に対する第2回答、及び第3質問に対する第3回答を提供し得る。例を続けると、第1回答及び第2回答は同じであってよく、第3質問は異なってよい。そのような状況で、過半数の回答(例えば、第1回答及び第2回答)は、以下
図8で更に記載及び例示されるように、予測された単位であることができる。
【0099】
本開示の範囲から外れずに、方法500に対して変更、追加、又は削除が行われてもよい。例えば、方法500の動作は別の順序で実施されてもよい。追加的に、又は代替的に、2つ以上の動作は同時に実行されてもよい。更に、説明されている操作及び動作は、単に例として与えられており、操作及び動作の一部は、記載されている実施形態の本質から外れずに、任意であっても、より少ない操作及び動作にまとめられても、あるいは、追加の操作及び動作に拡張されてもよい。
【0100】
図6は、本開示で記載される少なくとも1つの実施形態に従って、予測された2つの単位の間の単位類似度値を決定する方法600の例のフローチャートを表す。方法600は、
図1の特徴量エンジニアリングシステム120、
図2のメタデータ類似度モジュール230、及び/又は
図2のシステム200に関して任意の適切なシステム、装置、又はデバイスによって実行されてよい。方法600は、1つ以上のブロック602、604、606、608、610、612、614、及び616を含んでよい。別個のブロックで表されているが、方法600のブロックの1つ以上に関連したステップ及び動作は、具体的な実施に応じて、追加のブロックに分割されても、より少ないブロックへとまとめられても、又は削除されてもよい。
【0101】
いくつかの実施形態で、方法600はブロック602及び604から開始し得る。ブロック602で、第1カラムがデータセットから選択されてよく、ブロック604で、第2カラムがデータセットから選択されてよい。これら及び他の実施形態で、第1カラム及び第2カラムは夫々タイトル及び値を含んでよく、第1カラム内の値は測定の単位を有してよく、第2カラム内の値は測定の単位を有してよい。
【0102】
ブロック606で、プロンプトが生成されてよい。いくつかの実施形態で、生成されたプロンプトは、上で方法500においてブロック530で記載及び例示されたように合成された質問であってよい。追加的に、又は代替的に、プロンプトは、以下
図7で方法700において記載及び例示されるように、質問を合成するために使用され得る考慮事項に従って生成されてもよい。例えば、以下
図7で詳述される考慮事項のいくつかには、複数のサンプルカラム値、カラム記述、展開されたカラム名、機械学習タスク記述、質問-回答対の例、及び言語モデルへ送信される生成するのに有用であることができ、測定の単位を含み得る回答を引き出すよう設計され得る他の形式の情報が含まれてもよい。いくつかの実施形態で、プロンプトは、言語モデルから回答を受け取るよう生成されてもよく、言語モデルは、第1カラム内の値の測定の単位及び第2カラム内の値の測定の単位を予測するものであってよい。例えば、第1カラム内の値は値1,050を含んでよく、当該値は単位を含んでいない。例を続けると、プロンプトが生成されてよく、応答を引き出すよう設計され得る質問を含んでもよく、応答は、当該単位の予測された測定の単位を含み得る。プロンプトは、次の「1,050の測定の単位は何?」を含んでもよい。追加的に、又は代替的に、プロンプトは追加情報、例えば、第1カラムのタイトル、カラム記述、展開されたカラム名、機械学習タスク記述、質問-回答対の例、及び他の形式の情報を含んでもよい。上記の例では、第1カラムのタイトルは「TotSF」であってよく、機械学習タスク記述は「住宅価格の予測」であってよく、追加情報を用いて、プロンプトは、「住宅価格を予測するために、ToSFは1,050であり、TotSFの単位は何?」であってよい。例を続けると、プロンプトは、「平方フィート」の予測された単位を引き出すよう設計され得る。
【0103】
ブロック608で、単位予測のための特徴がマスクされてよい。いくつかの実施形態で、プロンプトは、プロンプトが、予測された測定の単位で置換されるマスクされた単位を有するよう設計され得るように、マスクされた単位を含んでよい。これら及び他の実施形態で、第1カラム内の値は、マスクされた単位を含み得るプロンプトで使用されてよい。いくつかの実施形態で、第2カラム内の値は、他のマスクされた単位を含み得る第2プロンプトで使用されてよい。例えば、第1カラムは、プロンプトが以下:
The[MASK] is <値><カラム名>.
The[MASK] is 1232 Bsmt total SF.
で示されるように作成され得るように、値(1232)、タイトル(“Bstm total SF”)、及びマスクされた単位を有してよい。上記の例で、プロンプトを作成する目的は、マスクされた単位の回答を引き出すことであってよく、上記の例では、マスクされた単位の回答は「平方フィート」であることができる。上記の例を続けると、第1カラムのタイトルは、「Basement Square Footage」(地下平方フィート)と読むよう展開されてもよく、これは、より高い精度及び速さでマスクが予測され得るための追加コンテキストを提供し得る。
【0104】
ブロック610で、第1カラムの予測された単位及び第2カラムの予測された単位が提供されてよい。いくつかの実施形態で、ブロック608で詳細に上述されたプロンプトは言語モデルへ送信されてよい。追加的に、又は代替的に、言語モデルは、言語モデルが第1カラムについての予測された測定の単位を生成することができるように、事前訓練されてもよい。これら及び他の実施形態で、言語モデルは、GPT3、BERT、RoBERTa、及びプロンプトを受け取り、
図5で方法500において更に詳述及び例示されているように予測された測定の単位を提供するよう設計された他の言語モデルなどの言語モデルを含んでもよい。いくつかの実施形態で、言語モデルは、第1カラムの予測された測定の単位について、いくつかの予測された測定の単位を提供してもよい。例えば、プロンプトは、「The[MASK] is 1232 Bsmt total SF.」であってよく、言語モデルは、可能性のある4つの単位を提供してよく、言語モデルは、可能性のある4つの単位の夫々が正確であり得る関連する確率を割り当ててもよい。上記のプロンプトに応答して、言語モデルは、次の測定の単位:
面積(平方フィート):0.326
価格(ドル):0.252
人口:0.046
密度:0.023
により回答し得る。上記の例で、「面積(平方フィート)」は、その確率が、言語モデルによって提供される可能性がある可能な4つの単位の中で最大であるから、予測された測定の単位として選択され得る。これら及び他の実施形態で、予測された測定の単位の引数maxima(argmax)が取られてもよく、それにより、予測された測定の単位は、可能性のある4つの単位の中で、正確である可能性が最も高くなる1つの単位である。
【0105】
ブロック612で、単位類似度値がセーブされてよい。いくつかの実施形態で、単位類似度値は、第1の予測された測定の単位が第2の予測された測定の単位に対してどれくらい似ている可能性があるかに基づいて、決定され得る。いくつかの実施形態で、単位類似度値は0又は1のどちらかであることができ、これは、予測された測定の単位が一致するかどうかに依存し得る。例えば、予測された測定の単位は「平方フィート」であってよく、これは、やはり「平方フィート」であることができる他の予測された測定の単位に一致し得る。予測された測定の単位が一致するので、単位測定類似度値は、予測された測定の単位の間で「0」になる。他の例では、第1の予測された測定の単位は「平方フィート」であってよく、第2の予測された測定の単位は「平方メートル」であってよい。例を続けると、予測された測定の単位は一致しないので、単位測定類似度値は「1」になる。いくつかの実施形態で、単位測定類似度値は0から1の間の値であってもよく、これは、予測された測定の単位がどれくらい似ている可能性があるかに依存し得る。例えば、1つの予測された測定の単位は「平方フィート」(square feet)であってよく、もう1つの予測された測定の単位は「平方フット」(square foot)であってよい。予測された測定の単位が一致していないために予測された測定の単位が1の類似度値を与えられ得る上記の例とは違って、ここでは、0から1の間の類似度値が、予測された測定の単位がどれくらい似ている可能性があるか又は似ていない可能性があるかを示すよう与えられ得る。いくつかの実施形態で、テキスト正規化プロセスが、予測された測定の単位の比較精度を高めるために実施されてもよい。上記の例で、一方の予測された測定の単位は「平方フィート」であり、他方の予測された測定の単位は「平方フット」であった。例を続けると、予測された測定の単位は、「フィート」(feet)が「フット」(foot)とは異なる点で異なり得るが、実際には、違いはないことがある。例を続けると、テキスト正規化プロセスは、特定のテキスト用語を識別して正規化し、互いに一致するようにすることで、より正確な単位類似度値を可能にすることができる(例えば、フット(foot)及びフィート(feet)は両方ともフィート(feet)になる。)。これら及び他の実施形態で、予測された単位類似度値が0に近づくことは、予測された測定の単位が非類似よりも類似であることを表すことができ、一方、予測された単位類似度値が1に近づくことは、予測された測定の単位が類似よりも非類似であることを表すことができる。
【0106】
ブロック614で、他のカラム対がデータセットから比較のために利用可能であるかどうかが決定されてよい。いくつかの実施形態で、データセットは複数のカラムを含んでよく、複数のカラムの夫々は、複数のカラムの中の残りのカラムの夫々と比較されてよい。データセット内に比較すべき他のカラム対がない場合に、方法600はブロック616へ進んでよく、方法600は終了し得る。他のカラム対がある場合には、方法600は、ブロック602及び606へ戻ってもよく、第1カラム及び第2カラムが比較のために選択され得る。
【0107】
本開示の範囲から外れずに、方法600に対して変更、追加、又は削除が行われてもよい。例えば、方法600の動作は別の順序で実施されてもよい。追加的に、又は代替的に、2つ以上の動作は同時に実行されてもよい。更に、説明されている操作及び動作は、単に例として与えられており、操作及び動作の一部は、記載されている実施形態の本質から外れずに、任意であっても、より少ない操作及び動作にまとめられても、あるいは、追加の操作及び動作に拡張されてもよい。
【0108】
図7は、本開示で記載される少なくとも1つの実施形態に従って、言語モデルのために多数の質問を生成する方法700の例のフローチャートを表す。方法700は、
図1の特徴量エンジニアリングシステム120、
図2のメタデータ類似度モジュール230、及び/又は
図2のシステム200に関して任意の適切なシステム、装置、又はデバイスによって実行されてよい。方法800は、1つ以上のブロック702、704、706、708、710、712、714、716、718、720、722、及び724を含んでよい。別個のブロックで表されているが、方法700のブロックの1つ以上に関連したステップ及び動作は、具体的な実施に応じて、追加のブロックに分割されても、より少ないブロックへとまとめられても、又は削除されてもよい。
【0109】
いくつかの実施形態で、方法600はブロック702から開始し得る。ブロック702で、カラムが表形式のデータから抽出されてよい。いくつかの実施形態で、表形式のデータは、任意の数のカラムに分けられ得るデータセットを含んでよく、カラムには夫々タイトル及び/又は値が含まれ得る。
【0110】
ブロック704で、サンプル値がカラムから抽出されてよい。いくつかの実施形態で、カラムには値が含まれてよく、値からサンプル値が抽出されてよい。例えば、カラムには、全部で1,500個の値が含まれてよく、それら1,500個の値から、5つのサンプル値が抽出されてよく、5つのサンプル値の夫々について1つの質問を合成するために使用されてよい。例を続けると、5つのサンプル値はランダムに選択されてよい。追加的に、又は代替的に、5つのサンプル値は、カラム内の5つの最も一般的な値であってよい。更に例を続けると、選択された5つのサンプル値の夫々は、異なるサンプル値を含んでもよく、それにより、合成された質問は、異なるサンプル値を含むことになる。例を続けると、5つのサンプル質問が、予測された測定の単位を夫々含み得る5つの回答を引き出すために作成されてよい。更に例を続けると、合成された5つの質問の夫々は、5つの対応する回答により5つの質問に回答するよう訓練され得る言語モデルへ送信されてよく、5つの回答の夫々には、予測された測定の単位が含まれ得る。
【0111】
ブロック706で、カラムタイトルが抽出されてもよい。いくつかの実施形態で、カラムの夫々はタイトルを有してもよく、カラムの夫々から各タイトルが抽出されてよい。
【0112】
ブロック708で、カラム記述が利用可能であり得るかどうかに関して決定が行われてもよい。いくつかの実施形態で、データセット内のカラムの1つ以上は、データセット内のカラムの変数、タイトル、値及び他のコンポーネントの意味に関する追加情報を提供し得るカラム記述を含んでもよい。カラム記述は、言語モデルに対する質問が合成され得るための追加コンテキストを提供してよい。カラム記述が利用可能である場合に、方法700はブロック710へ進んでよい。カラム記述が利用可能でない場合には、方法700はブロック712へ進んでよい。
【0113】
ブロック710で、カラム記述が利用可能であることに基づいて、カラム記述は、カラム記述が質問の生成を促すために使用され得るように、抽出されてよい。これら及び他の実施形態で、カラム記述は、所与のカラムのコンテキストを提供してもよい。例えば、カラムは、省略されたタイトル「OveralQual」であることができるタイトルを含んでもよい。カラムはカラム記述を更に含んでもよく、カラム記述は、例えば、第1タイトル「OveralQual」が「Overall material and finish quality」(全体的な材質及び仕上げの品質)を記載し得ることを説明する。カラム記述は、例と続けると、カラム内の省略されたタイトル「OveralQual」の説明などの追加コンテキストを含み得る質問を生成するために、方法700で使用されてもよい。いくつかの実施形態で、カラム記述は、カラム内のタイトルの代わりに多数の質問を生成するために使用されてもよく、あるいは、カラム内のタイトルとともに使用されてもよい。
【0114】
ブロック712で、カラム名が省略されている可能性があるかどうかに関して決定が行われてもよい。いくつかの実施形態で、カラム名は、効率、使用空間、などを含む様々な理由により、データセット内で省略されることがある。これら及び他の実施形態で、カラム名が省略されている可能性があることが決定されてよい。例えば、カラム名は「GrgeYrBlt」であってよく、これは「Garage Year Built」(ガレージ建築年)の省略形であることができる。カラム名が省略されている場合に、方法700はブロック714へ進んでよい。カラム名が省略されていない場合には、方法700はブロック716へ進んでよい。
【0115】
ブロック714で、カラム名が説明されてよい。ブロック712での上記の例を使用するために、カラム名は「GrgeYrBlt」であってよく、これは、「Garage Year Built」に自動的に展開されてよい。いくつかの実施形態で、展開されたカラム名は、ブロック722で質問を生成するために使用されてもよく、このとき展開されたカラム名は、追加情報及び追加コンテキストを提供するために使用されてよく、それらを用いて、言語モデルは、関連するカラム内の値についての予測された測定の単位の根拠を提供し得る回答を生成する。
【0116】
ブロック716で、元のカラム名が使用されてよい。いくつかの実施形態で、カラム名は、ブロック712で省略されていると決定され得るが、識別可能な展開された名称を有さないこともあり、そのような状況では、元のカラム名が、ブロック722で、質問を生成するために使用されてもよい。例えば、カラム名は「Xlt」であってよく、これは省略されたカラム名であるが、省略されたカラム名の展開されたバージョンが容易には識別可能でないことがある。その場合に、「Xlt」が、ブロック722で、質問を生成するために使用され得る。
【0117】
ブロック718で、機械学習タスク記述が識別されてよい。いくつかの実施形態で、
図3~7で記載され
図1、2及び10でシステムとして表されている方法の結果として追加の特徴量を含む改善されたデータセットが、より即時に、効率的に、及び/又は効果的にタスクを完了するよう機械学習モデルを訓練するために使用されてよい。いくつかの実施形態で、機械学習問題のタスク又はターゲット記述が知られていることがある。これら及び他の実施形態で、既知のタスク又はターゲット記述は、既知のタスクを完了することを目標とすることができる予測された測定の単位の回答を引き出すよう作成された質問を生成するために使用されてよい。例えば、機械学習モデルのタスク記述は「住宅価格の予測」であってよく、データセット内のカラム名は「ガレージ面積」(GarageArea)であってよい。更に例を続けると、生成された質問は、「住宅価格を予測するために、ガレージ面積の単位は何?」というコンテキストとして機械学習タスクを含んでよい。いくつかの実施形態で、既知のタスク記述の使用の結果として提供された追加コンテキストは、第1カラム内の値について測定の単位をより正確に予測するために言語モデルの能力を向上させ得る。
【0118】
ブロック720で、質問-回答対の例が生成されてよい。いくつかの実施形態で、質問-回答対の例は、言語モデルがブロック722で生成された質問により即時にかつ正確に回答することができるように、言語モデルへ例を提供するよう生成されてよい。いくつかの実施形態で、質問-回答対は、異なる単位を含むことがある。いくつかの実施形態で、質問-回答対は、同じ単位を含んでもよい。例えば、生成された複数の質問-回答対には、次が含まれ得る:
質問1:望遠鏡のクラスを予測するために、fDistは333.0607である。fDistの単位は何?
回答1:ミリメートル。
質問2:地震を予測するに、緯度は-32.98である。緯度の単位は何?
回答2:度。
質問3:鉱物を予測するために、モース硬度は4.5である。モースの単位は何?
回答3:順序尺度。
いくつかの実施形態で、質問-回答対は、言語モデルが測定の単位を予測するためにコンテキストを提供するよう、ブロック722で生成された質問とともに言語モデルへ送信されてよい。これら及び他の実施形態で、質問-回答対は、言語モデルを訓練するために独立して使用されてよい。追加的に、又は代替的に、質問-回答対は、言語モデルがより正確にかつ効率的に測定の単位を予測できるように、言語モデルをファインチューニングするために使用されてよい。これら及び他の実施形態で、質問-回答対は、ブロック722で生成された質問と同じスタイルにより及び/又は類似したフォーマットで生成されてもよい。いくつかの実施形態で、質問-回答対は、既知の質問及び既知の正確な回答を用いてユーザ(例えば、データサイエンティスト又はコンピュータプログラマ)によって準備された既知の質問-回答対を含んでもよい。
【0119】
ブロック722で、質問が生成されてよい。いくつかの実施形態で、生成された質問は、ブロック704で抽出されたカラムサンプル値、ブロック710でのカラム記述、ブロック714での展開されたカラム名、ブロック716での元のカラム名、ブロック718での機械学習タスク記述、及びブロック720で生成された質問-回答対のうちの1つ以上に基づいて、生成されてもよい。
【0120】
例えば、生成された質問は、次のような:
[質問-回答対]。[機械学習タスク記述]を予測するために、[カラム記述または展開されたカラム名または元のカラム名]は[サンプル値]である。[カラム記述または展開されたカラム名または元のカラム名]の値は何?
という形式で、又は一例として、上記のテンプレートが満たされる場合には、次のような:
住宅価値を予測するために、地下平方フィートは1,005である。地下平方フィートの単位は何?
という形式で、言語モデルへ送信されるよう生成されてよい。
【0121】
ブロック724で、言語モデルへ送信する質問を生成するために使用される方法700は終了してよい。
【0122】
本開示の範囲から外れずに、方法700に対して変更、追加、又は削除が行われてもよい。例えば、方法700の動作は別の順序で実施されてもよい。追加的に、又は代替的に、2つ以上の動作は同時に実行されてもよい。更に、説明されている操作及び動作は、単に例として与えられており、操作及び動作の一部は、記載されている実施形態の本質から外れずに、任意であっても、より少ない操作及び動作にまとめられても、あるいは、追加の操作及び動作に拡張されてもよい。
【0123】
図8は、本開示で記載される少なくとも1つの実施形態に従って、多数決投票により予測された測定の単位を決定する方法800の例のフローチャートを表す。方法800は、
図1の特徴量エンジニアリングシステム120、
図2のメタデータ類似度モジュール230、及び/又は
図2のシステム200に関して任意の適切なシステム、装置、又はデバイスによって実行されてよい。方法800は、1つ以上のブロック810、820、830、840、850、860、及び870を含んでよい。別個のブロックで表されているが、方法800のブロックの1つ以上に関連したステップ及び動作は、具体的な実施に応じて、追加のブロックに分割されても、より少ないブロックへとまとめられても、又は削除されてもよい。
【0124】
いくつかの実施形態で、方法800はブロック810から開始し得る。ブロック810で、質問が合成されてよい。いくつかの実施形態で、合成された質問は、方法700で(例えば、ブロック722で)生成されたものと同じ質問であってよい。いくつかの実施形態で、合成された質問は、カラムから抽出された多数のサンプル値に基づいてよい。これら及び他の実施形態で、合成された質問は、言語モデルへ送信されるよう構成されてよく、言語モデルから回答を引き出すよう作成されてよく、言語モデルからの回答は、カラムについて予測された測定の単位を生成するために使用されてよい。
【0125】
ブロック820で、言語モデルは、合成された質問を受け取るよう構成されてよい。いくつかの実施形態で、言語モデルは、合成された質問の夫々に回答するよう構成されてよく、質問の夫々に対する回答は、測定の単位を含んでよい。いくつかの実施形態で、データセットには、カラムが含まれてもよく、カラムの夫々における値について測定の単位を予測するために、カラムの夫々について質問が合成されてよい。これら及び他の実施形態で、言語モデルは、
図5において上で記載及び例示された言語モデルを含んでよい。
【0126】
ブロック830で、回答が言語モデルから受け取られてよい。いくつかの実施形態で、質問の夫々は、測定の単位を含む回答を引き出すよう作成されてよい。
【0127】
ブロック840で、十分な質問が言語モデルによって回答されたかどうかに関して決定が行われてよい。いくつかの実施形態で、回答された質問の数が十分であるかどうかは、質問の閾数に基づいてよい。いくつかの実施形態で、質問の閾数は、第1カラム内の値の数に基づいてよい。いくつかの実施形態で、質問の閾数は、言語モデルの決定された有効性に基づいてよい。例えば、言語モデルが、50%の割合で正確な予測された測定の単位を含む回答を提供すると証明されている場合に、質問の閾数は、80%の割合で正確な予測された測定の単位を含む回答を提供すると証明されている言語モデルよりも多くなる。いくつかの実施形態で、質問の閾数は、予測された測定の単位を決定するための多数決投票法の使用に基づいて、決定されてもよい。いくつかの実施形態で、言語モデルは、(例えば、異なるサンプル値を有する質問に対して)いくつかの異なる回答を提供してよく、予測された測定の単位は、言語モデルから与えられたいくつかの回答の過半数合意に基づいて選択されてよい。いくつかの実施形態で、最良の回答に到達するための回答の数は予め定義されてよい。いくつかの実施形態で、最良の回答に到達するための回答の事前定義された数は、言語モデルによって合成されて回答され得る対応する質問の数を示し得る。例として、限定としてではなく、最良の回答に到達するための回答の事前定義された数は、3であってよい。例と続けると、言語モデルによって合成されて回答され得る対応する質問の数は、3から5つの質問であってよい。十分な質問が処理された場合に、方法800はブロック860へ進んでよい。そうでない場合には、方法800はブロック850へ進んでよい。
【0128】
ブロック850で、追加の質問が、言語モデルへ送信するために合成されてもよい。これら及び他の実施形態で、合成された追加の質問は、言語モデルへ送信された質問を合成するために既に使用されているサンプル値とは異なるサンプル値を用いて合成されてよい。例えば、第1カラムからの第1サンプル値に基づいて合成された第1質問、及び第1カラムからの第2サンプル値に基づいて合成された第2質問が、言語モデルへ送信されていてもよい。更に例を続けると、追加の質問が合成されてよく、追加の質問は、第1カラムからの第3サンプル値に基づいて生成されてよい。
【0129】
ブロック860で、最良の回答が多数決投票法により提供されたかどうかに関して決定が行われてよい。いくつかの実施形態で、最良の回答は、言語モデルによって提供された回答の過半数が合意する場合に、多数決投票法により提供されてよい。例えば、合成された質問の1つは「平方フィートごとの価格の測定の単位は何?」であってよい。例を続けると、「ドル」、「平方フィート」、及び「ドル」という3つの回答が言語モデルによって提供されてよい。過半数の回答(例えば、「ドル」)が存在するので、十分な質問が言語モデルによって回答されていることになる。他の例として、5つの回答が言語モデルによって提供されてよく、5つの回答のうちの3つの回答が、予測された測定の単位として「ドル」を含んでよい。例を続けると、「ドル」は過半数の回答であることができるので、最良の回答が多数決投票法により提供されたと肯定的に決定することができる。最良の回答がある場合に、方法800はブロック820へ進んでよい。最良の回答がない場合には、方法800は、追加の質問を合成するようブロック850へ進んでよい。
【0130】
ブロック870で、最良の回答が多数決投票法により決定されてよい。上でブロック840、850、及び860で議論及び例示されたように、言語モデルは、質問に対応するいくつかの回答が存在し得るように、合成された複数の質問の夫々に対する回答を提供してよい。いくつかの実施形態で、言語モデルによって提供された回答の過半数は同じであることがあり、その場合に、予測された測定の単位についての回答は、言語モデルによって提供された回答の過半数であってよい。
【0131】
本開示の範囲から外れずに、方法800に対して変更、追加、又は削除が行われてもよい。例えば、方法800の動作は別の順序で実施されてもよい。追加的に、又は代替的に、2つ以上の動作は同時に実行されてもよい。更に、説明されている操作及び動作は、単に例として与えられており、操作及び動作の一部は、記載されている実施形態の本質から外れずに、任意であっても、より少ない操作及び動作にまとめられても、あるいは、追加の操作及び動作に拡張されてもよい。
【0132】
図9は、本開示で記載される少なくとも1つの実施形態に従って、データセットに加えるべき新しい値を含む新しいカラムを生成する方法900の例のフローチャートを表す。方法800は、
図1の特徴量エンジニアリングシステム120、
図2のメタデータ類似度モジュール230、及び/又は
図2のシステム200に関して任意の適切なシステム、装置、又はデバイスによって実行されてよい。方法900は、1つ以上のブロック910、920、930、940、及び950を含んでよい。別個のブロックで表されているが、方法900のブロックの1つ以上に関連したステップ及び動作は、具体的な実施に応じて、追加のブロックに分割されても、より少ないブロックへとまとめられても、又は削除されてもよい。
【0133】
いくつかの実施形態で、方法900はブロック910から開始してよい。ブロック910で、データセットが取得されてよく、データセットは列を有してよく、各列には、タイトル及び値が含まれ得る。
【0134】
ブロック920で、総類似度値がカラム対の間で決定されてよい。いくつかの実施形態で、カラムは、カラムの対において比較されてよく、各カラムは、データセット内の他のカラムの夫々と比較され得る。いくつかの実施形態で、データセット内のカラムは、カラム対の間で総類似度値を決定するようデータセット内の他のカラムと比較されてもよい。いくつかの実施形態で、総類似度値は、メタデータ類似度値、意味的類似度値、及び単位類似度値のうちの少なくとも1つに基づいてよい。追加的に、又は代替的に、総類似度値は、メタデータ類似度値、意味的類似度値、及び単位類似度値の3つ全てに基づいてもよい。いくつかの実施形態で、メタデータ類似度値は、
図2、
図3A、及び/又は
図3Bで例示及び記載されているように決定及び取得されてもよい。これら及び他の実施形態で、意味的類似度値は、
図2及び/又は
図4で例示及び記載されているように決定及び取得されてもよい。追加的に、又は代替的に、単位類似度値は、
図2及び/
図5~8で例示及び記載されているように決定及び取得されてもよい。いくつかの実施形態で、総類似度値は、メタデータ類似度値、意味的類似度値、及び単位類似度値の夫々を合計することによって決定されてもよい。例えば、メタデータ類似度値は0.25であってよく、意味的類似度値は1.0であってよく、単位類似度値は0.75であってよく、従って、総類似度値は2.0になる。追加的に、又は代替的に、総類似度値は、加重平均又は任意の他の連結技術を用いて、各々の類似度値を平均することを含んでもよい。
【0135】
ブロック930で、カラムは、総類似度値に基づいてクラスタに加えられてよい。いくつかの実施形態で、カラムの夫々は、データセット内のカラムの対の夫々の間の総類似度値に基づいて、クラスタに加えられてよい。追加的に、又は代替的に、総類似度値がデータセット内のカラムの対の夫々について決定され得ると、カラムの夫々は、閾類似度値に基づいてクラスタに加えられてよい。例えば、第1カラムと第2カラムとの間の総類似度値は上述されたように2.0であってよく、閾類似度値は3.0であってよい。更に例を続けると、2.0は3.0よりも小さいので、第1カラム及び第2カラムはクラスタに加えられてよい。追加的に、又は代替的に、閾類似度値は、データセット内の全てのカラムの間でn番目の最も小さい距離に基づいてもよい。いくつかの実施形態で、カラムは、データセット内の他のカラムの間でn番目の最も小さい距離に基づいてクラスタ化されてもよく、「n」は任意の数の値であってよい。追加的に、又は代替的に、データセット内のカラムは、k平均クラスタリング法又はk最近傍クラスタリング法を用いてクラスタ化されてもよく、kは任意の数の値(例えば、1、2、3など)であってよい。追加的に、又は代替的に、カラムは、任意の数の異なるクラスタリング法を用いてクラスタ化されてもよく、カラムは、カラム間の総類似度値に基づいてクラスタ化されてよい。
【0136】
ブロック940で、特徴量エンジニアリング関数を用いて、新しいカラムが生成されてよい。いくつかの実施形態で、新しいカラムはクラスタに加えられてよい。いくつかの実施形態で、第1クラスタは、第1カラム内の第1値及び第2カラム内の第2値を含んでよい。特徴量エンジニアリング関数は、少なくとも第1値に対して数学演算を実行することによって、新しいカラム内の新しい値を生成し得る。いくつかの実施形態で、特徴量エンジニアリング関数は、第1カラム内の値及び第2カラム内の値の両方に対して数学演算を実行することによって、新しい値を生成してもよい。例えば、特徴量エンジニアリング関数は、第1カラム内の値及び/又は第2カラム内の値を用いて新しいカラム内の新しい値を生成し得る加算、減算、除算、乗算、又は任意の他の数学関数を使用してよい。例として、第1カラム内の値は「完成世帯平方フィート」を表してよく、第2カラム内の値は「未完成世帯平方フィート」を表してよい。例と続けると、第1カラムは第2カラムとともにクラスタ化されてよく、特徴量エンジニアリング関数は、「全体世帯平方フィート」の新しいカラム内の新しい値を生成してよい。この例で、特徴量エンジニアリング関数は、第1カラム内の値を第2カラム内の値と加算することによって、新しい値を生成してよい。例と続けると、新しいカラムは、次いで、第1カラム及び第2カラムとともにクラスタ化されてよい。
【0137】
ブロック950で、新しいカラムがデータセットに加えられてよい。いくつかの実施形態で、データセットは、機械学習システムを訓練するために使用されてよい。追加的に、又は代替的に、新しいカラムを含むデータセットは、多数の機械学習システムが訓練され得る機械学習パイプラインにおいて使用されてよい。
【0138】
本開示の範囲から外れずに、方法900に対して変更、追加、又は削除が行われてもよい。例えば、方法900の動作は別の順序で実施されてもよい。追加的に、又は代替的に、2つ以上の動作は同時に実行されてもよい。更に、説明されている操作及び動作は、単に例として与えられており、操作及び動作の一部は、記載されている実施形態の本質から外れずに、任意であっても、より少ない操作及び動作にまとめられても、あるいは、追加の操作及び動作に拡張されてもよい。
【0139】
図10は、本開示の少なくとも1つの実施形態に従って、例示的なコンピューティングシステム1002を表す。コンピューティングシステム1002は、本開示で記載される1つ以上の適切な動作を実施又は指示するよう構成されてよい。例えば、コンピューティングシステム1002は、上記の開示の様々な要素(例えば、特徴量エンジニアリングシステム120、機械学習システム140、及び特徴量エンジニアリングシステム260、又は開示されている実施形態における1つ以上の動作又は操作を実行可能な他のシステム)で使用されてもよい。いくつかの実施形態で、コンピューティングシステム1002は、新しいデータセットの新しいカラムを生成することに関係がある動作を制御するために使用されてもよい。これら及び他の実施形態で、コンピューティングシステム1002は、新しいデータセットを用いて機械学習モデルを訓練するために使用されてよい。コンピューティングシステム1002は、プロセッサ1050、メモリ1052、及びデータストレージ1054を含んでよい。プロセッサ1050、メモリ1052、及びデータストレージ1054は通信可能に結合されてよい。
【0140】
一般に、プロセッサ1050は、様々なコンピュータハードウェア又はソフトウェアモジュールを含む任意のコンピュータ、コンピューティングエンティティ又は処理デバイスを含んでよく、任意の適用可能なコンピュータ可読記憶媒体に記憶されている命令を実行するよう構成されてよい。例えば、プロセッサ1050は、マイクロプロセッサ、マイクロコントローラ、デジタル信号プロセッサ(DSP)、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)、あるいは、プログラム命令を解釈及び/又は実行するよう及び/又はデータを処理するよう構成された任意の他のデジタル又はアナログ回路を含んでよい。
図10には単一のプロセッサとして表されているが、プロセッサ1050は、本開示で記載されている動作をいくつでも個別的に又は集合的に実行するよう又はその実行を実施するよう構成されたプロセッサをいくつでも含んでよい。追加的に、プロセッサの1つ以上は、異なるサーバなどの1つ以上の異なる電子デバイスに存在してもよい。
【0141】
いくつかの実施形態で、プロセッサ1050は、メモリ1052、データストレージ1054、又はメモリ1052とデータストレージ1054に記憶されているプログラム命令を解釈及び/又は実行し、及び/又は記憶されているデータを処理するよう構成されよい。いくつかの実施形態で、プロセッサ1050は、データストレージ1054からプログラム命令をフェッチし、プログラム命令をメモリ1052にロードしてよい。プログラム命令がメモリ1052にロードされた後、プロセッサ1050はプログラム命令を実行してよい。
【0142】
メモリ1052及びデータストレージ1054は、コンピュータ実行可能命令又はデータ構造を搬送する又は記憶しているコンピュータ可読記憶媒体を含んでもよい。例として、限定としてではなく、そのようなコンピュータ可読記憶媒体には、ランダムアクセスメモリ(RAM)、リードオンリーメモリ(ROM)、電気的消去可能なプログラム可能リードオンリーメモリ(EEPROM)、コンパクトディスク-リードオンリーメモリ(CD-ROM)若しくは他の光ディスクストレージ、磁気ディスクストレージ若しくは他の磁気記憶デバイス、フラッシュメモリデバイス(例えば、ソリッドステートメモリデバイス)、あるいは、コンピュータ実行可能命令又はデータ構造の形で特定のプログラムコードを搬送又は記憶するために使用されてよく、かつ、汎用のコンピュータによってアクセスされ得る任意の他の記憶媒体を含む有形な又は非一時的なコンピュータ可読記憶媒体が含まれ得る。これら及び他の実施形態で、本開示で説明されている「非一時的」という用語は、In re Nuijten, 500 F.3d 1346 (Fed. Cir. 2007)のFederal Circuit判決における特許可能な対象の範囲の外にあると判断されたタイプの一時的な媒体のみを除外すると解釈されるべきである。
【0143】
上記のものの組み合わせもコンピュータ可読記憶媒体の範囲内に含まれてよい。コンピュータ実行可能命令は、例えば、プロセッサ1050に、特定の動作又は動作のグループを実行させるよう構成された命令及びデータを含んでよい。
【0144】
本開示の範囲から外れずに、コンピューティングシステム1002に対して変更、追加、又は削除が行われてもよい。例えば、いくつかの実施形態において、コンピューティングシステム1002は、明示的に図示又は記載されていない場合がある他のコンポーネントをいくつでも含んでもよい。
【0145】
本開示で記載されている実施形態は、コンピュータ実行可能な命令又はデータ構造を搬送する又は記憶しているコンピュータ可読媒体を用いて実施されてよい。そのようなコンピュータ可読媒体は、汎用の又は特別目的のコンピュータによってアクセスされ得る如何なる利用可能な媒体であってもよい。例として、限定としてではなく、そのようなコンピュータ可読媒体には、ランダムアクセスメモリ(RAM)、リードオンリーメモリ(ROM)、電気的消去可能なプログラム可能リードオンリーメモリ(EEPROM)、コンパクトディスク-リードオンリーメモリ(CD-ROM)若しくは他の光ディスクストレージ、磁気ディスクストレージ若しくは他の磁気記憶デバイス、フラッシュメモリデバイス(例えば、ソリッドステートメモリデバイス)、あるいは、コンピュータ実行可能命令又はデータ構造の形で特定のプログラムコードを搬送又は記憶するために使用されてよく、かつ、汎用の又は特別目的のコンピュータによってアクセスされ得る任意の他の記憶媒体を含む非一時的なコンピュータ可読記憶媒体が含まれ得る。上記のものの組み合わせもコンピュータ可読媒体の範囲内に含まれてよい。
【0146】
コンピュータ実行可能な命令は、例えば、汎用のコンピュータ、特別目的のコンピュータ、又は汎用の処理デバイス(例えば、1つ以上のプロセッサ)に特定の機能又は機能のグループを実行させる命令及びデータを含んでよい。対象は、構造的特徴及び/又は方法論的動作に特有の言語で記載されているが、添付の特許請求の範囲で定義されている対象は、上述された具体的な特徴又は動作に必ずしも限定されないことが理解されるべきである。
【0147】
本開示で使用されるように、本開示で、特に添付の特許請求の範囲(例えば、添付の特許請求の本文)で使用される用語は、一般的に、“非限定的な(open)”用語として意図されている(例えば、語「含んでいる(including)」は、“~を含んでいるが、~に限定されない”との意に解釈されるべきであり、「持っている(having)」は、“少なくとも持っている”との意に解釈されるべきであり、「含む(includes)」は、”~を含むが、~に限定されない”との意に解釈されるべきである、など)。
【0148】
更に、導入されたクレーム記載(introduced claim recitation)において特定の数が意図される場合、そのような意図は当該クレーム中に明確に記載され、そのような記載がない場合は、そのような意図も存在しない。例えば、理解を促すために、後続の添付された特許請求の範囲では、「少なくとも1つの(at least one)」及び「1つ以上の(one or more)」といった導入句を使用し、クレーム記載を導入することがある。しかし、このような句を使用するからといって、「a」又は「an」といった不定冠詞によりクレーム記載を導入した場合に、たとえ同一のクレーム内に、「1つ以上の」又は「少なくとも1つの」といった導入句と「a」又は「an」といった不定冠詞との両方が含まれるとしても、当該導入されたクレーム記載を含む特定のクレームが、当該記載事項を1しか含まない例に限定されるということが示唆されると解釈されるべきではない(例えば、「a」及び/又は「an」は、「少なくとも1つの」又は「1つ以上の」を意味すると解釈されるべきである。)。定冠詞を使用してクレーム記載を導入する場合にも同様のことが当てはまる。
【0149】
更には、導入されたクレーム記載において特定の数が明示されている場合であっても、そのような記載は、通常、少なくとも記載された数を意味するように解釈されるべきであることは、当業者には理解されるであろう(例えば、他に修飾語のない、単なる「2つの記載事項」という記載がある場合、この記載は、少なくとも2つの記載事項、又は2つ以上の記載事項を意味する。)。更に、「A、B及びCなどのうち少なくとも1つ」又は「A、B及びCなどのうちの1つ以上」に類する表記が使用される場合、一般的に、そのような構造は、Aのみ、Bのみ、Cのみ、AとBの両方、AとCの両方、BとCの両方、及び/又はAとBとCの全て、などを含むよう意図される。
【0150】
更に、2つ以上の選択可能な用語を表す如何なる離接語及び/又は離接句も、明細書、特許請求の範囲、又は図面のいずれであろうと、それら用語のうちの1つ、それらの用語のうちのいずれか、あるいは、それらの用語の両方を含む可能性を意図すると理解されるべきである。例えば、「及び/又は」という用語が別な場所に使用されるとしても、「A又はB」という句は、「A又はB」、あるいは、「A及びB」の可能性を含むことが理解されるべきである。
【0151】
本開示で挙げられている全ての例及び条件付き言語は、当該技術の促進に本発明者によって寄与される概念及び本発明を読者が理解するのを助ける教育上の目的を意図され、そのような具体的に挙げられている例及び条件に制限されないと解釈されるべきである。本開示の実施形態が詳細に記載されてきたが、様々な変更、置換、及び代替が、本開示の主旨及び適用範囲から逸脱することなしに行われてよい。
【0152】
上記の実施形態に加えて、以下の付記を開示する。
(付記1)
1つ以上のカラムを有し、前記1つ以上のカラムの夫々がタイトル及び少なくとも1つの値を含むデータセットを取得することと、
前記1つ以上のカラムの夫々について、前記タイトルと、前記少なくとも1つの値からのサンプル値とを抽出することと、
前記1つ以上のカラムの夫々について前記タイトル及び前記サンプル値に基づいて質問を合成することと、
回答を得るよう前記質問を言語モデルへ送信することと、
前記質問に対する前記回答から、前記少なくとも1つのカラムの夫々の前記少なくとも1つの値に対する予測された測定の単位を生成することと
を有する方法。
(付記2)
前記1つ以上のカラムの夫々について前記質問を合成する前に、前記1つ以上のカラムの夫々から前記タイトルを展開することを更に有する、
付記1に記載の方法。
(付記3)
合成された前記質問は、機械学習タスク記述を含む、
付記1に記載の方法。
(付記4)
複数のサンプル値が前記1つ以上のカラムの夫々について抽出され、複数の質問が合成され、合成された前記質問の数は、予め定義された最小閾値に基づき決定される、
付記1に記載の方法。
(付記5)
前記質問を言語モデルへ送信する前に、少なくとも1つの質問-回答対を前記言語モデルへ送信することによって前記言語モデルを訓練することを更に有し、
前記少なくとも1つの質問-回答対は、
測定の単位の例を含む回答例を引き出すよう作成された質問例と、
前記測定の単位の例を含む前記回答例と
を含む、
付記1に記載の方法。
(付記6)
少なくとも3つの質問が合成され、
前記予測された測定の単位は、前記言語モデルから受け取られた少なくとも3つの回答から過半数の回答を選択することによって生成される、
付記1に記載の方法。
(付記7)
前記予測された測定の単位に基づいて前記データセットの前記1つ以上のカラムの間の類似度値を決定することと、
前記類似度値が閾値よりも大きい場合に、前記データセットの前記1つ以上のカラムを含むクラスタを生成することと、
特徴量エンジニアリング関数を用いて、前記クラスタに加えるべき、新しいタイトル及び少なくとも1つの新しい値を含む新しいカラムを生成することと、
前記新しいタイトル及び前記少なくとも1つの新しい値を含む前記新しいカラムを前記データセットに加えることと、
前記新しいカラムを含む前記データセットを用いて機械学習モデルを訓練することと
を更に有する、
付記1に記載の方法。
(付記8)
命令を記憶するよう構成される1つ以上の非一時的なコンピュータ可読記憶媒体であって、
前記命令は、実行されることに応答して、システムに、
1つ以上のカラムを有し、前記1つ以上のカラムの夫々がタイトル及び少なくとも1つの値を含むデータセットを取得することと、
前記1つ以上のカラムの夫々について、前記タイトルと、前記少なくとも1つの値からのサンプル値とを抽出することと、
前記1つ以上のカラムの夫々について前記タイトル及び前記サンプル値に基づいて質問を合成することと、
回答を得るよう前記質問を言語モデルへ送信することと、
前記質問に対する前記回答から、前記少なくとも1つのカラムの夫々の前記少なくとも1つの値に対する予測された測定の単位を生成することと
を有する動作を実行させる、
1つ以上の非一時的なコンピュータ可読記憶媒体。
(付記9)
前記動作は、前記1つ以上のカラムの夫々について前記質問を合成する前に、前記1つ以上のカラムの夫々から前記タイトルを展開することを更に有する、
付記8に記載の非一時的なコンピュータ可読記憶媒体。
(付記10)
合成された前記質問は、機械学習タスク記述に基づく、
付記8に記載の非一時的なコンピュータ可読記憶媒体。
(付記11)
複数のサンプル値が前記1つ以上のカラムの夫々について抽出され、複数の質問が合成され、合成された前記質問の数は、予め定義された最小閾値に基づき決定される、
付記8に記載の非一時的なコンピュータ可読記憶媒体。
(付記12)
前記動作は、前記質問を言語モデルへ送信する前に、少なくとも1つの質問-回答対を前記言語モデルへ送信することによって前記言語モデルを訓練することを更に有し、
前記質問-回答対は、
測定の単位の例を含む回答例を引き出すよう作成された質問例と、
前記測定の単位の例を含む前記回答例と
を含む、
付記8に記載の非一時的なコンピュータ可読記憶媒体。
(付記13)
少なくとも3つの質問が合成され、
前記予測された測定の単位は、前記言語モデルから受け取られた少なくとも3つの回答から過半数の回答を選択することによって生成される、
付記8に記載の非一時的なコンピュータ可読記憶媒体。
(付記14)
前記動作は、
前記予測された測定の単位に基づいて前記データセットの前記1つ以上のカラムの間の類似度値を決定することと、
前記類似度値が閾値よりも大きい場合に、前記データセットの前記1つ以上のカラムを含むクラスタを生成することと、
特徴量エンジニアリング関数を用いて、前記クラスタに加えるべき、新しいタイトル及び少なくとも1つの新しい値を含む新しいカラムを生成することと、
前記新しいタイトル及び前記少なくとも1つの新しい値を含む前記新しいカラムを前記データセットに加えることと、
前記新しいカラムを含む前記データセットを用いて機械学習モデルを訓練することと
を更に有する、
付記8に記載の非一時的なコンピュータ可読記憶媒体。
(付記15)
1つ以上のプロセッサと、命令を記憶するよう構成される1つ以上の非一時的なコンピュータ可読記憶媒体とを有するシステムであって、
前記命令は、実行されることに応答して、前記システムに、
1つ以上のカラムを有し、前記1つ以上のカラムの夫々がタイトル及び少なくとも1つの値を含むデータセットを取得することと、
前記1つ以上のカラムの夫々について、前記タイトルと、前記少なくとも1つの値からのサンプル値とを抽出することと、
前記1つ以上のカラムの夫々について前記タイトル及び前記サンプル値に基づいて質問を合成することと、
回答を得るよう前記質問を言語モデルへ送信することと、
前記質問に対する前記回答から、前記少なくとも1つのカラムの夫々の前記少なくとも1つの値に対する予測された測定の単位を生成することと
を有する動作を実行させる、
システム。
(付記16)
合成された前記質問は、機械学習タスク記述に基づく、
付記15に記載のシステム。
(付記17)
複数のサンプル値が前記1つ以上のカラムの夫々について抽出され、複数の質問が合成され、合成された前記質問の数は、予め定義された最小閾値に基づき決定される、
付記15に記載のシステム。
(付記18)
前記動作は、前記質問を言語モデルへ送信する前に、少なくとも1つの質問-回答対を前記言語モデルへ送信することによって前記言語モデルを訓練することを更に有し、
前記質問-回答対は、
測定の単位の例を含む回答例を引き出すよう作成された質問例と、
前記測定の単位の例を含む前記回答例と
を含む、
付記15に記載のシステム。
(付記19)
少なくとも3つの質問が合成され、
前記予測された測定の単位は、前記言語モデルから受け取られた少なくとも3つの回答から過半数の回答を選択することによって生成される、
付記15に記載のシステム。
(付記20)
前記動作は、
前記予測された測定の単位に基づいて前記データセットの前記1つ以上のカラムの間の類似度値を決定することと、
前記類似度値が閾値よりも大きい場合に、前記データセットの前記1つ以上のカラムを含むクラスタを生成することと、
特徴量エンジニアリング関数を用いて、前記クラスタに加えるべき、新しいタイトル及び少なくとも1つの新しい値を含む新しいカラムを生成することと、
前記新しいタイトル及び前記少なくとも1つの新しい値を含む前記新しいカラムを前記データセットに加えることと、
前記新しいカラムを含む前記データセットを用いて機械学習モデルを訓練することと
を更に有する、
付記15に記載のシステム。
【符号の説明】
【0153】
100,200 システム
110,210 データセット
120 特徴量エンジニアリングシステム
130,270 新しいデータセット
140 ,280機械学習システム
220 カラム
230 メタデータ類似度モジュール
240 意味的類似度モジュール
250 単位類似度モジュール
260 クラスタモジュール
1002 コンピューティングシステム
1050 プロセッサ
1052 メモリ
1054 データストレージ