mã hóanlpxử lý ngôn ngữ tự nhiênhọc máytrí tuệ nhân tạo
Mã hóa dựa trên dữ liệu so với mã hóa dựa trên quy tắc
Phương pháp phân tách từ dựa trên dữ liệu học các quy tắc phân tách từ các kho văn bản lớn bằng cách sử dụng các phương pháp thống kê hoặc mạng nơ-ron, trong khi phương pháp phân tách từ dựa trên quy tắc dựa vào các mẫu ngôn ngữ và từ điển được xây dựng thủ công. Cả hai phương pháp đều phân tách văn bản thành các đơn vị có ý nghĩa, nhưng chúng khác biệt rõ rệt về tính linh hoạt, độ chính xác và yêu cầu tính toán.
Điểm nổi bật
Các bộ phân tách từ dựa trên dữ liệu học hỏi từ văn bản, trong khi các bộ phân tách từ dựa trên quy tắc tuân theo các mẫu được thiết kế thủ công.
Các phương pháp sử dụng từ con như BPE và WordPiece xử lý các từ không xác định một cách mượt mà hơn nhiều so với việc tra cứu từ điển.
Các hệ thống dựa trên quy tắc mang lại khả năng giải thích đầy đủ và không tốn chi phí đào tạo, lý tưởng cho các lĩnh vực có thể dự đoán được.
Các mô hình ngôn ngữ quy mô lớn hiện đại hầu như chỉ dựa vào việc phân tách từ vựng dựa trên dữ liệu cho các quy trình đầu vào của chúng.
Mã hóa dữ liệu dựa trên dữ liệu là gì?
Một phương pháp học máy tự động phát hiện ranh giới giữa các từ bằng cách phân tích các mẫu trong các tập dữ liệu văn bản lớn.
Các thuật toán học các quy tắc phân đoạn từ các tập dữ liệu huấn luyện thay vì dựa vào các mẫu được viết thủ công.
Các phương pháp phân tách từ thành các từ nhỏ hơn, chẳng hạn như Mã hóa cặp byte (BPE), WordPiece và Mô hình ngôn ngữ Unigram, thuộc loại này.
Các mô hình ngôn ngữ quy mô lớn hiện đại, bao gồm GPT và BERT, sử dụng các bộ mã hóa dựa trên dữ liệu được huấn luyện trên hàng trăm gigabyte văn bản.
Các bộ phân tách từ này xử lý các từ không có trong từ vựng một cách khéo léo bằng cách chia các thuật ngữ hiếm gặp thành các phần từ nhỏ quen thuộc hơn.
Hiệu suất sẽ được cải thiện khi quy mô và độ đa dạng của dữ liệu huấn luyện tăng lên.
Mã hóa dựa trên quy tắc là gì?
Một phương pháp truyền thống phân tách văn bản bằng cách sử dụng các quy tắc ngôn ngữ được xác định trước, biểu thức chính quy và danh sách từ được chọn lọc.
Ranh giới của các token được xác định bởi các mẫu được thiết kế thủ công như khoảng trắng, dấu câu và các quy tắc hình thái học.
Các thư viện như word_tokenize của NLTK và các pipeline dựa trên quy tắc của spaCy là những ví dụ được sử dụng rộng rãi.
Các hệ thống này thường dựa vào từ điển và danh sách tiền tố/hậu tố để xử lý các dạng từ trong các ngôn ngữ cụ thể.
Hành vi hoàn toàn có thể dự đoán được và dễ dàng kiểm tra vì mọi quy tắc đều được viết rõ ràng.
Chúng không yêu cầu dữ liệu huấn luyện và có thể được triển khai ngay lập tức sau khi các quy tắc được xác định.
Bảng So Sánh
Tính năng
Mã hóa dữ liệu dựa trên dữ liệu
Mã hóa dựa trên quy tắc
Tiếp cận
Học hỏi từ các kho dữ liệu văn bản lớn bằng cách sử dụng các phương pháp thống kê hoặc mạng nơ-ron.
Sử dụng các quy tắc được thiết kế thủ công, các mẫu biểu thức chính quy và từ điển.
Cần đào tạo
Vâng, cần có lượng dữ liệu văn bản thô hoặc dữ liệu được chú thích đáng kể.
Không, các quy tắc được các nhà phát triển viết thủ công.
Xử lý các từ không xác định
Phân tách các từ hiếm thành các đơn vị từ con đã biết.
Thường xuyên gặp lỗi hoặc yêu cầu cập nhật từ điển thủ công.
Khả năng giải thích
Thấp hơn, vì các mô hình đã học được nhúng vào trọng số của mô hình.
Cao, mọi quy tắc đều có thể được đọc và kiểm tra.
Khả năng thích ứng với ngôn ngữ mới
Dễ dàng huấn luyện lại trên các tập dữ liệu mới.
Yêu cầu phải xây dựng các bộ quy tắc mới từ đầu.
Chi phí tính toán
Hiệu năng cao hơn trong quá trình huấn luyện, tốc độ suy luận nhanh.
Tổng quan thấp, chạy được trên phần cứng tối thiểu.
Các thuật toán phổ biến
BPE, WordPiece, Unigram LM, SentencePiece
Tách biểu thức chính quy, loại bỏ hậu tố, tra cứu từ điển
Được sử dụng bởi
GPT, BERT, RoBERTa, T5 và hầu hết các mô hình LLM hiện đại.
NLTK, các quy trình xử lý luật spaCy, các hệ thống NLP cũ
So sánh chi tiết
Cách họ chia văn bản
Các bộ phân tách từ dựa trên dữ liệu phân tích các mẫu tần suất trên hàng triệu câu để quyết định nơi một từ kết thúc và một từ khác bắt đầu. Ví dụ, BPE bắt đầu với các ký tự riêng lẻ và liên tục hợp nhất các cặp ký tự liền kề có tần suất xuất hiện cao nhất cho đến khi đạt được kích thước từ vựng mục tiêu. Ngược lại, các bộ phân tách từ dựa trên quy tắc áp dụng một chuỗi các thao tác cố định như tách theo khoảng trắng, loại bỏ dấu chấm câu hoặc loại bỏ các hậu tố như "-ing" và "-ed" dựa trên các bảng hình thái học được xác định trước.
Xử lý các từ hiếm và ít được biết đến
Một trong những ưu điểm lớn nhất của các phương pháp dựa trên dữ liệu là khả năng xử lý khéo léo các từ mà mô hình chưa từng gặp. Một thuật ngữ y khoa hiếm gặp như "pneumonoultramicroscopicsilicovolcanoconiosis" được chia nhỏ thành các từ con quen thuộc mà mô hình đã hiểu. Các hệ thống dựa trên quy tắc thường gặp khó khăn với những từ như vậy, hoặc để chúng dưới dạng một mã thông báo quá khổ duy nhất hoặc loại bỏ chúng hoàn toàn trừ khi ai đó thêm chúng vào từ điển theo cách thủ công.
Tính minh bạch và gỡ lỗi
Các bộ phân tách văn bản dựa trên quy tắc có ưu điểm về tính minh bạch. Nhà phát triển có thể mở tệp quy tắc, đọc chính xác cách văn bản được tách ra và truy tìm bất kỳ kết quả đầu ra không mong muốn nào về một mẫu cụ thể. Các bộ phân tách văn bản dựa trên dữ liệu hoạt động giống như hộp đen, trong đó cùng một đầu vào luôn tạo ra cùng một đầu ra, nhưng để giải thích lý do tại sao một cách tách cụ thể được chọn thì cần phải kiểm tra số liệu thống kê huấn luyện hoặc các chi tiết bên trong mô hình.
Yêu cầu về nguồn lực
Việc huấn luyện một bộ mã hóa từ vựng dựa trên dữ liệu đòi hỏi tài nguyên tính toán và lưu trữ đáng kể, thường phải xử lý hàng chục gigabyte văn bản để xây dựng một bộ từ vựng chất lượng. Sau khi được huấn luyện, quá trình suy luận diễn ra nhanh chóng và tệp mã hóa từ vựng có kích thước nhỏ. Ngược lại, các bộ mã hóa từ vựng dựa trên quy tắc hầu như không cần tài nguyên để xây dựng hoặc chạy, điều này khiến chúng trở nên hấp dẫn đối với các hệ thống có độ trễ thấp, thiết bị nhúng hoặc các dự án không có cơ sở hạ tầng huấn luyện.
Phạm vi ngôn ngữ
Các phương pháp dựa trên dữ liệu có thể mở rộng một cách tự nhiên sang các ngôn ngữ mới bằng cách đơn giản là huấn luyện lại trên một tập dữ liệu mới, đó là lý do tại sao các mô hình đa ngôn ngữ như XLM-Roberta có thể bao phủ hàng chục ngôn ngữ với một bộ mã hóa từ duy nhất. Các hệ thống dựa trên quy tắc đòi hỏi chuyên môn ngôn ngữ học đối với mỗi ngôn ngữ mới, vì các quy tắc về hậu tố, lớp ký tự và danh sách từ phải được tạo ra thủ công bởi người am hiểu về hình thái học.
Tính chính xác trong thực tiễn
Đối với các tác vụ xử lý ngôn ngữ tự nhiên hiện đại, các bộ phân tách từ dựa trên dữ liệu luôn cho hiệu quả vượt trội so với các bộ phân tách từ dựa trên quy tắc trên các bộ dữ liệu chuẩn bao gồm văn bản nhiễu, mạng xã hội hoặc mã lập trình. Các bộ phân tách từ dựa trên quy tắc vẫn giữ vững vị thế của mình trong các lĩnh vực có cấu trúc tốt như tài liệu pháp lý hoặc văn bản chính thức, nơi việc phân tách có thể dự đoán được và các quy tắc dễ đọc đối với con người quan trọng hơn việc xử lý các trường hợp ngoại lệ.
Ưu & Nhược điểm
Mã hóa dữ liệu dựa trên dữ liệu
Ưu điểm
+Xử lý các từ không xác định
+Mở rộng quy mô sang các ngôn ngữ mới
+Độ chính xác cao
+Học hỏi từ dữ liệu
Đã lưu
−Cần dữ liệu đào tạo
−Ít có thể giải thích được
−Chi phí thiết lập cao hơn
−Khó gỡ lỗi
Mã hóa dựa trên quy tắc
Ưu điểm
+Hoàn toàn minh bạch
+Không cần đào tạo
+Chi phí tính toán thấp
+Dễ dàng tùy chỉnh
Đã lưu
−Gặp khó khăn với những từ hiếm gặp
−Công việc ngôn ngữ thủ công
−Khả năng thích ứng hạn chế
−Khó mở rộng quy mô
Những hiểu lầm phổ biến
Huyền thoại
Phương pháp mã hóa dựa trên quy tắc đã lỗi thời và không còn được sử dụng trong trí tuệ nhân tạo hiện đại.
Thực tế
Các bộ mã hóa dựa trên quy tắc vẫn phổ biến trong các quy trình xử lý ngôn ngữ tự nhiên (NLP) thực tế, đặc biệt là trong các bước tiền xử lý như tách câu, chuẩn hóa và phát hiện ngôn ngữ. Nhiều hệ thống hiện đại kết hợp các phương pháp dựa trên quy tắc và dựa trên dữ liệu thay vì thay thế phương pháp này bằng phương pháp kia.
Huyền thoại
Phương pháp mã hóa từ dựa trên dữ liệu luôn cho kết quả tốt hơn so với các phương pháp dựa trên quy tắc.
Thực tế
Chất lượng phụ thuộc rất nhiều vào tập dữ liệu huấn luyện và nhiệm vụ. Một bộ mã hóa dựa trên dữ liệu được huấn luyện kém có thể hoạt động tệ hơn một bộ mã hóa dựa trên quy tắc được tinh chỉnh tốt, đặc biệt là đối với văn bản chuyên ngành mà dữ liệu huấn luyện không khớp với phân bố mục tiêu.
Huyền thoại
Tokenization đơn giản chỉ là việc tách văn bản dựa trên khoảng trắng.
Thực tế
Các bộ phân tách từ thực tế xử lý dấu câu, từ viết tắt, cụm từ đa từ, biểu tượng cảm xúc và các đơn vị từ con. Việc tách từ bằng khoảng trắng đơn giản bỏ sót hầu hết sự phức tạp mà quá trình phân tách từ được thiết kế để giải quyết.
Huyền thoại
Sau khi được huấn luyện, bộ mã hóa dựa trên dữ liệu không cần phải cập nhật nữa.
Thực tế
Từ vựng thay đổi theo sự phát triển của ngôn ngữ, khi tiếng lóng mới xuất hiện và các thuật ngữ chuyên ngành nổi lên. Nhiều nhóm định kỳ đào tạo lại hoặc mở rộng bộ phân tách từ của họ để theo kịp sự thay đổi trong phân bố văn bản.
Huyền thoại
Tất cả các phần mềm LLM hiện đại đều sử dụng cùng một bộ phân tách từ.
Thực tế
Các họ mô hình khác nhau sử dụng các lược đồ mã hóa từ khác nhau. Mô hình GPT sử dụng BPE, BERT sử dụng WordPiece, và T5 sử dụng SentencePiece. Những lựa chọn này ảnh hưởng đến kích thước từ vựng, số lượng từ và hiệu suất xử lý sau đó theo những cách có thể đo lường được.
Các câu hỏi thường gặp
Sự khác biệt chính giữa mã hóa từ dựa trên dữ liệu và mã hóa từ dựa trên quy tắc là gì?
Phương pháp phân tách từ dựa trên dữ liệu tự động học các quy tắc tách từ từ các kho văn bản lớn bằng cách sử dụng các thuật toán như BPE hoặc WordPiece. Phương pháp phân tách từ dựa trên quy tắc áp dụng các mẫu thủ công, biểu thức chính quy và từ điển do các nhà phát triển viết. Phương pháp đầu tiên thích ứng thông qua quá trình huấn luyện, trong khi phương pháp thứ hai dựa trên kiến thức ngôn ngữ học rõ ràng.
Các mô hình ngôn ngữ quy mô lớn sử dụng phương pháp mã hóa token nào?
Hầu hết các mô hình ngôn ngữ quy mô lớn, bao gồm GPT, BERT, RoBERTa và T5, đều sử dụng phương pháp phân tách từ con dựa trên dữ liệu. Mô hình GPT dựa vào mã hóa cặp byte (Byte Pair Encoding), BERT sử dụng WordPiece, và T5 sử dụng SentencePiece. Các phương pháp này cho phép các mô hình xử lý hiệu quả các từ hiếm và nhiều ngôn ngữ khác nhau.
Liệu việc mã hóa dựa trên quy tắc có nhanh hơn việc mã hóa dựa trên dữ liệu không?
Ở giai đoạn suy luận, cả hai đều nhanh, nhưng các bộ mã hóa dựa trên luật thường sử dụng ít bộ nhớ hơn và không yêu cầu tải mô hình. Sự khác biệt về tốc độ lớn hơn xuất hiện trong quá trình thiết lập, vì các hệ thống dựa trên luật bỏ qua hoàn toàn giai đoạn huấn luyện và có thể được triển khai ngay lập tức.
Liệu phương pháp mã hóa từ vựng dựa trên dữ liệu có thể xử lý các ngôn ngữ mà nó chưa được huấn luyện hay không?
Không hiệu quả lắm, trừ khi bộ phân tách từ được huấn luyện trên dữ liệu đa ngôn ngữ. Một bộ phân tách từ chỉ được huấn luyện trên tiếng Anh sẽ gặp khó khăn với chữ viết tiếng Trung, tiếng Ả Rập hoặc tiếng Hàn. Các bộ phân tách từ đa ngôn ngữ như những bộ được sử dụng trong XLM-Roberta được huấn luyện một cách cụ thể trên hàng chục ngôn ngữ để xử lý vấn đề này.
Mã hóa cặp byte (BPE) là gì?
BPE là một thuật toán phân tách từ con dựa trên dữ liệu, bắt đầu từ các ký tự riêng lẻ và liên tụ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 tập dữ liệu huấn luyện. Sau hàng nghìn lần hợp nhất, nó tạo ra một từ vựng gồm các đơn vị từ con thông dụng, cân bằng giữa kích thước từ vựng và độ bao phủ của các từ hiếm.
Liệu các bộ phân tách từ dựa trên luật vẫn còn hiệu quả đối với các tác vụ xử lý ngôn ngữ tự nhiên hiện đại?
Đúng vậy, đặc biệt là đối với các bước tiền xử lý như phân đoạn câu, chuẩn hóa dấu câu và nhận dạng ngôn ngữ. Tuy nhiên, đối với đầu vào cốt lõi của mô hình, hầu hết các hệ thống NLP hiện đại đều ưu tiên các bộ mã hóa dựa trên dữ liệu vì chúng có khả năng khái quát hóa tốt hơn đối với các từ vựng không quen thuộc.
Một bộ mã hóa từ vựng dựa trên dữ liệu cần bao nhiêu dữ liệu huấn luyện?
Điều này phụ thuộc vào kích thước từ vựng mục tiêu và phạm vi ngôn ngữ, nhưng nhìn chung, các bộ phân tách từ LLM điển hình được huấn luyện trên từ vài gigabyte đến vài trăm gigabyte văn bản. Các kho ngữ liệu lớn hơn và đa dạng hơn thường tạo ra các bộ phân tách từ xử lý các từ hiếm và các trường hợp ngoại lệ một cách mượt mà hơn.
Tôi có thể kết hợp việc phân tách từ dựa trên quy tắc và dựa trên dữ liệu được không?
Hoàn toàn đúng, và nhiều hệ thống sản xuất cũng làm như vậy. Một mô hình phổ biến là áp dụng chuẩn hóa dựa trên quy tắc trước (chuyển thành chữ thường, loại bỏ ký tự đặc biệt, mở rộng các từ viết tắt) và sau đó đưa văn bản đã được làm sạch vào bộ phân tách từ con dựa trên dữ liệu để thực hiện các bước tách cuối cùng.
Tại sao việc mã hóa token lại quan trọng đối với hiệu năng của mô hình?
Tokenization xác định cách văn bản được biểu diễn bằng số, điều này ảnh hưởng trực tiếp đến khả năng học mẫu của mô hình. Một tokenizer tạo ra quá nhiều đoạn nhỏ sẽ lãng phí độ dài ngữ cảnh, trong khi một tokenizer giữ lại các từ hiếm dưới dạng các token đơn lẻ có thể khiến mô hình không thể khái quát hóa. Tokenization tốt cần đạt được sự cân bằng giữa kích thước từ vựng và phạm vi bao phủ.
Các bộ phân tách từ dựa trên quy tắc thường gặp những vấn đề gì?
Chúng thường gặp lỗi với các từ viết tắt như "don't", xử lý sai các từ có dấu gạch ngang, gặp khó khăn với biểu tượng cảm xúc và URL, và cần được cập nhật liên tục khi từ vựng mới được đưa vào ngôn ngữ. Chúng cũng có xu hướng tạo ra kết quả không nhất quán giữa các ngôn ngữ trừ khi mỗi ngôn ngữ có bộ quy tắc riêng được duy trì cẩn thận.
Phán quyết
Hãy chọn phương pháp phân tách từ dựa trên dữ liệu khi xây dựng các hệ thống xử lý ngôn ngữ tự nhiên (NLP) hoặc quản lý ngôn ngữ (LLM) hiện đại cần xử lý vốn từ vựng đa dạng, nhiều ngôn ngữ hoặc văn bản thực tế nhiễu. Hãy chọn phương pháp phân tách từ dựa trên quy tắc khi bạn cần sự minh bạch hoàn toàn, tính toán tối thiểu hoặc đang làm việc trong một lĩnh vực hẹp mà các quy tắc thủ công đã nắm bắt ngôn ngữ tốt.