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

Tensorflow สามารถใช้แบ่งจุดโค้ดของเมตริกซ์ที่ขาดตอนกลับไปเป็นประโยคได้อย่างไร


จุดรหัสคำของเมตริกซ์ที่ขาดความต่อเนื่องสามารถแบ่งออกได้ด้วยวิธีต่อไปนี้:การแบ่งส่วนหมายถึงการแบ่งข้อความออกเป็นหน่วยที่เหมือนคำ ใช้ในกรณีที่มีการใช้อักขระเว้นวรรคเพื่อแยกคำ แต่บางภาษาเช่น จีนและญี่ปุ่น ไม่ใช้ช่องว่าง บางภาษา เช่น เยอรมัน มีคำผสมยาวๆ ที่ต้องแยกวิเคราะห์ความหมาย

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

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

ให้เราเข้าใจวิธีการแสดงสตริง Unicode โดยใช้ Python และจัดการกับสตริงที่ใช้ Unicode ที่เทียบเท่ากัน ขั้นแรก เราแยกสตริง Unicode เป็นโทเค็นตามการตรวจจับสคริปต์โดยใช้ Unicode ที่เทียบเท่ากับ ops สตริงมาตรฐาน

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

print("Segment the word code points back to sentences")
print("Check if code point for a character in a word is present in the sentence")
sentence_word_char_codepoint = tf.RaggedTensor.from_row_lengths(
   values=word_char_codepoint,
   row_lengths=sentence_num_words)
print(sentence_word_char_codepoint)
print("Encoding it back to UTF-8")
tf.strings.unicode_encode(sentence_word_char_codepoint, 'UTF-8').to_list()

เครดิตโค้ด:https://www.tensorflow.org/tutorials/load_data/unicode

ผลลัพธ์

Segment the word code points back to sentences
Check if code point for a character in a word is present in the sentence
<tf.RaggedTensor [[[72, 101, 108, 108, 111], [44, 32], [116, 104, 101, 114, 101], [46]], [[19990, 30028], [12371, 12435, 12395, 12385, 12399]]]>
Encoding it back to UTF-8
[[b'Hello', b', ', b'there', b'.'],
[b'\xe4\xb8\x96\xe7\x95\x8c',
   b'\xe3\x81\x93\xe3\x82\x93\xe3\x81\xab\xe3\x81\xa1\xe3\x81\xaf']]

คำอธิบาย

  • โค้ดพอยท์แบ่งออกเป็นประโยค
  • กำหนดว่าโค้ดพอยต์สำหรับอักขระมีอยู่ในประโยคหรือไม่
  • ข้อมูลที่ถอดรหัสจะถูกเข้ารหัสกลับไปเป็นการเข้ารหัส UTF-8