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

Platform For AI:タグの自動分類

最終更新日:Jul 22, 2024

このトピックでは、Platform for AI (PAI) が提供するテキスト分析コンポーネントを使用して、製品タグを自動的に分類する方法について説明します。

背景情報

eコマースプラットフォームの製品説明には、多くの場合、複数のタグが含まれます。 例えば、一対の靴の説明は、「女の子の英国スタイルのレースアップマーテンスブーツ、女性の本物の革のスエードのカジュアルアンクルブーツと厚いソール」であってもよい。バッグは、「デイリーディール: 2016新着韓国スタイルの秋 /冬の女性のタッセルクロスボディシェルバッグ、レディースショルダートートバッグ」と呼ばれることがあります。タグは、製造日、原産地、スタイルなど、さまざまな次元の製品属性を強調表示します。 数万の製品を管理するeコマースプラットフォームでは、製品タグの効率的な分類が重要です。 PAIは、タグを自動的に学習および分類できるテキスト分析コンポーネントを提供します。

前提条件

データセットの準備

この例では、データセットには、2016 Double 11 Shopping Festivalの2,000を超える製品の説明が含まれています。 各説明は、製品タグのクラスタである。

データセットを準備するには、DataWorksのDataStudioモジュールに移動し、contentという名前の列を1つだけ含むテーブルを作成し、データセットをテーブルにアップロードします。 詳細については、「テーブルの作成とデータのアップロード」をご参照ください。

手順

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

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

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

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

  2. カスタムパイプラインを作成し、パイプラインページに移動します。 詳細については、「カスタムパイプラインの作成」をご参照ください。

  3. パイプラインにコンポーネントを追加し、パイプラインを実行します。

    1. 左側のペインで、テーブルを読むのコンポーネントデータソース /ターゲットフォルダーをキャンバスに移動し、コンポーネントの名前をshopping_data-1.

    2. 左側のペインで、分割ワード,単語頻度統計、およびWord2Vecのコンポーネント自然言語処理 > ベーシックNLPフォルダーをキャンバスに移動します。

    3. 左側のペインで、ID列の追加データ型の変換のコンポーネントデータ前処理フォルダーをキャンバスに移動します。

    4. 左側のペインで、K-平均クラスタリングのコンポーネント機械学習 > クラスタリングフォルダーをキャンバスに移動します。

    5. 左側のペインで、SQLスクリプトのコンポーネントUserDefinedScriptフォルダーをキャンバスに移動します。

    6. 次の図に示すように、上記のコンポーネントをパイプラインに接続し、次の表に示すようにパイプラインを実行するパラメーターを設定します。

    7. 相似标签自动归类实验

      ステップ番号

      説明

      1

      準備したデータセットをshopping_data-1コンポーネントにインポートし、Split Word-1コンポーネントを使用して、データセット内の製品説明を単語に分割します。

      1. キャンバスでshopping_data-1コンポーネントをクリックします。 右側のウィンドウの [テーブルの選択] タブで、データセットを含むテーブルの名前を選択します。

      2. キャンバスで [Word-1の分割] コンポーネントをクリックします。 右側のウィンドウの [フィールドの設定] タブで、[列] フィールドの [コンテンツ] を選択します。

      3. shopping_data-1コンポーネントを右クリックし、ショートカットメニューで [現在のノードを実行] を選択します。 コンポーネントを実行した後、同じ手順を実行してWord-1分割コンポーネントを実行します。

      2

      ID列を追加します。 データセットからインポートされたデータに含まれる列は1つだけです。 ID列は、各データレコードの主キーとして機能する必要があります。

      [ID列の追加]-1コンポーネントを右クリックし、ショートカットメニューの [現在のノードの実行] を選択します。 コンポーネントを実行した後、同じ手順を実行してデータ型変換-1コンポーネントを実行します。

      3

      製品の説明に表示される各単語の頻度を数えます。

      1. キャンバスでWord Frequency Statistics-1コンポーネントをクリックします。 右側のウィンドウの [フィールドの設定] タブで、[ドキュメントid列] ドロップダウンリストからappend_idを選択し、[ドキュメントコンテンツ列] ドロップダウンリストからcontentを選択します。

      2. Word Frequency Statistics-1コンポーネントを右クリックし、ショートカットメニューの [Run Current Node] を選択します。

      4

      単語ベクトルを生成します。 単語ベクトルは、高次元空間における単語の数値表現である。

      • 2つの単語ベクトルがベクトル空間において互いに近い場合、2つの単語は意味的に類似している。

      • 単語ベクトル間の距離は、単語の意味的類似性を反映する。

      Word2Vecコンポーネントを使用して、各単語の100次元ベクトルを生成します。

      1. キャンバスでWord2Vec-1コンポーネントをクリックします。 右側のペインの [フィールド設定] タブで、[単語列] ドロップダウンリストから [単語] を選択します。 [パラメーター設定] タブで、[階層Softmax] オプションを選択します。

      2. Word2Vec-1コンポーネントを右クリックし、ショートカットメニューで [現在のノードを実行] を選択します。

      5

      単語ベクトルをクラスターに分割します。 意味的意味に基づいて単語を自動的に分類するK平均クラスタリングを使用して、単語ベクトル間の距離を計算します。

      1. キャンバス上の [K-means Clustering-1] コンポーネントをクリックします。 [フィールド設定] タブで、[機能列] フィールドにf0を、[追加列] フィールドにwordを選択します。

        説明

        コンポーネントを実行する前に、アップストリームデータテーブルの行数が、コンポーネントパラメーターで指定されたクラスター数以上であることを確認してください。

      2. K-means Clustering-1コンポーネントを右クリックし、ショートカットメニューで [現在のノードを実行] を選択します。

      6

      分類結果を確認します。 クラスターを選択し、SQL Script-1コンポーネントを使用して、単語が正しく分類されているかどうかを確認します。 この例では、10番目のクラスターが使用されます。 キャンバスで [SQL Script-1] コンポーネントをクリックします。 右側のウィンドウの [パラメーターの設定] タブで、SQL Scriptコードエディターにselect * from ${t1} where cluster_index=10と入力します。

      結果は、クラスタが地理的単語を含むことを示す。 ただし、nutなどの非地理的な単語も含まれています。 この間違いは、不十分なトレーニングデータが原因である可能性があります。 データセットが大きいほど、より正確な分類結果が得られる。

関連ドキュメント

アルゴリズムコンポーネントの詳細については、以下のトピックを参照してください。