0 / 0
Go back to the English version of the documentation
创建自己的模型
Last updated: 2024年11月28日
创建自己的模型

Watson自然语言处理中的某些算法可以使用自己的数据进行训练,例如,你可以根据自己的数据创建自定义模型,用于实体提取、数据分类、情感提取和目标情感提取。

您可以使用基于转换器的内置IBM基础模型 Slate 来创建自己的模型。 Slate 模型是在一个非常大的数据集上训练出来的,该数据集经过预处理,过滤了仇恨、偏见和亵渎。

要创建自己的分类、实体提取模型或情感模型,可以根据自己的数据对 Slate 模型进行微调。 为了在合理的时间内训练模型,建议使用基于 GPU 的环境。

定制模型的语言支持

您可以创建自定义模型,也可以针对所示语言使用以下预训练字典和分类模型。

预训练字典和分类模型支持的语言
定制模型 所支持语言的代码
词典模型 af、ar、bs、ca、cs、da、de、el、en、es、fi、fr、he、hi、hr、it、ja、ko、nb、nl、nn、pl、pt、ro、ru、sk、sr、sv、tr、zh_cn、zh_tw(语法部分标记支持的所有语言)
字根 af、ar、bs、ca、cs、da、de、el、en、es、fi、fr、he、hi、hr、it、ja、ko、nb、nl、nn、pl、pt、ro、ru、sk、sr、sv、tr、zh_cn、zh_tw(语法部分标记支持的所有语言)
使用 TFIDF 的 SVM 分类 AF、AR、CA、CS、DE、EL、EEN、ES、FI、FR、HE、HI、HR、IT、JA、KO、NB、NL、NN、PL、PT、RO、RU、SK、SR、SV、TR、ZH_CN、ZH_TW
使用 USE 的 SVM 分类 AR, DE, EN, ES, FR, IT, JA, KO, NL, PL, PT, RU, TR, ZH_CN, ZH_TW
使用GloVe进行 CNN 分类 AR, DE, EN, ES, FR, IT, JA, KO, NL, PT, ZH_CN
BERT 多语种分类 AF、AR、CA、CS、DE、EL、EEN、ES、FI、FR、HE、HI、HR、IT、JA、KO、NB、NL、NN、PL、PT、RO、RU、SK、SR、SV、TR、ZH_CN、ZH_TW
Transformer 模型 AF、AR、BS、CA、CS、DA、DE、EL、EEN、ES、FI、FR、HE、HI、HR、IT、JA、KO、NB、NL、NN、PL、PT、RO、RU、SK、SR、SV、TR、ZH_CN、ZH_TW
停止词列表 AR, DE, EN, ES, FR, IT, JA, KO

有关语言代码和相应语言的列表,请参阅语言代码

保存和加载自定义模型

如果要在其他笔记本中使用自定义模型,请将其作为数据资产保存到项目中。 这样,您就可以将模型作为项目导出的一部分导出。

使用 "ibm-watson-studio-lib库保存和加载自定义模型。

将笔记本中的自定义模型保存为数据资产,以便在其他项目中导出和使用:

  1. 确保在项目 "管理"选项卡的 "访问控制"页面上有访问令牌。 只有项目管理员才能创建访问令牌。 访问令牌可以具有查看者或编辑者访问许可权。 只有编辑者才能将该令牌插入到 Notebook 中。

  2. 点击笔记本操作栏上的更多 > 插入项目标记,将项目标记添加到笔记本中,然后运行单元格。 运行插入的隐藏代码单元格时,会创建一个 "wslib对象,您可以将其用于 "ibm-waton-studio-lib库中的函数。 有关可用 "ibm-watson-studio-lib功能的详细信息,请参阅 "用 "ibm-watson-studio-lib代替 "Python

  3. 运行 "train()方法创建自定义字典、正则表达式或分类模型,并将此自定义模型分配给一个变量。 例如:

    custom_block = CNN.train(train_stream, embedding_model.embedding, verbose=2)
    
  4. 如果要保存自定义字典或正则表达式模型,请将其转换为 RBRGeneric 块。 如果要使用 WatsonNatural Language Processing for Embed 的 API 加载和执行模型,将自定义字典或正则表达式模型转换为 RBRGeneric 块非常有用。 迄今为止,WatsonNatural Language Processing for Embed 只支持以 RBRGeneric 块的形式运行字典和正则表达式模型。 要将模型转换为 RBRGeneric 块,请运行以下命令:

    # Create the custom regular expression model
    custom_regex_block = watson_nlp.resources.feature_extractor.RBR.train(module_folder, language='en', regexes=regexes)
    
    # Save the model to the local file system
    custom_regex_model_path = 'some/path'
    custom_regex_block.save(custom_regex_model_path)
    
    # The model was saved in a file "executor.zip" in the provided path, in this case "some/path/executor.zip"
    model_path = os.path.join(custom_regex_model_path, 'executor.zip')
    
    # Re-load the model as a RBRGeneric block
    custom_block = watson_nlp.blocks.rules.RBRGeneric(watson_nlp.toolkit.rule_utils.RBRExecutor.load(model_path), language='en')
    
  5. 使用 "ibm-watson-studio-lib将模型作为数据资产保存到项目中:

    wslib.save_data("<model name>", custom_block.as_bytes(), overwrite=True)
    

    保存变压器模型时,可以选择以 CPU 格式保存模型。 如果您计划只在 CPU 环境中使用模型,使用这种格式将使您的自定义模型运行得更有效率。 为此,请设置 CPU 格式选项如下:

    wslib.save_data('<model name>', data=custom_model.as_bytes(cpu_format=True), overwrite=True)
    

将从其他项目导入的自定义模型加载到笔记本中:

  1. 确保在项目 "管理"选项卡的 "访问控制"页面上有访问令牌。 只有项目管理员才能创建访问令牌。 访问令牌可以具有查看者或编辑者访问许可权。 只有编辑者才能将该令牌插入到 Notebook 中。

  2. 点击笔记本操作栏上的更多 > 插入项目标记,将项目标记添加到笔记本中,然后运行单元格。 运行插入的隐藏代码单元格时,会创建一个 "wslib对象,您可以将其用于 "ibm-watson-studio-lib库中的函数。 有关可用 "ibm-watson-studio-lib功能的详细信息,请参见 "用 "ibm-watson-studio-lib代替 "Python

  3. 使用 "ibm-watson-studio-lib和 "watson-nlp加载模型:

    custom_block = watson_nlp.load(wslib.load_data("<model name>"))
    

父主题: Watson自然语言处理库

Generative AI search and answer
These answers are generated by a large language model in watsonx.ai based on content from the product documentation. Learn more