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

จะใช้ข้อความ Tensorflow กับ whitespace tokenizer ใน Python ได้อย่างไร


ข้อความ Tensorflow สามารถใช้กับ whitespace tokenizer ได้โดยการเรียก 'WhitespaceTokenizer' ซึ่งจะสร้าง tokenizer ที่ใช้กับวิธี 'tokenize' บนสตริง

อ่านเพิ่มเติม: 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) ซึ่งรวมถึงตัวเลือกในการรับการชดเชยไบต์ลงในสตริงดั้งเดิม ซึ่งจะช่วยให้ทราบไบต์ในสตริงเดิมที่สร้างโทเค็น

N-grams เป็นคำที่ต่อเนื่องกันเมื่อกำหนดหน้าต่างบานเลื่อนขนาด n เมื่อรวมโทเค็นเข้าด้วยกัน กลไกการลดสามแบบจะได้รับการสนับสนุน สำหรับข้อความ สามารถใช้ Reduction.STRING_JOIN ได้ มันผนวกสตริงเข้าด้วยกัน อักขระตัวคั่นเริ่มต้นคือช่องว่าง แต่สามารถเปลี่ยนได้ด้วยอาร์กิวเมนต์ string_separater

วิธีการลดอื่นๆ ใช้กับค่าตัวเลข ได้แก่ Reduction.SUM และ Reduction.MEAN

ตัวอย่าง

print("Whitespace tokenizer is being called")
tokenizer = text.WhitespaceTokenizer()
tokens = tokenizer.tokenize(['Everything not saved will be lost.', u'Sad☹'.encode('UTF-8')])
print("Here, n is 2, hence it is bigram")
bigrams = text.ngrams(tokens, 2, reduction_type=text.Reduction.STRING_JOIN)
print("The bigrams are converted to a list")
print(bigrams.to_list())

ผลลัพธ์

Whitespace tokenizer is being called
Here, n is 2, hence it is bigram
The bigrams are converted to a list
[[b'Everything not', b'not saved', b'saved will', b'will be', b'be lost.'], []]

คำอธิบาย

  • มีการเรียกตัวสร้างโทเค็นช่องว่าง
  • ค่าของ 'n' ถูกกำหนดเป็น 2 ดังนั้นจึงเรียกว่าบิ๊กแรม
  • โทเค็นจะถูกเก็บไว้ในรายการและแสดงบนคอนโซล