Word stemming dan stem completion pada sebuah kalimat
Mari kita anggap kalimat berikut sebagai dokumen kita untuk latihan ini:
"In a complicated haste, Tom rushed to fix a new complication, too complicatedly."
Kalimat ini memuat tiga bentuk kata "complicate" yang sama seperti yang Anda lihat pada latihan sebelumnya. Perbedaannya, meskipun Anda memanggil stemDocument() pada kalimat ini, fungsi tersebut akan mengembalikan kalimat tanpa melakukan stemming pada kata mana pun. Luangkan waktu sejenak untuk mencobanya di konsol. Pastikan untuk menyertakan tanda baca.
Ini terjadi karena stemDocument() memperlakukan seluruh kalimat sebagai satu kata. Dengan kata lain, dokumen kita adalah vektor karakter dengan panjang 1, bukan panjang n, di mana n adalah jumlah kata dalam dokumen. Untuk mengatasi masalah ini, pertama-tama kita hapus tanda baca dengan fungsi removePunctuation() yang telah Anda pelajari beberapa latihan sebelumnya. Lalu kita melakukan strsplit() pada vektor karakter berukuran panjang 1 tersebut menjadi panjang n, kemudian unlist(), lalu lanjutkan ke proses stemming dan pengembalian ke bentuk semula (re-complete).
Jangan khawatir jika ini membingungkan. Mari kita lalui prosesnya selangkah demi selangkah!
Latihan ini adalah bagian dari kursus
Text Mining dengan Bag-of-Words di R
Petunjuk latihan
Dokumen text_data dan kamus penyelesaian comp_dict telah dimuat di workspace Anda.
- Hapus tanda baca dalam
text_datamenggunakanremovePunctuation(), simpan kerm_punc. - Panggil
strsplit()padarm_puncdengan argumensplitdisetel ke" ". Susun ini di dalamunlist(), simpan ken_char_vec. - Gunakan
stemDocument()lagi untuk melakukan stemming kata padan_char_vec, simpan kestem_doc. - Buat
complete_docdengan mengembalikan dokumen yang telah di-stem ke bentuk kata lengkap menggunakanstemCompletion()dan gunakancomp_dictsebagai korpus referensi Anda.
Apakah stem_doc dan complete_doc sesuai dengan yang Anda harapkan?
Latihan interaktif praktis
Cobalah latihan ini dengan menyelesaikan kode contoh berikut.
# Remove punctuation: rm_punc
rm_punc <- ____
# Create character vector: n_char_vec
n_char_vec <- unlist(___(___, split = " "))
# Perform word stemming: stem_doc
stem_doc <- ___
# Print stem_doc
stem_doc
# Re-complete stemmed document: complete_doc
complete_doc <- ___
# Print complete_doc
complete_doc