すべてのプロダクト
Search
ドキュメントセンター

Platform For AI:リコールのマッチングにFM-Embeddingを使用する

最終更新日:Jul 22, 2024

推奨シナリオでは、Machine Learning Designerが提供するFM-Embeddingソリューションを使用して、各ユーザーとアイテムの特徴ベクトルを取得できます。 次に、リコールモジュールを使用して、特徴ベクトルの積を取得できます。 このようにして、各ユーザーが各アイテムに割り当てる評価を予測できます。 このトピックでは、因数分解マシン (FM) および埋め込みアルゴリズムを使用して、ユーザーとアイテムの特徴ベクトルを生成する方法について説明します。

前提条件

背景情報

AIベースの推奨事項は、ソートとリコールの2つのモジュールに分かれています。 リコールモジュールは、特徴ベクトルを使用して、ユーザおよび推奨されるアイテムを表す。 ユーザの特徴ベクトルとアイテムの特徴ベクトルとの積は、アイテムに対するユーザの興味を示す。 このトピックで説明するパイプラインでは、実際の推奨データを使用します。 このパイプラインは、Machine Learning DesignerのプリセットFM-Embedding for Rec-Systemテンプレートから作成できます。 Machine Learning Designerが提供するコンポーネントをドラッグアンドドロップすることで、ユーザーとアイテムの特徴ベクトルをすばやく生成できます。

データセット

次の表に、データセットのフィールドを示します。

パラメーター

データ型

説明

userid

STRING

ユーザーの ID。

age

DOUBLE

ユーザーの年齢。

gender

STRING

ユーザーの性別。

itemid

STRING

アイテムのID。

price

DOUBLE

アイテムの価格。

size

DOUBLE

アイテムのサイズ。

label

DOUBLE

ユーザーがアイテムを購入したかどうかを示します。 有効な値:

  • 1.0: ユーザーがアイテムを購入しました。

  • 0.0: ユーザーがアイテムを購入していません。

次の図は、パイプラインで使用されるサンプルデータを示しています。 Raw data

手順

  1. Machine Learning Designerページに移動します。

    1. PAIコンソールにログインします。

    2. 左側のナビゲーションウィンドウで、[ワークスペース] をクリックします。 [ワークスペース] ページで、管理するワークスペースの名前をクリックします。

    3. ワークスペースページの左側のナビゲーションウィンドウで、モデル开発とトレーニング > ビジュアルモデリング (デザイナー)機械学習デザイナーページに移動します。

  2. パイプラインを作成します。

    1. Visualized Modeling (Designer) ページで、プリセットテンプレートタブをクリックします。

    2. [プリセットテンプレート] タブで、[FM-Embedding for Rec-System] テンプレートを見つけ、[作成] をクリックします。

    3. [パイプラインの作成] ダイアログボックスで、パラメーターを設定します。 デフォルト値を使用できます。

      Pipeline Data Pathパラメーターに指定された値は、パイプラインのランタイム中に生成された一時データおよびモデルのObject Storage Service (OSS) バケットパスです。

    4. [OK] をクリックします。

      パイプラインの作成には約10秒かかります。

    5. 次の図に示すように、キャンバス上のパイプラインのコンポーネントを表示します。 システムは、組み込みテンプレートに基づいてパイプラインを自動的に作成します。

      Matching recall pipeline

      セクション

      説明

      このコンポーネントは、すべての特徴データに対してワンホットエンコーディングを実行します。 ワンホットエンコーディングは、文字型データを数値型データに変換します。 このパイプラインでは、One Hot Encoding-1コンポーネントは、まず、すべての特徴データに対してワンホット符号化を実行し、符号化モデルを生成します。 次いで、One Hot Encoding-1コンポーネントは、符号化モデルをOne Hot encoding-2およびOne Hot Encoding-3コンポーネントにエクスポートする。

      このコンポーネントは、FMモデルを生成する。 コンポーネントをクリックし、右側のパネルの [パラメータ設定] タブでコンポーネントのデフォルトのパラメータ設定を表示できます。 Dimensionsのデフォルト値は1,1,10です。10は各特徴ベクトルの次元数を示します。

      このコンポーネントは、ユーザ特徴コードを生成する。 このコンポーネントでは、[バイナリ化列]useridgenderageに設定し、[追加列]useridに設定します。

      このコンポーネントは、アイテム特徴コードを生成する。 このコンポーネントのBinarization Columnitemidpricesizeに設定し、追加されたColumnsitemidに設定します。

      これらのコンポーネントは、ユーザおよびアイテムの特徴ベクトルを抽出する。 各コンポーネントには、次のパラメータが含まれます。

      • 埋め込みベクトルのID列名: FM Train-1コンポーネントによってトレーニングされるモデルのfeature_idパラメーター。

      • Embedding vector column name: FM Train-1コンポーネントによってトレーニングされたモデルのfeature_weightsパラメーター。

      • 重みベクトル列名: One Hot Encoding-1コンポーネントによってエクスポートされるスパース列。

      • 出力結果列名: 生成された特徴ベクトルを含む列の名前。

  3. パイプラインを実行し、結果を表示します。

    1. キャンバスの左上隅にあるimage.pngアイコンをクリックします。

    2. パイプラインの実行後、キャンバス上で [抽出物の埋め込み]-1を右クリックし、[データの表示] > [出力] を選択します。 表示されるダイアログボックスで、ユーザーの特徴ベクトルを表示します。 Feature vectors of users

    3. キャンバス上で [Embedding extract-2] を右クリックし、[View Data] > [Output] を選択します。 表示されるダイアログボックスで、アイテムの特徴ベクトルを表示します。 Feature vectors of items