Lompat ke konten utama
←

Mengolah Teks dengan Python

Pelajaran 10 dari 16

Menghitung kata: frekuensi, n-gram, dan bag-of-words

N-gram: pasangan dan deretan kata

Setelah pelajaran ini kamu bisa membuat bigram dari list token dan menghitung bigram terbanyak.

±13 menitDiperiksa 27 Sep 2026

Materi

N-gram adalah deretan n token yang berurutan: unigram satu kata, bigram dua kata, trigram tiga kata. Menghitung bigram menangkap frasa yang maknanya hilang bila katanya dihitung terpisah. Pada ulasan "tidak sesuai", unigram mencatat tidak dan sesuai sendiri-sendiri, sedangkan bigram mencatat ("tidak", "sesuai") sebagai satu satuan.

kata = ["kamar", "bersih", "dan", "air", "panas"]
bigram = list(zip(kata, kata[1:]))
print(bigram)
# [('kamar', 'bersih'), ('bersih', 'dan'), ('dan', 'air'), ('air', 'panas')]

zip() memasangkan unsur dari beberapa iterable menurut posisinya dan berhenti pada iterable terpendek. kata[1:] adalah list yang sama digeser satu posisi, jadi zip(kata, kata[1:]) memasangkan setiap kata dengan kata sesudahnya. Sejak Python 3.10, itertools.pairwise(kata) memberi pasangan yang sama tanpa membuat potongan list. Untuk n umum, list digeser n kali dan semua potongannya diberikan ke zip.

Banyaknya n-gram dari m token adalah m − n + 1 bila m ≥ n, dan nol bila teks lebih pendek dari n. Karena tuple dapat di-hash, n-gram bisa langsung dihitung dengan Counter, sama seperti kata tunggal. Bigram dihitung per dokumen, supaya kata terakhir satu ulasan tidak dipasangkan dengan kata pertama ulasan berikutnya.

Latihan

0/3 lulus

Jawaban diperiksa di server. Lulus berarti kamu memahami contohnya, bukan penilaian seluruh pekerjaanmu.

Latihan 2 dari 3

Sebuah ulasan terdiri atas 9 token. Berapa banyak trigram yang terbentuk darinya?

Catatanmu

Memuat catatan…

tersimpan otomatis, ikut tercetak · 0/4.000

Luluskan semua latihan dulu untuk menandai pelajaran ini selesai.

Lanjutkan ke