सेगमेंटेशन टेक्स्ट को वर्ड-जैसी इकाइयों में विभाजित करने के कार्य को संदर्भित करता है। इसका उपयोग उन मामलों में किया जाता है जहां शब्दों को अलग करने के लिए स्पेस कैरेक्टर्स का उपयोग किया जाता है, लेकिन चीनी और जापानी जैसी कुछ भाषाएं स्पेस का उपयोग नहीं करती हैं। जर्मन जैसी कुछ भाषाओं में लंबे कंपाउंड शब्द होते हैं जिन्हें उनके अर्थ का विश्लेषण करने के लिए विभाजित करने की आवश्यकता होती है।
और पढ़ें: TensorFlow क्या है और Keras, TensorFlow के साथ मिलकर न्यूरल नेटवर्क कैसे बनाता है?
प्राकृतिक भाषा को प्रोसेस करने वाले मॉडल विभिन्न भाषाओं को संभालते हैं जिनके अलग-अलग कैरेक्टर सेट होते हैं। यूनिकोड को स्टैंडर्ड एन्कोडिंग सिस्टम माना जाता है जिसका उपयोग लगभग सभी भाषाओं के कैरेक्टर्स को दर्शाने के लिए किया जाता है। प्रत्येक कैरेक्टर को 0 और 0x10FFFF के बीच एक अद्वितीय इंटीजर कोड पॉइंट की मदद से एन्कोड किया जाता है। एक यूनिकोड स्ट्रिंग शून्य या अधिक कोड वैल्यूज का एक क्रम है।
आइए समझते हैं कि Python का उपयोग करके यूनिकोड स्ट्रिंग्स को कैसे दर्शाया जाए, और यूनिकोड समकक्षों का उपयोग करके उनमें हेरफेर किया जाए। सबसे पहले, हम स्टैंडर्ड स्ट्रिंग ऑप्स के यूनिकोड समकक्षों की मदद से स्क्रिप्ट डिटेक्शन के आधार पर यूनिकोड स्ट्रिंग्स को टोकन में अलग करते हैं।
हम नीचे दिए गए कोड को चलाने के लिए Google Colaboratory का उपयोग कर रहे हैं। Google Colab या Colaboratory ब्राउज़र पर Python कोड चलाने में मदद करता है और इसके लिए शून्य कॉन्फ़िगरेशन और GPUs (ग्राफ़िकल प्रोसेसिंग यूनिट्स) तक मुफ्त पहुंच की आवश्यकता होती है। Colaboratory को Jupyter Notebook के ऊपर बनाया गया है।
print("नीचे वह वाक्य है जिसे प्रोसेस किया जाता है")
sentence_texts = [u'Hello, there.', u'世界こんにちは']
print("वाक्य में कैरेक्टर्स के लिए कोड पॉइंट वैल्यूज")
sentence_char_codepoint = tf.strings.unicode_decode(sentence_texts, 'UTF-8')
print(sentence_char_codepoint)
print("वाक्य में कैरेक्टर्स के लिए यूनिकोड स्क्रिप्ट वैल्यूज")
sentence_char_script = tf.strings.unicode_script(sentence_char_codepoint)
print(sentence_char_script)
कोड क्रेडिट: https://www.tensorflow.org/tutorials/load_data/unicode
आउटपुट
नीचे वह वाक्य है जिसे प्रोसेस किया जाता है
वाक्य में कैरेक्टर्स के लिए कोड पॉइंट वैल्यूज
वाक्य में कैरेक्टर्स के लिए यूनिकोड स्क्रिप्ट वैल्यूज
<tf.RaggedTensor [[25, 25, 25, 25, 25, 0, 0, 25, 25, 25, 25, 25, 0], [17, 17, 20, 20, 20, 20, 20]]>
व्याख्या
- सेगमेंटेशन टेक्स्ट को वर्ड-जैसी इकाइयों में विभाजित करने के कार्य को संदर्भित करता है।
- इसका उपयोग तब किया जाता है जब शब्दों को अलग करने के लिए स्पेस कैरेक्टर्स का उपयोग किया जाता है, लेकिन चीनी और जापानी जैसी कुछ भाषाएं स्पेस का उपयोग नहीं करती हैं।
- जर्मन जैसी कुछ भाषाओं में लंबे कंपाउंड शब्द होते हैं जिन्हें उनके अर्थ का विश्लेषण करने के लिए विभाजित करने की आवश्यकता होती है।
- वेब पर टेक्स्ट के लिए, विभिन्न भाषाएं और स्क्रिप्ट आमतौर पर एक साथ मिश्रित होती हैं, जैसे "NY株価" (न्यूयॉर्क स्टॉक एक्सचेंज)।
- ML मॉडल्स का उपयोग किए बिना रफ सेगमेंटेशन किया जा सकता है, स्क्रिप्ट बदलकर अनुमानित वर्ड बाउंड्रीज प्राप्त करने के लिए।
- यह "NY株価" जैसे स्ट्रिंग्स के लिए काम करेगा। यह उन अधिकांश भाषाओं के लिए काम करता है जो स्पेस का उपयोग करती हैं, क्योंकि विभिन्न स्क्रिप्ट के स्पेस कैरेक्टर्स को USCRIPT_COMMON के रूप में वर्गीकृत किया जाता है, जो एक विशेष स्क्रिप्ट कोड है जो किसी भी वास्तविक टेक्स्ट से अलग होता है।
- उपरोक्त कोड में, प्रत्येक वाक्य में प्रत्येक कैरेक्टर के लिए कोडपॉइंट उत्पन्न किया जाता है।
- अगला, प्रत्येक वाक्य में प्रत्येक कैरेक्टर का यूनिकोड स्क्रिप्ट उत्पन्न किया जाता है।