2013-02-13 24 views
7

पायथन NLTK लाइब्रेरी प्रदान करता है जो टेक्स्ट खनन और प्रसंस्करण विधियों के साथ पाठ और कॉर्पस का एक विशाल संसाधन है। क्या कोई तरीका है कि हम संभावित मिलान के अर्थ के आधार पर वाक्यों की तुलना कर सकते हैं? वह एक बुद्धिमान वाक्य matcher है?उनके अर्थ के अनुसार वाक्यों की तुलना

उदाहरण के लिए

, जैसे giggling at bad jokes और I like to laugh myself silly at poor jokes एक वाक्य। दोनों एक ही अर्थ व्यक्त करते हैं, लेकिन वाक्य दूरस्थ रूप से मेल नहीं खाते हैं (शब्द अलग हैं, Levenstein Distance बुरी तरह असफल हो जाएंगे!)।

अब कल्पना करें कि हमारे पास एक एपीआई है जो here जैसी कार्यक्षमता का खुलासा करती है। तो उस पर आधारित, हमारे पास यह जानने के लिए तंत्र हैं कि giggle और laugh उनके द्वारा व्यक्त किए गए अर्थ में मेल खाते हैं। Badpoor से मिलान करेगा नहीं है, तो हम आगे परतों को जोड़ने की आवश्यकता हो सकती (जैसे वे joke जैसे शब्दों के संदर्भ में मेल खाते हैं, के बाद से bad joke है आम तौर पर एक ही रूप में poor joke, हालांकि bad personpoor person के समान नहीं है!)।

ऐसी चीजों को त्यागना एक बड़ी चुनौती होगी जो वाक्य के अर्थ को बहुत अधिक नहीं बदलती है। तो, एल्गोरिथ्म पहला वाक्य है और इस बीच matchness का एक ही डिग्री लौटना चाहिए: कि उपलब्ध साथ I like to laugh myself silly at poor jokes, even though they are completely senseless, full of crap and serious chances of heart-attack!

इसलिए, यह है कि अभी तक की कल्पना की गई है जैसे किसी भी एल्गोरिथ्म है? या मुझे पहिया का आविष्कार करना है?

+0

मैंने इसे कुछ हफ्ते पहले देखा था। मैं कोई एनएलटीके विशेषज्ञ नहीं हूं, लेकिन मुझे लगता है कि आपको पहिया का आविष्कार करना होगा या एनएलटीके के शीर्ष पर बनाया गया कुछ अस्पष्ट मिलान ढूंढना होगा। मुझे कोई समाधान नहीं मिला, लेकिन मुझे संदेह है कि वहां कुछ है। मैं टेस्ट प्रीपे के लिए प्रश्नों की समीक्षा करने के लिए मुफ्त फॉर्म टेक्स्ट प्रतिक्रियाओं के स्वचालित ग्रेडिंग को सक्षम करना चाहता था। यदि आपको कुछ मिलता है तो अपडेट पोस्ट करें। – jimhark

+0

निश्चित बात। करूँगा। मैं कुछ ग्राफ-आधारित आल्गो के बारे में सोच रहा था, क्या यह ऐसा करने के बराबर होगा? – SexyBeast

+0

दोस्तों, उत्साहजनक रूप से डाउनवॉटिंग या मतदान के लिए मतदान करने से पहले, कम से कम एक स्पष्टीकरण दें। सिर्फ इसलिए कि यह अज्ञात है और कोई भी कुछ भी कर सकता है, उच्च हाथ न प्राप्त करें .. – SexyBeast

उत्तर

4

आपको अपने मॉडल को प्रशिक्षित करने के लिए एक और अधिक उन्नत विषय मॉडलिंग एल्गोरिदम की आवश्यकता होगी, और निश्चित रूप से कुछ मॉडल को आपके मॉडल को प्रशिक्षित करने के लिए, ताकि आप आसानी से समानार्थी शब्दों को आसानी से संभाल सकें और हंस सकें!

पायथन में, आप इस पैकेज को आजमा सकते हैं: http://radimrehurek.com/gensim/ मैंने इसका कभी भी उपयोग नहीं किया है, लेकिन इसमें क्लासिक अर्थात् वेक्टर रिक्त स्थान जैसे एलएसए/एलएसआई, यादृच्छिक प्रक्षेपण और यहां तक ​​कि एलडीए शामिल हैं।

मेरा निजी पसंदीदा यादृच्छिक प्रक्षेपण है, क्योंकि यह तेज़ और अभी भी बहुत ही कुशल है (हालांकि मैं इसे जावा में किसी अन्य लाइब्रेरी के साथ कर रहा हूं)।