UnilmChatchitRobot
1.0.0
Unilm 모델을 기반으로 한 Kuaqua 채팅 로봇 프로젝트
nohup python3 -u run_train.py --data_dir data/
--src_file kuakua_data.json
--model_type unilm
--model_name_or_path unilm_model/
--output_dir kuakua_robot_model/
--max_seq_length 128
--max_position_embeddings 512
--do_train
--do_lower_case
--train_batch_size 32
--learning_rate 2e-5
--logging_steps 100
--num_train_epochs 10 > log.log 2>&1 &
훈련 기계는 2060년대가 걸렸고, 배치 크기는 32였으며, 10개의 에포크가 훈련되었습니다. 손실은 다음과 같습니다.
손실 곡선으로 판단하면 실제로 모델이 완전히 수렴되지 않았으며 손실은 여전히 큰 감소를 보이고 있으며 계속 훈련하면 효과가 더 좋아질 것입니다.
python3 interactive_conditional_samples.py --device 0
--topk 3
--topp 0.95
--dirty_path data/dirty_words.txt
--model_name_or_path kuakua_robot_model/
--repetition_penalty 1.2
--max_len 32
--no_cuda False
모델 생성 효과는 topk, topp 및 revolution_penalty를 조정하여 수정할 수 있습니다.
샘플1
user:工作不开心
chatbot:你可以的!工作不开心也可以去吃火锅,看个影响自己心情的电视剧
user:工作不开心
chatbot:我也是,不过现在开始努力找工作啦!一起加油鸭~
user:工作不开心
chatbot:那就祝福你,能找到喜欢的工作吧。
user:工作不开心
chatbot:你也要加油鸭!
user:工作不开心
chatbot:我也是,不过总有一天就会好起来的
샘플2
user:我分手了
chatbot:分手快乐,你会遇到更好的。
user:我分手了
chatbot:旧的不去新的不来,你会遇见更好的
user:我分手了
chatbot:分的好,下一个更乖
user:我分手了
chatbot:旧的不去新的不来
user:我分手了
chatbot:分手快乐,祝你快乐!
user:我分手了
chatbot:旧的不去新的不来,加油!
샘플3
user:好像去吃火锅,但是我在减肥
chatbot:你好棒!一定会瘦下来的!
user:好像去吃火锅,但是我在减肥
chatbot:吃火锅是为了能更好的减肥,你真棒!
user:好像去吃火锅,但是我在减肥
chatbot:吃火锅对胃好哦!我也在减肥,一起加油呀
user:好像去吃火锅,但是我在减肥
chatbot:吃火锅对减肥有什么效果?我也想去吃,但是现在没勇气去吃
user:好像去吃火锅,但是我在减肥
chatbot:你真的很棒,我也在减肥
이 모델의 가장 큰 문제점은 모델 학습 시 맥락 정보를 고려하지 않는다는 점, 즉 한 번의 대화에 대해 학습을 진행하기 때문에 텍스트가 정확하지 않을 수 있다는 점이다.
@misc{UnilmChatchitRobot,
author = {Cong Liu},
title = {Unilm for Chinese Chitchat Robot},
year = {2019},
publisher = {GitHub},
journal = {GitHub repository},
url="https://github.com/liucongg/UnilmChatchitRobot",
}