GIỚI THIỆU CHUNG
Giới thiệu bài toán tóm tắt văn bản
Tóm tắt văn bản là một nhiệm vụ quan trọng trong lĩnh vực Xử Lý Ngôn Ngữ Tự Nhiên, nhằm tạo ra một đoạn văn ngắn chứa đựng các ý chính của tài liệu tham khảo Mặc dù có vẻ như đây là một thách thức khó khăn, nhưng nhờ vào sự phát triển của công nghệ, đặc biệt là Trí Tuệ Nhân Tạo, chúng ta hiện nay có khả năng xây dựng mô hình để thực hiện công việc này một cách hiệu quả.
Trong cuộc sống bận rộn hiện nay, nhiều người ưa chuộng đọc các bài tóm tắt ngắn gọn thay vì toàn bộ nội dung Các ứng dụng sử dụng phương pháp tóm tắt văn bản ngày càng phổ biến, đặc biệt là trên các nền tảng xuất bản và cung cấp tin tức về nhiều lĩnh vực như chính trị, giải trí và hơn thế nữa Việc này giúp người dùng nhanh chóng nắm bắt thông tin cần thiết mà không mất quá nhiều thời gian.
Đọc một bản tóm tắt thay vì tất cả các bài viết giúp bạn có cái nhìn tổng quan về câu chuyện và tiết kiệm thời gian Bản tóm tắt cũng có thể chỉ ra các chủ đề quan trọng nhất của tài liệu Chẳng hạn, khi tóm tắt blog, các cuộc thảo luận hoặc nhận xét sau bài đăng là nguồn thông tin hữu ích để xác định phần nào của blog là quan trọng và thú vị.
Có nhiều lý do giải thích tại sao việc Tóm tắt văn bản tự động giúp chúng ta rất nhiều:
1 Tóm tắt giảm thiểu thời gian đọc
2 Khi đọc/nghiên cứu tài liệu, tóm tắt làm cho quá trình lựa chọn tài liệu trở nên dễ dàng hơn
3 Việc tự động tóm tắt văn bản cải thiện hiệu quả của việc lập chỉ mục
4 Thuật toán tóm tắt tự động ít sai lệch hơn so với việc tóm tắt của con người
5 Tóm tắt thông tin cá nhân rất hữu ích trong các hệ thống trả lời câu hỏi tự động vì chúng cung cấp thông tin cá nhân
6 Sử dụng các hệ thống tóm tắt tự động hoặc bán tự động cho phép các dịch vụ thương mại tăng số lượng tài liệu văn bản mà chúng có thể xử lý
Bài toán tóm tắt văn bản đã trở thành một thách thức trong Xử lý ngôn ngữ tự nhiên từ năm 1958 và đã thu hút nhiều nghiên cứu trong những năm gần đây Mặc dù các mô hình tóm tắt tiếng Anh đã được cải tiến đáng kể với sự áp dụng trí tuệ nhân tạo, nhưng việc áp dụng học máy và học sâu cho tiếng Việt vẫn còn hạn chế, dẫn đến ít cải tiến hơn Để tạo ra một văn bản tóm tắt chất lượng, đầy đủ thông tin và dễ đọc, là một thách thức lớn cho các nhà nghiên cứu Hơn nữa, việc thiếu dữ liệu nghiên cứu và phương pháp xử lý ngôn ngữ tự nhiên cho tiếng Việt đã hạn chế khả năng phát triển các mô hình tóm tắt Các nghiên cứu hiện tại chủ yếu tập trung vào tóm tắt đa văn bản, trong khi tóm tắt đơn văn bản vẫn chưa đạt được hiệu quả cao.
Hướng tiếp cận cho bài toán tóm tắt văn bản
1.2.1 Phương pháp tiếp cận hướng trích rút
Cách tiếp cận này tập trung vào việc chọn lọc các đoạn văn bản chính để tạo ra một bản tóm tắt, dựa trên mức độ quan trọng và tương đồng của các tài liệu Phương pháp này nhằm trích xuất các cụm từ chính từ tài liệu và kết hợp chúng lại Tuy nhiên, nhược điểm lớn của phương pháp này là bản tóm tắt thường thiếu tính mạch lạc, với các câu không liên kết chặt chẽ.
1.2.2 Phương pháp tiếp cận hướng trừu tượng
Các phương pháp trừu tượng trong deep learning có khả năng tạo ra từ ngữ mới dựa trên hiểu biết ngữ nghĩa, ngay cả khi các từ đó không có trong tài liệu gốc Việc áp dụng phương pháp này để tóm tắt văn bản giúp khắc phục những vấn đề về ngữ pháp mà phương pháp hướng trích rút thường gặp phải.
Phương pháp hướng trừu tượng được coi là ưu việt hơn so với phương pháp hướng trích rút trong tóm tắt văn bản Tuy nhiên, sự phát triển của các thuật toán tóm tắt theo phương pháp trừu tượng gặp nhiều khó khăn, dẫn đến việc phương pháp trích rút vẫn được sử dụng rộng rãi.
Bài toán tóm tắt ở mức câu và các nghiên cứu liên quan
Bài toán tóm tắt văn bản ở mức câu đóng vai trò quan trọng, có thể áp dụng cho cả hệ thống tóm tắt theo hướng trừu tượng và trích rút Nó cũng có thể được sử dụng trong các ứng dụng đơn lẻ như hiển thị thông tin trên điện thoại hoặc tóm gọn các câu trong bài toán Text to Speed Việc giải quyết hiệu quả bài toán tóm tắt ở mức câu, bao gồm việc sinh từ và xác định quan hệ ngữ pháp, là bước tiền đề cần thiết để xử lý các vấn đề phức tạp khác trong tóm tắt văn bản.
Có hai cách tiếp cận bài toán tóm tắt ở mức câu: cách tiếp cận dựa trên hành động xoá (deletion-based) và cách tiếp cận dựa trên trừu tượng (abstractive) Cách tiếp cận deletion-based giữ lại những từ cần thiết và loại bỏ những từ không ảnh hưởng đến thông tin chính Nghiên cứu của Jing và các cộng sự đã áp dụng các luật ngôn ngữ và từ điển để tạo ra cây, từ đó xoá các cụm từ không nổi bật Gần đây, Filippova đã sử dụng mạng LSTM để giải quyết vấn đề tương tự như gán nhãn chuỗi Wang và các cộng sự cũng chỉ ra rằng cú pháp có thể hữu ích cho việc nén câu dựa trên mạng LSTM.
Cách tiếp cận trừu tượng (abstractive) trong tóm tắt văn bản kết hợp các thao tác xoá và chèn từ mới, tạo ra câu tóm tắt tự nhiên hơn nhưng cũng gặp nhiều thách thức Cohn và Lapata đã phát triển các luật chuyển đổi cây phân tích cú pháp từ dữ liệu chứa cặp câu và câu rút gọn Gần đây, mô hình seq2seq, bao gồm bộ mã hoá và bộ giải mã, đã được ứng dụng trong nghiên cứu Mô hình này tạo ra chuỗi trạng thái ẩn từ đầu vào qua bộ mã hoá và sau đó sinh ra chuỗi đầu ra mới từ bộ giải mã Đặc biệt, cơ chế chú ý (attention mechanism) giúp tự động căn chỉnh chuỗi đầu vào và đầu ra, nâng cao hiệu suất của mô hình đáng kể.
Nghiên cứu về nén câu theo hướng học không giám sát đã thu hút sự chú ý với nhiều phương pháp khác nhau Fevry và Phang [3] đã phát triển một bộ mã hoá tự động khử nhiễu để phục hồi bản gốc, trong khi Baziotis và cộng sự [11] giới thiệu mô hình seq2seq autoencoder với hai bộ mã hoá – giải mã chuỗi, giúp khôi phục câu gốc mà không cần dữ liệu song song Đối với tiếng Việt, Nguyen [12] đã sử dụng các cặp ví dụ để tạo ra tóm tắt từ câu tiếng Anh, và một nghiên cứu khác [13] áp dụng mô hình Markov ẩn để nén câu thông qua việc xoá Trong khi đó, Nguyen và cộng sự [14] đã sử dụng thuật toán giải mã Viterbi để tìm chuỗi con tối ưu cho việc nén Tran [15] đã đề xuất sử dụng CRF để khai thác thông tin ngữ nghĩa, và sau đó [16] giới thiệu phương pháp three-phase, trong đó xây dựng biểu đồ nội dung và chuyển đổi thành biểu đồ ngữ nghĩa để tạo ra câu cô đọng Cuối cùng, nghiên cứu [17] đã áp dụng mô hình bi-encoder-decoder LSTM cho bài toán nén câu tiếng Việt, chuyển đổi bài toán thành dạng gán nhãn.
Chương 1 Giới thiệu chung về bài tóm tắt văn bản và bài toán nén câu
Chương 2 Các kiến thức nền và mô hình áp dụng tuỳ theo hướng tiếp cận
Chương 3 Cách xây dựng bộ dữ liệu
Chương 5 Kết luận và hướng phát triển.
CÁC MÔ HÌNH CHO BÀI TOÁN NÉN CÂU
H ọc sâu
Gần đây, học sâu đã trở thành một xu hướng nổi bật trong lĩnh vực học máy, dựa trên phương pháp mạng neural Dù đã được phát triển từ nhiều thập kỷ trước, nhưng chỉ với sức mạnh tính toán hiện nay, việc áp dụng học sâu mới trở nên khả thi Trong số nhiều kiểu mạng học sâu, bài viết này sẽ tập trung vào kiến trúc mạng RNN và các biến thể của nó như LSTM và BiLSTM, những thuật ngữ quan trọng được sử dụng trong luận văn.
2.1.1 RNN (Recurrent Neural Network) Đối với mạng neural thông thường, các đầu vào và đầu ra của nó là các giá trị độc lập với nhau Vì vậy, việc học với các thông tin dạng chuỗi như các câu văn lại bị mất mát thông tin về thứ tự RNN xuất hiện như một ý tưởng để khắc phục vấn đề này RNN được gọi là mạng hồi quy và nó tính toán theo cùng một kiểu với tất cả các phần từ của chuỗi đầu vào với đầu ra phụ thuộc đã được tính toán của phần tử trước đó Vì vậy, có thể xem nó như là các ô nhớ, lưu trữ các thông tin đã được tính toán trước đó Trên lý thuyết thì nó có thể lưu trữ thông tin của một văn bản rất dài, nhưng thực tế nó chỉ nhớ được một vài bước trước đó, chúng gọi là vấn đề phụ thuộc xa, được khám phá bởi Hochreiter và Bengio từ những năm đầu thập niên 1990 Denny Britz có trình bày về điều này trong bài viết
"Backpropagation through time and vanishing gradients" của mình
Hình 1 : Minh hoạ mạng RNN
Hình trên minh hoạ mạng RNN, ở đây:
• 𝑥 𝑡 : là đầu vào tại bước t
Trạng thái ẩn 𝑠𝑡 tại bước t là bộ nhớ của mạng, được tính toán dựa trên các trạng thái ẩn trước đó và đầu vào tại bước t.
Trong mô hình này, trạng thái ẩn 𝑠 𝑡 được xác định bởi hàm 𝑓, phụ thuộc vào các đầu vào 𝑈𝑥 𝑡 và trạng thái ẩn trước đó 𝑊𝑠 𝑡−1 Hàm 𝑓 thường là một hàm phi tuyến tính, chẳng hạn như tang hyperbolic (tanh) hoặc ReLu Để tính toán trạng thái ẩn đầu tiên, cần khởi tạo giá trị 𝑠 −1, thường được gán bằng 0.
Đầu ra tại bước t, ký hiệu là 𝑜𝑡, là một vec-tơ xác suất cho các từ trong danh sách từ vựng, cho phép dự đoán từ tiếp theo có thể xuất hiện trong câu Cụ thể, 𝑜𝑡 được tính bằng công thức 𝑜𝑡 = softmax(𝑉𝑠𝑡).
• U, W và V là các tham số cần phải học, các tham số này giống nhau ở mọi bước, ở bất kỳ đầu vào ở thứ tự bao nhiêu trong câu
RNN được sử dụng rộng rãi trong các bài toán về Xử lý ngôn ngữ tự nhiên
Mạng RNN (Recurrent Neural Network) được ứng dụng rộng rãi trong các bài toán như Mô hình ngôn ngữ, Dịch máy và Nhận dạng giọng nói, cũng như kết hợp với mạng Convolutional Network trong Xử lý ảnh Một biến thể mở rộng của RNN là mạng Bidirectional RNN (BiRNN), bao gồm hai mạng RNN: một mạng chạy từ đầu đến cuối câu và một mạng chạy ngược lại Điều này cho phép mỗi từ được xem xét trong ngữ cảnh của cả những từ phía trước và phía sau Tuy nhiên, do khả năng nhớ thông tin ngắn hạn, các mạng cải tiến như LSTM (Long Short-Term Memory) và GRU (Gated Recurrent Unit) đã trở nên phổ biến hơn, vì chúng có khả năng lưu trữ thông tin dài hạn hiệu quả hơn.
2.1.2 LSTM (Long Short-Term Memory)
Mạng RNN gặp phải vấn đề phụ thuộc xa, khiến nó không thể nhớ thông tin dài mà chỉ lưu trữ được dữ liệu trong vài bước trước đó Trong khi kết quả của RNN khá tốt với các câu ngắn, nó lại bộc lộ nhiều điểm yếu khi xử lý các câu dài Để khắc phục tình trạng này, LSTM đã được phát triển, mang lại khả năng ghi nhớ thông tin dài hạn hiệu quả hơn.
Mạng LSTM, được giới thiệu bởi Hochreiter và Schmidhuber vào năm 1997, đã trải qua nhiều cải tiến và trở nên phổ biến trong ngành công nghệ Chúng thể hiện hiệu quả vượt trội trong nhiều bài toán khác nhau, góp phần làm cho LSTM trở thành một công nghệ được ưa chuộng trong thời điểm hiện tại.
Thiết kế của LSTM tích hợp khả năng ghi nhớ thông tin xa mà không cần quá trình học phức tạp LSTM là một mạng hồi quy, bao gồm chuỗi các module lặp lại của mạng neural Trong khi đó, các module của mạng RNN thường chỉ là một tầng tanh đơn giản.
Hình 2 Minh hoạ mạng RNN
Tuy nhiên, với LSTM, nó phức tạp hơn Thay vì đơn giản là một tầng tanh, nó lại gồm bốn tầng tương tác với nhau
Hình 3 Minh hoạ mạng LSTM Ý nghĩa của các ký hiệu trên lần lượt là:
Hình 4 Các kí hiệu trên mạng LSTM
Chìa khóa của mạng LSTM là trạng thái tế bào (cell state), hoạt động như một băng chuyền chạy xuyên suốt các nút mạng Trạng thái này chỉ tương tác tuyến tính một cách hạn chế, cho phép thông tin được truyền đi liên tục mà không bị biến đổi.
LSTM có khả năng điều chỉnh thông tin trong trạng thái tế bào thông qua ba cổng, cho phép nó thêm vào hoặc loại bỏ các dữ liệu cần thiết.
Tầng cổng quên (forget gate layer) là tầng sigmoid đầu tiên trong quá trình xử lý trạng thái tế bào, nhận đầu vào từ trạng thái ẩn trước đó ℎ 𝑡−1 và đầu vào hiện tại 𝑥 𝑡 Kết quả của tầng sigmoid nằm trong khoảng [0, 1], với giá trị 1 biểu thị việc giữ lại toàn bộ thông tin và giá trị 0 biểu thị việc loại bỏ hoàn toàn thông tin từ trạng thái tế bào 𝐶 𝑡−1 Tầng này yêu cầu một bộ tham số 𝑊𝑓 để học và điều chỉnh.
Hình 5 Tầng cổng quên trên LSTM
Tầng cổng vào (input gate layer) là tầng Sigmoid thứ hai trong mạng neural, có chức năng quyết định giá trị nào sẽ được cập nhật Tầng này tạo ra 𝑖 𝑡 để đi vào toán tử X ở trung tâm của mạng Bên cạnh đó, tầng tanh cũng được sử dụng để tạo ra vector giá trị mới.
Kết hợp hai giá trị này, chúng ta tạo ra một cập nhật cho trạng thái tế bào, thể hiện qua dấu + trên đường trạng thái tế bào Do đó, cần học thêm hai bộ tham số là 𝑊𝑖 và 𝑊𝑐.
Hình 6 Tầng cổng vào trên LSTM
Tầng cổng ra (output gate layer) là tầng Sigmoid thứ ba trong mạng nơ-ron, có nhiệm vụ xác định đầu ra mong muốn Các giá trị ℎ 𝑡−1 và 𝑥𝑡 được đưa qua tầng Sigmoid, trong khi trạng thái tế bào trên được xử lý bằng hàm tanh để giới hạn giá trị trong khoảng [-1, 1] Sau đó, hai đầu ra này được nhân với nhau để tạo ra giá trị đầu ra cuối cùng Tại đây, chúng ta cũng học thêm một bộ tham số 𝑊 0 tương ứng với tầng Sigmoid này.
Hình 7 Tầng cổng ra trên mạng LSTM
Cách ti ếp cận hướng tóm lược
2.2.1 Mô hình Sequence to sequence
Mô hình Sequence-to-Sequence được đề xuất bởi Sutskever et al.vào năm
2014 và được sử dụng để tạo ra một chuỗi các token của câu trong ngôn ngữ đích
Mô hình dịch máy sử dụng chuỗi đầu ra 𝑦 = {𝑦 1 , ,𝑦 𝑚 } tương ứng với chuỗi token đầu vào 𝑥 = {𝑥 1 , ,𝑥 𝑛 } từ ngôn ngữ nguồn, với mục tiêu tối ưu hóa xác suất có điều kiện 𝑃(𝑦 1 , ,𝑦 𝑚 |𝑥 1 , ,𝑥 𝑛 ) Độ dài chuỗi đầu ra m có thể khác với độ dài chuỗi đầu vào n Kiến trúc Encoder-Decoder thường sử dụng mạng RNN hoặc các cải tiến như LSTM và GRU cho cả hai bộ phận này Đặc biệt, mạng LSTM giúp giải quyết các vấn đề phụ thuộc dài và ghi nhớ thông tin trong ngữ cảnh của câu văn bản.
Hình 9 Kiến trúc mô hình seq2seq
Các thành phần chính của mô hình Seq2seq bao gồm:
Bộ Encoder chuyển đổi chuỗi token từ ngôn ngữ nguồn thành vector có kích thước cố định Trong từng bước mã hoá, Encoder tiếp nhận vector tương ứng với mỗi token để tạo ra vector trạng thái ẩn, đại diện cho toàn bộ chuỗi đầu vào sau bước mã hoá cuối cùng.
• Bộ Decoder sử dụng vector s như khởi tạo cho trạng thái ẩn đầu tiên và tạo ra chuỗi các token ở ngôn ngữ đích tại mỗi bước giải mã
Encoder nhận đầu vào là câu từ ngôn ngữ gốc và tạo ra một vector ngữ cảnh ở layer cuối cùng Vector này tóm gọn thông tin từ câu ban đầu Sau đó, Decoder sử dụng vector ngữ cảnh này cùng với trạng thái ẩn và từ đã dự đoán trước để dự đoán từ tiếp theo qua từng bước thời gian.
Việc mã hóa toàn bộ thông tin từ nguồn vào một vector cố định gây khó khăn cho mô hình khi xử lý các câu dài, mặc dù đã sử dụng LSTM (BiLSTM, GRU) để khắc phục hiện tượng Vanishing Gradient trong mạng RNN truyền thống Tuy nhiên, điều này vẫn chưa đủ, đặc biệt với những câu dài hơn trong dữ liệu huấn luyện Trong nghiên cứu của mình, tác giả Bahdanau đã đề xuất một cơ chế cho phép mô hình tập trung vào những phần quan trọng, kết nối từ nguồn đến đích Thay vì chỉ sử dụng lớp ngữ cảnh từ lớp cuối cùng của Encoder, tác giả đã sử dụng tất cả các đầu ra của từng cell qua từng bước thời gian, kết hợp với trạng thái ẩn của từng cell để tạo ra một vector ngữ cảnh (vector attention) và sử dụng nó làm đầu vào cho từng cell trong Decoder.
Hình 10 Mô hình seq2seq attention
2.2.2 Mô hình seq2seq Attention
Mô hình Seq2Seq cơ bản cho bài toán nén câu được áp dụng theo phương pháp của Nallapati et al (2016), như mô tả trong Hình 10 Trong quá trình này, chuỗi token của câu nguồn 𝑤 𝑖 được đưa vào mạng encoder, sử dụng một single-layer bidirectional LSTM, để tạo ra chuỗi các trạng thái ẩn của encoder 𝒉 𝒊 Mỗi bước t trong mô hình này đóng vai trò quan trọng trong việc xử lý và nén thông tin từ câu nguồn.
The decoder, which is a single-layer unidirectional LSTM network, receives word representations from previous steps during training, specifically the preceding words of the reference summary During testing, it utilizes the words generated by the decoder itself The decoder state, denoted as 𝑠𝑡, plays a crucial role in this process The attention distribution, represented as 𝒂 𝒕, is computed using a specific formula.
Trong mô hình seq2seq, các tham số như 𝜈, 𝑊 ℎ, 𝑊 𝑠 và 𝑏 𝑎𝑡𝑡𝑛 cần được học để tối ưu hóa quá trình giải mã Attention distribution đóng vai trò quan trọng khi nó cung cấp một phân phối xác suất cho các từ trong câu nguồn, hướng dẫn bộ decoder chú ý vào những phần cần thiết để sinh ra từ tiếp theo Nếu không có cơ chế attention, mạng encoder chỉ sử dụng thông tin từ trạng thái ẩn cuối cùng, nhưng với attention, bộ decoder có thể khai thác tất cả các trạng thái ẩn ℎ 𝑖 từ bước encoder Điều này được thể hiện qua công thức tính context vector dựa trên phân phối attention, giúp tạo ra tổng trọng số của các trạng thái ẩn, hay còn gọi là context vector ℎ 𝑡 ∗.
Trong quá trình giải mã tại bước t, mô hình sẽ tạo ra một vector ngữ cảnh Vector này sau đó được kết hợp với vector trạng thái ẩn 𝑠 𝑡 và được đưa qua hai lớp linear để sinh ra phân phối xác suất cho từ điển 𝑃 𝑣𝑜𝑐𝑎𝑏.
Trong mô hình này, các tham số cần học bao gồm 𝑉, 𝑉′, 𝑏 và 𝑏′ Phân phối xác suất toàn bộ từ trong từ điển được ký hiệu là 𝑃 𝑣𝑜𝑐𝑎𝑏, từ đó chúng ta có thể xác định khả năng sinh ra các từ.
𝑤 trong từ điển sẽ là:
Trong quá trình học, loss của mỗi bước t là negative log likelihood của từ mục tiêu 𝑤 𝑡 ∗ cho mỗi bước:
Sau đó lỗi trên toàn bộ chuỗi được tổng hợp bằng công thức dưới đây:
2.2.3 Mô hình Pointer-generator network
Mô hình seq2seq attention có nhược điểm là chỉ sinh ra các từ trong từ điển cố định, dẫn đến việc không thể tạo ra các từ ngoài từ vựng (OOV) Để khắc phục điều này, mạng Pointer-generator được phát triển, cho phép sao chép từ thông qua cơ chế pointing và vẫn duy trì khả năng sinh ra từ từ một từ điển cố định Chi tiết về mô hình này được mô tả trong hình 11.
Hình 11 Mô hình Pointer-Generator
Trong mô hình pointer-generator phân phối attention 𝒂 𝒕 và context vector
Xác suất sinh 𝑝𝑔𝑒𝑛 trong khoảng [0,1] cho mỗi bước t được tính toán dựa trên vector ngữ cảnh 𝒉𝒕 ∗, trạng thái giải mã 𝒔 𝒕 và đầu vào giải mã 𝑥𝑡, tương tự như công thức (3).
Các vector 𝑤 ℎ ∗ , 𝑤 𝑠 , 𝑤 𝑥 và giá trị 𝑏 𝑝𝑡𝑟 là những tham số cần được học, trong khi hàm sigmoid được ký hiệu là σ Tiếp theo, 𝑝 𝑔𝑒𝑛 hoạt động như một công tắc để lựa chọn giữa việc sinh “từ”- token từ từ điển 𝑃 𝑣𝑜𝑐𝑎𝑏 hoặc sao chép một từ từ chuỗi đầu vào thông qua phân phối attention 𝑎 𝑡 Mỗi câu nguồn sẽ tạo ra một từ vựng mở rộng, bao gồm tất cả các từ có mặt trong câu nguồn, và phân phối các từ trong toàn bộ từ vựng mở rộng được xác định như sau:
Nhớ rằng nếu như w là 1 từ ngoài từ điển (OOV), 𝑃𝑣𝑜𝑐𝑎𝑏(𝑤)= 0 , tương tự nếu 𝑤 không xuất hiện trong câu nguồn thì ∑ 𝑖:𝑤 𝑖 =𝑤 𝑎 𝑖 𝑡 = 0
Hàm lỗi tương tự như công thức số (6) và (7) Tuy nhiên 𝑃(𝑤) được tính trong công thức số (9)
2.2.4 Mô hình Pointer-generator và cơ chế Coverage
Sự lặp lại trong mô hình sequence-to-sequence, đặc biệt với chuỗi chứa nhiều câu, là một vấn đề phổ biến Để khắc phục tình trạng này, cơ chế Coverage đã được giới thiệu Trong mô hình sử dụng cơ chế Coverage, vector Coverage \(c_t\) được duy trì, thể hiện tổng phân phối attention trong tất cả các bước giải mã trước đó.
Theo trực giác, c_t là một phân phối không chuẩn trên toàn bộ từ của câu nguồn, thể hiện mức độ bao phủ mà từ đó nhận được từ cơ chế chú ý tại từng bước Ở bước đầu tiên, c_0 là một vector 0 Thành phần vector coverage được sử dụng như một đầu vào mở rộng cho cơ chế attention, dẫn đến việc công thức 1 được điều chỉnh như sau:
Vector tham số 𝑤𝑐 có độ dài tương đương với vector v, trong khi cơ chế Coverage đảm bảo rằng quyết định của cơ chế attention tại bước hiện tại được thông báo bởi các quyết định trước đó Điều này giúp cơ chế attention dễ dàng hơn trong việc tránh tập trung vào cùng một vị trí, từ đó giảm thiểu khả năng xảy ra lỗi lặp lại.
Hàm lỗi được tính bởi công thức:
Cách ti ếp cận dựa trên xoá từ
Mô hình được trình bày như một bài toán sequence tagging, với mục tiêu tối đa hóa khả năng sinh ra chuỗi nén chính xác Khi tiếp nhận cặp câu (X,Y), bao gồm câu gốc và câu nén tương ứng, mô hình sẽ tối ưu hóa bộ tham số θ theo công thức đã được xác định.
Mô hình Bi-encoder-decoder LSTM có sự khác biệt so với mạng Bi-LSTM, khi mỗi phần forward và backward được tích hợp vào thành phần encoder Sau khi chuỗi đi qua encoder fw_enc và fw_dec, thông tin ẩn được tạo ra và tiếp tục được truyền vào các mạng decode, nơi thông tin sẽ được kết hợp tương tự như trong mạng Bi-LSTM Cụ thể, ở mỗi tầng mạng, thông tin từ mạng encoder mã hóa chuỗi đầu vào đã được bổ sung.
Chuỗi 𝑥 1 ,𝑥2, … ,𝑥𝑛 đi vào mạng sẽ được mô tả như sau:
• Đầu tiên encoder sẽ giữ được thông tin chung của câu ở mỗi phần riêng biệt backward và forward Đầu ra của phần này sẽ là đầu vào của decoder
Sau khi thông tin trạng thái ẩn được tạo ra từ encoder fw-enc và bw-enc, chúng sẽ được chuyển đến decoder fw-dec và bw-dec tương ứng để trích xuất đặc trưng của chuỗi.
• Cuối cùng, tầng phân loại trên cùng sẽ nhận cả thông tin decoder từ hai luồng (fw và bw) để đưa ra nhãn 0 hoặc 1 ( tương ứng tới từng bước t)
Xác suất ở công thức một tổng hợp như sau:
𝑥𝑡,ℎ𝑡,𝑚𝑡 lần lượt là input, control state và memory state ở bước t Khi một chuỗi đầu vào, một chuỗi quá trình tính toán như sau:
ℎ 𝑡 =𝑚 𝑡 𝑜 𝑡 Trong đó, ⋅ là toán tử element-wise product, 𝜃 𝑖 là tham số của các cell, ℎ 0 được khởi tạo là môt ma trận zero.
XÂY DỰNG DỮ LIỆU TỰ ĐỘNG
Xây dựng dữ liệu cho cách tiếp cận hướng tóm lược
Việc tạo ra một bộ dữ liệu chất lượng cao cho các phương pháp tóm lược thường tốn kém cả về thời gian và công sức Để giải quyết vấn đề này, bài viết này đề xuất một cách tiếp cận đơn giản nhằm xây dựng bộ dữ liệu song song với chất lượng tương đối tốt Mỗi bài báo thường bao gồm ba phần chính: Tiêu đề (Headline), Mô tả (Sapo) và nội dung Dưới đây là ví dụ minh họa cho hai phần Mô tả và Tiêu đề.
Hình 13 Ví dụ Headline và Sapo trên báo tin tức Ở hình trên phần chữ in đậm bắt đầu của một bài tin tức chính là phần
Tiêu đề (headline) của bài báo thường phản ánh chủ đề chính, trong khi phần mô tả (sapo) khái quát nội dung cụ thể hơn Tuy nhiên, trên các kênh giải trí như Kênh 14, tiêu đề thường có xu hướng giật tít và ngữ pháp không theo chuẩn mực Nghiên cứu của Dorr et al (2003) đã chỉ ra rằng việc sử dụng câu đầu tiên và tiêu đề trong dữ liệu học là một phương pháp hiệu quả Tuy nhiên, khảo sát dữ liệu tin tức tiếng Việt cho thấy sự liên quan giữa tiêu đề và câu đầu tiên rất hiếm Do đó, tôi nhận thấy rằng phần mô tả (sapo) chứa nhiều thông tin có liên quan đến tiêu đề Tôi đã xây dựng một bộ lọc đơn giản để xác định cặp câu sapo và tiêu đề (S, H), trong đó H được xem là câu tóm tắt của S.
Trong nghiên cứu này, chúng tôi đã thu thập dữ liệu từ khoảng 4 triệu bài báo tiếng Việt trên các trang điện tử như Kênh14 và Dân trí trong vòng 4 năm Để đánh giá sự tương quan ngữ nghĩa giữa các bài viết, chúng tôi đề xuất một bộ tính điểm đơn giản dựa trên các quy tắc xác định mức độ trùng lặp từ.
• Số từ trong câu Sapo phải >% từ ( không tính dấu câu)
• Số trừ trong headline trong khoảng (8;15] từ ( không tính dấu câu)
• Tỉ lệ trùng lặp từ của title với sapo lớn hơn α
Với α >= 0,25, quá trình xử lý dữ liệu đã thu được hơn 1 triệu cặp (S, H) Nhờ sự hỗ trợ của đội ngũ dữ liệu từ công ty VCCorp, bộ dữ liệu đã được kiểm tra và thẩm định lại, cho ra một tập test chất lượng với khoảng 9.000 cặp câu được chọn từ 13.000 cặp câu ban đầu.
Xây dựng dữ liệu dựa theo hướng tiếp cận xoá từ
Trong phần này, tôi sẽ áp dụng kiến thức ngôn ngữ để xây dựng tập dữ liệu theo hướng tiếp cận xoá từ Đầu tiên, tôi sẽ trình bày các kiến thức về ngôn ngữ cơ sở và các bài toán core trong Tiếng Việt Trong phần phân tích cú pháp phụ thuộc, tôi tham khảo tài liệu từ đề tài tốt nghiệp “Cải tiến chất lượng phân tích cú pháp phụ thuộc trên BKTreebank” của anh Nguyễn Hữu Hoàng vào năm 2018 Thông tin về các bộ gán nhãn từ loại, phân tích cú pháp phụ thuộc và phân giải đồng tham chiếu sẽ được cung cấp trong từng mục nhỏ về kiến thức ngôn ngữ cơ sở (mục 3.2.1).
Trong mục 3.2.3, em sẽ trình bày việc áp dụng kiến thức ngôn ngữ để xây dựng dữ liệu hướng xoá từ trên Tiếng Việt Dựa trên nghiên cứu của Filippova (2013), phương pháp này cho phép tạo ra tập dữ liệu mà không cần thực hiện thủ công Em sẽ áp dụng phương pháp tương tự cho tiếng Việt và sẽ trình bày chi tiết trong mục 3.2.2, sử dụng các ví dụ từ tiếng Anh theo bản gốc.
3.2.1 Các kiến thức ngôn ngữ cơ sở a Gán nhãn từ loại
Bài toán gán nhãn từ loại là một trong những nhiệm vụ cơ bản và sớm nhất trong lĩnh vực xử lý ngôn ngữ tự nhiên Mục tiêu chính của nó là xác định chính xác loại từ của từng từ trong câu, ví dụ điển hình như việc phân loại từ trong một câu cụ thể.
Con_ngựa đá con_ngựa đá
Trong câu này, "con_ngựa" được phân loại là danh từ (NN), từ "đá" đầu tiên được xác định là động từ (VB), trong khi từ "đá" thứ hai được phân loại là tính từ (JJ).
Thông tin từ loại mang lại nhiều lợi ích cho các bài toán trong xử lý ngôn ngữ tự nhiên, bao gồm phân tích cú pháp phụ thuộc, nhận diện thực thể và trích rút quan hệ Do đó, vấn đề này đã thu hút sự chú ý từ sớm và hiện có nhiều phương pháp hiệu quả được áp dụng, với độ chính xác cao nhất cho tiếng Việt đạt 95.88%.
Có khá nhiều phương pháp khác nhau đối với bài toán Gán nhãn từ loại
Có thể kể đến các phương pháp phổ biến như HMM (Hidden Markov Model), CRF (Conditional Random Fields), các kiểu mạng RNN (Recurrent Neural Network),
Từ điển từ loại là một loại từ điển giúp xác định các nhãn từ loại của một từ Ví dụ, từ “bàn” có thể được phân loại là danh từ (NN).
Thông tin về từ loại, như danh từ (NN) và động từ (VB), rất quan trọng cho các mô hình học máy trong việc gán nhãn từ loại Việc cung cấp thông tin đầy đủ giúp mô hình đưa ra quyết định chính xác hơn Tuy nhiên, nếu bộ từ điển không được xây dựng cẩn thận và thiếu thông tin, nó có thể dẫn đến những quyết định sai lầm Ví dụ, một từ có thể mang nhiều nhãn như NN, VB, JJ, nhưng nếu từ điển chỉ ghi nhận nhãn VB, mô hình sẽ dễ dàng thiên về nhãn này, gây ra sai lệch trong kết quả.
Việc gán nhãn từ loại trong VB này cần phải dựa trên thông tin chất lượng cao, vì thông tin kém chất lượng có thể làm giảm hiệu quả của mô hình Từ điển từ loại bk-vtb-lexicon, do thầy Nguyễn Kiêm Hiếu xây dựng, được phát triển từ dữ liệu VietTreebank và nhiều nguồn dữ liệu khác Trong quá trình thực nghiệm, các câu được gán nhãn từ loại được tích hợp vào phân tích cú pháp phụ thuộc VCParser.
Nhãn từ loại Mô tả Ví dụ
NN Danh từ tổng thống
NNP Danh từ riêng Barack Obama
CL Danh từ chỉ loại cái
JJ Tính từ xinh đẹp
PRP Đại từ tôi, ta
DT Định từ tất cả, các, những, đó, đây
MD Trợ từ đã, đang, có thể, đã và đang, đừng, phải, có thể
CD Số từ một, hai, ba, thứ hai
IN Giới từ, Liên từ chính trong, nếu phụ
CC Liên từ đẳng lập và, hoặc, hay
PUNCT Dấu câu dấu chấm, dấu hỏi,
FW Từ nước ngoài zigzag, samurai
TO “để” Tôi học để thành tài
WDT Định từ để hỏi nào/WDT
WP Danh từ (đại từ) để hỏi ai, gì
WRB Phụ từ để hỏi như thế nào, đâu
NML Danh ngữ hoá việc, chuyện
PFN Danh ngữ hoá sự, vụ, cú
AV Động từ bổ nghĩa cho danh từ “làm việc” trong “bàn làm việc”
VA Tính từ mang vai trò của động từ là trung tâm của câu, của mệnh đề
“khả quan” trong “Tình hình tương đối khả quan”
Bảng 1 Các nhãn từ loại b Bài toán cây cú pháp phụ thuộc
Trong những năm gần đây, phân tích cú pháp phụ thuộc (Dependency Parsing) đã thu hút sự chú ý đáng kể từ cộng đồng nghiên cứu xử lý ngôn ngữ tự nhiên.
Phân tích ngữ nghĩa cung cấp thông tin phong phú, giúp xác định từ bổ nghĩa và từ mang ý nghĩa chính trong câu Đặc biệt, các phương pháp áp dụng cho tiếng Anh đã đạt hiệu quả cao, với độ chính xác trên 90%, trong đó mức cao nhất hiện nay đạt khoảng 95%.
Với sự quan tâm ngày càng tăng, nhiều hội nghị và tập dữ liệu liên quan đến phân tích ngôn ngữ đã được tổ chức, trong đó có các bộ Treebank nổi bật Bộ Treebank tiếng Anh do nhóm Stanford NLP phát triển, được chuyển đổi tự động từ PeenTreebank, với các phụ thuộc chung được kế thừa từ bộ Penn POS tag và mở rộng sang nhiều ngôn ngữ khác Đối với tiếng Việt, VietTreebank (VTB) được xây dựng từ 2006-2010 với hơn 40.000 câu cho tách từ, 10.000 câu cho POS tagging và 10.000 câu gán nhãn cú pháp thành phần VnDT bao gồm các nhãn cú pháp phụ thuộc được tự động chuyển đổi từ bộ gán nhãn thành phần của VTB.
Kết quả phân tích cú pháp tiếng Việt hiện vẫn còn hạn chế, với độ chính xác dưới 85% khi có nhãn từ loại chính xác và dưới 80% khi sử dụng nhãn từ loại từ mô hình khác Nghiên cứu về vấn đề này tại Việt Nam còn rất ít và chưa nhận được sự quan tâm rộng rãi BKTreebank, một bộ dữ liệu được phát triển bởi nhóm nghiên cứu NLP tại Lab và các thành viên của team Data Mining, VCCorp, cung cấp nguồn dữ liệu thống nhất theo chuẩn Universal Dependencies Trong phần thực nghiệm, bộ phân tích cú pháp VCParser đã được sử dụng trên tập dữ liệu VCTreebank, được xây dựng dựa trên nhãn và quan hệ của BKTreebank.
Phân tích phụ thuộc, hay còn gọi là Dependency Parsing, là một phương pháp phân tích cú pháp không giống như phân tích cú pháp thành phần Thay vì xác định các thành phần như chủ ngữ, vị ngữ hay cụm danh từ, phân tích phụ thuộc tập trung vào việc khám phá mối quan hệ giữa các từ trong câu.
Đầu vào cho quá trình xử lý ngôn ngữ tự nhiên thường bao gồm các câu văn, trong đó các từ thường được gán nhãn từ loại đầy đủ Đối với những ngôn ngữ yêu cầu tách từ, như tiếng Việt, việc tách từ là một bước cần thiết trước khi tiến hành phân tích.
• Đầu ra: cây cú pháp phụ thuộc tương ứng, thể hiện mối quan hệ phụ thuộc giữa các từ trong câu
Ví dụ về phân tích cú pháp phụ thuộc cho hai câu Tiếng Việt như sau:
1 Bố đã ăn cái bánh ở trên bàn
2 Bố đã ăn cái bánh ở công viên
Hình 14 Ví dụ về cây cú pháp phụ thuộc
Các cây cú pháp phụ thuộc bao gồm các từ có nhãn từ loại tương ứng, kèm theo những mũi tên nối giữa các từ Những mũi tên này thể hiện mối quan hệ phụ thuộc giữa các thành phần trong câu.
• Đầu chứa mũi tên là dependent, là từ bổ nghĩa cho từ khác Nó còn được gọi với với các tên như: child, modifier, subordinate