अव्यक्त Dirichlet आवंटन का उपयोग करते हुए विषय की भविष्यवाणी


17

मैंने दस्तावेजों के एक कोष पर एलडीए का उपयोग किया है और कुछ विषयों को पाया है। मेरे कोड का आउटपुट प्रायिकता वाले दो मैट्रिक्स हैं; एक डॉक्टर-विषय की संभाव्यता और दूसरा शब्द-विषय की संभावनाएँ। लेकिन मैं वास्तव में एक नए दस्तावेज़ के विषय की भविष्यवाणी करने के लिए इन परिणामों का उपयोग करना नहीं जानता। मैं गिब्स के नमूने का उपयोग कर रहा हूं। किसी को कैसे पता है? धन्यवाद


1
"एक नए दस्तावेज़ के विषय की भविष्यवाणी" से आपका क्या मतलब है? क्या आप यह जानना चाहते हैं कि यह दस्तावेज़ किस एक विषय से उत्पन्न हुआ था? क्या आप दस्तावेज़ के लिए विषयों का मिश्रण ढूंढना चाहते हैं? क्या आप उस विषय द्वारा नए दस्तावेज़ में प्रत्येक शब्द को लेबल करना चाहते हैं जो शब्द आया था?
शेल्डनकॉपर

क्या आप यह जानना चाहते हैं कि यह दस्तावेज़ किस एक विषय से उत्पन्न हुआ था? क्या आप दस्तावेज़ के लिए विषयों का मिश्रण ढूंढना चाहते हैं? - मैं वास्तव में इन दोनों सवालों का जवाब देना चाहता हूं ... लेकिन मेरा कॉर्पस वास्तव में बड़ा है, इसलिए मैं अपने सभी मॉडल को नए दस्तावेज़ के लिए हर बार फिर से प्रशिक्षित करने का जोखिम नहीं उठा सकता। जांच की जाती है
होसैन

जवाबों:


21

मैं 'में तह' की कोशिश करूँगा। यह एक नया दस्तावेज़ लेने के लिए संदर्भित करता है, इसे कॉर्पस में जोड़ता है, और फिर उस नए दस्तावेज़ में शब्दों पर सिर्फ गिब्स नमूना चल रहा है है, पुराने दस्तावेजों के विषय असाइनमेंट को समान रखता है। यह आमतौर पर तेजी से परिवर्तित होता है (शायद 5-10-20 पुनरावृत्तियों), और आपको अपने पुराने कॉर्पस को नमूना करने की आवश्यकता नहीं है, इसलिए यह तेजी से भी चलता है। अंत में आपके पास नए दस्तावेज़ में प्रत्येक शब्द के लिए विषय असाइनमेंट होगा। यह आपको उस दस्तावेज़ में विषयों का वितरण देगा।

आपके गिब्स नमूना में, आपके पास संभवतः निम्नलिखित कोड के समान कुछ है:

// This will initialize the matrices of counts, N_tw (topic-word matrix) and N_dt (document-topic matrix)
for doc = 1 to N_Documents
    for token = 1 to N_Tokens_In_Document
       Assign current token to a random topic, updating the count matrices
    end
end

// This will do the Gibbs sampling
for doc = 1 to N_Documents
    for token = 1 to N_Tokens_In_Document
       Compute probability of current token being assigned to each topic
       Sample a topic from this distribution
       Assign the token to the new topic, updating the count matrices
    end
end

फोल्डिंग-इन समान है, सिवाय इसके कि आप मौजूदा मैट्रिसेस से शुरुआत करते हैं, नए डॉक्यूमेंट के टोकन को उनके साथ जोड़ते हैं, और केवल नए टोकन के लिए सैंपलिंग करते हैं। अर्थात:

Start with the N_tw and N_dt matrices from the previous step

// This will update the count matrices for folding-in
for token = 1 to N_Tokens_In_New_Document
   Assign current token to a random topic, updating the count matrices
end

// This will do the folding-in by Gibbs sampling
for token = 1 to N_Tokens_In_New_Document
   Compute probability of current token being assigned to each topic
   Sample a topic from this distribution
   Assign the token to the new topic, updating the count matrices
end

pwiwijwj

jpwji

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

@SheldonCooper: यदि मैं आपको सही तरीके से समझता हूं, तो मुझे संदेह है कि यह ऐसा करने का तरीका है: आप क्या करते हैं जैसे कि आप एक नए परीक्षण नमूने पर एसवीएम के प्रदर्शन को मापते हैं, जिससे ऑप्टिमाइज़ेशन एल्गोरिदम कुछ और कदम बढ़ाता है। परीक्षण के नमूने सहित वर्तमान समाधान और फिर इस नमूने पर इसका मूल्यांकन करें ... लेकिन: मशीन सीखने में आप अपने प्रशिक्षण सेट पर कभी भी परीक्षण नहीं कर सकते हैं ... और परीक्षण नमूने को उस मॉडल में शामिल करें जिसे आप ठीक से करते हैं: एक पर परीक्षण प्रशिक्षण का नमूना ...
फेबियन वर्नर

@FabianWerner मेरा मानना ​​है कि समाधान ने मूल प्रशिक्षण से शब्द-विषय मैट्रिक्स को अपडेट नहीं किया। यह प्रशिक्षित शब्द-विषय मैट्रिक्स के साथ शुरू होने वाले गिब्स नमूना को फिर से चलाता है, और एक नया दस्तावेज़-विषय मैट्रिक्स बनाता है। किसी भी दर पर, क्या आप एक और तरीका जानते हैं कि ओपी ने क्या पूछा (वास्तव में कई साल पहले)? मैं उसी समस्या को देख रहा हूं।
Thecity2

@ thecity2 हालांकि मैं थोड़ी देर के लिए इस समस्या के बारे में सोच रहा हूं, मुझे दुख के साथ कहना होगा कि मेरे पास अभी तक कोई समाधान नहीं है। अगर आपको एक मिल जाए, तो कृपया मुझे बताएं !!!
फाबियन वर्नर

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