टेंसरफ्लो टेक्स्ट का उपयोग व्हाइटस्पेस टोकनाइज़र के साथ 'WhitespaceTokenizer' को कॉल करके किया जा सकता है, जो एक टोकनाइज़र बनाता है, जिसका उपयोग स्ट्रिंग पर 'tokenize' मेथड के साथ किया जाता है।
और पढ़ें: टेंसरफ्लो क्या है और केरस टेंसरफ्लो के साथ न्यूरल नेटवर्क बनाने में कैसे काम करता है?
हम केरस सीक्वेंशियल API का उपयोग करेंगे, जो एक सीक्वेंशियल मॉडल बनाने में सहायक है जिसका उपयोग लेयर के सादे स्टैक के साथ काम करने के लिए किया जाता है, जहां प्रत्येक लेयर में ठीक एक इनपुट टेंसर और एक आउटपुट टेंसर होता है।
एक न्यूरल नेटवर्क जिसमें कम से कम एक लेयर होती है, कन्वोल्यूशनल लेयर के रूप में जानी जाती है। हम कन्वोल्यूशनल न्यूरल नेटवर्क का उपयोग लर्निंग मॉडल बनाने के लिए कर सकते हैं।
टेंसरफ्लो टेक्स्ट में टेक्स्ट-संबंधित क्लास और ऑप्स का संग्रह होता है जिसे टेंसरफ्लो 2.0 के साथ उपयोग किया जा सकता है। टेंसरफ्लो टेक्स्ट का उपयोग सीक्वेंस मॉडलिंग को प्रीप्रोसेस करने के लिए किया जा सकता है।
हम नीचे दिए गए कोड को चलाने के लिए Google Colaboratory का उपयोग कर रहे हैं। Google Colab या कोलेबोरेटरी ब्राउज़र पर पायथन कोड चलाने में मदद करता है और इसके लिए शून्य कॉन्फ़िगरेशन और GPU (ग्राफिकल प्रोसेसिंग यूनिट्स) तक मुफ्त पहुंच की आवश्यकता होती है। कोलेबोरेटरी को जुपिटर नोटबुक के शीर्ष पर बनाया गया है।
टोकनाइज़ेशन एक स्ट्रिंग को टोकन में तोड़ने की विधि है। ये टोकन शब्द, संख्या, या विराम चिह्न हो सकते हैं। प्रमुख इंटरफ़ेस में Tokenizer और TokenizerWithOffsets शामिल हैं जिनमें से प्रत्येक में क्रमशः tokenize और tokenize_with_offsets नामक एकल मेथड होता है। कई टोकनाइज़र हैं, जिनमें से प्रत्येक TokenizerWithOffsets को लागू करता है (जो Tokenizer क्लास को विस्तारित करता है)। इसमें मूल स्ट्रिंग में बाइट ऑफसेट प्राप्त करने का विकल्प शामिल है। यह जानने में मदद करता है कि मूल स्ट्रिंग में बाइट्स से टोकन बनाया गया था।
N-grams क्रमिक शब्द हैं जब आकार n की एक स्लाइडिंग विंडो दी जाती है। जब टोकन संयुक्त होते हैं, तो तीन रिडक्शन मैकेनिज़म समर्थित होते हैं। टेक्स्ट के लिए, Reduction.STRING_JOIN का उपयोग किया जा सकता है। यह स्ट्रिंग्स को एक दूसरे से जोड़ता है। डिफ़ॉल्ट सेपरेटर कैरेक्टर स्पेस है, लेकिन इसे string_separater आर्गुमेंट के साथ बदला जा सकता है।
अन्य रिडक्शन मेथड न्यूमेरिकल वैल्यू के साथ उपयोग किए जाते हैं, और वे Reduction.SUM और Reduction.MEAN हैं।
उदाहरण
print("व्हाइटस्पेस टोकनाइज़र कॉल किया जा रहा है")
tokenizer = text.WhitespaceTokenizer()
tokens = tokenizer.tokenize(['Everything not saved will be lost.', u'Sad☹'.encode('UTF-8')])
print("यहां, n 2 है, इसलिए यह बाइग्राम है")
bigrams = text.ngrams(tokens, 2, reduction_type=text.Reduction.STRING_JOIN)
print("बाइग्राम को सूची में परिवर्तित किया गया")
print(bigrams.to_list())
आउटपुट
व्हाइटस्पेस टोकनाइज़र कॉल किया जा रहा है यहां, n 2 है, इसलिए यह बाइग्राम है बाइग्राम को सूची में परिवर्तित किया गया [[b'Everything not', b'not saved', b'saved will', b'will be', b'be lost.'], []]
व्याख्या
- व्हाइटस्पेस टोकनाइज़र कॉल किया जाता है।
- 'n' का मान 2 पर सेट है, इसलिए इसे बाइग्राम के रूप में जाना जाता है।
- टोकन एक सूची में संग्रहीत किए जाते हैं, और कंसोल पर प्रदर्शित किए जाते हैं।