Split Word(生成模型)

更新时间:
复制 MD 格式

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