5 Đề xuất mô hình gom cụm văn bản dựa trên mô hình chủ đề kết hợp với véc-tơ ngữ
3.1 Mô phỏng thuật toán Kmeans[55]
Phân tích thuật toán Kmeans:
1. Chọn số cụm cần phân chia K
2. Lựa chọn K điểm dữ liệu ngẫu nhiên trong bộ dữ liệu để làm K trung tâm cụm khởi tạo ban đầu
3. Quá trình lặp đi lặp lại cho đến khi không có sự thay đổi của các trung tâm cụm. Tức là việc chỉ định cho các điểm dữ liệu thuộc về các cụm không có sự thay đổi
• Tính tổng bình phương khoảng cách giữa các điểm dữ liệu và toàn bộ trung tâm cụm.
• Gán các điểm dữ liệu cho trung tâm cụm gần nó nhất
• Tính toán lại trung tâm cụm bằng cách lấy giá trị trung bình của tất cả các điểm dữ liệu thuộc về cụm đó.
Ưu điểm của Kmeans là sự dễ dàng trong hiện thực, sự hội tụ đạt được sau một số lần lặp nhất định, các cụm có sự phân biệt tương đối tốt là phương pháp đơn giản nhưng vẫn mang lại kết quả tốt trong phân cụm dữ liệu.
Tuy nhiên Kmeans có nhược điểm là: tính chất lặp lại và khởi tạo ngẫu nhiên các trung tâm cụm. Dẫn đến các lần khởi tạo khác nhau tạo ra các cụm khác nhau vì thuật toán Kmeans có thể bị mắc kẹt trong các cụm cục bộ mà không thể hình thành các cụm toàn cục. Để giải quyết vấn đề này, một trong những cách có thể thực hiện là chọn các trung tâm khởi đầu một cách thông minh để các cụm có thể hội tụ ở mức cục bộ. Kmeans++ đã giải quyết vấn đề này như sau:
Giả sử D(x) là khoảng cách ngắn nhất từ điểm dữ liệu đến trung tâm cụm gần nhất đã được chọn từ trước. Thực hiện các bước sau:
1. Lựa chọn một điểm dữ liệu làm trung tâm cụm đầu tiênc1ngẫu nhiên từ bộ dữ liệuX
2. Quá trình lặp đi lặp lại cho đến khi chọn được K trung tâm cụm. Sao cho: Chọn trung tâm cụm tiếp theocivới xác suất D(x)2
∑x∈XD(x)2 là nhỏ nhất vớix∈X
3. Tiếp tục với thuật toán Kmeans cho K trung tâm đã được chọn
Với phương pháp gieo hạt(seeding method) - hay phép lựa chọn các centroid khởi đầu đã cải thiện sai số cuối cùng của Kmeans. Mặc dù lựa chọn ban đầu phải tốn thêm một khoảng thời gian, nhưng sau đó thuật toán Kmeans nhanh chóng hội tụ nên giảm thời gian tính toán. Các tác giả đã thử nghiệm phương pháp của họ với các bộ dữ liệu thực, tổng hợp và thu được các cải tiến thường gấp 2 lần về tốc độ và đối với một số bộ dữ liệu nhất định, gần 1000 lần cải thiện về sai số.
3.3 Tổng kết chương 3
Chương 3 liên quan đến lý thuyết phân cụm dữ liệu. Hiểu về các phương pháp phân cụm và một số thuật toán cơ bản của từng phương pháp.
Tìm hiểu về quá trình phân cụm với thuật toán Kmeans. Cải thiện về thời gian thực thi và sai số của kết quả phân cụm với quá trình xem xét lựa chọn trung tâm cụm khởi đầu thông minh của thuật toán Kmeans++. Và do đó, thuật toán Kmeans++ sẽ được dùng trong quá trình phân cụm của mô hình đề xuất, được hiểu ngầm rằng phương pháp phân cụm Clustering trong mô hình đề xuất được xây dựng bởi thuật toán Kmeans++.
Chương 4
Phương pháp khai thác ngữ nghĩa trong văn bản
4.1 Tổng quan về Sentence Embedding
Một đoạn văn, câu văn(sentence) luôn được hình thành bởi rất nhiều từ(word). Do đó, sen- tence embedding(véc-tơ nhúng câu) cũng được hình thành dựa trên những word embedding(véc- tơ nhúng từ) của chính nó.
Word embedding là biểu diễn của từ dưới dạng véc-tơ trong không gian n chiều. Các từ nếu có sự tương đồng về ngữ nghĩa("boat" và "ship") hoặc có sự tương quan về ngữ nghĩa("boat" và "water") thì những véc-tơ biểu diễn của chúng sẽ tiến lại "gần" nhau tuỳ thuộc vào quá trình huấn luyện. Có hai phương pháp được sử dụng trong quá trình huấn luyện cho véc-tơ word embedding:
• Sử dụng văn bản làm ngữ cảnh(LSA, Mô hình chủ đề). Nắm bắt về sự tương quan ngữ nghĩa.
• Sử dụng từ làm ngữ cảnh(Neural Language Model - Mô hình ngôn ngữ sử dụng nơ-ron, Mô hình ngữ nghĩa phân tán - Distributed Semantic Model). Nắm bắt sự tương đồng về ngữ nghĩa.
biểu diễn thật tốt, khai thác được biểu diễn ngôn ngữ(vị trí, ngữ nghĩa, cấu trúc,.. các đặc tính chỉ có ở ngôn ngữ của con người) của một câu. Ngày nay, sentence embedding đại diện cho việc biểu diễn câu khác nhau được đánh giá về độ tốt của cả tác vụ bên dưới(downstream task) có lợi cho biểu diễn câu và tác vụ thuần tuý về ngôn ngữ(Các tác vụ biểu diễn thông minh của câu đối với các đặc điểm và quy tắc của ngôn ngữ).
Một phương pháp cơ sở đơn giản và dễ hiểu để tạo sentence embedding là sử dụng mô hình nhúng từ để mã hóa tất cả các từ của một câu nhất định và lấy giá trị trung bình của tất cả các véc-tơ sentence embedding của câu đó. Mặc dù điều này cung cấp một cơ sở mạnh mẽ rằng véc-tơ sinh ra có thể mang theo những đặc tính của các từ thuộc nó, nhưng nó vẫn có thể không nắm bắt hết được thông tin liên quan đến trật tự từ và các khía cạnh khác của ngữ nghĩa câu tổng thể.
Hiện nay, đã có những phương pháp hiện đại hơn để tìm được sentence embedding. Bằng cách sử dụng các thuật toán học sâu cả về học giám sát và học không giám sát. Các thuật toán này thông thường được đào tạo để sử dụng trong một số mục tiêu nhất định trong một quá trình huấn luyện được gọi là học đa tác vụ(multi-task learning). Bằng cách giải quyết một số nhiệm vụ NLP bằng cách sử dụng tập dữ liệu được gán nhãn, các mô hình này đã tạo ra những bản sentence embedding phổ quát và có thể được tối ưu trong những nhiệm vụ khác nhau(transfer learning). Các phương pháp này đã tạo nên sự phong phú trong biểu diễn câu và đạt được những hiệu quả trong các tác vụ đòi hỏi thông minh và khai thác mạch ngữ nghĩa của câu. Hơn thế nữa, bằng cách sử dụng huấn luyện đa ngôn ngữ, mô hình tạo ra những sentence có khả năng xử lý trong văn bản đa ngôn ngữ.
Giới thiệu qua một số State-of-the-art về sentence embedding:
• FastTest[39](2018): được phát triển bởi nhóm nghiên cứu của Tomas Mikolov, người đã đề xuất nền tảng word2vec vào năm 2013, tạo ra sự bùng nổ nghiên cứu cho sentence embedding. Cải tiến chính của FastTest so với word2vec là những kí tự n-grams, những ký tự này cho phép tính toán các biểu diễn cho từ của những từ không xuất hiện trong dữ liệu huấn luyện. Các véc-tơ FastTest rất nhanh để huấn luyện và có sẵn 157 ngôn ngữ đã được đào tạo trên Wikipedia và Crawl.
• ElMo[43](2018): Biểu diễn từ theo độ sâu ngữ cảnh. Được phát triển bởi viện Allen về AI và sẽ được trình bày tại NAACL 2018 vào đầu tháng 6. Trong ELMo, mỗi từ được chỉ
định là một biểu diễn - một chức năng của toàn bộ câu văn bản mà chúng thuộc về. Việc nhúng được tính toán từ các trạng thái bên trong của Mô hình ngôn ngữ hai chiều hai lớp (LM - two-layers bidirectional Language Model), do đó có tên “ELMo”: Embeddings from Language Models.
• Skip-thoughts[32](2015): Là một mô hình học không giám sát cho sentence embedding. Có thể hiểu là những câu được tạo nên dựa trên mô hình skip-gram phát triển dành cho word embedding: Thay vì dự đoán các từ xung quanh một từ, nó cố gắng dự đoán các câu xung quanh của một câu nhất định. Mô hình bao gồm một bộ encoder-decoder dựa trên RNNs(Recurrent Neural Networks) được huấn luyện để tái tạo một câu từ các câu còn lại.
• InferSent[16](2017): Sử dụng bộ ngữ liệu Stanford Natural Language Inference (SNLI) (một bộ gồm 570 nghìn cặp câu được gắn nhãn với 3 loại: trung tính, mâu thuẫn và câu hỏi) để đào tạo một bộ phân loại trên đầu của một sentence encoder. Cả hai câu đều được mã hóa bằng cách sử dụng cùng một encoder trong khi trình phân loại được huấn luyện trên một biểu diễn cặp được tạo nên từ việc nhúng hai câu. Conneau và cộng sự áp dụng LSTM hai hướng(bi-directional LSTM) với một toán tử tổng hợp tối đa(max-pooling operator) làm sentence encoder.
• Universal Sentence Encoder[14](2018): giới thiệu vào đầu năm 2018, với kiến trúc khác biệt đó là sử dụng kiến trúc của Transformer mà không phải là RNNs. Đem lại khả năng khai thác ngữ cảnh và sinh véc-tơ sentence embedding cho toàn bộ câu.
• BERT[20](2018) được giới thiệu vào gần cuối năm 2018, nhưng những kết quả đạt được của nó tốt hơn so với ELMo, Skip-thought,.. trên các tác vụ NLP với kiến trúc chỉ sử dụng encoder của transformer. Và đây cũng là kiến trúc sẽ sử dụng trong mô hình đề xuất, giới thiệu chi tiết ở 4.2.
4.2 Mô hình BERT4.2.1 Sự ra đời của BERT 4.2.1 Sự ra đời của BERT
Bidirectional Encoder Representations from Transformers (BERT)[20] là mô hình ngôn ngữ dựa trên kỹ thuật transformer trong xử lý ngôn ngữ tự nhiên do Google phát triển. BERT được công bố vào năm 2018 bởi Jacob Devlin và các đồng nghiệp của ông tại Google. Và vào năm
2019, Google đã áp dụng BERT vào trong việc tìm hiểu rõ hơn về các tìm kiếm của người dùng. BERT ra đời cũng đánh dấu bước đột phá trong xử lý ngôn ngữ tự nhiên trong các tác vụ: GLUE, SWAG, SQuAD.
BERT về cơ bản là một mô hình học sẵn - pre-trained model. Khác với các mô hình từ trước, BERT được thiết kế để đào tạo ra các véc-tơ đại diện ngôn ngữ văn bản thông qua ngữ cảnh hai chiều(từ trái qua phải và ngược lại). Sau đó véc-tơ đại diện được sinh ra từ mô hình BERT được tinh chỉnh với các lớp đầu ra bổ sung để tạo ra các kiến trúc mới phù hợp cho các tác vụ xử lý ngôn ngữ tự nhiên như Question Answering, Language Inference, ... mà không cần thay đổi quá nhiều từ kiến trúc cơ bản của BERT.
Transfer learning(Học chuyển tiếp) được mô tả là việc áp dụng các kỹ năng, kiến thức, thái độ mà chúng ta đã được học trong tình huống nhất định vào một tình huống khác. Dựa trên cơ chế của học chuyển tiếp, Pre-trained language representation(Sự biểu diễn tiền huấn luyện ngôn ngữ) với cơ chế tạo ra một kiến trúc học máy đo lường khả năng đọc hiểu ngôn ngữ của con người bằng máy tính. Lấy ý tưởng từ một mô hình học máy có thể được tiền huấn luyện trước và áp dụng xử lý cho các tác vụ khác. Hai chiến lược của quá trình áp dụng mô hình tiền huấn luyện là: feature-base(dựa trên đặc tính) và fine-tuning(tinh chỉnh). Tuy nhiên, có một số hạn chế của cả hai hướng tiếp cận, đặc biệt là fine-tuning vì các mô hình ngôn ngữ đã có dựa trên hướng tiếp cận ngữ cảnh một chiều(từ trái qua phải hoặc từ phải qua trái). Nhận thấy chưa khai thác hết khả năng pre-trained language presentation đặc biệt là trong cách tiếp cận fine-tunning, BERT ra đời.
4.2.2 Kiến trúc
Kiến trúc của BERT là một kiến trúc đa tầng nhiều lớp Bidirectional Transformer encoder dựa trên kiến trúc của Encoder trong Transformer mô tả bởi Vaswani et al[53].
BERT chỉ sử dụng kiến trúc của Encoder trong transformer, cùng lúc truyền tất cả các từ trong câu mà không quan tâm đến chiều lan truyền dữ liệu. BERT gọi đó là cơ chế hai chiều nhưng đúng hơn là không chiều, cho phép mô hình học được bối cảnh của từ bởi sự liên quan ngữ nghĩa của toàn bộ các từ xung quanh. So sánh với decoder transformer của OpenAI GPT chỉ dùng ngữ cảnh từ trái qua phải và ELMo chỉ dùng kết hợp nông hai chiều sử dụng LSTM.
Có thể nhận ra, BERT chính là cải tiến từ cả hai mô hình đó, khi sử dụng ý tưởng lấy ngữ cảnh nhờ vào hai chiều của câu và hiện thực dùng transformer ý tưởng của OpenAI nhưng chỉ dùng encoder.