- vừa được xem lúc

Tổng hợp về Tokenization

0 0 2

Người đăng: Dương Xuân Bách

Theo Viblo Asia

What is Tokenization?

Tokenization được hiểu đơn giản là quá trình chia nhỏ văn bản thành các thành phần nhỏ hơn, gọi là token. Các token này có thể là từ, cụm từ hoặc có thể là ký tự. Sau quá trình này, các token sẽ được đẩy làm các vector giúp cho máy tính nắm được thông tin.

Rule-Based Tokenization

Rule-based Tokenization là một phương pháp sử dụng một số quy tắc được xác định từ trước để thực hiện quá trình tokenization. Các quy tắc này có thể dựa trên biểu thức chính quy hoặc mẫu ngữ pháp. Ví dụ, một quy tắc đơn giản có thể là chia văn bản thành các token theo các ký tự khoảng trắng như dấu cách hoặc tab. Một quy tắc khác có thể là chia văn bản theo các dấu câu như dấu phẩy hoặc dấu chấm.

Điểm mạnh: Đơn giản và nhanh chóng Điểm yếu: Dễ bị mắc lỗi nếu không được xây dựng cẩn thận và thực tế ngôn ngữ không đơn giản như vậy

Dictionary-Based Tokenization

Dictionary-Based Tokenization là phương pháp tokenization với ý tưởng chính là sử dụng một danh sách các từ hoặc cụm từ được định nghĩa từ trước để khớp các phân đoạn văn bản với các token. Danh sách từ được định nghĩa từ trước này có thể gọi là Dictionary hoặc là Lexicon. -> Có thể xử lý những trường hợp những từ viết tắt, tiếng lóng hoặc là icon

Điểm mạnh: Xử lý những trường hợp bất thường mà không phù hợp với quy tắc. Có tính linh động vì có thể tùy chỉnh cho từng tác vụ cụ thể. Điểm yếu: Cần một Dict có sẵn, gặp bắt lợi những trường hợp chưa chuẩn bị trong từ điển.

Statistical-Based Tokenization

Statistical-based tokenization là một phương pháp sử dụng các mô hình thống kê được huấn luyện trên khối lượng lớn văn bản để học các mẫu phân bố xác suất cho việc chia nhỏ văn bản thành các token. Các mô hình này sử dụng các đặc điểm khác nhau như tần suất n-gram hoặc thẻ loại từ để xác định vị trí chèn ranh giới giữa các token.

Điểm mạnh: Khả năng thích ứng mở rộng và khả năng linh động Điểm yếu: Yêu cầu vấn đề về dữ liệu và Chi phí tính toán

Penn Tree Tokenization

Phương pháp này dựa trên các hướng dẫn phân tách từ Penn Treebank, được sử dụng rộng rãi trong lĩnh vực xử lý ngôn ngữ tự nhiên. Theo phương pháp này, các token được phân tách bằng các ký tự khoảng trắng, nhưng một số dấu câu được xem như các token riêng biệt.

Moses Tokenization

Phương pháp này là một dạng phân tách từ nâng cao hơn, trong đó các token được phân tách bằng các ký tự khoảng trắng và một số dấu câu nhất định. Ngoài ra, nó có thể xử lý các ký tự Unicode và các trường hợp đặc biệt như chữ viết tắt và số.

Subword Tokenization

Phương pháp này rất hữu ích khi xử lý các ngôn ngữ có vốn từ vựng lớn hoặc xử lý những từ "ngoài vốn từ vựng". Theo phương pháp này, các từ được phân tách thành các đơn vị dưới từ dựa trên tần suất xuất hiện của chúng trong kho văn bản. Điểm mạnh: Xử lý tốt các từ "ngoài vốn từ vựng" bằng cách chia chúng thành các đơn vị dưới từ nhỏ hơn. Có thể được sử dụng để tạo ra một vốn từ vựng kích thước cố định. Điểm yếu: Có thể tạo ra một số lượng lớn dưới từ cho những từ dài, dẫn đến chuỗi token dài hơn và sử dụng bộ nhớ cao hơn. Huấn luyện có thể tốn nhiều tài nguyên tính toán, đặc biệt đối với các bộ dữ liệu lớn hơn. Byte-Pair Encoding

Đây là một kỹ thuật nén dữ liệu cũng có thể được sử dụng cho việc phân tách từ. Nó hoạt động bằng cách thay thế cặp byte xuất hiện thường xuyên nhất bằng một byte đơn, và lặp lại quá trình này cho đến khi đạt được kích thước vốn từ vựng mong muốn.

Some Tools Support Tokenization Processing

NLTK TextBlob spaCy Gensim Keras Tokenization Pretrain: BERT

Bình luận

Bài viết tương tự

- vừa được xem lúc

Xác định ý định câu hỏi trong hệ thống hỏi đáp

Mục tiêu bài viết. Phân tích câu hỏi là pha đầu tiên trong kiến trúc chung của một hệ thống hỏi đáp, có nhiệm vụ tìm ra các thông tin cần thiết làm đầu vào cho quá trình xử lý của các pha sau (trích c

0 0 83

- vừa được xem lúc

Phân tích nội dung và tạo đám mây từ khóa (word cloud) từ đoạn văn bản tiếng Nhật

Chắc hẳn là khái niệm đám mây từ khóa (word cloud) đã không còn xa lạ gì trong thời đại thông tin số bùng nổ như ngày nay. Chúng ta thường thấy nó xuất hiện trên các bài báo, công cụ tìm kiếm, thể hiệ

0 0 195

- vừa được xem lúc

[NLP] Cải thiện Elasticsearch trong bài toán semantic search sử dụng phương pháp Sentence Embeddings

Elasticsearch. Elasticsearch là gì .

0 0 685

- vừa được xem lúc

Giới thiệu bài toán Tóm tắt Văn bản sử dụng mô hình LSTM-based Seq2seq và cơ chế Attention

Cuộc sống thời đại phát triển kéo theo lượng thông tin mỗi ngày một lớn, con người luôn bận rộn với những mục tiêu bản thân đề ra vì thế mà vấn đề thời gian luôn là nan giải đối với mỗi cá nhân chúng

0 0 256

- vừa được xem lúc

Tổng quan về Neural Machine Translation

Machine Translation là gì. Đơn giản như lúc ta bật google dịch lên rồi dịch câu tiếng Nhật: ’皆さん、おはようございます’。Ta được câu tiếng Việt là: "Chào buổi sáng tất cả mọi người".

0 0 80

- vừa được xem lúc

Xây dựng mô hình dịch máy cho cặp ngôn ngữ Nhật - Việt

Mở đầu. Dịch tự động hay còn gọi là dịch máy (tiếng Anh: machine translation) là một nhánh của xử lý ngôn ngữ tự nhiên thuộc phân ngành trí tuệ nhân tạo, nó là sự kết hợp giữa ngôn ngữ, dịch thuật v

0 0 303