MulaiMulai sekarang secara gratis

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

Lihat Kursus

Petunjuk latihan

Dokumen text_data dan kamus penyelesaian comp_dict telah dimuat di workspace Anda.

  • Hapus tanda baca dalam text_data menggunakan removePunctuation(), simpan ke rm_punc.
  • Panggil strsplit() pada rm_punc dengan argumen split disetel ke " ". Susun ini di dalam unlist(), simpan ke n_char_vec.
  • Gunakan stemDocument() lagi untuk melakukan stemming kata pada n_char_vec, simpan ke stem_doc.
  • Buat complete_doc dengan mengembalikan dokumen yang telah di-stem ke bentuk kata lengkap menggunakan stemCompletion() dan gunakan comp_dict sebagai 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
Edit dan Jalankan Kode