0 / 0
Go back to the English version of the documentation
使用预先训练的模型
Last updated: 2024年11月07日
使用预先训练的模型

Watson Natural Language Processing 提供 20 多种语言的预训练模型。 他们由专门的专家团队组织,并对每种特定语言的质量进行评估。 这些经过预先训练的模型可以在生产环境中使用,而不必担心许可证或知识产权违规。

装入和运行模型

要装入模型,首先需要知道其名称。 模型名称遵循对模型类型 (例如分类或实体抽取) ,算法类型 (例如 SVM 或变换器) ,语言代码和类型系统详细信息进行编码的标准约定。

要查找与您的需求相匹配的模型,请使用任务目录。 请参阅 Watson NLP 任务目录

通过在块类 run() 方法上使用 help() ,可以找到给定块类 (例如, "实体提及" 模型) 的预期输入:

import watson_nlp

help(watson_nlp.blocks.keywords.TextRank.run)

Watson Natural Language Processing 通过块和工作流程封装自然语言功能。 每个块或工作流程都支持以下功能:

  • load(): 装入模型
  • run(): 对输入自变量运行模型
  • train(): 根据您自己的数据训练模型 (并非所有块和工作流程都支持训练)
  • save(): 保存已根据您自己的数据训练的模型

存在两种类型的块:

工作流程 在管道中的输入文档上再运行一个块。

直接在输入文档上操作的块

直接在输入文档上操作的块的一个示例是语法块,它执行自然语言处理操作,例如记号化,词元化,部分语音标记或依赖关系解析。

示例: 对文本片段运行语法分析:

import watson_nlp

# Load the syntax model for English
syntax_model = watson_nlp.load('syntax_izumo_en_stock')

# Run the syntax model and print the result
syntax_prediction = syntax_model.run('Welcome to IBM!')
print(syntax_prediction)

依赖于其他块的块

依赖于其他块的块不能直接应用于输入文档。 它们应用于一个或多个前置块的输出。 例如, "关键字抽取" 块取决于 "语法" 和 "名词短语" 块。

可以装入这些块,但只能在输入文档上按特定顺序运行这些块。 例如:

import watson_nlp
text = "Anna went to school at University of California Santa Cruz. \
        Anna joined the university in 2015."

# Load Syntax, Noun Phrases and Keywords models for English
syntax_model = watson_nlp.load('syntax_izumo_en_stock')
noun_phrases_model = watson_nlp.load('noun-phrases_rbr_en_stock')
keywords_model = watson_nlp.load('keywords_text-rank_en_stock')

# Run the Syntax and Noun Phrases models
syntax_prediction = syntax_model.run(text, parsers=('token', 'lemma', 'part_of_speech'))
noun_phrases = noun_phrases_model.run(text)

# Run the keywords model
keywords = keywords_model.run(syntax_prediction, noun_phrases, limit=2)
print(keywords)

工作流程

工作流程是从原始文档到最终块的预定义端到端管道,其中所有必需的块都作为工作流程管道的一部分进行链接。

有关如何调用实体提及工作流程的示例,请参阅本示例:

import watson_nlp

# Load the workflow model
mentions_workflow = watson_nlp.load('entity-mentions_transformer-workflow_multilingual_slate.153m.distilled')

# Run the entity extraction workflow on the input text
mentions_workflow.run('IBM announced new advances in quantum computing', language_code="en")

父主题: Watson Natural Language Processing 库

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