Từ dừng là những từ phổ biến không đóng vai trò lớn trong việc phân loại văn bản. Các công cụ tìm kiếm thường bỏ qua chúng vì chúng không thực sự giúp thu hẹp kết quả cho một cụm từ tìm kiếm nhất định. A, the, it, he, she, and an là những từ dừng phổ biến trong tiếng Anh
Bởi vì chúng không cung cấp nhiều giá trị, nên loại bỏ các từ dừng trước khi xử lý văn bản cho các tác vụ xử lý ngôn ngữ tự nhiên [NLP] sẽ có ích. Hãy tưởng tượng cơ sở dữ liệu của bạn sẽ lớn hơn bao nhiêu nếu bao gồm tất cả những từ phổ biến này?
Thư viện Python NLTK chứa danh sách các từ dừng mặc định. Để xóa các từ dừng, bạn cần chia văn bản của mình thành các mã thông báo [từ], sau đó kiểm tra xem mỗi mã thông báo có khớp với các từ trong danh sách các từ dừng của bạn không. Nếu mã thông báo khớp với từ dừng, bạn bỏ qua mã thông báo. Nếu không, bạn thêm mã thông báo vào danh sách các từ hợp lệ
Trong hướng dẫn này, chúng tôi sẽ hướng dẫn bạn cách xóa các từ dừng khỏi văn bản bằng thư viện NLTK cho Python
Cài đặt thư viện cần thiết
Để chạy các tập lệnh Python trong hướng dẫn này, bạn cần cài đặt Thư viện NLTK. Thực thi tập lệnh sau trên thiết bị đầu cuối lệnh của bạn để cài đặt Thư viện NLTK
pip install nltk
Dừng loại bỏ từ
Thư viện NLTK hỗ trợ loại bỏ từ dừng từ nhiều ngôn ngữ. Để xem danh sách các ngôn ngữ được NLTK hỗ trợ để loại bỏ từ dừng, hãy gọi hàm
from nltk.corpus import stopwords
print[stopwords.fileids[]]
7 từ lớp từ dừng của thenltk. corpusmodule như được hiển thị trong đoạn script saufrom nltk.corpus import stopwords
print[stopwords.fileids[]]
Dưới đây là danh sách tất cả các ngôn ngữ được thư viện NLKT hỗ trợ để loại bỏ từ dừng
['arabic', 'azerbaijani', 'danish', 'dutch', 'english', 'finnish', 'french', 'german', 'greek', 'hungarian', 'indonesian', 'italian', 'kazakh', 'nepali', 'norwegian', 'portuguese', 'romanian', 'russian', 'slovene', 'spanish', 'swedish', 'tajik', 'turkish']
Trước tiên, chúng tôi sẽ làm việc với các từ dừng tiếng Anh, sau đó chúng tôi sẽ chỉ cho bạn một ví dụ tiếng Pháp trong trường hợp bạn tình cờ phát triển một công cụ NLP đa ngôn ngữ
Xóa các từ dừng tiếng Anh
Để lấy danh sách các từ dừng tiếng Anh, bạn phải truyền'english'làm tham số cho hàm
from nltk.corpus import stopwords
print[stopwords.fileids[]]
8 như hình bên dướiprint[stopwords.words['english']]
Dưới đây là danh sách tất cả các từ dừng tiếng Anh có trong thư viện NLTK
['i', 'me', 'my', 'myself', 'we', 'our', 'ours', 'ourselves', 'you', "you're", "you've", "you'll", "you'd", 'your', 'yours', 'yourself', 'yourselves', 'he', 'him', 'his', 'himself', 'she', "she's", 'her', 'hers', 'herself', 'it', "it's", 'its', 'itself', 'they', 'them', 'their', 'theirs', 'themselves', 'what', 'which', 'who', 'whom', 'this', 'that', "that'll", 'these', 'those', 'am', 'is', 'are', 'was', 'were', 'be', 'been', 'being', 'have', 'has', 'had', 'having', 'do', 'does', 'did', 'doing', 'a', 'an', 'the', 'and', 'but', 'if', 'or', 'because', 'as', 'until', 'while', 'of', 'at', 'by', 'for', 'with', 'about', 'against', 'between', 'into', 'through', 'during', 'before', 'after', 'above', 'below', 'to', 'from', 'up', 'down', 'in', 'out', 'on', 'off', 'over', 'under', 'again', 'further', 'then', 'once', 'here', 'there', 'when', 'where', 'why', 'how', 'all', 'any', 'both', 'each', 'few', 'more', 'most', 'other', 'some', 'such', 'no', 'nor', 'not', 'only', 'own', 'same', 'so', 'than', 'too', 'very', 's', 't', 'can', 'will', 'just', 'don', "don't", 'should', "should've", 'now', 'd', 'll', 'm', 'o', 're', 've', 'y', 'ain', 'aren', "aren't", 'couldn', "couldn't", 'didn', "didn't", 'doesn', "doesn't", 'hadn', "hadn't", 'hasn', "hasn't", 'haven', "haven't", 'isn', "isn't", 'ma', 'mightn', "mightn't", 'mustn', "mustn't", 'needn', "needn't", 'shan', "shan't", 'shouldn', "shouldn't", 'wasn', "wasn't", 'weren', "weren't", 'won', "won't", 'wouldn', "wouldn't"]
Để xóa các từ dừng khỏi chuỗi văn bản, bạn cần chia văn bản của mình thành các mã thông báo [từ]. Tiếp theo, bạn sẽ lặp qua danh sách mã thông báo và chỉ giữ lại những mã thông báo không có trong danh sách từ dừng. Đây là một ví dụ
import nltk
from nltk.corpus import stopwords
nltk.download['stopwords']
from nltk.tokenize import word_tokenize
document = "In Python, you do not need to end a statement with a semicolon."
tokens = word_tokenize[document]
filtered_text = [t for t in tokens if not t in stopwords.words["english"]]
print[" ".join[filtered_text]]
Đầu ra cho thấy các từ dừng như you, do, not, to, a và with bị xóa khỏi văn bản như hình bên dưới
________số 8
Hãy nhớ rằng, bạn có thể sử dụng RegexpTokenizer để xóa dấu chấm câu khỏi danh sách mã thông báo của mình
Xóa các từ dừng tiếng Pháp
Để có danh sách các từ dừng tiếng Pháp, bạn phải chuyển'french'as một tham số cho hàm
from nltk.corpus import stopwords
print[stopwords.fileids[]]
8 như hình bên dướifrom nltk.corpus import stopwords
print[stopwords.fileids[]]
0Dưới đây là danh sách tất cả các từ dừng tiếng Pháp
from nltk.corpus import stopwords
print[stopwords.fileids[]]
1Ví dụ sau đây cho thấy cách xóa các từ dừng khỏi văn bản tiếng Pháp. Quá trình này tương tự như loại bỏ các từ dừng tiếng Anh; . Bạn bỏ qua các từ tồn tại trong danh sách các từ dừng và trả về các từ còn lại. Cuối cùng, bạn có thể nối danh sách các từ không có từ dừng để xây dựng lại chuỗi của bạn mà không có từ dừng bằng cách sử dụng hàm
['arabic', 'azerbaijani', 'danish', 'dutch', 'english', 'finnish', 'french', 'german', 'greek', 'hungarian', 'indonesian', 'italian', 'kazakh', 'nepali', 'norwegian', 'portuguese', 'romanian', 'russian', 'slovene', 'spanish', 'swedish', 'tajik', 'turkish']
0Đây là một ví dụ
from nltk.corpus import stopwords
print[stopwords.fileids[]]
3Ở đầu ra, bạn sẽ thấy các từ dừng tiếng Pháp i. e. suis, un và en bị xóa khỏi văn bản
from nltk.corpus import stopwords
print[stopwords.fileids[]]
0Nhận miễn phí Bộ công cụ dành cho nhà phát triển Python của chúng tôi
Tôi đã tập hợp Bộ công cụ dành cho nhà phát triển Python với hơn 100 tập lệnh Python dựng sẵn bao gồm cấu trúc dữ liệu, Pandas, NumPy, Seaborn, máy học, xử lý tệp, quét web và nhiều thứ khác - và tôi muốn bạn có bộ công cụ này miễn phí. Nhập địa chỉ email của bạn dưới đây và tôi sẽ gửi một bản sao theo cách của bạn