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

Platform For AI:FM-Embedding を使用したレコメンデーションの再現率の実装

最終更新日:Jun 22, 2026

レコメンデーションシナリオでは、ビジュアルモデリング (Designer) の FM-Embedding ソリューションを使用して、ユーザーとアイテムの特徴ベクトルを取得します。再現率モジュールでは、これらの特徴ベクトルの内積を計算して、ユーザーとアイテムのペアに対する評価を予測します。このトピックでは、Factorization Machine (FM) アルゴリズムと埋め込み抽出アルゴリズムを使用して、ユーザーとアイテムの特徴ベクトルを迅速に生成する方法について説明します。

前提条件

背景情報

レコメンデーションシステムは通常、再現率モジュールとソートモジュールで構成されます。再現率モジュールでは、ベクトルがユーザーとアイテム (推奨されるコンテンツ) を表します。ユーザーベクトルとアイテムベクトルの内積は、ユーザーのアイテムに対する関心の度合いを示します。このパイプラインは、実際のレコメンデーションデータに基づいており、その完全なビジネスワークフローはDesigner のテンプレートにプリセットされています。これにより、コンポーネントをドラッグアンドドロップするだけで、ユーザーとアイテムの特徴ベクトルを生成できます。

データセット

ソースデータには、次のフィールドが含まれます。

パラメーター

説明

userid

STRING

ユーザー ID。

age

DOUBLE

ユーザーの年齢。

gender

STRING

ユーザーの性別。

itemid

STRING

アイテム ID。

price

DOUBLE

アイテムの価格。

size

DOUBLE

アイテムのサイズ。

label

DOUBLE

ターゲット列。有効な値は次のとおりです:

  • 1.0:購入したことを示します。

  • 0.0:購入していないことを示します。

操作手順

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

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

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

    3. 左側のナビゲーションウィンドウで、[モデルトレーニング] > [ビジュアルモデリング (Designer)] を選択します。

  2. パイプラインを構築します。

    1. Designer ページで、Preset Templates タブをクリックします。

    2. テンプレートリストで、Create の下にある [作成] をクリックします。

    3. Create Pipeline ダイアログボックスで、パラメーターを設定します。すべてのパラメーターにデフォルト設定を使用できます。

      Data Storage パラメーターは、パイプラインの実行中に生成される一時データとモデルを格納するための OSS バケットパスを指定します。

    4. Confirm をクリックします。

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

    5. プリセットテンプレートに基づいて、次の図に示すようにパイプラインが自動的に構築されます。

      推荐召回实验

      セクション

      説明

      すべての特徴に対して One-Hot エンコーディングを実行します。One-Hot エンコーディングは、文字列データを数値データに変換します。このパイプラインでは、[One-hot Encoding-1] コンポーネントがまず完全なデータセットをエンコードし、生成されたモデルを [One-hot Encoding-2] および [One-hot Encoding-3] コンポーネントに渡します。

      Factorization Machine (FM) モデルを生成します。このコンポーネントをクリックし、Parameters タブでデフォルトのパラメーターを表示できます。Dimensions の 3 番目のパラメーター (デフォルト値:1,1,10) は、生成される埋め込みのディメンションを指定します。この場合は 10 です。

      ユーザー特徴量エンコーディングを生成します。[二値化列の選択] パラメーターの入力は useridgenderage です。[追加列] パラメーターの入力は userid です。

      アイテム特徴量エンコーディングを生成します。[二値化列の選択] パラメーターの入力は itemidpricesize です。[追加列] パラメーターの入力は itemid です。

      アイテムの埋め込みを抽出します。このコンポーネントのパラメーターは次のとおりです:

      • [Embedding Vector ID Column]:トレーニング済みの FM モデルの feature_id

      • [Embedding Vector Column]:トレーニング済みの FM モデルの feature_weights

      • [Weight Vector Column]:One-Hot エンコーディングからのスパースデータ列。

      • 出力列名: 出力埋め込みのフィールド名です。

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

    1. キャンバスの上部にある image.png ボタンをクリックします。

    2. パイプラインの実行が完了したら、キャンバス上の [Embedding Extraction-1] コンポーネントを右クリックし、View Data > Output を選択して、ユーザー特徴ベクトルを表示します。ユーザー特徴ベクトルテーブルには、userid (ユーザー ID)、kv (キーと値の特徴、例:10:1,7:1,37:1)、embedding (スペースで区切られた浮動小数点数で構成される高次元ベクトル) の 3 つの列が含まれます。

    3. キャンバス上の [Embedding Extraction-2] コンポーネントを右クリックし、View Data > Output を選択して、アイテム特徴ベクトルを表示します。アイテム特徴ベクトルテーブルには、itemid (アイテム識別子、例:A から J)、kv (スパース特徴量エンコーディング、例:31;1,11;1,27:1)、embedding (多次元浮動小数点ベクトル) の 3 つの列が含まれます。