ลองทำ Text classification สำหรับงานด้าน Quantum Natural Language Processing
จากบทความ "เขียน Quantum Machine Learning ได้ด้วย PennyLane" และอบรม Natural Language Processingand Its Relation to Quantum Computing ของดร. ปรัชญา บุญขวัญ
ผมได้ไปเจอบทความ "Classifying Documents with Quantum-enhanced Transfer Learning" ของ Riccardo Di Sipio ซึ่งนำ PennyLane มาทำ Text classification ซึ่งเป็นงานด้าน Quantum Natural Language Processing ด้วย Quantum Machine Learning
ผมนำโค้ดจาก https://github.com/rdisipio/qnlp ของบทความดังกล่าว มาปรับแต่งโค้ดให้รองรับภาษาไทย และทดลองด้วยจำนวน layers ที่มากขึ้นเปรียบเทียบกัน นำมาใช้ลองกับชุดข้อมูล truevoice-intent
เปลี่ยนอะไรบ้างจากโค้ดต้นฉบับ?
เรามาลองทำ Text classification สำหรับงานด้าน Quantum Natural Language Processing
โมเดลที่ลอง
มาลองดูผลลัพธ์กัน
ค่า loss
ผลการทดสอบด้วยชุด test ของชุดข้อมูล truevoice-intent
ค่า loss
ผลการทดสอบด้วยชุด test ของชุดข้อมูล truevoice-intent
ค่า loss
ผลการทดสอบด้วยชุด test ของชุดข้อมูล truevoice-intent
ค่า loss
ผลการทดสอบด้วยชุด test ของชุดข้อมูล truevoice-intent
ลองตัดสินกันว่าโมเดลไหนดีที่สุด?
ข้อสังเกต
- ลองใช้ encoder อื่นนอกจาก Multilingual Universal Sentence Encoder จะให้ผลดีกว่ากันไหม?
- ถ้าปรับโมเดลหรือเพิ่มคิวบิตจะให้ผลอย่างไร?
Notebook ทั้งหมดเก็บไว้ที่ https://github.com/wannaphong/open-thai-nlp-document/tree/master/quantum-nlp/text-classification
ผมได้ไปเจอบทความ "Classifying Documents with Quantum-enhanced Transfer Learning" ของ Riccardo Di Sipio ซึ่งนำ PennyLane มาทำ Text classification ซึ่งเป็นงานด้าน Quantum Natural Language Processing ด้วย Quantum Machine Learning
ผมนำโค้ดจาก https://github.com/rdisipio/qnlp ของบทความดังกล่าว มาปรับแต่งโค้ดให้รองรับภาษาไทย และทดลองด้วยจำนวน layers ที่มากขึ้นเปรียบเทียบกัน นำมาใช้ลองกับชุดข้อมูล truevoice-intent
เปลี่ยนอะไรบ้างจากโค้ดต้นฉบับ?
- เปลี่ยนชุดข้อมูลมาใช้ ชุดข้อมูล truevoice-intent
- เปลี่ยนจาก Universal Sentence Encoder (USE) มาใช้ Multilingual Universal Sentence Encoder แทน
- ปรับ lr มาเป็น 0.01
- เปลี่ยนจำนวนคิวบิตที่ใช้ทดสอบ
เรามาลองทำ Text classification สำหรับงานด้าน Quantum Natural Language Processing
โมเดลที่ลอง
- 4 คิวบิต 1 layers
- 4 คิวบิต 2 layers
- 4 คิวบิต 3 layers
- 4 คิวบิต 4 layers
มาลองดูผลลัพธ์กัน
4 คิวบิต 1 layers
ดู Notebook ในการ run ได้ที่ https://colab.research.google.com/github/wannaphong/open-thai-nlp-document/blob/master/quantum-nlp/text-classification/what_the_quantum-n1-Copy1.ipynbค่า loss
ผลการทดสอบด้วยชุด test ของชุดข้อมูล truevoice-intent
4 คิวบิต 2 layers
ดู Notebook ในการรันได้ที่ https://colab.research.google.com/github/wannaphong/open-thai-nlp-document/blob/master/quantum-nlp/text-classification/what_the_quantum-n2.ipynbค่า loss
ผลการทดสอบด้วยชุด test ของชุดข้อมูล truevoice-intent
4 คิวบิต 3 layers
ดู Notebook ในการรันได้ที่ https://colab.research.google.com/github/wannaphong/open-thai-nlp-document/blob/master/quantum-nlp/text-classification/what_the_quantum-n3.ipynbค่า loss
ผลการทดสอบด้วยชุด test ของชุดข้อมูล truevoice-intent
4 คิวบิต 4 layers
ดู Notebook ในการรันได้ที่ https://colab.research.google.com/github/wannaphong/open-thai-nlp-document/blob/master/quantum-nlp/text-classification/what_the_quantum-n4.ipynbค่า loss
ผลการทดสอบด้วยชุด test ของชุดข้อมูล truevoice-intent
ลองตัดสินกันว่าโมเดลไหนดีที่สุด?
ข้อสังเกต
- ลองใช้ encoder อื่นนอกจาก Multilingual Universal Sentence Encoder จะให้ผลดีกว่ากันไหม?
- ถ้าปรับโมเดลหรือเพิ่มคิวบิตจะให้ผลอย่างไร?
Notebook ทั้งหมดเก็บไว้ที่ https://github.com/wannaphong/open-thai-nlp-document/tree/master/quantum-nlp/text-classification
หากมีข้อผิดพลาดตรงไหนสามารถแจ้งได้นะครับ
ตอบลบ