Lemmatization là gì?
- ★
- ★
- ★
- ★
- ★
Lemmatization là gì ?
Trong xử lý ngôn ngữ tự nhiên (natural language processing), trước khi cung cấp văn bản hoặc dữ liệu cho mô hình (model) dự đoán cho mục đích phân tích, các từ trong câu được rút gọn thành từ gốc cốt (root word) của chúng.
Ví dụ sau đây là một câu trước khi lemmatization:
"The students planned a dinner for their instructors."
Sau đây là câu tương tự sau khi lemmatization:
"The student plan a dine for their instructor."
Tại sao phải lemmatization ?
Chúng ta sử dụng lemmatization để chuyển đổi tập dữ liệu (data set) đầu vào thành một dạng cắt bỏ cú pháp ngữ pháp để đơn giản hóa tập dữ liệu. Điều này ngụ ý rằng nhiều từ khác nhau trong tập dữ liệu thô có thể ánh xạ vào cùng một từ sau khi lemmatization. Do đó, điều này làm giảm nhiễu (noise) và đơn giản hóa quá trình huấn luyện (training) cùng với sự gia tăng rõ ràng về tốc độ phân tích.
Lemmatization bằng cách sử dụng thư viện NLTK trong Python
Dưới đây là cách triển khai (implementation) lemmatization sử dụng NLTK:
import nltk
from nltk.stem import WordNetLemmatizer
lemmatizer_instance = WordNetLemmatizer()
input_sentence = "The students planned a dinner for their instructors"
tokenized_form = nltk.word_tokenize(input_sentence)
final_sentence = ""
for word in tokenized_form:
final_sentence = final_sentence + lemmatizer_instance.lemmatize(word) + " "
print("Sentence before lemmatization is:")
print(input_sentence)
print("\n")
print("Sentence after lemmatization is:")
print(final_sentence)
Giải thích
- Dòng 3: Chúng ta tạo một đối tượng (object) WordNetLemmatizer.
- Dòng 5: Chúng ta làm sạch (clean) và tokenize input_sentence.
- Dòng 7–8: Chúng ta lemmatize tất cả các từ trong mảng (array) tokenized_form.
Learning English Everyday