文章目录
- 自然语言处理
-
- [`FillMaskPipeline` 任务类](#
FillMaskPipeline任务类) - [`TextClassificationPipeline` 任务类](#
TextClassificationPipeline任务类) - [`ZeroShotClassificationPipeline` 任务类](#
ZeroShotClassificationPipeline任务类) - [`TokenClassificationPipeline` 任务类](#
TokenClassificationPipeline任务类) - [`QuestionAnsweringPipeline` 任务类](#
QuestionAnsweringPipeline任务类) - [`TableQuestionAnsweringPipeline` 任务类](#
TableQuestionAnsweringPipeline任务类) - [`TextGenerationPipeline` 任务类](#
TextGenerationPipeline任务类) - [`Text2TextGenerationPipeline` 任务类](#
Text2TextGenerationPipeline任务类) - [`SummarizationPipeline` 任务类](#
SummarizationPipeline任务类) - [`TranslationPipeline` 任务类](#
TranslationPipeline任务类)
- [`FillMaskPipeline` 任务类](#
自然语言处理
Pipeline FillMaskPipeline TableQuestionAnsweringPipeline TextClassificationPipeline ChunkPipeline TokenClassificationPipeline QuestionAnsweringPipeline ZeroShotClassificationPipeline TextGenerationPipeline Text2TextGenerationPipeline SummarizationPipeline TranslationPipeline
在 Transformers 库中,可以对文本进行分类,包括文本分类("sentiment-analysis" 或 "Text classification")任务类、零样本文本分类("zero-shot-classification")任务类和命名实体识别("ner")任务类;可以实现文本生成,包括文本摘要("summarization")任务类、问答("question-answering")任务类、表格问答("table-question-answering")任务类、文本生成("text-generation")任务类、文生文("text2text-generation")任务类、翻译("translation" 或 "translation_xx_to_yy")任务类以及掩码填充("fill-mask")任务类。
FillMaskPipeline 任务类
掩码语言模型(masked language modeling , MLM)类似于我们在考试中经常遇到的完形填空。掩码语言模拟的任务是用一个掩码标记(token)来遮罩一个序列中的标记,并提示模型用一个适当的标记来填充该遮罩。
FillMaskPipeline 使用 MLM 来预测一个文本序列中的词语。 依托 ModelWithLMHead 来实现单词的预测。如果使用 Pipeline 容器类,可通过标识 fill-mask 调用。
构造函数
该类构造函数与父类定义相同。
实例函数
函数原型:
__call__(self, inputs, **kwargs)
其中:
inputs:可以是str类型或者list[str]类型,但文本或者列表中的文本都是使用掩码标记过的文本。top_k:int类型,【可填 】。通过它设置一个值,指定最大的预测数量, 如果设置为None或者更大的数字,则该值将被默认为预测数。tokenizer_kwargs:dict类型。【必填 】。在预处理时使用的参数。传值如tokenizer_kwargs="{"truncation": True}"。mask_token_id:str类型,【必填】,掩码标识符。该标识符要与在掩码文本中使用的一致。targets:str类型或者list[str]类型,【可填】。如果该参数填写并传入,则仅使用所提供的这些词汇来评估得分,而不是整个模型提供的词汇表;如果提供的词汇不在模型提供的词汇表中,则首先先对提供的词汇做标记,并使用第一个结果标记(这可能导致评估很慢)。
返回结果
如果是单句输入,则返回一个由 dict 构成的评估结果列表。字典的构成属性如下:
sequence:str类型,用掩码标记标记过的原始输入文本;score:float类型,评估得分token:int类型,预测的结果标识号token_str:str类型,预测的结果标识名
如果输入是 list,则列表中的每个就是单句输入返回的结构结构。
TextClassificationPipeline 任务类
文本分类任务是将一段文本(可以是句子级别、段落或文档)从预定义的类别集合中进行标记。TextClassificationPipeline 任务类则是完成该功能的特定类;实现具体的功能依托于 ModelForSequenceClassification 类。如果使用 Pipeline 容器类,可通过标识 sentiment-analysis 调用。
构造函数
函数原型:
__init__(self, **kwargs)
无特别说明。
实例函数
函数原型:
__call__(self, inputs, **kwargs)
其中:
inputs:str类型或list[str]类型或者dict[str]类型或者list[dict[str]]类型。从类型支持上看,构造函数可以提供文本对。一般的,我们提供文本即可,但有时有下面需求时,可以使用字典传入文本对:- 文本匹配:判断两个句子是否相似或匹配;
- 文本蕴含:判断一个句子是否能从另一个句子中推断出来;
- 自然语言理解:分析前提与假设之间的关系。
top_k:int类型,【可填 】。通过它设置一个值,指定最大的预测数量, 如果设置为None或者更大的数字,则该值将被默认为预测数。function_to_apply:str类型,【可填 】。指定后处理时用的处理方法;可能值有:sigmoid,softmax,none;默认为softmax,即使用逻辑回归算法。return_all_scores:bool类型,可填,默认为None;是否返回所有的评估得分。该参数已经过期,使用top_k来决定返回的数量;如果top_k为None时表示全部返回。tokenizer_kwargs:dict类型,【必填 】。在预处理时使用的参数。传值如tokenizer_kwargs="{"truncation": True}"。
返回结果
如果给的一句文本或者一个文本对,则返回由 dict 构成的 list;dict由 label 和 score 两个属性构成:
label:str类型,标签或分类名;score:int类型,评估得分。
如果输入是由多个文本或多个文本对组成的列表,列表中的每个值是由单个文本或文本对返回的结果结构
ZeroShotClassificationPipeline 任务类
零样本文本分类也是对给定文本输入进行分类,但和文本分类的区别在于:文本分类是在既定的已知分类上计算分类的得分概率;而零样本文本分类没有可参照的样本,分类集合也是和分析文本通过参数同时传入。
ZeroShotClassificationPipeline 类依托 ModelForSequenceClassification完成具体的功能。如果使用 Pipeline 容器类,可通过标识 zero-shot-classification 调用。
构造函数
函数原型:
__init__(self, args_parser=ZeroShotClassificationArgumentHandler(), *args, **kwargs)
其中:
args_parser:参数解析器,默认使用ZeroShotClassificationArgumentHandler。args:位置参数。kwargs: 字典参数。
实例函数
函数原型:
__call__(self, sequences: Union[str, List[str]], *args, **kwargs)
其中:
sequences:str类型,或者是list[str]类型。multi_class:该参数已过时,使用multi_label代替。candidate_labels:list类型,列表值为str类型。【必填】。通过它传入新的标签或标签列表。hypothesis_template:str类型,输出用的格式化模板;【可选 】,默认为"This example is {}."。multi_label:bool类型,【可选 】。默认为False。表示是否允许多个候选标签。如果为False,则将得分归一化,使每个序列的标签可能性之和趋向于1,即为每个序列分配一个标签; 如果为True,则认为标签是独立的,并且通过对ES与CS指标通过softmax函数计算来对每个候选项的概率归一化。
返回结果
如果给的一句文本,则返回由 dict 构成的 list;dict由 sequence、 label 和 score 两个属性构成:
sequence:str类型,输出序列,输入序列仅是该输出序列的一部分,在其sequence属性中;label:list[str]类型,预测到标签或分类名集合;score:list[float]类型,评估得分集合。
如果输入是由多个文本组成的列表,列表中的每个值是由单个文本或文本对返回的结果结构
TokenClassificationPipeline 任务类
在任何 NLP 任务中,文本都经过预处理,将文本序列分成单个单词或子词。这些被称为 tokens 。Token分类(Token classification)将每个token分配一个来自预定义类别集的标签。
两种常见的 Token 分类是:
- 命名实体识别(
NER):根据实体类别(如组织、人员、位置或日期)对token进行标记。NER在生物医学设置中特别受欢迎,可以标记基因、蛋白质和药物名称。 - 词性标注(
POS):根据其词性(如名词、动词或形容词)对标记进行标记。POS对于帮助翻译系统了解两个相同的单词如何在语法上不同很有用(作为名词的银行与作为动词的银行)。
如果使用 Pipeline 容器类,可通过标识 ner 调用。
构造函数
与父类相同。
实例函数
函数原型:
__call__(self, inputs: Union[str, List[str]], **kwargs)
其中:
-
inputs:str类型,或者是list[str]类型。 -
ignore_labels:List[str]类型,默认为["O"],【可选】。忽略的标签列表。如果设置了值,则标记的词在该列表中则忽略。 -
grouped_entities:bool类型,默认为False,【可选 】。是否在预测中将与同一实体相对应的token放在同一分组。注意:该值将在5.0版本后移除,建议不要再使用该参数或将该值设置为None! -
ignore_subwords:bool类型,【可选 】。是否忽略子词。如果为True,则使用first融合策略;如果为False,使用simple融合策略。注意:该值将在5.0版本后移除,建议不要再使用该参数或将该值设置为None! -
aggregation_strategy:str类型,默认为none; 【可选 】。基于模型预测的token融合策略,可能的值为:-
none:不做任何聚合,只返回模型的原始结果; -
simple:尝试按照默认模式对实体分组。(A, B-TAG), (B, I-TAG), (C, I-TAG), (D, B-TAG2) (E, B-TAG2)将最终为[{"word": ABC, "entity": "TAG"}, {"word": "D", "entity": "TAG2"}, {"word": "E", "entity": "TAG2"}];注意,两个连续的B标签将最终成为不同的实体。在基于单词的语言中,我们可能会不得不将单词分割:想象微软被标记为[{"word": "Micro", "entity": "ENTERPRISE"}, {"word": "soft", "entity": "NAME"}]。寻找FIRST、MAX、AVERAGE来减轻这种情况并消除单词的歧义(在支持这种含义的语言上,基本上是用空格来分隔token)。这些缓解措施只适用于真实的单词,New york可能仍然被标记为两个不同的实体; -
first:(只适用于基于词的模型)将使用SIMPLE策略,除了词,不能以不同的标签结束。当存在歧义时,词将简单地使用词的第一个标记; -
average:(仅适用于基于词的模型)将使用SIMPLE策略,除了词,不能以不同的标签结束。得分将首先在token上平均,然后应用最大标签; -
max:(仅适用于基于词的模型)将使用SIMPLE策略,除了词,不能以不同的标签结束。词实体将成为得分最高的token。
-
-
offset_mapping:list类型,【可选】。偏移映射,表示该标记在原始文本中的起始和结束字符位置。 -
stride:int类型, 【可选 】。如果提供了stride,则将应用于所有文本。文本被分割成大小为model_max_length的块。仅适用于快速标记器和aggregation_strategy不为none情况下。此参数值定义了块之间token重叠的数量。换句话说,模型将按照tokenizer.model_max_length减去stride的步幅往前标记。
返回结果
如果输入是单句文本,则返回一个由 dict 构成的 list。字典具有以下属性键:
- word :
str类型。 分好组的token/词。这是通过解码所选token获得的。如果您想在原始句子中使用完全相同的字符串,使用start和end' 从原始输入文本中提取。 - score :
float类型。 对应的实体的概率。 - entity :
str类型。 为该token/词预测的实体(当aggregation_strategy不是none时,它被命名为entity_group)。 - index :
int类型。 仅当aggregation_strategy="none"时出现,句子中对应token的索引。 - start :
int类型。 可选。句子中对应实体的起始索引。仅当偏移量在标记器中可用时才存在 - end :
int类型。 可选。句子中对应实体的末尾索引。仅当偏移量在标记器中可用时才存在
如果输入是一个列表,即多个文本,则返回的也是一个 list 类型的结果,列表的每项值为单句文本输入时的返回结构。
QuestionAnsweringPipeline 任务类
简言之,问答任务类就是完成根据用户提出的问题给出答案的需求。提供答案的方式有两种:
- 抽取式:给定一个问题和一些上下文,然后模型从给定的上下文抽取出一些文本片段来回答提出的问题;
- 抽象式 :给定一个问题和一些上下文,然后根据问题和上下文生成所需的答案。该方式参见 "
Text2TextGenerationPipeline任务类" 一节。
QuestionAnsweringPipeline 依赖于 ModelForQuestionAnswering 来具体实现所需的功能。如果使用 Pipeline 容器类,可通过标识 question-answering 调用。
构造函数
构造函数定义与父类相同。
实例函数
函数原型:
__call__(self, *args, **kwargs)
问答任务接受的输入有多种可能性,所以将输入与其他输入参数分离出来单独讲解。
首先根据位置参数 args结合来提取,如果位置参数长度为1,则提取出该值作为问题来使用;如果长度为2,则将第一个值作为问题,第二个值作为上下文使用。
如果位置参数没有值,则检查字典参数 kwargs :如果存在 X 属性,则取其值作为输入;如果无 X 键,则检查有无 data 属性键,如果存在,则取其值作为输入;如果 data 键不存在,则检查 question 和content 这两个键是否同时存在,如果都存在,则提取 question 作为问题,提取 content 作为问题的上下文构造输入。
-
top_k:int类型,【可选 】。默认为 1。限制输入的命中数量,指定输出得分最高的前top_k的命中结果。 -
doc_stride:int类型,【可选】。默认为 128。如果上下文太长而不适合模型,那么它将被拆分成几个重叠的块。这个参数控制了重叠的大小。 -
max_answer_len:int类型,【可选】。默认为 15。预测答案的最大长度(例如,只考虑长度较短的答案)。 -
max_seq_len:int类型,【可选 】,默认为 384。限制传入的所有句子(上下文+问题)的最大长度。如果需要,上下文将被分割成几个块(通过设置的doc_stride限定重叠大小)。 -
max_question_len:int类型,【可选】,默认为64。限定在经过分词后的问题的最大长度,如果太长,将被截断。 -
handle_impossible_answer:bool类型,【可选 】,默认为False。是否可接受不可能的答案。 -
align_to_words:bool类型,【可选 】,默认为True。试图将答案与真实单词对齐。提高用空格分隔的语言的质量。可能会影响非空格分隔的语言(如日语或中文)。 -
padding:bool或str或 [~utils.PaddingStrategy] 类型。【可选 】。默认为False或do_not_pad。激活并控制填充。接受以下值:-
True或longest:填充到批处理中最长的序列(如果只提供单个序列,则不填充)。 -
max_length:填充到参数max_length指定的最大长度,如果没有提供该参数,则填充到模型可接受的最大输入长度。 -
False或do_not_pad:无填充(即,可以输出具有不同长度序列的批处理)。
-
返回结果
对于单个问题,返回值如果只有一个答案,则返回 dict的类型,如果有多个答案,则返回由 dict 组成的 list。dict包含以下属性:
score:float类型,答案与问题的相似度得分;越高越相似。start:int类型,answer中的开始索引位置。end:int类型,answer中的结束索引位置。answer:str类型,答案。
如果是多个问题,返回的是一个列表,列表中每项表示对应问题的答案,每项的结构与单个问题返回的结构一致。
TableQuestionAnsweringPipeline 任务类
和问答任务的区别在于,问答任务是通过上下文文本来获取答案,而表格问答任务是通过给定的表格内容获取答案。
TableQuestionAnsweringPipeline 依托 ModelForTableQuestionAnswering 来实现具体的功能。如果使用 Pipeline 容器类,可通过标识 table-question-answering 调用。
构造函数
函数原型:
__init__(self, args_parser=TableQuestionAnsweringArgumentHandler(), *args, **kwargs)
其中:
args_parser:参数解析器,默认使用TableQuestionAnsweringArgumentHandler。args:位置参数。kwargs: 字典参数。
实例函数
函数原型:
__call__(self, *args, **kwargs):
-
sequential:bool类型,【可选 】;默认为False。是按顺序还是作为批次进行推理。批处理速度更快,但是像SQA这样的模型要求按顺序进行推理,以便从给定会话的序列中提取关系。 -
truncation:bool,str或TapasTruncationStrategy类型。【可选 】。默认为False。接受以下值:-
True或drop_rows_to_fit:截断到参数max_length指定的最大长度,如果没有提供该参数,则截断到模型可接受的最大输入长度。这将逐行截断,从表中删除行。 -
False或do_not_truncate:不截断(即,可以输出序列长度大于模型最大可接受输入大小的批处理)。
-
-
padding:bool或str或 [~utils.PaddingStrategy] 类型。【可选 】。默认为False或do_not_pad。激活并控制填充。接受以下值:-
True或longest:填充到批处理中最长的序列(如果只提供单个序列,则不填充)。 -
max_length:填充到参数max_length指定的最大长度,如果没有提供该参数,则填充到模型可接受的最大输入长度。 -
False或do_not_pad:无填充(即,可以输出具有不同长度序列的批处理)。
-
-
table:pd.DataFrame或Dict类型,【必填 】。如果是dict类型的值使用pandas.DataFrame.from_dict转换为pd.DataFrame;提供的表数据。与query组合使用。 -
query:str或List[str]类型,【必填 】。查询的问题或问题列表。与table组合使用。
返回结果
如果 query 为 单个查询,如果只有一个答案,则返回 dict 类型结果;如果返回多个答案,则返回由 dict 组成的 list。字典由以下属性构成:
answer:str类型。从给定表中查询到的答案。如果使用了聚合器(aggregator参数),答案将以AGGREGATOR >开头。coordinates:List[Tuple[int, int]]形式的组合类型。答案来源的单元格(行、列)。cells:List[str]类型。组合成答案的来源于表格的值。aggregator:str类型。如果模型指定了聚合器,则返回模型中指定的聚合器名称。
如果 query 是一组查询,则返回一个 list。列表中的每一项的结构和 query 为单查询的返回一致。
TextGenerationPipeline 任务类
文本生成(Text Generation)是一种预测文本序列中词元的任务。它预测将跟随指定文本提示的词元。当底层模型是会话模型时,它还可以接受一个或多个聊天,在这种情况下,将以聊天模式展开,通过添加响应来继续聊天。每个响应都采用由 dict 构成的 list 形式返回,其中字典包含 role 和 content 属性键。
TextGenerationPipeline 类依托可提供的 ModelWithLMHead 来实现具体功能。如果使用 Pipeline 容器类,可通过标识 text-generation 调用。
构造函数
函数原型:
__init__(self, *args, **kwargs)
无特别说明。
实例函数
函数原型:
__call__(self, text_inputs, **kwargs)
其中:
-
text_inputs:支持str、list[str]、List[Dict[str, str]]或List[List[Dict[str, str]]]类型。当一个或者几个或者一组提示传入时,该任务将继续执行每个提示。或者传递一个由带有role和content属性的字典构成的列表的聊天列表。在传递聊天信息时,将使用模型的聊天模板对其进行格式化,然后再将其传递给模型。 -
return_tensors:bool类型,【可选 】,默认为False。返回输出中包含预测的张量(作为标记索引);如果为True,则只返回张量而不返回解码后的文本。 -
return_text:bool类型,【可选 】。如果为True则在输出中包含解码后的文本。 -
return_full_text:bool类型,【可选 】。默认为True。如果为False,则只返回添加的文本。否则将返回所有的文本。该参数不要和return_text参数同时使用。 -
clean_up_tokenization_spaces:bool类型,【可选 】。默认为True。是否清除文本输出中潜在的额外空格。 -
continue_final_message:bool类型,【可选 】。默认为True。指示模型把每个聊天输入作为最后一条消息处理,而不是作为新的开始,从而允许"预填充"其响应。如果希望在聊天的最后一条聊天记录中的role属性值为assistant,则将该参数设置为True。 -
prefix:str类型,【可选】,默认为空字符串。添加到提示中的前缀。 -
handle_long_generation:str,【可选 】,默认为None。默认情况下,任务不处理长文本生成(以某种形式超过模型最大长度的生成)。对于长文本生成,没有好的解决办法,只能根据实际情况来确定;可以设置为以下值:-
None:不需要任何处理。 -
hole:截断输入的左侧,并留下足够的宽度让生成(可能会截断很多提示符,当生成超出模型容量时不适用)
-
-
generate_kwargs:dict类型,【可选 】。额外的关键字参数字典,在调用模型的generate方法时传入。
返回结果
如果是单句,在返回由 dict 构成的 list;字典 dict 至少由以下属性键构成:
generated_text:str类型,生成的解码文本。需要返回,则设置return_text=True。generated_token_ids:torch.Tensor或tf.Tensor类型。返回生成文本的张量(token id)。需要返回,则设置return_tensors=True。
Text2TextGenerationPipeline 任务类
文生文(Text-to-Text)和文本生成(Text Generation)两者都是自然语言处理(NLP)的子领域,但它们有不同的重点和应用场景;文生文则指的是将一段文本转换为另一段文本的技术,例如:机器翻译、文本摘要、风格转换,这种技术通常使用序列到序列模型或变换器模型来训练语言模型,从而能够根据输入的文本生成新的文本内容。
Text2TextGenerationPipeline 依托 seq2seq 实现具体功能。如果使用 Pipeline 容器类,可通过标识 text2text-generation 调用。
构造函数
函数原型:
__init__(self, *args, **kwargs)
无特别说明。
实例函数
函数说明:
__call__(self, *args, **kwargs)
其中:
-
args:str或List[str]类型。输入文本 -
return_tensors:bool【可选 】,默认为False。返回输出中包含预测的张量(作为标记索引);如果为True,则只返回张量而不返回解码后的文本。 -
return_text:bool类型,【可选 】,默认为True。如果为True则在输出中包含解码后的文本。 -
return_type:ReturnType类型。【可选 】,默认为None。设定输出返回的内容,即是返回张量还是解码后的文本。 -
stop_sequence:str或者list类型。停止词。 -
clean_up_tokenization_spaces:bool类型,【可选 】。默认为True。是否清除文本输出中潜在的额外空格。 -
truncation:TruncationStrategy类型,【可选 】,默认为TruncationStrategy.DO_NOT_TRUNCATE。接受以下值:-
drop_rows_to_fit:截断到参数max_length指定的最大长度,如果没有提供该参数,则截断到模型可接受的最大输入长度。这将逐行截断,从表中删除行。 -
do_not_truncate:不截断(即,可以输出序列长度大于模型最大可接受输入大小的批处理)。
-
-
generate_kwargs:后处理所需的配置参数字典;可选 。可包含在forward_params参数字典中。
返回结果
如果是单文本输入,则返回一个由 dict 构成的 list,字典由以下属性键构成:
generated_text:str类型,解码后的生成文本。如果需要该文本,需要设置return_text=True,否则不输出。generated_token_ids:torch.Tensor或tf.Tensor类型,推理后得到的结果张量。如果需要该返回,需要设置return_tensors=True。
如果是多个文本输入,也是返回一个 list,list的每项值的结构和单文本的返回结构相同。
SummarizationPipeline 任务类
文本摘要是从给定的较长的输入文本中提取文本的摘要,并尽可能保留原始文档的大部分含义。
SummarizationPipeline 类继承于 Text2TextGenerationPipeline ,它本质也是文生文的范畴。
如果使用 Pipeline 容器类,可通过标识 summarization调用。
构造函数
构造函数定义与父类相同
实例函数
函数原型:
__call__(self, *args, **kwargs)
其中:
documents:str或List[str]类型。输入文本。注意 : 对输入文本的读取,是按照位置参数args提取的,要求输入文本必须是第一个参数;并不没有documents这个属性,仅是为了说明方便。return_text:bool类型,【可选 】,默认为True。如果为True则在输出中包含解码后的文本。return_tensors:bool【可选 】,默认为False。返回输出中包含预测的张量(作为标记索引);如果为True,则只返回张量而不返回解码后的文本。clean_up_tokenization_spaces:bool类型,【可选 】。默认为True。是否清除文本输出中潜在的额外空格。generate_kwargs:后处理所需的配置参数字典;可选 。可包含在forward_params参数字典中。- 其他参数:参见
Text2TextGenerationPipeline的说明。
返回结果
如果是单文本输入,则返回一个由 dict 构成的 list,字典由以下属性键构成:
summary_text:str类型,解码后的生成文本。如果需要该文本,需要设置return_text=True,否则不输出。summary_token_ids:torch.Tensor或tf.Tensor类型,推理后得到的结果张量。如果需要该返回,需要设置return_tensors=True。
如果是多个文本输入,也是返回一个 list,list的每项值的结构和单文本的返回结构相同。
TranslationPipeline 任务类
翻译(Translation)是将一种语言的文本序列转换为另一种语言的文本序列。它对于帮助来自不同背景的人们相互交流、帮助翻译内容以吸引更广泛的受众,甚至成为学习工具以帮助人们学习一门新语言都非常重要。
TranslationPipeline 类继承自 Text2TextGenerationPipeline,具体实现翻译的需求在 Hub 提供了许多模型做支持,可以选取其中一个合适的模型来使用。如果使用 Pipeline 容器类,可通过标识 translation_xx_to_yy 或 translation 调用。
构造函数
原型函数定义与父类相同。
实例函数
函数原型:
__call__(self, *args, **kwargs):
其中:
args:str或List[str]类型。输入文本。按照位置参数args提取的,要求输入文本必须是第一个参数;return_tensors:bool【可选 】,默认为False。返回输出中包含预测的张量(作为标记索引);如果为True,则只返回张量而不返回解码后的文本。return_text:bool类型,【可选 】,默认为True。如果为True则在输出中包含解码后的文本。clean_up_tokenization_spaces:bool类型,【可选 】。默认为True。是否清除文本输出中潜在的额外空格。src_lang:str类型,【可选】,源语种。根据具体需求确定是否需要多语言模型,这对单对翻译模型没有影响。tgt_lang:str类型,【可选】,目标语种。根据具体需求确定是否需要多语言模型,这对单对翻译模型没有影响。generate_kwargs:后处理所需的配置参数字典;可选 。可包含在forward_params参数字典中。- 其他参数:参见
Text2TextGenerationPipeline的说明。
返回结果
- 如果是单文本输入,则返回一个由
dict构成的list,字典由以下属性键构成:translation_text:str类型,解码后的生成文本。如果需要该文本,需要设置return_text=True,否则不输出。translation_token_ids:torch.Tensor或tf.Tensor类型,推理后得到的结果张量。如果需要该返回,需要设置return_tensors=True。
- 如果是多个文本输入,也是返回一个
list,list的每项值的结构和单文本的返回结构相同。