Chương 1. Trong chương đầu tiên, tôi xin trình bày khái quát về đề tài, mục tiêu, phạm vi và cấu trúc luận văn của tôi. Kiến thức nền tảng. Chương này tôi xin trình bày những kiến thức cơ bản được sử dụng để xây dựng mô hình question answering trong luận văn, chủ yếu là các kiến thức liên quan đến Deep Learning và xử lý dữ liệu.
Công nghệ sử dụng. Chương này tôi xin giới thiệu về các ngôn ngữ lập trình, các framework tôi đã sử dụng trong quá trình làm luận văn. Các công trình liên quan. Chương này tôi xin giới thiệu các công trình liên quan đến các hệ thống question answering.
Hiện thực hệ thống. Chương này tôi xin trình bày về các phương pháp thực hiện luận văn, bao gồm việc thu thập và tiền xử lý dữ liệu, mô hình đề xuất và hệ thông ứng dụng mô hình học sâu. Kiểm định và đánh giá. Trong chương này, tôi xin trình bày về việc kiểm thử hệ thống đã xây dựng.
Cuối cùng, tôi tổng kết lại các vấn đề trong quá trình nghiên cứu và làm luận văn. Đồng thời, cũng xin nêu ra các hạn chế cũng như mở ra các hướng phát triển của đề tài trong tương lai. KIEN THUC NEN TANG Trong chương này, chúng tôi xin trình bày những kiến thức nên tảng được sử dụng trong quá trình thực hiện luận văn bao gồm các kỹ thuât, các khái niệm thường được sử dụng trong mạng học sâu và mô hình học sâu được ứng dụng trong luận văn. QC 22 c2 12022 6 22 Cach biéu diénembbeding .4 Phương pháp TF-IDF 9 2.5 Mô hình mạng MultlayerPerceepron .6 Mô hình mạng Recurrent NeuralNetworks.- 14 27 Mo Hinl Seq28eq:, ww: oo ge ko Ww 8 EEE WEL SEY WW Hage EG OSS 18 DiS CORE ARGH 5 wi scx oo wee eee ew a HS wg 20 2.10 Biéu dién Ma hoa hai chiều từ Transformer (BERT).- 26 CHUONG 2 KIEN THUC NEN TANG 6 2.1 Cách biểu diễn one-hot vector 2.1 Dữ liệu Categorical (Categorical Data) Categorical data [1] 1a loai dif liu có các biến biểu diễn đại diện cho các dữ liệu có thể được chia thành các nhóm.
Phân phối Categorical [2] là phân phối tổng quát của phân phối Bernoulli. Các đầu ra của phân phối categorical được mô tả bởi một phan tử trong tập hợp I,2,. Nếu có K giá trị đầu ra, phân phối categorical được mô tả bởi K tham số, được viết dưới dạng vector như sau:  = [Â, Âa.,¿] với các không âm và có tổng bang 1. Phân phối categorical thường được kí hiệu dưới dạng: p(x) = can] 2.2 Cách biểu diễn one-hot vector Trước khi kỹ thuật nhúng từ ra đời, kĩ thuật được sử dụng phổ biến để số hoá một từ là sử dụng one-hot vector.
Kĩ thuật này được áp dụng trong các mô hình học máy cổ điển trong giai đoạn tiền xử lý, nhằm biến đổi những dữ diệu dạng categorical sang numerical, từ đó giúp máy tính có thể tính toán và xử lý được hiệu quả hơn. One-hot vector là một vector chứa dữ liệu nhị phân (0 và 1), tuy nhiên chỉ có một chiều trong vector được kích hoạt mang giá trị I, toàn bộ những chiều còn lại đều mang giá trị 0. One-hot encoding là kĩ thuật biểu diễn một tập các giá trị rời rạc sang một tập one-hot vector Hạn chế của One-hot vector: Giới hạn khả năng tính toán của máy tính: Hầu hết các chiều của one-hot vector mang giá trị 0, và nhiều mô hình học máy không làm việc hiệu quả trên vector có số chiều lớn (high dimensional vector) và “thưa” (sparse vector). Sự quá khớp (overfitting) xảy ra khi số lượng | từ trong từ điển tăng: Với kĩ thuật này, mỗi khi gia tăng số lượng từ trong từ điển lên n, số chiều của one-hot vector cũng tăng tương ứng vì số chiều của vector tương ứng với tổng số lượng từ có trong từ điển.
Thiéu kha năng tổng quát hoá: Qua quá trình tiến hoá của con người, ngôn ngữ được sinh ra và phát triển theo thời gian. Khi nhìn vào một từ, chúng ta không chỉ biết ý nghĩa của mỗi từ đó mà còn hiểu được sự liên kết với những từ khác, và có khả năng tổng quát hoá ý nghĩa của một nhóm các từ liên quan. Nhờ khả năng tổng quá hoá, chúng ta có thể rút ngắn thời gian học một kiến thức mới. Với kĩ thuật one-hot encoding, mỗi từ được biểu diễn thành một vector riêng lẻ, và khoảng cách giữa các vector đều bằng nhau và bằng v⁄2.
Do đó, mô hình không thể sử dụng lại những “kiến thức” đã được huấn luyện cho những từ liên quan với nhau về mặt ngữ nghĩa. CHUONG 2 KIEN THUC NEN TANG 7 1 red 1 1 9 9 3 green 3 a e 1 4 blue 4 a # 9 Hình 2.1: Các biểu diễn bằng one-hot vector (Nguồn: [3]).2 Cách biểu diễn embbeding Trong ngữ cảnh của mạng neuron, embedding [4] [5] là một ánh xạ của biến rời rạc, phân loại thành một vector của các số liên tục. Các phép embedding là các biểu diễn vector liên tục ít chiều, đã được học của các biến rời rạc. Embbeding đối với mạng nơ-ron rất hữu ích vì chúng có thể làm giảm kích thước của các biến phân loại rời rạc và thể hiện có ý nghĩa các danh mục trong không gian đã biến đổi.
Embedding có các mục đích chính: » Biểu diễn được các mối quan hệ giữa các nhóm dữ liệu. 5 Giúp giảm số chiều biểu diễn cho các dữ liệu categorical.8 1J-521|02|11 index one-hot vector weight matrix embedding Hình 2.2: Các biểu diễn bằng embedding (Nguồn: [5]). Embedding khắc phục được các hạn chế của phương pháp biểu diễn one-hot vector khi biểu diễn dữ liệu categorical. CHUONG 2 KIEN THUC NEN TANG 8 2.3 Full-Text Search 2.1 Khai niém Trong truy xuất văn ban, Full-Text Search (tìm kiếm toàn văn bản) đề cập đến các kỹ thuật tìm kiếm một tài liệu trong cơ sở dữ liệu toàn văn bản.
Tìm kiếm toàn văn bản được phân biệt với các tìm kiếm dựa trên metadata (siêu dữ liệu) hoặc trên các phần của văn bản gốc trong cơ sở dữ liệu (như tiêu đề, tóm tắt, phần được chọn hoặc tài liệu tham khảo thư mục). Inverted Index Inverted Index là một kỹ thuật được ting dung trong Full-Text Search, thay vi thong thudng ta hay danh Index cua co sé dit liéu theo don vi row thi bây giờ ta sẽ đánh Index theo đơn vi term. Gia sti ta c6 3 documents: * DI ="this is first document" ¢ D2 ="this is second one" ¢ D3 ="one two" Inverted Index cua chung sé là: « "this" => (DI, D2} + "is" => (DI, D2) "first" => {D1} ¢ "document" => {DI} ¢ "second" => {D2} * "one" => {D2, D3} * "two" => {D3} Bây giờ ta muốn tìm cụm theo cụm từ "this is first", ta xem nó như là 3 token "this", "is", "first" ta tiến hành union 3 tập hợp của Inverted Index của 3 token này: {D1, D2} union {D1, D2} union {D1} = {D1} Ta sé thu được kết quả là (DI, D2), tức là kết quả search của cụm từ "this is first" sé là "this is first document" va "this is second one". CHUONG 2 KIEN THUC NEN TANG 9 2.4 Phuong phdp TF-IDF TF-IDF là từ viết tắt của thuật ngữ tiếng Anh "term frequency — inverse document frequency".
TF-IDF là trọng số của một từ trong văn bản thu được qua thống kê thể hiện mức độ quan trọng của từ này trong một văn bản, mà bản thân văn bản đang xét nằm trong một tập hợp các văn bản. Cách tính của phương pháp TE-IDF: TF-IDE gồm hai thành phần TE và IDF, được tính như sau: TF (Term Frequency): dùng để ước lượng tần suất xuất hiện của một từ trong một văn bản. Để chuẩn hóa tần suất này, chúng ta sẽ chia nó cho tần suất của từ xuất hiện nhiều nhất trong văn bản đó. Dưới đây là công thức tính TF.1) Trong do: *ƒ(r,đ) là số lần xuất hiện từz trong văn ban d.
* max {f(w,d) : w € đ} là tần suất của từ xuất hiện nhiều nhất trong văn bản d. IDF (Inverse Document Frequency): dùng để ước lượng mức độ quan trọng của một từ trong toàn bộ tập văn bản. Đối với từng văn bản, việc một từ xuất hiện nhiều lần sẽ có mức độ quan trọng cao hơn. Tuy nhiên, đối với toàn bộ tập các văn bản, một từ mà ở văn bản nào cũng xuất hiện sẽ trở nên phổ biến và không còn quan trọng nữa.
Đó là lí do chúng ta cần phải giảm đi mức độ quan trọng của những từ đó bằng cách sử dụng IDF được tính bằng công thức sau: IDI IDF (t,D) =1 ==.2) Trong do: * |D| là tổng số văn bản trong tập văn ban D * |{d€D:rc 4}| là số lượng văn bản trong tập văn bản Ð có chứa từ Sau cùng, kết hợp cả TF và IDE, ta có được công thức TF-IDE TF —IDF(t,d,D) =TF(t,d) x IDF(t,Ð) (2.3) CHUONG 2 KIEN THUC NEN TANG 10 2.5 M6 hinh mang Multilayer Perceptron Multilayer perceptron (MLP) [2] 1a một trong những kiến trúc cơ bản nhất của mạng thần kinh nhân tạo (Artificial Neural Network - ANN). Mạng neuron với nhiều hơn hai tầng được gọi là MLP. Kiến trúc của MLP bao gồm: một tầng nhập (Input Layer), một hoặc nhiều tầng ẩn (Hidden Layer) và một tầng xuất (Output Layer). wo) we) we) Input Hidden 1 Hidden 2 Output Hình 2.3: MLP với hai hidden layer (Nguồn: [2]).
Mỗi tầng của MLP gồm nhiều đơn vị gọi là nút (unit hoặc node), các nút của tầng sau sẽ được liên kết với toàn bộ các nút ở tầng trước, cách liên kết này gọi là Fully Connected. Đầu vào của các hidden layer được kí hiệu là z, đầu ra của nó được kí hiệu là a. Đầu ra của unit thứ ¡ trong layer / được kí hiệu là a, Goi a! 1a s6 luong unit ctia layer /. Méi hidden layer / sẽ có hai thằnh chính là ma trận hệ số W(D e #f~x4'? và bias p(Ð e #“”, Tổng quát, ta có z0) = W0a=1) + p(D và ạ) = f (20).
f () due goi 1a ham kich hoat (Activation Function), thường là các hàm phi tuyến. (1— 1)? layer I layer ( () ® a a a -ô © 0 D(a) 20 Ay WO eRe ?xa® at) ql wi) & b0 R4x1 i O 2 a0 #j ® = wi wOTgl-d al +; 4p h en : z0 = W0 Ta(—1) + bÉ) Ao) a @ a) al) — f(2) wi) all) 2 Ay 2 ald Hình 2.4: Các kí hiệu va công thức tính toán trong MLP (Nguồn: [2]). CHUONG 2 KIEN THUC NEN TANG 1 2.1 Một số hàm Activation Cho đến thời điểm hiện nay, có rất nhiều hàm activation [2] được sử dụng, vì vậy trong giới hạn luận văn, tôi xin trình bày một số ham activation đã được dùng.1 Hàm Tanh Công thức: a=tanh(z) = — (2.5: Đồ thị hàm Tanh (Nguồn: [2]). CHUONG 2 KIEN THUC NEN TANG 12 2.