MulaiMulai sekarang secara gratis

Latihan membuat bagan

Cobalah menggunakan keterampilan baru Anda untuk mencari dan membuat bagan jumlah kata per baris dalam naskah menggunakan matplotlib. Naskah Holy Grail sudah dimuat untuk Anda, dan Anda perlu menggunakan regex untuk menemukan jumlah kata per baris.

Menggunakan list comprehension di sini akan mempercepat komputasi Anda. Sebagai contoh: my_lines = [tokenize(l) for l in lines] akan memanggil fungsi tokenize pada setiap baris dalam daftar lines. Daftar baru yang telah ditransformasi akan disimpan dalam variabel my_lines.

Anda memiliki akses ke seluruh naskah dalam variabel holy_grail. Silakan mulai!

Latihan ini adalah bagian dari kursus

Pengantar Natural Language Processing di Python

Lihat Kursus

Petunjuk latihan

  • Pecah naskah holy_grail menjadi baris-baris menggunakan karakter baris baru ('\n').
  • Gunakan re.sub() di dalam list comprehension untuk mengganti prompt seperti ARTHUR: dan SOLDIER #1. Pola sudah dituliskan untuk Anda.
  • Gunakan list comprehension untuk melakukan tokenisasi lines dengan regexp_tokenize(), dengan hanya menyimpan kata. Ingat bahwa polanya untuk kata adalah "\w+".
  • Gunakan list comprehension untuk membuat daftar panjang baris yang disebut line_num_words.
    • Gunakan t_line sebagai variabel iterator Anda untuk melakukan iterasi atas tokenized_lines, lalu fungsi len() untuk menghitung panjang baris.
  • Buat plot histogram dari line_num_words menggunakan plt.hist(). Jangan lupa juga gunakan plt.show() untuk menampilkan plot.

Latihan interaktif praktis

Cobalah latihan ini dengan menyelesaikan kode contoh berikut.

# Split the script into lines: lines
lines = ____.____('\n')

# Replace all script lines for speaker
pattern = "[A-Z]{2,}(\s)?(#\d)?([A-Z]{2,})?:"
lines = [re.____(____, '', l) for l in lines]

# Tokenize each line: tokenized_lines
tokenized_lines = [____ for s in lines]

# Make a frequency list of lengths: line_num_words
line_num_words = [____ for t_line in tokenized_lines]

# Plot a histogram of the line lengths
____

# Show the plot
____
Edit dan Jalankan Kode