|
[blenderbot-400M-distill](https://huggingface.co/facebook/blenderbot-400M-distill) fine-tuned on the [ESConv dataset](https://github.com/thu-coai/Emotional-Support-Conversation). Usage example: |
|
|
|
```python |
|
import torch |
|
from transformers import AutoTokenizer |
|
from transformers.models.blenderbot import BlenderbotTokenizer, BlenderbotForConditionalGeneration |
|
|
|
def _norm(x): |
|
return ' '.join(x.strip().split()) |
|
|
|
tokenizer = BlenderbotTokenizer.from_pretrained('thu-coai/blenderbot-400M-esconv') |
|
model = BlenderbotForConditionalGeneration.from_pretrained('thu-coai/blenderbot-400M-esconv') |
|
model.eval() |
|
|
|
utterances = [ |
|
"I am having a lot of anxiety about quitting my current job. It is too stressful but pays well", |
|
"What makes your job stressful for you?", |
|
"I have to deal with many people in hard financial situations and it is upsetting", |
|
"Do you help your clients to make it to a better financial situation?", |
|
"I do, but often they are not going to get back to what they want. Many people are going to lose their home when safeguards are lifted", |
|
] |
|
input_sequence = ' '.join([' ' + e for e in utterances]) + tokenizer.eos_token # add space prefix and separate utterances with two spaces |
|
input_ids = tokenizer.convert_tokens_to_ids(tokenizer.tokenize(input_sequence))[-128:] |
|
input_ids = torch.LongTensor([input_ids]) |
|
|
|
model_output = model.generate(input_ids, num_beams=1, do_sample=True, top_p=0.9, num_return_sequences=5, return_dict=False) |
|
generation = tokenizer.batch_decode(model_output, skip_special_tokens=True) |
|
generation = [_norm(e) for e in generation] |
|
print(generation) |
|
|
|
utterances.append(generation[0]) # for future loop |
|
``` |
|
|
|
|
|
Please kindly cite the [original paper](https://aclanthology.org/2021.acl-long.269/) if you use this model: |
|
|
|
```bib |
|
@inproceedings{liu-etal-2021-towards, |
|
title={Towards Emotional Support Dialog Systems}, |
|
author={Liu, Siyang and |
|
Zheng, Chujie and |
|
Demasi, Orianna and |
|
Sabour, Sahand and |
|
Li, Yu and |
|
Yu, Zhou and |
|
Jiang, Yong and |
|
Huang, Minlie}, |
|
booktitle={Proceedings of the 59th annual meeting of the Association for Computational Linguistics}, |
|
year={2021} |
|
} |
|
``` |
|
|