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

จะใช้ tf.text เพื่อดูว่าสตริงมีคุณสมบัติบางอย่างใน Python ได้อย่างไร


สามารถใช้เมธอด 'wordshape' ร่วมกับเงื่อนไขเฉพาะ เช่น 'HAS_TITLE_CASE', 'IS_NUMERIC_VALUE' หรือ 'HAS_SOME_PUNCT_OR_SYMBOL' เพื่อดูว่าสตริงมีคุณสมบัติเฉพาะหรือไม่

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

คุณลักษณะทั่วไปที่ใช้ในแบบจำลองการทำความเข้าใจภาษาธรรมชาติบางอย่างคือการดูว่าสตริงข้อความมีคุณสมบัติเฉพาะหรือไม่ Wordshape กำหนดฟังก์ชันตัวช่วยตามนิพจน์ทั่วไปที่มีประโยชน์มากมายสำหรับการจับคู่รูปแบบที่เกี่ยวข้องต่างๆ ในข้อความที่คุณป้อน นี่คือตัวอย่างบางส่วน

ตัวอย่าง

print("Whitespace tokenizer is being called")
tokenizer = text.WhitespaceTokenizer()
print("Tokens being generated")
tokens = tokenizer.tokenize(['Everything that is not saved will be lost.', u'Sad☹'.encode('UTF-8')])
print("Checking if it is capitalized")
f1 = text.wordshape(tokens, text.WordShape.HAS_TITLE_CASE)
print("Checking if all the letters are uppercase")
f2 = text.wordshape(tokens, text.WordShape.IS_UPPERCASE)
print("Checking if the tokens contain punctuation")
f3 = text.wordshape(tokens, text.WordShape.HAS_SOME_PUNCT_OR_SYMBOL)
print("Checking if the token is a number")
f4 = text.wordshape(tokens, text.WordShape.IS_NUMERIC_VALUE)
print("Printing the results")
print(f1.to_list())
print(f2.to_list())
print(f3.to_list())
print(f4.to_list())

เครดิตโค้ด −https://www.tensorflow.org/tutorials/tensorflow_text/intro

ผลลัพธ์

Whitespace tokenizer is being called
Tokens being generated
Checking if it is capitalized
Checking if all the letters are uppercase
Checking if the tokens contain punctuation
Checking if the token is a number
Printing the results
[[True, False, False, False, False, False, False, False], [True]]
[[False, False, False, False, False, False, False, False], [False]]
[[False, False, False, False, False, False, False, True], [True]]
[[False, False, False, False, False, False, False, False], [False]]

คำอธิบาย

  • เรียก "WhitespaceTokenizer" และสร้างโทเค็น
  • ตรวจสอบตัวอักษรเพื่อดูว่าเป็นตัวพิมพ์ใหญ่หรือไม่
  • มีการตรวจสอบเครื่องหมายวรรคตอนด้วยและเป็นตัวเลขหรือไม่
  • หลังจากการคำนวณเหล่านี้ ค่าบูลจะแสดงขึ้น