文字列類似度 − トップN成分は、文字列類似度を計算し、マッピングテーブルに最も一致するトップNデータレコードを得るために使用される。 このトピックでは、Platform for AI (PAI) でString Similarity - top Nコンポーネントを設定する方法について説明します。
コンポーネントの設定
次のいずれかの方法を使用して、String Similarity - top Nコンポーネントを設定できます。
方法1: PAIコンソールでコンポーネントを設定する
Machine Learning DesignerでString Similarity - top Nコンポーネントのパラメーターを設定できます。 下表に、各パラメーターを説明します。
タブ | パラメーター | 説明 |
フィールド設定 | 出力テーブルに追加された入力テーブルの列 | 入力テーブルから出力テーブルに追加する列の名前。 |
出力テーブルに追加されたマッピングテーブルの列 | マッピングテーブルから出力テーブルに追加する列の名前。 | |
類似度計算のための左テーブルからの列 | 類似度の計算に使用される左テーブルの列の名前。 | |
類似性計算のためのマッピングテーブルの列 | 類似度の計算に使用されるマッピングテーブルの列の名前。 左側のテーブルの行とマッピングテーブルのすべての文字列の類似度が計算され、上位N個の結果が返されます。 | |
出力テーブルの類似度列 | 出力テーブルの類似度列の名前。 名前の長さは最大128文字で、英数字、およびアンダースコア (_) のみを使用できます。 先頭は英字とする必要があります。 デフォルト値: output。 | |
パラメーター設定 | 最后の类似性の最大値の数 | 上位N個の類似性値の数。 値は正の整数でなければなりません。 デフォルト値は 10 です。 |
類似度の計算方法 | 類似度の計算に使用されるメソッド。 有効な値:
| |
サブ文字列の長さ | このパラメーターは、Similarity Calculation Methodsパラメーターをssk、cosine、またはsimhash_hamming_simに設定した場合にのみ必要です。 有効値: (0,100) デフォルト値:2 | |
マッチング文字列の重み | このパラメーターは、methodパラメーターをssk、cosine、またはsimhash_hamming_simに設定した場合にのみ必要です。 値の範囲: (0,1) デフォルト値: 0.5 | |
チューニング | コンピューティングコア数 | コンピューティングコアの数。 デフォルトでは、システムが値を決定します。 |
コアあたりのメモリサイズ (MB) | 各コアのメモリサイズ。 デフォルトでは、システムが値を決定します。 |
方法2: PAIコマンドを使用してコンポーネントを構成する
PAIコマンドで使用されるパラメーターを次の表に示します。 SQLスクリプトコンポーネントを使用してPAIコマンドを実行できます。 詳細については、「SQLスクリプト」をご参照ください。
PAI -name string_similarity_topn
-project algo_public
-DinputTableName="pai_test_string_similarity_topn"
-DoutputTableName="pai_test_string_similarity_topn_output"
-DmapTableName="pai_test_string_similarity_map_topn"
-DinputSelectedColName="col0"
-DmapSelectedColName="col1";
パラメーター | 必須 | 説明 | デフォルト値 |
inputTableName | 可 | 入力テーブルの名前。 | N/A |
mapTableName | 可 | マッピングテーブルの名前。 | N/A |
可 | 出力テーブルの名前。 | N/A | |
inputSelectedColName1 | 不可 | 類似度の計算に使用される左側のテーブル列の名前。 | 左側のテーブルの最初のSTRING列の名前 |
inputSelectedColName2 | 不可 | 類似度の計算に使用されるマッピングテーブルの列の名前。 | マッピングテーブルの最初のSTRING列の名前 |
inputAppendColNames | 不可 | 入力テーブルから出力テーブルに追加する列の名前。 | N/A |
inputAppendRenameColNames | 不可 | 入力テーブルから出力テーブルに追加する列のエイリアス。 | N/A |
mapSelectedColName | 可 | 類似度の計算に使用されるマッピングテーブルの列の名前。 | N/A |
mapAppendColNames | 不可 | マッピングテーブルから出力テーブルに追加する列の名前。 | N/A |
mapAppendRenameColNames | 不可 | マッピングテーブルから出力テーブルに追加する列のエイリアス。 | N/A |
inputTablePartitions | 不可 | 入力テーブルのパーティションの名前。 | すべてのパーティション |
mapTablePartitions | 不可 | マッピングテーブル内のパーティションの名前。 | すべてのパーティション |
outputColName | 不可 | 出力テーブルの類似度列の名前。 名前の長さは最大128文字で、英数字、およびアンダースコア (_) のみを使用できます。 先頭は英字とする必要があります。 | アウトプット |
メソッド | 不可 | 類似度の計算に使用されるメソッド。 有効な値:
| levenshtein_sim |
ラムダ | 不可 | このパラメーターは、methodパラメーターをssk、cosine、またはsimhash_hamming_simに設定した場合にのみ必要です。 値の範囲: (0,1) | 0.5 |
k | 不可 | このパラメーターは、methodパラメーターをssk、cosine、またはsimhash_hamming_simに設定した場合にのみ必要です。 有効値: (0,100) | 2 |
ライフサイクル | 不可 | 出力テーブルのライフサイクル。 値は正の整数でなければなりません。 | N/A |
coreNum | 不可 | 使用されているコアの数。 | システムによって指定される |
memSizePerCore | 不可 | 各コアのメモリサイズ。 | システムによって指定される |
リソース使用量とコストの見積もり
String Similarity - top Nコンポーネントは、O(M × N) の時間複雑度を持つ複雑なアルゴリズムを使用します。ここで、Mはデータレコードの総数、Nは最適な文字列を見つけるデータレコードの数です。 サンプルの類似度は、M × N回のサンプルデータ間の距離を計算することによって測定される。 このアルゴリズムによって消費されるリソースの量は、MとNの積に比例する。
String Similarity - top Nコンポーネントを使用するには、4 GB〜64 GBの個別メモリを持つ最大1,000個のワーカーノードを申請できます。 必要なワーカーノードの数は、M × N/(1024 × 1024 × 32) の式を用いて計算される。 各ワーカーノードのメモリは、次の式を使用して計算されます。N/8 MB。 例: 1 CUが4 GBのメモリを提供する場合、このコンポーネントは最大16,000 CUを消費できます。これは、次の式を使用して計算されます。1000 × 64/4。 詳細については、「Designerの課金例 (旧Machine Learning Studio) 」をご参照ください。
関連ドキュメント
Machine Learning Designerの詳細については、「Machine Learning Designerの概要」をご参照ください。
String Similarityコンポーネントを使用して、情報検索、自然言語処理、バイオインフォマティクスなどの業界で文字列の類似度を計算できます。 このコンポーネントの使用方法の詳細については、「文字列の類似性」をご参照ください。