Cnn cho bài toán phân loại văn bản yoonkim

Luận văn là một nghiên cứu cho bài toán tóm tắt văn bản theo hướng tóm lược ý, thực nghiệm tiến hành trên dữ liệu tiếng Anh. Nghiên cứu đã có kết quả bước đầu cho bài toán tóm tắt văn bản. Luận văn đã trình bày một số vấn đề chính sau:  Tìm hiểu tổng quan về tóm tắt văn bản và đi sâu vào tóm tắt tóm lược.  Trình bày hiểu biết về các mô hình mạng trong học sâu như mạng nơ-ron đa lớp, mạng LSTM, mạng GRU, mạng nơ-ron tích chập.  Đề xuất mô hình dựa trên mạng nơ-ron tích chập và mạng GRU kèm theo cơ chế attention.  Tiến hành thử nghiệm với hai bộ dữ liệu khác biệt với các cấu hình mạng CNN khác nhau. Kết quả cho thấy hiệu quả rõ ràng của mô hình đề xuất so với mô hình words-lvt2k-1sent của nhóm tác giả R Nallapati [19]. Mặc dù đã cố gắng và nỗ lực, nhưng do thời gian nghiên cứu và trình độ bản thân có hạn cùng với cấu hình máy chạy chưa đủ mạnh nên luận văn chưa đạt được kết quả như mong muốn. Trong tương lai, tôi tiếp tục hướng nghiên cứu dùng các mô hình Deep learning mới cho bài toán tóm tắt văn bản theo hướng tóm lược:  Sử dụng Cơ chế bao phủ [19], [23]: Sự lặp lại từ có thể được tính toán bằng sự tăng lên và liên tục chú ý tới một từ cụ thể.  Sử dụng mạng Pointer [23]: Các bản tóm tắt cần sao chép hoặc chứa một lượng các từ xuất hiện trong văn bản nguồn.  Sử dụng các phương pháp học tăng cường [24]: dựa vào độ đo ROUGE để định nghĩa hàm lỗi.

66 trang | Chia sẻ: | Lượt xem: 703 | Lượt tải: 0

Bạn đang xem trước 20 trang tài liệu Luận văn Tóm tắt văn bản sử dụng các kỹ thuật trong Deep Learning, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên

ion kết hợp với các hàm kích hoạt phi tuyến [nonlinear activation function] như ReLU hay tanh để tạo ra thông tin trừu tượng hơn cho các tầng tiếp theo. Trong mô hình mạng nơ-ron truyền thẳng [FNN], các tầng kết nối trực tiếp với nhau thông qua một trọng số w. Các tầng này còn được gọi là kết nối đầy đủ [full connected layer]. Trong mô hình CNNs thì ngược lại. Các tầng liên kết được với nhau thông qua cơ chế tích chập. Tầng tiếp theo là kết quả tích chập từ tầng trước đó, nhờ vậy mà ta có được các kết nối cục bộ. Nghĩa là mỗi nơ-ron ở tầng tiếp theo sinh ra từ bộ lọc áp đặt lên một vùng ảnh cục bộ của nơ-ron tầng trước đó. Mỗi tầng như vậy được áp đặt các bộ lọc khác nhau, thông thường có vài trăm đến vài nghìn bộ lọc như vậy. Một số tầng khác như tầng pooling/subsampling dùng để chặn lọc lại các thông tin hữu ích hơn [loại bỏ các thông tin nhiễu]. Trong suốt quá trình huấn luyện, CNNs sẽ tự động học được các thông số cho các bộ lọc. Ví dụ trong tác vụ phân lớp ảnh, CNNs sẽ cố gắng tìm ra các thông số tối ưu cho các bộ lọc tương ứng theo thứ tự raw pixel > edges > shapes > facial > higher-level features. Tầng cuối cùng dùng để phân lớp ảnh. for-nlp/

more-348 Hình 2.7: Mạng CNN 27 CNNs có tính bất biến và có tính kết hợp cục bộ [Location Invariance and Compositionality]. Với cùng một đối tượng, nếu đối tượng này được chiếu theo các góc độ khác nhau [translation, rotation, scaling] thì độ chính xác của thuật toán sẽ bị ảnh hưởng đáng kể. Tầng Pooling sẽ cho bạn tính bất biến đối với phép dịch chuyển [translation], phép quay [rotation] và phép co giãn [scaling]. Tính kết hợp cục bộ cho ta các cấp độ biểu diễn thông tin từ mức độ thấp đến mức độ cao và trừu tượng hơn thông qua tích chập từ các bộ lọc. Đó là lý do tại sao CNNs cho ra mô hình với độ chính xác rất cao. Cũng giống như cách con người nhận biết các vật thể trong tự nhiên. Ta phân biệt được một con chó với một con mèo nhờ vào các đặc trưng từ mức độ thấp [có 4 chân, có đuôi] đến mức độ cao [dáng đi, hình thể, màu lông]. 2.4.1. Tầng convolution Xét l như là tầng convolution. Đầu vào tầng l bao gồm m1[l-1] bản đồ đặc trưng từ tầng đằng trước, mỗi bản đồ có kích thước m2[l-1] x m3[l-1]. Tầng thứ i của bản đồ đặc trưng trong tầng l, xác định đầu ra Yil: 𝑌𝑖 [𝑙] = 𝐵𝑖 [𝑙] + ∑ 𝐾𝑖,𝑗 [𝑙] ∗ 𝑌𝑗 [𝑙−1] 𝑚1 [𝑙−1] 𝑗=1 [2.42] Trong đó: Bi [l] là ma trận bias. Ki,j [l] là kích thước bộ lọc 2h1[l]+1 x 2h2[l]+1 kết nối bản đồ đặc trưng thứ j trong tầng [l-1] với bản đồ đặc trưng thứ i trong tầng l. Khi đó đầu ra bản đồ đặc trưng tầng l: m2 [l] = m2 [l-1]-2h1 [l] và m3 [l] = m3 [l-1]-2h2 [l] Thông thường các bộ lọc để tính toán một bản đồ đặc trưng Yi[l] là giống nhau. Điều đó có nghĩa là: Ki,j[l] = Ki,k[l] với mọi j≠k. Mỗi vị trí [r,s] trong ma trận Yi[l] được tính bằng công thức: 28 [𝑌𝑖 [𝑙] ]𝑟,𝑠 = [𝐵𝑖 [𝑙] ]𝑟,𝑠 + ∑ [𝐾𝑖,𝑗 [𝑙] ∗ 𝑌𝑗 [𝑙−1] ]𝑟,𝑠 𝑚1 [𝑙−1] 𝑗=1 = [𝐵𝑖 [𝑙] ]𝑟,𝑠 + ∑ ∑ ∑ [𝐾𝑖,𝑗 [𝑙] ]𝑢.𝑣 ∗ [𝑌𝑗 [𝑙−1] ]𝑟+𝑢,𝑠+𝑣 ℎ2 [𝑙] 𝑣=−ℎ2 [𝑙] ℎ1 [𝑙] 𝑢=−ℎ1 [𝑙] 𝑚1 [𝑙−1] 𝑗=1 [2.43] //davidstutz.de/wordpress/wp-content/uploads/2014/07/seminar.pdf Hình 2.8: Minh họa một tầng đơn convolution. Tầng đầu vào hay là bản đồ trọng số của tầng đằng trước được nhân chập bởi các bộ lọc khác nhau để đưa ra một bản đồ đặc trưng của tầng l. 2.4.2. Tầng phi tuyến Nếu l là tầng phi tuyến, đầu vào là m1[l] bản đồ đặc trưng, đầu ra lặp lại m1[l] =m1[l-1] bản đồ đặc trưng. Mỗi bản đồ kích thước m2[l] x m3[l], và giá trị tính bằng công thức: Yi [l] = f[Yi [l-1]] Trong đó f là hàm phi tuyến như hàm sigmoid hay tanh. 29 Hình 2.9: Hàm sigmoid [trái] Hàm tanh [phải] 2.4.3. Tầng pooling Coi l là tầng pooling. Đầu ra được hợp thành từ m1[l] = m1[l-1] bản đồ đặc trưng đã giảm kích thước. Tầng pooling thay thế các cửa sổ trượt tại các vị trí không chồng chéo trong mỗi bản đồ đặc trưng và giữ mỗi một giá trị cho mỗi cửa sổ như là việc bản đồ đặc trưng được lấy mẫu. Có hai kiểu pooling: Average pooling: Lấy giá trị trung bình mỗi cửa sổ được chọn. Max pooling: Lấy giá trị lớn nhất mỗi cửa sổ được chọn. //davidstutz.de/wordpress/wp-content/uploads/2014/07/seminar.pdf Hình 2.10: Minh họa tầng pooling. 30 Coi l là tầng pooling và chọn m1[l-1] = 4 bản đồ đặc trưng của tầng trước. Tất cả các bản đồ đặc trưng được pooling và lấy mẫu độc lập. Mỗi đầu ra trong số m1[l] bản đồ đặc trưng đưa ra một giá trị trung bình hoặc giá trị lớn nhất trong một cửa sổ cố định tương ứng với bản đồ đặc trưng trong tầng [l-1]. 2.4.4. Tầng kết nối đầy đủ Coi l là tầng kết nối đầy đủ. l lấy m1[l-1] bản đồ đặc trưng kích thước m2[l-1] x m3[l-1] như đầu vào. Vị trí thứ i trong tầng l được tính bằng công thức: yi [l] = f[zi [l]] Trong đó: 𝑧𝑖 [𝑙] = ∑ ∑ ∑ 𝑤𝑖,𝑗,𝑟,𝑠 𝑙 [𝑌𝑗 [𝑙−1] ]𝑟,𝑠 𝑚3 [𝑙−1] 𝑠=1 𝑚2 [𝑙−1] 𝑟=1 𝑚1 [𝑙−1] 𝑗=1 [2.44] Với wi,j,r,sl xác định trọng số kết nối giữa vị trí [r,s] tại bản đồ đặc trưng thứ j của tầng [l-1] và thứ i của tầng l. Trong thực thế, tầng convolution được sử dụng để học các đặc trưng kế thừa và một hay nhiều tầng kết nối đầy đủ sử dụng cho mục đích phân loại dựa vào tính toán đặc trưng. Lưu ý rằng, một tầng kết nối đầy đủ đã bao gồm hàm phi tuyến trong khi ở tầng convolution, tầng phi tuyến được tách rời trong lớp riêng của chúng. 31 Chương 3: Mô hình đề xuất Các quá trình xử lý mạng nơ-ron liên quan đến Attention đã được nghiên cứu nhiều trong lĩnh vực thần kinh học. Các nghiên cứu liên quan là hiện thực hóa Attention: rất nhiều loại động vật tập trung trong việc xác định thành phần cụ thể đầu vào để tính toán phản hồi phù hợp. Nguồn gốc có một lượng lớn ảnh hưởng đến khoa học thần kinh khi chúng ta phải lựa chọn những thông tin phù hợp nhất, hơn là việc sử dụng tất cả các thôn tin, chứa một lượng lớn các thông tin không phù hợp cho phản hồi nơ-ron. Ý tưởng tập trung vào các thành phần cụ thể của đầu vào được áp dụng trong các ứng dụng của học sâu như nhận dạng tiếng nói, dịch máy, lý giải và nhận dạng thị giác của đối tượng. Bài toán mở đầu là: Sinh một tiêu đề cho ảnh. Một hệ thống cổ điển sinh tiêu đề có thể mã hóa hình ảnh, sử dụng một quá trình tiền xử lý CNN có thể đưa ra tầng ẩn h. Sau đó, nó có thể giải mã tầng ẩn bằng một mạng RNN, và sinh ra một đệ quy mỗi từ của tiêu đề. //blog.heuritech.com/2016/01/20/attention-mechanism/ Hình 3.1: Bài toán sinh tiêu đề 32 Vấn đề đặt ra với phương pháp này là khi mô hình cố gắng sinh ra một từ của tiêu đề, từ này thường chỉ mô tả duy nhất một phần của hình ảnh. Sử dụng toàn bộ biểu diễn của bức ảnh h để điều kiện hóa việc sinh mỗi từ sẽ không hiệu quả trong việc đưa ra một từ khác cho những thành phần khác của bức ảnh. Điều này lý giải cho lợi ích của kỹ thuật Attention. Với kỹ thuật Attention, bức ảnh đầu tiên được chia thành n thành phần và chúng có thể tính toán với sự trình diễn CNN cho mỗi thành phần h1,...,hn. Khi RNN sinh ra một từ mới, kỹ thuật Attention tập trung vào những thành phần phù hợp của bức ảnh, vì thế quá trình giải mã chỉ sử dụng thành phần cụ thể của ảnh. //blog.heuritech.com/2016/01/20/attention-mechanism/ Hình 3.2: Sơ đồ mô hình Attention Trước khi sử dụng Cơ chế Attention, các mô hình tóm tắt đều có cơ chế sử dụng Encoder-Decoder. Tại bước encoder, đầu vào của mạng RNN, LSTM, GRU là các vector được tạo ra từ mã hóa chuỗi từ với mô hình từ nhúng [word embedding]. Pha decoder sử dụng một mạng RNN, LSTM hoặc GRU tương ứng để sinh ra một chuỗi từ mới dựa vào chuỗi đầu vào và các từ sinh ra phía trước. Trong mô hình tóm tắt văn bản tự động, thay vì tìm ra xác suất lớn nhất của mỗi từ sinh ra ở bước decoder, chúng ta tạo ra danh sách các từ ứng viên tại mỗi bước giải mã. Sau đó sử dụng giải thuật tìm kiếm chùm [Beam Search] để lựa chọn các từ ứng viên và kết nối danh sách các từ ứng viên đó lại thành một câu có điểm số cao nhất tạo ra một chuỗi tóm tắt. 33 3.1. Cơ chế Attention 3.1.1. Kiến trúc RNN Encoder-Decoder Được đề xuất bởi Cho[12] và Sutskever[10] như là một kiến trúc hiện đại có thể học sự căn chỉnh và dịch ngay lập tức. Trong Encoder-Decoder, một encoder đọc vào một câu - một chuỗi vector x = [x1,,xTx] thành một vector c. Cách tiếp cận như sau: ht = f[xt, ht-1] [3.1] c = q[{h1,,hTx}] [3.2] Trong đó ht là trạng thái ẩn tại thời điểm t, ht ∈ ℝn và c là vector được sinh ra từ một chuỗi các trạng thái ẩn. f và q là các hàm phi tuyến. Pha decoder, được huấn luyện để dự đoán từ tiếp theo yt’ cho ngữ cảnh c và tất cả các từ dự đoán đằng trước {y1,,yt’-1}. Hiểu theo cách khác decoder định nghĩa một xác xuất trên chuyển dịch y bằng việc phân tích xác suất liên kết thành thứ tự các điều kiện: 𝑝[𝑦] = ∏𝑝[𝑦𝑡|{𝑦1, , 𝑦𝑡−1}, 𝑐] 𝑇 𝑡=1 [3.3] Trong đó y = [y1,yTy]. Với một mạng RNN, mỗi xác suất có điều kiện được mô hình bởi: 𝑝[𝑦𝑡|𝑦1, , 𝑦𝑡−1, 𝑐] = 𝑔[𝑦𝑡−1, 𝑠𝑡 , 𝑐] [3.4] Trong đó g là hàm phi tuyến, yt là đầu ra và st là trạng thái ẩn của mạng RNN. 34 Kyunghyun Cho et al. [12] Hình 3.3: Minh họa kiến trúc của mạng Encoder-Decoder 3.1.2. Cơ chế Attention Kiến trúc Encoder-Decoder có thể bị phá vỡ khi chuỗi đầu vào quá dài. Nguyên nhân là nếu ở mỗi bước nếu chỉ có một vector ngữ cảnh c giao tiếp giữa encoder và decoder, vector đó sẽ phải mã hóa cho toàn bộ chuỗi đầu vào, dẫn đến nó có thể bị tan biến khi nó xử lý chuỗi ký tự quá dài. Cơ chế Attention cho phép bộ giải mã tập trung vào một phần khác nhau từ đầu ra của encoder. Định nghĩa mỗi xác suất có điều kiện như sau: 𝑝[𝑦𝑖|{𝑦1, , 𝑦𝑖−1}, 𝑥] = 𝑔[𝑦𝑖−1, 𝑠𝑖 , 𝑐𝑖] [3.5] Trong đó: Mỗi si là một trạng thái ẩn RNN tại thời điểm i, tính bằng công thức: si = f[si-1, yi-1, ci] [3.6] Điều này không giống với cách tiếp cận encoder-decoder, ở đây mỗi xác suất được điều kiện trên một ngữ cảnh riêng biệt ci cho mỗi từ mục tiêu yi. 35 Vector ngữ cảnh ci phụ thuộc vào chuỗi trạng thái [h1,,hTx] – để encoder ánh xạ câu đầu vào. Mỗi trạng thái hi chứa đựng thông tin của toàn bộ câu với một sự nhấn mạnh các thành phần xung quanh từ thứ i của câu đầu vào. Ngữ cảnh c được tính toán như là trọng số tổng hợp của các trạng thái hi: 𝑐𝑖 = ∑𝛼𝑖,𝑗ℎ𝑗 𝑇𝑥 𝑗=1 [3.7] Trong đó: trọng số αi,j của mỗi trạng thái hj được tính như sau: 𝛼𝑖,𝑗 = exp[𝑒𝑖𝑗] ∑ exp[𝑒𝑖𝑘] 𝑇𝑥 𝑘=1 [3.8] Với eij = a[si-1, hj] là hình thức căn lề tính điểm khả năng đầu vào xung quanh vị trí j và đầu ra tại vị trí i trùng nhau. Điểm số dựa trên trạng thái ẩn RNN si-1 và trạng thái gán nhãn hj của câu đầu vào. Xác suất αij hay eij phản ánh độ quan trọng của trạng thái hj với trạng thái ẩn đằng trước si-1 để quyết định trạng thái tiếp theo si và đưa ra nhãn yi. Decoder quyết định thành phần của câu đầu vào để tập trung. Encoder toàn bộ thông tin câu thành một vector có độ dài cố định. Thông tin có thể trải dài thành chuỗi gán nhãn, có thể lựa chọn lấy lại bởi pha decoder tương ứng. Toàn bộ mô hình được huấn luyện end-to-end bằng việc cực tiểu hóa xác suất có điều kiện: 𝐿[𝜃] = − 1 𝑁 ∑∑𝑙𝑜𝑔𝑝[𝑦𝑡 = 𝑦𝑡 𝑛|𝑦

Chủ Đề