2012-08-08 10 views
6

ठीक है तो मैं थोड़ा उलझन में हूं। हालांकि यह एक सरल सीधा सवाल होना चाहिए।टीएफ-आईडीएफ सरल उपयोग - एनएलटीके/विज्ञान जानें

array([[ 0.85..., 0. ..., 0.52...], 
     [ 1. ..., 0. ..., 0. ...], 
     [ 1. ..., 0. ..., 0. ...], 
     [ 1. ..., 0. ..., 0. ...], 
     [ 0.55..., 0.83..., 0. ...], 
     [ 0.63..., 0. ..., 0.77...]]) 

मैं इस परिणाम का उपयोग कैसे करूँ खोज के खिलाफ सबसे समान दस्तावेज़ प्राप्त करने के लिए:

संपूर्ण संग्रह के खिलाफ दस्तावेज के TF-आईडीएफ मैट्रिक्स की गणना के बाद, मैं बहुत ही इस के लिए इसी तरह एक परिणाम मिलता है क्वेरी? असल में मैं विकिपीडिया के लिए एक खोज बार फिर से बनाने की कोशिश कर रहा हूं। एक खोज क्वेरी के आधार पर मैं विकिपीडिया से सबसे प्रासंगिक लेख वापस करना चाहता हूं। इस परिदृश्य में, 6 लेख (पंक्तियां) हैं और खोज क्वेरी में 3 शब्द (कॉलम) हैं।

क्या मैं कॉलम में सभी परिणाम जोड़ता हूं या सभी पंक्तियां जोड़ता हूं? क्या अधिक मूल्य सबसे अधिक प्रासंगिक है या सबसे कम मूल्य सबसे प्रासंगिक है?

उत्तर

4

क्या आप cosine similarity से परिचित हैं? प्रत्येक आलेख (वेक्टर ए) के लिए क्वेरी (वेक्टर बी) की समानता की गणना करें। फिर अवरोही क्रम में रैंक करें और शीर्ष परिणाम का चयन करें। यदि आप रिफैक्टर करने के इच्छुक हैं, तो gensim लाइब्रेरी उत्कृष्ट है।

+1

वैसे मैं वास्तव में इस ट्यूटोरियल का पालन कर रहा हूं: http: //pyevolve.sourceforge.net/wordpress/? P = 1589 ... मूल अर्थों और खोज क्वेरी के बीच टीएफ-आईडीएफ वेक्टर का उपयोग करने का अर्थ यह नहीं है कि । – tabchas

+1

यदि आप अपनी वेटिंग योजना के रूप में टीएफ-आईडीएफ का उपयोग कर रहे हैं, तो भी आप अपनी क्वेरी को सामान्य बनाना चाहते हैं। आपके मैट्रिक्स में तीन शब्द हैं, जिनमें से सभी क्वेरी में दर्शाए जाते हैं; इस प्रकार क्वेरी का कच्चा आवृत्ति वेक्टर (1,1,1) है। sqrt ((1^2) + (1^2) + (1^2)) = 1.73, और 1/1.73 = 0.57। तो आपका प्रश्न वेक्टर है (0.57,0.57,0.57)। अब आप क्वेरी को दूसरे दस्तावेज़ के रूप में देख सकते हैं। इस क्वेरी वेक्टर और कुछ अन्य दस्तावेज़ वेक्टर की कोसाइन समानता इसका डॉट उत्पाद है। पहले लेख के लिए: ((.57 * .85) + (57 * 0) + (57 * .52)) = 0.2 9 64। सभी लेखों के लिए इसे दोहराएं और उच्चतम स्कोर जीतें। – verbsintransit

+0

तो मुझे किसी प्रकार के वर्गीकरण को प्रशिक्षित करने की ज़रूरत नहीं है? – tabchas

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