Implemented by TensorFlow
TensorFlow for modeling
Hydra for configurating
Weights & Bias for monitoring
-
감성 대화: emotion coversation dataset, the number of total sentences is 27M. -
한국어 SNS: daily conversation SNS dataset, the number of total turns is 1,600M.
In DialogBERT, The number of total turns of Weibo is 2,052M, MultiWOZ is 11M and DailyDialog is 10M.
(sourced by AIHub)
Subword: We learn and apply BPE using the SentencePiece library. It prepends '_'(U+2581) to every word to mark the original whitespace, then tokenizes text into subword pieces.
Morpeheme-aware Subword: We apply Mecab-Ko and BPE in sequence to make morpheme-aware subwords. BPE is applied after the original text is split into morphemes.
(referenced by An Empirical Study of Tokenization Strategies for Various Korean NLP Tasks)
DialogBERT: Hierarchical Transformer encoder architecture + Novel training objective(masked utterance regression and distributed uttreance re-ordering).
DialogBERT is 40.2M ⟷ DialogGPT is 12.7M.
(paper path DialogBERT: Discourse-Aware Response Generation via Learning to Recover and Rank Utterances)
We reduces the bert-base-uncased configuration to L=6, H=256, A=2.
We limit the number of utterances in each context to 7 words and the utterance length to 30 words.
We use Adam optimizer (not AdamW) with learning rate as 1e^-5 (not 5e^-5).
For more, we reduces context encoder configuration to L=3.
(referenced by DialogBERT: Discourse-Aware Response Generation via Learning to Recover and Rank Utterances)
- Beam Search: It maintains a fixed-size set of partially-decoded sequences, called hypotheses. At each time step, beam search forms new hypotheses by appending each token in the vocabulary to each existing hypothesis, scoring the resulting sequences then selecting the highest scoring sequences.
(referenced by Recipes for building an open-domain chatbot)
(referenced by DIVE INTO DEEP LEARNING)
-
PPL(perplexity):
-
BLEU Score(Bilingual Evaluation Understudy Score): measures how many n-grams in a generated response overlap with those of the reference.
-
NIST: variant ofBLEUthat penalizes uniformative n-grams by assigning weights to n-grams according to their infromation gain. -
SSA(Sensibleness and Specificity Average)
(referenced by DialogBERT: Discourse-Aware Response Generation via Learning to Recover and Rank Utterances)
(referenced by Towards a Human-like Open-Domain Chatbot)
The DialogAll model generates the same response in every conversation.
However, the DialogNug model responses in a variety of ways.
In my opinion, MUR and ORNS are not suitable objective in dialog generation model.
If not, my code is wrong.
click here for Weights & Bias reports.
DialogAll
Accuarcy: 0.4951PPL(Perplexity): 37.256
DialogNug
Accuarcy: 0.509PPL(Perplexity): 31.963




