मुझे यह नहीं पता था कि पाइथन सेट फ़ंक्शन वास्तव में अलग-अलग वर्णों में स्ट्रिंग को अलग करता है। मैंने जैककार्ड के लिए पायथन फ़ंक्शन लिखा और पाइथन चौराहे विधि का उपयोग किया। मैंने इस विधि में दो सेट पारित किए और मेरे जैककार्ड फ़ंक्शन में दो सेट पास करने से पहले मैं सेटिंग पर सेट फ़ंक्शन का उपयोग करता हूं।पायथन: शब्द चौराहे का उपयोग करके जैककार्ड दूरी लेकिन चरित्र चौराहे नहीं
उदाहरण: मान लें कि मेरे पास स्ट्रिंग NEW Fujifilm 16MP 5x Optical Zoom Point and Shoot CAMERA 2 7 screen.jpg
है, मैं set(NEW Fujifilm 16MP 5x Optical Zoom Point and Shoot CAMERA 2 7 screen.jpg)
पर कॉल करूंगा जो स्ट्रिंग को वर्णों में अलग करेगा। इसलिए जब मैं इसे जैककार्ड फ़ंक्शन छेड़छाड़ पर भेजता हूं तो वास्तव में शब्द चौराहे के शब्द के बजाय चरित्र अंतरण दिखता है। मैं शब्द चौराहे के लिए शब्द कैसे कर सकता हूँ।
#implementing jaccard
def jaccard(a, b):
c = a.intersection(b)
return float(len(c))/(len(a) + len(b) - len(c))
अगर मैं अपने स्ट्रिंग पर set
समारोह कॉल नहीं करते NEW Fujifilm 16MP 5x Optical Zoom Point and Shoot CAMERA 2 7 screen.jpg
मैं निम्नलिखित त्रुटि मिलती है:
c = a.intersection(b)
AttributeError: 'str' object has no attribute 'intersection'
चरित्र चौराहे तक चरित्र के बजाय मैं शब्द चौराहे करने के लिए शब्द है और Jaccard प्राप्त करना चाहते हैं समानता।
असल में यह सटीक चीज है जिसे मैं खोज रहा था जब मैं चौराहे के दौरान ऐड फ़ंक्शन का उपयोग करता हूं, यह पूर्ण मिलान की तलाश में है। –