Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python

จะใช้ข้อความ Tensorflow เพื่อแยกสตริง UTF-8 ใน Python ได้อย่างไร


สตริง UTF-8 สามารถแยกได้โดยใช้ข้อความ Tensorflow สามารถทำได้ด้วยความช่วยเหลือของ 'UnicodeScriptTokenizer' 'UnicodeScriptTokenizer' คือ tokenizer ที่สร้างขึ้น หลังจากนั้นจะมีการเรียกเมธอด 'tokenize' ใน 'UnicodeScriptTokenizer' ในสตริง

อ่านเพิ่มเติม: TensorFlow คืออะไรและ Keras ทำงานร่วมกับ TensorFlow เพื่อสร้าง Neural Networks อย่างไร

เราจะใช้ Keras Sequential API ซึ่งมีประโยชน์ในการสร้างแบบจำลองตามลำดับที่ใช้ในการทำงานกับสแต็กเลเยอร์ธรรมดา โดยที่ทุกเลเยอร์มีอินพุตเทนเซอร์หนึ่งตัวและเอาต์พุตเทนเซอร์หนึ่งรายการ

โครงข่ายประสาทเทียมที่มีอย่างน้อยหนึ่งชั้นเรียกว่าชั้น Convolutional เราสามารถใช้ Convolutional Neural Network เพื่อสร้างแบบจำลองการเรียนรู้

TensorFlow Text มีคอลเลกชั่นของคลาสที่เกี่ยวข้องกับข้อความและ ops ที่สามารถใช้ได้กับ TensorFlow 2.0 สามารถใช้ข้อความ TensorFlow เพื่อประมวลผลการสร้างแบบจำลองลำดับล่วงหน้าได้

เรากำลังใช้ Google Colaboratory เพื่อเรียกใช้โค้ดด้านล่าง Google Colab หรือ Colaboratory ช่วยเรียกใช้โค้ด Python บนเบราว์เซอร์และไม่ต้องมีการกำหนดค่าใดๆ และเข้าถึง GPU ได้ฟรี (หน่วยประมวลผลกราฟิก) Colaboratory ถูกสร้างขึ้นบน Jupyter Notebook

Tokenization เป็นวิธีการแยกสตริงออกเป็นโทเค็น โทเค็นเหล่านี้อาจเป็นคำ ตัวเลข หรือเครื่องหมายวรรคตอน

อินเทอร์เฟซที่สำคัญ ได้แก่ Tokenizer และ TokenizerWithOffsets ซึ่งแต่ละวิธีมี tokenize วิธีเดียวและ tokenize_with_offsets ตามลำดับ มี tokenizers หลายตัว ซึ่งแต่ละอันใช้ TokenizerWithOffsets (ซึ่งขยายคลาส Tokenizer) ซึ่งรวมถึงตัวเลือกในการรับการชดเชยไบต์ลงในสตริงดั้งเดิม ซึ่งจะช่วยให้ทราบไบต์ในสตริงเดิมที่สร้างโทเค็น

โทเค็นไลเซอร์ทั้งหมดส่งคืน RaggedTensors ด้วยมิติภายในสุดของโทเค็นที่แมปกับสตริงแต่ละรายการดั้งเดิม อันดับของรูปร่างที่ได้จะเพิ่มขึ้นหนึ่งส่วน

ตัวอย่าง

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())

เครดิตโค้ด −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

  • รหัสสคริปต์สอดคล้องกับค่า UScriptCode ของส่วนประกอบสากลสำหรับ Unicode (ICU)

  • คล้ายกับ WhitespaceTokenizer โดยจะแยกเครื่องหมายวรรคตอน (USCRIPT_COMMON) ออกจากข้อความภาษา ตลอดจนแยกข้อความภาษาออกจากกัน