conversation tensorflow
1.0.0
การใช้ TensorFlow ของโมเดลการสนทนา
แบบอย่าง
seq2seq_attention
: โมเดล Seq2Seq พร้อมตัวถอดรหัสแบบตั้งใจชุดข้อมูล
เริ่มต้นโครงการโดย hb-base
.
├── config # Config files (.yml, .json) using with hb-config
├── data/ # dataset path
├── scripts # download dataset using shell scripts
├── seq2seq_attention # seq2seq_attention architecture graphs (from input to logits)
├── __init__.py # Graph
├── encoder.py # Encoder
├── decoder.py # Decoder
├── data_loader.py # raw_date -> precossed_data -> generate_batch (using Dataset)
├── hook.py # training or test hook feature (eg. print_variables)
├── main.py # define experiment_fn
└── model.py # define EstimatorSpec
การอ้างอิง: hb-config, ชุดข้อมูล, การทดลอง_fn, EstimatorSpec
สามารถควบคุม สภาพแวดล้อมการทดลอง ทั้งหมดได้
ตัวอย่าง: cornell-movie-dialogs.yml
data :
base_path : ' data/cornell_movie_dialogs_corpus/ '
conversation_fname : ' movie_conversations.txt '
line_fname : ' movie_lines.txt '
processed_path : ' processed_cornell_movie_dialogs_data '
word_threshold : 2
max_seq_length : 200
sentence_diff : 0.33 # (Filtering with input and output sentence diff)
testset_size : 25000
PAD_ID : 0
UNK_ID : 1
START_ID : 2
EOS_ID : 3
model :
batch_size : 32
num_layers : 4
num_units : 512
embed_dim : 256
embed_share : true # (true or false)
cell_type : gru # (lstm, gru, layer_norm_lstm, nas)
dropout : 0.2
encoder_type : bi # (uni / bi)
attention_mechanism : normed_bahdanau # (bahdanau, normed_bahdanau, luong, scaled_luong)
train :
learning_rate : 0.001
sampling_probability : 0.25 # (Scheduled Sampling)
train_steps : 100000
model_dir : ' logs/cornell_movie_dialogs '
save_checkpoints_steps : 1000
loss_hook_n_iter : 1000
check_hook_n_iter : 1000
min_eval_frequency : 1000
print_verbose : True
debug : False
predict :
beam_width : 5 # (0: GreedyEmbeddingHelper, 1>=: BeamSearchDecoder)
length_penalty_weight : 1.0
slack :
webhook_url : " " # after training notify you using slack-webhook
ข้อกำหนดในการติดตั้ง
pip install -r requirements.txt
ขั้นแรก ตรวจสอบว่าโมเดลนั้นถูกต้องหรือไม่
python main.py --config check_tiny --mode train
จากนั้น ดาวน์โหลด Cornell_Movie-Dialogs_Corpus และฝึกฝน
sh scripts/prepare_Cornell_Movie-Dialogs_Corpus.sh
python data_loader --config cornell-movie-dialogs # pre-processing data
python main.py --config cornell-movie-dialogs --mode train_and_evaluate
✅ : ทำงาน
◽ : ยังไม่ได้ทดสอบ
evaluate
: ประเมินตามข้อมูลการประเมินextend_train_hooks
: ขยายตะขอสำหรับการฝึกreset_export_strategies
: รีเซ็ตกลยุทธ์การส่งออกด้วย new_export_strategiesrun_std_server
: เริ่มเซิร์ฟเวอร์ TensorFlow และเข้าร่วมเธรดที่ให้บริการtest
: ทดสอบการฝึกอบรม ประเมิน และส่งออกตัวประมาณค่าในขั้นตอนเดียวtrain
: ปรับค่าประมาณโดยใช้ข้อมูลการฝึกtrain_and_evaluate
: แทรกการฝึกอบรมและการประเมินผลหลังจากการฝึกอบรมเริ่มการสนทนา
python chat.py --config cornell-movie-dialogs
tensorboard --logdir logs
> (มนุษย์)
> hi.
i ' m sorry . <s>
> why?
i ' m not interested .
> hmm.. are you human?
nnnnn . <s>
> you are you?
i ' m not going to marry you . <s>
> what? me also!
i ' m sorry . <s>
> anyway, what is your name?
i ' m not going to kill you . <s>
> i'm asking your name.
i ' m sorry . <s>
> yeah, so.. where are you from?
i ' m not sure . <s>
> Have you lost your memory?
i ' m not sure i ' m not going to you . <s>
> Have you ever been to Florida?
i ' m not sure i ' m not a little . <s>
> there there.
no , no , no , no ,
> Are you alright?
i ' m not going to die . <s>
> alsoulutely, you are very healthy.
i don ' t know . <s>
> you know that? you are robot.
i ' m not sure . <s>
> i don ' t know what to say.
i ' m not sure i ' m not a little stupid . <s>
> what do you like to do in your free time?
i ' m not sure i ' m not gonna take you a little more . <s>
> are you in love?
i ' m not sure i ' m not stupid . <s>
> i know.
i ' m not going to let you
> what's your name?
i ' m not sure i ' m not a good guy . <s>
> oh god..
i ' m not going to do that . <s>
> let's talk about something else.
i ' m not sure . <s>
> i have to figure out what is the problem.
i ' m not sure . <s>
> because of you are stupid.
i ' m not going to get you . <s>
> florida?
he is a homosexual - -
> really?
i ' m not sure i
> can you tell me about more detail about him?
i ' m not a cop . <s>
> okay.
i ' m not going to
> you always say 'i....'
i ' m not sure i ' m not a murderer . <s>
> hmm.....
i ' m not sure i ' m not a little popular . <s>
> you are not popular.
i ' m not sure i ' m not a girl .
> are you boy?
i ' m not sure . <s>
> are you girl?
i ' m not sure . <s>
> who are you?
i ' m sorry . <s>
> i'm sorry.
i ' m not crowding . <s>
> just kidding.
i ' m going to be a writer
> great!
i don ' t know .
> what do you mean?
i ' m sorry , i ' m sorry . <s>
> omg
no . <s>
> florida.
he hasn ' t got any
> music is my life.
you ' re a fool , you ' re a man !
> wow!
i ' m not kidding .
> sorry.
i ' m not kidding .
> yeah, i know it.
i ' m not sure . <s>
> california?
what ? <s>
> haha.
it ' s a real competition
ดงจุน ลี ([email protected])