สตริง UTF-8 สามารถแยกได้โดยใช้ TensorFlow Text สามารถทำได้ด้วย UnicodeScriptTokenizer UnicodeScriptTokenizer คือ Tokenizer ที่ถูกสร้างขึ้น หลังจากนั้น เมธอด tokenize ใน UnicodeScriptTokenizer จะถูกเรียกบนสตริง
อ่านเพิ่มเติม: TensorFlow คืออะไร และ Keras ทำงานกับ TensorFlow อย่างไรในการสร้าง Neural Networks?
เราจะใช้ Keras Sequential API ซึ่งช่วยสร้าง Sequential Model ที่ใช้ทำงานกับ Stack ของ Layers แบบธรรมดา โดยแต่ละ Layer มี Input Tensor และ Output Tensor อย่างละหนึ่งตัว
Neural Network ที่มีอย่างน้อยหนึ่ง Layer ที่เป็น Convolutional Layer เรียกว่า Convolutional Neural Network เราสามารถใช้ CNN สร้าง Learning Model ได้
TensorFlow Text มีชุดคลาสและ Ops ที่เกี่ยวข้องกับข้อความ ใช้ร่วมกับ TensorFlow 2.0 ได้ TensorFlow Text ใช้สำหรับ Preprocess Sequence Modelling
เราใช้ Google Colaboratory รันโค้ดด้านล่าง Google Colab ช่วยรัน Python Code บน Browser ไม่ต้อง Config และเข้าถึง GPU ฟรี Colab สร้างบน Jupyter Notebook
Tokenization คือวิธีแยกสตริงเป็น Tokens Tokens อาจเป็น คำ, ตัวเลข, หรือ Punctuation
Interface สำคัญคือ Tokenizer และ TokenizerWithOffsets แต่ละอันมีเมธอดเดียวคือ tokenize และ tokenize_with_offsets ตามลำดับ มี Tokenizers หลายตัว แต่ละตัว Implement TokenizerWithOffsets (ซึ่ง Extends Tokenizer Class) รวมถึงตัวเลือกได้ Byte Offsets เข้าสู่สตริงต้นฉบับ ช่วยรู้ว่า Byte ไหนในสตริงต้นฉบับที่ Token ถูกสร้างขึ้น
Tokenizer ทุกตัวคืนค่า RaggedTensors ที่มิติในสุดของ Tokens ถูก Map ไปยังสตริงเดี่ยวต้นฉบับ Rank ของ Shape ที่ได้เพิ่มขึ้น 1
ตัวอย่าง
print("Unicode script tokenizer is being called")
tokenizer = text.UnicodeScriptTokenizer()
tokens = tokenizer.tokenize(['everything not saved will be lost.', u'Sad☹'.encode('UTF-8')])
print("The tokenized data is converted to a list")
print(tokens.to_list())
Code credit − https://www.tensorflow.org/tutorials/tensorflow_text/intro
ผลลัพธ์
Unicode script tokenizer is being called The tokenized data is converted to a list [[b'everything', b'not', b'saved', b'will', b'be', b'lost', b'.'], [b'Sad', b'\xe2\x98\xb9']]
คำอธิบาย
Tokenizer แยกสตริง UTF-8 ตาม Unicode Script Boundaries
Script Codes ตรงกับค่า ICU UScriptCode ของ International Components for Unicode
คล้าย WhitespaceTokenizer แตะต่างตรงที่จะแยก Punctuation (USCRIPT_COMMON) จากภาษา รวมถึงแยกภาษาต่างๆ ออกจากกัน