BaşlayınÜcretsiz Başlayın

Grafik pratikleri

Yeni becerilerini kullanarak, betikte satır başına düşen kelime sayısını matplotlib ile bulup görselleştirmeyi dene. The Holy Grail betiği senin için yüklendi ve satır başına kelimeleri bulmak için regex kullanman gerekiyor.

Burada liste üreteçleri hesaplamalarını hızlandırır. Örneğin: my_lines = [tokenize(l) for l in lines] ifadesi, lines listesindeki her satır için tokenize fonksiyonunu çağırır. Dönüştürülmüş yeni liste my_lines değişkenine kaydedilir.

Tüm betiğe holy_grail değişkeni üzerinden erişebilirsin. Hadi başla!

Bu egzersiz

Python ile Doğal Dil İşlemeye Giriş

kursunun bir parçasıdır
Kursu Görüntüle

Egzersiz talimatları

  • Betik holy_grail'i yeni satır ('\n') karakterini kullanarak satırlara ayır.
  • re.sub()'ı bir liste üretecinin içinde kullanarak ARTHUR: ve SOLDIER #1 gibi konuşmacı satırlarını değiştir. Desen senin için yazıldı.
  • lines listesini regexp_tokenize() ile, sadece kelimeleri tutacak şekilde, bir liste üreteciyle tokenize et. Kelimeler için desenin "\w+" olduğunu hatırla.
  • line_num_words adlı, satır uzunluklarını içeren bir listeyi bir liste üretecisiyle oluştur.
    • tokenized_lines üzerinde gezinmek için yineleyici değişken olarak t_line kullan ve satır uzunluklarını hesaplamak için len() fonksiyonunu uygula.
  • line_num_words'un histogramını plt.hist() ile çiz. Grafiği göstermek için plt.show() kullanmayı unutma.

Uygulamalı interaktif egzersiz

Bu örnek kodu tamamlayarak bu egzersizi bitirin.

# 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
____
Kodu Düzenle ve Çalıştır