Использование конвейера заливки-маски huggingface, чтобы получить более 5 предложений

Приведенное ниже позволяет мне получить 5 предложений для замаскированного токена, но я хотел бы получить 10 предложений - кто-нибудь знает, возможно ли это с обнимающим лицом?

!pip install -q transformers
from __future__ import print_function
import ipywidgets as widgets
from transformers import pipeline

nlp_fill = pipeline('fill-mask')
nlp_fill("I am going to guess <mask> in this sentence")

person user3472360    schedule 09.04.2020    source источник


Ответы (2)


Опять же, это досадный недостаток «строящейся» документации.

Если вы внимательно посмотрите на параметры FillMaskPipeline (это то, что pipeline('fill-mask'), см. здесь), тогда вы обнаружите, что параметр topk=5, который вы можете просто установить по своему вкусу, указав его в конструкторе pipeline:

from transformers import pipeline

nlp_fill = pipeline('fill-mask', topk=10)
person dennlinger    schedule 09.04.2020
comment
В качестве примечания я хочу добавить, что наличие десяти предложений обычно приводит к очень низким показателям достоверности для дальнейших предложений, но я уверен, что вы знаете об этом ;-) - person dennlinger; 09.04.2020

Хочу добавить, что параметр изменен на top_k. Его можно передать каждому отдельному вызову nlp_fill, а также метода pipeline.

person Tobias    schedule 04.12.2020