एक टेक्स्ट-क्लासिफायर, जो अपने फैसलों की व्याख्या करता है


11

मैं छोटे वाक्यों के लिए एक पाठ वर्गीकृतकर्ता का निर्माण कर रहा हूं। उपयोगकर्ता को "आपके द्वारा दर्ज किए गए पाठ की श्रेणी सी" है, यह बताने के अलावा, मैं यह समझाना चाहता हूं कि मैंने यह निर्णय क्यों लिया, संक्षिप्त और समझने योग्य तरीके से। उदाहरण के लिए, मैं उपयोगकर्ता को यह नहीं बताना चाहता हूं कि "मैंने आपके वाक्य को 3-स्तर वाले तंत्रिका नेटवर्क में डाल दिया है और इसका उत्तर है जिसने सबसे अच्छा स्कोर किया है"; मैं स्पष्टीकरण चाहता हूं जैसे "आपके वाक्य में यू, वी और डब्ल्यू शब्द हैं, जो इस श्रेणी की विशेषता है, क्योंकि एक्स, वाई और जेड जैसे वाक्य प्रशिक्षण डेटा में दिखाई देते हैं"।

मेरा सवाल है: इस तरह के आवेदन के लिए कौन से वर्गीकरण एल्गोरिदम सबसे उपयुक्त हैं?

k-निकटतम-पड़ोसी एक अच्छे उम्मीदवार की तरह लगता है, क्योंकि मैं उपयोगकर्ता को बता सकता हूं "आपकी सजा की श्रेणी C है क्योंकि यह X, Y और Z के समान है, जिसकी श्रेणी समान है। लेकिन पाठ वर्गीकरण के समस्याओं पर इसके प्रदर्शन को जाना जाता है। गरीब हूं। मैं एक ऐसे वर्ग की तलाश कर रहा हूं जो स्पष्टीकरण क्षमता के साथ प्रदर्शन को संतुलित करता है।

EDIT: इस तरह के एक क्लासिफायर की तलाश में बहुत समय बिताने के बाद, मैंने एक मशीन-लर्निंग लाइब्रेरी बनाने का काम शुरू किया , जिसे लिड्डू कहा जाता है , जो क्लासिफायर को उनके फैसलों को समझाने की अनुमति देता है। यह अभी भी विकास के अधीन है, लेकिन, इसने पहले ही मुझे अपने और अपने सहयोगियों को यह समझाने में मदद की है कि हमारे क्लासिफायर इतनी बार असफल क्यों होते हैं ...


मशीन लर्निंग की बात यह है कि आपको परवाह नहीं है कि हुड के नीचे क्या होता है, आप केवल प्रदर्शन के बारे में परवाह करते हैं। अन्य दृष्टिकोण विफल हो गया, और यही कारण है कि हर कोई आजकल इन अपारदर्शी सांख्यिकीय दृष्टिकोणों का उपयोग कर रहा है - वे सिर्फ इतना बेहतर हैं।
युवल फिल्मस

2
@ युवल मैं पूरी तरह से असहमत हूं कि अन्य दृष्टिकोण विफल रहे। वे इष्टतम नहीं हैं, लेकिन वे अभी भी ऊपर वर्गीकरण कार्यों को स्वचालित करने के लक्ष्य को अच्छी तरह से प्राप्त करते हैं जो एक मानव के पास करने की क्षमता या धैर्य है। विशेष रूप से इस तरह की स्थितियों में मशीन लर्निंग को प्रभावी ढंग से करने का एकमात्र तरीका ओपेक ब्लैक बॉक्स नहीं हैं, जहां प्रदर्शन एकमात्र विचार नहीं है। मशीन सीखने के कार्यों के पीछे अलग-अलग लक्ष्यों के बारे में थोड़ा और खुले विचारों वाला बनें।
रिचर्ड डी

जवाबों:


7

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

एक अन्य विकल्प एक नैवे बेस क्लासिफायर का उपयोग करना होगा , जो पाठ खनन कार्यों के लिए बेहतर प्रदर्शन करता है और आपको संभावनाओं के आधार पर एक गहन मूल्यांकन योजना देगा, जिसका उपयोग आप "क्यों" की तलाश में कर सकते हैं, यहां तक ​​कि एक संकेत भी प्रदान कर सकते हैं। निर्धारण करने में दूसरों की तुलना में कौन से विशेषता मूल्य अधिक महत्वपूर्ण थे।

वेक्टर मशीनों का समर्थन करें , विशेष रूप से अनुक्रमिक न्यूनतम अनुकूलन (एसएमओ), इन कार्यों के साथ अच्छी तरह से काम करते हैं और इसी तरह विशेषता भार और समर्थन वैक्टर के रूप में वर्गीकरण बनाने के लिए उपयोग किए गए मूल्यों के संकेत प्रदान करते हैं, लेकिन मुझे लगता है कि आपके पास कठिन समय हो सकता है यह स्पष्ट करते हुए कि इन भार और वैक्टरों ने समग्र वर्गीकरण निर्णय को कैसे प्रभावित किया।

आपकी परियोजना के लिए शुभकामनाएं! बहुत दिलचस्प लगता है।


1
धन्यवाद। मुझे यह भी पता चला है कि ऑनलाइन क्लासिफायर, जैसे कि परसेप्ट्रॉन और विनोर्न, इस कार्य में काफी अच्छे हैं (कम से कम मेरे परिदृश्य में), और प्रत्येक फीचर को वर्गीकरण स्कोर में जोड़े जाने वाले निरपेक्ष मूल्य को देखकर निर्णय की व्याख्या करना आसान है। प्रत्येक नमूने के लिए, मैं (फीचर * वजन) के निरपेक्ष मान के अनुसार सुविधाओं को सॉर्ट करता हूं, और पहले कुछ दिखाता हूं।
एर्गल सहगल-हलेवी

3

मैं थोड़ा याद करते हैं कि पीटर Norvig के एक कार्यान्वयन था MYCIN , एक चिकित्सा निदान विशेषज्ञ प्रणाली , में लिखा लिस्प अपनी पुस्तक में आर्टिफिशियल इंटेलिजेंस प्रोग्रामिंग के मानदंड: कॉमन लिस्प में प्रकरण अध्ययन है, जो वास्तव में किया था यह।

हो सकता है कि आपके शोध को शुरू करने के लिए यह एक अच्छी जगह है। आपको स्रोत कोड ऑनलाइन मिलेगा , एक नियम आधार के साथ , हालांकि, मैं दृढ़ता से पाठ को पढ़ने की सलाह देता हूं और इसे केवल स्रोत कोड से समझने की कोशिश नहीं करता हूं।

आप सीधे Emycin (मेरा जोर) के लिए पेज पर जा सकते हैं ,

Emycin एक विशेषज्ञ प्रणाली शेल है, जो प्रोग्राम बनाने के लिए एक फ्रेमवर्क है जो डोमेन विशेषज्ञों के ज्ञान को रिकॉर्ड करता है और उस ज्ञान का उपयोग गैर-विशेषज्ञ उपयोगकर्ताओं की समस्याओं को हल करने में मदद करता है। यह एक इंटरफ़ेस प्रदान करता है जो विशेषज्ञों को डेटा प्रकार और नियमों को परिभाषित करने में मदद करता है, एक बैकवर्ड-चेनिंग रीजनिंग एल्गोरिदम (प्रोलॉग के समान, लेकिन महत्वपूर्ण अंतर के साथ), अनिश्चितता से निपटने के लिए एक तंत्र, और आत्मनिरीक्षण के लिए सुविधाएं जो उपयोगकर्ताओं को यह जानने की अनुमति देती हैं कि सिस्टम क्या जानता है। और यह क्या कर रहा है


2
एक कारण है कि विशेषज्ञ सिस्टम अब बहुत लोकप्रिय नहीं हैं, हालांकि, सभी नियमों को कोड करना कठिन है।
एड्रिएन
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.