Split Word(生成模型)
本文為您介紹Designer提供的Split Word(生成模型)算法組件。
Split Word(生成模型)算法組件基于AliWS(Alibaba Word Segmenter)詞法分析系統(tǒng),根據(jù)參數(shù)和自定義詞典生成分詞模型。
Split Word(生成模型)算法組件僅支持中文淘寶分詞和互聯(lián)網(wǎng)分詞。
與Split Word的區(qū)別:
Split Word是直接將輸入的文本分詞。
Split Word(生成模型)用于生成分詞的模型。如果您需要對文本分詞,您需要先部署模型,再進(jìn)行預(yù)測或調(diào)用在線API。
組件配置
您可以使用以下任意一種方式,配置Split Word(生成模型)組件參數(shù)。
方式一:可視化方式
在Designer工作流頁面配置組件參數(shù)。
頁簽 | 參數(shù) | 描述 |
字段設(shè)置 | 選擇字段列 | 用來生成模型的字段列。 |
參數(shù)設(shè)置 | Recognized Options | 識別內(nèi)容類型。取值范圍為:
默認(rèn)值為:識別簡單實體、識別電話號碼、識別時間、識別日期和識別數(shù)字字母。 |
Merge Options | 合并內(nèi)容類型。取值范圍為:
默認(rèn)值為:合并阿拉伯?dāng)?shù)字。 | |
Tokenizer | 過濾器的類型。取值范圍為TAOBAO_CHN和INTERNET_CHN。默認(rèn)值為TAOBAO_CHN。 | |
Pos Tagger | 是否進(jìn)行詞性標(biāo)注。默認(rèn)不進(jìn)行詞性標(biāo)注。 | |
Semantic Tagger | 是否進(jìn)行語義標(biāo)注。默認(rèn)不進(jìn)行語義標(biāo)注。 | |
過濾分詞結(jié)果為數(shù)字的詞 | 是否過濾分詞結(jié)果為數(shù)字的詞。默認(rèn)不過濾。 | |
過濾分詞結(jié)果為全英文的詞 | 是否過濾分詞結(jié)果為全英文的詞。默認(rèn)不過濾。 | |
過濾分詞結(jié)果為標(biāo)點符號的詞 | 是否過濾分詞結(jié)果為標(biāo)點符號的詞。默認(rèn)不過濾。 | |
執(zhí)行調(diào)優(yōu) | 核心數(shù) | 默認(rèn)為系統(tǒng)自動分配。 |
每個核的內(nèi)存數(shù) | 默認(rèn)為系統(tǒng)自動分配。 |
方式二:PAI命令方式
使用PAI命令方式,配置該組件參數(shù)。您可以使用SQL腳本組件進(jìn)行PAI命令調(diào)用,詳情請參見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
參數(shù)名稱 | 是否必選 | 描述 | 默認(rèn)值 |
userDictTableName | 否 | 是否使用自定義詞典表。自定義詞典表只有一列,每一行是一個詞。 | 無 |
outputModelName | 是 | 輸出模型的名稱。 | 無 |
colName | 否 | 預(yù)測文本的列名。 | context |
dictTableName | 否 | 是否使用自定義詞典表。自定義詞典表只有一列,每一行是一個詞。 | 無 |
tokenizer | 否 | 過濾器類型。取值范圍為TAOBAO_CHN和INTERNET_CHN。 | TAOBAO_CHN |
enableDfa | 否 | 是否識別簡單實體。取值為True或False。 | True |
enablePersonNameTagger | 否 | 是否識別人名。取值為True或False。 | False |
enableOrgnizationTagger | 否 | 是否識別機(jī)構(gòu)名。取值為True或False。 | False |
enablePosTagger | 否 | 是否進(jìn)行詞性標(biāo)注。取值為True或False。 | False |
enableTelephoneRetrievalUnit | 否 | 是否識別電話號碼。取值為True或False。 | True |
enableTimeRetrievalUnit | 否 | 是否識別時間號碼。取值為True或False。 | True |
enableDateRetrievalUnit | 否 | 是否識別日期號碼。取值為True或False。 | True |
enableNumberLetterRetrievalUnit | 否 | 是否識別數(shù)字字母。取值為True或False。 | True |
enableChnNumMerge | 否 | 是否將中文數(shù)字合并為一個檢索單元。取值為True或False。 | False |
enableNumMerge | 否 | 是否將普通數(shù)字合并為一個檢索單元。取值為True或False。 | True |
enableChnTimeMerge | 否 | 是否將中文時間合并為一個語義單元。取值為True或False。 | False |
enableChnDateMerge | 否 | 是否將中文日期合并為一個語義單元。取值為True或False。 | False |
enableSemanticTagger | 否 | 是否進(jìn)行語義標(biāo)注。取值為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("大數(shù)據(jù)算法平臺是個新的平臺")); 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;