1. शुरू करने से पहले
इस कोडलैब में आप स्पैम की टिप्पणियों के मूल डेटासेट से बनाए गए टेक्स्ट-क्लासिफ़िकेशन मॉडल को अपडेट करने का तरीका जानेंगे. हालांकि, इन्हें आपकी टिप्पणियों से बेहतर बनाया गया है, ताकि आप अपने डेटा के साथ काम करने वाला कोई मॉडल बना सकें.
ज़रूरी बातें
यह कोडलैब Flutrator ऐप्लिकेशन पाथवे में टेक्स्ट की कैटगरी तय करने के साथ शुरू करें का हिस्सा है. इस पाथवे में कोडलैब को क्रम से लगाया गया है. कोडलैब के साथ-साथ, आप जिस ऐप्लिकेशन और मॉडल पर काम करते हैं वह पहले से बना होना चाहिए था. अगर आपने अभी तक पिछली गतिविधियां पूरी नहीं की हैं, तो कृपया इसे रोकें और अभी करें:
- TenorFlow Lite मॉडल मेकर कोडलैब की मदद से, स्पैम टिप्पणी की पहचान करने वाले मॉडल को ट्रेनिंग देना
- स्पैम स्पैम कोडलैब का पता लगाने के लिए, Fluter ऐप्लिकेशन बनाना
आप इन चीज़ों के बारे में जानेंगे
- टिप्पणी के स्पैम की पहचान करने वाले मॉडल को TensorFlow Lite मॉडल पर काम करने वाले कोडलैब की मदद से ट्रेनिंग दें. इसके बाद, उस टेक्स्ट क्लासिफ़िकेशन मॉडल को अपडेट करें जिसे आपने बनाया है.
- अपने मॉडल को पसंद के मुताबिक कैसे बनाएं, ताकि वह आपके ऐप्लिकेशन में सबसे प्रमुख स्पैम को ब्लॉक कर सके.
आपको इनकी ज़रूरत होगी
- Fluter ऐप्लिकेशन और स्पैम-फ़िल्टर का ऐसा मॉडल जिसे आपने पिछली गतिविधियों में देखा और बनाया था.
2. टेक्स्ट की कैटगरी को बेहतर बनाने के लिए
- आप इस रिपॉज़िटरी का क्लोन बनाकर और
tfserving-flutter/codelab2/finished
फ़ोल्डर से ऐप्लिकेशन लोड करके, इस कोड के लिए कोड पा सकते हैं. - TensorFlow सर्विंग डॉकर इमेज बनाने के बाद, अपने बनाए गए ऐप्लिकेशन में
buy my book to learn online trading
डालें और फिर gRPC > क्लासिफ़ाइड करें पर क्लिक करें.
ऐप्लिकेशन कम स्पैम स्कोर जनरेट करता है, क्योंकि मूल डेटासेट में ऑनलाइन ट्रेडिंग की संख्या कई बार #39;नहीं होती है. साथ ही, मॉडल को यह पता नहीं चल पाया है कि यह #33; स्पैम है. इस कोडलैब में आप मॉडल को नए डेटा से अपडेट कर देते हैं, ताकि मॉडल उसी वाक्य की पहचान स्पैम के रूप में कर सके!
3. अपनी CSV फ़ाइल में बदलाव करें
मूल मॉडल को ट्रेनिंग देने के लिए, डेटासेट CSV (lmblog_comments.csv
) के तौर पर बनाया गया था, जिसमें करीब एक हज़ार टिप्पणियां शामिल थीं. इन टिप्पणियों पर स्पैम या स्पैम नहीं हुआ. (अगर आप CSV की जांच करना चाहते हैं, तो उसे किसी भी टेक्स्ट एडिटर में खोलें.)
CSV फ़ाइल के मेकअप में पहली पंक्ति में उन कॉलम के बारे में बताया गया है जो commenttext
और spam
लेबल किए गए हैं. इसके बाद की हर लाइन इस फ़ॉर्मैट में होती है:
दाईं ओर मौजूद लेबल को स्पैम के लिए true
मान और स्पैम नहीं के लिए false
मान असाइन किया गया है. उदाहरण के लिए, तीसरी लाइन को स्पैम माना गया है.
अगर लोग ऑनलाइन ट्रेडिंग से जुड़े मैसेज दिखाने के मकसद से आपकी वेबसाइट को स्पैम करते हैं, तो आप वेबसाइट के निचले हिस्से में स्पैम टिप्पणियों के उदाहरण जोड़ सकते हैं. उदाहरण के लिए:
online trading can be highly highly effective,true online trading can be highly effective,true online trading now,true online trading here,true online trading for the win,true
- फ़ाइल को नए नाम से सेव करें, जैसे कि
lmblog_comments.csv
, ताकि आप इसे नए मॉडल को ट्रेनिंग देने के लिए इस्तेमाल कर सकें.
इस कोडलैब के बाकी हिस्से के लिए, आप ऑनलाइन ट्रेडिंग अपडेट के साथ Cloud Storage पर दिए गए उदाहरण, उनमें बदलाव, और होस्ट किए गए उदाहरण का इस्तेमाल करते हैं. अगर आप अपने डेटासेट का इस्तेमाल करना चाहते हैं, तो कोड में यूआरएल बदल सकते हैं.
4. मॉडल को नए डेटा से फिर से सिखाएं
मॉडल को फिर से बनाने के लिए, बस SpamCommentsModelMaker.ipynb
वाले कोड का इस्तेमाल करें. इसे नए CSV डेटासेट पर ले जाएं. इसे lmblog_comments_extras.csv
कहते हैं. अगर आप अपडेट की गई कॉन्टेंट वाली पूरी नोटबुक चाहते हैं, तो वह आपको SpamCommentsUpdateModelMaker.ipynb.
के तौर पर मिल सकती है
अगर आपके पास Colaboratory का ऐक्सेस है, तो इसे सीधे लॉन्च किया जा सकता है. इसके बजाय, रिपॉज़िटरी से कोड पाएं और फिर उसे अपनी पसंद के notebook एनवायरमेंट में चलाएं.
अपडेट किया गया कोड इस कोड स्निपेट की तरह दिखता है:
training_data = tf.keras.utils.get_file(fname='comments-spam-extras.csv',
origin='https://storage.googleapis.com/laurencemoroney-blog.appspot.com/
lmblog_comments_extras.csv',
extract=False)
जब आप ट्रेन करते हैं, तो आपको यह पता चलता है कि मॉडल अब भी बहुत ज़्यादा सटीक लेवल पर ट्रेनिंग दे रहा है:
/mm_update_spam_savedmodel
के पूरे फ़ोल्डर को कंप्रेस करें और mm_update_spam_savedmodel.zip
फ़ाइल को जनरेट करें.
# Rename the SavedModel subfolder to a version number
!mv /mm_update_spam_savedmodel/saved_model /mm_update_spam_savedmodel/123
!zip -r mm_update_spam_savedmodel.zip /mm_update_spam_savedmodel/
5. डॉकर शुरू करें और अपने Fluter ऐप को अपडेट करें
- डाउनलोड की गई
mm_update_spam_savedmodel.zip
फ़ाइल को एक फ़ोल्डर में अनज़िप करें. इसके बाद, पिछले कोडलैब से डॉकर कंटेनर के इंस्टेंस पर रोक लगाएं और इसे फिर से शुरू करें. इसके बाद,PATH/TO/UPDATE/SAVEDMODEL
प्लेसहोल्डर को उस फ़ोल्डर के कुल पाथ से बदलें जो आपकी डाउनलोड की गई फ़ाइलों को होस्ट करता है:
docker run -it --rm -p 8500:8500 -p 8501:8501 -v "PATH/TO/UPDATE/SAVEDMODEL:/models/spam-detection" -e MODEL_NAME=spam-detection tensorflow/serving
- अपने
lib/main.dart
को अपने पसंदीदा कोड एडिटर के साथ खोलें. इसके बाद,inputTensorName
औरoutTensorName
वैरिएबल के बारे में बताने वाला हिस्सा ढूंढें:
const inputTensorName = 'input_3';
const outputTensorName = 'dense_5';
inputTensorName
वैरिएबल कोinput_1'
वैल्यू में औरoutputTensorName
वैरिएबल को'dense_1'
वैल्यू में फिर से असाइन करें:
const inputTensorName = 'input_1';
const outputTensorName = 'dense_1';
- किसी
vocab.txt
फ़ाइल को मौजूदा फ़ोल्डर से बदलने के लिए, उसेvocab.txt
फ़ोल्डर में कॉपी करें. - Android एम्युलेटर से, टेक्स्ट क्लासिफ़िकेशन ऐप्लिकेशन को मैन्युअल तरीके से हटाएं.
- ऐप्लिकेशन लॉन्च करने के लिए, अपने टर्मिनल में
'flutter run'
निर्देश चलाएं. - ऐप्लिकेशन में,
buy my book to learn online trading
डालें और फिर gRPC > क्लासिफ़ाइड पर क्लिक करें.
अब मॉडल ने मेरी किताब को ऑनलाइन ट्रेडिंग के लिए खरीदें का पता लगाने के लिए, स्पैम को बेहतर बना दिया है.
6. बधाई हो
मॉडल को नए डेटा के साथ फिर से ट्रेनिंग दी गई है. इसे Fluter ऐप्लिकेशन के साथ इंटिग्रेट किया गया है, और स्पैम से जुड़े नए वाक्यों का पता लगाने के लिए, सुविधा को अपडेट किया गया है!