全部產品
Search
文件中心

Platform For AI:相似標籤自動歸類

更新時間:Jul 13, 2024

本文通過PAI提供的文本分析組件,實現簡單的商品標籤自動歸類系統。

背景資訊

通常每件商品的描述會包含很多維度標籤。例如,一雙鞋子的商品描述可能是“少女英倫風系帶馬丁靴女磨砂真皮厚底休閑短靴”。一個包的商品描述可能是“天天特價包包2016新款秋冬斜挎包韓版手提包流蘇貝殼包女包單肩包”。這些維度可以包含時間、產地及款式等,如何按照特定維度將數以萬計的商品進行歸類是電商平台的難題之一,其中最大的挑戰是如何從商品描述中抽取維度標籤。PAI提供的文本分析組件可以自動學習標籤詞語,從而實現標籤自動歸類。

前提條件

準備資料集

本工作流程資料是整理的一份2016年雙十一購物清單,共兩千多條商品描述,每一行表示一件商品的標籤彙總。

您需要前往DataWorks資料開發模組,建立一個只包含一個列名為content的表,並將上述準備好的資料上傳至該表中。具體操作,請參見建表並上傳資料

相似標籤自動歸類

  1. 進入Designer頁面。

    1. 登入PAI控制台

    2. 在左側導覽列單擊工作空間列表,在工作空間列表頁面中單擊待操作的工作空間名稱,進入對應的工作空間。

    3. 在工作空間頁面的左側導覽列選擇模型開發與訓練 > 可視化建模(Designer),進入Designer頁面。

  2. 建立自訂工作流程,並進入工作流程頁面,詳情請參見建立自訂工作流程

  3. 構建並運行工作流程。

    1. 在左側組件列表,將源/目標下的讀資料表組件拖入畫布中,並重新命名為shopping_data-1

    2. 在左側組件列表,將自然語言處理 > 基礎NLP下的Split Word詞頻統計Word2Vec組件拖入畫布中。

    3. 在左側組件列表,將資料預先處理下的增加序號列類型轉換組件拖入畫布中。

    4. 在左側組件列表,將機器學習 > 聚類下的K均值聚類組件拖入畫布中。

    5. 在左側組件列表,將自訂指令碼下的SQL指令碼組件拖入畫布中。

    6. 將以上組件拼接為如下工作流程,參照下表配置組件的關鍵參數,並運行組件。

    7. 相似標籤自動歸類實驗

      序號

      描述

      上傳shopping_data資料,並通過分片語件對資料進行分詞,具體操作步驟如下:

      1. 在畫布中單擊shopping_data-1組件,並在右側表選擇頁簽配置已準備好的表名。

      2. 在畫布中單擊Split Word-1組件,並在右側欄位設定頁簽,選擇列名為content

      3. 首先單擊shopping_data-1組件,在捷徑功能表,單擊執行該節點。待該組件執行完成後,再以相同的方式執行Split Word-1組件。

      增加序號列。由於上傳的資料只有一個欄位,需要通過增加序號列為每個資料增加主鍵。

      首先單擊增加序號列-1組件,在捷徑功能表,單擊執行該節點。待該組件執行完成後,再以相同的方式執行類型轉換-1組件。

      統計詞頻,展示每個商品中出現的各種詞語數量。

      1. 在畫布中單擊詞頻統計-1組件,在右側欄位設定頁簽,分別設定選擇文檔ID列append_id選擇文檔內容列content

      2. 單擊詞頻統計-1組件,在捷徑功能表,單擊執行該節點

      使用Word2Vec組件將每個詞語按照意義在向量維度展開,產生詞向量。詞向量的含義包括:

      • 向量距離近的兩個詞,其真實含義比較相近。

      • 不同詞之間的距離差值具有一定意義。

      經過Word2Vec組件將每個詞映射到百維空間上。

      1. 在畫布中單擊Word2Vec-1組件,在右側欄位設定頁簽,設定選擇單詞列word,在參數設定頁簽,選中採用hierarchical softmax

      2. 單擊Word2Vec-1組件,在捷徑功能表,單擊執行該節點

      詞向量聚類。使用K均值聚類演算法,在已經產生的詞向量基礎上,計算詞向量的距離,並按照意義將標籤詞自動歸類。

      1. 在畫布中單擊K均值聚類-1組件,在右側欄位設定頁簽,選擇特徵列f0附加列word

        說明

        該組件在運行時,其上遊輸入資料表的行數必須大於或等於該組件參數中設定的聚類數目。

      2. 單擊K均值聚類-1組件,在捷徑功能表,單擊執行該節點

      結果驗證。通過SQL指令碼-1組件,在聚類簇中隨意挑選一個類別,判斷是否對同一類別的標籤進行了自動歸類。本工作流程選用第10組聚類簇,在畫布中單擊SQL指令碼-1組件,在右側參數設定頁簽,配置SQL指令碼select * from ${t1} where cluster_index=10

      上述結果中,系統自動將與地理相關的標籤進行了歸類,但是混入了堅果等明顯與類別不符的標籤,可能是訓練樣本數量不足導致的。如果訓練樣本足夠大,則標籤聚類結果會非常準確。

相關文檔

關於演算法組件更詳細的內容介紹,請參見: