ลองทำ 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

เปลี่ยนอะไรบ้างจากโค้ดต้นฉบับ?
  • เปลี่ยนชุดข้อมูลมาใช้  ชุดข้อมูล truevoice-intent
  • เปลี่ยนจาก Universal Sentence Encoder (USE) มาใช้ Multilingual Universal Sentence Encoder แทน
  • ปรับ lr มาเป็น 0.01
  • เปลี่ยนจำนวนคิวบิตที่ใช้ทดสอบ 
โดยทั้งหมด Train จำนวน 20 ep แบ่ง valid 0.15 และ test ด้วยชุด test ของชุดข้อมูล truevoice-intent

เรามาลองทำ Text classification สำหรับงานด้าน Quantum Natural Language Processing

โมเดลที่ลอง
  1. 4 คิวบิต 1 layers
  2. 4 คิวบิต 2 layers
  3. 4 คิวบิต 3 layers
  4. 4 คิวบิต 4 layers
โดยเก็บเอาเฉพาะโมเดลที่ดีที่สุดมาทดสอบกับชุด test ของชุดข้อมูล truevoice-intent

มาลองดูผลลัพธ์กัน

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

ความคิดเห็น

โพสต์ความคิดเห็น

โพสต์ยอดนิยมจากบล็อกนี้

ทำ POS tagging ภาษาไทยโดยใช้ Neural Network ด้วย nlpnet

ทดลองตัดคำภาษาไทยด้วย Unsupervised Learning จากกูเกิล