คำถามยอดนิยม
ไทมไลน์
แชท
มุมมอง

Word2vec

จากวิกิพีเดีย สารานุกรมเสรี

Remove ads

word2vec เป็นชุดของแบบจำลองที่ใช้ในการสร้างการฝังคำ แบบจำลองเหล่านี้เป็นโครงข่ายประสาทเทียมสองชั้นแบบตื้นที่ได้รับการฝึกเพื่อสร้างบริบททางภาษาของคำขึ้นใหม่ โดยใช้คลังข้อความ ขนาดใหญ่ และสร้างปริภูมิเวกเตอร์ขึ้นมาอันหนึ่ง โดยทั่วไปปริภูมิเวกเตอร์นี้ประกอบด้วยหลายร้อยมิติ และแต่ละคำในคลังข้อมูลถูกกำหนดให้กับเวกเตอร์แต่ละตัวภายในปริภูมิเวกเตอร์ เวกเตอร์คำที่ใช้บริบทเดียวกันภายในคลังข้อมูลจะถูกวางไว้ใกล้กันในปริภูมิเวกเตอร์[1]

word2vec ถูกสร้างขึ้น ตีพิมพ์ และจดสิทธิบัตรในปี 2013 โดยทีมนักวิจัยที่นำโดยโตมาช มิโคโลฟ (Tomáš Mikolov) จากกูเกิล ขั้นตอนวิธีนี้ได้รับการวิเคราะห์และอธิบายโดยนักวิจัยคนอื่น ๆ[2][3]

การฝังเวกเตอร์ที่สร้างขึ้นโดยใช้ขั้นตอนวิธี word2vec มีข้อดีหลายประการเมื่อเปรียบเทียบกับขั้นตอนวิธีก่อนหน้า เช่น การวิเคราะห์ความหมายแฝง[1]

Remove ads

แบบจำลอง CBoW และแบบจำลอง skip-gram

Thumb
แบบจำลอง CBoW
Thumb
แบบจำลอง skip-gram

แบบจำลอง word2vec แบ่งหลัก ๆ เป็น 2 แบบตามวิธีการในการฝึก คือ แบบจำลอง ถุงคำแบบต่อเนื่อง (continuous bag-of-words, CBoW) และ แบบจำลอง skip-gram

แบบจำลอง CBoW ทำนายคำปัจจุบันจากคำบริบทโดยรอบ โดยลำดับของคำในบริบทไม่ได้ถูกนำมาคิดด้วย ส่วนแบบจำลอง skip-gram ใช้คำปัจจุบันเพื่อทำนายคำที่อยู่รอบข้าง ยิ่งคำที่อยู่รอบข้างมีความใกล้เคียงคำปัจจุบันมากเท่าไร ยิ่งให้น้ำหนักต่อคำรอบข้างนั้นมากขึ้นเท่านั้น[1]

ตามบันทึกของผู้เขียน[4] แบบจำลอง skip-gram จะช้ากว่ารูปแบบ CBoW แต่จะได้ผลดีสำหรับคำที่มีความถี่ต่ำในการปรากฏต่ำ

Remove ads

การกำหนดพารามิเตอร์

สรุป
มุมมอง

ผลการฝึก word2vec อาจขึ้นอยู่กับการกำหนดพารามิเตอร์ โดยพารามิเตอร์ที่สำคัญแบ่งออกเป็นหลายส่วน

ขั้นตอนวิธีการฝึก

แบบจำลอง word2vec สามารถฝึกได้โดยวิธีซอฟต์แมกซ์แบบลำดับชั้น หรือวิธีการสุ่มตัวอย่างเชิงลบ

เพื่อที่จะทำการประมาณค่าล็อกภาวะน่าจะเป็นมีเงื่อนไขที่จะทำให้แบบจำลองทำงานได้ดีที่สุด วิธีซอฟต์แมกซ์แบบลำดับชั้นจะใช้การเข้ารหัสฮัฟฟ์แมนเพื่อลดการคำนวณ ในขณะที่วิธีการสุ่มตัวอย่างเชิงลบจะทำโดยการลดลดภาวะน่าจะเป็นขององค์ประกอบเชิงลบให้น้อยที่สุด

ตามที่ผู้เขียนกล่าวไว้ วิธีซอฟต์แมกซ์แบบลำดับชั้นมีประสิทธิภาพมากกว่า สำหรับคำที่มีความถี่ในการปรากฏต่ำ ในขณะที่การสุ่มตัวอย่างเชิงลบจะมีประสิทธิภาพมากกว่า สำหรับคำที่มีความถี่สูงและเวกเตอร์มิติต่ำ[4] เมื่อจำนวนขั้นการฝึกเพิ่มขึ้น วิธีซอฟต์แมกซ์แบบลำดับชั้นจะมีประโยชน์น้อยลง[5]

การสุ่มตัวอย่าง

คำที่มีความถี่ในการปรากฏสูงให้ข้อมูลเพียงเล็กน้อย การสุ่มตัวอย่างแค่คำที่มีความถี่เกินค่าขีดแบ่งจะช่วยเร่งความเร็วในการฝึกได้[6]

มิติ

ยิ่งมิติสูง คุณภาพการฝังคำก็จะยิ่งดีขึ้น แต่เมื่อมิติเพิ่มขึ้นถึงจุดหนึ่ง ผลของการเพิ่มมิติจะเห็นความเปลี่ยนแปลงลดลง[1] โดยทั่วไปแล้ว จำนวนมิติเวกเตอร์จะตั้งค่าไว้ระหว่าง 100 ถึง 1,000

หน้าต่างบริบท

จำนวนคำก่อนและหลังคำเป้าหมายที่จะรวมเป็นคำบริบทจะถูกกำหนดโดยขนาดของหน้าต่างบริบท ขนาดหน้าต่างบริบทที่ผู้เขียนแนะนำอยู่ที่ 10 สำหรับ skip-gram และอยู่ที่ 5 สำหรับ CBoW[4]

Remove ads

แนวคิดต่อยอด

มีการเสนอแนวคิดต่อยอด word2vec เพื่อสร้างการฝังจากเอกสารทั้งหมด (แทนที่จะเป็นคำเดี่ยว ๆ) [7] วิธีแนวคิดต่อยอดนี้เรียกว่า paragraph2vec หรือ doc2vec ถูกนำไปใช้ใน ภาษาซี, ภาษาไพธอน[8] [9] และ ภาษาจาวา/ภาษาสกาลา[10] การใช้งานภาษาจาวาและภาษาไพธอนยังรองรับการอนุมานการฝังคำสำหรับเอกสารใหม่ที่เพิ่งเจอครั้งแรกด้วย

การวิเคราะห์

สาเหตุที่การเรียนรู้การฝังคำโดยใช้ word2vec ประสบความสำเร็จนั้นยังไม่เป็นที่เข้าใจกันดีนัก ก็อลท์แบร์ค และ เลวี ได้ชี้ให้เห็นว่าฟังก์ชันวัตถุประสงค์ word2vec ให้ผลการฝังที่คล้ายกัน (วัดโดยความคล้ายคลึงโคไซน์) สำหรับคำที่ปรากฏในบริบทที่คล้ายคลึงกัน ซึ่งสอดคล้องกับสมมติฐานการแจกแจงของจอห์น รูเปิร์ต เฟิร์ธ[2]

Levy et al. (2015)[11] ได้แสดงให้เห็นว่าประสิทธิภาพที่เหนือกว่าของ word2vec หรือการฝังที่คล้ายกันในงานแยกเฉพาะเป็นผลมาจากการเลือกไฮเปอร์พารามิเตอร์เฉพาะ มากกว่าจะเป็นผลมาจากตัวแบบจำลองเอง การถ่ายโอนไฮเปอร์พารามิเตอร์เหล่านี้ไปใช้แนวทางที่เป็นแบบดั้งเดิมมากขึ้นจะทำให้ได้ประสิทธิภาพที่คล้ายคลึงกันในงานแยกเฉพาะ อาโรราและคณะอธิบายว่า word2vec และขั้นตอนวิธีที่เกี่ยวข้องเป็นการดำเนินการอนุมานแบบจำลองก่อกำเนิดอย่างง่ายสำหรับข้อความ[12] ซึ่งรวมถึงกระบวนการสร้างการเดินแบบสุ่มตามแบบจำลองหัวข้อบันทึกเชิงเส้น พวกเขาใช้สิ่งนี้เพื่ออธิบายคุณสมบัติหลายประการของการฝังคำ รวมถึงการใช้เพื่อแก้ไขคำเปรียบเทียบ

Remove ads

การเก็บความสัมพันธ์ทางความหมายและวากยสัมพันธ์

Thumb
ภาพแสดงความสัมพันธ์ของคำโดยระยะห่างในปริภูมิเวกเตอร์

วิธีการฝังคำสามารถจับความคล้ายคลึงกันระหว่างคำได้หลายระดับ มิโคโลฟและคณะ (2013) [13] พบว่ารูปแบบความหมายและวากยสัมพันธ์สามารถทำซ้ำได้โดยใช้การดำเนินการแบบเวกเตอร์ รูปแบบต่าง ๆ เช่น "ความสัมพันธ์ ชาย->หญิง" และ "ความสัมพันธ์ พี่ชายน้องชาย->พี่สาวน้องสาว" นั้นมีความเหมือนกัน สามารถสร้างขึ้นได้โดยการดำเนินการทางพีชคณิตในการแสดงเวกเตอร์ของคำเหล่านี้ นั่นคือการแสดงเวกเตอร์ของ "พี่ชาย" - "ชาย" + "หญิง" ให้ผลลัพธ์ที่ใกล้เคียงกับการแสดงเวกเตอร์ของ "น้องสาว" มาก ความสัมพันธ์ดังกล่าวสามารถสร้างขึ้นสำหรับความสัมพันธ์เชิงความหมายที่หลากหลาย (เช่น เมืองหลวง-ประเทศ) และความสัมพันธ์เชิงวากยสัมพันธ์ (เช่น ปัจจุบันกาล-อดีตกาล)

Remove ads

การประเมินคุณภาพของแบบจำลอง

สรุป
มุมมอง

มิโคโลฟและคณะได้พัฒนาแนวทางในการประเมินคุณภาพของแบบจำลอง word2vec ที่ดึงเอารูปแบบความหมายและวากยสัมพันธ์ที่อธิบายไว้ข้างต้น [1] พวกเขาได้พัฒนาชุดความสัมพันธ์เชิงความหมาย 8,869 รายการ และความสัมพันธ์ทางวากยสัมพันธ์ 10,675 รายการเพื่อใช้เป็นเกณฑ์มาตรฐานในการทดสอบความแม่นยำของแบบจำลอง เมื่อประเมินคุณภาพของแบบจำลองเวกเตอร์ ผู้ใช้สามารถใช้ประโยชน์จากการทดสอบความแม่นยำที่ใช้ใน word2vec[14] หรือพัฒนาชุดการทดสอบของตนเองที่มีความหมายสำหรับคลังข้อมูลที่ประกอบขึ้นเป็นแบบจำลอง วิธีการนี้ไม่เพียงแต่บ่งบอกว่าคำที่คล้ายกับคำทดสอบใดคำหนึ่งมากที่สุดนั้นเป็นไปได้โดยสัญชาตญาณ แต่ยังสามารถให้การทดสอบที่ยากขึ้นอีกด้วย

พารามิเตอร์และคุณภาพของแบบจำลอง

การใช้พารามิเตอร์แบบจำลองที่แตกต่างกันและขนาดคลังข้อมูลที่ต่างกันอาจส่งผลกระทบอย่างมากต่อคุณภาพของแบบจำลอง word2vec สามารถปรับปรุงความแม่นยำได้หลายวิธี รวมถึงการเลือกโครงสร้างแบบจำลอง (แบบจำลอง CBoW หรือแบบจำลอง skip-gram) การเพิ่มชุดข้อมูลการฝึก การเพิ่มจำนวนมิติเวกเตอร์ และการเพิ่มขนาดหน้าต่างของคำที่ขั้นตอนวิธีพิจารณา การปรับปรุงแต่ละอย่างเหล่านี้ต้องแลกมาด้วยความซับซ้อนในการคำนวณที่เพิ่มขึ้นและเวลาในการสร้างแบบจำลอง[1]

สำหรับแบบจำลองที่มีโครงสร้างขนาดใหญ่และมิติสูง แบบจำลอง skip-gram จะให้ความแม่นยำสูงสุด ซึ่งไม่เพียงเพิ่มความแม่นยำทางวากยสัมพันธ์สูงสุดในกรณีส่วนใหญ่ แต่ยังรวมถึงความแม่นยำของความสัมพันธ์ทางความหมายด้วย อย่างไรก็ตาม CBoW ยังสามารถได้รับผลลัพธ์ที่มีความแม่นยำใกล้เคียงกันด้วยต้นทุนการคำนวณที่ต่ำกว่า[1]

เมื่อจำนวนคำที่ใช้และจำนวนมิติเพิ่มขึ้น ความแม่นยำโดยรวมก็จะดีขึ้น มิโคโลฟและคณะรายงานว่าการเพิ่มจำนวนข้อมูลการฝึกเป็นสองเท่าจะเพิ่มความซับซ้อนในการคำนวณและเทียบเท่ากับการเพิ่มจำนวนมิติเวกเตอร์เป็นสองเท่า[1]

Altszyler และคณะได้ตรวจสอบประสิทธิภาพของ word2vec ในการทดสอบความหมายสองครั้งที่มีขนาดคลังข้อมูลที่ต่างกัน และพบว่า word2vec มีช่วงการเรียนรู้ที่สูงชัน[15] โดยมีประสิทธิภาพเหนือกว่าเทคนิคการฝังคำอื่น สำหรับคลังคำขนาดกลางถึงขนาดใหญ่ (10 ล้านคำขึ้นไป) แต่สำหรับคลังคำขนาดเล็กนั้น วิธีการวิเคราะห์ความหมายแฝงจะมีประสิทธิภาพเหนือกว่า นอกจากนี้ พวกเขายังได้แสดงให้เห็นว่าการกำหนดค่าพารามิเตอร์ที่เหมาะสมที่สุดนั้นขึ้นอยู่กับงานและคลังข้อมูล อย่างไรก็ตาม ในกรณีของ skip-gram โดยใช้คลังข้อมูลขนาดกลาง จำนวนมิติ=50 ขนาดหน้าต่าง=15 และ ตัวอย่างเชิงลบ=10 ดูเหมือนจะเป็นการตั้งค่าพารามิเตอร์ที่เหมาะสม

Remove ads

อ้างอิง

Loading content...
Loading related searches...

Wikiwand - on

Seamless Wikipedia browsing. On steroids.

Remove ads