บทที่ 2 · AI เข้าใจความหมายยังไง หน้า 3/12 ~3 นาที

Cosine similarity: ชี้ไปทางเดียวกันแค่ไหน

มีพิกัดแล้ว เราต้องการตัวเลขตัวเดียวที่บอกว่าสองคำ "คล้ายกัน" แค่ไหน เครื่องมือมาตรฐานคือ ความคล้ายโคไซน์ (cosine similarity)วัดว่าลูกศรสองอันชี้ไปทางเดียวกันแค่ไหน ได้ค่าระหว่าง −1 ถึง 1 โดยไม่สนความยาวดูคำศัพท์ทั้งหมด ซึ่งดูว่าลูกศรสองอัน ชี้ไปทางเดียวกัน แค่ไหน

ส่วนบนคือ ผลคูณจุด (dot product)เอาตัวเลขตำแหน่งเดียวกันของสองเวกเตอร์มาคูณกัน แล้วบวกรวม ยิ่งชี้ไปทางเดียวกันยิ่งได้ค่ามากดูคำศัพท์ทั้งหมด: คูณตัวเลขตำแหน่งเดียวกันเป็นคู่ แล้วบวก

ส่วนล่างคือความยาวของลูกศรทั้งสองคูณกัน (จากหน้าก่อน)

ลองคิดตาม: แมว (0.9, 0.8) กับ หมา (0.8, 0.9)

  1. dot:
  2. ความยาว: ‖แมว‖ = ‖หมา‖ = ดังนั้นส่วนล่าง
  3. หาร: 0.9931

เกือบ 1 แปลว่าแมวกับหมาชี้ไปทางเกือบเดียวกัน

แผนที่ความหมาย 2 มิติ

แตะหรือเลือกที่ปลายลูกศรเพื่อดูพิกัด

แมวหมา

ใช้ปุ่มลูกศรเลื่อนทีละ 0.05 กด Shift ค้างเพื่อเลื่อนทีละ 0.20

แมว (0.90, 0.80) · หมา (0.80, 0.90)

มุม θ (แมว–หมา)
6.7°
แมว·หมา
1.4400
cos θ (แมว–หมา)
0.9931
พิกัดและความยาวของเวกเตอร์ (ตารางตัวเลขสำหรับโปรแกรมอ่านหน้าจอ)
เวกเตอร์xyความยาว
แมว0.900.801.2042
หมา0.800.901.2042

ค่าพิเศษที่ควรจำ

คู่เวกเตอร์ลักษณะcosine
(1, 2) กับ (2, 4)ทิศเดียวกัน (ยาวไม่เท่ากัน)1
(1, 0) กับ (0, 1)ตั้งฉาก0
(1, 0) กับ (−1, 0)ตรงข้ามกัน−1

cosine similarity ใกล้ 1 = ความหมายไปทางเดียวกัน ใกล้ 0 = ไม่เกี่ยวกัน ไม่สนว่าลูกศรยาวแค่ไหน

มังคุด มาสคอตมังคุด

มังคุด

ทำไมไม่วัดระยะห่างระหว่างจุดตรงๆ ล่ะ?