2012-03-06 13 views
6

मैं हाल ही में अव्यक्त अर्थ विश्लेषण पर काम कर रहा है। मैंने इसे जामा पैकेज का उपयोग करके जावा में लागू किया है।हम लेटेंट अर्थात् विश्लेषण के लिए आयामों की संख्या का निर्धारण कैसे करते हैं?

यहाँ कोड है:

Matrix vtranspose ; 
    a = new Matrix(termdoc); 
    termdoc = a.getArray(); 
    a = a.transpose() ; 
    SingularValueDecomposition sv =new SingularValueDecomposition(a) ; 
    u = sv.getU(); 
    v = sv.getV(); 
    s = sv.getS(); 
    vtranspose = v.transpose() ; // we obtain this as a result of svd 

    uarray = u.getArray(); 
    sarray = s.getArray(); 
    varray = vtranspose.getArray(); 
    if(semantics.maketerms.nodoc>50) 
    { 

     sarray_mod = new double[50][50]; 
     uarray_mod = new double[uarray.length][50]; 
     varray_mod = new double[50][varray.length]; 
     move(sarray,50,50,sarray_mod); 
     move(uarray,uarray.length,50,uarray_mod); 
     move(varray,50,varray.length,varray_mod); 
     e = new Matrix(uarray_mod); 
     f = new Matrix(sarray_mod); 
     g = new Matrix(varray_mod); 
     Matrix temp =e.times(f); 
     result = temp.times(g); 

    } 
    else 
    { 
     Matrix temp = u.times(s); 
     result = temp.times(vtranspose); 
    } 
    result = result.transpose(); 
    results = result.getArray() ; 

    return results ; 

लेकिन हम आयाम की संख्या कैसे तय करते हैं? क्या सर्वोत्तम परिणामों को प्राप्त करने के लिए सिस्टम को कम करने के लिए आयामों की संख्या निर्धारित करने के लिए कोई तरीका है? एलएसए के प्रभावी प्रदर्शन के लिए हम अन्य पैरामीटर पर विचार करते हैं?

उत्तर

12

आयाम की संख्या के चुनाव के बारे में: के प्रदर्शन के लिए उपयोग करने के लिए

LSI के लिए एक और चुनौती में कथित कठिनाई कर दिया गया है आयामों के इष्टतम संख्या का निर्धारण:

1) http://en.wikipedia.org/wiki/Latent_semantic_indexing एस वी डी। एक सामान्य नियम के रूप में, कम आयाम, व्यापक तुलना पाठ का एक संग्रह में निहित अवधारणाओं के लिए अनुमति देने के आयाम के एक उच्च संख्या अवधारणाओं के अधिक विशिष्ट (या अधिक प्रासंगिक) तुलना सक्षम है। उपयोग किए गए आयामों की वास्तविक संख्या संग्रह में दस्तावेज़ों की संख्या से सीमित है। अनुसंधान ने दर्शाया है कि लगभग 300 आयाम आम तौर पर मध्यम आकार के दस्तावेज़ संग्रह (सैकड़ों हजारों दस्तावेज़ों) के साथ सर्वोत्तम परिणाम प्रदान करेंगे और शायद बड़े दस्तावेज़ संग्रह (लाखों दस्तावेज़) के लिए 400 आयाम प्रदान करेंगे। हालांकि, हाल के अध्ययनों से संकेत मिलता है कि 50-1000 आयाम आकार और दस्तावेज़ संग्रह की प्रकृति पर निर्भर करता है उपयुक्त हैं।

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



2) http://www.puffinwarellc.com/index.php/news-and-articles/articles/33-latent-semantic-analysis-tutorial.html?showall=1:

SVD का उपयोग करने में चाल कितने आयाम या "अवधारणाओं" जब मैट्रिक्स का अनुमान करने का उपयोग करने के पता लगाना है। बहुत कम आयाम और महत्वपूर्ण पैटर्न छोड़े गए हैं, के कारण बहुत अधिक शोर और यादृच्छिक शब्द विकल्प वापस आ जाएंगे। एसवीडी एल्गोरिदम थोड़ा सा शामिल है, लेकिन सौभाग्य से पायथन के पास लाइब्रेरी फ़ंक्शन है जो इसे उपयोग करना आसान बनाता है। हमारी एलएसए कक्षा में नीचे दी गई विधि जोड़कर, हम अपने मैट्रिक्स को 3 अन्य मैट्रिक्स में कारक बना सकते हैं।यू मैट्रिक्स हमें हमारे "अवधारणा" स्थान पर प्रत्येक शब्द के निर्देशांक देता है, Vt मैट्रिक्स हमें हमारे "अवधारणा" स्थान में प्रत्येक दस्तावेज़ का निर्देशांक देता है, और एकवचन मानों के एस मैट्रिक्स हमें एक सुराग देता है में हमें कितने आयाम या "अवधारणाओं" की आवश्यकता है।

def calc(self): self.U, self.S, self.Vt = svd(self.A)

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

enter image description here

दस्तावेजों के बड़े संग्रह के लिए, प्रयोग किया जाता है आयाम की संख्या 100 से 500 रेंज में है। हमारे छोटे उदाहरण में, चूंकि हम ग्राफ़ ग्राफ़ करना चाहते हैं, इसलिए हम 3 आयामों का उपयोग करेंगे, पहले आयाम को फेंक देंगे, और ग्राफ़ दूसरे और तीसरे आयामों का ग्राफ करेंगे।

हम पहले आयाम को फेंकने का कारण दिलचस्प है। दस्तावेज़ों के लिए, पहला आयाम दस्तावेज़ की लंबाई के साथ सहसंबंधित करता है। शब्दों के लिए, यह सभी दस्तावेजों में शब्द का उपयोग करने की संख्या से संबंधित है। अगर हमने द्वारा हमारे मैट्रिक्स को केंद्रित किया था, तो प्रत्येक कॉलम से औसत कॉलम मान घटाकर, हम पहले आयाम का उपयोग करेंगे। एक समानता के रूप में, गोल्फ स्कोर पर विचार करें। हम वास्तविक स्कोर को जानना नहीं चाहते हैं, हम के बाद स्कोर को घटाकर स्कोर को जानना चाहते हैं। यही कारण है कि हमें बताता है खिलाड़ी



3) Landauer, टी, Foltz, पीडब्लू, laham, डी, (1998), 'परिचय सिमेंटिक विश्लेषण अव्यक्त करने के लिए एक बर्डी, बोगी, आदि बना है कि क्या ', व्याख्या प्रक्रिया, 25, 25 9-284:

enter image description here

संबंधित मुद्दे