特徵雜湊元件參考
本文描述 Azure Machine Learning 設計工具中包含的元件。
使用「特徵雜湊」元件來將英文文字的串流轉換為一組整數特徵。 然後,您可以將此雜湊特徵集傳遞至機器學習演算法,以定型文字分析模型。
此元件中提供的特徵雜湊功能以 nimbusml 架構為基礎。 如需詳細資訊,請參閱 NgramHash 類別。
什麼是特徵雜湊?
特徵雜湊的運作方式是將唯一的權杖轉換為整數。 它會以您提供做為輸入的確切字串作業,且不會執行任何語言分析或預先處理。
例如,以一組這樣的簡單句子為例,後面接著情感分數。 假設您想要使用此文字來建置模型。
使用者文字 | 情感 |
---|---|
I loved this book | 3 |
I hated this book | 1 |
This book was great | 3 |
I love books | 2 |
在內部,特徵雜湊元件會建立 N 字母組的字典。 例如,此資料集的雙字母組清單看起來如下:
詞彙 (雙字母組) | 頻率 |
---|---|
This book | 3 |
I loved | 1 |
I hated | 1 |
I love | 1 |
您可以使用 N 字母組屬性來控制 N 字母組的大小。 如果您選擇雙字母組,則也會計算單字母組。 字典也會包含像這樣的單一詞彙:
詞彙 (單字母組) | 頻率 |
---|---|
預訂 | 3 |
I | 3 |
書籍 | 1 |
was | 1 |
建立字典之後,「特徵雜湊」元件會將字典詞彙轉換為雜湊值。 然後,它會計算每個案例中是否使用某特徵。 針對文字資料的每個資料列,元件會輸出一組資料行,每個雜湊特徵各有一個資料行。
例如,在雜湊之後,特徵資料行看起來可能像這樣:
分級 | 雜湊特徵 1 | 雜湊特徵 2 | 雜湊特徵 3 |
---|---|---|---|
4 | 1 | 1 | 0 |
5 | 0 | 0 | 0 |
- 如果資料行中的值為 0,資料列就不會包含已雜湊的特徵。
- 如果值為 1,資料列就確實包含該特徵。
特徵雜湊可讓您將可變長度的文字文件表示為相等長度的數值特徵向量,以減少維度性。 如果您嘗試將文字資料行原樣用於定型,則會被視為具有許多相異值的類別特徵資料行。
數值輸出也可讓您使用常見的機器學習方法,包括分類、叢集和資訊擷取。 因為查閱作業可以使用整數雜湊,而不是字串比較,所以取得特徵加權的速度也會快得多。
設定特徵雜湊元件
在設計工具中,將特徵雜湊元件新增至您的管線。
連接包含您所要分析文字的資料集。
提示
因為特徵雜湊不會執行像是相關字詞分析或截斷之類的語彙作業,有時您可以在套用特徵雜湊之前,預先處理文字來取得較佳的結果。
將 [目標資料行] 設定為要轉換為雜湊特徵的文字資料行。 請注意下列事項:
資料行必須是字串資料類型。
選擇多個文字資料行可能會對特徵維度性造成顯著的影響。 例如,10 位元雜湊的資料行數目會從單一資料行 1,024 變成兩個資料行 2,048。
您可以使用 [雜湊位元大小] 來指定建立雜湊表時要使用的位元數。
預設的位元大小為 10。 針對許多問題,此值已足夠。 您可能需要更多空間來避免發生衝突,視定型文字中的 N 字母組詞彙大小而定。
針對 [N 字母組],請輸入一個數字,以定義要新增至定型字典的 N 字母組的最大長度。 N 字母組是一系列的 n 單字,被視為唯一的單元。
例如,如果您輸入 3,則會建立單字母組、雙字母組和三字母組。
提交管線。
結果
處理完成之後,元件會輸出已轉換的資料集,其中的原始文字資料行已轉換為多個資料行。 每個資料行都代表文字中的一項特徵。 視字典的實質意義而定,產生的資料集可能會很大:
資料行名稱 1 | 資料行類型 2 |
---|---|
USERTEXT | 原始資料行 |
SENTIMENT | 原始資料行 |
USERTEXT - 雜湊特徵 1 | 雜湊的特徵資料行 |
USERTEXT - 雜湊特徵 2 | 雜湊的特徵資料行 |
USERTEXT - 雜湊特徵 n | 雜湊的特徵資料行 |
USERTEXT - 雜湊特徵 1024 | 雜湊的特徵資料行 |
建立已轉換的資料集之後,您可以使用它做為定型模型元件的輸入。
最佳作法
下列最佳做法可協助您充分運用特徵雜湊元件:
在使用特徵雜湊來預先處理輸入文字之前,請先新增預先處理文字元件。
在特徵雜湊元件之後新增「選取資料行」元件,以從輸出資料集移除文字資料行。 產生雜湊特徵之後,就不需要文字資料行。
考慮使用這些文字預先處理選項,以簡化結果並改善精確度:
- 斷詞
- 停用字詞移除
- 大小寫正規化
- 移除標點符號和特殊字元
- 詞幹分析
要在任何解決方案中套用的一組最佳預先處理方法,取決於領域、詞彙和商務需求。 使用您的資料執行管線,以查看哪些文字處理方法最有效。
後續步驟
請參閱 Azure Machine Learning 可用的元件集