CHƯƠNG 1. MÔ HÌNH BERT 1. Khái niệm BERT ( Bidirectional Encoder Representations from Transformers ) là một mô hình ngôn ngữ ( Language Model ) được tạo ra bởi Google AI và được giới thiệu vào năm 2008. BERT được coi như là đột phá lớn trong Machine Learning bởi vì khả năng ứng dụng của nó vào nhiều bài toán NLP ( Natural Language Processing ) khác nhau: Question Answering, Natural Language Inference,.
với kết quả rất tốt. Các nhà nghiên cứu làm việc tại Google AI tái khẳng định, sự thiếu hụt dữ liệu huấn luyện là một trong những thách thức lớn nhất trong lĩnh vực xử lý ngôn ngữ tự nhiên. Đây là một lĩnh vực rộng lớn và đa dạng với nhiều nhiệm vụ riêng biệt, hầu hết các tập dữ liệu đều chỉ đặc thù cho từng nhiệm vụ. Để thực hiện được tốt những nhiệm vụ này ta cần những bộ dữ liệu lớn chứa hàng triệu thậm chí hàng tỷ ví dụ mẫu.
Tuy nhiên, trong thực tế hầu hết các tập dữ liệu hiện giờ chỉ chứa vài nghìn hoặc vài trăm nghìn mẫu được đánh nhãn bằng tay bởi con người ( các chuyên gia ngôn ngữ học ). Sự thiếu hụt dữ liệu có nhãn chất lượng cao để huấn luyện mô hình gây cản trở lớn cho sự phát triển của NLP nói chung. Để giải quyết thách thức này, các mô hình xử lý ngôn ngữ tự nhiên sử dụng một cơ chế tiền xử lý dữ liệu huấn luyện bằng việc transfer từ một mô hình chung được huấn luyện từ một lượng lớn các dữ liệu không được gán nhãn. Ví dụ một số mô hình đã được nghiên cứu trước đây để thực hiện nhiệm vụ này như Word2vec, Glove hay FastText.
Việc nghiên cứu các mô hình này sẽ giúp thu hẹp khoảng cách giữa các tập dữ liệu chuyên biệt cho huấn luyện bằng việc xây dựng mô hình tìm ra đại diện chung của ngôn ngữ sử dụng một số lượng lớn các văn bản chưa được gán nhãn lấy từ các trang web. Các mô hình được huấn luyện trước khi được tinh chỉnh lại trên các nhiệm vụ khác nhau với các bộ dữ liệu nhỏ như Question Answering, Sentiment Analysis,.sẽ dẫn đến sự cải thiện đáng kể về độ chính xác cho so với các mô hình được huấn luyện trước với các bộ dữ liệu này. Tuy nhiên, các mô hình kể trên có những yếu điểm riêng của nó, đặc biệt là không thể hiện được sự đại diện theo ngữ cảnh cụ thể của từ trong từng lĩnh vực hay văn cảnh cụ thể. 9 Tiếp nối sự thành công nhất định của các mô hình trước đó, Google đã công bố thêm 1 kỹ thuật mới được gọi là Bidirectional Encoder Representations from Transformers ( BERT ).
Tại sao lại cần BERT Một trong những thách thức lớn nhất của NLP là vấn đề dữ liệu. Trên internet có hàng tá dữ liệu, nhưng những dữ liệu đó không đồng nhất; mỗi phần của nó chỉ được dùng cho một mục đích riêng biệt, do đó khi giải quyết một bài toán cụ thể, ta cần trích ra một bộ dữ liệu thích hợp cho bài toán của mình, và kết quả là ta chỉ có một lượng rất ít dữ liệu. Ví dụ : Trong OpenAI GPT, các tác giả sử dụng đã kiến trúc left-to-right, nghĩa là các từ chỉ phụ thuộc vào các từ ở trước đó. Nhưng có một nghịch lý là các mô hình Deep Learning cần lượng dữ liệu rất lớn - lên tới hàng triệu - để có thể cho ra kết quả tốt.
Do đó một vấn đề được đặt ra: làm thế nào để tận dụng được nguồn dữ liệu vô cùng lớn có sẵn để giải quyết bài toán của mình. Đó là tiền đề cho một kỹ thuật mới ra đời: Transfer Learning. Với Transfer Learning, các mô hình (model) "chung" nhất với tập dữ liệu khổng lồ trên internet ( pre-training ) được xây dựng và có thể được "tinh chỉnh" ( fine-tune ) cho các bài toán cụ thể. Nhờ có kỹ thuật này mà kết quả cho các bài toán được cải thiện rõ rệt, không chỉ trong xử lý ngôn ngữ tự nhiên mà còn trong các lĩnh vực khác như Computer Vision,.
BERT là một trong những đại diện ưu tú nhất trong Transfer Learning cho xử lý ngôn ngữ tự nhiên, nó gây tiếng vang lớn không chỉ bởi kết quả mang lại trong nhiều bài toán khác nhau, mà còn bởi vì nó hoàn toàn miễn phí, tất cả chúng ta đều có thể sử dụng BERT cho bài toán của mình. Một số khái niệm 1. Nhiệm vụ phía sau (Downstream task) Là những nhiệm vụ học hỏi được giám sát được cải thiện dựa trên những mô hình được huấn luyện trước. Ví dụ: Chúng ta sử dụng lại các biểu diễn từ học được từ những mô hình được huấn luyện trước trên bộ văn bản lớn vào một nhiệm vụ phân tích cảm xúc huấn luyện trên bộ 10 văn bản có kích thước nhỏ hơn.
Áp dụng nhúng huấn luyện trước ( pretrain-embedding ) 11 đã giúp cải thiện mô hình. Như vậy nhiệm vụ sử dụng nhúng huấn luyện trước được gọi là nhiệm vụ sau. Điểm khái quát đánh giá mức độ hiểu ngôn ngữ (GLUE score benchmark) GLUE score benchmark là một tập hợp các chỉ số được xây dựng để đánh giá khái quát mức độ hiểu ngôn ngữ của các mô hình NLP. Các đánh giá được thực hiện trên các bộ dữ liệu tiêu chuẩn được qui định tại các convention về phát triển và thúc đẩy NLP.
Mỗi bộ dữ liệu tương ứng với một loại tác NLP vụ như: • Phân tích tình cảm (Sentiment Analysis) • Hỏi đáp (Question and Answering) • Suy luận ngôn ngữ tự nhiên (NLI - Natural Languague Inference) • Dự báo câu tiếp theo (NSP - Next Sentence Prediction) • Nhận diện thực thể trong câu (NER - Name Entity Recognition) 1. Phân tích cảm xúc (Sentiment Analysis) Phân loại cảm xúc văn bản thành 2 nhãn tích cực (positive) và tiêu cực (negative). Thường được sử dụng trong các hệ thống đánh giá bình luận của người dùng. Hỏi đáp (Question and Answering) Là thuật toán hỏi và đáp.
Đầu vào là một cặp câu (pair sequence) bao gồm: câu hỏi (question) có chức năng hỏi và đoạn văn bản (paragraph) chứa thông tin trả lời cho câu hỏi. Một bộ dữ liệu chuẩn nằm trong GLUE dataset được sử dụng để đánh giá nhiệm vụ hỏi và đáp là SQuAD - Stanford Question Answering Dataset. Suy luận ngôn ngữ (Natural Language Inference) Là các nhiệm vụ suy luận ngôn ngữ đánh giá mối quan hệ giữa các cặp câu, cũng tương tự như Textual Entailment. Quan hệ văn bản (Textual Entailment) Là nhiệm vụ đánh giá mối quan hệ định hướng giữa 2 văn bản.
Nhãn đầu ra của các cặp câu được chia thành đối lập (contradiction), trung lập (neutral) hay có quan hệ đi kèm (textual entailment). Ví dụ, chúng ta có các câu: 12 • A: Hôm nay trời mưa. • B: Tôi mang ô tới trường. • C: Hôm nay trời không mưa.
• D: Hôm nay là thứ 3. Khi đó (A, B) có mối quan hệ đi kèm. Các cặp câu (A, C) có mối quan hệ đối lập và (A, D) là trung lập. Ngữ cảnh (Contextual) Là ngữ cảnh của từ.
Một từ được định nghĩa bởi một cách phát âm nhưng khi được đặt trong những câu khác nhau thì có thể mang ngữ nghĩa khác nhau. ngữ cảnh có thể coi là môi trường xung quanh từ để góp phần định nghĩa từ. Ví dụ: - Câu A: Tôi đồng ý với ý kiến của anh. - Câu B: Lão Hạc phải kiếm từng đồng để nuôi cậu Vàng.
Thì từ “ đồng ” trong câu A và B có ý nghĩa khác nhau. Chúng ta biết điều này vì dựa vào ngữ cảnh của từ. Phương pháp Hiện đại nhất (SOTA) Viết tắt của state-of-art là những phương pháp, kỹ thuật tốt nhất mang lại hiệu quả cao nhất từ trước đến nay. Mô hình biểu diễn mã hóa 2 chiều dựa trên biến đổi (BERT-Bidirectional Encoder Representation from Transformer) Mô hình BERT.
Đây là lớp mô hình SOTA trong nhiều nhiệm vụ của GLUE score benchmark. Mô hình LTR Là mô hình học bối cảnh theo một chiều duy nhất từ trái sang phải. Chẳng hạn như lớp các model RNN. Mô hình ngôn ngữ được đánh dấu MLM (Masked Language Model) Là mô hình mà bối cảnh của từ được học từ cả 2 phía bên trái và bên phải cùng một lúc từ những bộ dữ liệu không có giám sát.
13 Dữ liệu vào sẽ được đánh dấu (tức thay bằng một mã đánh dấu (token MASK)) một cách ngẫu nhiên với tỷ lệ thấp. Huấn luyện mô hình dự báo từ mã được đánh dấu dựa trên bối cảnh xung quanh là những từ không được đánh dấu nhằm tìm ra biểu diễn của từ. Ngữ cảnh (Contextual) và vai trò trong NLP Bản chất của ngôn ngữ là âm thanh được phát ra để diễn giải dòng suy nghĩ của con người. Trong giao tiếp, các từ thường không đứng độc lập mà chúng sẽ đi kèm với các từ khác để liên kết mạch lạc thành một câu.
Hiệu quả biểu thị nội dung và truyền đạt ý nghĩa sẽ lớn hơn so với từng từ đứng độc lập. Ngữ cảnh trong câu có một sự ảnh hưởng rất lớn trong việc giải thích ý nghĩa của từ. Dựa trên đó, các thuật toán xử lý ngôn ngữ tự nhiên tốt nhất đều cố gắng đưa ngữ cảnh vào mô hình nhằm tạo ra sự đột phá và cải tiến. Trong đó mô hình BERT cũng sử dụng tiếp cận này.
Phân cấp mức độ phát triển của các phương pháp nhúng từ trong NLP có thể bao gồm các nhóm: • Không bối cảnh (Non-context) Là các thuật toán không tồn tại bối cảnh trong biểu diễn từ. Đó là các thuật như “ WORD2VEC, GLOVE, FASTTEXT ”. Chúng ta chỉ có duy nhất một biểu diễn véc tơ cho mỗi một từ mà không thay đổi theo bối cảnh. Ví dụ : - Câu A : Đơn vị tiền tệ của Việt Nam là “ đồng ”.
- Câu B : Vợ “ đồng ” ý với ý kiến của chồng là tăng thêm mỗi tháng 500k tiền tiêu vặt Thì từ đồng sẽ mang 2 ý nghĩa khác nhau nên phải có hai biểu diễn từ riêng biệt. Các thuật toán không có bối cảnh đã không đáp ứng được sự đa dạng về ngữ nghĩa của từ trong NLP. • Một chiều (Uni-directional): Là các thuật toán đã bắt đầu xuất hiện bối cảnh của từ. Các phương pháp nhúng từ dựa trên RNN là những phương pháp nhúng từ một chiều.
Các kết quả biểu diễn từ đã có bối cảnh nhưng chỉ được giải thích bởi một chiều từ trái qua phải hoặc từ phải qua trái. 14 Ví dụ: 15 - Câu C: Hôm nay tôi mang 200 tỷ “ gửi ” ở ngân hàng. - Câu D: Hôm nay tôi mang 200 tỷ “ gửi ” …. Như vậy véc tơ biểu diễn của từ gửi được xác định thông qua các từ liền trước với nó.