विषयसूची:

कैसे एक एआई बनाने के लिए भाग 2: 9 कदम
कैसे एक एआई बनाने के लिए भाग 2: 9 कदम

वीडियो: कैसे एक एआई बनाने के लिए भाग 2: 9 कदम

वीडियो: कैसे एक एआई बनाने के लिए भाग 2: 9 कदम
वीडियो: ये भाग solve ही नही होता | भाग कैसे बनाएं | bhag | bhag kaise banaye | bhag ka sawal divide 2024, जुलाई
Anonim
कैसे एक एआई बनाने के लिए भाग 2
कैसे एक एआई बनाने के लिए भाग 2

यह एक मुफ्त डेटाबेस, प्रोग्रामिंग डेवलपमेंट टूल और विंडोज़ के साथ आने वाले टीटीएस इंजन में मुफ्त निर्मित का उपयोग करके विंडोज़ कंप्यूटर पर एआई बनाने के लिए उठाए गए कदमों के बारे में भाग 2 है।

"विंडोज" शब्द माइक्रोसॉफ्ट से संबंधित है।

"ड्रैगन" शब्द Nuance से संबंधित है।

चरण 1: एआई भाग 2 कैसे बनाएं।

एआई पार्ट 2 कैसे बनाएं।
एआई पार्ट 2 कैसे बनाएं।

एक प्रोग्रामिंग भाषा चुनें और कुछ उपकरण प्राप्त करें।

कई प्रोग्रामिंग भाषाएं हैं। कुछ एआई के लिए विशिष्ट हैं। मेरा पसंदीदा विजुअल बेसिक है, इसलिए मैंने इसका इस्तेमाल किया। मैं SQL सर्वर डेटाबेस के साथ भी काम करता हूं, इसलिए मैंने इसका भी उपयोग किया।

आप इनका मुफ्त संस्करण माइक्रोसॉफ्ट की वेबसाइट से डाउनलोड कर सकते हैं। Microsoft वेब साइट पर बस "EXPRESS" खोजें। [विजुअल स्टूडियो एक्सप्रेस और एसक्यूएल सर्वर एक्सप्रेस]

अन्य भाषाएँ जो आप हमें चाहते हैं वे हैं: पायथन, सी #, सी ++, जावा, प्रोलॉग, लिस्प, आईपीएल

और बहुत सारे। एआईएमएल एक "मार्कअप लैंग्वेज" है जो बहुत दिलचस्प है।

मैं विंडोज के साथ आने वाले प्रोग्राम की तुलना में बेहतर "स्पीच रिकग्निशन" प्रोग्राम चाहता था, इसलिए मैंने DRAGON सॉफ्टवेयर खरीदा। मैं विंडोज के साथ आए मानक "टेक्स्ट-टू-स्पीच" प्रोग्राम का उपयोग कर रहा हूं।

चरण 2: अपना सिस्टम डिज़ाइन करें:

अपना सिस्टम डिज़ाइन करें
अपना सिस्टम डिज़ाइन करें

अपनी बड़ी परियोजनाओं को छोटी परियोजनाओं के समूह में विभाजित करें। मैंने अपने प्रोग्राम कोड को मॉड्यूल में विभाजित किया है।

मैंने अपने कोड को अलग-अलग मॉड्यूल में विभाजित किया है ताकि किसी विशेष फ़ंक्शन को ढूंढना आसान हो।

मेरे पास "प्रोसेस इनपुट", "प्रोसेस एआई", "प्रोसेस आउटपुट", "यूजर इंटरफेस" और कुछ अन्य नाम के मॉड्यूल हैं। मेरे कुछ कार्यों को अन्य सभी कोड मॉड्यूल के लिए सुलभ होने की आवश्यकता है, इसलिए मैंने उन कार्यों को "सामान्य" मॉड्यूल में रखा है जहां सब कुछ साझा किया जाता है

चरण 3: प्रोग्रामिंग भाषा में निर्मित कार्य:

प्रोग्रामिंग भाषा में निर्मित कार्य
प्रोग्रामिंग भाषा में निर्मित कार्य

इनके लिए अलग-अलग भाषाओं के अलग-अलग नाम हो सकते हैं, लेकिन सभी उच्च स्तरीय भाषाओं के कार्य समान होते हैं।

LCase या ToLower: एक स्ट्रिंग को सभी लोअर केस में कनवर्ट करता है। मैं डेटाबेस खोज करने से पहले सब कुछ लोअर केस में बदल देता हूं - भले ही ज्यादातर चीजें "केस-असंवेदनशील" हों - बस मामले में।

बदलें: एक स्ट्रिंग के अंदर एक स्ट्रिंग को दूसरी स्ट्रिंग में बदलें। इससे छुटकारा पाने के लिए आप एक स्ट्रिंग को एक खाली स्ट्रिंग "" से बदल सकते हैं। मुझे पीरियड्स, प्रश्न चिह्न, अल्पविराम और अन्य विराम चिह्नों से छुटकारा मिलता है।

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

मैं डेटाबेस को खोजने के लिए उपयोग की जाने वाली क्वेरी बनाने के लिए अलग-अलग शब्दों का उपयोग करता हूं। (इस बारे में मेरे अगले लेख में)

चरण 4: अपने स्वयं के कार्य बनाने के लिए अंतर्निहित कार्यों को मिलाएं

यह एक "विजुअल बेसिक" उदाहरण है। ऐसा कुछ बनाने के लिए अपनी प्रोग्रामिंग भाषा का प्रयोग करें।

बेशक, आपको अपनी पसंद की प्रोग्रामिंग भाषा का उपयोग करके बहुत सारे कोड लिखने और कई फ़ंक्शन बनाने की आवश्यकता होगी।

चरण 5: मॉड्यूल क्या करते हैं? "इनपुट प्रोसेसर"

मॉड्यूल क्या करते हैं? "इनपुट प्रोसेसर"
मॉड्यूल क्या करते हैं? "इनपुट प्रोसेसर"

एआई से एक ही सवाल पूछने के सौ अलग-अलग तरीके हो सकते हैं। उदाहरण के लिए; "क्या समय है?", "क्या आपके पास समय है?" "क्या आप जानते हैं कि यह कौन सा समय है?", "क्या आप मुझे दिन का वर्तमान समय बता सकते हैं?" चूंकि उपयोगकर्ता केवल समय मांग रहा है, इसलिए मैं इनमें से किसी भी इनपुट को डेटाबेस "लुक अप" तालिका का उपयोग करके "क्वेरी टाइम" नामक एकल आउटपुट में परिवर्तित करता हूं।

आप एक टेबल के माध्यम से लूप को कोड तब तक लिख सकते हैं जब तक कि वह एक मैच नहीं ढूंढ लेता, या यदि आप SQL डेटाबेस का उपयोग कर रहे हैं, तो आप एक SQL क्वेरी लिख सकते हैं, जैसे…

"टेबलनाम से आउटपुट का चयन करें जहां इनपुट = '" जो कुछ भी '"

…और फिर मैं आउटपुट, "क्वेरी टाइम" को अगले कोड मॉड्यूल में भेजता हूं; "प्रक्रिया एआई"

प्रश्नों के अलावा, "नमस्ते" कहने के कई तरीके हैं

नमस्ते, नमस्ते, क्या चल रहा है, हे, होला, कैसे हो?, अभिवादन, स्वागत, नमस्कार, हाउडी…।

इन सभी को "अभिवादन" में घटाया गया है

जब एआई प्रोसेसर "ग्रीटिंग" देखता है तो यह आउटपुट प्रोसेसर को "ग्रीटिंग" भेजता है, जो डेटाबेस टेबल से एक रैंडम ग्रीटिंग लेगा, और इसे जोर से बोलेगा।

चरण 6: "एआई प्रोसेसर"

"एआई प्रोसेसर"
"एआई प्रोसेसर"

प्रक्रिया एआई सबसे बड़ा कोड मॉड्यूल है। यह इतना बड़ा है कि मैंने इसे खंडों में भी विभाजित किया है।

यह देखने के लिए इनपुट की जाँच की जाती है कि क्या उपयोगकर्ता ने कोई आदेश बोला है, या कोई प्रश्न पूछा है। इसके अलावा, एआई कई "मोड" में से किसी में भी हो सकता है, जिसका अर्थ है कि "प्रोसेस एआई" कोड उपयोगकर्ता से एक प्रश्न पूछने के बजाय एक प्रश्न का उत्तर देने की अपेक्षा कर रहा है।

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

चरण 7: "आउटपुट और स्कोर" तालिका

NS
NS

मेरे इनपुट से एआई का आउटपुट "चिकन ने क्या किया?"

चरण 8: "आउटपुट प्रोसेसर"

"आउटपुट प्रोसेसर"
"आउटपुट प्रोसेसर"

यह कई "असंबंधित" दिखने वाली चीजें करता है लेकिन उन सभी को एआई प्रोसेसर से उपयोगकर्ता को टेक्स्ट प्राप्त करने के साथ करना है।

यहाँ एक सूची है।

1. डेटाबेस से टेक्स्ट सभी लोअर केस में हो सकता है, और कोई विराम चिह्न नहीं है।.सबरूटीन्स पहले अक्षर को बड़े अक्षरों में लिखेंगे, और अंत में एक अवधि या प्रश्न चिह्न लगाएंगे।

2. एक और सबरूटीन एपोस्ट्रोफ को वापस संकुचन में डाल देगा, या संकुचन को वापस पूर्ण शब्दों में बदल देगा (यानी "कैंट" को "कैन नहीं" से बदल दिया जाएगा)

3. टेक्स्ट-टू-स्पीच इंजन कुछ शब्दों का उच्चारण मेरी पसंद के अनुसार नहीं करता है, इसलिए "आउटपुट प्रोसेसर" उन शब्दों को ध्वन्यात्मक वर्तनी के साथ बदल देता है। मेरे पास इन्हें रखने के लिए डेटाबेस "लुक अप" टेबल है, एक के समान "इनपुट प्रोसेसर" में

4. यदि एआई को डेटाबेस में उपयुक्त उत्तर नहीं मिलता है, तो वह कह सकता है "मुझे नहीं पता" लेकिन मैं नहीं चाहता कि यह बार-बार कहे। असली लोग अपनी प्रतिक्रियाएं बदलते हैं। तो "कॉमन आउटपुट" वाक्यांशों के साथ एक टेबल है और एक फ़ंक्शन जो यादृच्छिक रूप से एक को चुनता है (और एक पंक्ति में एक ही दो बार कभी नहीं उठाएगा।)

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

6. कभी-कभी टीटीएस को समझना मुश्किल होता है, इसलिए शब्दों को ज़ोर से बोलने के अलावा, मैं उन्हें अपने कंप्यूटर डिस्प्ले पर बड़े अक्षरों में भी प्रदर्शित करता हूं। "यूजर इंटरफेस" का यह हिस्सा एक ग्रिड है जो बातचीत की आखिरी 6 पंक्तियों (यूजर इनपुट और एआई आउटपुट) को दिखाता है और नई लाइनों के जुड़ते ही ऊपर की ओर स्क्रॉल करता है।

चरण 9: इस पर काम करते रहें।

उस पर काम करते रहें।
उस पर काम करते रहें।

मेरा इनपुट था "किसी को मत बताना"

मैं अभी भी अपने एआई सिस्टम पर काम कर रहा हूं, और यह शायद कभी भी "किया" नहीं जाएगा। जैसे-जैसे मैं और सुविधाएँ जोड़ूंगा, मैं और लेख लिखूंगा।

हो सकता है कि मेरे कुछ विचार आपको मेरे से बेहतर AI बनाने के लिए प्रेरित करें

सिफारिश की: