Saya baru mulai menggunakan NLTK dan saya tidak begitu mengerti bagaimana cara mendapatkan daftar kata dari teks. Jika saya menggunakan nltk.word_tokenize()
, saya mendapatkan daftar kata dan tanda baca. Saya hanya membutuhkan kata-kata saja. Bagaimana cara menghilangkan tanda baca? Juga word_tokenize
tidak berfungsi dengan beberapa kalimat: titik ditambahkan ke kata terakhir.
word_tokenize()
tidak bekerja dengan banyak kalimat. Untuk menghilangkan tanda baca, Anda dapat menggunakan ekspresi reguler atau isalnum()
fungsi python .
>>> 'with dot.'.translate(None, string.punctuation) 'with dot'
(catatan tidak ada dot pada akhir hasil) itu dapat menyebabkan masalah jika Anda memiliki hal-hal seperti 'end of sentence.No space'
, dalam hal melakukan ini sebagai gantinya: the_text.translate(string.maketrans(string.punctuation, ' '*len(string.punctuation)))
yang menggantikan semua tanda baca dengan spasi putih.
nltk.word_tokenize(the_text.translate(None, string.punctuation))
harus bekerja di python2 sedangkan di python3 Anda bisa melakukannyanltk.work_tokenize(the_text.translate(dict.fromkeys(string.punctuation)))
.