1. Trang chủ
  2. » Giáo Dục - Đào Tạo

Phân loại văn bản dựa trên CNC (tt)

26 2 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

ĐẠI HỌC ĐÀ NẴNG TRƯỜNG ĐẠI HỌC BÁCH KHOA TRẦN THỊ THÚY HÀ PHÂN LOẠI VĂN BẢN DỰA TRÊN CNN C C R UT.L D Chuyên ngành: KHOA HỌC MÁY TÍNH Mã số: 8480101 TĨM TẮT LUẬN VĂN THẠC SĨ KỸ THUẬT Đà Nẵng – Năm 2021 Cơng trình hoàn thành ĐẠI HỌC ĐÀ NẴNG Người hướng dẫn khoa học: PGS TS VÕ TRUNG HÙNG Phản biện 1: PGS.TS Nguyễn Tấn Khôi C C R UT.L Phản biện 2: TS Lâm Tùng Giang D Luận văn bảo vệ trước Hội đồng chấm Luận văn tốt nghiệp thạc sĩ kỹ thuật họp trường Đại học Bách khoa vào ngày 23 tháng 01 năm 2021 Có thể tìm hiểu luận văn tại: - Trung tâm Học liệu truyền thông, Trường ĐH Bách khoa Đại học Đà Nẵng - Thư viên Khoa Công Nghệ Thông, Trường ĐH Bách khoa-ĐHĐN MỞ ĐẦU Lý chọn đề tài Ngày nay, với phát triển mạnh mẽ ngành công nghệ thông tin với bùng nổ khối lượng thông tin mạng Internet khiến người loay hoay với việc xử lý với lượng thơng tin để phân loại, chọn lọc thơng tin cho tốt cho Trong thực tế, số lượng văn lớn, sử dụng phương pháp phân loại liệu thủ công điều khơng khả thi có vơ số văn cần phân loại Mặt khác biết máy tính hiểu liệu đầu vào dạng số mà phần lớn lượng thông tin lại dạng văn Đã có nhiều nghiên cứu nhằm giải vấn đề toán phân loại văn giải pháp hợp lý Trước hết toán phân loại dùng thuật tốn phân loại (trong machine learning hay deep learning) như: Naive Bayes, Decision Tree (Random Forest), Vector Support Machine (SVM), Convolution Neural Network (CNN), Recurrent Neural Network (RNN), Long Short-Term Memory (LSTM)… Theo số khảo sát, nghiên cứu kỹ thuật mạng Neural tích chập - CNN đánh giá có độ xác tốt với tính qn liệu cao vượt trội kỹ thuật khác thời gian huấn luyện – trainning liệu Vì luận văn này, tơi định thực đề tài “Phân loại văn dựa CNN (Convolutional Neural Network)” Mục tiêu nhiệm vụ nghiên cứu 2.1 Mục tiêu Ứng dụng thành công kỹ thuật Word Embedding kết hợp với thuật toán CNN vào toán phân loại văn thực tế D C C R UT.L 2.2 Nhiệm vụ đề tài Nghiên cứu sở lý thuyết xử lý ngôn ngữ tự nhiên, ký thuật học sâu áp dụng kỹ thuật học sâu CNN vào thực tế toán phân loại văn Bài toán phân loại văn tự động phân loại văn vào nhiều danh mục (chuyên mục) xác định trước Một vài ví dụ phân loại văn là: phân loại theo cảm xúc người viết (vui, buồn, tức giận ) từ mạng xã hội, phát thư rác, tự động gán nhãn truy vấn khách hàng, phân loại báo thành chủ đề xác định trước… Đối tượng phạm vi nghiên cứu 3.1 Đối tượng nghiên cứu Các vấn đề liên quan đến xử lý ngôn ngữ tự nhiên thuật toán học sâu CNN kỹ thuật nhúng Word Embedding 3.2 Phạm vi nghiên cứu Nghiên cứu tập trung vào kỹ thuật học sâu ứng dụng CNN vào giải toán phân loại văn Phương pháp nghiên cứu 4.1 Phương pháp lý thuyết - Tìm hiểu báo nước xử lý ngơn ngữ tự nhiên học sâu - Tìm liệu mẫu toán phân loại văn - Tìm hiểu phương pháp phân loại văn áp dụng cho việc huấn luyện dùng CNN 4.2 Phương pháp thực nghiệm - Xây dựng chương trình demo vào chương cuối dựa giải pháp đề xuất Bố cục luận văn Luận văn tổ chức thành ba chương với nội dung sau: D C C R UT.L CHƯƠNG 1: TỔNG QUAN VỀ CƠ SỞ LÝ THUYẾT Chương trình bày khái quát ngôn ngữ tự nhiên phương pháp xử lý ngôn ngữ tự nhiên CHƯƠNG 2: PHÂN LOẠI VĂN BẢN Chương trình bày tốn phân loại văn kỹ thuật xử lý ngôn ngữ tự nhiên Word Embeddings mơ hình nơron tích chập cho phân loại văn CHƯƠNG 3: THỬ NGHIỆM VÀ ĐÁNH GIÁ Triển khai ứng dụng cụ thể giải toán thực tế mô cho sở lý thuyết chương và đánh giá Cuối phần kết luận hướng phát triển C C R UT.L CHƯƠNG 1: TỔNG QUAN VỀ CƠ SỞ LÝ THUYẾT D 1.1 Tổng quan xử lý ngôn ngữ tự nhiên 1.1.1 Khái niệm ngôn ngữ tự nhiên Ngôn ngữ tự nhiên đề cập đến cách mà người giao tiếp với Cụ thể lời nói văn Chúng ta được bao quanh văn Hãy suy nghĩ số lượng văn bạn nhìn thấy ngày: dấu hiệu, thực đơn, Email, tin nhắn, trang web, Chúng ta nói chuyện với cách dễ dàng cách viết Văn nói dễ văn viết Giọng nói văn cách giao tiếp với người Do tầm quan trọng loại liệu này, phải có phương pháp để hiểu suy luận ngôn ngữ tự nhiên, giống làm loại liệu khác.[1] 1.1.2 Thách thức đặt ngôn ngữ tự nhiên Làm việc với liệu ngôn ngữ tự nhiên dễ để xử lý Nó nghiên cứu nửa kỷ thực khó Ngơn ngữ tự nhiên chủ yếu khó vấn đề lộn xộn Có vài quy tắc giúp dễ dàng hiểu hầu hết thời gian 1.1.3 Từ ngôn ngữ học đến xử lý ngôn ngữ tự nhiên Ngôn ngữ học nghiên cứu khoa học ngôn ngữ, bao gồm ngữ pháp, ngữ nghĩa ngữ âm Ngơn ngữ học cổ điển liên quan đến việc nghĩ đánh giá quy tắc ngơn ngữ Ngơn ngữ học tính tốn nghiên cứu đại ngôn ngữ học sử dụng cơng cụ khoa học máy tính Ngơn ngữ học trước nhà ngơn ngữ học tính tốn cịn ngày sử dụng cơng cụ tính tốn suy nghĩ vượt qua hầu hết lĩnh vực nghiên cứu Ngơn ngữ học tính tốn nghiên cứu hệ thống máy tính để hiểu tạo ngôn ngữ tự nhiên Một chức tự nhiên cho ngơn ngữ học tính tốn thử nghiệm ngữ pháp đề xuất nhà ngôn ngữ học lý thuyết Dữ liệu lớn máy tính nhanh có nghĩa thứ khác phát từ liệu lớn văn cách viết chạy phần mềm Các phương pháp dựa liệu để xử lý ngôn ngữ tự nhiên trở nên phổ biến chúng phải coi phương pháp tiếp cận chủ đạo ngơn ngữ học tính tốn Một yếu tố đóng góp mạnh mẽ cho phát triển chắn gia tăng lượng liệu lưu trữ điện tử có sẵn mà phương pháp áp dụng; yếu tố khác bất mãn định với phương pháp dựa vào quy tắc thủ cơng Ngơn ngữ học tính tốn biết đến tên q trình ngơn ngữ tự nhiên NLP để phản ánh cách tiếp cận dựa đặt dựa kinh nghiệm phương pháp thống kê 1.1.4.Xử lý ngôn ngữ tự nhiên Xử lý ngôn ngữ tự nhiên (natural language processing - NLP) nhánh trí tuệ nhân tạo tập trung vào ứng dụng ngôn ngữ người Trong trí tuệ nhân tạo xử lý ngôn ngữ tự nhiên D C C R UT.L phần khó liên quan đến việc phải hiểu ý nghĩa ngơn ngữ - cơng cụ hồn hảo tư giao tiếp Xử lý ngơn ngữ tự nhiên có vai trò quan trọng ngành Khoa học máy tính Nó có vơ vàn ứng dụng hữu ích sống nghiên cứu Chúng ta điểm qua vài ứng dụng xử lý ngôn ngữ tự nhiên như: - Nhận dạng chữ viết - Nhận dạng tiếng nói - Tổng hợp tiếng nói - Dịch tự động (Machine translate) - Tìm kiếm thơng tin (Information retrieval - Tóm tắt văn - Khai phá liệu (Data mining) phát tri thức Xử lý ngôn ngữ tự nhiên kĩ thuật quan trọng nhằm giúp máy tính hiểu ngơn ngữ người, qua hướng dẫn máy tính thực giúp đỡ người công việc có liên quan đến ngơn ngữ : dịch thuật, phân tích liệu văn bản, nhận dạng tiếng nói, tìm kiếm thơng tin, 1.2 Học sâu 1.2.1 Khái niệm 1.2.2 Học sâu mạng lưới thần kinh lớn Deep Learning (DL) hoạt động dựa việc “mô phỏng” quy trình hoạt động não người Khi suy nghĩ xác định vấn đề, thường học kinh nghiệm trước (learning) Hoặc gặp vấn đề phức tạp hơn, thông thường phân tích vấn đề phức tạp thành vấn đề đơn giản để dễ giải Mạng lưới thần kinh đặt tên chúng bắt chước hoạt động tế bào thần kinh não người Các mạng tạo thành từ lớp tế bào thần kinh kỹ thuật số: lớp đầu vào, lớp ẩn, lớp đầu Tất mạng thần kinh có D C C R UT.L lớp đầu vào, liệu ban đầu đưa vào lớp đầu ra, tạo Hứa hẹn cuối Hình 1.1 Mơ hình mạng thần kinh nhân tạo Mơ hình mạng lưới thần kinh đến từ McCulloch Pitts D C C R UT.L năm 1943 Mạng phân loại nhị phân, có khả nhận hai loại khác dựa số đầu vào Các vấn đề trọng số sử dụng để xác định nhãn lớp cho đầu vào cho cần thiết điều chỉnh thủ cơng người - loại mơ hình rõ ràng khơng có quy mơ tốt Trong nhiều ứng dụng, CNN coi trình phân loại hình ảnh mạnh chịu trách nhiệm thúc đẩy công nghệ tiên tiến lĩnh vực thị giác máy tính thúc đẩy học máy 1.2.3 Học sâu học tính phân cấp Ngồi khả mở rộng, lợi ích khác thường trích dẫn mơ hình học sâu khả thực trích xuất tính tự động từ liệu thơ, cịn gọi tính học Như biết thuật tốn học máy nói chung rơi vào ba loại - học có giám sát, học khơng giám sát học bán giám sát Học sâu hay cụ thể Mạng lưới thần kinh chuyển đổi, có cách tiếp cận khác, sử dụng để phân loại hình ảnh thu nhãn lớp đầu - lớp đầu trực tiếp ảnh hưởng gián tiếp nút khác mạng Chúng ta xem q trình học phân cấp: lớp mạng sử dụng đầu lớp trước xây dựng khối để xây dựng khái niệm trừu tượng Những lớp học tự động - khơng có kỹ thuật thủ cơng diễn mạng Một lợi ích việc học sâu Mạng nơ ron kết hợp cho phép bỏ qua bước trích xuất tính thay vào tập trung vào q trình đào tạo để tìm hiểu lọc 1.2.4 Học sâu - học mở rộng miền Học sâu vượt trội lĩnh vực vấn đề đầu vào (và chí đầu ra) tương tự (analog) Có nghĩa, liệu chúng không số định dạng bảng mà thay vào liệu hình ảnh pixel, liệu tài liệu, văn tập âm 1.3 Hứa hẹn học sâu dành cho ngôn ngữ tự nhiên 1.3.1 Hứa hẹn học sâu Phương pháp học sâu phổ biến, chủ yếu chúng có tiềm phát triển chúng Điều khơng có nghĩa khơng có cường điệu xung quanh công nghệ, mà cường điệu dựa trên kết thực chứng minh qua vấn đề thách thức trí tuệ nhân tạo từ thi giác máy tính xử lý ngôn ngữ tự nhiên Một số minh chứng lớn sức mạnh việc học sâu xử lý ngôn ngữ tự nhiên, cụ thể nhận dạng giọng nói gần dịch máy 1.3.2 Hứa hẹn mơ hình thay thả vào Lời hứa cho việc học sâu xử lý ngôn ngữ tự nhiên khả thay mơ hình tuyến tính có với mơ hình D C C R UT.L hoạt động tốt có khả học hỏi khai thác phi tuyến mối quan hệ 1.3.3 Hứa hẹn mơ hình NLP Một hứa hẹn khác phương pháp học sâu tạo điều kiện phát triển mơ hình hồn tồn Một ví dụ mạnh mẽ việc sử dụng mạng nơron lặp lại có khả học hỏi điều kiện đầu qua chuỗi dài Cách tiếp cận khác chỗ chúng cho phép người thực hành thoát khỏi mơ hình giả định truyền thống đạt kết đại 1.3.4 Hứa hẹn tính học tập Các phương pháp học sâu có khả học đặc tính đặt trưng đối tượng thay yêu cầu chuyên gia định trích xuất đối tượng địa lý từ ngôn ngữ tự nhiên theo cách thủ công 1.3.5 Hứa hẹn tiếp tục cải tiến Một hứa hẹn khác học sâu cho NLP tiếp tục cải thiện nhanh chóng vấn đề khó khăn Trong giảng học sâu cho NLP, Chris Manning tiếp tục mô tả phương pháp học sâu phổ biến ngôn ngữ tự nhiên chúng có hiệu 1.3.6 Hứa hẹn mơ hình đầu cuối Một lời hứa cuối học sâu khả phát triển đào tạo mơ hình đầu cuối cho vấn đề ngơn ngữ tự nhiên thay phát triển mơ hình chuyên biệt Đây điều mong muốn tốc độ đơn giản trình phát triển với việc cải thiện hiệu suất mơ hình NMT (Neural Machine Translation) kết hợp dịch máy (Machine Translation) mạng nơ-ron nhân tạo (Artificial Neural Network - NN, đề cập đến mạng nơron lớn cố gắng học cách dịch ngôn ngữ sang ngôn ngữ khác Đây nhiệm vụ truyền thống D C C R UT.L 10 D C C R UT.L Hình Cấu trúc CNN phân loại câu #sentence: Câu văn có từ dấu câu Dấu câu coi từ Như có từ tất Ở tơi chọn số chiều word vector (tức từ vector kích thước 1×5) Giả sử ta gọi d số chiều word vector Như kích thước ma trận câu văn x #filters: Ở ví dụ từ lại vector chiều, ta cần cố định số chiều lọc cho phù hợp với số chiều từ Như lọc nên có kích thước (? x 5) Dấu ? thể số từ (số hàng) mà ta muốn lấy vào Ở hình trên, #filters minh họa cho lọc Đây lọc để lọc bỏ phần tử khỏi ma trận bị lọc Điều giải thích kỹ đoạn Ở đây, sử dụng lọc, lọc sử dụng có kích thước (2, 3, 4) từ #featuremaps: 11 Ảnh phía thực việc tính tốn cho lọc có kích thước (2 từ) Với giá trị đầu tiên, lọc màu vàng kích thước x thực nhân thành phần với hàng văn (I, like) Nó thực cách: 0.51 = 0.6 x 0.2 + 0.5 x 0.1 + 0.2 x 0.2 + + 0.1 x 0.1 Tiếp theo với giá trị thứ 2, lọc màu vàng giữ nguyên lần nhân tích chập với ma trận văn từ (like, this) theo cách tương tự: 0.53 = 0.8 x 0.2 + 0.9 x 0.1 + + 0.7 x 0.1 Cứ vậy, ma trận lọc(màu vàng) lùi xuống dòng hết ma trận văn Như ma trận kết có kích thước (7-2 + x 1) = (6 x 1) Để bảo đảm giá trị map đặc trưng, cần sử dụng activation function( vd ReLU) Áp dụng ReLU cho ma trận có kích thước x1 #1max: Trong ví dụ này, ta sử dụng 1-max-pooling Tức lấy giá trị lớn map đặc trưng Việc giúp ta có ma trận output có kích thước Ở kích thước sau áp dụng #1max (1×1) Như vậy, ta lấy đặc trưng trội tất lớp cnn để phục vụ cho toán #concat1max: Sau áp dụng 1-max pooling, có vector có kích thước cố định 1×1 thành phần(bằng số lọc) Vector cố định kích thước sau đưa vào hàm softmax(lớp fullyconnected) để giải việc phân loại Như vậy, #concat1max thực việc kết hợp tất đặc trưng bước trước lại Đưa vector đặc trưng cuối để đưa vào fully-connected D C C R UT.L 12 2.2 Kỹ thuật Word Embeddings kết hợp CNN cho phân loại văn Thơng thường, máy tính khơng thể hiểu ý nghĩa từ Như vậy, để xử lý ngơn ngữ tự nhiên, ta cần có phương pháp để biểu diễn văn dạng mà máy tính hiểu Phương pháp tiêu chuẩn để biểu diễn văn biểu diễn văn theo vector Trong đó, từ/cụm từ thuộc kho tài liệu ngôn ngữ ánh xạ thành vector hệ không gian số thực Đối với tốn tìm word vector, liệu đầu vào văn bản, xem tập hợp từ (word) Đầu tiên, tương ứng với word khởi tạo vector random với số chiều định (giả sử 100) Sau có vector random, việc thực trình điều chỉnh vector từ để cho chúng biểu diễn liên hệ từ có quan hệ với Trong xử lý ngôn ngữ tự nhiên, Word Embedding kỹ thuật sử dụng để chuyển hóa text (characters, words phrases) thành dạng vector số để từ làm đầu vào cho việc huấn luyện mơ hình Deep learning Word Embedding đảm bảo từ tương tự có giá trị vector gần giống Thơng thường, Word Embedding chia thành hai loại Frequency-based embedding Prediction-based embedding Hiện nay, hai phương pháp sử dụng nhiều Word Embedding Glove Word2vec Mặc dù hai phương pháp thuộc hai dạng khác nhiều kết cho thấy chúng có nhiều điểm tương đồng tương đối gần Phương pháp sử dụng luận văn Word2vec Word2vec phương pháp biểu diễn từ dạng phân bố quan hệ với từ lại Mỗi từ biểu diễn vector có phần tử mang giá trị phân bố quan hệ từ từ khác từ điển D C C R UT.L 13 Ví dụ toán kinh điển King + Man – Woman = ? phần Việc nhúng từ không gian vector cho thấy tương tự từ Giả sử hình 3.1 khác biệt mặt giới tính cặp từ (“man”,”woman”), (“uncle”,”aunt”), (“king”,”queen”) W(“woman”) – W(“man”) ≈ W(“aunt”) – W(“uncle”) W(“woman”) – W(“man”) ≈ W(“queen”) – W(“king”) Từ đó, kết King + Man – Woman = Queen Hình 2.2 Phân bố mối quan hệ từ word2vec Để xây dựng vector mô tả phân bố quan hệ với tập từ điển, chất mơ hình Word2vec sử dụng mạng neural đơn giản với lớp ẩn Sau huấn luyện toàn tập văn bản, tồn lớp ẩn có giá trị mơ hình hóa quan hệ từ tập văn huấn luyện mức trừu tượng 2.3 Sử dụng kiến trúc CNN lớp CNN mạng nơron hình thành từ nhiều lớp khác Tuy nhiên lớp CNN gọi Convolutional layers sử dụng thuật tốn Convolution Ở đây, ta hiểu Convolution việc sử dụng Sliding window (cửa số trượt) để tính tốn giá trị đầu từ Matrix đầu vào Tương tự vậy, cách sử dụng Filter với giá trị hợp lý, ta phát pattern định liệu D C C R UT.L 14 đầu vào Ở đây, giá trị Filter coi parameters học thơng qua q trình huấn luyện Model Tuy nhiên, thực tế, hình ảnh thường có dạng 3dimension (Height x Width x Chanel) thay 2-dimension (Height x Width) Do Filter phải dạng 3-dimension với số lượng Chanel với số lượng Chanel liệu đầu vào Khi đó, việc thực Convolution tiến hành tương tự theo Chanel sau ta cộng tổng kết Chanel lại với Ngồi ra, ta sử dụng nhiều Filter để phát Patterns khác C C R UT.L D Hình Sơ đồ mơ hình lớp CNN Thơng thường, Model có nhiều Convolutional Layers Convolutional Layer lại có nhiệm vụ phát Pattern định Tuy nhiên, Layer sau thường dùng để phát Pattern mức độ cao Layer trước Ngoài ra, ta thường kết hợp Convolutional Layers với Pooling Layers Fully Connected Layers để tạo thành Model với độ xác cao Thơng thường, có hai dạng Pooling 15 Max Pooling Average Pooling Trong đó, cịn Average Pooling chọn giá trị trung bình cộng Như vậy, Model sử dụng CNN thường có cấu trúc tổng quát sau: Hình Cấu trúc tổng qt mơ hình CNN Ta nhận kết tốt cho việc phân loại tài liệu với lớp CNN, có lẽ với hạt nhân có kích thước khác thơng qua lọc phép nhóm từ đại diện khác quy mơ Yoon Kim nghiên cứu việc sử dụng vectơ từ đào tạo trước cho nhiệm vụ phân loại với CNN nhận thấy sử dụng vectơ từ tĩnh đào tạo trước tốt Trong mơ hình CNN có khía cạnh cần quan tâm tính bất biến (Location Invariance) tính kết hợp (Compositionality) Với đối tượng, đối tượng chiếu theo gốc độ khác (translation, rotation, scaling) độ xác thuật tốn bị ảnh hưởng đáng kể Mơ hình CNN sử dụng để giải tốn đặt - Văn cần training: Dữ liệu đầu vào mà mơ hình học có giám sát hiểu dự đốn lớp cần thiết - Feature Vector: Một feature vector vector bao gồm thơng tin chi tiết đặc tính liệu đầu vào - Labels: Categories/ classes mà mơ hình cần dự đốn D C C R UT.L 16 - Thuật toán ML: Đây thuật tốn CNN kết hợp Word Embedding mà Mơ hình xử lý để phân loại văn - Dự đoán mơ hình: Một mơ hình train trước dùng để dự đoán nhãn cho văn 2.4 Siêu tham số Một số siêu đường kính quan trọng số khác điều chỉnh mạng thần kinh tích chập vấn đề phân loại tài liệu bạn Tổng kết lại sử dụng CNN, ta cần ý đến siêu tham số quan trọng: - Kích thước kernel/filter - Số lượng kernel/filter - Kích thước bước nhảy (stride) - Kích thước lề (padding) Kích thước filter tham số quan trọng tầng convolution Kích thước tỉ lệ thuận với số tham số cần học tầng convolution tham số định receptive field tầng Kích thước phổ biến filter 3x3 Kích thước filter tầng convolution hầu hết số lẻ, ví dụ 3x3 hay 5x5 Ở trường hợp đặt biệt filter có kích thước 1x1, hay có kích thước với ma trận đầu vào, tầng convolution có ý nghĩa thú vị Ngoài ra, ta cần lưu ý tham số stride, thể số pixel bạn cần phải dịch chuyển trượt filter qua ảnh Khi bạn áp dụng phép convolution ma trận đầu vào có nhỏ dần đi, số layer mơ hình CNN bị giới hạn, xậy đựng deep nets mong muốn Để giải tình trạng này, bạn cần padding vào ma trận đầu vào để đảm bảo kích thước đầu sau tầng convolution không đổi Một cách đơn giản phổ biến để padding sử dụng hàng số 0, bạn sử dụng reflection padding symmetric padding D C C R UT.L 17 Một số lưu ý chọn tham số cho CNN: - Số convolution layer: nhiều convolution layer performance cải thiện Sau khoảng layer, tác động giảm cách đáng kể Ở luận văn sử dụng convolution layer - Filter size: thường filter theo size 5×5 3×3 - Pooling size: thường 2×2 4×4 cho ảnh đầu vào lớn - Cách cuối thực nhiều lần việc train test để chọn param tốt 2.5 Tiểu kết chương Trong chương này, tìm hiểu số phương pháp hay để phát triển mơ hình học sâu số kỹ kèm để phân loại văn Những nội dung chương có ý nghĩa quan trọng để làm tiền đề cho việc phát triển chương trình thực nghiệm chương cuối D C C R UT.L 18 CHƯƠNG THỰC NGHIỆM VÀ ĐÁNH GIÁ 3.1 Đặc tả chương trình Bài tốn phân lớp (classification) toán học giám sát lớn lĩnh vực Machine Learnig (ML) nội dung văn gán nhãn, sử dụng để thực phân loại Bài tốn phân lớp q trình phân lớp đối tượng liệu vào hay nhiều lớp cho trước nhờ mơ hình phân lớp (model) Mơ hình xây dựng dựa tập liệu xây dựng trước có gán nhãn (hay cịn gọi tập huấn luyện) Q trình phân lớp trình gán nhãn cho đối tượng liệu Như vậy, nhiệm vụ toán phân lớp cần tìm mơ hình phần lớp để có liệu xác định liệu thuộc vào phân lớp Phân lớp q trình nhóm đối tượng “giống” vào “một lớp” dựa đặc trưng liệu chúng Mục đích việc phân lớp dự đoán nhãn phân lớp cho liệu mẫu mới, đầu vào tập mẫu liệu huấn luyện, với nhãn phân lớp cho mẫu liệu đầu phân lớp dựa tập huấn luyện, nhãn phân lớp Phân lớp liệu dựa tập huấn luyện giá trị thuộc tính phân lớp dùng để xác định lớp cho liệu 3.2 Lựa chọn công cụ 3.2.1 Ngôn ngữ Python 3.2.2 Framework Tensorflow 3.2.3 Keras 3.3 Các bước triển khai Để xây dựng mơ hình phân lớp hồn chỉnh đánh giá mơ hình phải trải quá trình đây: Bước 1: Chuẩn bị liệu (Dataset Preparation) Bước 2: Xây dựng tập văn huấn luyện để test mơ hình gồm Data trainning Data testing để tách từ, lựa chọn từ đặc trưng D C C R UT.L 19 từ quan trọng để xây dựng từ điển Công đoạn xem công đoạn quan trọng tốn học máy Vì input cho việc học dể tìm mơ hình toán Chúng ta phải biết cần chọn đặt trưng tốt (good feature) liệu, lược bỏ đặc trưng không tốt liệu, gây nhiễu (noise) Bước 3: Xây dựng Vectơ đặc trưng Ở bước này, đưa liệu dạng văn xử lý dạng vector thuộc tính có dạng số học Có nhiều khác để đưa liệu văn dạng text liệu dạng số mà thực như: TF-IDF Vectors as features, Word level , N-Gram level, Character level, Word Embeddings as features… Ở demo chương phương pháp Word Embeddings phương pháp lựa chọn để xây dựng vecto đặc trưng, gán nhãn phân lớp đối tượng Bước 4: Huấn luyện (Trainning) Bước 5: Đánh giá mơ hình 3.4 Chuẩn bị liệu Luận văn sử dụng tập liệu IMDB chứa nội dung 50.000 đánh giá phim từ https://www.imdb.com/ Chúng chia thành 25.000 đánh giá để huấn luyện 25.000 đánh giá để kiểm tra Tập liệu chứa đánh giá p him người đăng trang web IMDb, nhãn tương ứng (“tích cực” “tiêu cực”) cho biết liệu người đánh giá có thích phim hay khơng 3.5 Cài đặt ứng dụng Thực nghiệm tay sử dụng tf.keras - API cấp cao để xây dựng đào tạo mơ hình TensorFlow tensorflow_hub , thư viện để tải mơ hình đào tạo từ TFHub dòng mã Tập liệu IMDB có sẵn đánh giá imdb Dataset bao gồm 50,000 đoạn text movie reviews chia thành training set test set (mỗi set có 25,000 đoạn text) Ngồi ra, D C C R UT.L 20 hai set cân số lượng đánh giá tích cực (label=1) tiêu cực (label=0) Dữ liệu IMDB dataset liệu xử lý với việc chuyển từ đoạn text từ dạng word sang dạng int đoạn text lại có độ dài khác Kết hiển thị liệu ta chạy code: The first row of training data (length: 218): [1, 14, 22, 16, 43, 530, 973, 1622, 1385, 65, 458, 4468, 66, 3941, 4, 173, 36, 256, 5, 25, 100, 43, 838, 112, 50, 670, 22665, 9, 35, 480, 284, 5, 150, 4, 172, 112, 167, 21631, 336, 385, 39, 4, 172, 4536, 1111, 17, 546, 38, 13, 447, 4, 192, 50, 16, 6, 147, 2025, 19, 14, 22, 4, 1920, 4613, 469, 4, 22, 71, 87, 12, 16, 43, 530, 38, 76, 15, 13, 1247, 4, 22, 17, 515, 17, 12, 16, 626, 18, 19193, 5, 62, 386, 12, 8, 316, 8, 106, 5, 4, 2223, 5244, 16, 480, 66, 3785, 33, 4, 130, 12, 16, 38, 619, 5, 25, 124, 51, 36, 135, 48, 25, 1415, 33, 6, 22, 12, 215, 28, 77, 52, 5, 14, 407, 16, 82, 10311, 8, 4, 107, 117, 5952, 15, 256, 4, 31050, 7, 3766, 5, 723, 36, 71, 43, 530, 476, 26, 400, 317, 46, 7, 4, 12118, 1029, 13, 104, 88, 4, 381, 15, 297, 98, 32, 2071, 56, 26, 141, 6, 194, 7486, 18, 4, 226, 22, 21, 134, 476, 26, 480, 5, 144, 30, 5535, 18, 51, 36, 28, 224, 92, 25, 104, 4, 226, 65, 16, 38, 1334, 88, 12, 16, 283, 5, 16, 4472, 113, 103, 32, 15, 16, 5345, 19, 178, 32] D C C R UT.L 21 Chúng ta sử dụng words đầu vào trực tiếp để huấn luyện Mơ hình mà cần phải chuyển words thành dạng số (như đề cập phần Word Embedding Công việc thực cách sử dụng từ điển word2int int2word Dưới kết C C R UT.L Với việc sử dụng từ điển word2int, ta hiển thị review dataset từ dạng int sequence thành dạng text D The first review: this film was just brilliant casting location scenery story direction everyone's really suited the part they played and you could just imagine being there robert redford's is an amazing actor and now the same being director norman's father came from the same scottish island as myself so i loved the fact there was a real connection with this film the witty remarks throughout the film were great it was just brilliant so much that i bought the film as soon as it was released for retail and would recommend it to everyone to watch and the fly fishing was amazing really cried at the end it was so sad and you know what they say if you cry at a film it must have been good and this definitely was also congratulations to the two little boy's that played the part's of norman and paul they were just brilliant children are often left out of the praising list i think because the stars that play them all grown up are such a big profile for the whole film but these children are amazing and should be praised for what they have done don't you think the whole story was so lovely because it was true and was someone's life after all that was shared with us all The label: 22 Ở ta sử dụng mô hình CNN để huấn luyện nên trước hết ta cần phải chuyển tất reviews độ dài để đảm bảo Input matrix có size Kết hiển thị sau: The first row of training data (length: 2494): [ 14 22 0 0] The second row of training data (length: 2494): [ 194 1153 0 0] Tiếp theo ta tiến hành xây dựng mơ hình huấn luyện với Convolutional layers Ở layer đầu tiên, ta sử dụng Embedding với 50 dimension để chuyển từ sang dạng Word Embedding (xem thêm tutorial Xây dựng mơ hình Text generation với RNN Word Embedding) Do Output Shape layer (None, 2494, 50) None kích thước batch_size (sẽ thiết lập C C R UT.L model.fit()), 2494 số lượng words có sequence 50 dimension word embedding Kết hiển thị mơ hình D Model: "sequential" Layer (type) Output Shape Param # ============================================ = embedding (Embedding) (None, 2494, 50) 4429400 conv1d (Conv1D) (None, 2490, 128) 32128 max_pooling1d (MaxPooling1D) (None, 1245, 128) conv1d_1 (Conv1D) (None, 1243, 256) 98560 global_average_pooling1d (Gl (None, 256) dense (Dense) (None, 1) 257 ============================================ = Total params: 4,560,345 Trainable params: 4,560,345 Non-trainable params: 23 None Kết trình huấn luyện Sau kết thúc trình huấn luyện, ta sử dụng test set để đánh giá độ xác mơ hình tạo sau: C C R UT.L D Ta hiển thị biểu đồ Training accuracy - độ xác huấn luyện Validation accuracy – độ xác xác thực sử dụng history để đánh sau: 24 KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN Kết luận Luận văn nghiên cứu, tìm hiểu tốn phân loại văn ứng dụng CNN thực phát triển, cài đặt chương trình thực giải cho tốn dựa cách tiếp cận công bố qua nhiều báo, cơng trình khoa học giới Các kết mà luận văn đạt được, tương ứng với mục tiêu đề ban đầu sau: Về ưu điểm: Về luận văn trình bày rõ sở lí thuyết, phương pháp phân loại văn bản, mơ hình tổng quan mạng nơ ron tích chập CNN phương pháp huấn luyện đánh giá cho mơ hình Thực nghiệm cho thấy khả phát C C R UT.L triển rộng tương lai mơ hình Về nhược điểm: Vì liệu thử nghiệm huấn luyện cịn D liệu dử dụng tiếng Anh, liệu ban đầu lấy gần xử lý nên chưa thể rõ hết bước mơ hình huấn luyện Hướng phát triển Hướng phát triển tới đưa liệu đánh giá hoàn toàn tiếng Việt sử dụng liệu chưa qua xử lý trước Ngồi cịn tập trung nghiên cứu cải tiến phương pháp cho hợp lý xử lý đạt kết cao ... thực tế toán phân loại văn Bài toán phân loại văn tự động phân loại văn vào nhiều danh mục (chuyên mục) xác định trước Một vài ví dụ phân loại văn là: phân loại theo cảm xúc người viết (vui, buồn,... ngôn ngữ tự nhiên CHƯƠNG 2: PHÂN LOẠI VĂN BẢN Chương trình bày tốn phân loại văn kỹ thuật xử lý ngôn ngữ tự nhiên Word Embeddings mơ hình nơron tích chập cho phân loại văn CHƯƠNG 3: THỬ NGHIỆM VÀ... chương có ý nghĩa quan trọng để làm tiền đề cho việc tìm hiểu tốn phân loại văn chương CHƯƠNG PHÂN LOẠI VĂN BẢN 2.1 Mơ tả tốn Phân loại văn (Text Classification) tốn thuộc nhóm C C R UT.L học có giám

Ngày đăng: 25/05/2021, 14:44

Xem thêm: