เริ่มต้นใช้งานเริ่มต้นใช้งานได้ฟรี

Word2Vec

ในแบบฝึกหัดนี้ จะได้สร้างโมเดล Word2Vec โดยใช้ Keras

คอร์ปัสที่ใช้ในการ pre-train โมเดลคือบทพูดจากทุกตอนของซีรีส์ The Big Bang Theory โดยแบ่งเป็นประโยค ซึ่งเก็บไว้ในตัวแปร bigbang

ข้อความในคอร์ปัสถูกแปลงเป็นตัวพิมพ์เล็กทั้งหมด และทุกคำถูก tokenize แล้ว ผลลัพธ์เก็บไว้ในตัวแปร tokenized_corpus

โมเดล Word2Vec ถูก pre-train ด้วย window size 10 คำสำหรับบริบท (5 คำก่อนและ 5 คำหลังคำกลาง) คำที่ปรากฏน้อยกว่า 3 ครั้งจะถูกตัดออก และใช้วิธี skip gram model ที่มี 50 มิติ โมเดลถูกบันทึกไว้ในไฟล์ bigbang_word2vec.model

คลาส Word2Vec โหลดไว้ในสภาพแวดล้อมแล้วจาก gensim.models.word2vec

แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร

Recurrent Neural Networks (RNNs) สำหรับ Language Modeling ด้วย Keras

ดูคอร์ส

คำแนะนำการฝึกหัด

  • โหลดโมเดล Word2Vec ที่ผ่านการ pre-train มาแล้ว
  • สร้าง list ที่มีคำว่า "bazinga", "penny", "universe", "spock", "brain" เก็บไว้ในตัวแปร words_of_interest ตามลำดับนั้น
  • วนซ้ำผ่านแต่ละคำใน words of interest โดยใช้เมธอด .most_similar() บน attribute wv แล้ว append คำที่คล้ายกันที่สุด 5 อันดับแรกลงใน top5_similar_words ในรูปแบบ dictionary
  • Print คำ 5 อันดับแรกที่พบสำหรับแต่ละคำใน words of interest

แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ

ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์

# Word2Vec model
w2v_model = Word2Vec.load(____)

# Selected words to check similarities
words_of_interest = ____

# Compute top 5 similar words for each of the words of interest
top5_similar_words = []
for word in words_of_interest:
    top5_similar_words.append(
      {word: [item[0] for item in w2v_model.wv.____([word], topn=5)]}
    )

# Print the similar words
____
แก้ไขและรันโค้ด