Как я могу реализовать базовый c ответ на вопрос с обнимающим лицом? - PullRequest
0 голосов
/ 14 февраля 2020

У меня есть:

from transformers import XLNetTokenizer, XLNetForQuestionAnswering
import torch

tokenizer =  XLNetTokenizer.from_pretrained('xlnet-base-cased')
model = XLNetForQuestionAnswering.from_pretrained('xlnet-base-cased')

input_ids = torch.tensor(tokenizer.encode("What is my name?", add_special_tokens=True)).unsqueeze(0)  # Batch size 1
start_positions = torch.tensor([1])
end_positions = torch.tensor([3])
outputs = model(input_ids, start_positions=start_positions, end_positions=end_positions)
loss = outputs[0]

print(outputs)
print(loss)

Согласно документам. Это что-то дает:

(tensor(2.3008, grad_fn=<DivBackward0>),)
tensor(2.3008, grad_fn=<DivBackward0>)

Тем не менее, я хочу получить реальный ответ, если это возможно?

1 Ответ

2 голосов
/ 17 февраля 2020

Спасибо Джо Дэвисону за предоставление ответа в Twitter :

from transformers import pipeline

qa = pipeline('question-answering')
response = qa(context='I like to eat apples, but hate bananas.',
              question='What do I like?')

print(response)

дает ответ:

{'score': 0.282511100858045, 'start': 31, 'end': 38, 'answer': 'bananas.'}

Не совершенно верно, но по крайней мере оценка низкая.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...