本文為您介紹Designer提供的Split Word(產生模型)演算法組件。
Split Word(產生模型)演算法組件基於AliWS(Alibaba Word Segmenter)詞法分析系統,根據參數和自訂字典產生分詞模型。
Split Word(產生模型)演算法組件僅支援中文淘寶分詞和互連網分詞。
與Split Word的區別:
Split Word是直接將輸入的文本分詞。
Split Word(產生模型)用於產生分詞的模型。如果您需要對文本分詞,您需要先部署模型,再進行預測或調用線上API。
組件配置
您可以使用以下任意一種方式,配置Split Word(產生模型)組件參數。
方式一:可視化方式
在Designer工作流程頁面配置組件參數。
頁簽 | 參數 | 描述 |
欄位設定 | 選擇欄位列 | 用來產生模型的欄位列。 |
參數設定 | Recognized Options | 識別內容類型。取值範圍為:
預設值為:識別簡單實體、識別電話號碼、識別時間、識別日期和識別數字字母。 |
Merge Options | 合并內容類型。取值範圍為:
預設值為:合并阿拉伯數字。 | |
Tokenizer | 過濾器的類型。取值範圍為TAOBAO_CHN和INTERNET_CHN。預設值為TAOBAO_CHN。 | |
Pos Tagger | 是否進行詞性標註。預設不進行詞性標註。 | |
Semantic Tagger | 是否進行語義標註。預設不進行語義標註。 | |
過濾分詞結果為數位詞 | 是否過濾分詞結果為數位詞。預設不過濾。 | |
過濾分詞結果為全英文的詞 | 是否過濾分詞結果為全英文的詞。預設不過濾。 | |
過濾分詞結果為標點符號的詞 | 是否過濾分詞結果為標點符號的詞。預設不過濾。 | |
執行調優 | 核心數 | 預設為系統自動分配。 |
每個核的記憶體數 | 預設為系統自動分配。 |
方式二:PAI命令方式
使用PAI命令方式,配置該組件參數。您可以使用SQL指令碼組件進行PAI命令調用,詳情請參見SQL指令碼。
pai -name split_word_model
-project algo_public
-DoutputModelName=aliws_model
-DcolName=content
-Dtokenizer=TAOBAO_CHN
-DenableDfa=true
-DenablePersonNameTagger=false
-DenableOrgnizationTagger=false
-DenablePosTagger=false
-DenableTelephoneRetrievalUnit=true
-DenableTimeRetrievalUnit=true
-DenableDateRetrievalUnit=true
-DenableNumberLetterRetrievalUnit=true
-DenableChnNumMerge=false
-DenableNumMerge=true
-DenableChnTimeMerge=false
-DenableChnDateMerge=false
-DenableSemanticTagger=true
參數名稱 | 是否必選 | 描述 | 預設值 |
userDictTableName | 否 | 是否使用自訂字典表。自訂字典表只有一列,每一行是一個詞。 | 無 |
outputModelName | 是 | 輸出模型的名稱。 | 無 |
colName | 否 | 預測文本的列名。 | context |
dictTableName | 否 | 是否使用自訂字典表。自訂字典表只有一列,每一行是一個詞。 | 無 |
tokenizer | 否 | 過濾器類型。取值範圍為TAOBAO_CHN和INTERNET_CHN。 | TAOBAO_CHN |
enableDfa | 否 | 是否識別簡單實體。取值為True或False。 | True |
enablePersonNameTagger | 否 | 是否識別人名。取值為True或False。 | False |
enableOrgnizationTagger | 否 | 是否識別機構名。取值為True或False。 | False |
enablePosTagger | 否 | 是否進行詞性標註。取值為True或False。 | False |
enableTelephoneRetrievalUnit | 否 | 是否識別電話號碼。取值為True或False。 | True |
enableTimeRetrievalUnit | 否 | 是否識別時間號碼。取值為True或False。 | True |
enableDateRetrievalUnit | 否 | 是否識別日期號碼。取值為True或False。 | True |
enableNumberLetterRetrievalUnit | 否 | 是否識別數字字母。取值為True或False。 | True |
enableChnNumMerge | 否 | 是否將中文數字合并為一個檢索單元。取值為True或False。 | False |
enableNumMerge | 否 | 是否將普通數字合并為一個檢索單元。取值為True或False。 | True |
enableChnTimeMerge | 否 | 是否將中文時間合并為一個語義單元。取值為True或False。 | False |
enableChnDateMerge | 否 | 是否將中文日期合并為一個語義單元。取值為True或False。 | False |
enableSemanticTagger | 否 | 是否進行語義標註。取值為True或False | False |
樣本
PAI命令列
pai -name split_word_model -project algo_public -DoutputModelName=aliws_model
部署
create onlinemodel ning_test_aliws_model_2 -offlinemodelName ning_test_aliws_model -instanceNum 1 -cpu 100 -memory 4096;
線上分詞
KVJsonRequest request = new KVJsonRequest(); Map<String, JsonFeatureValue> row = request.addRow(); row.put(col_name, new JsonFeatureValue("巨量資料演算法平台是個新的平台")); KVJsonResponse res = predictClient.syncPredict(new JsonPredictRequest(project_name, model_name, request)); List<ResponseItem> ri = res.getOutputs(); for (ResponseItem item : ri) { System.out.println(item.getOutputLabel()); }
離線分詞
pai -name prediction -DmodelName=ning_test_aliws_model -DinputTableName=ning_test_aliws -DoutputTableName=ning_test_aliws_offline_predict;