Tokenization là gì?
Token hóa là quá trình mà một lượng lớn văn bản được chia thành các phần nhỏ hơn được gọi là mã thông báo. Những mã thông báo này rất hữu ích cho việc tìm kiếm các mẫu và được coi là bước cơ bản để tạo gốc và hình thức hóa. Tokenization cũng giúp thay thế các phần tử dữ liệu nhạy cảm bằng các phần tử dữ liệu không nhạy cảm.
Xử lý ngôn ngữ tự nhiên được sử dụng để xây dựng các ứng dụng như phân loại văn bản, chatbot thông minh, phân tích tình cảm, dịch ngôn ngữ, v.v. Điều quan trọng là phải hiểu mẫu trong văn bản để đạt được mục đích nêu trên.
Hiện tại, đừng lo lắng về vấn đề gốc và lemmatization mà hãy coi chúng như các bước để làm sạch dữ liệu văn bản bằng NLP (Xử lý ngôn ngữ tự nhiên). Chúng ta sẽ thảo luận về việc tạo gốc và lemmatization ở phần sau của hướng dẫn này. Các tác vụ như phân loại văn bản hoặc lọc thư rác sử dụng NLP cùng với các thư viện học sâu như Keras và Tensorflow.
Bộ công cụ Ngôn ngữ Tự nhiên có mô-đun NLTK mã hóa các câu rất quan trọng mà nó còn bao gồm các mô-đun con
- mã hóa từ
- mã hóa câu
Mã hóa các từ
Chúng tôi sử dụng phương thức word_tokenize () để tách một câu thành các từ. Đầu ra của mã hóa từ có thể được chuyển đổi sang Khung dữ liệu để hiểu văn bản tốt hơn trong các ứng dụng học máy. Nó cũng có thể được cung cấp làm đầu vào cho các bước làm sạch văn bản khác như loại bỏ dấu chấm câu, loại bỏ ký tự số hoặc gốc. Các mô hình học máy cần dữ liệu số để được đào tạo và đưa ra dự đoán. Mã hóa từ trở thành một phần quan trọng của việc chuyển đổi văn bản (chuỗi) sang dữ liệu số. Vui lòng đọc về Bag of Words hoặc CountVectorizer. Vui lòng tham khảo ví dụ từ tokenize NLTK dưới đây để hiểu lý thuyết tốt hơn.
from nltk.tokenize import word_tokenizetext = "God is Great! I won a lottery."print(word_tokenize(text))Output: ['God', 'is', 'Great', '!', 'I', 'won', 'a', 'lottery', '.']
Giải thích mã
- mô-đun word_tokenize được nhập từ thư viện NLTK.
- Một biến "văn bản" được khởi tạo bằng hai câu.
- Biến văn bản được chuyển vào mô-đun word_tokenize và in ra kết quả. Mô-đun này ngắt từng từ bằng dấu câu mà bạn có thể thấy trong đầu ra.
Mã hóa các câu
Mô-đun phụ có sẵn cho phần trên là sent_tokenize. Một câu hỏi hiển nhiên trong đầu bạn sẽ là tại sao cần mã hóa câu khi chúng ta có tùy chọn mã hóa từ . Hãy tưởng tượng bạn cần đếm số từ trung bình cho mỗi câu, bạn sẽ tính toán như thế nào? Để hoàn thành một nhiệm vụ như vậy, bạn cần cả trình bổ sung câu NLTK cũng như trình mã hóa từ NLTK để tính toán tỷ lệ. Đầu ra như vậy đóng vai trò là một tính năng quan trọng cho việc đào tạo máy vì câu trả lời sẽ là số.
Kiểm tra ví dụ NLTK tokenizer dưới đây để tìm hiểu cách mã hóa câu khác với mã hóa từ.
from nltk.tokenize import sent_tokenizetext = "God is Great! I won a lottery."print(sent_tokenize(text))Output: ['God is Great!', 'I won a lottery ']
Chúng tôi có 12 từ và hai câu cho cùng một đầu vào.
Giải thích về chương trình:
- Trong một dòng giống như chương trình trước, đã nhập mô-đun sent_tokenize.
- Chúng tôi đã thực hiện cùng một câu. Trình mã hóa câu khác trong mô-đun NLTK đã phân tích cú pháp các câu đó và hiển thị đầu ra. Rõ ràng là chức năng này ngắt từng câu.
Các ví dụ về từ tokenizer Python ở trên là những nền tảng cài đặt tốt để hiểu cơ chế của mã hóa từ và câu.
Tóm lược
- Token hóa trong NLP là quá trình mà một lượng lớn văn bản được chia thành các phần nhỏ hơn được gọi là token.
- Xử lý ngôn ngữ tự nhiên được sử dụng để xây dựng các ứng dụng như phân loại văn bản, chatbot thông minh, phân tích tình cảm, dịch ngôn ngữ, v.v.
- Bộ công cụ Ngôn ngữ Tự nhiên có mô-đun NLTK mã hóa câu rất quan trọng, nó bao gồm thêm các mô-đun con
- Chúng tôi sử dụng phương thức word_tokenize () để tách một câu thành các từ. Đầu ra của word tokenizer trong NLTK có thể được chuyển đổi sang Data Frame để hiểu văn bản tốt hơn trong các ứng dụng máy học.
- Mô-đun phụ có sẵn cho phần trên là sent_tokenize. Tokenizer câu trong Python NLTK là một tính năng quan trọng để đào tạo máy.