Chương 1 GIỚI THIỆU ĐỀ TÀI: giới thiệu về nhu cầu của việc rút trích thông tin hiện nay, mô tả bài toán rút trích quan hệ và thực thể, các dataset thường được sử dụng cũng như phương pháp đánh giá. − Chương 2 CƠ SỞ KIẾN THỨC: bàn về cơ sở kiến thức cơ bản trong deep learning, từ Artificial Neural Network tới Recurrent Neural Network, Long Short-Term Memory và cơ chế attention. − Chương 3 CÁC CÔNG TRÌNH NGHIÊN CỨU LIÊN QUAN: nói về các công trình nghiên cứu liên quan, bắt đầu từ công trình e2e- coreref của Lee [1], mở ra hàng loạt công trình tiếp theo cho hướng nghiên cứu end-to-end cho bài toán rút trích đồng thời thực thể và quan hệ, và đó cũng là cơ sở quan trọng cho nghiên cứu của học viên trong luận văn. − Chương 4 CÁC MÔ HÌNH ĐỀ XUẤT: Chương 4 nói cụ thể về các mô hình đề xuất của học viên cho bài toán rút trích đồng thời thực thể 5 và quan hệ dựa trên mô hình cơ sở SpERT [2], và các kết quả thực nhiệm.
− Chương 5 KẾT LUẬN: tổng kết các đóng góp của luận văn, các vấn đề còn tồn tại của bài toán rút trích thông đồng thời nói về nghiên cứu trong tương lai. 6 Chương 2 CƠ SỞ KIẾN THỨC 2. Mô hình Artificial Neural Network - ANN Mô hình Artificial Neural Network - ANN (Mạng nơ-ron nhân tạo) [3] là mô hình tính toán được xây dựng dựa trên ý tưởng lấy từ cấu trúc và cách hoạt động của mạng nơ-ron thần kinh trong não người nhằm thực hiện một tác vụ nào đó với tập dữ liệu đầu vào. Một mạng nơ-ron thần kinh được tạo nên từ nhiều nơ-ron sinh học kết nối và hoạt động cùng nhau.
Mỗi nơ-ron sinh học đó được cấu tạo bởi các thành phần cơ bản được mô tả trong Hình 2.1 bao gồm các đuôi gai, thân nơ-ron và sợi trục.1: Các thành phần cơ bản của một nơ-ron sinh học Nơ-ron thần kinh hoạt động bằng cách tiếp nhận các thông tin đưa vào từ các đuôi gai (dendrites), tính toán và tổng hợp tại thân nơ-ron (cell body), sau đó lan truyền kết quả đến các nơ-ron khác thông qua sợi trục (axon). 7 Có thể dễ dàng rút ra nhận xét rằng nơ-ron sinh học nhận nhiều thông tin đầu vào nhưng chỉ đưa ra một kết quả duy nhất. Tương tự như cách thức hoạt động nêu trên của mạng nơ-ron thần kinh, ANN cũng được cấu thành từ nhiều nơ-ron được gọi là perceptron có cấu trúc như Hình 2. xn là các thông tin dữ liệu đầu vào; − phép cộng (summation) và hàm kích hoạt (activation function) chính là các phép tính toán và tổng hợp các thông tin dữ liệu đầu vào; − w0 , w1 , w2 , w3 ,.
wn là các trọng số cần phải học, đóng vai trò tham gia quá trình tính toán và chuyển đổi các thông tin đầu vào thành thông tin đầu ra; − y là dữ liệu đầu ra.2: Cấu trúc của một perceptron Cụ thể hơn, phương thức tính toán và tổng hợp dữ liệu của một percep- tron được mô tả theo từng bước sau: 8 1. Sau khi tiếp nhận tập các dữ liệu đầu vào {x1 , x2 , ., xn }, perceptron thực hiện phép cộng bằng cách tính tổng giá trị tất cả các tích số của từng cặp dữ liệu đầu vào và giá trị trọng số tương ứng; n a = ∑ wi xi + w0 (2. Kết quả a của phép cộng được đưa vào hàm kích hoạt là hàm không tuyến tính như sigmoid, tanh, ReLU, LeakyReLU.3: Một số hàm kích hoạt được sử dụng trong perceptron 3. Sau đó, perceptron thực hiện phép so sánh giá trị nhận được từ hàm kích hoạt f (a) với một giá trị ngưỡng (threshold) là t cho trước nhằm xác định giá trị đầu ra yb được hiểu là tín hiệu kích hoạt của perceptron.
9 Giả sử tín hiệu kích hoạt là 1 và tín hiệu không kích hoạt là 0, ta có: 1 if f (a) >= t y= (2.4: Cấu trúc mô hình Artificial Neural Network Bằng cách kết hợp nhiều percentron với nhau sẽ tạo nên cấu trúc mô hình ANN như Hình 2.4 và các perceptron được phân thành từng lớp có nhiệm vụ đặc thù riêng: − Tầng dữ kiện (input layer) là tầng đầu tiên, thể hiện các dữ liệu đầu vào của mô hình. − Tầng ẩn (hidden layer) là tầng nằm giữa gồm các phép tính toán chuyển đổi dữ liệu đầu vào sang dữ liệu đầu ra. Số lượng tầng ẩn trong mô hình là không giới hạn mà phụ thuộc vào cách giải quyết bài toán. − Tầng kết quả (output layer) là tầng cuối cùng thể hiện dữ liệu đầu ra 10 của mô hình.
Số lượng tầng ẩn trong mô hình ANN là không giới hạn và được xác định tùy thuộc vào bài toán cần giải quyết. Đặc biệt, khi số lượng tầng ẩn lớn hơn 1 thì mô hình ANN được gọi là mô hình Deep learning (học sâu) [4]. Mô hình Recurrent Neural Network - RNN Văn bản ngôn ngữ tự nhiên được xác định là dữ liệu dạng chuỗi (se- quence data) vì ý nghĩa của văn bản phụ thuộc vào vị trí của từng từ trong câu, ý nghĩa của từ đứng sau phụ thuộc vào những từ đứng trước và tất cả các từ đều liên kết với nhau nhằm tạo nên ngữ cảnh của văn bản. Ngoài ra, dữ liệu của một bản nhạc, dữ liệu giọng nói,.
cũng là dữ liệu dạng chuỗi. Do đó, để xử lý được dữ liệu ngôn ngữ tự nhiên cần mô hình học máy phù hợp với những đặc điểm này. RNN (mạng nơ-ron hồi quy) [5] là một trong những mô hình học máy được thiết kế để giải quyết các bài toán xử lý dữ liệu dạng chuỗi, đặc biệt là dữ liệu ngôn ngữ tự nhiên nên được gọi là mô hình ngôn ngữ. Để thích hợp với các đặc điểm của dữ liệu dạng chuỗi đã được liệt kê trước đó, mô hình RNN ra đời với ý tưởng chính là sử dụng một bộ nhớ để lưu lại thông tin nằm phía trước nhằm dựa vào đó mà tính toán với thông tin phía sau để ra kết quả dự đoán cho bài toán.
Cấu trúc mô hình RNN chỉ bao gồm một tầng xử lý dữ liệu có số lượng perceptron bằng chiều dài của chuỗi dữ liệu đầu vào. Bên cạnh thông tin của chuỗi dữ liệu đầu vào, perceptron còn có thông tin đầu vào khác là kết quả đầu ra của perceptron ở vị trí ngay trước đó. Có thể hiểu rõ cách hoạt động này bằng cách tham khảo mô hình được mô tả trong Hình 2.5: Cấu trúc mô hình Recurrent Neural Network Trong đó: − xt , t ∈ [1, n] là vector biểu diễn thành phần thứ t của chuỗi dữ liệu đầu vào; − ht , t ∈ [0, n] là vector hidden state (trạng thái ẩn) của dữ liệu tại bước xử lý t, có thể hiểu đây là kết quả của bước xử lý thứ t đồng thời là dữ liệu đầu vào cho bước xử lý t + 1; − yt , t ∈ [1, n] là vector biểu diễn thành phần thứ t của chuỗi dữ liệu đầu ra. Có thể thấy rằng độ dài chuỗi dữ liệu đầu ra y1 , y2 , .yn trong Hình 2.5 đúng bằng với độ dài chuỗi dữ liệu đầu vào x1 , x2 ,.
Thực ra, tùy vào yêu cầu bài toán mà xác định độ dài của hai chuỗi này có thể giống hoặc khác nhau. Tuy nhiên, việc xác định chỉ rơi vào 3 trường hợp: 1. Dữ liệu đầu vào có độ dài là 1 và dữ liệu đầu ra có độ dài lớn hơn 1; 2. Dữ liệu đầu vào có độ dài lớn hơn 1 và dữ liệu đầu ra có độ dài là 1; 3.
Cả hai chuỗi dữ liệu đều có độ dài bằng nhau và lớn hơn 1. 12 Quá trình biến đổi các vector đầu vào xt và ht−1 sang các vector đầu ra ht và yt tại bước xử lý dữ liệu thứ t là quá trình huấn luyện các bộ ma trận trọng số Wxh , Whh và Why được thực hiện bởi perceptron với các phép tính toán được sắp xếp theo các thứ tự sau (Hình 2.6: Cơ chế hoạt động của perceptron trong mô hình Recurrent Neural Network 1. Tính tích của xt và ma trận trọng số Wxh. Tính tích của ht−1 và ma trận trọng số Whh.
Thực hiện phép tổng của hai tích trên với giá trị của bias, sau đó đưa kết quả qua hàm tanh sẽ thu được giá trị của hidden state ht ; ht = tanh(Wxh xt +Whh ht−1 + b) (2. Dữ liệu đầu vào là kết quả của hàm so f tmax có gái trị tham số là tích của ma trận trọng số Why và hidden state ht. yt = so f tmax(Why ht ) (2. Mô hình Long Short-Term Memory Mô hình RNN là mô hình được thiết kế để xử lý các dữ liệu dạng chuỗi.
Tuy nhiên, với yêu cầu về kết quả dự đoán ngày càng cao của con người thì RNN vẫn chưa đáp ứng được nếu dữ liệu dạng chuỗi đầu vào có độ dài tương đối lớn. Vì đặc điểm của dữ liệu chuỗi là thông tin đứng sau phụ thuộc vào các thông tin đứng trước nên cần một mô hình có khả năng nhớ được các từ phía trước lâu hơn và dài hơn. Bên cạnh đó, mô hình cần chọn lọc thông tin để nhớ tại mỗi bước xử lý chứ không nhớ tất cả các thông tin vì trong thực tế thông tin đứng sau chỉ liên hệ đến một phần trong số các thông tin đứng trước. Nhằm giải quyết vấn đề này, mô hình Long Short-Term Memory (LSTM) [6] ra đời dựa trên kiến trúc của mô hình RNN.
Tuy nhiên, dữ liệu đầu vào của mô hình LSTM không chỉ là xt và ht−1 như mô hình RNN mà còn cần giá trị cell state ct−1. Cụ thể hơn, phương thức hoạt động của từng percep- tron trong mô hình LSTM được thiết kế phức tạp với cơ chế gating như mô tả trong Hình 4.5 theo từng bước như sau: 1. Bước đầu tiên sẽ tính toán và tổng hợp thông tin từ hidden state trước đó ht−1 và dữ liệu đầu vào xt như cách perceptron trong mô hình RNN thực hiện: Cet = tanh(Wc [ht−1 , xt ] + bc ) (2. Cổng cập nhật (update gate) là phần quyết định sẽ giữ lại bao nhiêu phần từ vector hidden state trước ht−1 và vector dữ liệu xt với phép tính sau: ut = σ (Wu [ht−1 , xt ] + bu ) (2.
Từ kết quả của bước 1, 2 và 3 có thể xác định được giá trị của cell state ct bằng công thức: ct = ft ∗ ct−1 + ut ∗ Cet (2. Cuối cùng là phép tính giá trị hidden state ht từ giá trị của cell state ct ở bước 4 và ot ở bước 5 như sau: ht = ot ∗ tanh(ct ) (2.