ठीक है के लिए * आईडीएफ, तो मैं TF * आईडीएफ पर इन दो पदों निम्नलिखित किया गया है लेकिन बहुत कम भ्रमित कर रहा हूँ: http://css.dzone.com/articles/machine-learning-text-featureTF वेरी
मूल रूप से, मुझे लगता है कि कई दस्तावेजों के माध्यम से खोज वाली कोई खोज क्वेरी बनाना चाहते हैं। मैं पाइथन
के लिए विज्ञान-सीखने टूलकिट के साथ-साथ एनएलटीके लाइब्रेरी का उपयोग करना चाहता हूं समस्या यह है कि मुझे नहीं पता कि दो टीएफ * आईडीएफ वैक्टर कहां से आते हैं। मुझे खोजने के लिए एक खोज क्वेरी और एकाधिक दस्तावेज चाहिए। मैंने सोचा कि मैं प्रत्येक क्वेरी के खिलाफ प्रत्येक दस्तावेज़ के टीएफ * आईडीएफ स्कोर की गणना करता हूं और उनके बीच कोसाइन समानता पाता हूं, और उसके बाद अंकों को अवरोही क्रम में क्रमबद्ध करके रैंक करता हूं। हालांकि, कोड सही वैक्टर के साथ नहीं लग रहा है।
जब भी मैं क्वेरी को केवल एक खोज में कम करता हूं, तो यह 0 की एक बड़ी सूची लौटा रहा है जो वास्तव में अजीब है।
यहाँ कोड है:
from sklearn.feature_extraction.text import CountVectorizer
from sklearn.feature_extraction.text import TfidfTransformer
from nltk.corpus import stopwords
train_set = ("The sky is blue.", "The sun is bright.") #Documents
test_set = ("The sun in the sky is bright.") #Query
stopWords = stopwords.words('english')
vectorizer = CountVectorizer(stop_words = stopWords)
transformer = TfidfTransformer()
trainVectorizerArray = vectorizer.fit_transform(train_set).toarray()
testVectorizerArray = vectorizer.transform(test_set).toarray()
print 'Fit Vectorizer to train set', trainVectorizerArray
print 'Transform Vectorizer to test set', testVectorizerArray
transformer.fit(trainVectorizerArray)
print transformer.transform(trainVectorizerArray).toarray()
transformer.fit(testVectorizerArray)
tfidf = transformer.transform(testVectorizerArray)
print tfidf.todense()
मैं सोच रहा था कि क्या आपने प्रिंट tfidf.todense() से प्राप्त अंतिम मैट्रिक्स का उपयोग करके कोसाइन की गणना की है, तो यदि आप ऐसा कैसे करते हैं? –
हे एक सेक ... मैं जल्द ही एक उदाहरण पोस्ट करता हूं। – tabchas
धन्यवाद कि शानदार होगा। क्या आप यहां एक लिंक डालेंगे ..? वह तो उससे भी बढ़िया है। –