คุณสมบัติของคำเวกเตอร์ใน word2vec


9

ฉันพยายามวิเคราะห์ความเชื่อมั่น เพื่อที่จะแปลงคำเป็นเวกเตอร์คำฉันใช้รุ่น word2vec สมมติว่าฉันมีประโยคทั้งหมดในรายการชื่อ 'ประโยค' และฉันส่งประโยคเหล่านี้ไปยัง word2vec ดังนี้:

model = word2vec.Word2Vec(sentences, workers=4 , min_count=40, size=300,   window=5, sample=1e-3)

เนื่องจากฉันเป็น noob ไปยังคำเวกเตอร์ฉันมีสองข้อสงสัย
1- การตั้งค่าจำนวนคุณสมบัติเป็น 300 จะกำหนดคุณสมบัติของคำว่าเวกเตอร์ แต่คุณสมบัติเหล่านี้มีความหมายว่าอะไร? หากแต่ละคำในรูปแบบนี้มีอาร์เรย์แบบ 1x1 อันคุณสมบัติแบบ 300 เหล่านี้มีความหมายอะไรกับคำนั้น?

2- การสุ่มตัวอย่างลงตามที่แสดงด้วยพารามิเตอร์ 'ตัวอย่าง' ในแบบจำลองด้านบนทำตามความเป็นจริงอย่างไร

ขอบคุณล่วงหน้า.

คำตอบ:


10

1- จำนวนของคุณสมบัติ: ในแง่ของรูปแบบโครงข่ายประสาทเทียมมันหมายถึงจำนวนของเซลล์ประสาทในชั้นฉาย (ซ่อน) เนื่องจากชั้นฉายภาพถูกสร้างขึ้นตามสมมุติฐานการกระจายเวกเตอร์ตัวเลขสำหรับแต่ละคำหมายถึงความสัมพันธ์กับคำบริบท

คุณสมบัติเหล่านี้เรียนรู้จากโครงข่ายประสาทเทียมเนื่องจากเป็นวิธีที่ไม่ได้รับการดูแล เวกเตอร์แต่ละตัวมีลักษณะความหมายหลายชุด ตัวอย่างเช่นลองดูตัวอย่างคลาสสิกV(King) -V(man) + V(Women) ~ V(Queen)และแต่ละคำแทนด้วยเวกเตอร์ 300-d V(King)จะมีลักษณะความหมายของ Royality ราชอาณาจักรชายในเวกเตอร์ในลำดับที่แน่นอน V(man)จะมีความเป็นมนุษย์มนุษย์ทำงานในลำดับที่แน่นอน ดังนั้นเมื่อV(King)-V(Man)ทำเสร็จแล้วความเป็นมนุษย์ลักษณะของมนุษย์จะถูกลบล้างและเมื่อบวกกับV(Women)การมีความเป็นผู้หญิงลักษณะของมนุษย์ก็จะถูกเพิ่มเข้ามาซึ่งจะทำให้เวกเตอร์คล้ายกับV(Queen). สิ่งที่น่าสนใจคือคุณสมบัติเหล่านี้ถูกเข้ารหัสในเวกเตอร์ในลำดับที่แน่นอนเพื่อให้การคำนวณเชิงตัวเลขเช่นการบวกการลบทำงานได้อย่างสมบูรณ์แบบ นี่เป็นเพราะธรรมชาติของวิธีการเรียนรู้แบบไม่มีผู้ดูแลในเครือข่ายประสาท

2- มีสองขั้นตอนวิธีการประมาณ และHierarchical softmax negative samplingเมื่อได้รับพารามิเตอร์ตัวอย่างจะใช้การสุ่มตัวอย่างเชิงลบ ในกรณีของ softmax แบบลำดับชั้นสำหรับแต่ละคำเวกเตอร์คำบริบทจะได้รับผลบวกและคำอื่น ๆ ทั้งหมดในคำศัพท์จะได้รับผลลัพธ์เชิงลบ ปัญหาความซับซ้อนของเวลาได้รับการแก้ไขด้วยการสุ่มตัวอย่างเชิงลบ ในการสุ่มตัวอย่างเชิงลบมากกว่าคำศัพท์ทั้งหมดมีเพียงบางส่วนของคำศัพท์ที่ได้รับผลเชิงลบและเวกเตอร์ได้รับการฝึกฝนซึ่งเร็วกว่าวิธีเดิมมาก


การตีความคุณสมบัติ word2vec นี้ทำให้เข้าใจผิด ไม่มีมิติของความเป็นชายของพื้นที่หรือองค์ประกอบค่าภาคหลวงในเวกเตอร์ หากเป็นเช่นนั้นพื้นที่เวกเตอร์ 300 มิติสามารถแสดงได้เพียง 300 คู่ของความหมายอิสระ
Dan Hicks

@ DanHicks: ฉันไม่เคยพูดถึงคุณลักษณะแต่ละอย่างว่าเป็นมิติของพื้นที่ ฉันเพิ่งบอกว่าคุณลักษณะความหมายเช่นนั้นถูกเข้ารหัสในเวคเตอร์ในลำดับที่แน่นอนเช่นนั้นการดำเนินการทางคณิตศาสตร์เป็นไปได้
yazhi

"คุณสมบัติ" ตามปกติหมายถึงตัวแปรที่ใช้แสดงถึงตัวพิมพ์เล็ก - ในกรณีนี้องค์ประกอบของคำเวกเตอร์ / ขนาดของพื้นที่เวกเตอร์ คำถามของ @ Nain ใช้ "คุณสมบัติ" อย่างชัดเจนในวิธีนี้ "คุณสมบัติความหมาย" ที่คุณกำลังพูดถึงเป็นวิธีที่คลุมเครือที่สุดในการพูดคุยเกี่ยวกับวิธีที่ word2vec จัดการการเปรียบเทียบ พวกมันไม่ได้เป็นคุณสมบัติทั้งหมดของคำว่าเวคเตอร์
Dan Hicks

1
คุณพูดถูกฉันได้แก้ไข "semantic features" ถึง "semantic features" และ "features" ในคำตอบนั้นหมายถึงเฉพาะมิติของเวกเตอร์
yazhi

0
  1. ตามสมมุติฐานการกระจายตัวแต่ละมิติในเวกเตอร์ของคำไม่ได้มีความหมายมากนักเกี่ยวกับคำในโลกแห่งความจริง คุณต้องกังวลเกี่ยวกับแต่ละมิติ หากคำถามของคุณเป็นเช่นนั้นฉันจะเลือกจำนวน dimes ได้อย่างไรนั้นขึ้นอยู่กับการทดลองสำหรับข้อมูลของคุณและสามารถไปได้ตั้งแต่ 100 ถึง 1,000 สำหรับการทดลองหลาย ๆ ครั้งที่การฝึกทำข้อความวิกิ 300 มิติส่วนใหญ่จะให้สิ่งที่ดีที่สุด ผลลัพธ์.
  2. ตัวอย่างพารามิเตอร์คือพารามิเตอร์ที่ใช้ในการตัดคำที่มีความถี่สูง เช่น "the" "คือ" "was" คำหยุดเหล่านี้จะไม่ได้รับการพิจารณาในหน้าต่างขณะที่ทำนายคำในและค่าเริ่มต้นทำงานได้ดีเพื่อระบุคำหยุดเหล่านี้ซึ่งมีความถี่สูงกว่า
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.