อ่าน 13 นาที
เวิร์ดทูเวค
Word2vec เป็นเทคนิคใน การประมวลผลภาษาธรรมชาติ สำหรับการสร้าง เวก เตอร์ แทนคำ เวกเตอร์เหล่านี้จะเก็บข้อมูลเกี่ยวกับความหมายของคำโดยอิงจากคำรอบข้าง อัลกอริทึม Word2vec...
เวิร์ดทูเวค
| เวิร์ด2เวค | |
|---|---|
| ผู้เขียนต้นฉบับ | Google AI |
| ปล่อย | 29 กรกฎาคม 2556 |
| พิมพ์ | |
| ใบอนุญาต | อะปาเช่-2.0 |
| ที่เก็บข้อมูล | https://code.google.com/archive/p/word2vec/ |
| ส่วนหนึ่งของชุดบทความเกี่ยวกับ |
| การเรียนรู้ของเครื่องจักรและการขุดข้อมูล |
|---|
Word2vecเป็นเทคนิคในการประมวลผลภาษาธรรมชาติสำหรับการสร้าง เวก เตอร์แทนคำ เวกเตอร์เหล่านี้จะเก็บข้อมูลเกี่ยวกับความหมายของคำโดยอิงจากคำรอบข้าง อัลกอริทึม Word2vec ประมาณค่าแทนเหล่านี้โดยการสร้างแบบจำลองข้อความในคลังข้อมูล ขนาดใหญ่ เมื่อฝึกฝนแล้ว แบบจำลองดังกล่าวสามารถตรวจจับ คำ ที่มีความหมายเหมือนกันหรือแนะนำคำเพิ่มเติมสำหรับประโยคบางส่วนได้ Word2vec ได้รับการพัฒนาโดยTomáš Mikolov , Kai Chen, Greg Corrado, Ilya SutskeverและJeff Deanที่ Google และเผยแพร่ในปี 2013 [ 1 ] [ 2 ]
Word2vec แสดงคำเป็น เวกเตอร์ ตัวเลข มิติสูงซึ่งจับความสัมพันธ์ระหว่างคำต่างๆ โดยเฉพาะอย่างยิ่ง คำที่ปรากฏในบริบทที่คล้ายคลึงกันจะถูกจับคู่กับเวกเตอร์ที่อยู่ใกล้เคียงกัน โดยวัดจากความคล้ายคลึงแบบโคไซน์ซึ่งบ่งชี้ถึงระดับความคล้ายคลึงทางความหมายระหว่างคำ ตัวอย่างเช่น เวกเตอร์ของคำว่า " เดิน " และ " วิ่ง " อยู่ใกล้กัน เช่นเดียวกับเวกเตอร์ของคำว่า "แต่" และ "อย่างไรก็ตาม" และ "เบอร์ลิน" และ "เยอรมนี"
เข้าใกล้
Word2vec คือกลุ่มของโมเดลที่เกี่ยวข้องซึ่งใช้ในการสร้างเวิร์ดเอ็มเบดดิ้ง โมเดลเหล่านี้เป็น โครงข่ายประสาทเทียมแบบตื้นสองชั้นที่ได้รับการฝึกฝนให้สร้างบริบททางภาษาของคำขึ้นมาใหม่ Word2vec รับข้อมูลเข้าเป็นคลังข้อความ ขนาดใหญ่ และสร้างการแมปชุดคำไปยังปริภูมิเวกเตอร์ซึ่งโดยทั่วไปจะมีหลายร้อยมิติโดยแต่ละคำที่ไม่ซ้ำกันในคลังข้อความจะถูกกำหนดเวกเตอร์ในปริภูมินั้น
Word2vec สามารถใช้สถาปัตยกรรมโมเดลได้สองแบบในการสร้าง การแสดง คำแบบกระจาย เหล่านี้ ได้แก่ แบบถุงคำ ต่อเนื่อง (CBOW) หรือแบบข้ามคำแบบเลื่อนต่อเนื่อง ในทั้งสองสถาปัตยกรรม Word2vec จะพิจารณาทั้งคำแต่ละคำและหน้าต่างบริบทแบบเลื่อนขณะวนซ้ำไปทั่วคลังคำ
CBOW สามารถมองได้ว่าเป็นงาน "เติมคำในช่องว่าง" โดยการฝังคำ (word embedding) แสดงถึงวิธีที่คำนั้นส่งผลต่อความน่าจะเป็นสัมพัทธ์ของคำอื่นๆ ในหน้าต่างบริบท คำที่มีความหมายคล้ายกันควรส่งผลต่อความน่าจะเป็นเหล่านี้ในลักษณะที่คล้ายกัน เพราะคำที่มีความหมายคล้ายกันควรถูกใช้ในบริบทที่คล้ายกัน ลำดับของคำในบริบทไม่มีผลต่อการทำนาย (สมมติฐานถุงคำ)
ในสถาปัตยกรรม skip-gram แบบต่อเนื่อง โมเดลจะใช้คำปัจจุบันเพื่อทำนายหน้าต่างคำบริบทโดยรอบ[ 1 ] [ 2 ]สถาปัตยกรรม skip-gram จะให้น้ำหนักคำบริบทที่อยู่ใกล้เคียงมากกว่าคำบริบทที่อยู่ไกลออกไป ตามหมายเหตุของผู้เขียน[ 3 ] CBOW เร็วกว่า ในขณะที่ skip-gram ทำงานได้ดีกว่าสำหรับคำที่ไม่ค่อยได้ใช้
หลังจากฝึกฝนโมเดลแล้ว การฝังคำที่เรียนรู้จะถูกจัดวางในพื้นที่เวกเตอร์ โดยคำที่มีบริบทร่วมกันในคอร์ปัส — กล่าวคือ คำที่มีความหมายและไวยากรณ์คล้ายคลึงกัน — จะอยู่ใกล้กันในพื้นที่[ 1 ]ส่วนคำที่ไม่คล้ายคลึงกันจะอยู่ห่างกันมากขึ้นในพื้นที่[ 1 ]
รายละเอียดทางคณิตศาสตร์
ส่วนนี้อ้างอิงจากคำอธิบาย[ 4 ] [ 5 ]
คอร์ปัสคือลำดับของคำต่างๆ ทั้ง CBOW และ skip-gram เป็นวิธีการเรียนรู้เวกเตอร์หนึ่งตัวต่อคำที่ปรากฏในคอร์ปัส
ให้("คำศัพท์") เป็นเซตของคำทั้งหมดที่ปรากฏในคลังข้อมูลเป้าหมายของเราคือการเรียนรู้เวกเตอร์หนึ่งตัวสำหรับแต่ละคำ
แนวคิดของ skip-gram คือ เวกเตอร์ของคำหนึ่งควรอยู่ใกล้เคียงกับเวกเตอร์ของคำข้างเคียงแต่ละคำ ส่วนแนวคิดของ CBOW คือ ผลรวมของเวกเตอร์ของคำข้างเคียงควรอยู่ใกล้เคียงกับเวกเตอร์ของคำนั้น
ถุงคำต่อเนื่อง (CBOW)


แนวคิดของ CBOW คือการแทนแต่ละคำด้วยเวกเตอร์ เพื่อให้สามารถทำนายคำโดยใช้ผลรวมของเวกเตอร์ของคำข้างเคียงได้ โดยเฉพาะอย่างยิ่ง สำหรับแต่ละคำในคลังข้อมูล การเข้ารหัสแบบone-hotของคำนั้นจะถูกใช้เป็นอินพุตให้กับโครงข่ายประสาทเทียม เอาต์พุตของโครงข่ายประสาทเทียมคือการกระจายความน่าจะเป็นเหนือพจนานุกรม ซึ่งแสดงถึงการทำนายคำแต่ละคำในบริเวณใกล้เคียงของคำนั้นเป้าหมายของการฝึกฝนคือการเพิ่มค่าให้สูงสุดโดยที่คือเซตของดัชนี (ที่ไม่ใช่ศูนย์) ที่แสดงถึงตำแหน่งสัมพัทธ์ของคำใกล้เคียงที่ถือว่าอยู่ในบริเวณใกล้เคียงของคำนั้น
ตัวอย่างเช่น หากเราต้องการให้ทุกคำในคลังข้อมูลสามารถทำนายได้จากทุกคำอื่น ๆ ในช่วงแคบ ๆ 4 คำ ชุดดัชนีสัมพัทธ์ของคำข้างเคียงจะเป็น: และเป้าหมายคือการเพิ่มค่าให้สูงสุด
ในวิธีการ Bag-of-words มาตรฐาน บริบทของคำจะถูกแสดงด้วยจำนวนคำ (หรือที่เรียกว่าฮิสโตแกรม คำ ) ของคำข้างเคียง ตัวอย่างเช่น คำว่า "sat" ในประโยค "the cat sat on the mat" จะถูกแสดงเป็น {"the": 2, "cat": 1, "on": 1} โปรดสังเกตว่าคำสุดท้าย "mat" ไม่ได้ถูกนำมาใช้แทนคำว่า "sat" เพราะอยู่นอกกลุ่มคำข้างเคียง
ในวิธีการ Bag-of-Words แบบต่อเนื่อง ฮิสโตแกรมจะถูกคูณด้วยเมทริกซ์เพื่อให้ได้การแสดงบริบทของคำแบบต่อเนื่อง เมทริกซ์นี้เรียกอีกอย่างว่าพจนานุกรมคอลัมน์ของเมทริกซ์คือเวกเตอร์คำ มีจำนวนคอลัมน์ โดยที่คือขนาดของพจนานุกรม ให้เป็นความยาวของเวกเตอร์คำแต่ละคำ เราจะได้
ตัวอย่างเช่น เมื่อคูณฮิสโตแกรมคำ {"the": 2, "cat": 1, "on": 1} กับเราจะได้
จากนั้นนำไปคูณกับเมทริกซ์อีกตัวที่มีรูปร่างโดยแต่ละแถวของเมทริกซ์นี้คือเวกเตอร์คำศัพท์ซึ่งจะได้เวกเตอร์ที่มีความยาวโดยมีหนึ่งรายการต่อหนึ่งคำในพจนานุกรม จากนั้นใช้ฟังก์ชัน softmax เพื่อหาการกระจายความน่าจะเป็นของพจนานุกรม
ระบบนี้สามารถมองเห็นได้ในรูปของโครงข่ายประสาทเทียม คล้ายกับออโตเอนโคเดอร์ (autoencoder ) ที่มีโครงสร้างแบบ linear-linear- softmaxดังแสดงในแผนภาพ ระบบนี้ได้รับการฝึกฝนโดยใช้การลดระดับความชัน (gradient descent) เพื่อลดค่า ความสูญเสียแบบ cross-entropy ให้เหลือน้อยที่สุด
สูตรเต็มของการสูญเสียแบบครอสเอนโทรปีคือ: โดยผลรวมภายนอกจะครอบคลุมคำต่างๆ ในคลังข้อมูล ปริมาณคือผลรวมของเวกเตอร์ของคำข้างเคียง เป็นต้น
เมื่อระบบดังกล่าวได้รับการฝึกฝนแล้ว เราจะมีเมทริกซ์ที่ได้รับการฝึกฝนสองเมทริกซ์ เวกเตอร์คอลัมน์ของเมทริกซ์หนึ่งหรือเวกเตอร์แถวของเมทริกซ์อีกเมทริกซ์หนึ่งสามารถใช้เป็นพจนานุกรมได้ ตัวอย่างเช่น คำว่า "sat" สามารถแทนได้ด้วยคอลัมน์ที่ "sat" ของเมทริกซ์แรกหรือแถวที่ "sat" ของเมทริกซ์ที่สองนอกจากนี้ยังสามารถกำหนดให้เป็นเมทริกซ์เดียวได้เลยซึ่งในกรณีนี้จะไม่ต้องเลือกอีกต่อไป
สกิปแกรม

แนวคิดของ skip-gram คือการแทนแต่ละคำด้วยเวกเตอร์ เพื่อให้สามารถคาดเดาเวกเตอร์ของคำข้างเคียงได้โดยใช้เวกเตอร์ของคำนั้นเอง
โครงสร้างยังคงเป็นแบบ linear-linear-softmax เหมือนกับ CBOW แต่สลับตำแหน่งอินพุตและเอาต์พุต โดยเฉพาะอย่างยิ่ง สำหรับแต่ละคำในคลังข้อมูล จะใช้การเข้ารหัสแบบ one-hot ของคำนั้นเป็นอินพุตให้กับโครงข่ายประสาทเทียม เอาต์พุตของโครงข่ายประสาทเทียมคือการกระจายความน่าจะเป็นบนพจนานุกรม ซึ่งแสดงถึงการทำนายคำแต่ละคำในบริเวณใกล้เคียงวัตถุประสงค์ของการฝึกฝนคือการเพิ่มค่าให้สูงสุด
ในสูตรเต็ม ฟังก์ชันความสูญเสียจะเหมือนกับ CBOW เมื่อระบบดังกล่าวได้รับการฝึกฝนแล้ว เราจะมีเมทริกซ์ที่ได้รับการฝึกฝนสองเมทริกซ์ เวกเตอร์คอลัมน์ของหรือเวกเตอร์แถวของสามารถใช้เป็นพจนานุกรมได้ นอกจากนี้ยังสามารถกำหนด ได้ง่ายๆซึ่งในกรณีนี้จะไม่มีทางเลือกอีกต่อไป
โดยพื้นฐานแล้ว skip-gram และ CBOW มีโครงสร้างเหมือนกันทุกประการ ต่างกันเพียงแค่ฟังก์ชันเป้าหมายระหว่างการฝึกฝนเท่านั้น
ประวัติศาสตร์
ในช่วงทศวรรษ 1980 มีความพยายามในช่วงแรกๆ ในการใช้เครือข่ายประสาทเทียมเพื่อแสดงคำและแนวคิดเป็นเวกเตอร์[ 6 ] [ 7 ] [ 8 ]
ในปี 2010 Tomáš Mikolov (ขณะนั้นอยู่ที่มหาวิทยาลัยเทคโนโลยี Brno ) ร่วมกับผู้เขียนคนอื่นๆ ได้นำโครงข่ายประสาทเทียม แบบวนซ้ำอย่างง่าย ที่มีชั้นซ่อนเพียงชั้นเดียวมาใช้ในการสร้างแบบจำลองภาษา[ 9 ]
Word2vec ถูกสร้างขึ้น จดสิทธิบัตร[ 10 ]และเผยแพร่ในปี 2013 โดยทีมวิจัยที่นำโดย Mikolov ที่Googleในเอกสารสองฉบับ[ 1 ] [ 2 ]เอกสารฉบับดั้งเดิมถูกปฏิเสธโดยผู้ตรวจสอบสำหรับการประชุม ICLRปี 2013 นอกจากนี้ยังใช้เวลาหลายเดือนกว่าที่รหัสจะได้รับการอนุมัติสำหรับการเปิดเผยซอร์สโค้ด[ 11 ]นักวิจัยคนอื่นๆ ได้ช่วยวิเคราะห์และอธิบายอัลกอริทึม[ 4 ]
เวกเตอร์ฝังตัวที่สร้างขึ้นโดยใช้อัลกอริทึม Word2vec มีข้อดีบางประการเมื่อเทียบกับอัลกอริทึมรุ่นก่อนหน้า[ 1 ]เช่น อัลกอริทึมที่ใช้ n-grams และการวิเคราะห์ความหมายแฝงGloVe ได้ รับการพัฒนาโดยทีมงานที่ Stanford โดยเฉพาะเพื่อเป็นคู่แข่ง และเอกสารต้นฉบับได้ระบุถึงการปรับปรุงหลายประการของ GloVe เหนือ word2vec [ 12 ] Mikolov โต้แย้งว่าการเปรียบเทียบนั้นไม่ยุติธรรม เนื่องจาก GloVe ได้รับการฝึกฝนด้วยข้อมูลมากกว่า และ โครงการ fastTextแสดงให้เห็นว่า word2vec มีประสิทธิภาพเหนือกว่าเมื่อได้รับการฝึกฝนด้วยข้อมูลชุดเดียวกัน[ 13 ] [ 11 ]
ณ ปี 2022 วิธีการ Word2vec แบบตรงไปตรงมาถูกอธิบายว่า "ล้าสมัย" โมเดลที่ใช้ Transformerเช่นELMoและBERTซึ่งเพิ่มเลเยอร์ความสนใจของเครือข่ายประสาทหลายชั้นไว้บนโมเดลการฝังคำที่คล้ายกับ Word2vec ได้รับการยอมรับว่าเป็นเทคโนโลยีที่ทันสมัยที่สุดในการประมวลผลภาษาธรรมชาติ[ 14 ]
การกำหนดพารามิเตอร์
ผลลัพธ์ของการฝึก Word2Vec อาจมีความอ่อนไหวต่อการกำหนดค่าพารามิเตอร์ต่อไปนี้คือพารามิเตอร์สำคัญบางประการในการฝึก Word2Vec
อัลกอริทึมการฝึกฝน
โมเดล word2vec สามารถฝึกฝนได้ด้วยsoftmax แบบลำดับชั้น และ/หรือการสุ่มตัวอย่างเชิงลบ เพื่อประมาณค่า log-likelihood แบบมีเงื่อนไขที่โมเดลพยายามทำให้สูงสุด วิธี softmax แบบลำดับชั้นจะใช้ต้นไม้ Huffmanเพื่อลดการคำนวณ ในทางกลับกัน วิธีการสุ่มตัวอย่างเชิงลบจะเข้าถึงปัญหาการทำให้สูงสุดโดยการลดlog-likelihoodของอินสแตนซ์เชิงลบที่สุ่มมา ตามที่ผู้เขียนกล่าว softmax แบบลำดับชั้นทำงานได้ดีกว่าสำหรับคำที่ไม่ค่อยเกิดขึ้นบ่อย ในขณะที่การสุ่มตัวอย่างเชิงลบทำงานได้ดีกว่าสำหรับคำที่เกิดขึ้นบ่อยและดีกว่ากับเวกเตอร์ที่มีมิติต่ำ[ 3 ]เมื่อจำนวนรอบการฝึกเพิ่มขึ้น softmax แบบลำดับชั้นจะไม่มีประโยชน์อีกต่อไป[ 15 ]
การสุ่มตัวอย่างย่อย
คำที่มีความถี่สูงและความถี่ต่ำมักให้ข้อมูลเพียงเล็กน้อย คำที่มีความถี่สูงกว่าเกณฑ์ที่กำหนด หรือต่ำกว่าเกณฑ์ที่กำหนด อาจถูกสุ่มตัวอย่างย่อยหรือลบออกเพื่อเร่งความเร็วในการฝึกอบรม[ 16 ]
มิติ
คุณภาพของการฝังคำจะเพิ่มขึ้นตามมิติที่สูงขึ้น แต่หลังจากถึงจุดหนึ่งแล้ว ผลประโยชน์ส่วนเพิ่มจะลดลง[ 1 ]โดยทั่วไป มิติของเวกเตอร์จะถูกตั้งค่าให้อยู่ระหว่าง 100 ถึง 1,000
หน้าต่างบริบท
ขนาดของหน้าต่างบริบทจะกำหนดจำนวนคำก่อนและหลังคำที่กำหนดซึ่งจะถูกรวมเป็นคำบริบทของคำที่กำหนด ตามหมายเหตุของผู้เขียน ค่าที่แนะนำคือ 10 สำหรับ skip-gram และ 5 สำหรับ CBOW [ 3 ]
ส่วนขยาย
มีส่วนเสริมหลายอย่างสำหรับ word2vec
doc2vec
doc2vec สร้างการแสดงผลแบบกระจาย ของข้อความ ที่มีความยาวแปรผัน ได้ เช่น ประโยค ย่อหน้า หรือเอกสารทั้งหมด[ 17 ] [ 18 ] doc2vec ได้ถูกนำไปใช้ใน เครื่องมือ C , PythonและJava / Scala (ดูด้านล่าง) โดยเวอร์ชัน Java และ Python ยังรองรับการอนุมานการฝังเอกสารบนเอกสารใหม่ที่ไม่เคยเห็นมาก่อนด้วย
doc2vec ประมาณการการแสดงแทนแบบกระจายของเอกสารในลักษณะเดียวกับที่ word2vec ประมาณการการแสดงแทนของคำ: doc2vec ใช้สถาปัตยกรรมโมเดลสองแบบ ซึ่งทั้งสองแบบเป็นการเปรียบเทียบกับสถาปัตยกรรมที่ใช้ใน word2vec แบบแรกคือ Distributed Memory Model of Paragraph Vectors (PV-DM) ซึ่งเหมือนกับ CBOW ทุกประการ ยกเว้นว่ามันยังให้ตัวระบุเอกสารที่ไม่ซ้ำกันเป็นบริบทเพิ่มเติมอีกด้วย สถาปัตยกรรมแบบที่สองคือ Distributed Bag of Words version of Paragraph Vector (PV-DBOW) ซึ่งเหมือนกับโมเดล skip-gram ทุกประการ ยกเว้นว่ามันพยายามทำนายหน้าต่างของคำบริบทโดยรอบจากตัวระบุย่อหน้าแทนที่จะเป็นคำปัจจุบัน[ 17 ]
นอกจากนี้ doc2vec ยังมีความสามารถในการจับ 'ความหมาย' ทางความหมายสำหรับ 'บริบท' เพิ่มเติมรอบคำต่างๆ ได้อีกด้วย doc2vec สามารถประมาณการฝังความหมายสำหรับผู้พูดหรือคุณลักษณะของผู้พูด กลุ่ม และช่วงเวลาต่างๆ ได้ ตัวอย่างเช่น doc2vec ถูกใช้เพื่อประมาณการจุดยืนทางการเมืองของพรรคการเมืองในรัฐสภาต่างๆ ในสหรัฐอเมริกาและสหราชอาณาจักร[ 19 ]ตามลำดับ และสถาบันของรัฐบาลต่างๆ[ 20 ]
ท็อป2เวค
ส่วนขยายอีกอย่างหนึ่งของ word2vec คือ top2vec ซึ่งใช้ประโยชน์จากทั้งการฝังเอกสารและการฝังคำเพื่อประมาณการการแสดงแทนแบบกระจายของหัวข้อ[ 21 ] [ 22 ] top2vec ใช้การฝังเอกสารที่เรียนรู้จากโมเดล doc2vec และลดมิติลง (โดยทั่วไปใช้UMAP ) จาก นั้นพื้นที่ของเอกสารจะถูกสแกนโดยใช้HDBSCAN [ 23 ]และพบกลุ่มของเอกสารที่คล้ายกัน ต่อไป จุดศูนย์กลางของเอกสารที่ระบุในกลุ่มจะถือเป็นเวกเตอร์หัวข้อของกลุ่มนั้น สุดท้าย top2vec จะค้นหาพื้นที่ความหมายสำหรับการฝังคำที่อยู่ใกล้กับเวกเตอร์หัวข้อเพื่อตรวจสอบ 'ความหมาย' ของหัวข้อ[ 21 ]คำที่มีการฝังที่คล้ายกับเวกเตอร์หัวข้อมากที่สุดอาจถูกกำหนดให้เป็นชื่อเรื่องของหัวข้อ ในขณะที่การฝังคำที่อยู่ห่างไกลอาจถือว่าไม่เกี่ยวข้อง
แตกต่างจากโมเดลหัวข้ออื่นๆ เช่นLDA , top2vec ให้เมตริก 'ระยะทาง' มาตรฐานระหว่างสองหัวข้อ หรือระหว่างหัวข้อหนึ่งกับเวกเตอร์ฝังตัวอื่นๆ (คำ เอกสาร หรืออื่นๆ) เมื่อรวมกับผลลัพธ์จาก HDBSCAN ผู้ใช้สามารถสร้างลำดับชั้นของหัวข้อ หรือกลุ่มของหัวข้อและหัวข้อย่อยที่เกี่ยวข้องได้
นอกจากนี้ ผู้ใช้ยังสามารถใช้ผลลัพธ์ของ top2vec เพื่ออนุมานหัวข้อของเอกสารนอกกลุ่มตัวอย่างได้ หลังจากอนุมานเวกเตอร์ฝังตัวสำหรับเอกสารใหม่แล้ว ก็เพียงแค่ค้นหาเวกเตอร์หัวข้อที่ใกล้เคียงที่สุดในพื้นที่ของหัวข้อเท่านั้น
ไบโอเวกเตอร์
Asgari และ Mofrad ได้เสนอการขยายเวกเตอร์คำสำหรับ n-gram ใน ลำดับทาง ชีวภาพ (เช่นDNA , RNAและโปรตีน ) สำหรับ การประยุกต์ใช้ ทางชีวสารสนเทศ[ 24 ]เวกเตอร์ชีวภาพ (BioVec) เรียกว่า bio-vectors ( BioVec ) เพื่ออ้างถึงลำดับทางชีวภาพโดยทั่วไป โดยมี protein-vectors (ProtVec) สำหรับโปรตีน (ลำดับกรดอะมิโน) และ gene-vectors (GeneVec) สำหรับลำดับยีน การนำเสนอแบบนี้สามารถนำไปใช้ได้อย่างกว้างขวางในการประยุกต์ใช้การเรียนรู้ของเครื่องในโปรตีโอมิกส์และจีโนมิกส์ ผลลัพธ์ชี้ให้เห็นว่า BioVectors สามารถจำแนกลักษณะของลำดับทางชีวภาพในแง่ของการตีความทางชีวเคมีและชีวฟิสิกส์ของรูปแบบพื้นฐาน[ 24 ]รูปแบบที่คล้ายกัน dna2vec แสดงให้เห็นว่ามีความสัมพันธ์ระหว่าง คะแนนความคล้ายคลึง ของ Needleman–Wunschและความคล้ายคลึงของโคไซน์ของเวกเตอร์คำ dna2vec [ 25 ]
รังสีวิทยาและการฝังคำอัจฉริยะ (IWE)
Banerjee et al. [ 26 ]ได้เสนอการขยายเวกเตอร์คำเพื่อสร้างการแสดงเวกเตอร์หนาแน่นของรายงานรังสีวิทยาที่ไม่มีโครงสร้างหนึ่งในความท้าทายที่ใหญ่ที่สุดของ Word2vec คือวิธีการจัดการกับคำที่ไม่รู้จักหรือ คำ นอกคำศัพท์ (OOV) และคำที่มีลักษณะทางสัณฐานวิทยาคล้ายกัน หากโมเดล Word2vec ไม่เคยพบคำใดคำหนึ่งมาก่อน มันจะถูกบังคับให้ใช้เวกเตอร์แบบสุ่ม ซึ่งโดยทั่วไปแล้วจะห่างไกลจากการแสดงที่เหมาะสมที่สุด นี่อาจเป็นปัญหาโดยเฉพาะในโดเมนเช่นการแพทย์ที่สามารถใช้คำพ้องความหมายและคำที่เกี่ยวข้องได้ขึ้นอยู่กับรูปแบบที่นักรังสีวิทยาต้องการ และคำเหล่านั้นอาจถูกใช้ไม่บ่อยนักในคลังข้อมูลขนาดใหญ่
IWE ผสาน Word2vec เข้ากับเทคนิคการแมปพจนานุกรมเชิงความหมาย เพื่อแก้ไขปัญหาสำคัญในการสกัดข้อมูลจากข้อความทางการแพทย์ ซึ่งรวมถึงความกำกวมของรูปแบบการบรรยายข้อความอิสระ การเปลี่ยนแปลงทางคำศัพท์ การใช้คำที่ไม่ถูกต้องตามหลักไวยากรณ์และคำย่อ การเรียงลำดับคำที่ไม่เป็นไปตามหลักเกณฑ์ และการปรากฏตัวของคำย่อและคำอักษรย่อบ่อยครั้ง ที่น่าสนใจเป็นพิเศษคือ โมเดล IWE (ที่ฝึกฝนด้วยชุดข้อมูลของสถาบันหนึ่ง) สามารถนำไปใช้กับชุดข้อมูลของสถาบันอื่นได้อย่างประสบความสำเร็จ ซึ่งแสดงให้เห็นถึงความสามารถในการประยุกต์ใช้ได้ทั่วไปของวิธีการนี้ในสถาบันต่างๆ
การวิเคราะห์
The reasons for successful word embedding learning in the word2vec framework are poorly understood. Goldberg and Levy point out that the word2vec objective function causes words that occur in similar contexts to have similar embeddings (as measured by cosine similarity) and note that this is in line with J. R. Firth's distributional hypothesis. However, they note that this explanation is "very hand-wavy" and argue that a more formal explanation would be preferable.[4]
Levy et al. (2015)[27] show that much of the superior performance of word2vec or similar embeddings in downstream tasks is not a result of the models per se, but of the choice of specific hyperparameters. Transferring these hyperparameters to more 'traditional' approaches yields similar performances in downstream tasks. Arora et al. (2016)[28] explain word2vec and related algorithms as performing inference for a simple generative model for text, which involves a random walk generation process based upon loglinear topic model. They use this to explain some properties of word embeddings, including their use to solve analogies.
Preservation of semantic and syntactic relationships

The word embedding approach is able to capture multiple different degrees of similarity between words. Mikolov et al. (2013)[29] found that semantic and syntactic patterns can be reproduced using vector arithmetic. Patterns such as "Man is to Woman as Brother is to Sister" can be generated through algebraic operations on the vector representations of these words such that the vector representation of "Brother" - "Man" + "Woman" produces a result which is closest to the vector representation of "Sister" in the model. Such relationships can be generated for a range of semantic relations (such as Country–Capital) as well as syntactic relations (e.g. present tense–past tense).
This facet of word2vec has been exploited in a variety of other contexts. For example, word2vec has been used to map a vector space of words in one language to a vector space constructed from another language. Relationships between translated words in both spaces can be used to assist with machine translation of new words.[30]
Assessing the quality of a model
Mikolov et al. (2013) [ 1 ]ได้พัฒนาแนวทางในการประเมินคุณภาพของโมเดล word2vec ซึ่งดึงเอาแบบแผนทางความหมายและไวยากรณ์ที่กล่าวถึงข้างต้นมาใช้ พวกเขาได้พัฒนาชุดความสัมพันธ์ทางความหมาย 8,869 รายการและความสัมพันธ์ทางไวยากรณ์ 10,675 รายการ ซึ่งใช้เป็นเกณฑ์มาตรฐานในการทดสอบความแม่นยำของโมเดล เมื่อประเมินคุณภาพของโมเดลเวกเตอร์ ผู้ใช้สามารถใช้การทดสอบความแม่นยำนี้ซึ่งถูกนำไปใช้ใน word2vec [ 31 ]หรือพัฒนาชุดทดสอบของตนเองซึ่งมีความหมายต่อคลังข้อมูลที่ประกอบขึ้นเป็นโมเดล แนวทางนี้เสนอการทดสอบที่ท้าทายกว่าการโต้แย้งง่ายๆ ว่าคำที่คล้ายกับคำทดสอบที่กำหนดนั้นสมเหตุสมผลโดยสัญชาตญาณ[ 1 ]
พารามิเตอร์และคุณภาพของโมเดล
การใช้พารามิเตอร์โมเดลที่แตกต่างกันและขนาดคอร์ปัสที่แตกต่างกันสามารถส่งผลกระทบอย่างมากต่อคุณภาพของโมเดล word2vec ความแม่นยำสามารถปรับปรุงได้หลายวิธี รวมถึงการเลือกสถาปัตยกรรมโมเดล (CBOW หรือ Skip-Gram) การเพิ่มชุดข้อมูลการฝึกอบรม การเพิ่มจำนวนมิติของเวกเตอร์ และการเพิ่มขนาดหน้าต่างของคำที่อัลกอริทึมพิจารณา การปรับปรุงแต่ละอย่างมาพร้อมกับต้นทุนของความซับซ้อนในการคำนวณที่เพิ่มขึ้น และด้วยเหตุนี้จึงทำให้เวลาในการสร้างโมเดลเพิ่มขึ้น[ 1 ]
ในแบบจำลองที่ใช้คลังข้อมูลขนาดใหญ่และจำนวนมิติสูง แบบจำลอง skip-gram ให้ความแม่นยำโดยรวมสูงสุด และให้ความแม่นยำสูงสุดอย่างสม่ำเสมอในความสัมพันธ์เชิงความหมาย รวมถึงให้ความแม่นยำเชิงไวยากรณ์สูงสุดในกรณีส่วนใหญ่ อย่างไรก็ตาม CBOW มีต้นทุนการคำนวณน้อยกว่าและให้ผลลัพธ์ความแม่นยำที่คล้ายคลึงกัน[ 1 ]
โดยรวมแล้ว ความแม่นยำจะเพิ่มขึ้นตามจำนวนคำที่ใช้และจำนวนมิติ Mikolov et al. [ 1 ]รายงานว่าการเพิ่มปริมาณข้อมูลการฝึกอบรมเป็นสองเท่าส่งผลให้ความซับซ้อนในการคำนวณเพิ่มขึ้นเทียบเท่ากับการเพิ่มจำนวนมิติของเวกเตอร์เป็นสองเท่า
Altszyler และผู้เขียนร่วม (2017) ศึกษาประสิทธิภาพของ Word2vec ในการทดสอบความหมายสองแบบสำหรับขนาดคอร์ปัสที่แตกต่างกัน[ 32 ]พวกเขาพบว่า Word2vec มีเส้นโค้งการเรียนรู้ ที่สูงชัน และมีประสิทธิภาพเหนือกว่าเทคนิคการฝังคำอีกแบบหนึ่ง คือการวิเคราะห์ความหมายแฝง (LSA) เมื่อฝึกฝนด้วยคอร์ปัสขนาดกลางถึงขนาดใหญ่ (มากกว่า 10 ล้านคำ) อย่างไรก็ตาม ด้วยคอร์ปัสฝึกฝนขนาดเล็ก LSA แสดงประสิทธิภาพที่ดีกว่า นอกจากนี้ พวกเขายังแสดงให้เห็นว่าการตั้งค่าพารามิเตอร์ที่ดีที่สุดขึ้นอยู่กับงานและคอร์ปัสฝึกฝน อย่างไรก็ตาม สำหรับโมเดล skip-gram ที่ฝึกฝนในคอร์ปัสขนาดกลางที่มี 50 มิติ ขนาดหน้าต่าง 15 และตัวอย่างเชิงลบ 10 ดูเหมือนจะเป็นการตั้งค่าพารามิเตอร์ที่ดี
ดูเพิ่มเติม
ลิงก์ภายนอก
- Wikipedia2Vec [1] ( บทนำ )
การนำไปใช้
- ซี
- ซี#
- ไพธอน (สปาร์ค)
- Python (TensorFlow)
- ไพธอน (เจเนซิม)
- จาวา/สกาล่า
- อาร์
สรุปเนื้อหา
ข้อมูลสำคัญจากบทความ
ข้อมูลสำคัญเกี่ยวกับ เวิร์ดทูเวค
Word2vec เป็นเทคนิคใน การประมวลผลภาษาธรรมชาติ สำหรับการสร้าง เวก เตอร์ แทนคำ เวกเตอร์เหล่านี้จะเก็บข้อมูลเกี่ยวกับความหมายของคำโดยอิงจากคำรอบข้าง อัลกอริทึม Word2vec...
เข้าใกล้
Word2vec คือกลุ่มของโมเดลที่เกี่ยวข้องซึ่งใช้ในการสร้าง เวิร์ดเอ็มเบดดิ้ง โมเดลเหล่านี้เป็น โครงข่ายประสาทเทียม แบบตื้นสองชั้นที่ได้รับการฝึกฝนให้สร้างบริบททางภาษาของคำขึ้นมาใหม่ Word2vec รับข้อมูลเข้า เป็นคลังข้อความ ขนาดใหญ่ และสร้างการแมปชุดคำไปยัง...
ถุงคำต่อเนื่อง (CBOW)
แนวคิดของ CBOW คือการแทนแต่ละคำด้วยเวกเตอร์ เพื่อให้สามารถทำนายคำโดยใช้ผลรวมของเวกเตอร์ของคำข้างเคียงได้ โดยเฉพาะอย่างยิ่ง สำหรับแต่ละคำในคลังข้อมูล การเข้ารหัสแบบ one-hot ของคำนั้นจะถูกใช้เป็นอินพุตให้กับโครงข่ายประสาทเทียม...
สกิปแกรม
แนวคิดของ skip-gram คือการแทนแต่ละคำด้วยเวกเตอร์ เพื่อให้สามารถคาดเดาเวกเตอร์ของคำข้างเคียงได้โดยใช้เวกเตอร์ของคำนั้นเอง