(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024072268
(43)【公開日】2024-05-27
(54)【発明の名称】自動化されたカスタム特徴エンジニアリング
(51)【国際特許分類】
G06F 16/908 20190101AFI20240520BHJP
G06N 20/00 20190101ALI20240520BHJP
【FI】
G06F16/908
G06N20/00
【審査請求】未請求
【請求項の数】20
【出願形態】OL
(21)【出願番号】P 2023191693
(22)【出願日】2023-11-09
(31)【優先権主張番号】17/987756
(32)【優先日】2022-11-15
(33)【優先権主張国・地域又は機関】US
(71)【出願人】
【識別番号】000005223
【氏名又は名称】富士通株式会社
(74)【代理人】
【識別番号】100107766
【弁理士】
【氏名又は名称】伊東 忠重
(74)【代理人】
【識別番号】100070150
【弁理士】
【氏名又は名称】伊東 忠彦
(72)【発明者】
【氏名】バーラミ・メフディ
(72)【発明者】
【氏名】ドン・イヌリヌ
(72)【発明者】
【氏名】プラサド・ムクル アール
【テーマコード(参考)】
5B175
【Fターム(参考)】
5B175FA01
5B175FB02
5B175FB04
5B175HB03
(57)【要約】
【課題】自動化されたカスタム特徴エンジニアリングを提供する。
【解決手段】方法は、一つまたは複数の列を含みうるデータセットを取得することを含んでいてもよく、該一つまたは複数の列の各列は、第1のタイトルおよび少なくとも1つの値を含んでいてもよい。動作はさらに、一つまたは複数の列の各列について、前記タイトルおよび前記少なくとも1つの値からのサンプル値を抽出することを含んでいてもよい。動作はさらに、一つまたは複数の列の各列についての前記タイトルおよび前記サンプル値に基づいて質問を合成することを含みうる。さらに、動作は、質問を言語モデルに送って回答を取得することを含んでいてもよい。動作はさらに、質問に対する回答から、一つまたは複数の列の各列における前記少なくとも1つの値についての予測される測定単位を生成することを含みうる。この方法を実行するためのシステムおよびデバイスも開示される。
【選択図】
図2
【特許請求の範囲】
【請求項1】
少なくとも第1の列および第2の列を含むデータセットを取得する段階であって、前記第1の列は、第1のタイトルおよび第1の値を含み、前記第2の列は、第2のタイトルおよび第2の値を含む、段階と;
メタデータ類似性値、意味的類似性値、および測定単位類似性値のうちの少なくとも1つに基づいて、前記第1の列と前記第2の列との間の総合類似性値を決定する段階と;
前記総合類似性値が閾値未満である場合、前記第1の列および前記第2の列をクラスターに追加する段階と;
特徴エンジニアリング機能を使用して、前記クラスターに追加するための新しい列を生成する段階であって、前記新しい列は、新しいタイトルおよび新しい値を含み、前記新しい値は、前記第1の列の前記第1の値および前記第2の列の前記第2の値のうちの少なくとも1つに作用することによって、前記特徴エンジニアリング機能を使用して決定される、段階と;
前記新しい列を前記データセットに追加する段階とを含む、
方法。
【請求項2】
追加された新しい列を有する前記データセットは、前記新しい列のない所与のデータセットに対して作用する第2の機械学習モデルの予測精度と比較して、第1の機械学習モデルにおける予測精度を改善するように設計される、請求項1に記載の方法。
【請求項3】
前記メタデータ類似性値は:
前記第1の列からメタデータの第1の集合を抽出し、前記第2の列からメタデータの第2の集合を抽出する段階と;
メタデータの前記第1の集合からの第1のデータ・タイプとメタデータの前記第2の集合からの第2のデータ・タイプとが等価であるかどうかを判定する段階と;
前記第1のデータ・タイプと前記第2のデータ・タイプが等価であることに基づいて、前記第1の値の集合からの第1のデータ分布および前記第2の値の集合からの第2のデータ分布からデータ類似性値を決定する段階であって、前記第1のデータ分布および前記第2のデータ分布は、分散、標準偏差、平均、モード、データの分布、データの形状、相関、確率、共分散、歪度、最小および最大のうちの少なくとも1つを含む、段階と;
前記第1のデータ分布および前記第2のデータ分布に基づいて前記メタデータ類似性値を生成する段階とを実行することによって決定される、
請求項1に記載の方法。
【請求項4】
前記意味的類似性値は:
前記第1のタイトルを、前記第1のタイトルにおける第1の単語を表す第1の値を含む第1のベクトルに変換し、前記第2のタイトルを、前記第2のタイトルにおける第2の単語を表す第2の値を含む第2のベクトルに変換する段階と;
類似性関数を使用して前記第1のベクトルと前記第2のベクトルとの間の距離を決定する段階と;
前記第1のベクトルと前記第2のベクトルとの間の前記距離に基づいて前記意味的類似性値を生成する段階とを実行することによって決定される、
請求項1に記載の方法。
【請求項5】
前記意味的類似性値は、前記第1の列における前記第1の値についての第1の測定単位と、前記第2の列における前記第2の値についての第2の測定単位とにさらに基づいて生成される、請求項4に記載の方法。
【請求項6】
前記測定単位類似性値は:
言語モデルを使用して、前記第1の値についての第1の測定単位および前記第2の値についての第2の測定単位を予測する段階と;
前記第1の測定単位を第1の単位測定ベクトルに変換し、前記第2の測定単位を第2の単位測定ベクトルに変換する段階と;
前記第1の単位測定ベクトルと前記第2の単位測定ベクトルとの間の距離を決定する段階と;
前記第1の単位測定ベクトルと前記第2の単位測定ベクトルとの間の前記距離に基づいて、前記測定単位類似性値を生成する段階とを実行することによって決定される、
請求項1に記載の方法。
【請求項7】
前記新しい値は、前記第1の値および前記第2の値を使用して前記特徴エンジニアリング機能に関連付けられた数学的演算を実行することによって生成される、請求項1に記載の方法。
【請求項8】
前記総合類似性値は、前記メタデータ類似性値、前記意味的類似性値、および前記測定単位類似性値のそれぞれを加算することによって決定される、請求項1に記載の方法。
【請求項9】
第3の列を含むデータセットを取得する段階であって、前記第3の列は第3のタイトルおよび第3の値を含む、段階と;
第2のメタデータ類似性値、第2の意味的類似性値、および第2の測定単位類似性値のうちの少なくとも1つに基づいて、前記第3の列と前記第1の列および前記第2の列のうちの1つとの間の第3の類似性値を決定する段階と;
前記総合類似性値が前記閾値未満である場合、前記第3の列を前記クラスターに追加する段階と;
前記特徴エンジニアリング機能を使用して前記クラスターに追加するための第2の新しい列を生成する段階であって、前記第2の新しい列は、第2の新しいタイトルおよび第2の新しい値を含み、前記第2の新しい値は、前記第3の列の前記第3の値、前記第2の列の前記第2の値、および前記第1の列の前記第1の値のうちの少なくとも1つに作用することによって前記特徴エンジニアリング機能を使用して決定される、段階と;
前記第2の新しい列を前記データセットに追加する段階とをさらに含む、
請求項1に記載の方法。
【請求項10】
実行されることに応答して、システムに動作を実行させる命令を記憶するように構成された一つまたは複数の非一時的なコンピュータ可読記憶媒体であって、前記動作が:
少なくとも第1の列および第2の列を含むデータセットを取得する段階であって、前記第1の列は、第1のタイトルおよび第1の値を含み、前記第2の列は、第2のタイトルおよび第2の値を含む、段階と;
メタデータ類似性値、意味的類似性値、および測定単位類似性値のうちの少なくとも1つに基づいて、前記第1の列と前記第2の列との間の総合類似性値を決定する段階と;
前記総合類似性値が閾値未満である場合、前記第1の列および前記第2の列をクラスターに追加する段階と;
特徴エンジニアリング機能を使用して、前記クラスターに追加するための新しい列を生成する段階であって、前記新しい列は、新しいタイトルおよび新しい値を含み、前記新しい値は、前記第1の列の前記第1の値および前記第2の列の前記第2の値のうちの少なくとも1つに作用することによって、前記特徴エンジニアリング機能を使用して決定される、段階と;
前記新しい列を前記データセットに追加する段階とを含む、
一つまたは複数の非一時的なコンピュータ可読記憶媒体。
【請求項11】
追加された新しい列を有する前記データセットは、前記新しい列のない所与のデータセットに対して作用する第2の機械学習モデルの予測精度と比較して、第1の機械学習モデルにおける予測精度を改善するように設計される、請求項10に記載の一つまたは複数の非一時的なコンピュータ可読記憶媒体。
【請求項12】
前記メタデータ類似性値は:
前記第1の列からメタデータの第1の集合を抽出し、前記第2の列からメタデータの第2の集合を抽出する段階と;
メタデータの前記第1の集合からの第1のデータ・タイプとメタデータの前記第2の集合からの第2のデータ・タイプとが等価であるかどうかを判定する段階と;
前記第1のデータ・タイプと前記第2のデータ・タイプが等価であることに基づいて、前記第1の値の集合からの第1のデータ分布および前記第2の値の集合からの第2のデータ分布からデータ類似性値を決定する段階であって、前記第1のデータ分布および前記第2のデータ分布は、分散、標準偏差、平均、モード、データの分布、データの形状、相関、確率、共分散、歪度、最小および最大のうちの少なくとも1つを含む、段階と;
前記第1のデータ分布および前記第2のデータ分布に基づいて前記メタデータ類似性値を生成する段階とを実行することによって決定される、
請求項10に記載の一つまたは複数の非一時的なコンピュータ可読記憶媒体。
【請求項13】
前記意味的類似性値は:
前記第1のタイトルを、前記第1のタイトルにおける第1の単語を表す第1の値を含む第1のベクトルに変換し、前記第2のタイトルを、前記第2のタイトルにおける第2の単語を表す第2の値を含む第2のベクトルに変換する段階と;
類似性関数を使用して前記第1のベクトルと前記第2のベクトルとの間の距離を決定する段階と;
前記第1のベクトルと前記第2のベクトルとの間の前記距離に基づいて前記意味的類似性値を生成する段階とを実行することによって決定される、
請求項10に記載の一つまたは複数の非一時的なコンピュータ可読記憶媒体。
【請求項14】
前記測定単位類似性値は:
言語モデルを使用して、前記第1の値についての第1の測定単位および前記第2の値についての第2の測定単位を予測する段階と;
前記第1の測定単位を第1の単位測定ベクトルに変換し、前記第2の測定単位を第2の単位測定ベクトルに変換する段階と;
前記第1の単位測定ベクトルと前記第2の単位測定ベクトルとの間の距離を決定する段階と;
前記第1の単位測定ベクトルと前記第2の単位測定ベクトルとの間の前記距離に基づいて、前記測定単位類似性値を生成する段階とを実行することによって決定される、
請求項10に記載の一つまたは複数の非一時的なコンピュータ可読記憶媒体。
【請求項15】
前記新しい値は、前記第1の値および前記第2の値を使用して前記特徴エンジニアリング機能に関連付けられた数学的演算を実行することによって生成される、請求項10に記載の一つまたは複数の非一時的なコンピュータ可読記憶媒体。
【請求項16】
システムであって:
一つまたは複数のプロセッサと;
実行されることに応答して、当該システムに動作を実行させる命令を記憶するように構成された一つまたは複数の非一時的なコンピュータ可読記憶媒体とを有しており、前記動作が:
少なくとも第1の列および第2の列を含むデータセットを取得する段階であって、前記第1の列は、第1のタイトルおよび第1の値を含み、前記第2の列は、第2のタイトルおよび第2の値を含む、段階と;
メタデータ類似性値、意味的類似性値、および測定単位類似性値のうちの少なくとも1つに基づいて、前記第1の列と前記第2の列との間の総合類似性値を決定する段階と;
前記総合類似性値が閾値未満である場合、前記第1の列および前記第2の列をクラスターに追加する段階と;
特徴エンジニアリング機能を使用して、前記クラスターに追加するための新しい列を生成する段階であって、前記新しい列は、新しいタイトルおよび新しい値を含み、前記新しい値は、前記第1の列の前記第1の値および前記第2の列の前記第2の値のうちの少なくとも1つに作用することによって、前記特徴エンジニアリング機能を使用して決定される、段階と;
前記新しい列を前記データセットに追加する段階とを含む、
システム。
【請求項17】
追加された新しい列を有する前記データセットは、前記新しい列のない所与のデータセットに対して作用する第2の機械学習モデルの予測精度と比較して、第1の機械学習モデルにおける予測精度を改善するように設計される、請求項16に記載のシステム。
【請求項18】
前記メタデータ類似性値は:
前記第1の列からメタデータの第1の集合を抽出し、前記第2の列からメタデータの第2の集合を抽出する段階と;
メタデータの前記第1の集合からの第1のデータ・タイプとメタデータの前記第2の集合からの第2のデータ・タイプとが等価であるかどうかを判定する段階と;
前記第1のデータ・タイプと前記第2のデータ・タイプが等価であることに基づいて、前記第1の値の集合からの第1のデータ分布および前記第2の値の集合からの第2のデータ分布からデータ類似性値を決定する段階であって、前記第1のデータ分布および前記第2のデータ分布は、分散、標準偏差、平均、モード、データの分布、データの形状、相関、確率、共分散、歪度、最小および最大のうちの少なくとも1つを含む、段階と;
前記第1のデータ分布および前記第2のデータ分布に基づいて前記メタデータ類似性値を生成する段階とを実行することによって決定される、
請求項16に記載のシステム。
【請求項19】
前記意味的類似性値は:
前記第1のタイトルを、前記第1のタイトルにおける第1の単語を表す第1の値を含む第1のベクトルに変換し、前記第2のタイトルを、前記第2のタイトルにおける第2の単語を表す第2の値を含む第2のベクトルに変換する段階と;
類似性関数を使用して前記第1のベクトルと前記第2のベクトルとの間の距離を決定する段階と;
前記第1のベクトルと前記第2のベクトルとの間の前記距離に基づいて前記意味的類似性値を生成する段階とを実行することによって決定される、
請求項16に記載のシステム。
【請求項20】
前記測定単位類似性値は:
言語モデルを使用して、前記第1の値についての第1の測定単位および前記第2の値についての第2の測定単位を予測する段階と;
前記第1の測定単位を第1の単位測定ベクトルに変換し、前記第2の測定単位を第2の単位測定ベクトルに変換する段階と;
前記第1の単位測定ベクトルと前記第2の単位測定ベクトルとの間の距離を決定する段階と;
前記第1の単位測定ベクトルと前記第2の単位測定ベクトルとの間の前記距離に基づいて、前記測定単位類似性値を生成する段階とを実行することによって決定される、
請求項16に記載のシステム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示において論じられる実施形態は、自動化されたカスタム特徴エンジニアリング(feature engineering[フィーチャー・エンジニアリング]、FE)に関する。
【背景技術】
【0002】
本開示において別段の指示がない限り、本開示において記載される素材は、本願における特許請求の範囲に対する先行技術ではなく、このセクションに含まれることによって先行技術であると認められるものではない。
【0003】
機械学習システムは、金融技術、電子商取引、ソーシャルメディア、ゲーム、顔認識、および自律運転を含むがこれらに限定されない多くの技術分野において使用されうる。これらの機械学習システムは、システムが状況の種々の集合を学習し、それに適応することを許容しうる入力を受領することが可能でありうる。多くの場合、機械学習システムが受領することが可能でありうる入力は、データの一つまたは複数の集合でありうる。
【0004】
本開示において特許請求される主題は、何らかの欠点を解決する実施形態または上記のような環境でのみ動作する実施形態に限定されるものではない。むしろこの背景は、本開示で説明されるいくつかの実施形態が実施されうる1つの例示的な技術領域を示すために提供される。
【発明の概要】
【課題を解決するための手段】
【0005】
この概要は、以下の詳細な説明においてさらに説明される概念のセレクションを簡略化された形で紹介するために提供される。この概要は、特許請求される主題の主要な特徴または本質的な特性を特定することを意図するものではなく、特許請求される主題の範囲を決定する際の助けとして使用されることを意図するものでもない。
【0006】
本開示の一つまたは複数の実施形態は、方法を含んでいてもよい。本方法は、少なくとも第1の列および第2の列を含みうるデータセットを取得することを含んでいてもよく、第1の列は、第1のタイトルおよび第1の値を含んでいてもよく、第2の列は、第2のタイトルおよび第2の値を含んでいてもよい。加えて、本方法は、メタデータ類似性値、意味的類似性値、および測定単位類似性値のうちの少なくとも1つに基づきうる、第1の列と第2の列との間の総合類似性値を決定するステップを含みうる。本方法は、総合類似性値が閾値未満である場合、第1の列および第2の列をクラスターに追加するステップをさらに含むことができる。さらに、本方法は、特徴エンジニアリング機能を使用することによって行われうる、クラスターに追加するための新しい列を生成することを含んでいてもよく、該新しい列は、新しいタイトルおよび新しい値を含んでいてもよく、該新しい値は、第1の列の第1の値および第2の列の第2の値のうちの少なくとも1つに作用することによって、特徴エンジニアリング機能を使用することによって決定されうる。加えて、本方法は、新しい列をデータセットに追加することを含んでいてもよい。
【0007】
本開示の一つまたは複数の実施形態は、方法を含んでいてもよい。本方法は、一つまたは複数の列を有するデータセットを取得することを含んでいてもよく、前記一つまたは複数の列のそれぞれは、タイトルおよび少なくとも1つの値を含んでいてもよい。本方法は、前記一つまたは複数の列のそれぞれについて、タイトルと、前記少なくとも1つの値からのサンプル値とを抽出することをさらに含みうる。さらに、本方法は、前記一つまたは複数の列のそれぞれについてのタイトルおよびサンプル値に基づいて質問を合成することを含みうる。本方法は、質問を言語モデルに送って回答を取得することをさらに含むことができ、さらに、本方法は、質問に対する回答から、前記一つまたは複数の列のそれぞれにおける前記少なくとも1つの値についての予測される測定単位を生成することを含むことができる。
【0008】
実施形態の目的および利点は、少なくとも、特許請求の範囲において特に指摘される要素、特徴、および組み合わせによって実現および達成される。上記の一般的な記述および移管お詳細な説明は例示し、説明するものであり、特許請求される発明を制約するものではないことが理解される。
【図面の簡単な説明】
【0009】
例示的な実施形態は、添付の図面の使用を通じてさらなる具体性および詳細さをもって記載および説明される。
【0010】
【
図1】自動化されたカスタム特徴エンジニアリングを利用することができるシステムの例示的実施形態を示す。
【0011】
【
図2】データセットに追加するためのいくつかの新しい列を生成するように構成されたシステムの例示的実施形態を示す。
【0012】
【
図3A】メタデータ類似性値を計算するための情報を抽出する例示的な方法のフローチャートを示す。
【0013】
【
図3B】メタデータ類似性値を決定する例示的な方法のフローチャートを示す。
【0014】
【
図4】意味的類似性値を決定する例示的な方法のフローチャートを示す。
【0015】
【
図5】データセット内の値についての予測される測定単位を生成する例示的な方法のフローチャートを示す。
【0016】
【
図6】2つの予測単位間の単位類似性値を決定する例示的な方法のフローチャートを示す。
【0017】
【
図7】言語モデルのためのいくつかの質問を生成する例示的な方法のフローチャートを示す。
【0018】
【
図8】多数決を介して予測される測定単位を決定する例示的な方法のフローチャートを示す。
【0019】
【
図9】データセットに追加する新しい値をもつ新しい列を生成する例示的な方法のフローチャートを示す。
【0020】
【
図10】例示的なコンピューティング・システムのブロック図を示す。みな、本開示のいくつかの実施形態に従って構成される。
【発明を実施するための形態】
【0021】
機械学習システムおよびアルゴリズムは、人工知能を使用するいくつかの技術分野、特に予測に関わるタスクにおいてますます使用されている。多くの用途に適合する機械学習システムおよびアルゴリズムを開発することは、ますます困難かつ高価になっている。機械学習システムの開発は、時間がかかる場合があり、機械学習システムに関連するデータセットを準備するために、データ科学者および他の人からの多数の工数および専門知識を含む場合がある。これらのデータセットは、特定のタスクを実行するために機械学習システムをトレーニングする際に使用されうる。
【0022】
機械学習システムをトレーニングするために使用されるデータセットを開発する際の有用なツールは、特徴エンジニアリングでありうる。本開示は、特徴エンジニアリングおよび特徴エンジニアリングを使用するように設計された機能に関する。たとえば、特徴エンジニアリングは、所与のデータセット内のデータを拡張する、縮小する、クリーニングする、フィルタリングする、または明確にするように設計されうる、数学演算等の任意の数の動作を指しうる。特徴エンジニアリングに関連するいくつかの例示的な動作または特徴エンジニアリングの実装は、特徴選択、特徴抽出、および/または特徴構築を含みうる。
【0023】
本開示における特徴エンジニアリングの文脈で使用される特徴〔フィーチャー〕は、データセット内の一意的な属性または変数を指しうる。特徴は、データセット内の単一の列としてデータセット内でコンテキスト化されてもよい。
【0024】
特徴選択は、データセット内の一つまたは複数の冗長な特徴を除去することによって、データセット内の冗長性が低減されるプロセスを含みうる。
【0025】
特徴抽出は、より少数の変数が使用されるようにデータを組み合わせる、表示する、または他の仕方で操作することによって、所与のデータセット内の特徴の次元数が低減されうるプロセスを含みうる。たとえば、除去されうるか、または別の変数と組み合わされうる一つまたは複数の変数を識別するマッピング機能を使用することによって、データセットにおける特徴の次元数が低減されうる。たとえば、主成分分析(PCA)マッピング機能が、データセットの主成分を識別するために使用されてもよく、より少数の変数で視覚化または図示されうる仕方で、そのデータを抽出してもよい。
【0026】
特徴構築は、データセット内の既存の特徴を拡張して、もともとリストされていなかった可能性がある他の特徴を含めることを指しうる。特徴構築は、新しい特徴が作成され、データセットに追加されうるように、2つ以上の特徴に対して実行されうる数学的関数(加算、減算、除算、乗算、それらの組み合わせ、またはその他など)を使用することを含みうる。データセットに追加された新しい特徴または列を含むデータセットは、機械学習システムの性能が改善されうるように機械学習システムをトレーニングするために使用されうる。
【0027】
特徴エンジニアリングは、データセットを改善するために使用されるツールでありうるが、特徴エンジニアリングを実行するプロセスは高価でありうる。現在の自動化された機械学習アルゴリズムおよびシステムは、有意な特徴を識別し、それらの有意な特徴を比較し、特徴エンジニアリングを介してデータセットを改善しうる新しい特徴を作成する際に、それ自体では困難を有しうる。したがって、手動の手段が、大きなデータセットを含むデータセットに対して特徴エンジニアリングを実行するために典型的に取られるものでありうる。
【0028】
たとえば、特徴エンジニアリングは、典型的には、データセットに特徴を追加しうる、データセット内の特徴冗長性を除去しうる、および/またはデータセット内の次元を低減しうる、経験を積んだデータ科学者によって行われうる。さらに、機械学習システムをトレーニングするために使用されうるデータセットは、大きくなりうる(たとえば、数千または数百万のオーダーのデータポイント、またはそれ以上)。実際、機械学習のための多くのアプリケーションは、そのような機械学習システムを大きなデータセットでトレーニングすることによって利益を得ることができ、そのことは、機械学習システムをトレーニングするために使用されうる、より効果的なデータセットを作成しうる、特徴エンジニアリング機能を適用するための、より多くの時間、より多くの専門知識、およびより多くの費用を必要とすることになりうる。
【0029】
本開示で説明されるいくつかの実施形態は、データセットが機械学習システムをトレーニングするのにより好適でありうるように、新しい特徴を作成するために、特徴エンジニアリング・プロセスを実行することが可能な方法およびシステムを開示することによって、機械学習システムをトレーニングすることに関連するコスト(たとえば、計算コスト、人的コスト、および/または金銭的コスト)を実質的に減少させうる。たとえば、本開示で説明される方法およびシステムは、データセット内の特徴間の類似性を見出し、データセット内の特徴間の類似性に基づいてデータセット内の類似した特徴をクラスタリングし、新しい特徴を生成し、該新しい特徴をデータセットに追加し、データセットから冗長なまたは無関係な特徴を除去し、および/または新しい特徴を含むデータセットを使用して、タスクを実行するように設計されうる機械学習システムをトレーニングしうる。
【0030】
本開示の一つまたは複数の実施形態によれば、以下で説明されるような方法(単数または複数)を実装するように設計されたシステムは、少なくとも1つの新しい特徴を生成し、データセットに追加することができる。追加的または代替的に、データセットは、所与のタスクを実行するように機械学習システムをトレーニングするために使用されてもよい。さらに、システムによって生成され、データセットに追加された前記少なくとも1つの新しい特徴を含むデータセットは、いくつかの機械学習システムおよび/または機械学習アルゴリズムをトレーニングするように設計されうる機械学習パイプラインにおいて使用されてもよい。
【0031】
本開示の一つまたは複数の実施形態によれば、前記少なくとも1つの新しい特徴を追加することは、前記少なくとも1つの新しい特徴なしではデータセット内に存在しない可能性がある追加の情報量を含めることによって、データセットを改善することができる。追加的または代替的に、データセット内の前記少なくとも1つの新しい特徴は、データセット内の別の特徴をさらに説明しうるコンテキストを含んでいてもよい。たとえば、データセットは第1の特徴「quick」〔すばやい〕および第2の特徴「100mph」を含みうる。この例をさらに続けると、特徴エンジニアリング機能は、第1の特徴と第2の特徴とを組み合わせることができ、これは第3の特徴を生成することができ、ここで、「100mph」は、データセット内の「quick」についてのさらなるコンテキストを提供することができる。これらおよび他の実施形態において、追加のコンテキストは、特徴間の相関を提供することができる。たとえば、第1の特徴「quick」および第2の特徴「fast」〔速い〕はそれぞれ、第3の特徴「100mph」および第4の特徴「200mph」と組み合わされて、それぞれ第5および第6の特徴を生成してもよい。さらにこの例を続けると、生成された第5および第6の特徴は、そうでなければデータセット内で表現されていなかった可能性がある第1の特徴「quick」と第2の特徴「fast」との間の相関を提供することができる。いくつかの実施形態では、前記少なくとも1つの新しい特徴を含むデータセットを使用してトレーニングされた機械学習システムまたはアルゴリズムは、前記少なくとも1つの新しい特徴なしのデータセットを使用してトレーニングされた機械学習システムと比較して、増加した予測精度および/または効率を有しうる。追加的または代替的に、前記少なくとも1つの新しい特徴を含みうるデータセットは、より少数の冗長的な特徴を含んでいてもよく、これは、機械学習システムがトレーニングされうる速度を増加させることができ、ノイズとなる、それほど重要でない特徴を低減することによって過剰適合を低減しうる。いくつかの実施形態では、所与の特徴についての測定単位を予測するための記述される原理および/または動作の使用は、記述される利益を提供しうる。たとえば、所与の特徴についての予測される測定単位を提供することによって、機械学習システムは、機械学習システムが割り当てられるタスクをより良好に実行することが可能でありうる(たとえば、そのタスクを実行する際により正確および/またはより高速でありうる)。全体として、いくつかの状況では、機械学習システムの性能は、本開示の方法およびシステムならびに/またはそのような方法およびシステムによって作成された新しいデータセットを使用することによって改善されうる。加えて、機械学習パイプラインが任意の数の機械学習システムおよび/またはアルゴリズムをトレーニングするように設計されうる場合の機械学習パイプラインの性能は、本開示の一つまたは複数の原理および/または本開示の実施形態において作成される新しいデータセットを使用することによって改善されうる。
【0032】
本開示のこれらおよび他の実施形態は、添付の図面を参照して説明される。図面は、そのような例示的な実施形態の図式的かつ概略的な表現であり、限定的なものではなく、また、必ずしも同縮尺ではないことが理解される。図面において、同様の番号を有する特徴は、別段の記載がない限り、同様の構造および機能を示す。
【0033】
図1は、本開示に記載される少なくとも1つの実施形態による、特徴エンジニアリング機能(自動化されたカスタム特徴エンジニアリングなど)を利用することができるシステム100の例示的な実施形態を示す。システム100は、データセット110と、特徴エンジニアリング・システム120と、新しいデータセット130と、機械学習システム140とを含みうる。
【0034】
データセット110は、所与の特徴を表しうる値を含みうる。所与の特徴を表す値は、列(単数または複数)に編成されてもよい。いくつかの実施形態では、データセット110は、いくつかの列を含みうる。ここで、それぞれの列は、タイトルおよび任意の数の値を含みうる。たとえば、データセットが家に関する情報を含んでいたとすると、第1の列のタイトルは「総平方フィート」であってもよく、値のそれぞれは、データセット内のそのエントリーの対応する家の「総平方フィート」を表してもよい。いくつかの実施形態では、データセット110内の列はそれぞれ、データセット110内の別個のまたは異なる特徴を表す。たとえば、データセット110は、第1の特徴を表しうる第1の列を含むことができ、データセット110は、第2の特徴を表しうる第2の列をさらに含むことができる。いくつかの実施形態では、データセット内の特徴は、特徴エンジニアリング関数における入力変数として使用されうる。これらおよび他の実施形態では、特徴エンジニアリング関数における入力変数は、データセット内の所与の「列」によって表されてもよく、所与の列内の値は、互いに整合する一つまたは複数の属性または特性を共有してもよい。列の例が利用されているが、特徴に関連するデータを行、アレイ、ベクトル、または任意の他の手法で記憶することなどによって、任意の他のデータ記憶または表現手法が行われうることが理解されよう。
【0035】
いくつかの実施形態では各列の値は、同じデータ・タイプであってもよいし、異なるデータ・タイプであってもよい。たとえばデータセット110の各列におけるそれぞれの値は、整数であってもよい。別の例としてデータセット110の各列におけるそれぞれの値は、文字列であってもよい。追加の例として、データセット110内の第1の列の値は文字列であってもよく、データセット110内の第2の列の値は整数であってもよい。いくつかの実施形態では、データセット110内の所与の列は、異なるデータ・タイプを含んでいてもよい。これらおよび他の実施形態において、データセット110の値は、整数、浮動小数点、文字列、文字、および/または任意の他のデータ・タイプを含んでいてもよい。
【0036】
これらおよび他の実施形態では、データセット110は、カンマ区切り値ファイル・タイプ(「CSV」)、階層データフォーマット(「HDF」)、ジャバスクリプトオブジェクト記法(「JSON」)、テキストファイル(「TXT」)、構造化照会言語(「SQL」)データベース、またはデータセット110内の列および値が記憶され編成されることを許容しうる任意の他のファイル・タイプにおいて記憶されうる。これらおよび他の実施形態では、データセット110は、特徴エンジニアリング・システム120によって受領されうる。
【0037】
特徴エンジニアリング・システム120は、データセット110を受領し、データセット110内の値のうちの少なくとも1つに基づいてデータセット110に追加するための新しい列を生成するように構成された任意のシステム、装置、またはデバイスを含みうる。いくつかの実施形態では、特徴エンジニアリング・システム120は、第1の列の値と第2の列の値との間の類似性を決定するように設計された特徴エンジニアリング機能を含むことができる。追加的または代替的に、第1の列内の値が第2の列内の値と類似しているという決定に基づいて、特徴エンジニアリング機能は、新しい列において新しい値を生成しうる。いくつかの実施形態では、特徴エンジニアリング機能は、第1の列内の値のうちの一つまたは複数および/または第2の列内の値のうちの一つまたは複数に対して数学的演算を実行することによって、新しい列内の新しい値を生成してもよい。追加的または代替的に、特徴エンジニアリング・システム120は、新しい値を含む新しい列をデータセット110に追加することができる。そのような状況では、新しい列をもつ更新されたデータセットは、新しいデータセット130と呼ばれうる。
【0038】
いくつかの実施形態では、特徴エンジニアリング機能120は、新しいデータセット110を形成するときにデータセット130から列を削除してもよい。たとえば、特徴エンジニアリング・システム120は、第1の列内の値および第2の列内の値が互いに冗長でありうると判定してもよく、それに応じて、特徴エンジニアリング・システム120は、第2の列をデータセット110から除去してもよい。
【0039】
いくつかの実施形態では、新しいデータセット130は、もとのデータセット110と、特徴エンジニアリング・システム120による特徴エンジニアリング機能によって生成された可能性がある新しい列とを含んでいてもよい。いくつかの実施形態では、新しいデータセット130は、特徴エンジニアリング・システム120によってデータセット110に追加された任意の数の新しい列を含むことができる。これらおよび他の実施形態において、新しい列のそれぞれは、異なる特徴エンジニアリング機能によって生成されうる。いくつかの実施形態では、新しいデータセット130は、もとのデータセット110よりも少ない列を含みうる。たとえば、冗長性を除去することによって、新しいデータセット130は、もとのデータセット110よりも少ない列を含みうる。
【0040】
いくつかの実施形態では、新しいデータセット130は、もとのデータセット110からの列のすべてを含まなくてもよく(たとえば、一つまたは複数の列が除去されていてもよい)、特徴エンジニアリング・システム120によってデータセット110に追加されていてもよい一つまたは複数の新しい列を含んでいてもよい。たとえば、データセット110は、第1の値を有する第1の列と、第2の値を有する第2の列と、第3の値を有する第3の列と、第4の値を有する第4の列とを含みうる。例を続けると、特徴エンジニアリング・システム120は、第3の値および第4の値が第1の値および第2の値に照らして冗長でありうるので、第3の列と第4の列の両方を除去してもよい。さらに例を続けると、特徴エンジニアリング・システムは、第1の列内の第1の値と第2の列内の第2の値との間の比較に基づいて、新しい値を有する新しい列を追加的に生成していてもよい。この例を続けると、特徴エンジニアリング・システム120は、新しい列をデータセット130に追加してもよく、すると、新しいデータセット110は特徴エンジニアリング・システム120によって生成された新しい列を含む3つの列(もとのデータセット110よりも1つ少ない)を含むことになる。
【0041】
いくつかの実施形態では、特徴エンジニアリング・システム120は、新しいデータセット130を機械学習システム140に送るように設計されうる。
【0042】
機械学習システム140は、所与のタスクを実行するためにトレーニングされるデータセットを利用するように構成された任意の適切なシステム、装置、またはデバイスでありうる。いくつかの実施形態では、機械学習システム140は、特徴エンジニアリング・システム120から新しいデータセット130を受領するように構成されうる。いくつかの実施形態では、新しいデータセット130は、所与のタスクを完了するように機械学習システム140をトレーニングするために使用されうる。いくつかの実施形態では、所与のタスクは、予測を行うこと、関係を識別すること、または任意の他のタスクを含みうる。
【0043】
一例として、機械学習システム140は、住宅の価格を予測するように構成されたアルゴリズムを含みうる。この例では、機械学習システム140は、「位置」を表す値を有する第1の列と、「前回の販売価格」を表す値を有する第2の列とを有しうるデータセット110を受領しうる。データセット110は、位置および前回の販売価格などの他のデータに基づいて所与の住宅の価格を予測するそのターゲット機能を実行するように機械学習システム140をトレーニングするために使用されうる。
【0044】
別の例では、機械学習システム140は、住宅の価格を予測するように構成されたアルゴリズムを含むことができる。この例を続けると、機械学習システム140は、データセット110に関する上記の例に示されているように、「位置」を表す値を有する第1の列と、「前回の販売価格」を表す値を有する第2の列とを有することができる新しいデータセット130を受領することができる。加えて、新しいデータセット130は、「平方フィート数」を表しうる値を有する第3の列と、「平方フィート当たりの価格」を表す、特徴エンジニアリング・システムによって生成されうる値を有する第4の列とを含んでいてもよい。新しいデータセット130は、所与の住宅の価格を予測するように機械学習システム140をトレーニングするために使用されてもよい。さらに例を続けると、追加の特徴「平方フィート当たりの価格」が、新しいデータセット130を生成するときに特徴エンジニアリング・システム120によってデータセット110に追加されている可能性があるので、新しいデータセット130を受領する機械学習システム140は、機械学習システム140がもとのデータセット110でトレーニングされた場合よりも高い精度で所与の住宅の価格を予測することができる可能性がある。
【0045】
本開示の範囲から逸脱することなく、システム100に対して修正、追加、または省略が行われてもよい。たとえば、記載された態様における異なる要素の指定は、本明細書に記載された概念を説明するのを助けるために意図されており、限定するものではない。さらに、システム100は、任意の数の他の要素を含んでいてもよく、または記述されたもの以外の他のシステムもしくは環境で実装されてもよい。
【0046】
図2は、本開示に記載される少なくとも1つの実施形態による、データセット210に追加するためのいくつかの新しい列を生成するように構成されたシステム200の例示的な実施形態を示す。システム200は、第1の列220a、第2の列220bから第nの列220nまで(まとめて「列220」)を含むいくつかの列を含みうるデータセット210を含みうる。システム200は、データセット210を受領するように構成されてもよく、メタデータ類似性モジュール230、意味的類似性モジュール240、および単位類似性モジュール250をさらに含んでいてもよい。システム200は、クラスター・モジュール260をさらに含んでいてもよい。システム200は、システム200によって生成された少なくとも1つの新しい列270dとともに、第1の列220a、第2の列220bから第nの列220nまでを含みうる新しいデータセット270をさらに含みうる。システム200はさらに、新しいデータセット270を機械学習システム280に送るように構成されてもよい。
【0047】
データセット210は、第1の列220a、第2の列220bから第nの列220nまでを含むことができる。第1の列220aは、第1のタイトルおよび第1の値を含んでいてもよく、第2の列220bは、第2のタイトルおよび第2の値を含んでいてもよく、第nの列は、第nのタイトルおよび第nの値を含んでいてもよい。
【0048】
いくつかの実施形態において、第1の列220aの第1のタイトルは、第2の列220bの第2のタイトルと同じであってもよく、第nの列220nの第nのタイトルと同じであってもよい。追加的または代替的に、第1の列220aの第1のタイトルは、第2の列220bの第2のタイトルと同じでなくてもよく、第1の列220aの第1のタイトルは、第nの列220nの第nのタイトルと同じでなくてもよい。
【0049】
これらおよび他の実施形態において、所与の列内の値はその列のタイトルに関係していてもよい。たとえば、所与の列のタイトルは「1平方フィート当たりの価格」であってもよく、該所与の列内の値は、[[100 125 140.70]]などの、タイトル「1平方フィート当たりの価格」に関連する値、および/またはタイトルに相応しうる他の値を含んでいてもよい。
【0050】
いくつかの実施形態では、システム200は、列220を比較して、列220どうしが類似しうるかどうかを判定してもよい。たとえば、第1の列220aは、第2の列220b、第nの列220n、または任意の他の列と比較されうる。いくつかの実施形態では、第1の列220aが第2の列220bおよび第nの列220nの両方と比較されるなど、任意の数の列が互いに比較されうる。
【0051】
いくつかの実施形態では、列220間の総合類似性値が、メタデータ類似性値、意味的類似性値、および単位類似性値のうちの少なくとも1つに基づいて決定されてもよい。いくつかの実施形態では、システム200は、メタデータ類似性モジュール230を使用してメタデータ類似性値を決定することができる。追加的または代替的に、システム200は、意味的類似性モジュール240を使用して意味的類似性値を決定することができる。追加的または代替的に、システム200は、単位類似性モジュール250を使用して単位類似性値を決定することができる。メタデータ類似性値、意味的類似性値、および単位類似性値のうちの少なくとも1つを決定するために、システム200は、列220を比較することができる。
【0052】
いくつかの実施形態において、列220は、列220間のメタデータ類似性値を決定するために、メタデータ類似性モジュール230によって比較されてもよい。メタデータ類似性モジュール230は、第1の列220aなど、列220のうちの一つまたは複数を受領することが可能でありうる。
【0053】
いくつかの実施形態では、メタデータ類似性モジュール230は、列の値からメタデータを抽出するようにさらに構成されてもよい。たとえば、メタデータ類似性モジュール230は、第1の列220a、第2の列220b、および/または第nの列220nからメタデータを抽出してもよい。いくつかの実施形態では、抽出されたメタデータは、値についてのデータ・タイプ、値に関連付けられた統計(たとえば最小、最大、範囲など)、値のデータ分布(たとえば、分散、標準偏差など)、および/または値に関連付けられた特性タイプ(たとえば、長さ、量、体積など)を含む。
【0054】
いくつかの実施形態では、メタデータ類似性モジュール230は、ある列からの抽出されたメタデータを別の列からの抽出されたメタデータ(たとえば、第1の列220aから抽出されたメタデータおよび第2の列220bから抽出されたメタデータ)と比較するように構成されてもよい。いくつかの実施形態では、メタデータ類似性モジュール230は、任意の数の列からの抽出されたメタデータ(たとえば、第1の列220a、第2の列220b、および/または第nの列220nから抽出されたメタデータ)を比較するように構成されてもよい。メタデータ類似性モジュール230は、データ・タイプ、データ分布、特性タイプ、および/またはそれぞれの列の値から抽出される任意の他の情報を比較するなど、抽出されたメタデータを列間で比較することができる。
【0055】
これらおよび他の実施形態において、メタデータ類似性モジュール230は、以下の
図3Aおよび
図3Bでさらに詳細に説明および図示されるように、第1の列220a内の第1の値からの抽出されたメタデータと、第2の列220b内の第2の値からの抽出されたメタデータとを比較することによって、メタデータ類似性値を決定してもよい。
【0056】
いくつかの実施形態では、意味的類似性モジュール240は、ある列からの抽出された意味データを別の列からの抽出された意味データと(たとえば、第1の列220aから抽出されたタイトルと第2の列220bから抽出されたタイトルを)比較するように構成されてもよい。意味的類似性モジュール240は、タイトル、それぞれの列から抽出された値、およびそれぞれの列から抽出された任意の他の情報を比較するなど、抽出された意味データを列間で比較することができる。いくつかの実施形態では、意味的類似性モジュール240は、抽出された意味データを列間で比較することに基づいて、それぞれの列間の意味的類似性値を生成するようにさらに構成されてもよい。
【0057】
いくつかの実施形態では、単位類似性モジュール250は、ある列からの値についての測定単位を別の列からの測定単位と(たとえば、第1の列220a内の値についての測定単位と第2の列220b内の値についての測定単位を)比較するように構成されてもよい。
【0058】
いくつかの実施形態では、測定単位モジュール250は、列220のそれぞれにおける値についての測定単位を予測するように構成されうる。たとえば、第1の列220a内の値および/または関連付けられたメタデータもしくは他の関連付けられた情報は、値についての測定単位を含まなくてもよい。これらおよび他の実施形態では、測定単位モジュール250は、以下の
図5~
図8でさらに詳細に説明および図示されるように、第1の列220a内の値についての測定単位を予測するように構成されうる。
【0059】
いくつかの実施形態では、測定単位モジュール250は、言語モデルを使用することによって、任意の数の列内の値についての測定単位を予測するように構成されうる。たとえば、測定単位モジュール250は、予測される測定単位を含む回答を引き出すように設計された質問を生成することができる。いくつかの実施形態では、測定単位モジュール250は、質問を言語モデルに送るようにさらに構成されてもよい。これらおよび他の実施形態において、言語モデルは、質問を受領し、予測された測定単位を含む回答を生成するように構成されてもよい。
【0060】
いくつかの実施形態では、測定単位モジュール250は、値が既知の測定単位を有しないとき、第1の列220aからの値および/またはタイトルを受領してもよい。いくつかの実施形態では、測定単位モジュール250は、第1の列220a内の値のうちの1つを含む質問を生成してもよい。これらおよび他の実施形態では、測定単位モジュール250によって生成された質問は、第1の列220aのタイトルに関して取得された追加のまたは他の情報を含むことができる。たとえば、生成された質問は、「[タイトル]の単位は何ですか」を含んでいてもよい。例を続けると、タイトルは「平方フィート当たりの価格」であってもよく、質問は「平方フィート当たりの価格の単位は何ですか」となってもよい。これらおよび他の実施形態では、生成された質問は、質問が予測された測定単位を含む回答を引き出しうるように、言語モデルに送られてもよい。いくつかの実施形態では、言語モデルは、予測された測定単位を含む回答を返すことができる。
【0061】
1つの列を使用して例解されているが、測定単位モジュール250は、関連する測定単位の予測を容易にするために、任意の数の列について質問を生成しうることが理解されよう。たとえば、測定単位モジュール250は、第1の列220a、第2の列220b、および/または第nの列220nについての質問を生成してもよい。
【0062】
いくつかの実施形態では、測定単位モジュール250は、第1の列からの第1の予測された測定単位、第2の列からの第2の予測された測定単位、第nの列からの第nの予測された測定単位までを比較するように構成されてもよい。これらおよび他の実施形態では、測定単位モジュール250は、第1の予測された測定単位を第2の予測された測定単位と比較することによって、第1の単位類似性値を決定することができる。追加的または代替的に、測定単位モジュール250は、第2の予測された単位を第nの予測された測定単位と比較することによって第2の単位類似性値を決定するように構成されうる。
【0063】
いくつかの実施形態において、システム200は、列のクラスターを生成するように構成されてもよい。いくつかの実施形態では、クラスターは、クラスター・モジュール260によって生成されうる。追加的または代替的に、クラスター・モジュール260は、一つまたは複数の列をクラスターに追加するように構成されうる。いくつかの実施形態では、クラスター・モジュール260は、第1の列220a、第2の列220b、第nの列220nまでを含みうるデータセット210を受領するように構成されうる。これらおよび他の実施形態において、クラスター・モジュール260は、メタデータ類似性モジュール230からメタデータ類似性値を、意味的類似性モジュール240から意味的類似性値を、および/または測定単位モジュール250から単位類似性値を受領するように構成されてもよい。これらおよび他の実施形態では、メタデータ類似性値、意味的類似性値、および/または単位類似性値は一緒になって、列220間、たとえば、第1の列220aと第2の列220bとの間の総合類似性値を構成してもよい。
【0064】
いくつかの実施形態では、クラスター・モジュール260は、類似した列のクラスターを生成するように構成されてもよい。たとえば、クラスター・モジュール260は、第1の列220aおよび第2の列220bを含んでいてもよい第1のクラスターを生成してもよい。これらおよび他の実施形態では、クラスター・モジュール260は、メタデータ類似性値、意味的類似性値、および/または単位類似性値のうちの一つまたは複数が閾値を下回ることに基づいて、列が類似していると判定してもよい。たとえば、第1の列220aおよび第2の列220bは、メタデータ類似性値、意味的類似性値、および/または単位類似性値のうちの少なくとも1つが閾値を下回る可能性があるので、類似していると判定されてもよい。いくつかの実施形態では、第1の列220aおよび第2の列220bは、総合類似性値が閾値を下回るため、類似していると判定されてもよい。クラスタリングおよび/または関連付けられた閾値は、以下の
図3、
図4、および
図8でさらに説明および図示される。
【0065】
例として、列間の完全な類似性は、0の総合類似性値で示されてもよく、対照的に、列間の完全な非類似性は、無限大の総合類似性値で示されてもよい。上述したように、より小さい総合類似性値は、より大きい総合類似性値よりも列間の類似性が大きいことを示しうる。したがって、閾値は、閾値を下回る総合類似性値が、列がクラスタリングされうるような列間の類似性を示しうるように、設定されうる。
【0066】
あるいはまた、逆が成り立ってもよい。たとえば、列間の完全な類似性は、無限大の総合類似性値で示されてもよく、対照的に、列間の完全な非類似性は、0の総合類似性値で示されてもよい。したがって、閾値は、閾値を上回る総合類似性値が、列がクラスタリングされうるような列間のより大きい類似性を示しうるように、設定されうる。
【0067】
いくつかの実施形態では、完全な類似性または非類似性についての無限大および0の値の代わりに、類似性値は、0と1との間の値を含んでいてもよく、1が完全な類似性を表し、0が完全な非類似性を表し、または1が完全な非類似性を表し、0が完全な類似性を表すのでもよい。
【0068】
いくつかの実施形態では、クラスター・モジュール260は、列220のうちの1つを既存のクラスターに追加してもよい。たとえば、第nの数の値および第nのタイトルを含む第nの列は、第1のクラスター内の第1の列220aおよび第2の列220bと類似していることがありうる。この類似性に基づいて、クラスター・モジュール260は、第1のクラスターに第nの列を追加してもよく、それにより第1のクラスターは第1の列220a、第2の列220b、および第nの列220nのそれぞれを含むことになる。いくつかの実施形態では、第nの列は、第1のクラスター内の第1の列220aおよび第2の列220bとは類似していないことが見出されうる。そのような実施形態では、クラスター・モジュール260は、第nの列220nを含む第2のクラスターを生成してもよい。
【0069】
いくつかの実施形態では、システム200は、クラスター・モジュール260によって生成された諸クラスター内の列220に基づいて新しい列220dを生成してもよい。システム200は、クラスターのうちの少なくとも1つにおける列220のうちの少なくとも1つにおける値に対して数学的演算を実行することができる特徴エンジニアリング機能を自動的に選択して展開することができる。これらおよび他の実施形態では、システム200は、新しい列220dを含みうる新しいデータセット270を生成しうる。たとえば、新しいデータセット270は、第1の列220a、第2の列220bから第nの列220nまで、および新しい列220dを含むことができる。
【0070】
いくつかの実施形態では、新しい列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であってもよい。
【0071】
いくつかの実施形態では、システム200は、第1の列220a、第2の列220bから第nの列220nまで、および新しい列220dを含みうる新しいデータセット270を機械学習システム280に送るように構成されうる。いくつかの実施形態では、機械学習システム280は、システム200に含まれてもよい。これらおよび他の実施形態において、機械学習システム280は、新しいデータセット270を受領するように構成されてもよい。いくつかの実施形態では、機械学習システム280は、新しいデータセット270によってトレーニングされうる。
【0072】
本開示の範囲から逸脱することなく、システム200に対して修正、追加、または省略が行われてもよい。たとえば、記載された態様における異なる要素の指定は、本明細書に記載された概念を説明する助けとなることを意図されており、限定するものではない。さらに、システム200は、任意の数の他の要素を含んでいてもよく、または説明されたもの以外の他のシステムもしくは環境で実装されてもよい。
【0073】
図3Aは、本開示に記載される少なくとも1つの実施形態による、メタデータ類似性値を計算するための情報を抽出する例示的な方法300のフローチャートを示す。方法300は、
図1の特徴エンジニアリング・システム100、
図2のメタデータ類似性モジュール230、および/または
図2のシステム200に関する任意の適切なシステム、装置、またはデバイスによって実行されうる。方法300は、一つまたは複数のブロック302、304、306、308、310、および312を含みうる。別個のブロックで示されているが、方法300のブロックのうちの一つまたは複数に関連付けられたステップおよび動作は、具体的な実装に依存して、追加のブロックに分割されるか、より少数のブロックに組み合わされるか、または削除されてもよい。
【0074】
いくつかの実施形態では、方法300はブロック302で始まってもよい。ブロック302では、表形式データから列が選択されてもよい。いくつかの実施形態では、表形式データは、列(複数可)に編成されうる値を含みうるデータセットの形であってもよく、列のそれぞれはタイトルを含みうる。いくつかの実施形態では、上記の
図1で上述した特徴エンジニアリング・システム120は、列(複数可)を選択するように構成されてもよい。これらおよび他の実施形態では、列は、上に示された
図2の列220と同じまたは同様であってもよい。追加的または代替的に、列は、上記で説明および図示された
図2のデータセット210および/または
図1のデータセット110と同じまたは同様でありうるデータセットから選択されてもよい。
【0075】
ブロック304では、データ・タイプが抽出されうる。いくつかの実施形態では、データ・タイプは、表形式データからデータ・タイプを抽出するように構成されたシステム、デバイス、または装置(たとえば、
図1のシステム100、
図1の特徴エンジニアリング・システム120、
図2で上述したメタデータ類似性モジュール230を介したシステム200)によって抽出されてもよい。いくつかの実施形態では、データ・タイプは、表形式データから選択された列内の値から抽出されてもよい。たとえば、データ・タイプは、メタデータの一部であってもよいし、データ・タイプを抽出するために列内の値の特性を解析することによって抽出されてもよい。これらおよび他の実施形態では、データ・タイプは、整数、倍精度型、フロート、浮動小数点、文字列、文字、ブーリアン、または表形式データから選択される列内の値を記述しうる他のデータ・タイプのうちの1つであってもよい。
【0076】
ブロック306では、データ分布が計算されうる。いくつかの実施形態では、表形式データから選択された列のそれぞれにおける値は、そこからデータ分布を記述する値が計算されうる記述メタデータを含みうる。たとえば、各列は最小値および最大値を含んでいてもよく、それから、各列についての範囲が、最大値と最小値の間の差を決定することによって計算されうる。これらおよび他の実施形態では、データ分布値が、列内の値から計算されてもよい(たとえば、分散、標準偏差、モード、中央値、極大、極小、データの分布、データの形状、相関、確率、共分散、歪度、および/または列のデータ分布を記述しうる他の値)。
【0077】
ブロック308では、表形式データ内の列からの値から、特性タイプが決定されてもよい。いくつかの実施形態では、特性タイプは、列のそれぞれにおける値の、長さ、面積、位置、時間、体積、数量、品質、密度、レベル、カウント、量、または特性タイプの別の記述子を含みうる。これらおよび他の実施形態において、任意の適切なデバイスまたはシステムが、一つまたは複数の特性タイプを推定または他の仕方で決定するように構成されうる。たとえば、
図2において説明および図示されるシステム200、または
図2に図示されるメタデータ類似性モジュール230において説明されるような動作を行うように構成される別のデバイスもしくはシステムである。
【0078】
ブロック310では、データ分布値、データ・タイプ、特性タイプ、および他の形式のメタデータが各列について保存されてもよい。これらおよび他の実施形態において、方法300で説明したように抽出および計算されたデータ・タイプ、特性タイプ、および他の形式のメタデータ(「メタデータ」)が記憶されてもよく、そこから該メタデータが抽出されうる各列に関連付けられてもよい。
【0079】
ブロック312では、表形式データ内にさらなる列が存在するかどうかの判定が行われてもよい。いくつかの実施形態では、各列からのメタデータは、表形式データから抽出されてもよい。これらおよび他の実施形態において、システムは、メタデータが各列から抽出されたかどうかを判定するように構成されてもよく、そうでない場合、システムは、別の列を選択してもよく、ブロック302で始まるメタデータを抽出するプロセスを開始することができる。
【0080】
いくつかの実施形態では、そこからメタデータを抽出するためのさらなる列がデータセット内に存在しないという判定がなされることがある。いくつかの実施形態では、メタデータが列から抽出された後、方法300は、以下に説明および図示される
図3Bに続いてもよい。
【0081】
本開示の範囲から逸脱することなく、方法300に対して修正、追加、または省略を行うことができる。たとえば、方法300の動作は、異なる順序で実装されてもよい。追加的または代替的に、2つ以上の動作が同時に実行されてもよい。さらに、概説された動作およびアクションは、例として提供されるにすぎず、動作およびアクションのいくつかは、説明される実施形態の本質から逸脱することなく、任意的であってもよく、より小数の動作およびアクションに組み合わされてもよく、または追加の動作およびアクションに展開されてもよい。
【0082】
図3Bは、本開示に記載される少なくとも1つの実施形態による、メタデータ類似性値を決定する例示的な方法350のフローチャートを示す。方法350は、
図1の特徴エンジニアリング・システム100、
図2のメタデータ類似性モジュール230、および
図2のシステム200に関する任意の適切なシステム、装置、またはデバイスによって実行されうる。方法300は、一つまたは複数のブロック318、320、322、324、326、328、330、332、および334を含みうる。別個のブロックで示されているが、方法350のブロックのうちの一つまたは複数に関連付けられたステップおよび動作は、具体的な実装に依存して、追加のブロックに分割されるか、より小数のブロックに組み合わされるか、または削除されうる。
【0083】
いくつかの実施形態では、方法350は、
図3Aにおいて上記で説明および図示した方法300の続きであってもよい。いくつかの実施形態では、方法350はブロック318で始まってもよい。ブロック318では、抽出されたメタデータを含む第1の列が選択されうる。いくつかの実施形態では、抽出されたメタデータは、方法300において上述され、
図3Aに示されるように、データ・タイプ、特性タイプ、または他の形のメタデータのうちの少なくとも1つを含んでいてもよい。
【0084】
ブロック320では、抽出されたメタデータを含む第2の列が選択されうる。いくつかの実施形態では、抽出されたメタデータは、上記の方法300で説明され、
図3Aに示されるように、データ・タイプ、特性タイプ、または他の形のメタデータのうちの少なくとも1つを含んでいてもよい。いくつかの実施形態では、第1の選択された列からの抽出されたメタデータは、第2の選択された列からの抽出されたメタデータと同様の情報を含んでいることがある。たとえば、第1の選択された列からの抽出されたメタデータは、データ・タイプ、最小、最大、平均、および特性タイプを含みうる。加えて、第2の選択された列からの抽出されたメタデータは、データ・タイプ、最小、最大、平均、および特性タイプを含みうる。いくつかの実施形態では、第1の選択された列からの抽出されたメタデータは、第2の選択された列からの抽出されたメタデータと類似していなくてもよい。
【0085】
ブロック322では、第1の選択された列からのデータ・タイプが第2の選択された列からのデータ・タイプと等価であるかどうかについての判定がなされてもよい。たとえば、第1の選択された列からのデータ・タイプが整数であることがあり、第2の選択された列からのデータ・タイプも整数であることがありうる。例を続けると、したがって、両方のデータ・タイプが等価であると判定されうる。いくつかの実施形態では、データ・タイプは、これらの実施形態の諸側面に従って等価のままでありながら、同じでなくてもよい。たとえば、1つのデータ・タイプが整数であり、別のデータ・タイプが浮動小数点値であってもよい。さらに例を続けると、データ・タイプが一致しない場合であっても、システムが第1の列内の値を第2の列内の値と比較するのに十分に比較可能でありうるので、データ・タイプは等価でありうる。いくつかの実施形態では、データ・タイプは等価でなくてもよい。たとえば、あるデータ・タイプが整数であることがあり、別のデータ・タイプが文字列であることがある。この例を続けると、整数は、メタデータ類似性値が決定されうるように文字列に十分に比較可能ではないことがありうるので、データ・タイプは等価でない可能性がある。データ・タイプが等価である場合、方法350はブロック324に進んでもよい。データ・タイプが等価でない場合、方法350はブロック326に進んでもよい。
【0086】
ブロック324では、第1のデータ分布が第2のデータ分布と等価でありうるかどうかが判定される。いくつかの実施形態では、第1のデータ分布は、第1の列内の値が第2の列内の値と比較可能でありうる場合、第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に進んでもよい。
【0087】
ブロック326では、閾値数よりも大きい類似性値が割り当てられうる。いくつかの実施形態では、第1の列内の値のデータ・タイプが第2の列内の値のデータ・タイプと等価でない場合、列間に割り当てられる類似性値は、前記閾値より大きくてもよい。たとえば、あるデータ・タイプは浮動小数点であってもよく、別のデータ・タイプは文字列であってもよい。例を続けると、浮動小数点および文字列は、比較可能でないことがあり、したがって、類似性値は、値が類似しないかもしれないことを示しうる閾値よりも大きい値を割り当てられうる。これらおよび他の実施形態では、類似性値は、0から無限大の間の範囲であってもよく、無限大の値は、類似性が全くないことを示してもよい。いくつかの実施形態では、類似性値は0と1との間の範囲であってもよく、1は類似性が全くないことを示してもよい。さらに例を続けると、システムは、特徴エンジニアリング機能を介して、閾値を上回る類似性値が割り当てられるとき、新しい列について新しい値を生成しなくてもよい。いくつかの実施形態では、第1の列の値と第2の列の値との間の距離が計算されうる。いくつかの実施形態では、列間の距離が、列間のメタデータ類似性値を決定するために使用されてもよい。いくつかの実施形態では、第1の選択された列内の値は文字列であってもよく、第2の選択された列内の値は文字列であってもよい。追加的または代替的に、距離は、第1の列内の文字列をベクトルに変換し、第2の列内の文字列をベクトルに変換することによって決定されうる。いくつかの実施形態では、ベクトル間の距離は、レーベンシュタイン距離、コサイン距離、または列内の値を表すベクトル間の距離を計算するように構成された別の数学的類似性関数を使用して決定されうる。いくつかの実施形態では、計算された距離は、第1の列内の値と第2の列内の値との間のメタデータ類似性値を決定するために使用されうる。
【0088】
ブロック328では、メタデータ類似性値が、第1の列と第2の列とに関連付けられた抽出されたメタデータ間で決定されうる。いくつかの実施形態では、メタデータ類似性値は、ベクトル間の距離、第1の列および第2の列にそれぞれ関連付けられたデータ分布間の分布類似性、ならびに第1の列と第2の列との間のデータ・タイプ類似性のうちの少なくとも1つに基づいて決定されてもよい。いくつかの実施形態において、メタデータ類似性値は、以前に決定された閾値に基づいて決定されてもよい。たとえば、閾値が「2」であることが以前に決定されている可能性があり、したがって、「2」を超える割り当てられたメタデータ類似性値は、第1の選択された列と第2の選択された列との間の抽出されたメタデータが類似していない可能性があること、または少なくとも、第1の列と第2の列との間の抽出されたメタデータが、以下の
図9に示されるようなクラスターに含めるのに十分に類似していない可能性があることを示してもよい。
【0089】
ブロック330では、メタデータ類似性値が保存されうる。いくつかの実施形態では、メタデータ類似性値は、メタデータ類似性値が第1および第2の列に関連付けられうるように保存されてもよい。いくつかの実施形態では、メタデータ類似性値は、メタデータ類似性値が、それぞれ一対の列に関連付けられた他のメタデータ類似性値と一緒に保存されてもよい。たとえば、第1の列220aと第2の列220bとの間の類似性を示すメタデータ類似性値があって、第2の列220bと第nの列220nとの間の類似性を示す別のメタデータ類似性値と一緒に保存されてもよい。
【0090】
ブロック332では、比較されるべきさらなる列が残っているかどうかの判定が行われうる。いくつかの実施形態では、表形式データは、列のそれぞれの対の間のメタデータ類似性値を決定するためにそれぞれ比較されうる列を含んでいてもよい。たとえば、表形式データは、第1の列220a、第2の列220b、および第nの列220nの3つの列を有しうる。方法300は、第1の列220aと第2の列220b、第1の列220aと第nの列220n、および第2の列220bと第nの列220nを比較することができる。いくつかの実施形態では、ブロック332において、これらの比較のそれぞれがすでに行われたかどうかについて判定がされてもよい。比較がすでに行われている場合、方法350はブロック334に進んでもよく、そうでない場合、方法350はブロック318に戻ってもよく、および/または方法300のブロック302に戻ってもよい。
【0091】
ブロック334では、メタデータ類似性値がシステムに送られてもよく、または
図1、
図2、および
図9に示されるように、総合類似性値を作成するための関数において使用されてもよい。
【0092】
本開示の範囲から逸脱することなく、方法350に対して修正、追加、または省略を行うことができる。たとえば、方法350の動作は、異なる順序で実装されうる。追加的または代替的に、2つ以上の動作が同時に実行されてもよい。さらに、概説された動作およびアクションは、例として提供されるにすぎず、動作およびアクションのいくつかは、説明される実施形態の本質から逸脱することなく、任意的であってもよく、より少数の動作およびアクションに組み合わされてもよく、または追加の動作およびアクションに展開されてもよい。
【0093】
図4は、本開示に記載される少なくとも1つの実施形態による、データセット内の列の対の間の意味的類似性値を決定する例示的な方法400のフローチャートを示す。方法400は、
図1の特徴エンジニアリング・システム100、
図2の意味的類似性モジュール240、および
図2のシステム200に関する任意の適切なシステム、装置、またはデバイスによって実行されうる。方法400は、一つまたは複数のブロック410、420、430、440、450、460、470、および480を含みうる。別個のブロックで示されているが、方法400のブロックのうちの一つまたは複数に関連付けられたステップおよび動作は、具体的な実装に依存して、追加のブロックに分割されるか、より少数のブロックに組み合わされるか、または削除されうる。
【0094】
いくつかの実施形態では、方法400はブロック410で始まってもよい。ブロック410において、一対の列がデータセットから選択されうる。いくつかの実施形態では、データセットから選択された列の対は、それぞれがタイトルを含みうる列の対を含みうる。いくつかの実施形態では、タイトルは、データセットの列のそれぞれにおける値を記述してもよい。
たとえば、ある列における1つの値は150であってもよく、対応するタイトルは、その値(複数可)を記述しうる「平方フィート当たりの価格」であってもよい。
【0095】
ブロック420では、第1の列における第1のタイトルおよび第2の列からの第2のタイトルが、データセットから抽出されうる。いくつかの実施形態では、第1の列における第1のタイトルおよび第2の列における第2のタイトルは、同じでなくてもよい。追加的または代替的に、第1のタイトルおよび第2のタイトルは同じであってもよい。いくつかの実施形態では、第1の列における第1タイトルは略記されてもよい。たとえば、第1のタイトルは、「Garage Year Built」〔ガレージ築年〕の短縮形でありうる「GarageYrBlt」でありうる。
【0096】
ブロック430では、第1のタイトルが第1のベクトルに変換されてもよく、第2のタイトルが第2のベクトルに変換されてもよい。いくつかの実施形態では、第1のタイトルおよび第2のタイトルは、埋め込み関数を使用して、それぞれ第1のベクトルおよび第2のベクトルに変換されてもよい。埋め込み関数の例は、Word2Vector、変換器からの双方向エンコーダ表現埋め込み(Bidirectional Encoder Representations from Transformers-Embedding)(「BERT埋め込み(BERT-Embedding))、生成的事前トレーニングされた変換器(Generative Pre-trained Transformer)(「GPT埋め込み(GPT-Embedding)」)、およびタイトルをベクトルに変換することができる任意の他の関数を含むことができる。いくつかの実施形態では、第1のベクトルは、第1のタイトル内の単語の数値表現を含んでいてもよく、第2のベクトルは、第2のタイトル内の単語の数値表現を含んでいてもよい。
【0097】
ブロック440では、第1のベクトルと第2のベクトルとの間の距離が計算されうる。いくつかの実施形態では、第1のベクトルと第2のベクトルとの間の距離は、類似性関数を使用して計算されうる。いくつかの実施形態では、類似性関数は、コサイン類似性関数、ユークリッド距離関数、または2つのベクトル間の距離を決定するように設計された任意の他の関数でありうる。いくつかの実施形態では、第1のベクトルと第2のベクトルとの間で計算された距離は、第1の列内の第1のタイトルと第2の列内の第2のタイトルとが類似しうるかどうかを判定するために使用されうる。いくつかの実施形態では、第1のベクトルと第2のベクトルとの間のより小さい距離は、第1のタイトルと第2のタイトルとが類似しうるというインジケータでありうる。たとえば、第1のタイトルは「1stFlrSF」であってもよく、これは「First Floor Square Feet(1階平方フィート)」の短縮形であってもよく、第2のタイトルは「2ndFlrSF」であってもよく、これは「Second Floor Square Feet(2階平方フィート)」の短縮形であってもよい。この例を続けると、第1のタイトルおよび第2のタイトルは、第1のベクトルおよび第2のベクトルに変換されてもよく、第1のベクトルと第2のベクトルとの間で計算された距離は0.25であってもよい。別の例では、第1のタイトルは「1stFlrSF」であってもよく、第2のタイトルは「HousingPrice」〔住宅価格〕でありうる。第2の例では、第1のタイトルは第1のベクトルに変換されてもよく、第2のタイトルは第2のベクトルに変換されてもよく、第1のベクトルと第2のベクトルとの間で計算された距離は1.25でありうる。上記の例では、第1の例において計算された距離は、第2の例において計算された距離よりも小さくてもよく、これは、第2の例における第1のタイトルと第2のタイトルとの間よりも、第1の例において第1のタイトルと第2のタイトルとの間により大きな類似性が存在しうることを示しうる。
【0098】
ブロック450では、第1のベクトルと第2のベクトルとの間の計算された距離に基づいて、意味的類似性値が決定されうる。いくつかの実施形態では、意味的類似性値は、第1のベクトルと第2のベクトルとの間の計算された距離と同じでありうる。いくつかの実施形態では、第1のベクトルと第2のベクトルとの間の計算された距離は、第1のベクトルと第2のベクトルとの間の距離を含むいくつかの要因に基づいて、意味的類似性値に変換されうる。いくつかの実施形態では、意味的類似性値は、第1の列と第2の列とに関連付けられた予測された測定単位の間の比較に加えて、第1のベクトルと第2のベクトルとの間の距離に基づいて決定されてもよい。たとえば、データセットは、第1の列および第2の列を含んでいてもよく、第1の列は、第1の列内の値を説明しうるタイトル「salary」〔給与〕を有してもよく、第2の列は、第2の列内の値を説明しうるタイトル「overall」〔全体〕を有してもよい。例を続けると、第1および第2の列内の値は両方とも、
図5~
図8に関して以下で説明されるさまざまな実施形態による方法を使用して予測されうる、「dollars」〔ドル〕という予測された単位を有すると判定されてもよい。さらに例を続けると、第1のタイトル「salary」と第2のタイトル「overall」との間の距離が比較的大きい可能性があると判定されてもよく、これは、第1の列と第2の列とが類似していない可能性があることを示してもよい。しかしながら値が同じ予測される単位「dollars」を有するので、第1の列と第2の列との間の意味的類似性値は、第1のタイトルと第2のタイトルとの間の距離のみを使用していた場合の意味的類似性値よりも低い可能性があり、これは、第1の列と第2の列とが類似している可能性があることを示す可能性がある。
【0099】
ブロック460では、第1の列および第2の列が類似していると考えられるべきかどうかの判定が行われうる。いくつかの実施形態では、判定は、意味的類似性値が閾値を下回るか否かに基づいてもよい。たとえば、第1のベクトルと第2のベクトルとの間の距離が決定されうる。距離が閾値を上回る場合、第1の列および第2の列は類似していない可能性がある。第1および第2の列が類似していると見なされないと判定された場合、方法400はブロック470に進んでもよい。第1の列および第2の列が類似していると見なされると判定された場合、方法400はブロック480に進んでもよい。
【0100】
ブロック470では、比較すべきさらなる列が存在するかどうかの判定を行うことができる。これらおよび他の実施形態では、列のそれぞれが、互いと比較されうる。たとえば、データセットは、第1の列、第2の列、および第3の列を含んでいてもよい。この例を続けると、第1の列は、第2の列および第3の列と比較されてもよく、第2の列は、第3の列と比較されてもよい。いくつかの実施形態では、すべての列が比較されたかどうかの判定は、各比較の後に行われてもよい。解析のための追加的な対がある場合、方法400は、ブロック410に戻って、別の列の対を考慮してもよい。解析のための列の追加的な対が存在しない場合、方法は終了しうる。
【0101】
ブロック480では、ブロック450において決定された意味的類似性値が保存されうる。いくつかの実施形態では、意味的類似性値は、意味的類似性値が列の対に関連付けられうるように保存されうる。データ類似性値およびメタデータ類似性値とともに特徴エンジニアリング機能によって使用されうる意味的類似性値が保存されうる。以下で
図9に説明および図示されるように、列の対が一緒にクラスタリングされうるかどうかを判定するためである。ブロック480の後、方法400は、ブロック470に進んで、任意の残りの列の対の解析のための任意の追加の列の対があるかどうかを判定することができる。
【0102】
本開示の範囲から逸脱することなく、方法400に対して修正、追加、または省略を行うことができる。たとえば、方法400の動作は、異なる順序で実装されうる。追加的または代替的に、2つ以上の動作が同時に実行されてもよい。さらに、概説された動作およびアクションは、例として提供されるにすぎず、動作およびアクションのいくつかは、説明される実施形態の本質から逸脱することなく、任意的であってもよく、より少数の動作およびアクションに組み合わされてもよく、または追加の動作およびアクションに展開されてもよい。
【0103】
図5は、本開示に記載される少なくとも1つの実施形態による、データセット内の値についての予測された測定単位を生成する例示的な方法500のフローチャートを示す。方法500は、
図1の特徴エンジニアリング・システム100、
図2の単位類似性モジュール250、および
図2のシステム200に関する任意の適切なシステム、装置、またはデバイスによって実行されうる。方法500は、一つまたは複数のブロック510、520、530、540、および550を含みうる。別個のブロックで示されているが、方法500のブロックのうちの一つまたは複数に関連付けられたステップおよび動作は、特定の実装に依存して、追加のブロックに分割されるか、より少数のブロックに組み合わされるか、または削除されうる。
【0104】
いくつかの実施形態では、方法500はブロック510で始まってもよい。ブロック510では、タイトルおよび/または値(複数可)を有する列(複数可)を含みうるデータセットが取得されうる。そのようなデータセットの例は、
図2に示されるデータセット210および/または
図1に示されるデータセット110として示される。
【0105】
ブロック520では、タイトルおよび値(複数可)が列から抽出されうる。いくつかの実施形態では、タイトルおよび値は、組み合わせて列から抽出されてもよく、それにより、システムは、以下のブロック530で論じられるように、タイトルおよび値の両方を含みうる質問を合成するように構成されてもよい。
【0106】
ブロック530では、タイトルおよび値(複数可)に基づいて質問が合成されてもよい。いくつかの実施形態では、質問は自然言語の質問として合成されてもよい。これらおよび他の実施形態において、質問は、値についての予測された測定単位を含みうる応答を質問が引き出しうるように合成されうる。たとえば、合成された質問は、「what is the unit of [the value(s)]?([値(複数可)]の単位は何ですか)」を含んでいてもよく、これは、列内の値についての測定単位を含む応答を引き出すために起草されていてもよい。これらおよび他の実施形態では、合成された質問は、質問に何らかの追加的なコンテキストを質問が提供しうるように、値(複数可)およびタイトルを用いて起草されてもよい。たとえば、列のタイトルは「Basement Square Feet(地下室平方フィート)」であってもよく、列内の値は1,000であってもよい。さらに例を続けると、合成された質問は、「The Basement Square Feet is 1,000, what is the unit of Basement Square Feet?(地下室平方フィートは1,000です、地下室平方フィートの単位は何ですか)」を含みうる。これらおよび他の実施形態において、列のタイトルは略記されてもよい。たとえば、「Basement Square Feet(地下室平方フィート)」の代わりに第1のタイトルは「BmtSF」であってもよい。したがって、上記の例に示されるように、合成される質問は、「The BmtSF is 1,000, what is the unit of BmtSF?(BmtSFは1,000です、BmtSFの単位は何ですか)」でありうる。これらおよび他の実施形態では、合成される質問は、列記述、展開されたタイトル、サンプル質問の数、機械学習タスク記述、質問-回答例の数、および以下で
図7にさらに示され説明されるような他の関連する考慮事項を含みうる、他の考慮事項に基づきうる。
【0107】
ブロック540では、合成された質問は、回答を取得するために言語モデルに送られうる。いくつかの実施形態では、言語モデルが予測された測定単位を含みうる質問に対する回答を生成しうるように、質問は言語モデルに送られうる。これらおよび他の実施形態において、言語モデルは、生成的事前トレーニングされた変換器3(「GPT3」)、変換器からの双方向エンコーダ表現(「BERT」)、変換器からの堅牢に最適化された双方向エンコーダ表現(「RoBERTa」)、テキスト‐テキスト移行変換器(「T5」)、および合成された質問を受領し、予測された測定単位を含みうる回答を提供するように設計された他の言語モデルなどの言語モデルを含みうる事前トレーニングされた大規模言語モデルを含みうる。これらおよび他の実施形態において、言語モデルが大きいほど、合成された質問により正確に回答することができる。たとえば、T5-11b言語モデルは、言語モデルがトレーニング中に改善しようと試みうる110億個のパラメータを含むが、T5-Small言語モデルは、言語モデルがトレーニング中に改善しようと試みうる6000万個のパラメータを含む。例を続けると、T5-11b言語モデルは、たとえばT5-Small言語モデルよりも大きいデータセットを使用してトレーニングされてもよく、したがって、T5-11b言語モデルは、T5-Small言語モデルよりも正確に質問に回答するのにより適している可能性がある。
【0108】
ブロック550では、予測された測定単位が、回答に基づいて生成されうる。いくつかの実施形態では、1つの質問が合成されて言語モデルに送られてもよく、言語モデルは、合成された質問に対する回答として、予測された測定単位を提供してもよい。いくつかの実施形態では、質問は、列内の値およびタイトルに基づいて生成されてもよい。いくつかの実施形態では、言語モデルは所与の列内の複数の値について、またはさらには前記所与の列内の前記値のそれぞれについて、複数の質問を受領するように構成されてもよい。これらおよび他の実施形態では、言語モデルはそれぞれの質問に対して回答を提供する。いくつかの実施形態では、予測される測定単位は、複数の質問について言語モデルによって提供される回答の過半数からの同意に基づいて選択されてもよい。たとえば、第1の列は、第1のタイトル、第1の値、第2の値、および第3の値を含みうる。この例を続けると、第1のタイトルおよび第1の値に基づいて第1の質問が合成されてもよく、第1のタイトルおよび第2の値に基づいて第2の質問が合成されてもよく、第1のタイトルおよび第3の値に基づいて第3の質問が合成されてもよい。第1の質問、第2の質問および第3の質問のそれぞれは、言語モデルに送られてもよく、言語モデルは、第1の質問に対する第1の回答、第2の質問に対する第2の回答、および第3の質問に対する第3の回答を提供してもよい。例を続けると、第1の回答および第2の回答は同じであってもよく、第3の回答は異なっていてもよい。そのような状況では、多数決回答(たとえば、第1の回答および第2の回答)は、以下で
図8にさらに説明および図示されるように、予測される測定単位でありうる。
【0109】
本開示の範囲から逸脱することなく、方法500に対して修正、追加、または省略を行うことができる。たとえば、方法500の動作は、異なる順序で実装されうる。追加的または代替的に、2つ以上の動作が同時に実行されてもよい。さらに、概説された動作およびアクションは、例として提供されるにすぎず、動作およびアクションのいくつかは、説明される実施形態の本質から逸脱することなく、任意的であってもよく、より少数の動作およびアクションに組み合わされてもよく、または追加の動作およびアクションに展開されてもよい。
【0110】
図6は、本開示に記載される少なくとも1つによる、2つの予測された単位間の単位類似性値を決定する例示的な方法600のフローチャートを示す。方法600は、
図1の特徴エンジニアリング・システム100、
図2の単位類似性モジュール250、および
図2のシステム200に関する任意の適切なシステム、装置、またはデバイスによって実行されうる。方法600は、一つまたは複数のブロック602、604、606、608、610、612、614、および616を含みうる。別個のブロックで示されているが、方法600のブロックのうちの一つまたは複数に関連付けられたステップおよび動作は、具体的な実装に依存して、追加のブロックに分割されるか、より少ないブロックに組み合わされるか、または削除されてもよい。
【0111】
いくつかの実施形態では、方法600は、ブロック602および604で始まってもよい。ブロック602において、第1の列がデータセットから選択されてもよく、ブロック604において、第2の列がデータセットから選択されてもよい。これらおよび他の実施形態において、第1の列および第2の列はそれぞれ、タイトルおよび値を含んでいてもよく、第1の列内の値は測定単位を有していてもよく、第2の列内の値は、測定単位を有していてもよい。
【0112】
ブロック606において、プロンプトが生成されうる。いくつかの実施形態では、生成されるプロンプトは、上記のブロック530において方法500で説明および図示されたように合成された質問であってもよい。追加的または代替的に、プロンプトは、以下の
図7の方法700において詳述および図示されるように、質問を合成するために使用されうる考慮事項に従って生成されうる。たとえば、以下の
図7に詳述される考慮事項のうちのいくつかは、サンプル列値の数、列記述、展開された列名、機械学習タスク記述、例示的な質問-回答対、および言語モデルに送られるプロンプトを生成する際に有用でありえ、測定単位を含みうる回答を引き出すように設計されうる他の形の情報を含みうる。いくつかの実施形態では、プロンプトは、言語モデルから回答を受領するように生成されてもよく、言語モデルは、第1の列内の値についての測定単位および第2の列内の値についての測定単位を予測してもよい。たとえば、第1の列内の値は、値1,050を含んでいて、値は、測定単位を含まないのでもよい。例を続けると、プロンプトが生成されてもよく、応答を引き出すように設計されてもよい質問を含んでいてもよく、応答は、値についての予測される測定単位を含んでいてもよい。プロンプトは以下を含んでいてもよい:「What is the unit of measurement for 1,050? (1,050の測定単位は何ですか)」。追加的または代替的に、プロンプトは、追加情報、たとえば、第1の列のタイトル、列記述、展開された列名、機械学習タスク記述、例示的な質問-回答対、および他の形の情報を含んでいてもよい。上記の例では、第1の列のタイトルは「TotSF」であってもよく、機械学習タスク記述は「predicting housing prices(住宅価格を予測する)」であってもよく、その追加情報を用いて、プロンプトは「To predict housing prices, TotSF is 1,050. What is the unit of TotSF?(住宅価格を予測するために、TotSFは1,050です。TotSFの単位は何ですか)」であってもよい。この例を続けると、プロンプトは、「square feet(平方フィート)」という予測された単位を引き出すように設計されうる。
【0113】
ブロック608では、単位予測のための特徴がマスクされうる。いくつかの実施形態では、プロンプトはマスクされた単位を含んでいてもよく、よって、プロンプトは、予測された測定単位によって置き換えられるマスクされた単位を有するように設計されてもよい。これらおよび他の実施形態において、第1の列内の値は、マスクされたユニットを含みうるプロンプトにおいて使用されうる。いくつかの実施形態では、第2の列内の値は、別のマスクされた単位を含みうる第2のプロンプトにおいて使用されうる。たとえば、第1の列は、値(1232)、タイトル(「Bsmt total SF」)、およびマスクされた単位を有してもよく、プロンプトは、以下に示されるように起草されてもよい:
The [MASK] is <value> <column name>. ([マスク]は<値><列名>である。)
The [MASK] is 1232 Bsmt total SF. ([マスク]は1232 Bsmt総SFである。)
上記の例では、プロンプトを起草する目的は、マスクされた単位についての回答を引き出すことでありうる。回答は、上記の例では、「square feet(平方フィート)」でありうる。上記の例を続けると、第1の列のタイトルは、「Basement Square Footage(地下室平方フィート数)」となるように展開されてもよく、これは向上した精度および速度でマスクが予測されうる追加的なコンテキストを提供しうる。
【0114】
ブロック610では、第1の列についての予測された単位および第2の列についての予測された単位が提供されうる。いくつかの実施形態では、ブロック608において上記で詳述されたようなプロンプトは、言語モデルに送られてもよい。追加的または代替的に、言語モデルは、言語モデルが第1の列についての予測された測定単位を生成することが可能でありうるように事前トレーニングされうる。これらおよび他の実施形態において、言語モデルは、GPT3、BERT、RoBERTa、および上記の
図5の方法500でさらに詳述および例解されたように、プロンプトを受領して予測される測定単位を提供するように設計された他の言語モデル等の言語モデルを含んでいてもよい。いくつかの実施形態では、言語モデルは、第1の列についての予測される測定単位について、いくつかの予測される測定単位を提供してもよい。たとえば、プロンプトは、「The [MASK] is 1232 Bsmt total SF([マスク]は、1232 Bsmt総SFです)」であってもよく、言語モデルは、4つの可能な単位を提供してもよく、言語モデルは4つの可能な単位のそれぞれが正しい関連付けられた確率を割り当ててもよい。上記のプロンプトに応答して、言語モデルは、以下の測定単位を用いて回答することができる:
面積(平方フィート):0.326
価格(ドル):0.252
人口:0.046
密度:0.023
上記の例では、「面積(平方フィート)」は、その確率が、言語モデルによって提供された可能性のある4つの可能な単位のうちで最大でありうるので、予測された測定単位として選択されうる。これらおよび他の実施形態では、予測された測定単位の引数最大値(argmax)が取られてもよく、それにより、予測される測定単位は、4つの可能な単位のうちの、最も高い正しい確率を有しうるものでありうる。
【0115】
ブロック612において、単位類似性値が保存されうる。いくつかの実施形態では、単位類似性値は、第1の予測された測定単位が第2の予測された測定単位にどれだけ類似しうるかに基づいて決定されうる。いくつかの実施形態では、単位類似性値は、予測された測定単位が一致するかどうかに依存しうる1または0のいずれかでありうる。たとえば、予測された測定単位は「平方フィート」であってもよく、これはやはり「平方フィート」でありうる別の予測された測定単位に一致しうる。予測された測定単位が一致するので、これらの予測された測定単位間では単位測定類似性値は「0」であってもよい。別の例では、第1の予測された測定単位は「平方フィート」であってもよく、第2の予測された測定単位は「平方メートル」であってもよい。この例を続けると、予測された測定単位が一致しないので、単位測定類似性値は「1」でありうる。いくつかの実施形態では、単位測定類似性値は、それらの予測された測定単位がどの程度類似しうるかに依存しうる0と1との間の値であってもよい。予測された測定単位が一致しない可能性があるために予測された測定単位が類似性値1を与えられうる上記の例とは異なり、ここでは、予測された測定単位がどの程度類似または非類似でありうるかを示すために、0と1の間の類似性値が与えられてもよい。いくつかの実施形態では、テキスト正規化プロセスを実施して、予測された測定単位を比較する精度を高めることができる。上記の例では、1つの予測された測定単位は「square feet(平方フィート)」であり、別の予測された測定単位は「square foot(平方フット)」であった。この例を続けると、「feet」が「foot」と異なりうるという点で予測された測定単位は異なりうるが、実際には違いはない可能性がある。例を続けると、テキスト正規化プロセスは、ある種のテキスト用語を識別し、互いに整合するように正規化する(たとえば、footおよびfeetが両方ともfeetになる)ことによって、より正確な単位類似性値を許容しうる。これらおよび他の実施形態では、0に近づく予測された単位類似性値は、予測された測定単位が非類似であるよりも類似している可能性があることを示すことができ、一方、1に近づく予測された単位類似性値は、予測された測定単位が類似であるよりも非類似である可能性があることを示すことができる。
【0116】
ブロック614では、比較するための列の他の対がデータセットから利用可能でありうるかどうかに関する判定が行われうる。いくつかの実施形態では、データセットは、いくつかの列を含みうる。該いくつかの列のそれぞれは、該いくつかの列のうちの他の列のそれぞれと比較されうる。データセット内で比較すべき列の他の対がない場合、方法600はブロック616に進んでもよく、ここで方法600は終了することができる。もしある場合には、方法600は、ブロック602および606に戻ってもよく、そこで、第1の列および第2の列が比較のために選択されうる。
【0117】
本開示の範囲から逸脱することなく、方法600に対して修正、追加、または省略を行うことができる。たとえば、方法600の動作は、異なる順序で実装されうる。追加的または代替的に、2つ以上の動作が同時に実行されてもよい。さらに、概説された動作およびアクションは、例として提供されるにすぎず、動作およびアクションのいくつかは、説明される実施形態の本質から逸脱することなく、任意的であってもよく、より少数の動作およびアクションに組み合わされてもよく、または追加の動作およびアクションに展開されてもよい。
【0118】
図7は、本開示に記載される少なくとも1つの実施形態による、言語モデルのためのいくつかの質問を生成する例示的な方法700のフローチャートを示す。方法700は、
図1の特徴エンジニアリング・システム100、
図2の単位類似性モジュール250、および
図2のシステム200に関して、任意の適切なシステム、装置、またはデバイスによって実行されうる。方法700は、一つまたは複数のブロック702、704、706、708、710、712、714、716、718、720、722、および724を含みうる。別個のブロックで示されているが、方法700のブロックのうちの一つまたは複数に関連付けられたステップおよび動作は、具体的な実装に依存して、追加のブロックに分割されるか、より少ないブロックに組み合わされるか、または削除されてもよい。
【0119】
いくつかの実施形態では、方法700はブロック702で始まってもよい。ブロック702では、表形式データから列が抽出されてもよい。いくつかの実施形態では、表形式データは、任意の数の列に分離されうるデータセットを含みうる。列は、それぞれタイトルおよび/または値(一つまたは複数)を含む。
【0120】
ブロック704では、サンプル値が列から抽出されうる。いくつかの実施形態では、列は、そこからサンプル値が抽出されうる値を含みうる。たとえば、列は、1,500個の合計値を含んでいてもよく、それらの1,500個の値から、5個のサンプル値が抽出されてもよく、それらを使用して、5個のサンプル値のそれぞれについて1つの質問を合成してもよい。この例を続けると、5つのサンプル値はランダムに選択されてもよい。追加的または代替的に、5つのサンプル値はその列における5つの最も一般的な値であってもよい。さらに例を続けると、合成された質問が異なるサンプル値を含みうるように、選択された5つのサンプル値のそれぞれは異なるサンプル値を含みうる。この例を続けると、5つのサンプル質問は、それぞれ予測される測定単位を含みうる5つの回答を引き出すように起草されてもよい。さらにこの例を続けると、合成された5つの質問のそれぞれは、言語モデルに送られてもよい。言語モデルは、5つの質問に5つの対応する回答をもって回答するようにトレーニングされてもよい。それら5つの回答のそれぞれは、予測された測定単位を含みうる。
【0121】
ブロック706では、列タイトルが抽出されうる。いくつかの実施形態では各列はタイトルを有してもよい。各列からの各タイトルが抽出されうる。
【0122】
ブロック708では、列記述が利用可能でありうるかどうかに関する判定が行われうる。いくつかの実施形態では、データセット内の列のうちの一つまたは複数が、変数、タイトル、値、およびデータセット内の列の他の構成要素の意味に関する追加的情報を提供しうる、列記述を含んでいてもよい。列記述は、言語モデルのための質問が合成されるときに用いられうる追加的なコンテキストを提供しうる。列記述が利用可能である場合、方法700はブロック710に進んでもよい。列記述が利用可能でない場合、方法700はブロック712に進んでもよい。
【0123】
ブロック710において、列記述が利用可能であることに基づいて、列記述が質問の生成を容易にするために使用されうるように、列記述が抽出されうる。これらおよび他の実施形態において、列記述は、所与の列についてのコンテキストを提供しうる。たとえば、列は、略記されたタイトル「OveralQual」でありうるタイトルを含んでいてもよい。その列はさらに、列記述を含んでいてもよい。ここで、列記述は、たとえば、「OveralQual」が「Overall material and finish quality(全体的な材料および仕上げの質)」を記述しうることを説明する。例を続けると、列記述は、列内の短縮タイトル「OveralQual」についての説明等の追加的なコンテキストを含みうる質問を生成するために、方法700において使用されてもよい。いくつかの実施形態では、列記述は、前記ある数の質問を生成するために列内のタイトルの代わりに使用されてもよく、または、列内のタイトルと併せて使用されてもよい。
【0124】
ブロック712では、列名が略記されうるかどうかについての判定が行われうる。いくつかの実施形態では、列名は、効率、使用されるスペース等を含む多様な理由のために、データセット内で略記されてもよい。これらおよび他の実施形態において、列名が略記されうることが判定されてもよい。たとえば、列名は、「Garage Year Built」の短縮形でありうる「GrgeYrBlt」でありうる。列名が略記されている場合、方法700はブロック714に進んでもよい。列名が略記されていない場合、方法700はブロック716に進んでもよい。
【0125】
ブロック714では、列名が展開されてもよい。ブロック712において上記の例を使用するために、列名は「GrgeYrBlt」であってもよく、これは自動的に「Garage Year Built」に展開されてもよい。いくつかの実施形態では、展開された列名は、ブロック722において質問を生成するために使用されてもよく、ここで、展開された列名は、言語モデルが、関連付けられた列内の値についての予測された測定単位の基礎を提供しうる回答を生成する際に用いる追加的な情報および追加的なコンテキストを提供するために使用されてもよい。
【0126】
ブロック716では、もとの列名が使用されてもよい。いくつかの実施形態では、列名は、ブロック712で略記されていると判定されうるが、識別可能な展開された名を有さなくてもよく、そのような状況では、もとの列名が、ブロック722で質問を生成するために使用されてもよい。たとえば、列名は、短縮された列名でありうる「Xlt」でありうるが、短縮された列名の展開されたバージョンは容易に識別可能ではないことがある。その場合、「Xlt」は、ブロック722で質問を生成するために使用されうる。
【0127】
ブロック718では、機械学習タスク記述が識別されうる。いくつかの実施形態では、
図3~
図7に説明され、
図1、
図2、および
図10においてシステムとして図示される方法の結果として、追加的特徴をもつ改善されたデータセットが、タスクをより迅速に、効果的に、および/または効率的に完了するよう機械学習モデルをトレーニングするために使用されてもよい。いくつかの実施形態では、機械学習問題のタスクまたはターゲット記述は既知でありうる。これらおよび他の実施形態において、既知のタスクまたはターゲット記述が、既知のタスクを完了することを目標としうる予測された測定単位の回答を引き出すために起草された質問を生成するために使用されうる。たとえば、機械学習モデルのタスク記述は、「predict residential housing price(住宅価格を予測する)」であってもよく、データセット内の列名は「GarageArea」〔ガレージ面積〕であってもよい。この例をさらに続けると、生成された質問は、「to predict the residential housing price, what is the unit of GarageArea?(住宅価格を予測するために、GarageAreaの単位は何ですか)」のように、前記機械学習タスクをコンテキストとして含むことができる。いくつかの実施形態では、既知のタスク記述を使用した結果として提供される追加的コンテキストは、言語モデルが第1の列内の値についての測定単位を正確に予測する能力を高めることができる。
【0128】
ブロック720では、例示的な質問-回答対が生成されうる。いくつかの実施形態では、例示的な質問-回答対は、言語モデルがブロック722で生成された質問により容易かつ正確に回答することができうるように、言語モデルに例を提供するために生成されてもよい。いくつかの実施形態では、質問-回答対は、異なる単位を含んでいてもよい。いくつかの実施形態では、質問-回答対は同じ単位を含んでいてもよい。たとえば、生成される前記ある数の質問-回答対は、以下を含むことができる。
質問1: To predict telescope class, the fDist is 333.0607. What is the unit of fDist?(望遠鏡クラスを予測するために、fDistは333.0607です。fDistの単位は何ですか)
回答1: millimeter(ミリメートル)
質問2: To predict quake, the latitude is -32.98. What is the unit of latitude?(地震を予測するために、緯度は-32.98です。緯度の単位は何ですか)
回答2: degree(度)
質問3: To predict minerals, the Mohs hardness is 4.5. What is the unit of Mohs?(鉱物を予測するために、モース硬度は4.5です。モースの単位は何ですか)
回答3: ordinal scale(順序尺度)
いくつかの実施形態では、質問-回答対は、言語モデルが測定単位を予測するためのコンテキストを提供するために、ブロック722で生成された質問とともに言語モデルに送られてもよい。これらおよび他の実施形態では、質問-回答対は、言語モデルをトレーニングするために独立して使用されうる。追加的または代替的に、質問-回答対は、言語モデルがより正確かつ効率的に測定単位を予測しうるように、言語モデルを微調整するために使用されうる。これらおよび他の実施形態において、質問-回答対は、ブロック722で生成された質問と同じスタイルおよび/または同様のフォーマットで生成されてもよい。いくつかの実施形態では、質問-回答対は、既知の質問および既知の正解を用いて、ユーザー(データ科学者またはコンピュータプログラマー等)によって準備された既知の質問-回答対を含んでいてもよい。
【0129】
ブロック722では、質問が生成されうる。いくつかの実施形態では、生成される質問は、ブロック704で抽出された列サンプル値、ブロック710での列記述、ブロック714での展開された列名、ブロック716でのもとの列名、ブロック718での機械学習タスク記述、およびブロック720で生成された質問-回答対のうちの一つまたは複数に基づいて生成されうる。
【0130】
たとえば、生成される質問は、以下のような形式で言語モデルに送るために生成されてもよい:
[question-answer example(s)]. To predict [machine learning task description], [the column description or the expanded column name or the original column name] is [sample value]. What is the unit of [the column description or the expanded column name or the original column name]?
([質問-回答例]。[機械学習タスク記述]を予測するために、[列記述または展開された列名またはもとの列名]は[サンプル値]です。[列記述または展開された列名またはもとの列名]の単位は何ですか)
または、例として、上記のテンプレートが記入されるとき:
To predict residential housing value, Basement Square Feet is 1,005. What is the unit of Basement Square Feet?
(住宅価値を予測するために、地下室平方フィートは1,005です。地下室平方フィートの単位は何ですか)
【0131】
ブロック724では、言語モデルに送るための質問を生成するために使用される方法700が終了しうる。
【0132】
本開示の範囲から逸脱することなく、方法700に対して修正、追加、または省略を行うことができる。たとえば、方法700の動作は、異なる順序で実装されうる。追加的または代替的に、2つ以上の動作が同時に実行されてもよい。さらに、概説された動作およびアクションは、例として提供されるにすぎず、動作およびアクションのいくつかは、説明される実施形態の本質から逸脱することなく、任意的であってもよく、より少数の動作およびアクションに組み合わされてもよく、または追加の動作およびアクションに拡張されてもよい。
【0133】
図8は、本開示に記載される少なくとも1つの実施形態による、多数決を介して予測される測定単位を決定する例示的な方法800のフローチャートを示す。方法800は、
図1の特徴エンジニアリング・システム100、
図2の単位類似性モジュール250、および
図2のシステム200に関する任意の適切なシステム、装置、またはデバイスによって実行されうる。たとえば、
図1の特徴エンジニアリング・システム100および
図2のシステム200である。方法800は、一つまたは複数のブロック810、820、830、840、850、860、および870を含みうる。別個のブロックで示されているが、方法800のブロックのうちの一つまたは複数に関連付けられたステップおよび動作は、具体的な実装に依存して、追加のブロックに分割されるか、より少ないブロックに組み合わされるか、または削除されてもよい。
【0134】
いくつかの実施形態では、方法800はブロック810で始まってもよい。ブロック810では、質問が合成されうる。いくつかの実施形態では、合成された質問は、方法700において(たとえば、ブロック722において)生成された質問と同じ質問であってもよい。いくつかの実施形態では、合成された質問は、列から抽出されたいくつかのサンプル値に基づいてもよい。これらおよび他の実施形態において、合成された質問は、言語モデルに送られるように構成されてもよく、言語モデルから回答を引き出すように起草されてもよく、言語モデルからの回答は、その列についての予測された測定単位を生成するために使用されてもよい。
【0135】
ブロック820では、言語モデルは、合成された質問を受領するように構成されうる。いくつかの実施形態では、言語モデルは合成された質問のそれぞれに回答するように構成されてもよい。ここで、合成された質問のそれぞれに対する回答は、測定単位を含んでいてもよい。いくつかの実施形態では、データセットは列を含んでいてもよく、各列における値についての測定単位を予測するために各列について質問が合成されてもよい。これらおよび他の実施形態において、言語モデルは、
図5において上記で説明および図示されるような言語モデルを含んでいてもよい。
【0136】
ブロック830では、言語モデルから回答が受領されてもよい。いくつかの実施形態では、各質問は、測定単位を含む回答を引き出すように起草されてもよい。
【0137】
ブロック840では、十分な質問が言語モデルによって回答されたかどうかに関する判定が行われうる。いくつかの実施形態では、回答された質問の数が十分であるかどうかは、質問の閾値数に基づいていてもよい。いくつかの実施形態では、質問の閾値数は、第1の列内の値の数に基づいていてもよい。いくつかの実施形態では、質問の閾値数は、言語モデルの決定された有効性に基づいていてもよい。たとえば、言語モデルが50%の割合で正しい予測された測定単位を含む回答を提供することが証明されている場合、質問の閾値数は、80%の割合で正しい予測された測定単位を含む回答を提供することが証明されている言語モデルよりも多くてもよい。いくつかの実施形態では、質問の閾値数は、予測される測定単位を決定する多数決方法を使用することに基づいて決定されてもよい。いくつかの実施形態では、言語モデルは、(たとえば、異なるサンプル値をもつ質問について)いくつかの異なる回答を提供してもよく、予測される測定単位は、言語モデルから与えられるいくつかの回答の多数決合意に基づいて選択されてもよい。いくつかの実施形態では、最良の回答を達成するための回答の数が事前定義されてもよい。いくつかの実施形態では、最良の回答を達成するための回答の事前定義された数は、合成され、言語モデルによって回答されうる質問の対応する数を示してもよい。限定ではなく例として、最良の回答を達成するための事前定義された回答数は3であってもよい。例を続けると、合成され、言語モデルによって回答されうる質問の対応する数は、3~5個の質問でありうる。十分な質問が処理された場合、方法800はブロック860に進んでもよい。そうでない場合、方法800はブロック850に進んでもよい。
【0138】
ブロック850では、言語モデルに送るために追加的な質問が合成されうる。これらおよび他の実施形態において、合成される追加的な質問は、言語モデルに送られた可能性がある質問を合成するためにすでに使用された可能性があるサンプル値とは異なるサンプル値を使用して合成されてもよい。たとえば、第1の列からの第1のサンプル値に基づいて合成された第1の質問と、第1の列からの第2のサンプル値に基づいて合成された第2の質問とが、言語モデルにすでに送られていてもよい。この例をさらに続けると、追加的な質問が合成されてもよく、追加的な質問は、第1の列からの第3のサンプル値に基づいて生成されうる。
【0139】
ブロック860では、多数決方法を通じて最良の回答が提供されたかどうかに関して判定がなされてもよい。いくつかの実施形態では、言語モデルによって提供される回答の過半数が一致する場合に、多数決方法を通じて最良の回答が提供されうる。たとえば、合成された質問の1つは“what is the unit of measurement for Price per Square Foot?”(平方フィート当たりの価格についての測定単位は何か)であってもよい。例を続けると、3つの回答、すなわち、「dollar(ドル)」、「square feet(平方フィート)」、および「dollar」が言語モデルによって提供されうる。過半数の回答(たとえば、「dollar」)が存在するので、十分な質問が言語モデルによって回答されている可能性がある。別の例として、5つの回答が言語モデルによって提供されてもよく、5つの回答のうちの3つの回答が、予測された測定単位として「dollars」を含んでいてもよい。この例を続けると、「dollars」が過半数の回答でありうるので、多数決方法を通じて最良の回答が提供されたという肯定で判定がなされうる。最良の回答がある場合、方法800はブロック870に進んでもよい。最良の回答がない場合、方法800はブロック850に進んで、追加的な質問を合成することができる。
【0140】
ブロック870では、最良の回答は、多数決方法に基づいて決定されうる。上記のブロック840、850、および860において説明および例示されるように、言語モデルは、質問に対応するいくつかの回答がありうるように、合成された前記ある数の質問のそれぞれに回答を提供してもよい。いくつかの実施形態では、言語モデルによって提供される回答の過半数が同じであってもよく、その場合、予測される測定単位についての回答は、言語モデルによって提供される過半数の回答であってもよい。
【0141】
本開示の範囲から逸脱することなく、方法800に対して修正、追加、または省略を行うことができる。たとえば、方法800の動作は、異なる順序で実装されうる。追加的または代替的に、2つ以上の動作が同時に実行されてもよい。さらに、概説された動作およびアクションは、例として提供されるにすぎず、動作およびアクションのいくつかは、説明される実施形態の本質から逸脱することなく、任意的であってもよく、より少数の動作およびアクションに組み合わされてもよく、または追加の動作およびアクションに展開されてもよい。
【0142】
図9は、本開示において記載される少なくとも1つの実施形態による、データセットに追加する新しい値を有する新しい列を生成する例示的な方法900のフローチャートを示す。方法900は、
図1の特徴エンジニアリング・システム100、
図2のクラスター・モジュール260、および
図2のシステム200に関する任意の適切なシステム、装置、またはデバイスによって実行されうる。たとえば、
図1の特徴エンジニアリング・システム100および
図2のシステム200である。方法900は、一つまたは複数のブロック910、920、930、940、および950を含みうる。別個のブロックで示されているが、方法900のブロックのうちの一つまたは複数に関連付けられたステップおよび動作は、追加のブロックに分割されてもよい。
【0143】
いくつかの実施形態では、方法900はブロック910で始まってもよい。ブロック910において、列を有しうるデータセットが取得されてもよく、各列は各列においてタイトルおよび値(複数可)を含みうる。
【0144】
ブロック920では、列の対の間の総合類似性値が決定されうる。いくつかの実施形態では、列は列の対ごとに比較されてもよい。ここで、各列がデータセット中の他の列のそれぞれと比較されうる。いくつかの実施形態では、データセット内の列がデータセット内の別の列と比較されて、その列の対の間の総合類似性値を決定することができる。いくつかの実施形態では、総合類似性値は、メタデータ類似性値、意味的類似性値、および単位類似性値のうちの少なくとも1つに基づくことができる。追加的または代替的に、総合類似性値は前記メタデータ類似性値、前記意味的類似性値、および前記単位類似性値の3つすべてに基づいていてもよい。いくつかの実施形態では、メタデータ類似性値は、
図2、
図3A、および/または
図3Bに図示および説明されるように、決定および取得されてもよい。これらおよび他の実施形態において、意味的類似性値は、
図2および/または
図4に図示および説明されるように決定および取得されてもよい。追加的または代替的に、単位類似性値は、
図2および/または
図5~
図8に図示および説明されるように決定および取得されてもよい。いくつかの実施形態では、総合類似性値は前記メタデータ類似性値、前記意味的類似性値、および前記単位類似性値のそれぞれを足し合わせることによって決定されてもよい。たとえば、メタデータ類似性値は0.25であってもよく、意味的類似性値は1.0であってもよく、単位類似性値は0.75であってもよく、よって総合類似性値は2.0でありうる。追加的または代替的に、総合類似性値は、加重平均または任意の他の組み合わせ技法を使用して、それぞれの類似性値を平均化することを含みうる。
【0145】
ブロック930において、列は、総合類似性値に基づいてクラスターに追加されうる。いくつかの実施形態では、各列は、データセットにおける列の各対の間の総合類似性値に基づいて、クラスターに追加されてもよい。追加的または代替的に、ひとたびデータセットにおける列の各対について総合類似性値が決定できたら、閾値類似性値に基づいて各列がクラスターに追加されてもよい。たとえば、第1の列と第2の列との間の総合類似性値は、上記のように2.0であってもよく、閾値類似性値は3.0であってもよい。さらにこの例を続けると、2.0は3.0未満でありうるので、第1の列および第2の列がクラスターに追加されうる。追加的または代替的に、閾値類似性値は、データセットにおけるすべての列の間のn番目に小さい距離に基づいてもよい。いくつかの実施形態では、列は、データセットにおける他の列の間のn番目に小さい距離に基づいてクラスタリングされてもよい。ここで、「n」は値の任意の数でありうる。追加的または代替的に、データセット内の列は、K平均クラスタリング法またはK最近傍クラスタリング法を使ってクラスタリングされてもよい。ここで、Kは値の任意の数(たとえば、1、2、3など)でありうる。追加的または代替的に、列は、任意の数の異なるクラスタリング方法を使用してクラスタリングされてもよく、列は、列間の総合類似性値に基づいてクラスタリングされてもよい。
【0146】
ブロック940では、特徴エンジニアリング機能を使用して新しい列が生成されてもよい。いくつかの実施形態では、新しい列はクラスターに追加されてもよい。いくつかの実施形態では、第1のクラスターは、第1の列内の第1の値と、第2の列内の第2の値とを含みうる。特徴エンジニアリング機能は、少なくとも第1の値に対して数学的演算を実行することによって、新しい列内の新しい値を生成しうる。いくつかの実施形態では、特徴エンジニアリング機能は、第1の列内の値と、第2の列内の値の両方に対して数学的演算を実行することによって新しい値を生成してもよい。たとえば、特徴エンジニアリング機能は、加算、減算、除算、乗算してもよく、または第1の列の値および/または第2の列の値を使用して新しい列の新しい値を作成することができる任意の他の数学的関数を使用してもよい。たとえば、第1の列の値は「finished household square feet」を示してもよく、第2の列の値は「unfinished household square feet」を示してもよい。この例を続けると、第1の列は、第2の列と一緒にクラスタリングされてもよく、特徴エンジニアリング機能は、「total household square feet(総世帯平方フィート)」の新しい列における新しい値を作成してもよい。この例では、特徴エンジニアリング機能は、第1の列の値を第2の列の値に加算することによって、新しい値を生成できる。この例を続けると、新しい列は、次いで、第1の列および第2の列と一緒にクラスタリングされうる。
【0147】
ブロック950では、新しい列がデータセットに追加されてもよい。いくつかの実施形態では、データセットは、機械学習システムをトレーニングするために使用されてもよい。追加的または代替的に、新しい列を含むデータセットは、いくつかの機械学習システムがトレーニングされうる機械学習パイプラインにおいて使用されてもよい。
【0148】
本開示の範囲から逸脱することなく、方法900に対して修正、追加、または省略を行うことができる。たとえば、方法900の動作は、異なる順序で実装されうる。追加的または代替的に、2つ以上の動作が同時に実行されてもよい。さらに、概説された動作およびアクションは、例として提供されるにすぎず、動作およびアクションのいくつかは、説明される実施形態の本質から逸脱することなく、任意的であってもよく、より少数の動作およびアクションに組み合わされてもよく、または追加の動作およびアクションに展開されてもよい。
【0149】
図10は、本開示に記載される少なくとも1つの実施形態による例示的なコンピューティング・システム1002のブロック図を示す。コンピューティング・システム1002は、本開示で説明される一つまたは複数の適切な動作を実装または指揮するように構成されうる。たとえば、コンピューティング・システム1002は、上記開示のさまざまな要素(たとえば、特徴エンジニアリング・システム120、機械学習システム140、および特徴エンジニアリング・システム260、または開示された実施形態における一つまたは複数の動作またはアクションを実行することができる他のシステム)において使用されうる。いくつかの実施形態では、コンピューティング・システム1002は、新しいデータセットのための新しい列を生成することに関連する動作を制御するために使用されうる。これらおよび他の実施形態では、コンピューティング・システム1002は、新しいデータセットを使用して機械学習モデルをトレーニングするために使用されうる。コンピューティング・システム1002は、プロセッサ1050、メモリ1052、およびデータストレージ1054を含むことができる。プロセッサ1050、メモリ1052、およびデータストレージ1054は、通信可能に結合されうる。
【0150】
一般に、プロセッサ1050は、さまざまなコンピュータハードウェアまたはソフトウェアモジュールを含む任意の適切なコンピュータ、コンピューティングエンティティ、または処理デバイスを含むことができ、任意の適用可能なコンピュータ可読記憶媒体に記憶された命令を実行するように構成することができる。たとえば、プロセッサ1050は、マイクロプロセッサ、マイクロコントローラ、デジタル信号プロセッサ(DSP)、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)、またはプログラム命令を解釈および/もしくは実行するように、ならびに/またはデータを処理するように構成された任意の他のデジタルもしくはアナログ回路を含みうる。
図10では単一のプロセッサとして示されているが、プロセッサ1050は、本開示で説明される任意の数の動作を個別にまたは集合的に実行するかまたはその実行を指揮するように構成された任意の数のプロセッサを含みうる。加えて、プロセッサのうちの一つまたは複数は、異なるサーバー等の一つまたは複数の異なる電子デバイス上に存在してもよい。
【0151】
いくつかの実施形態では、プロセッサ1050は、プログラム命令を解釈および/もしくは実行し、ならびに/またはメモリ1052、データ記憶装置1054、もしくはメモリ1052およびデータ記憶装置1054に記憶されたデータを処理するように構成されうる。いくつかの実施形態では、プロセッサ1050は、データ記憶装置1054からプログラム命令をフェッチし、該プログラム命令をメモリ1052にロードしてもよい。プログラム命令がメモリ1052にロードされた後、プロセッサ1050はプログラム命令を実行することができる。
【0152】
メモリ1052およびデータ記憶装置1054は、コンピュータ実行可能命令またはデータ構造を担持または記憶するためのコンピュータ可読記憶媒体を含むことができる。限定ではなく例として、そのようなコンピュータ可読記憶媒体は、ランダムアクセスメモリ(RAM)、読み出し専用メモリ(ROM)、電気的に消去可能なプログラム可能な読み出し専用メモリ(EEPROM)、コンパクトディスク読み出し専用メモリ(CD-ROM)もしくは他の光ディスクストレージ、磁気ディスクストレージもしくは他の磁気ストレージデバイス、フラッシュメモリデバイス(たとえば、ソリッドステートメモリデバイス)、またはコンピュータ実行可能命令もしくはデータ構造の形態で特定のプログラムコードを記憶するために使用されることができ、汎用もしくは特殊目的コンピュータによってアクセスされうる任意の他の非一時的な記憶媒体を含む、有形または非一時的なコンピュータ可読記憶媒体を含むことができる。これらおよび他の実施形態において、本開示で説明される「非一時的」という用語は、連邦巡回区控訴裁判所判決In re Nuijten,500 F.3d 1346(Fed.Cir.2007)において特許を受けることができる主題の範囲外であるとされた一時的媒体のタイプのみを除外すると解釈されるべきである。
【0153】
上記の組み合わせも、コンピュータ可読記憶媒体の範囲内に含まれうる。コンピュータ実行可能命令は、たとえば、プロセッサ1050にある種の動作または動作のグループを実行させるように構成された命令およびデータを含みうる。
【0154】
本開示の範囲から逸脱することなく、コンピューティング・システム1002に対して修正、追加、または省略が行われてもよい。たとえば、いくつかの実施形態では、コンピューティング・システム1002は、明示的に図示または説明されていない場合がある任意の数の他の構成要素を含んでいてもよい。
【0155】
本開示で説明される実施形態は、コンピュータ実行可能命令またはデータ構造を担持または記憶するためのコンピュータ可読媒体を使用して実装されうる。そのようなコンピュータ可読媒体は、汎用または特殊目的のコンピュータによってアクセスされうる任意の利用可能な媒体でありうる。限定ではなく例として、そのようなコンピュータ可読媒体は、ランダムアクセスメモリ(RAM)、読み出し専用メモリ(ROM)、電気的に消去可能なプログラム可能読み出し専用メモリ(EEPROM)、コンパクトディスク読み出し専用メモリ(CD-ROM)または他の光ディスク記憶装置、磁気ディスク記憶装置または他の磁気記憶デバイス、フラッシュメモリデバイス(たとえば、ソリッドステートメモリデバイス)、あるいは所望コンピュータ実行可能命令またはデータ構造の形の、汎用または特殊目的のプロセッサによってアクセスされうる所望されるプログラムコードを担持または記憶するために使用されうる他の任意の記憶媒体を含みうる。上記の組み合わせも、コンピュータ可読媒体の範囲内に含まれうる。
【0156】
コンピュータ実行可能命令は、たとえば、汎用コンピュータ、特殊目的のコンピュータまたは特殊目的の処理デバイス(たとえば一つまたは複数のプロセッサ)にある種の機能または機能のグループを実行させる命令およびデータを含みうる。主題は、構造的特徴および/または方法論的工程に特有の言辞で説明されてきたが、添付の特許請求の範囲において定義される主題は、必ずしも上述した特定の特徴または工程に限定されるものではない。むしろ上述した特定の特徴および工程は、特許請求の範囲を実施する例示的な形として記載されている。
【0157】
本開示において使用される場合、本開示において、特に添付の特許請求の範囲(たとえば、添付の特許請求の範囲の本体)において使用される用語は、概して、「オープン」な用語として意図されている(たとえば、「含む」という用語は「含むが、これに限定されない」と解釈されるべきであり、「有する」とうい用語は「少なくとも…を有する」と解釈されるべきであり、「含んでいる」という用語は「含んでいるが、これに限定されない」として解釈されるべきである。
【0158】
加えて、導入される請求項記載の特定の数が意図される場合、そのような意図は、請求項において明示的に記載され、そのような記載がない場合、そのような意図は存在しない。たとえば、理解の助けとして、以下の添付の特許請求の範囲は、請求項記載を導入するために、導入句「少なくとも1つの」および「一つまたは複数の」の使用を含みうる。しかしながら、そのような句の使用は、不定冠詞「a」または「an」による請求項記載の導入が、そのような導入された請求項記載を含む任意のいずれかのそのような記載を一つのみ含む実施形態に限定することを含意するものと解釈されるべきではない。これはたとえ、同じ請求項が導入句「一つまたは複数の」または「少なくとも1つの」および「a」または「an」のような不定冠詞を含む場合でもいえる(たとえば、「a」および/または「an」は「少なくとも1つの」または「一つまたは複数の」を意味すると解釈されるべきである)。同じことは、請求項記載を導入するために使用される定冠詞の使用についても成り立つ。
【0159】
加えて、導入される請求項記載の特定の数が明示的に記載されている場合であっても、当業者は、そのような記載が少なくともその記載された数を意味するものと解釈されるべきであることを認識するであろう(たとえば、他の修飾語のない「2つの列挙」というだけの記載は少なくとも2つの記載または2つ以上の記載を意味する)。さらに、「A、B、およびCなどのうちの少なくとも1つ」または「A、B、およびCなどのうちの一つまたは複数」に類似する慣用表現が使用される場合、一般に、そのような構文は、Aのみ、Bのみ、Cのみ、AとB両方、AとC両方、BとC両方、またはAとBとCなどを含むことが意図される。
【0160】
さらに、本稿、特許請求の範囲、または図面のいずれにおいても、2つ以上の代替的な用語を提示する任意の選言的な単語または句は、それらの用語のうちの1つ、それらの用語のいずれか、または両方の用語を含む可能性を考えていることが理解される。たとえば、句「AまたはB」は「A」または「B」または「AおよびB」の可能性を含むと理解される。
【0161】
本開示に記載される例および条件付きの言辞は、読者が本開示および発明者によって当該技術の進歩に寄与される概念を理解するのを助ける教育的目的のために意図されており、そのように具体的に記載された例および条件に限定することなく解釈されるべきである。本開示の実施形態を詳細に説明してきたが、本開示の趣旨および範囲から逸脱することなく、これに対してさまざまな変更、置換、および改変を行うことができる。
【0162】
以上の実施例を含む実施形態に関し、さらに以下の付記を開示する。
(付記1)
少なくとも第1の列および第2の列を含むデータセットを取得する段階であって、前記第1の列は、第1のタイトルおよび第1の値を含み、前記第2の列は、第2のタイトルおよび第2の値を含む、段階と;
メタデータ類似性値、意味的類似性値、および測定単位類似性値のうちの少なくとも1つに基づいて、前記第1の列と前記第2の列との間の総合類似性値を決定する段階と;
前記総合類似性値が閾値未満である場合、前記第1の列および前記第2の列をクラスターに追加する段階と;
特徴エンジニアリング機能を使用して、前記クラスターに追加するための新しい列を生成する段階であって、前記新しい列は、新しいタイトルおよび新しい値を含み、前記新しい値は、前記第1の列の前記第1の値および前記第2の列の前記第2の値のうちの少なくとも1つに作用することによって、前記特徴エンジニアリング機能を使用して決定される、段階と;
前記新しい列を前記データセットに追加する段階とを含む、
方法。
(付記2)
追加された新しい列を有する前記データセットは、前記新しい列のない所与のデータセットに対して作用する第2の機械学習モデルの予測精度と比較して、第1の機械学習モデルにおける予測精度を改善するように設計される、付記1に記載の方法。
(付記3)
前記メタデータ類似性値は:
前記第1の列からメタデータの第1の集合を抽出し、前記第2の列からメタデータの第2の集合を抽出する段階と;
メタデータの前記第1の集合からの第1のデータ・タイプとメタデータの前記第2の集合からの第2のデータ・タイプとが等価であるかどうかを判定する段階と;
前記第1のデータ・タイプと前記第2のデータ・タイプが等価であることに基づいて、前記第1の値の集合からの第1のデータ分布および前記第2の値の集合からの第2のデータ分布からデータ類似性値を決定する段階であって、前記第1のデータ分布および前記第2のデータ分布は、分散、標準偏差、平均、モード、データの分布、データの形状、相関、確率、共分散、歪度、最小および最大のうちの少なくとも1つを含む、段階と;
前記第1のデータ分布および前記第2のデータ分布に基づいて前記メタデータ類似性値を生成する段階とを実行することによって決定される、
付記1に記載の方法。
(付記4)
前記意味的類似性値は:
前記第1のタイトルを、前記第1のタイトルにおける第1の単語を表す第1の値を含む第1のベクトルに変換し、前記第2のタイトルを、前記第2のタイトルにおける第2の単語を表す第2の値を含む第2のベクトルに変換する段階と;
類似性関数を使用して前記第1のベクトルと前記第2のベクトルとの間の距離を決定する段階と;
前記第1のベクトルと前記第2のベクトルとの間の前記距離に基づいて前記意味的類似性値を生成する段階とを実行することによって決定される、
付記1に記載の方法。
(付記5)
前記意味的類似性値は、前記第1の列における前記第1の値についての第1の測定単位と、前記第2の列における前記第2の値についての第2の測定単位とにさらに基づいて生成される、付記4に記載の方法。
(付記6)
前記測定単位類似性値は:
言語モデルを使用して、前記第1の値についての第1の測定単位および前記第2の値についての第2の測定単位を予測する段階と;
前記第1の測定単位を第1の単位測定ベクトルに変換し、前記第2の測定単位を第2の単位測定ベクトルに変換する段階と;
前記第1の単位測定ベクトルと前記第2の単位測定ベクトルとの間の距離を決定する段階と;
前記第1の単位測定ベクトルと前記第2の単位測定ベクトルとの間の前記距離に基づいて、前記測定単位類似性値を生成する段階とを実行することによって決定される、
付記1に記載の方法。
(付記7)
前記新しい値は、前記第1の値および前記第2の値を使用して前記特徴エンジニアリング機能に関連付けられた数学的演算を実行することによって生成される、付記1に記載の方法。
(付記8)
前記総合類似性値は、前記メタデータ類似性値、前記意味的類似性値、および前記測定単位類似性値のそれぞれを加算することによって決定される、付記1に記載の方法。
(付記9)
第3の列を含むデータセットを取得する段階であって、前記第3の列は第3のタイトルおよび第3の値を含む、段階と;
第2のメタデータ類似性値、第2の意味的類似性値、および第2の測定単位類似性値のうちの少なくとも1つに基づいて、前記第3の列と前記第1の列および前記第2の列のうちの1つとの間の第3の類似性値を決定する段階と;
前記総合類似性値が前記閾値未満である場合、前記第3の列を前記クラスターに追加する段階と;
前記特徴エンジニアリング機能を使用して前記クラスターに追加するための第2の新しい列を生成する段階であって、前記第2の新しい列は、第2の新しいタイトルおよび第2の新しい値を含み、前記第2の新しい値は、前記第3の列の前記第3の値、前記第2の列の前記第2の値、および前記第1の列の前記第1の値のうちの少なくとも1つに作用することによって前記特徴エンジニアリング機能を使用して決定される、段階と;
前記第2の新しい列を前記データセットに追加する段階とをさらに含む、
付記1に記載の方法。
(付記10)
実行されることに応答して、システムに動作を実行させる命令を記憶するように構成された一つまたは複数の非一時的なコンピュータ可読記憶媒体であって、前記動作が:
少なくとも第1の列および第2の列を含むデータセットを取得する段階であって、前記第1の列は、第1のタイトルおよび第1の値を含み、前記第2の列は、第2のタイトルおよび第2の値を含む、段階と;
メタデータ類似性値、意味的類似性値、および測定単位類似性値のうちの少なくとも1つに基づいて、前記第1の列と前記第2の列との間の総合類似性値を決定する段階と;
前記総合類似性値が閾値未満である場合、前記第1の列および前記第2の列をクラスターに追加する段階と;
特徴エンジニアリング機能を使用して、前記クラスターに追加するための新しい列を生成する段階であって、前記新しい列は、新しいタイトルおよび新しい値を含み、前記新しい値は、前記第1の列の前記第1の値および前記第2の列の前記第2の値のうちの少なくとも1つに作用することによって、前記特徴エンジニアリング機能を使用して決定される、段階と;
前記新しい列を前記データセットに追加する段階とを含む、
一つまたは複数の非一時的なコンピュータ可読記憶媒体。
(付記11)
追加された新しい列を有する前記データセットは、前記新しい列のない所与のデータセットに対して作用する第2の機械学習モデルの予測精度と比較して、第1の機械学習モデルにおける予測精度を改善するように設計される、付記10に記載の一つまたは複数の非一時的なコンピュータ可読記憶媒体。
(付記12)
前記メタデータ類似性値は:
前記第1の列からメタデータの第1の集合を抽出し、前記第2の列からメタデータの第2の集合を抽出する段階と;
メタデータの前記第1の集合からの第1のデータ・タイプとメタデータの前記第2の集合からの第2のデータ・タイプとが等価であるかどうかを判定する段階と;
前記第1のデータ・タイプと前記第2のデータ・タイプが等価であることに基づいて、前記第1の値の集合からの第1のデータ分布および前記第2の値の集合からの第2のデータ分布からデータ類似性値を決定する段階であって、前記第1のデータ分布および前記第2のデータ分布は、分散、標準偏差、平均、モード、データの分布、データの形状、相関、確率、共分散、歪度、最小および最大のうちの少なくとも1つを含む、段階と;
前記第1のデータ分布および前記第2のデータ分布に基づいて前記メタデータ類似性値を生成する段階とを実行することによって決定される、
付記10に記載の一つまたは複数の非一時的なコンピュータ可読記憶媒体。
(付記13)
前記意味的類似性値は:
前記第1のタイトルを、前記第1のタイトルにおける第1の単語を表す第1の値を含む第1のベクトルに変換し、前記第2のタイトルを、前記第2のタイトルにおける第2の単語を表す第2の値を含む第2のベクトルに変換する段階と;
類似性関数を使用して前記第1のベクトルと前記第2のベクトルとの間の距離を決定する段階と;
前記第1のベクトルと前記第2のベクトルとの間の前記距離に基づいて前記意味的類似性値を生成する段階とを実行することによって決定される、
付記10に記載の一つまたは複数の非一時的なコンピュータ可読記憶媒体。
(付記14)
前記測定単位類似性値は:
言語モデルを使用して、前記第1の値についての第1の測定単位および前記第2の値についての第2の測定単位を予測する段階と;
前記第1の測定単位を第1の単位測定ベクトルに変換し、前記第2の測定単位を第2の単位測定ベクトルに変換する段階と;
前記第1の単位測定ベクトルと前記第2の単位測定ベクトルとの間の距離を決定する段階と;
前記第1の単位測定ベクトルと前記第2の単位測定ベクトルとの間の前記距離に基づいて、前記測定単位類似性値を生成する段階とを実行することによって決定される、
付記10に記載の一つまたは複数の非一時的なコンピュータ可読記憶媒体。
(付記15)
前記新しい値は、前記第1の値および前記第2の値を使用して前記特徴エンジニアリング機能に関連付けられた数学的演算を実行することによって生成される、付記10に記載の一つまたは複数の非一時的なコンピュータ可読記憶媒体。
(付記16)
システムであって:
一つまたは複数のプロセッサと;
実行されることに応答して、当該システムに動作を実行させる命令を記憶するように構成された一つまたは複数の非一時的なコンピュータ可読記憶媒体とを有しており、前記動作が:
少なくとも第1の列および第2の列を含むデータセットを取得する段階であって、前記第1の列は、第1のタイトルおよび第1の値を含み、前記第2の列は、第2のタイトルおよび第2の値を含む、段階と;
メタデータ類似性値、意味的類似性値、および測定単位類似性値のうちの少なくとも1つに基づいて、前記第1の列と前記第2の列との間の総合類似性値を決定する段階と;
前記総合類似性値が閾値未満である場合、前記第1の列および前記第2の列をクラスターに追加する段階と;
特徴エンジニアリング機能を使用して、前記クラスターに追加するための新しい列を生成する段階であって、前記新しい列は、新しいタイトルおよび新しい値を含み、前記新しい値は、前記第1の列の前記第1の値および前記第2の列の前記第2の値のうちの少なくとも1つに作用することによって、前記特徴エンジニアリング機能を使用して決定される、段階と;
前記新しい列を前記データセットに追加する段階とを含む、
システム。
(付記17)
追加された新しい列を有する前記データセットは、前記新しい列のない所与のデータセットに対して作用する第2の機械学習モデルの予測精度と比較して、第1の機械学習モデルにおける予測精度を改善するように設計される、付記16に記載のシステム。
(付記18)
前記メタデータ類似性値は:
前記第1の列からメタデータの第1の集合を抽出し、前記第2の列からメタデータの第2の集合を抽出する段階と;
メタデータの前記第1の集合からの第1のデータ・タイプとメタデータの前記第2の集合からの第2のデータ・タイプとが等価であるかどうかを判定する段階と;
前記第1のデータ・タイプと前記第2のデータ・タイプが等価であることに基づいて、前記第1の値の集合からの第1のデータ分布および前記第2の値の集合からの第2のデータ分布からデータ類似性値を決定する段階であって、前記第1のデータ分布および前記第2のデータ分布は、分散、標準偏差、平均、モード、データの分布、データの形状、相関、確率、共分散、歪度、最小および最大のうちの少なくとも1つを含む、段階と;
前記第1のデータ分布および前記第2のデータ分布に基づいて前記メタデータ類似性値を生成する段階とを実行することによって決定される、
付記16に記載のシステム。
(付記19)
前記意味的類似性値は:
前記第1のタイトルを、前記第1のタイトルにおける第1の単語を表す第1の値を含む第1のベクトルに変換し、前記第2のタイトルを、前記第2のタイトルにおける第2の単語を表す第2の値を含む第2のベクトルに変換する段階と;
類似性関数を使用して前記第1のベクトルと前記第2のベクトルとの間の距離を決定する段階と;
前記第1のベクトルと前記第2のベクトルとの間の前記距離に基づいて前記意味的類似性値を生成する段階とを実行することによって決定される、
付記16に記載のシステム。
(付記20)
前記測定単位類似性値は:
言語モデルを使用して、前記第1の値についての第1の測定単位および前記第2の値についての第2の測定単位を予測する段階と;
前記第1の測定単位を第1の単位測定ベクトルに変換し、前記第2の測定単位を第2の単位測定ベクトルに変換する段階と;
前記第1の単位測定ベクトルと前記第2の単位測定ベクトルとの間の距離を決定する段階と;
前記第1の単位測定ベクトルと前記第2の単位測定ベクトルとの間の前記距離に基づいて、前記測定単位類似性値を生成する段階とを実行することによって決定される、
付記16に記載のシステム。
【符号の説明】
【0163】
100 特徴エンジニアリング機能(自動化されたカスタム特徴エンジニアリングなど)を利用することができるシステム
110 データセット
120 特徴エンジニアリング・システム
130 新しいデータセット
140 機械学習システム
302 表形式データから列を選択
304 データ・タイプを抽出
306 データ分布を計算
308 エンティティ・タイプを抽出
310 メタデータ情報を保存
312 さらなる列?
318 メタデータをもつ表形式のデータから第1の列を選択
320 メタデータをもつ表形式のデータから第2の列を選択
322 データ・タイプ1がデータ・タイプ2と等価?
326 閾値数より大きい類似性値を割り当て
324 データ分布1がデータ分布2と等価?
328 メタデータ類似性値を計算
330 メタデータ類似性値を保存
332 さらなる列?
334 メタデータ類似性値をシステムに送るか関数で使用
410 データセットから2つの列を選択
420 第1の列からの第1のタイトルと第2の列からの第2のタイトルを抽出
430 第1のタイトルを第1のベクトルに、第2のタイトルを第2のベクトルに変換
440 第1のベクトルと第2のベクトルの間の距離を計算
450 計算された距離に基づいて意味的類似性値を決定
460 類似?
480 意味的類似性値を保存
470 さらなる列対?
510 タイトルおよび値をもつ列をもつデータセットを取得
520 所与の列についての値からのサンプル値とタイトルを抽出
530 タイトルとサンプル値に基づいて所与の列についての質問を合成
540 質問を言語モデルに送って回答を得る
550 回答に基づいて所与の列についての予測された測定単位を生成
602 表形式データからの第1の列
604 表形式データからの第2の列
606 プロンプトを生成
608 単位予測のための特徴をマスク
610 列1と列2についての単位を予測
612 単位類似性値を保存
614 データセットに他の列対あり?
616 終了
702 表形式データの列
704 列サンプル値
706 列タイトルを抽出
708 列記述が利用可能?
710 列記述
712 列名が略記?
714 展開された列名
716 もとの列名
718 機械学習タスク記述
720 例となる質問と回答の対
722 質問を生成
724 終了
810 合成された質問
820 言語モデル
830 言語モデルから回答を受領
840 閾値に基づいて十分な質問を処理した?
860 多数決を通じて最良の回答?
870 多数決から予測された測定単位への回答を取得
850 所与の列についての追加的な質問を合成
910 タイトルおよび値をもつ列をもつデータセットを取得
920 列の対間の総合類似性値を決定
930 総合類似性値に基づいて列をクラスターに追加
940 特徴エンジニアリング機能を使ってクラスターに追加すべき新しい列を生成
950 新しい列をデータセットに追加
960 新しい列を含むデータセットを、機械学習システムをトレーニングするために使用
1002 コンピューティング・システム
1050 プロセッサ
1052 メモリ
1054 データ記憶