คำถามติดแท็ก word-embeddings

การฝังคำเป็นชื่อรวมสำหรับชุดของการสร้างแบบจำลองภาษาและเทคนิคการเรียนรู้คุณลักษณะใน NLP ซึ่งคำต่างๆจะถูกจับคู่กับเวกเตอร์ของจำนวนจริงในช่องว่างมิติต่ำโดยเทียบกับขนาดคำศัพท์

2
เลเยอร์การฝังในเครือข่ายประสาทคืออะไร
ในหลายห้องสมุดเครือข่ายประสาทมี 'ชั้นฝัง' เหมือนในKerasหรือลาซัน ฉันไม่แน่ใจว่าฉันเข้าใจฟังก์ชั่นของมันแม้จะอ่านเอกสาร ตัวอย่างเช่นในเอกสาร Keras มันบอกว่า: เปลี่ยนจำนวนเต็มบวก (ดัชนี) เป็นเวกเตอร์ที่มีขนาดคงที่เช่น [[4], [20]] -> [[0.25, 0.1], [0.6, -0.2]] คนที่มีความสามารถสามารถอธิบายสิ่งที่มันทำและเมื่อคุณจะใช้มันได้หรือไม่ แก้ไข: เกี่ยวกับการวางในเอกสารมีไม่มากวางจากเอกสารดังนั้นคำถามของฉัน ฉันไม่เข้าใจการเปลี่ยนแปลงที่เกิดขึ้นหรือทำไมจึงควรใช้ อย่างไรก็ตามนี่คือวิธีอธิบายใน Keras: การฝัง keras.layers.embeddings.Embedding (input_dim, output_dim, init = 'uniform', input_length = None, น้ำหนัก = None, W_regularizer = None, W_constraint = None, mask_zero = False) เปลี่ยนจำนวนเต็มบวก (ดัชนี) , เช่น. [[4], …

2
เลเยอร์ Keras 'การฝัง' ทำงานอย่างไร
จำเป็นต้องเข้าใจการทำงานของเลเยอร์ 'การฝัง' ในไลบรารี Keras ฉันรันโค้ดต่อไปนี้ใน Python import numpy as np from keras.models import Sequential from keras.layers import Embedding model = Sequential() model.add(Embedding(5, 2, input_length=5)) input_array = np.random.randint(5, size=(1, 5)) model.compile('rmsprop', 'mse') output_array = model.predict(input_array) ซึ่งให้ผลลัพธ์ต่อไปนี้ input_array = [[4 1 3 3 3]] output_array = [[[ 0.03126476 0.00527241] [-0.02369716 -0.02856163] [ …

3
ใช้คำว่า embeddings กับเอกสารทั้งหมดเพื่อรับเวกเตอร์คุณลักษณะ
ฉันจะใช้คำศัพท์เพื่อฝังแผนที่เอกสารกับเวกเตอร์ฟีเจอร์ได้อย่างไรเหมาะสำหรับใช้กับการเรียนรู้ภายใต้การดูแล ฝังคำแผนที่แต่ละคำเพื่อเวกเตอร์ที่บางจำนวนไม่มากเกินไปขนาดใหญ่ (เช่น 500) ที่เป็นที่นิยมembeddings คำได้แก่word2vecและถุงมือwwwv∈Rdv∈Rdv \in \mathbb{R}^dddd ฉันต้องการใช้การเรียนรู้ภายใต้การดูแลเพื่อจำแนกเอกสาร ขณะนี้ฉันกำลังทำแผนที่เอกสารแต่ละฉบับกับเวกเตอร์คุณลักษณะโดยใช้การแทนคำถุงจากนั้นจึงใช้ตัวจําแนกแบบลักษณนาม ฉันต้องการแทนที่เวกเตอร์คุณลักษณะถุงคำ - คำด้วยการฝังคำที่มีการฝึกอบรมไว้ล่วงหน้าเพื่อใช้ประโยชน์จากความรู้เชิงความหมายที่มีอยู่ในการฝังคำ มีวิธีมาตรฐานในการทำเช่นนั้น? ฉันสามารถจินตนาการถึงความเป็นไปได้บ้าง แต่ฉันไม่รู้ว่ามีบางอย่างที่สมเหตุสมผลที่สุดหรือไม่ วิธีการสมัครที่ฉันเคยพิจารณา: ฉันสามารถคำนวณเวกเตอร์สำหรับแต่ละคำในเอกสารและเฉลี่ยพวกเขาทั้งหมด อย่างไรก็ตามดูเหมือนว่ามันอาจสูญเสียข้อมูลจำนวนมาก ตัวอย่างเช่นด้วยการใช้ถุงแทนคำถ้ามีคำไม่กี่คำที่มีความเกี่ยวข้องอย่างสูงกับงานการจัดหมวดหมู่และคำที่ไม่เกี่ยวข้องส่วนใหญ่ตัวจําแนกสามารถเรียนรู้ได้ง่าย ถ้าฉันเฉลี่ยเวกเตอร์สำหรับคำทั้งหมดในเอกสารตัวจําแนกไม่มีโอกาส การต่อเวกเตอร์เข้ากับคำทั้งหมดไม่ทำงานเพราะจะไม่นำไปสู่เวกเตอร์ที่มีขนาดคงที่ นอกจากนี้ดูเหมือนว่าเป็นความคิดที่ไม่ดีเพราะมันจะไวเกินไปต่อการจัดวางคำเฉพาะ ฉันสามารถใช้คำนั้นเพื่อจัดกลุ่มคำศัพท์ของทุกคำให้เป็นกระจุกกลุ่มคงที่พูดกันว่า 1000 กลุ่มซึ่งฉันใช้ความคล้ายคลึงโคไซน์บนเวกเตอร์เพื่อวัดความคล้ายคลึงกันของคำ จากนั้นแทนที่จะเป็นถุงคำคำฉันสามารถมีถุงแบบกลุ่ม: เวกเตอร์คุณลักษณะที่ฉันจัดหาให้กับ classifer อาจเป็น 1000- เวกเตอร์ซึ่งองค์ประกอบที่นับจำนวนคำในเอกสารที่ เป็นส่วนหนึ่งของคลัสเตอร์ฉันiiiiii ป.ร. ให้คำเหล่านี้ embeddings คำให้ฉันคำนวณชุดของด้านบน 20 มากที่สุดคำที่คล้ายกันและคะแนนความคล้ายคลึงกันของพวกเขา{20} ฉันสามารถปรับเวกเตอร์ลักษณะคล้ายคำถุงด้วยการใช้สิ่งนี้ เมื่อผมเห็นคำว่าที่นอกเหนือไปจากการเพิ่มองค์ประกอบที่สอดคล้องกับคำโดย , ฉันยังสามารถเพิ่มองค์ประกอบที่สอดคล้องกับคำโดย , เพิ่มองค์ประกอบที่สอดคล้องกับคำโดยและอื่น ๆwwww1,…,w20w1,…,w20w_1,\dots,w_{20}s1,…,s20s1,…,s20s_1,\dots,s_{20}wwwwww111w1w1w_1s1s1s_1w2w2w_2s2s2s_2 มีวิธีการเฉพาะที่น่าจะทำงานได้ดีสำหรับการจำแนกเอกสารหรือไม่? ฉันไม่ได้กำลังหาย่อหน้า 2vec หรือ …

1
ฉันควรทำให้เวกเตอร์คำของ word2vec เป็นปกติก่อนที่จะใช้หรือไม่
หลังการฝึกอบรมคำเวกเตอร์ด้วย word2vec จะดีกว่าหรือไม่ที่จะทำให้ปกติก่อนใช้สำหรับแอพพลิเคชั่นดาวน์สตรีม คืออะไร pros / cons ของ normalizing พวกเขาคืออะไร?

3
R: การสุ่มฟอเรสต์การโยน NaN / Inf ในข้อผิดพลาด“ การเรียกฟังก์ชันต่างประเทศ” แม้จะไม่มีชุดข้อมูลของ NaN [ปิด]
ฉันใช้คาเร็ตเพื่อรันฟอเรสต์แบบสุ่มที่ผ่านการตรวจสอบความถูกต้องข้ามชุดข้อมูล ตัวแปร Y เป็นปัจจัย ไม่มีชุดข้อมูลของ NaN, Inf's หรือ NA ในชุดข้อมูลของฉัน อย่างไรก็ตามเมื่อใช้ป่าสุ่มฉันได้รับ Error in randomForest.default(m, y, ...) : NA/NaN/Inf in foreign function call (arg 1) In addition: There were 28 warnings (use warnings() to see them) Warning messages: 1: In data.matrix(x) : NAs introduced by coercion 2: In data.matrix(x) : NAs …

1
รายงานประสิทธิภาพการทำงานที่ทันสมัยของการใช้เวกเตอร์ย่อหน้าสำหรับการวิเคราะห์ความเชื่อมั่นได้รับการทำซ้ำหรือไม่?
ฉันประทับใจกับผลลัพธ์ใน ICML 2014 กระดาษ "การแจกจ่ายการเป็นตัวแทนของประโยคและเอกสาร " โดย Le และ Mikolov เทคนิคที่พวกเขาอธิบายเรียกว่า "พาหะของย่อหน้า" เรียนรู้การแสดงที่ไม่มีผู้ดูแลของย่อหน้า / เอกสารที่ไม่มีกฎเกณฑ์โดยมีพื้นฐานอยู่บนส่วนขยายของรุ่น word2vec บทความนี้รายงานถึงประสิทธิภาพการวิเคราะห์ความเชื่อมั่นโดยใช้เทคนิคนี้ ฉันหวังว่าจะประเมินเทคนิคนี้กับปัญหาการจำแนกข้อความอื่น ๆ ซึ่งเป็นทางเลือกแทนการแสดงคำแบบถุง อย่างไรก็ตามฉันวิ่งข้ามโพสต์โดยผู้เขียนที่สองในหัวข้อในกลุ่ม word2vec Google ที่ให้ฉันหยุดชั่วคราว: ฉันพยายามทำซ้ำผลลัพธ์ของ Quoc ในช่วงฤดูร้อน ฉันสามารถได้รับอัตราความผิดพลาดในชุดข้อมูล IMDB ประมาณ 9.4% - 10% (ขึ้นอยู่กับว่าการจัดรูปแบบข้อความปกติดีแค่ไหน) อย่างไรก็ตามฉันไม่สามารถเข้าใกล้ทุกสิ่งที่ Quoc รายงานไว้ในกระดาษ (ข้อผิดพลาด 7.4% นั่นเป็นความแตกต่างใหญ่หลวง) ... แน่นอนเรายังถาม Quoc เกี่ยวกับรหัสด้วย เขาสัญญาว่าจะเผยแพร่ แต่ก็ยังไม่มีอะไรเกิดขึ้น ... ฉันเริ่มคิดว่าผลลัพธ์ของ Quoc นั้นไม่สามารถทำซ้ำได้จริง …

1
การสุ่มตัวอย่างเชิงลบทำงานอย่างไรใน word2vec
ฉันพยายามอย่างหนักที่จะเข้าใจแนวคิดของการสุ่มตัวอย่างเชิงลบในบริบทของ word2vec ฉันไม่สามารถแยกแยะความคิดในการสุ่มตัวอย่าง [เชิงลบ] ตัวอย่างเช่นในเอกสารของ Mikolovความคาดหวังการสุ่มตัวอย่างเชิงลบนั้นถูกกำหนดเป็น เข้าสู่ระบบσ( ⟨ w , c ⟩ ) + k ⋅ Eคยังไม่มีข้อความ~ PD[ บันทึกσ( - ⟨ w , cยังไม่มีข้อความ⟩ ) ]เข้าสู่ระบบ⁡σ(⟨W,ค⟩)+k⋅Eคยังไม่มีข้อความ~PD[เข้าสู่ระบบ⁡σ(-⟨W,คยังไม่มีข้อความ⟩)].\log \sigma(\langle w,c\rangle ) + k \cdot \mathbb E_{c_N\sim PD}[\log\sigma(−\langle w,c_N\rangle)]. ฉันเข้าใจคำศัพท์ด้านซ้ายแต่ฉันไม่เข้าใจแนวคิดของการสุ่มตัวอย่างคำศัพท์บริบทบริบทเชิงลบlogσ(⟨w,c⟩)log⁡σ(⟨w,c⟩)\log \sigma(\langle w,c\rangle)


2
วิธีการฝึกเลเยอร์การฝังในเลเยอร์ Keras การฝัง
เลเยอร์การฝังได้รับการฝึกฝนในเลเยอร์ Keras อย่างไร (พูดโดยใช้ tensorflow แบ็กเอนด์ความหมายมันคล้ายกับ word2vec, ถุงมือหรือข้อความอย่างรวดเร็ว) สมมติว่าเราไม่ใช้การฝังที่ถูกเตรียมไว้

3
ทำไม softmax แบบลำดับขั้นดีกว่าสำหรับคำที่ไม่บ่อยนักในขณะที่การสุ่มตัวอย่างเชิงลบจะดีกว่าสำหรับคำที่ใช้บ่อย
ฉันสงสัยว่าทำไม softmax แบบลำดับชั้นนั้นดีกว่าสำหรับคำที่ไม่บ่อยนักในขณะที่การสุ่มตัวอย่างเชิงลบจะดีกว่าสำหรับคำที่ใช้บ่อยใน CBOW ของ word2vec และโมเดล skip-gram ฉันได้อ่านข้อเรียกร้องในhttps://code.google.com/p/word2vec/

3
แบบจำลอง skip-gram ของ Word2Vec สร้างเวกเตอร์เอาต์พุตได้อย่างไร
ฉันมีปัญหาในการทำความเข้าใจโมเดลอัลกอริทึมของ Word2Vec ในกระเป๋าของคำอย่างต่อเนื่องเป็นเรื่องง่ายที่จะเห็นว่าคำบริบทสามารถ "พอดี" ในเครือข่ายประสาทเนื่องจากคุณโดยเฉลี่ยพวกเขาหลังจากที่คูณการเป็นตัวแทนการเข้ารหัสหนึ่งร้อนด้วยเมทริกซ์อินพุต W. อย่างไรก็ตามในกรณีของ skip-gram คุณจะได้รับเวกเตอร์คำอินพุตโดยการคูณการเข้ารหัสแบบร้อนกับเมทริกซ์อินพุตและจากนั้นคุณควรจะได้เวกเตอร์ C (= ขนาดหน้าต่าง) สำหรับคำบริบทโดยการคูณ การแทนค่าเวกเตอร์อินพุทด้วยเมทริกซ์เอาต์พุต W ' สิ่งที่ฉันหมายถึงคือการมีคำศัพท์ขนาดและการเข้ารหัสขนาด ,อินพุตเมทริกซ์และเป็นเมทริกซ์เอาต์พุต ให้คำว่าด้วยการเข้ารหัสหนึ่งร้อนด้วยคำบริบทและ (กับ reps หนึ่งร้อนและ ) ถ้าคุณคูณด้วยเมทริกซ์อินพุตคุณจะได้รับตอนนี้คุณจะสร้างเวกเตอร์คะแนนจากสิ่งนี้ได้อย่างไรN W ∈ R V × N W ' ∈ R N × V W ฉันx ฉันW J W H x J x H x ฉัน W …

1
Word ฝังอัลกอริทึมในแง่ของประสิทธิภาพ
ฉันพยายามฝังวลีประมาณ60 ล้านวลีลงในช่องว่างเวกเตอร์จากนั้นคำนวณความคล้ายคลึงโคไซน์ระหว่างพวกเขา ฉันใช้ sklearn CountVectorizerพร้อมกับฟังก์ชั่น tokenizer ที่สร้างขึ้นเองที่สร้าง unigrams และ bigrams ปรากฎว่าการได้รับการรับรองที่มีความหมายฉันต้องยอมให้มีคอลัมน์จำนวนมหาศาลเป็นเส้นตรงในจำนวนแถว สิ่งนี้นำไปสู่เมทริกซ์กระจัดกระจายอย่างไม่น่าเชื่อและกำลังฆ่าประสิทธิภาพ มันจะไม่เลวร้ายนักหากมีคอลัมน์ประมาณ 10,000 คอลัมน์เท่านั้นซึ่งฉันคิดว่าค่อนข้างสมเหตุสมผลสำหรับการจัดเรียงคำ ฉันกำลังคิดจะลองใช้งาน Google word2vecเพราะฉันค่อนข้างแน่ใจว่ามันจะสร้างมิติที่ต่ำกว่าและมีงานแต่งงานที่หนาแน่นมากขึ้น แต่ก่อนหน้านั้นมีงานแต่งงานอื่น ๆ ที่อาจรับประกันดูครั้งแรกหรือไม่? ข้อกำหนดที่สำคัญจะสามารถปรับขนาดได้ประมาณ 60 ล้านวลี (แถว) ฉันค่อนข้างใหม่ในด้านการใช้คำศัพท์เพื่อช่วยให้คำแนะนำใด ๆ ฉันควรเพิ่มว่าฉันใช้การสลายตัวของค่าเอกพจน์เพื่อปรับปรุงประสิทธิภาพแล้ว

2
วิธีการกำหนดพารามิเตอร์สำหรับ t-SNE สำหรับการลดขนาด?
ฉันใหม่มากที่จะแต่งงานคำ ฉันต้องการเห็นภาพว่าเอกสารกำลังเรียนรู้อย่างไร ฉันอ่านว่า t-SNE เป็นวิธีการที่จะทำ ฉันมีเอกสาร 100K ขนาด 250 เท่าของการฝัง มีหลายแพ็คเกจเช่นกัน อย่างไรก็ตามสำหรับ t-SNE ฉันไม่ทราบว่าการวนซ้ำหรือค่าของ alpha หรือค่า perpexility ที่ฉันควรเรียนรู้มากขึ้นเท่าไร พารามิเตอร์ไฮเปอร์เหล่านี้หรืออาจถูกกำหนดโดยคุณลักษณะบางอย่าง?

1
ข้อดีและข้อเสียของการใช้ข้อมูลร่วมกันแบบจุดในเมทริกซ์การคิดคำก่อน SVD คืออะไร?
วิธีหนึ่งในการสร้างคำ embeddings มีดังนี้ ( กระจก ): รับ corpora เช่น "ฉันสนุกกับการบินฉันชอบ NLP ฉันชอบการเรียนรู้ลึก" สร้างเมทริกซ์การทับซ้อนของคำจากมัน: ดำเนินการ SVD บนXXXและเก็บคอลัมน์kkkแรกของ U U1:|V|,1:kU1:|V|,1:kU_{1:|V|,1:k} ระหว่างขั้นตอนที่ 2 และ 3 ข้อมูลบางอย่างจะถูกนำมาใช้ร่วมกันในบางจุด(เช่นA. Herbelot และ EM Vecchi 2015. การสร้างโลกที่ใช้ร่วมกัน: การทำแผนที่การกระจายไปยังพื้นที่เชิงความหมายแบบจำลองเชิงทฤษฎีในการประชุม . ลิสบอน, โปรตุเกส .) ข้อดีและข้อเสียของการใช้ข้อมูลร่วมกันแบบจุดในเมทริกซ์การคิดคำก่อน SVD คืออะไร?

2
คำถามเกี่ยวกับ Bag of Words ต่อเนื่อง
ฉันมีปัญหาในการเข้าใจประโยคนี้: สถาปัตยกรรมที่เสนอครั้งแรกคล้ายกับ NNLM ของ feedforward โดยที่เลเยอร์ที่ไม่ใช่เชิงเส้นจะถูกลบออกและเลเยอร์การฉายจะใช้ร่วมกันสำหรับทุกคำ (ไม่ใช่แค่เมทริกซ์การฉาย); ดังนั้นคำทั้งหมดจึงถูกฉายในตำแหน่งเดียวกัน (เวกเตอร์ของพวกมันมีค่าเฉลี่ย) ชั้นฉายภาพกับเมทริกซ์การฉายคืออะไร? มันหมายความว่าอย่างไรที่คำทุกคำจะถูกฉายในตำแหน่งเดียวกัน แล้วทำไมเวกเตอร์ของพวกมันจึงมีค่าเฉลี่ย? ประโยคที่เป็นครั้งแรกของส่วนที่ 3.1 ของการประมาณค่าที่มีประสิทธิภาพของการแสดงคำในปริภูมิเวกเตอร์ (Mikolov et al. 2013)

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.