PEEP-Talk is an educational platform with a deep learning-based persona conversation system and a feedback function for correcting English grammar. In addition, unlike the existing persona conversation system, a Context Detector (CD) module that can automatically determine the flow of conversation and change the conversation topic in real time can be applied to give the user a feeling of talking to a real person.
- Download testset of SITUATION-CHAT from this link
By considering persona as a situation, English conversation learning for each situation becomes possible. To make conversational agent model mainly, we use Hugging Face's TransferTransfo code.
This module can detect whether user speak properly in suggested situation or not. This module contains two BERT based models. Evaluate the conversation using the following two functions. Based on that score, we decide whether to change the conversation.
- Situation Similarity(상황 유사도): fine-tuinig the MRPC(Microsoft Research Paraphrase Corpus) dataset to detect user's context similarity in suggested situation.
- Linguistic Acceptability(문장 허용도): fine-tuning the CoLA(The Corpus of Linguistic Acceptability) dataset to detect user's input is acceptable in human conversation.
To give grammar feedback to english learner, We use GEC(Grammar Error Correction) as REST API.
.
├── train.py # train model
├── app.py # REST API code
├── run.py # running PEEP-Talk
├── situation_example.py # example of Situation annotation
├── example_entry.py # example of SITUATION-CHAT
├── requirements.txt
├── LICENSE
└── README.md
to interact with PEEP-talk :
python interact.py
to REST API server:
python app.py
to use Streamlit
streamlit run web.py
to train conversation module
python ./train.py \
--dataset_path "data/situationchat_original.json" \
--model_checkpoint "microsoft/DialoGPT-medium" \
--gradient_accumulation_steps=4 \
--max_history=3 \
--n_epochs=2 \
--num_candidates=4 \
--personality_permutations=4 \
--train_batch_size=8 \
--valid_batch_size=8
The MIT License