LDA vs word2vec


39

मैं यह समझने की कोशिश कर रहा हूं कि शब्द समानता की गणना के लिए लेटेंट डिरिक्लेट आवंटन और शब्द 2vec में क्या समानता है।

जैसा कि मैं समझता हूं, LDA अव्यक्त विषयों की संभावनाओं की एक सदिश के लिए शब्दों को मैप करता है , जबकि word2vec उन्हें वास्तविक संख्याओं के वेक्टर में मैप करता है (बिंदुवार पारस्परिक जानकारी के विलक्षण मूल्य अपघटन से संबंधित, ओ लेवी, वाई। गोल्डबर्ग देखें, "न्यूरल वर्ड एम्बेडिंग जैसा कि मैट्रिक्स मैट्रिक्स फैक्टराइजेशन " ; यह भी देखें कि word2vec कैसे काम करता है? )।

मैं दोनों सैद्धांतिक संबंधों में दिलचस्पी ले रहा हूं (एक को सामान्यीकरण, या दूसरे का रूपांतर माना जा सकता है) और व्यावहारिक (जब एक का उपयोग करना है लेकिन दूसरे का नहीं)।

सम्बंधित:


मैं इस प्रस्तुति पाया पर मौके होने के लिए: slideshare.net/ChristopherMoody3/...
पिओर Migdal

आपको Doc2vec (aka। पैरा 2vec) देखना चाहिए। दस्तावेज़ वैक्टर शब्दों के बजाय दस्तावेज़ को सारांशित करता है।
साचिन्रुक

जवाबों:


19

का उत्तर विषय के मॉडल और शब्द सह-घटना तरीकों अंतर (छोड़ ग्राम word2vec के संपीड़न है को शामिल किया गया pointwise आपसी जानकारी (पीएमआई) )।

इसलिए:

  • न तो विधि दूसरे का सामान्यीकरण है,
  • vkingvman+vwomanvqueen
  • एलडीए दो तत्वों की तुलना में अधिक सहसंबंध देखता है,
  • एलडीए व्याख्यात्मक विषय देता है।

स्लाइड 2 शब्द में कुछ अंतर पर चर्चा की जाती है, LDA, और एक नया हाइब्रिड अल्गोरिथम पेश कर रहा है: lda2vec - क्रिस्टोफर मूडी


1
मैं कथन को स्वीकार करता हूं कि "LDA व्याख्यात्मक विषय देता है" यह कहने के लिए कि LDA के विषय संभावित रूप से व्याख्या योग्य हैं। एलडीए के "विषय" का विचार एक विशुद्ध रूप से गणितीय निर्माण है जो हमेशा एक मानव के विषय के रूप में सोचता है, जिसमें वह मानचित्र नहीं करता है।
वेन

आपके द्वारा छोड़ी गई एक प्रमुख अवधारणा यह है कि LDA एक बैग-ऑफ-वर्ड दृष्टिकोण का उपयोग करता है, इसलिए यह केवल एक दस्तावेज़ के भीतर सह-घटनाओं के बारे में जानता है, जबकि शब्द 2vec (या अधिक तुलनात्मक रूप से doc2vec) एक शब्द के संदर्भ को मानता है।
वेन

13

दोनों एल्गोरिदम अपने उद्देश्य में काफी भिन्न हैं।

एलडीए का उद्देश्य ज्यादातर दस्तावेजों और दस्तावेज़ संग्रहों का वर्णन करना है, जो कि आपके द्वारा उल्लेखित शब्द वितरणों को निर्दिष्ट करता है।

word2vec एक अव्यक्त कारक वेक्टर अंतरिक्ष में शब्दों को एम्बेड करने के लिए लगता है, एक विचार जो बेंगियो एट अल के वितरित प्रतिनिधित्व से उत्पन्न होता है। इसका उपयोग दस्तावेजों का वर्णन करने के लिए भी किया जा सकता है, लेकिन वास्तव में कार्य के लिए डिज़ाइन नहीं किया गया है।


1
आप सैद्धांतिक रूप से LDA से कंप्यूटिंग P (विषय | शब्द) द्वारा word2vec के वेक्टर एम्बेडिंग के अनुरूप कुछ प्राप्त कर सकते हैं, लेकिन @Bar ने कहा कि ये मॉडल विभिन्न कार्यों के लिए डिज़ाइन किए गए थे। यदि आपने LDA के P (विषय। शब्द) की तुलना word2vec के वेक्टर एम्बेडिंग के साथ की है, तो मुझे संदेह है कि वे बहुत समान होंगे। LDA डॉक्यूमेंट स्तर के संघों पर कब्जा कर रहा है, जबकि word2vec बहुत स्थानीय लोगों को कैप्चर कर रहा है।
जुबिन

4

Topic2Vectogether with

D={w1:z1,...,wM:zM}ziwi

LCBOW(D)=1Mi=1M(logp(wi|wext)+logp(zi|wext))

LSkipgram(D)=1Mi=1Mkck,c0(logp(wi+c|wi)+logp(wi+c|zi))

COSINE SIMILARITY

इसके अलावा, आप कुछ काम जैसे वाक्यांशों के अंदर पाते हैं:

"सुविधा प्रतिनिधित्व के लिए संभावना सबसे अच्छा विकल्प नहीं है"

तथा

"LDA शब्दों, विषयों और दस्तावेजों में अंतर्निहित वास्तविक अर्थ सूचना के बजाय घटनाओं के सांख्यिकीय संबंध का वर्णन करना पसंद करता है"

जो आपको विभिन्न मॉडलों को बेहतर ढंग से समझने में मदद करेगा।


2

अन्य उत्तर यहां उन दो एल्गोरिदम के बीच तकनीकी अंतर को कवर करते हैं, हालांकि मुझे लगता है कि मुख्य अंतर उनका उद्देश्य है: उन दो एल्गोरिदम को विभिन्न चीजों को करने के लिए डिज़ाइन किया गया था:

word2vecअंततः शब्दों और निश्चित लंबाई के वेक्टर के बीच एक मानचित्रण पैदा करता है । अगर हम इसकी तुलना दूसरे जाने-माने दृष्टिकोण से करते हैं, तो यह एक और उपकरण का उपयोग करने के लिए और अधिक समझ में आता है जो कि एक ही उद्देश्य के लिए डिज़ाइन किया गया था, जैसे कि शब्द (BOW मॉडल)। यह एक ही करता है, लेकिन इसमें word2vecशब्दों के क्रम का उपयोग करने और शब्द निरूपण के बीच की दूरी को अर्थ अर्थ प्रदान करने जैसी कुछ वांछित विशेषताओं का अभाव है ।

LDAदूसरी ओर एक विविध लंबाई दस्तावेज़ से एक वेक्टर के लिए एक मानचित्रण बनाता है । यह दस्तावेज़ एक वाक्य, पैराग्राफ या पूर्ण पाठ फ़ाइल हो सकता है लेकिन यह एक शब्द नहीं है। यह तुलना करने के लिए अधिक समझ में आता है doc2vecकि एक ही काम करता है और टॉमस मिकोलोव द्वारा यहां पेश किया गया है (लेखक शब्द का उपयोग करता है paragraph vectors)। या LSIउस बात के लिए।

तो अपने दो सवालों के सीधे जवाब देने के लिए:

  1. उनमें से कोई भी दूसरे का सामान्यीकरण या भिन्नता नहीं है
  2. दस्तावेज़ का उपयोग एक निश्चित लंबाई के वेक्टर के मानचित्र के लिए करें । फिर आप इस वेक्टर का उपयोग एक क्लासिफायरियर जैसे पारंपरिक एमएल एल्गोरिथम में कर सकते हैं जो एक दस्तावेज़ को स्वीकार करता है और उदाहरण के लिए एक भावुक लेबल की भविष्यवाणी करता है।
  3. word2vecकिसी शब्द को निश्चित लंबाई के वेक्टर में मैप करने के लिए उपयोग करें । आप इसी तरह इन वैक्टर का उपयोग एमएल मॉडल को खिलाने के लिए कर सकते हैं इनपुट शब्द थे, उदाहरण के लिए जब एक ऑटो-कंपाइलर विकसित करना जो पिछले शब्दों पर फ़ीड करता है और अगले की भविष्यवाणी करने का प्रयास करता है।

1

एक व्यावहारिक दृष्टिकोण से ...

एलडीए एक बैग-ऑफ-वर्ड इनपुट के साथ शुरू होता है जो यह मानता है कि दस्तावेजों में कौन से शब्द सह होते हैं, लेकिन शब्दों के तत्काल संदर्भ पर ध्यान नहीं देते हैं। इसका मतलब है कि दस्तावेज में और किसी भी क्रम में शब्द कहीं भी दिखाई दे सकते हैं, जो एक निश्चित स्तर की जानकारी को स्ट्रिप्स करता है। इसके विपरीत word2vec उस संदर्भ के बारे में है जिसमें एक शब्द का उपयोग किया जाता है - हालांकि सटीक क्रम नहीं।

LDA के "विषय" एक गणितीय निर्माण हैं और आपको वास्तविक मानव विषयों के साथ उन्हें भ्रमित नहीं करना चाहिए। आप उन विषयों के साथ समाप्त हो सकते हैं जिनकी कोई मानवीय व्याख्या नहीं है - वे वास्तविक विषयों की तुलना में प्रक्रिया की कलाकृतियों को अधिक पसंद करते हैं - और आप मूल रूप से एक ही मानव विषय को कवर करने वाले विषयों सहित, अमूर्त के विभिन्न स्तरों पर विषयों के साथ समाप्त कर सकते हैं। यह चाय की पत्तियों को पढ़ने जैसा है।

मैंने एलडीए को डेटा का पता लगाने के लिए उपयोगी पाया है, लेकिन समाधान प्रदान करने के लिए इतना उपयोगी नहीं है, लेकिन आपका माइलेज भिन्न हो सकता है।

Word2vec सीधे सभी विषय नहीं बनाता है। यह समान उपयोग के आधार पर शब्दों को एक उच्च-आयामी स्थान में प्रोजेक्ट करता है, इसलिए शब्दों के संदर्भ में इसका अपना आश्चर्य हो सकता है जिसे आप विशिष्ट मानते हैं - या यहां तक ​​कि विपरीत - अंतरिक्ष में एक दूसरे के निकट हो सकते हैं।

आप या तो यह निर्धारित करने के लिए उपयोग कर सकते हैं कि क्या शब्द "समान" हैं। एलडीए के साथ: क्या शब्दों में समान विषयों में समान भार हैं। Word2vec के साथ: वे एम्बेडिंग स्पेस में (कुछ उपाय द्वारा) पास हैं।

आप या तो यह निर्धारित करने के लिए उपयोग कर सकते हैं कि क्या दस्तावेज समान हैं। LDA के साथ, आप विषयों के समान मिश्रण की तलाश करेंगे, और word2vec के साथ आप दस्तावेज़ के शब्दों के वैक्टर को जोड़ने जैसा कुछ करेंगे। ("डॉक्यूमेंट" एक वाक्य, पैराग्राफ, पेज या एक संपूर्ण डॉक्यूमेंट हो सकता है।) Doc2vec word2vec का एक संशोधित संस्करण है जो दस्तावेजों की प्रत्यक्ष तुलना की अनुमति देता है।

जबकि LDA अपने बैग-ऑफ-वर्ड दृष्टिकोण के साथ कुछ प्रासंगिक जानकारी फेंकता है, इसमें विषय (या "विषय") होते हैं, जो word2vec में नहीं होता है। तो यह कहने के लिए doc2vec का उपयोग करना सीधा है, "मुझे ऐसे दस्तावेज़ दिखाएं जो इस के समान हों", जबकि LDA के साथ यह कहना सीधा है, "मुझे दस्तावेज़ दिखाएं जहां विषय A प्रमुख है।" (फिर से, यह जानकर कि "विषय A" आपके दस्तावेज़ों पर एक गणितीय प्रक्रिया से निकलता है और फिर आप यह पता लगा लेते हैं कि यह किस मानव विषय से संबंधित है?)

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.