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

Tensorflow สามารถใช้สร้างคำศัพท์จากคำโทเค็นสำหรับชุดข้อมูล Illiad โดยใช้ Python ได้อย่างไร


Tensorflow คือเฟรมเวิร์กแมชชีนเลิร์นนิงที่ให้บริการโดย Google เป็นเฟรมเวิร์กโอเพนซอร์สที่ใช้ร่วมกับ Python เพื่อใช้อัลกอริทึม แอปพลิเคชันการเรียนรู้เชิงลึก และอื่นๆ อีกมากมาย ใช้ในการวิจัยและเพื่อการผลิต มีเทคนิคการเพิ่มประสิทธิภาพที่ช่วยในการดำเนินการทางคณิตศาสตร์ที่ซับซ้อนได้อย่างรวดเร็ว เนื่องจากใช้ NumPy และอาร์เรย์หลายมิติ อาร์เรย์หลายมิติเหล่านี้เรียกอีกอย่างว่า 'เทนเซอร์' กรอบงานรองรับการทำงานกับโครงข่ายประสาทเทียมระดับลึก

Tensor เป็นโครงสร้างข้อมูลที่ใช้ใน TensorFlow ช่วยเชื่อมต่อขอบในแผนภาพการไหล แผนภาพการไหลนี้เรียกว่า 'กราฟการไหลของข้อมูล' เทนเซอร์เป็นเพียงอาร์เรย์หลายมิติหรือรายการ

เราจะใช้ชุดข้อมูลของ Illiad ซึ่งมีข้อมูลข้อความของงานแปลสามงานจาก William Cowper, Edward (Earl of Derby) และ Samuel Butler โมเดลนี้ได้รับการฝึกฝนเพื่อระบุตัวแปลเมื่อมีการให้ข้อความบรรทัดเดียว ไฟล์ข้อความที่ใช้ได้รับการประมวลผลล่วงหน้า ซึ่งรวมถึงการนำส่วนหัวและส่วนท้ายของเอกสาร หมายเลขบรรทัด และชื่อบทออก

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

ตัวอย่าง

ต่อไปนี้เป็นข้อมูลโค้ด -

print("Build a vocabulary using the tokens")
tokenized_ds = configure_dataset(tokenized_ds)
vocab_dict = collections.defaultdict(lambda: 0)
for toks in tokenized_ds.as_numpy_iterator():
   for tok in toks:
   vocab_dict[tok] += 1
print("Sort the vocabulary")
vocab = sorted(vocab_dict.items(), key=lambda x: x[1], reverse=True)
vocab = [token for token, count in vocab]
vocab = vocab[:VOCAB_SIZE]
vocab_size = len(vocab)
print("The vocabulary size is : ", vocab_size)
print("First six vocabulary entries are :", vocab[:6])

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

ผลลัพธ์

Build a vocabulary using the tokens
Sort the vocabulary
The vocabulary size is : 10000
First six vocabulary entries are : [b',', b'the', b'and', b"'", b'of', b'.']

ต่อไป คุณจะต้องสร้างคำศัพท์โดยการจัดเรียงโทเค็นตามความถี่และเก็บโทเค็น VOCAB_SIZE อันดับต้นๆ ไว้

คำอธิบาย

  • คำศัพท์ถูกสร้างขึ้นหลังจากจัดเรียงโทเค็นตามความถี่

  • รายการคำศัพท์บางส่วนจะแสดงบนคอนโซล