
## DialoGPT_AfriWOZ (Pidgin)

This is a fine-tuned model of DialoGPT (small) on the AfriWOZ dataset. It is intended to be used as a conversational system in Nigeria Pidgin English language.
The dataset it's trained on is limited in scope, as it covers only certain domains such as restaurants, hotel, taxi, and booking.

The perplexity achieved on the validation set is 38.52.

* Generation example from an interactive environment:

|Role | Response |
|------|------------|
|User | I hear say restaurant dey here. |
|Bot | I dey find restaurant. |
|User | Abeg you fit tell me which kind chop dey? |
|Bot | I no dey sure right now. |
|User | You do well. Thank you. |
|Bot | I dey find restauarant. |

Please find the information about preprocessing, training and full details of the DialoGPT in the [original DialoGPT repository](https://github.com/microsoft/DialoGPT)

The paper for this work can be found on arXiv: [https://arxiv.org/pdf/2204.08083.pdf](https://arxiv.org/pdf/2204.08083.pdf)

### How to use

Now we are ready to try out how the model works as a chatting partner!

```python
from transformers import AutoModelForCausalLM, AutoTokenizer
import torch
tokenizer = AutoTokenizer.from_pretrained("tosin/dialogpt_afriwoz_pidgin")
model = AutoModelForCausalLM.from_pretrained("tosin/dialogpt_afriwoz_pidgin")
# Let's chat for 5 lines
for step in range(5):
	# encode the new user input, add the eos_token and return a tensor in Pytorch
	new_user_input_ids = tokenizer.encode(input(">> User:") + tokenizer.eos_token, return_tensors='pt')
	# append the new user input tokens to the chat history
	bot_input_ids = torch.cat([chat_history_ids, new_user_input_ids], dim=-1) if step > 0 else new_user_input_ids
	# generated a response while limiting the total chat history to 1000 tokens, 
	chat_history_ids = model.generate(bot_input_ids, max_length=1000, pad_token_id=tokenizer.eos_token_id)
	# pretty print last ouput tokens from bot
	print("DialoGPT_pidgin_Bot: {}".format(tokenizer.decode(chat_history_ids[:, bot_input_ids.shape[-1]:][0], skip_special_tokens=True)))


{"language": ["en"], "license": "cc-by-4.0", "tags": ["conversational", "transformers"], "datasets": ["AfriWOZ"], "metrics": ["perplexity"], "thumbnail": "https://huggingface.co/front/thumbnails/dialogpt.png", "widget": [{"text": "How I fit chop for here?"}]}
transformers pytorch gpt2 text-generation conversational en dataset:AfriWOZ arxiv:2204.08083 license:cc-by-4.0 autotrain_compatible endpoints_compatible has_space text-generation-inference region:us
TAGS
#transformers #pytorch #gpt2 #text-generation #conversational #en #dataset-AfriWOZ #arxiv-2204.08083 #license-cc-by-4.0 #autotrain_compatible #endpoints_compatible #has_space #text-generation-inference #region-us 

DialoGPT\_AfriWOZ (Pidgin)
--------------------------


This is a fine-tuned model of DialoGPT (small) on the AfriWOZ dataset. It is intended to be used as a conversational system in Nigeria Pidgin English language.
The dataset it's trained on is limited in scope, as it covers only certain domains such as restaurants, hotel, taxi, and booking.


The perplexity achieved on the validation set is 38.52.


* Generation example from an interactive environment:



Please find the information about preprocessing, training and full details of the DialoGPT in the original DialoGPT repository


The paper for this work can be found on arXiv: URL


### How to use


Now we are ready to try out how the model works as a chatting partner!


'''python
from transformers import AutoModelForCausalLM, AutoTokenizer
import torch
tokenizer = AutoTokenizer.from\_pretrained("tosin/dialogpt\_afriwoz\_pidgin")
model = AutoModelForCausalLM.from\_pretrained("tosin/dialogpt\_afriwoz\_pidgin")


Let's chat for 5 lines
======================


for step in range(5):
# encode the new user input, add the eos\_token and return a tensor in Pytorch
new\_user\_input\_ids = URL(input(">> User:") + tokenizer.eos\_token, return\_tensors='pt')
# append the new user input tokens to the chat history
bot\_input\_ids = URL([chat\_history\_ids, new\_user\_input\_ids], dim=-1) if step > 0 else new\_user\_input\_ids
# generated a response while limiting the total chat history to 1000 tokens,
chat\_history\_ids = model.generate(bot\_input\_ids, max\_length=1000, pad\_token\_id=tokenizer.eos\_token\_id)
# pretty print last ouput tokens from bot
print("DialoGPT\_pidgin\_Bot: {}".format(URL(chat\_history\_ids[:, bot\_input\_ids.shape[-1]:][0], skip\_special\_tokens=True)))



### How to use


Now we are ready to try out how the model works as a chatting partner!


'''python
from transformers import AutoModelForCausalLM, AutoTokenizer
import torch
tokenizer = AutoTokenizer.from\_pretrained("tosin/dialogpt\_afriwoz\_pidgin")
model = AutoModelForCausalLM.from\_pretrained("tosin/dialogpt\_afriwoz\_pidgin")


Let's chat for 5 lines
======================


for step in range(5): # encode the new user input, add the eos\_token and return a tensor in Pytorch
new\_user\_input\_ids = URL(input(">> User:") + tokenizer.eos\_token, return\_tensors='pt') # append the new user input tokens to the chat history
bot\_input\_ids = URL([chat\_history\_ids, new\_user\_input\_ids], dim=-1) if step > 0 else new\_user\_input\_ids # generated a response while limiting the total chat history to 1000 tokens,
chat\_history\_ids = model.generate(bot\_input\_ids, max\_length=1000, pad\_token\_id=tokenizer.eos\_token\_id) # pretty print last ouput tokens from bot
print("DialoGPT\_pidgin\_Bot: {}".format(URL(chat\_history\_ids[:, bot\_input\_ids.shape[-1]:][0], skip\_special\_tokens=True)))
TAGS
#transformers #pytorch #gpt2 #text-generation #conversational #en #dataset-AfriWOZ #arxiv-2204.08083 #license-cc-by-4.0 #autotrain_compatible #endpoints_compatible #has_space #text-generation-inference #region-us 
 ### How to use


Now we are ready to try out how the model works as a chatting partner!


'''python
from transformers import AutoModelForCausalLM, AutoTokenizer
import torch
tokenizer = AutoTokenizer.from\_pretrained("tosin/dialogpt\_afriwoz\_pidgin")
model = AutoModelForCausalLM.from\_pretrained("tosin/dialogpt\_afriwoz\_pidgin")


Let's chat for 5 lines
======================


for step in range(5): # encode the new user input, add the eos\_token and return a tensor in Pytorch
new\_user\_input\_ids = URL(input(">> User:") + tokenizer.eos\_token, return\_tensors='pt') # append the new user input tokens to the chat history
bot\_input\_ids = URL([chat\_history\_ids, new\_user\_input\_ids], dim=-1) if step > 0 else new\_user\_input\_ids # generated a response while limiting the total chat history to 1000 tokens,
chat\_history\_ids = model.generate(bot\_input\_ids, max\_length=1000, pad\_token\_id=tokenizer.eos\_token\_id) # pretty print last ouput tokens from bot
print("DialoGPT\_pidgin\_Bot: {}".format(URL(chat\_history\_ids[:, bot\_input\_ids.shape[-1]:][0], skip\_special\_tokens=True)))
passage: TAGS
#transformers #pytorch #gpt2 #text-generation #conversational #en #dataset-AfriWOZ #arxiv-2204.08083 #license-cc-by-4.0 #autotrain_compatible #endpoints_compatible #has_space #text-generation-inference #region-us 
### How to use


Now we are ready to try out how the model works as a chatting partner!


'''python
from transformers import AutoModelForCausalLM, AutoTokenizer
import torch
tokenizer = AutoTokenizer.from\_pretrained("tosin/dialogpt\_afriwoz\_pidgin")
model = AutoModelForCausalLM.from\_pretrained("tosin/dialogpt\_afriwoz\_pidgin")


Let's chat for 5 lines
======================


for step in range(5):# encode the new user input, add the eos\_token and return a tensor in Pytorch
new\_user\_input\_ids = URL(input(">> User:") + tokenizer.eos\_token, return\_tensors='pt')# append the new user input tokens to the chat history
bot\_input\_ids = URL([chat\_history\_ids, new\_user\_input\_ids], dim=-1) if step > 0 else new\_user\_input\_ids# generated a response while limiting the total chat history to 1000 tokens,
chat\_history\_ids = model.generate(bot\_input\_ids, max\_length=1000, pad\_token\_id=tokenizer.eos\_token\_id)# pretty print last ouput tokens from bot
print("DialoGPT\_pidgin\_Bot: {}".format(URL(chat\_history\_ids[:, bot\_input\_ids.shape[-1]:][0], skip\_special\_tokens=True)))