การวัดความคล้ายคลึงของเวกเตอร์คำ
ในบทเรียนนี้ เราจะทำความเข้าใจพลังของเวกเตอร์คำ (word vectors) โดยใช้เวกเตอร์คำที่ฝึกจากข้อมูลจริง ซึ่งดึงมาจากชุดเวกเตอร์คำที่เผยแพร่โดย Stanford NLP group เวกเตอร์คำคือลำดับหรือเวกเตอร์ของค่าตัวเลข ตัวอย่างเช่น
dog = (0.31, 0.92, 0.13)
ระยะห่างระหว่างเวกเตอร์คำสามารถวัดได้ด้วยเมทริกความคล้ายคลึงแบบคู่ (pairwise similarity metric) ในที่นี้เราจะใช้ sklearn.metrics.pairwise.cosine_similarity โดย cosine similarity จะให้ค่าสูงเมื่อเวกเตอร์สองตัวมีความคล้ายคลึงกันในแต่ละมิติมาก และให้ค่าต่ำเมื่อมีความคล้ายคลึงน้อย
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
Machine Translation ด้วย Keras
คำแนะนำการฝึกหัด
- แสดงค่าความยาวของ
cat_vectorโดยใช้แอตทริบิวต์ndarray.size - คำนวณและแสดงค่าความคล้ายคลึงระหว่าง
cat_vectorกับwindow_vectorโดยใช้cosine_similarity - คำนวณและแสดงค่าความคล้ายคลึงระหว่าง
cat_vectorกับdog_vectorโดยใช้cosine_similarity
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
from sklearn.metrics.pairwise import cosine_similarity
# Print the length of the cat_vector
print('Length of the cat_vector: ', ____.____)
# Compute and print the similarity between cat and window vectors
dist_cat_window = ____(____, window_vector)
print('Similarity(cat, window): ', ____)
# Compute and print the similarity between cat and dog vectors
print('Similarity(cat,dog): ', ____(____, ____))