Jadi saya memiliki kumpulan data yang ingin saya hapus kata-kata henti dari penggunaan
stopwords.words('english')
Saya berjuang bagaimana menggunakan ini dalam kode saya untuk hanya mengambil kata-kata ini. Saya sudah memiliki daftar kata-kata dari kumpulan data ini, bagian yang saya perjuangkan adalah membandingkan dengan daftar ini dan menghapus kata-kata berhenti. Bantuan apa pun dihargai.
python
nltk
stop-words
Alex
sumber
sumber
from nltk.corpus import stopwords
untuk calon karyawan Googlenltk.download("stopwords")
agar kamus stopword tersedia.Jawaban:
sumber
stops = set(stopwords.words("english"))
sebagai gantinya.stopwords.words('english')
adalah huruf kecil. Jadi pastikan untuk hanya menggunakan kata-kata dengan huruf kecil dalam daftar misalnya[w.lower() for w in word_list]
Anda juga bisa melakukan set diff, misalnya:
sumber
Saya kira Anda memiliki daftar kata (word_list) yang ingin Anda hapus stopwordsnya. Anda bisa melakukan sesuatu seperti ini:
sumber
Untuk mengecualikan semua jenis kata-kata penghenti termasuk kata-kata penghenti nltk, Anda dapat melakukan sesuatu seperti ini:
sumber
len(get_stop_words('en')) == 174
vslen(stopwords.words('english')) == 179
Ada paket python ringan yang sangat sederhana
stop-words
hanya untuk kepentingan ini.Pertama instal paket menggunakan:
pip install stop-words
Kemudian Anda dapat menghapus kata-kata Anda dalam satu baris menggunakan pemahaman daftar:
Paket ini sangat ringan untuk diunduh (tidak seperti nltk), berfungsi untuk
Python 2
danPython 3
, dan memiliki kata-kata penghenti untuk banyak bahasa lain seperti:sumber
Gunakan pustaka textcleaner untuk menghapus stopwords dari data Anda.
Ikuti tautan ini: https://yugantm.github.io/textcleaner/documentation.html#remove_stpwrds
Ikuti langkah-langkah berikut untuk melakukannya dengan perpustakaan ini.
Setelah menginstal:
Gunakan kode di atas untuk menghapus kata-kata penghenti.
sumber
Anda dapat menggunakan fungsi ini, Anda harus memperhatikan bahwa Anda perlu menurunkan semua kata
sumber
menggunakan filter :
sumber
word_list
besar kode ini sangat lambat. Lebih baik untuk mengkonversi daftar stopwords untuk set sebelum menggunakannya:.. in set(stopwords.words('english'))
.Inilah pendapat saya tentang ini, jika Anda ingin segera mendapatkan jawaban menjadi string (bukan daftar kata yang difilter):
sumber
Jika data Anda disimpan sebagai
Pandas DataFrame
, Anda dapat menggunakanremove_stopwords
dari textero yang menggunakan daftar stopwords NLTK secara default .sumber
sumber
sumber