Split Word(生成模型)

本文为您介绍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_CHNINTERNET_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_CHNINTERNET_CHN。

TAOBAO_CHN

enableDfa

是否识别简单实体。取值为TrueFalse。

True

enablePersonNameTagger

是否识别人名。取值为TrueFalse。

False

enableOrgnizationTagger

是否识别机构名。取值为TrueFalse。

False

enablePosTagger

是否进行词性标注。取值为TrueFalse。

False

enableTelephoneRetrievalUnit

是否识别电话号码。取值为TrueFalse。

True

enableTimeRetrievalUnit

是否识别时间号码。取值为TrueFalse。

True

enableDateRetrievalUnit

是否识别日期号码。取值为TrueFalse。

True

enableNumberLetterRetrievalUnit

是否识别数字字母。取值为TrueFalse。

True

enableChnNumMerge

是否将中文数字合并为一个检索单元。取值为TrueFalse。

False

enableNumMerge

是否将普通数字合并为一个检索单元。取值为TrueFalse。

True

enableChnTimeMerge

是否将中文时间合并为一个语义单元。取值为TrueFalse。

False

enableChnDateMerge

是否将中文日期合并为一个语义单元。取值为TrueFalse。

False

enableSemanticTagger

是否进行语义标注。取值为TrueFalse

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;