Thuật ngữ

Mã hóa

Khám phá sức mạnh của mã thông báo trong NLP và ML! Tìm hiểu cách chia văn bản thành mã thông báo giúp tăng cường các tác vụ AI như phân tích tình cảm và tạo văn bản.

Xe lửa YOLO mô hình đơn giản
với Ultralytics TRUNG TÂM

Tìm hiểu thêm

Tokenization là một bước cơ bản trong Xử lý ngôn ngữ tự nhiên (NLP) và Học máy (ML) liên quan đến việc chia nhỏ văn bản thành các đơn vị nhỏ hơn, được gọi là token. Các token này có thể là từ, từ phụ, ký tự hoặc ký hiệu, tùy thuộc vào các yêu cầu cụ thể của tác vụ và mô hình đang sử dụng. Bằng cách chuyển đổi văn bản thô thành định dạng số mà các mô hình học máy có thể hiểu được, tokenization rất quan trọng đối với nhiều ứng dụng AI khác nhau.

Sự định nghĩa

Phân đoạn là quá trình phân đoạn một chuỗi văn bản thành các mã thông báo riêng lẻ. Hãy nghĩ về nó như việc cắt một câu thành nhiều phần. Những phần này, hay mã thông báo, trở thành các đơn vị cơ bản mà máy tính có thể xử lý. Ví dụ, câu " Ultralytics YOLO nhanh." có thể được mã hóa thành [" Ultralytics ", " YOLO ", "là", "nhanh", "."]. Cách mã hóa văn bản có thể ảnh hưởng đáng kể đến mức độ hiểu và xử lý ngôn ngữ của mô hình. Có nhiều chiến lược mã hóa khác nhau, mỗi chiến lược có điểm mạnh và điểm yếu riêng. Các phương pháp phổ biến bao gồm:

  • Phân chia từ: Đây là cách tiếp cận trực tiếp nhất, trong đó văn bản được chia thành các từ riêng lẻ, thường dựa trên khoảng trắng và dấu câu. Ví dụ, "Let's learn AI!" trở thành ["Let", "'s", "learn", "AI", "!"].
  • Phân chia ký tự: Ở đây, mỗi ký tự được coi là một mã thông báo. Câu tương tự, "Let's learn AI!", sẽ được phân chia thành ["L", "e", "t", "'", "s", " ", "l", "e", "a", "r", "n", " ", "A", "I", "!"]. Phương pháp này hữu ích cho các ngôn ngữ mà các từ không được phân tách rõ ràng bằng khoảng trắng hoặc khi xử lý các từ nằm ngoài vốn từ vựng.
  • Phân tách từ phụ: Phương pháp này tạo ra sự cân bằng giữa phân tách từ và ký tự. Nó chia các từ thành các đơn vị nhỏ hơn (từ phụ) dựa trên các chuỗi ký tự thường xuyên. Ví dụ, "unbreakable" có thể được phân tách thành ["un", "break", "able"]. Kỹ thuật này có hiệu quả trong việc xử lý các từ hiếm và giảm kích thước từ vựng, đặc biệt có lợi trong các mô hình như họ BERT (Bidirectional Encoder Representations from Transformers) và GPT (Generative Pre-trained Transformer), bao gồm GPT-4GPT-3 .

Sự liên quan và ứng dụng

Tokenization là điều kiện tiên quyết cho hầu hết các tác vụ NLP, cho phép máy móc xử lý và hiểu ngôn ngữ của con người. Ứng dụng của nó rất rộng và trải dài trên nhiều lĩnh vực khác nhau:

  • Phân tích tình cảm: Trong phân tích tình cảm , mã thông báo giúp chia nhỏ các đánh giá của khách hàng hoặc bài đăng trên mạng xã hội thành các từ hoặc cụm từ riêng lẻ, sau đó được phân tích để xác định tình cảm chung (tích cực, tiêu cực hoặc trung tính). Ví dụ, khi phân tích câu "This Ultralytics HUB cực kỳ thân thiện với người dùng!", việc phân tích mã thông báo cho phép mô hình phân tích tình cảm tập trung vào từng từ riêng lẻ như "vô cùng" và "thân thiện với người dùng" để đánh giá tình cảm tích cực.
  • Dịch máy: Phân mã là điều cần thiết cho dịch máy . Trước khi dịch một câu từ ngôn ngữ này sang ngôn ngữ khác, câu đó trước tiên được phân mã. Điều này cho phép mô hình dịch xử lý văn bản từng từ hoặc từng từ phụ, tạo điều kiện cho các bản dịch chính xác và có nhận thức về ngữ cảnh. Ví dụ, dịch "Cách đào tạo Ultralytics YOLO "Mô hình" đầu tiên bao gồm việc phân chia nó thành các từ hoặc từ phụ trước khi ánh xạ các mã thông báo này sang ngôn ngữ khác.
  • Tạo văn bản: Các mô hình được sử dụng để tạo văn bản , chẳng hạn như Mô hình ngôn ngữ lớn (LLM) , phụ thuộc rất nhiều vào việc mã hóa. Khi tạo văn bản, các mô hình này dự đoán mã thông báo tiếp theo trong một chuỗi. Mã hóa đảm bảo rằng đầu ra được xây dựng từ các đơn vị có nghĩa, cho dù là từ hay từ phụ, dẫn đến văn bản mạch lạc và đúng ngữ pháp.
  • Công cụ tìm kiếm và truy xuất thông tin: Công cụ tìm kiếm sử dụng mã thông báo để lập chỉ mục các trang web và xử lý các truy vấn tìm kiếm. Khi bạn tìm kiếm "phát hiện đối tượng với Ultralytics YOLO ", công cụ tìm kiếm sẽ mã hóa truy vấn của bạn thành các từ khóa và khớp các mã thông báo này với nội dung được lập chỉ mục để tìm ra kết quả có liên quan. Tìm kiếm ngữ nghĩa sẽ tinh chỉnh quy trình này hơn nữa bằng cách hiểu ý nghĩa của các mã thông báo và ngữ cảnh của chúng.

Các loại mã hóa

Trong khi khái niệm cơ bản về mã hóa rất đơn giản, nhiều kỹ thuật khác nhau phục vụ cho các ngôn ngữ và tác vụ NLP khác nhau:

  • Phân tách khoảng trắng: Phương pháp đơn giản này phân tách văn bản dựa trên các ký tự khoảng trắng (khoảng trắng, tab, dòng mới). Mặc dù dễ triển khai, nhưng nó có thể không xử lý được dấu câu hiệu quả và có thể gặp khó khăn với các ngôn ngữ không sử dụng khoảng trắng để phân tách các từ.
  • Phân chia theo quy tắc: Phương pháp này sử dụng các quy tắc được xác định trước để xử lý dấu câu, cách viết tắt và các sắc thái ngôn ngữ cụ thể khác. Ví dụ, các quy tắc có thể được thiết lập để tách các dấu câu thành các mã thông báo riêng lẻ hoặc để xử lý các cách viết tắt như "can't" thành hai mã thông báo: "ca" và "n't".
  • Phân chia theo mã thống kê: Các kỹ thuật tiên tiến hơn sử dụng các mô hình thống kê được đào tạo trên các tập hợp văn bản lớn để xác định ranh giới mã thông báo. Các phương pháp này, bao gồm các thuật toán phân chia theo mã phụ như Mã hóa cặp byte (BPE) và WordPiece, đặc biệt hiệu quả để xử lý các ngôn ngữ phức tạp và các từ không có trong từ vựng.

Lợi ích của việc mã hóa

Mã hóa mang lại một số lợi thế quan trọng trong bối cảnh AI và ML:

  • Đơn giản hóa dữ liệu văn bản: Bằng cách chia nhỏ văn bản thành các đơn vị nhỏ hơn, dễ quản lý hơn, mã hóa sẽ chuyển đổi dữ liệu văn bản phức tạp, phi cấu trúc thành định dạng mà thuật toán có thể xử lý hiệu quả.
  • Cho phép biểu diễn số: Mã thông báo có thể dễ dàng được chuyển đổi thành biểu diễn số, chẳng hạn như vectơ, là đầu vào chuẩn cho các mô hình học máy. Việc chuyển đổi này rất cần thiết để các mô hình học các mẫu và mối quan hệ trong dữ liệu văn bản. Các kỹ thuật như nhúng từ ngữ giúp nâng cao hơn nữa biểu diễn này bằng cách nắm bắt ý nghĩa ngữ nghĩa.
  • Cải thiện hiệu suất mô hình: Mã hóa hiệu quả có thể cải thiện đáng kể hiệu suất của các mô hình NLP. Việc lựa chọn chiến lược mã hóa phù hợp cho một nhiệm vụ và ngôn ngữ cụ thể có thể dẫn đến độ chính xác và hiệu quả tốt hơn trong các nhiệm vụ như phân loại, dịch và tạo.
  • Quản lý kích thước từ vựng: Phân chia từ thành các đơn vị từ phụ, đặc biệt giúp quản lý kích thước từ vựng. Bằng cách chia nhỏ các từ thành các đơn vị từ phụ, nó làm giảm số lượng mã thông báo duy nhất mà một mô hình cần học, giúp các mô hình hiệu quả hơn và có khả năng xử lý nhiều loại văn bản hơn, bao gồm cả các từ hiếm hoặc chưa từng thấy.

Tóm lại, tokenization là một bước tiền xử lý quan trọng trong NLP và ML, cho phép máy tính hiểu và xử lý dữ liệu văn bản. Hiệu quả của nó phụ thuộc vào kỹ thuật được chọn và tính phù hợp của nó đối với nhiệm vụ và ngôn ngữ cụ thể. Hiểu về tokenization là điều cơ bản đối với bất kỳ ai làm việc với các ứng dụng AI dựa trên văn bản, từ phân tích tình cảm đến các mô hình ngôn ngữ phức tạp như Ultralytics YOLO -World, có thể hiểu được lời nhắc bằng văn bản để phát hiện đối tượng.

Đọc tất cả