Pytorch implementation การสร้างประโยคจากพื้นที่ต่อเนื่อง โดย Bowman และคณะ 2558.
หมายเหตุ: การใช้งานนี้ไม่สนับสนุน LSTM ในขณะนี้ แต่ RNN's และ GRU's




การฝึกซ้อมหยุดลงหลังจาก 4 ยุค elbo ที่แท้จริงได้รับการปรับให้เหมาะสมสำหรับประมาณ 1 ยุค (เช่นเดียวกับผึ้งเห็นในกราฟด้านบน) ผลลัพธ์มีค่าเฉลี่ยตลอดการแยกทั้งหมด
| แยก | NLL | KL |
|---|---|---|
| รถไฟ | 99.821 | 7.944 |
| การตรวจสอบความถูกต้อง | 103.220 | 7.346 |
| ทดสอบ | 103.967 | 7.269 |
Sentenes ได้รับหลังจากการสุ่มตัวอย่างจาก z ~ n (0, i)
นาย n ที่ไม่ได้อยู่กับพนักงานของเขาเองและ nnnnn
ใน n ของ n ของ u s. บริษัท ไม่น่าจะมาถึงความคิดเห็น
เมื่อพวกเขาอยู่ใน N และจากนั้นพวกเขาก็เป็นนันนัน
แต่ บริษัท บอกว่าจะเป็น N ในตอนท้ายของ NN และ NN
แต่ บริษัท บอกว่ามันจะเป็น nn ของ u s. เศรษฐกิจ
Sentenes ได้รับหลังจากการสุ่มตัวอย่างสองครั้งจาก z ~ n (0, i) และการแก้ไขตัวอย่างทั้งสอง
บริษัท กล่าวว่าจะเป็นข้อยกเว้นของ บริษัท
แต่ บริษัท กล่าวว่าจะเป็นข้อยกเว้นของหุ้นของ บริษัท ที่โดดเด่น
แต่ บริษัท กล่าวว่า บริษัท SNN และ NN ของ บริษัท
แต่ SNN ของ บริษัท ในช่วงสองปีที่ผ่านมา
แต่ SNN ของ บริษัท ในช่วงสองปีที่ผ่านมา
แต่ในช่วงไม่กี่ปีที่ผ่านมาที่ บริษัท SNN ของ บริษัท
แต่ในช่วงไม่กี่ปีที่ผ่านมาว่าพวกเขาไม่ได้เปิดเผย
แต่ในช่วงไม่กี่ปีที่ผ่านมาว่าพวกเขาไม่ได้เปิดเผย
แต่ในแถลงการณ์ว่าพวกเขาไม่ทราบถึง $ n ล้านในช่วงไม่กี่สัปดาห์ที่ผ่านมา
แต่ในแถลงการณ์ว่าพวกเขาไม่ได้รับเงินภายในสิ้นสองสามสัปดาห์ที่ผ่านมา
ในการรันการฝึกอบรมโปรดดาวน์โหลดข้อมูลธนาคาร Penn Tree ก่อน (ดาวน์โหลดจากหน้าเว็บของ Tomas Mikolov) รหัสคาดว่าจะค้นหาอย่างน้อย ptb.train.txt และ ptb.valid.txt ในไดเรกทอรีข้อมูลที่ระบุ ข้อมูลยังสามารถโหลดได้ด้วยสคริปต์ dowloaddata.sh
จากนั้นการฝึกอบรมสามารถดำเนินการด้วยคำสั่งต่อไปนี้:
python3 train.py
มีข้อโต้แย้งต่อไปนี้:
--data_dir เส้นทางไปยังไดเรกทอรีที่เก็บข้อมูล PTB และไฟล์ข้อมูลเสริมจะถูกเก็บไว้
--create_data หากมีให้ไฟล์ข้อมูลเสริมใหม่จะถูกสร้างขึ้นรูปแบบแหล่งข้อมูลต้นฉบับ
--max_sequence_length ระบุการตัดประโยคยาว
--min_occ หากคำที่เกิดขึ้นน้อยกว่า "MIN_OCC" ครั้งในคลังข้อมูลมันจะถูกแทนที่ด้วยโทเค็น
--test หากมีประสิทธิภาพจะวัดประสิทธิภาพในชุดทดสอบ
-ep , --epochs
-bs , --batch_size
-lr , --learning_rate
-eb , --embedding_size
-rnn , --rnn_type อย่างใดอย่างหนึ่ง 'rnn' หรือ 'gru'
-hs , --hidden_size
-nl , --num_layers
-bi , --bidirectional
-ls , --latent_size
-wd , --word_dropout Word dropout applied to the input of the Decoder, which means words will be replaced by <unk> with a probability of word_dropout .
-ed , --embedding_dropout Word Embedding DropOut ใช้กับอินพุตของตัวถอดรหัส
-af , --anneal_function ทั้ง 'โลจิสติก' หรือ 'linear'
-k , --k steepness ของฟังก์ชั่นการหลอมโลจิสติก
-x0 , --x0 สำหรับ 'โลจิสติก' นี่คือจุดกึ่งกลาง (เช่นเมื่อน้ำหนักคือ 0.5); สำหรับ 'linear' นี่คือตัวส่วน
-v , --print_every
-tb , --tensorboard_logging หากมีให้ความคืบหน้าการฝึกอบรมจะถูกตรวจสอบด้วย tensorboard
-log , --logdir ไดเรกทอรี logdir ของไฟล์บันทึกสำหรับ tensorboard
-bin , -ไดเรกทอรี --save_model_path สถานที่จัดเก็บจุดตรวจสอบรุ่น
สำหรับการได้รับตัวอย่างและการสอดแทรกระหว่าง Senteces สามารถใช้การอนุมานได้
python3 inference.py -c $CHECKPOINT -n $NUM_SAMPLES