mã hóanlpxử lý ngôn ngữ tự nhiênhọc máytrí tuệ nhân tạoxử lý văn bản
So sánh phân tách từ dưới dạng token với phân tách từ ở cấp độ từ
Phân tách từ dưới dạng token (subword tokenization) chia văn bản thành các đơn vị nhỏ hơn như ký tự hoặc chuỗi ký tự, trong khi phân tách từ ở cấp độ từ (word-level tokenization) tách văn bản tại các ranh giới khoảng trắng và dấu chấm câu. Cả hai phương pháp đều là nền tảng của các hệ thống xử lý ngôn ngữ tự nhiên (NLP) hiện đại, nhưng chúng xử lý kích thước từ vựng, các từ không xác định và sự phong phú về hình thái học theo những cách rất khác nhau.
Điểm nổi bật
Các phương pháp sử dụng từ con giúp giảm đáng kể kích thước từ vựng trong khi vẫn bảo toàn thông tin ngữ nghĩa thông qua các đoạn từ có thể tái sử dụng.
Việc phân tách từ ở cấp độ từ chỉ thất bại một cách khéo léo trong những lĩnh vực hạn chế mà từ vựng có thể được liệt kê đầy đủ.
Mã hóa cặp byte và các biến thể của nó là nền tảng của hầu hết các mô hình ngôn ngữ lớn hiện đại, bao gồm cả GPT và BERT.
Việc lựa chọn giữa các phương pháp ngày càng phụ thuộc vào các ràng buộc triển khai hơn là chỉ dựa vào hiệu năng của mô hình.
Phân tách từ con là gì?
Chia văn bản thành các đơn vị có độ dài thay đổi, nhỏ hơn từ, chẳng hạn như các mã thông báo Byte Pair Encoding hoặc các đoạn WordPiece.
Mã hóa cặp byte (BPE) ban đầu được phát triển để nén dữ liệu trước khi được Sennrich và cộng sự điều chỉnh cho ứng dụng xử lý ngôn ngữ tự nhiên (NLP) vào năm 2016.
Thuật toán WordPiece, được BERT và các mô hình khác của Google sử dụng, kết hợp các ký hiệu dựa trên xác suất xảy ra chứ không phải tần suất xuất hiện.
SentencePiece triển khai việc phân tách từ con thành các token mà không phụ thuộc vào ngôn ngữ, coi văn bản như một luồng ký tự thô.
Các phương pháp phân tích từ dưới dạng từ thường giữ kích thước từ vựng ở mức từ 8.000 đến 100.000 từ, nhỏ hơn đáng kể so với các phương pháp phân tích từ ở cấp độ từ.
Một từ hiếm gặp như 'antidisestablishmentarianism' có thể trở thành nhiều từ phụ quen thuộc, giữ nguyên ý nghĩa xuyên suốt các ranh giới từ ngữ.
Phân tách từ ở cấp độ từ là gì?
Chương trình này tách văn bản tại các ranh giới từ bằng cách sử dụng khoảng trắng và dấu câu, coi mỗi từ riêng biệt là một token duy nhất.
Phân tách từ ở cấp độ từ vựng là phương pháp chủ đạo trong xử lý ngôn ngữ tự nhiên thống kê thời kỳ đầu và vẫn phổ biến trong các ứng dụng đơn giản hơn.
Phương pháp này đòi hỏi kích thước từ vựng thường vượt quá 100.000 từ để bao quát đầy đủ ngôn ngữ tự nhiên.
Bất kỳ từ nào không có trong từ vựng đều trở thành một từ không xác định, được biểu thị là 'UNK' hoặc tương tự, mất đi tất cả thông tin ngữ nghĩa.
Các ngôn ngữ có cấu trúc hình thái phong phú như tiếng Thổ Nhĩ Kỳ hoặc tiếng Phần Lan tạo ra vốn từ vựng khổng lồ, khiến các phương pháp phân tích ở cấp độ từ ngữ trở nên không khả thi.
Sự đơn giản của việc phân tách từ ở cấp độ từ giúp nó tiết kiệm tài nguyên tính toán và dễ hiểu đối với các tác vụ cơ bản.
Bảng So Sánh
Tính năng
Phân tách từ con
Phân tách từ ở cấp độ từ
Kích thước từ vựng
8K–100K token
Thông thường hơn 100.000 token
Xử lý các từ không xác định
Phân rã thành các từ con đã biết
Ánh xạ tới mã thông báo UNK, làm mất thông tin.
Ngôn ngữ giàu hình thái học
Xử lý hiện tượng ngưng kết và pha chế một cách tự nhiên.
Gặp khó khăn trong việc phát triển vốn từ vựng đột ngột
Hiệu quả dữ liệu huấn luyện
Học hỏi từ sự xuất hiện đồng thời của các từ con trong các từ khác nhau
Cần có kho ngữ liệu khổng lồ để bao quát các từ hiếm.
Chi phí tính toán
Mã hóa và giải mã phức tạp hơn
Mã hóa token đơn giản và nhanh hơn
Độ chi tiết biểu diễn
Nắm bắt ý nghĩa ở cấp độ hình vị
Hoạt động ở cấp độ ngữ nghĩa toàn từ.
Các trường hợp sử dụng điển hình
Dịch máy thần kinh, mô hình ngôn ngữ lớn
Các thuật toán phân loại đơn giản, trích xuất từ khóa, hệ thống cũ
So sánh chi tiết
Quản lý từ vựng và khả năng mở rộng
Các phương pháp phân tích từ con phát huy hiệu quả khi sự phát triển của từ vựng trở nên khó kiểm soát. Bằng cách phân tách từ thành các phần có thể tái sử dụng, một mô hình có thể biểu diễn 'walk,' 'walked,' 'walking,' và 'walker' thông qua các đơn vị con được chia sẻ thay vì bốn mục độc lập. Các hệ thống ở cấp độ từ phải đối mặt với sự bùng nổ tổ hợp với mỗi biến thể hình thái, buộc phải sử dụng các từ vựng khổng lồ gây quá tải bộ nhớ hoặc phải cắt tỉa mạnh mẽ làm giảm phạm vi bao phủ.
Xử lý các thuật ngữ hiếm gặp và không có trong từ vựng.
Khi gặp một từ mới như 'Covfefe' hoặc một thuật ngữ chuyên ngành mới, các bộ phân tách từ dưới dạng từ (subword tokenizers) sẽ chia nó thành các mảnh nhỏ dễ nhận biết, mỗi mảnh mang một phần ý nghĩa. Bộ phân tách từ ở cấp độ từ (word-level tokenizer) thì đơn giản chỉ bỏ qua và xuất ra mã thông báo UNK, coi tên một căn bệnh hiếm gặp giống như một lỗi chính tả. Khoảng trống này trở nên nghiêm trọng trong các lĩnh vực như y học hoặc luật pháp, nơi thuật ngữ chuyên ngành rất phổ biến nhưng lại ít xuất hiện trong dữ liệu huấn luyện.
Khả năng áp dụng xuyên ngôn ngữ
Các ngôn ngữ xây dựng ý nghĩa theo những cách khác nhau, và các phương pháp phân tách từ dưới dạng token thích ứng linh hoạt hơn với sự đa dạng này. Các danh từ ghép dài nổi tiếng của tiếng Đức, sự đan xen giữa các gốc từ và cấu trúc trong tiếng Ả Rập, và hệ thống chữ viết hỗn hợp của tiếng Nhật đều thách thức các giả định ở cấp độ từ. Phân tách từ dưới dạng token không loại bỏ những thách thức này nhưng cung cấp một khung thống nhất hơn, cần ít sự can thiệp đặc thù cho từng ngôn ngữ hơn.
Sự đánh đổi về mặt tính toán
Tính đơn giản rất quan trọng trong môi trường sản xuất. Phân tách từ ở cấp độ từ vựng đòi hỏi xử lý sơ bộ tối thiểu và ánh xạ rõ ràng đến việc tra cứu nhúng. Các phương pháp từ con làm tăng độ phức tạp trong mã hóa, tạo ra các chuỗi dài hơn cho cùng một văn bản và cần phải tái tạo lại các từ gốc từ các đoạn văn bản. Đối với các ứng dụng có thông lượng cao và phạm vi từ vựng hạn chế, chi phí phát sinh này có thể không tương xứng với lợi ích mang lại.
Khả năng giải thích và gỡ lỗi
Có một điều gì đó trực quan và thỏa mãn khi nhìn thấy từ 'king' như một từ duy nhất thay vì ['k', 'ing'] hoặc ['kin', 'g']. Ranh giới ở cấp độ từ phù hợp với cách con người cảm nhận ngôn ngữ, giúp việc phân tích lỗi trở nên dễ dàng hơn. Kết quả của các từ con có thể gây khó hiểu ngay cả đối với những người sử dụng ngôn ngữ có kinh nghiệm khi sự phân tách xảy ra ở những vị trí không ngờ tới, mặc dù các công cụ trực quan hóa đã được cải thiện đáng kể.
Ưu & Nhược điểm
Phân tách từ con
Ưu điểm
+Xử lý các từ không xác định một cách khéo léo.
+Vốn từ vựng ít hơn
+Hoạt động trên nhiều ngôn ngữ
+Ghi lại các mô hình hình thái
+Tốt hơn cho các thuật ngữ hiếm gặp
Đã lưu
−Chuỗi mã thông báo dài hơn
−Việc triển khai phức tạp hơn
−Tốc độ mã hóa chậm hơn
−Việc chia tách có thể không trực quan.
−Chi phí tái thiết
Phân tách từ ở cấp độ từ
Ưu điểm
+Dễ thực hiện
+Xử lý nhanh
+Ranh giới trực quan
+Nhúng từ trực tiếp
+Gỡ lỗi dễ dàng
Đã lưu
−Sự phát triển vốn từ vựng mạnh mẽ
−Mất thông tin mã thông báo UNK
−Kém về mặt ngôn ngữ hình thái học
−Yêu cầu lượng dữ liệu huấn luyện khổng lồ.
−Chuyển giao giữa các miền bị hạn chế
Những hiểu lầm phổ biến
Huyền thoại
Phân tách từ dưới dạng token chỉ là phân tách token ở cấp độ ký tự với thêm một vài bước.
Thực tế
Mặc dù cả hai phương pháp đều hoạt động ở cấp độ dưới từ, nhưng các phương pháp phân tách từ nhỏ như BPE và WordPiece xác định các đơn vị có ý nghĩa thống kê, thường tương ứng với hình vị hoặc âm tiết. Phân tách ký tự coi 'th' và 'ing' là các chuỗi tùy ý, trong khi các phương pháp phân tách từ nhỏ học chúng như các đơn vị chức năng thông qua phân tích ngữ liệu.
Huyền thoại
Phương pháp phân tách từ ở cấp độ từ ngữ đã lỗi thời và không nên được sử dụng.
Thực tế
Nhiều hệ thống sản xuất vẫn dựa vào các phương pháp ở cấp độ từ, đặc biệt là trong các lĩnh vực hẹp với từ vựng được kiểm soát như mã hóa y tế hoặc phân loại pháp lý. Sự đơn giản và ưu điểm về tốc độ vẫn còn phù hợp khi phạm vi bài toán không đòi hỏi tính linh hoạt của các phương pháp ở cấp độ từ nhỏ hơn.
Huyền thoại
Phân tách từ con (subword tokenization) giải quyết triệt để vấn đề từ không có trong từ vựng.
Thực tế
Các phương pháp phân tích từ con giúp giảm thiểu nhưng không loại bỏ hoàn toàn vấn đề từ ngoài từ điển (OOV). Những tên cực kỳ hiếm gặp, sự kết hợp biểu tượng cảm xúc mới lạ hoặc cách viết đặc biệt vẫn có thể bị phân mảnh thành những phần vô nghĩa. Sự cải thiện là đáng kể so với các phương pháp phân tích từ cấp độ từ đơn lẻ, nhưng việc bao phủ hoàn hảo vẫn còn khó khăn.
Huyền thoại
Tất cả các mô hình xử lý ngôn ngữ tự nhiên hiện đại đều sử dụng cùng một thuật toán từ con.
Thực tế
Lĩnh vực này bao gồm BPE, WordPiece, SentencePiece, phân tách từ đơn (Unigram tokenization), và các phương pháp mới hơn như BPE-dropout. Mỗi phương pháp đều có những sự đánh đổi khác nhau giữa kích thước từ vựng, độ dài chuỗi và tính hợp lý về mặt ngôn ngữ. Các mô hình GPT thường sử dụng BPE, BERT sử dụng WordPiece, và T5 sử dụng SentencePiece.
Huyền thoại
Việc lựa chọn cách mã hóa token có tác động tối thiểu đến hiệu năng của mô hình.
Thực tế
Việc mã hóa từ (tokenization) ảnh hưởng trực tiếp đến khả năng học hỏi của mô hình, hiệu quả huấn luyện và khả năng khái quát hóa. Mã hóa từ kém có thể làm phân mảnh các khái niệm liên quan hoặc gộp chung các ý nghĩa khác nhau, tạo ra những hạn chế cơ bản về khả năng biểu diễn mà không có bất kỳ năng lực mô hình nào có thể khắc phục hoàn toàn.
Các câu hỏi thường gặp
Tokenization trong xử lý ngôn ngữ tự nhiên (NLP) là gì và tại sao nó lại quan trọng?
Tokenization chuyển đổi văn bản thô thành các đơn vị riêng biệt mà các mô hình học máy có thể xử lý. Đây là bước nền tảng quyết định cách ngôn ngữ được biểu diễn bằng số, ảnh hưởng đến mọi thứ từ kích thước từ vựng đến các mối quan hệ ngữ nghĩa mà mô hình có thể nắm bắt. Tokenization kém sẽ tạo ra nhiễu và sự mơ hồ lan truyền khắp toàn bộ quy trình xử lý.
Mã hóa cặp byte hoạt động như thế nào?
BPE bắt đầu với một từ vựng cấp độ ký tự và lặp đi lặp lại việc hợp nhất các cặp ký tự liền kề xuất hiện thường xuyên nhất trong một tập dữ liệu huấn luyện. Sau hàng nghìn lần hợp nhất, các chuỗi con phổ biến như 'th' hoặc 'ing' sẽ xuất hiện dưới dạng các token đơn lẻ trong khi các từ hiếm vẫn có thể phân tách được. Phương pháp dựa trên tần suất tham lam này xác định hiệu quả các mẫu có thể tái sử dụng mà không cần sự giám sát về mặt ngôn ngữ.
Tại sao việc phân tách từ con (subword tokenization) lại trở nên phổ biến sau năm 2016?
Các kiến trúc mạng nơ-ron ngày càng trở nên mạnh mẽ hơn, nhưng sự thành công của chúng phụ thuộc vào việc quản lý từ vựng trong các ràng buộc của ma trận nhúng. Việc Sennrich chứng minh rằng BPE đạt được hiệu suất tương đương ở cấp độ từ với một phần nhỏ vốn từ vựng đã trùng hợp với sự trỗi dậy của học sâu trong dịch thuật, tạo ra sự hội tụ giữa nhu cầu và giải pháp.
Liệu có thể sử dụng phương pháp phân tách từ ở cấp độ từ với các mô hình Transformer không?
Về mặt kỹ thuật thì có, mặc dù điều này không phổ biến. Bản thân kiến trúc Transformer không quan tâm đến việc phân tách từ, nhưng các điểm kiểm tra được huấn luyện trước thường sử dụng các phương pháp phân tách từ dưới dạng từ. Việc quay lại phân tách từ cấp độ từ sẽ yêu cầu huấn luyện lại từ đầu với các siêu tham số được điều chỉnh và có khả năng sẽ hoạt động kém hiệu quả hơn do hạn chế về từ vựng.
Làm thế nào để lựa chọn kích thước từ vựng cho việc phân tách từ con?
Điều này liên quan đến việc cân bằng độ dài chuỗi với độ chi tiết. Từ vựng nhỏ hơn tạo ra các chuỗi dài hơn với nhiều từ chung hơn, trong khi từ vựng lớn hơn có xu hướng giống như từ đơn. Thông thường, các mô hình tổng quát sử dụng từ 32.000 đến 50.000 từ, mặc dù các hệ thống đa ngôn ngữ có thể sử dụng hơn 100.000 từ để phù hợp với các hệ chữ viết và mô hình hình thái đa dạng.
Điều gì xảy ra khi quá trình phân tách từ con gặp phải một hệ chữ viết hoặc ký hiệu hoàn toàn mới?
Các triển khai hiện đại như SentencePiece sử dụng biểu diễn byte hoặc ký tự UTF-8, đảm bảo mọi đầu vào đều được ánh xạ tới các token đã biết. Cơ chế dự phòng này đảm bảo tính liên tục của quá trình xử lý, mặc dù biểu diễn ngữ nghĩa của các ký hiệu thực sự mới vẫn còn yếu cho đến khi được tiếp xúc đủ nhiều trong quá trình huấn luyện hoặc tinh chỉnh.
Có sự khác biệt nào giữa việc phân tách từ ngữ (tokenization) đối với tiếng Anh và tiếng Trung không?
Quy ước khoảng trắng trong tiếng Anh giúp phân định ranh giới từ tương đối rõ ràng, trong khi tiếng Trung Quốc yêu cầu phân đoạn rõ ràng hoặc các phương pháp dựa trên ký tự. Phương pháp từ con thích ứng với cả hai, nhưng các mô hình thống kê được học lại khác nhau đáng kể. Từ vựng từ con trong tiếng Trung Quốc thường bao gồm nhiều từ chỉ gồm một ký tự do bản chất tượng hình của hệ thống chữ viết.
Việc sử dụng token ảnh hưởng như thế nào đến tính công bằng và sự thiên vị của mô hình?
Việc mã hóa từ vựng có thể mã hóa hoặc khuếch đại các định kiến thông qua cách biểu diễn tên riêng, phương ngữ hoặc thuật ngữ văn hóa. Ví dụ, tiếng Anh thông tục của người Mỹ gốc Phi có thể được mã hóa kém hiệu quả hơn so với tiếng Anh chuẩn của người Mỹ trong các mô hình được đào tạo chủ yếu trên các kho ngữ liệu chính thống, dẫn đến việc xử lý kém hiệu quả một số biến thể ngôn ngữ nhất định.
Những điểm khác biệt thực tế giữa BPE và WordPiece là gì?
BPE hợp nhất các từ dựa trên số lần xuất hiện thô, trong khi WordPiece chọn các cách hợp nhất tối đa hóa khả năng xảy ra trong dữ liệu huấn luyện. Trên thực tế, cả hai đều tạo ra từ vựng tương tự nhau, nhưng WordPiece có xu hướng tránh các tổ hợp cực kỳ hiếm gặp. Việc triển khai WordPiece của BERT cũng bao gồm xử lý đặc biệt cho các từ con tiếp nối có tiền tố '##'.
Bạn xử lý việc mã hóa token trong các hệ thống sản xuất như thế nào?
Quá trình sản xuất đòi hỏi sự nhất quán giữa việc mã hóa token trong quá trình huấn luyện và suy luận, kiểm soát phiên bản của các thành phần tokenizer, và xử lý cẩn thận các bước tiền xử lý như chuẩn hóa và chuyển đổi chữ thường. Sự không khớp ở đây có thể gây ra những lỗi khó phát hiện và khó gỡ lỗi. Các thư viện như Hugging Face Transformers cung cấp khả năng tuần tự hóa được tiêu chuẩn hóa để giảm thiểu những rủi ro này.
Liệu có những giải pháp thay thế nào cho việc phân tách từ ở cấp độ từ phụ và từ chính?
Nghiên cứu gần đây khám phá các mô hình cấp byte, bộ phân tích hình thái học, và thậm chí cả các phương pháp không cần mã hóa token hoạt động trực tiếp trên các byte hoặc pixel thô của văn bản. Những phương pháp này vẫn chủ yếu mang tính thử nghiệm nhưng hứa hẹn sẽ loại bỏ một số quyết định tùy ý trong các quy trình hiện tại. Lĩnh vực này tiếp tục phát triển khi các ràng buộc về tính toán thay đổi.
Việc mã hóa token ảnh hưởng như thế nào đến khả năng giải thích của mô hình?
Kết quả ở cấp độ từ phù hợp với trực giác ngôn ngữ của con người, giúp việc trực quan hóa sự chú ý và phân tích đặc điểm trở nên dễ tiếp cận hơn. Kết quả ở cấp độ dưới từ yêu cầu công cụ bổ sung để tổng hợp thông tin ở cấp độ mã thông báo trở lại nghĩa của từ. Việc tổng hợp này làm tăng độ phức tạp nhưng đã trở thành thông lệ tiêu chuẩn trong các khung giải thích mô hình.
Phán quyết
Hãy chọn phương pháp phân tách từ dưới dạng token cho các kiến trúc mạng nơ-ron hiện đại, các ứng dụng đa ngôn ngữ và các lĩnh vực có vốn từ vựng liên tục thay đổi. Hãy giữ nguyên phương pháp phân tách từ ở cấp độ từ cho các hệ thống cũ, môi trường hạn chế tài nguyên hoặc các vấn đề mà vốn từ vựng bị giới hạn tự nhiên và khả năng diễn giải là quan trọng nhất.