การฉายภาพ word vectors
การแสดง word vectors บน scatter plot ช่วยให้เห็นว่าคำต่าง ๆ ในคลังคำถูกจัดกลุ่มอย่างไร แต่เนื่องจาก word vectors มีมิติสูง จึงต้องลดมิติลงเหลือ 2 มิติก่อน โดยใช้การวิเคราะห์องค์ประกอบหลัก (Principal Component Analysis หรือ PCA) เพื่อดึงสององค์ประกอบหลักออกมา
ในแบบฝึกหัดนี้ จะได้ฝึกดึง word vectors และฉายภาพลงบนพื้นที่ 2 มิติโดยใช้ไลบรารี PCA จาก sklearn
มีรายการคำสั้น ๆ เก็บอยู่ใน list words พร้อมกับโมเดล en_core_web_md ที่โหลดไว้เป็น nlp โดยไลบรารีที่จำเป็นทั้งหมดถูก import ไว้แล้ว (PCA, numpy ในชื่อ np)
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
การประมวลผลภาษาธรรมชาติด้วย spaCy
คำแนะนำการฝึกหัด
- ดึง word ID จากคำที่กำหนดและเก็บไว้ใน list
word_ids - ดึง word vectors 5 ตัวแรกของคำเหล่านั้น แล้วนำมาเรียงซ้อนในแนวตั้งด้วย
np.vstack()เก็บไว้ในword_vectors - ใช้ object
pcaที่กำหนดให้คำนวณ word vectors ที่แปลงแล้วโดยเรียกฟังก์ชัน.fit_transform() - แสดงผลองค์ประกอบแรกของ word vectors ที่แปลงแล้วโดยใช้ indexing
[:, 0]
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
words = ["tiger", "bird"]
# Extract word IDs of given words
word_ids = [nlp.____.____[w] for w in words]
# Extract word vectors and stack the first five elements vertically
word_vectors = np.vstack([nlp.____.____[i][:5] for i in word_ids])
# Calculate the transformed word vectors using the pca object
pca = PCA(n_components=2)
word_vectors_transformed = pca.____(____)
# Print the first component of the transformed word vectors
print(____[:, 0])