प्रश्नों के स्वचालित रूप से उत्तर देने के लिए सॉल्वर टेक्नोलॉजी
हम, एक एडटेक प्लेटफॉर्म के तौर पर विद्यार्थियों को ऐसे प्रश्नों के साथ प्रैक्टिस करने की सुविधा देते हैं जो सैकड़ों परीक्षाओं के पाठ्यक्रम में शामिल कॉन्सेप्ट पर आधारित हैं। Embibe ने विद्यार्थियों के लिए केवल प्रश्नों का संग्रह ही नहीं बनाया है। इस संग्रह के साथ, विस्तार से और चरण दर चरण यह भी बताया गया है कि किसी प्रश्ना को कैसे हल करना चाहिए। यह एक मानवीय प्रक्रिया है जिसमें विषय विशेषज्ञों की मदद से प्रश्नों को हल किया जाता है।
Embibe पर प्रश्नों का संग्रह लगातार बढ़ता जा रहा है। ऐसे में मैन्युअल समाधानों पर निर्भर होना महंगा पड़ सकता है। सॉल्वर टेक्नोलॉजी अपेक्षाकृत नया क्षेत्र है। इसमें मध्यवर्ती स्तर के गणित जैसे कुछ विशिष्ट डोमेन में टेक्स्ट प्रश्नों को हल करने वाले एल्गोरिदम को कुछ हद तक सफलता मिली है।
Embibe इस क्षेत्र में रिसर्च कर रहा है ताकि, बड़ी संख्या में प्रश्नों के स्वचालित उत्तर और चरण-दर-चरण समाधान प्राप्त किया जा सके।
प्रश्न कथन
गणित का एक टेक्स्ट प्रश्न दिया गया है। इसे सॉल्वर कोड का उपयोग कर हल करें और चरण-दर-चरण समाधान भी दें।
विद्यार्थी के द्वारा किसी भी तरह का प्रश्न पूछा जा सकता है। ज़रूरी नहीं है कि यह किसी तय फॉर्मेट में ही हो। हम, प्रश्न का हल और चरण-दर-चरण समाधान प्रदान करने की भी कोशिश करते हैं।
दृष्टिकोण
यहां देखें कि यह पूरी प्रक्रिया कैसे काम करती है:
उदाहरण के लिए,
यहां सीबीएसई बोर्ड की छठवीं कक्षा का एक प्रश्न है:
“अंकों में लिखें – दो लाख पचास हजार नौ सौ छत्तीस।”
पहले चरण में, हम सॉल्वर कोड प्रिडिक्ट (पूर्वानुमान) करने का प्रयास करते हैं जिसकी मदद से इस प्रश्न को हल किया जा सकता है। यह कोड है “convert_text_to_number”।
अगले चरण में, हम इसका मूल्यांकन करने के लिए प्रिडिक्टेड (पूर्वानुमानित) सॉल्वर के लिए आर्गुमेंट प्राप्त करते हैं। इस मामले में सॉल्वर के लिए इनपुट आर्गुमेंट “दो लाख पचास हजार नौ सौ छत्तीस” होगा।
अत: हमें पूर्ण सॉल्वर के तौर पर प्राप्त होता है:
Convert_text_to_number(दो लाख पचास हजार नौ सौ छत्तीस)।
फिर हम उत्तर और चरण-दर-चरण हल प्राप्त करने के लिए आर्गुमेंट के साथ सॉल्वर का मूल्यांकन करते हैं, जो इस तरह दिखता है:
आइए एक अन्य उदाहरण प्रश्न के साथ विस्तृत रूप से समझें:
“श्रीमती सोनी ने 7 1/2 लीटर दूध खरीदा। इस दूध में से, 5 3/4 लीटर की खपत हुई। उसके पास कितना दूध बचा है?”
इसे “subtract_fractions_mixed_type(7 1/2, 5 3/4)” सॉल्वर कोड का उपयोग करके हल किया जा सकता है।
हम नीचे दिखाए गए तरीके से चरण-दर-चरण हल प्राप्त करेंगे।
हल
हम, हल को दो चरणों में विभाजित कर सकते हैं।
- सॉल्वर कोड प्रिडिक्शन
- आर्गुमेंट एक्सट्रैक्शन
सॉल्वर कोड प्रिडिक्शन में, हम सॉल्वर कोड प्रिडिक्ट करने का प्रयास करते हैं जिसकी मदद से दिए गए गणित के प्रश्नों को हल किया जा सकता है। उदाहरण के लिए, उपरोक्त उदाहरण में, “subtract_fractions_mixed_type” सही सॉल्वर था। इसका उपयोग कर दिए गए प्रश्न को हल किया जा सकता है। हम T5[1] जैसे डीप लर्निंग जनरेटिव seq2seq मॉडल का उपयोग कर सकते हैं, जो सॉल्वर कोड जेनरेट कर प्रश्न को हल करेगा।
दूसरे चरण पर जाने से पहले, हमारे पास प्रत्येक सॉल्वर कोड के लिए तर्कों के साथ 1 सैम्पल सॉल्वर होना चाहिए। उदाहरण के लिए, “subtract_fractions_mixed_type” के लिए, सैम्पल सॉल्वर “subtract_fractions_mixed_type(1 2/3, 4 5/6)” जैसा कुछ हो सकता है। यह कैसे उपयोगी होगा, हम जल्द ही इसके बारे में जानेंगे।
एक बार जब हम दिए गए प्रश्न को हल करने के लिए प्रिडिक्टेड (पूर्वानुमानित) सॉल्वर कोड प्राप्त कर लेते हैं, तो हमें प्रश्न से आर्गुमेंट प्राप्त करने की आवश्यकता होती है। उसके लिए भी, हम T5[1] जैसे जनरेटिव seq2seq मॉडल का उपयोग कर सकते हैं। इस तरह के भाषा मॉडल को नॉलेज ग्राफ़ [3] [4] में कैप्चर किए गए सिमेंटिक संबंधों का लाभ उठाने के लिए नॉलेज इन्फ्यूजन आर्किटेक्चर के साथ आगे बढ़ाया जाता है। हम प्रिडिक्टेड सॉल्वर के लिए प्रश्न कथन और सैम्पल सॉल्वर दे सकते हैं। और, हम T5[1] मॉडल से प्रश्नों से वास्तविक आर्गुमेंट के साथ सॉल्वर कोड प्राप्त करेंगे। अंततः हमारे पास उपरोक्त उदाहरण से आर्गुमेंट के साथ सॉल्वर कोड अर्थात “subtract_fractions_mixed_type(7 1/2, 5 3/4)” होगा।
हम प्रश्न से आर्गुमेंट प्राप्त करने के लिए अन्य अपेक्षाकृत सरल विधियों का भी उपयोग कर सकते हैं। जैसे, यदि हमे पता हो कि प्रत्येक सॉल्वर के लिए किस प्रकार के डेटा और आर्गुमेंट के सैम्पल की जरूरत है (जो हमारे मामले में हैं), तो हम प्रश्न से समान संख्या प्राप्त कर सकते हैं।
इस प्रकार हम सॉल्वर कोड प्रिडिक्ट करेंगे और प्रश्न से सॉल्वर आर्गुमेंट प्राप्त करेंगे। एक बार जब हम दोनों प्राप्त कर लेते हैं, तो हमें सही उत्तर और चरण-दर-चरण हल प्राप्त करने के लिए सॉल्वर कोड का मूल्यांकन करने की आवश्यकता होती है।
संदर्भ:
[1] Colin Raffel, Noam Shazeer, Adam Roberts, Katherine Lee, Sharan Narang, Michael Matena, Yanqi Zhou, Wei Li, Peter J. Liu. “Exploring the Limits of Transfer Learning with a Unified Text-to-Text Transformer”
[2] Amini, Aida, Saadia Gabriel, Peter Lin, Rik Koncel-Kedziorski, Yejin Choi, and Hannaneh Hajishirzi. “MathQA: Towards interpretable math word problem solving with operation-based formalisms.” arXiv preprint arXiv:1905.13319 (2019).
[3] Faldu, Keyur, Amit Sheth, Prashant Kikani, and Hemang Akabari. “KI-BERT: Infusing Knowledge Context for Better Language and Domain Understanding.” arXiv preprint arXiv:2104.08145 (2021).
[4] Gaur, Manas, Keyur Faldu, and Amit Sheth. “Semantics of the Black-Box: Can knowledge graphs help make deep learning systems more interpretable and explainable?.” IEEE Internet Computing 25, no. 1 (2021): 51-59.