本文为您介绍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;