Luận văn này có bố cục gồm 3 chương: Chương 1 - Giới thiệu bài toán phân loại câu chứa gợi ý; Chương 2 - Phương pháp học máy cho bài toán phân loại câu chứa gợi ý trên diễn đàn trực tuyến; Chương 3 - Thực nghiệm và đánh giá. Mời các bạn cùng tham khảo!
HỌC VIỆN CƠNG NGHỆ BƯU CHÍNH VIỄN THƠNG - TỐNG NGUYÊN SƠN PHÁT HIỆN CÂU CHỨA GỢI Ý TRÊN DIỄN ĐÀN TRỰC TUYẾN SỬ DỤNG MẠNG NƠ-RON Chuyên ngành: Hệ thống thơng tin Mã số: 8.48.01.04 TĨM TẮT LUẬN VĂN THẠC SĨ KỸ THUẬT (Theo định hướng ứng dụng) HÀ NỘI – 2020 Luận văn hoàn thành tại: HỌC VIỆN CƠNG NGHỆ BƯU CHÍNH VIỄN THƠNG Người hướng dẫn khoa học: TS NGÔ XUÂN BÁCH Phản biện 1: ……………………………………………………… Phản biện 2: …………………………………………………… Luận văn bảo vệ trước Hội đồng chấm luận văn thạc sĩ Học viện Cơng nghệ Bưu Viễn thơng Vào lúc: ngày tháng năm 2020 Có thể tìm hiểu luận văn tại: - Thư viện Học viện Cơng nghệ Bưu Viễn thơng LỜI NÓI ĐẦU Trong thời gian qua, nhu cầu sử dụng mạng xã hội trực tuyến người dùng không ngừng tăng lên, trang mạng xã hội trực tuyến phổ biến Facebook, Twitter, Instagram, youtube, G+, blog v.v ngày phát triển Con người sử dụng mạng xã hội trực tuyến khơng để giải trí như: cập nhật trạng thái, kết bạn, tán gẫu, nói chuyện mà họ dùng mạng xã hội trực tuyến nơi để chia sẻ thông tin, ý kiến trao đổi nhu cầu, mong muốn, ý định hay dự định họ diễn đàn trực tuyến Xuất phát từ thực tế việc phát hiện, phân loại lời gợi ý mong muốn, ý định người dùng mang lại giá trị thương mại, dịch vụ lớn Trong luận văn này, tập trung vào toán phát câu chứa gợi ý diễn đàn trực tuyến Đây tốn có đầu vào câu người dùng đăng lên diễn đàn trực tuyến, câu chia sẻ ,trao đổi cảm nhận, kinh nghiệm sản phẩm, dịch vụ, vấn đề đời sống thứ xung quanh mà người dùng trải nghiệm cần phải xác định xem chia sẻ, câu có chứa gợi ý hay khơng? Nếu câu có chứa gợi ý người dùng gợi ý nhu cầu, mong muốn, ý định v.v người dùng vấn đề : du lịch, đồ ăn, thức uống, nghề nghiệp, giáo dục, hàng hóa & dịch vụ, kiện & hoạt động, khơng có ý định cụ thể Bên cạnh đó, khơng phải tất chia sẻ người dùng thể lời gợi ý rõ ràng nguồn liệu, tài ngun có ích Vì vậy, luận văn tập trung chủ yếu vào phát phân loại câu có chứa gợi ý người dùng diễn đàn trực tuyến Việc phát hiện, phân loại câu chứa gợi ý người dùng đề tài nghiên cứu thời sự, mang tính cấp thiết Với khách hàng, doanh nghiệp hay nhà cung cấp dịch vụ việc biết gợi ý, mong muốn người dùng giúp họ cải tiến tốt sản phẩm, hệ thống để đảm bảo cung cấp nội dung khách hàng cần, mở rộng số lượng người dùng quan tâm, quảng bá thương hiệu, hình ảnh Hơn nữa, kết toán phân loại câu chứa gợi ý người dùng ứng dụng làm đầu vào cho nhiều nghiên cứu khác xây dựng hệ tư vấn xã hội dựa gợi ý người dùng, dự đốn sở thích người dùng, dự đốn xu hướng tương lai Luận văn “Phát câu chứa gợi ý diễn đàn trực tuyến sử dụng mạng NơRon” thực khảo sát, nghiên cứu phương pháp xây dựng hệ thống phân loại câu chứa gợi ý quan tâm Từ đưa phương pháp phân loại câu phù hợp cho hệ thống phân loại câu tiếng Anh Dựa hướng tiếp cận đề cập trên, luận văn này, tiến hành áp dụng làm thực nghiệm dựa kết hợp số đặc trưng ngôn ngữ tiếng Anh Các đặc trưng biểu diễn dạng vectơ làm đầu vào cho thuật toán Sau thu kết mơ hình phân lớp CNN, RNN,LSTM luận văn sử dụng phương pháp để kiểm tra lựa chọn kết tốt Kết thực nghiệm tốt đạt sử dụng thuật toán LSTM Cụ thể kết thực nghiệm cho kết tốt với toán “ Phát câu chứa gợi ý diễn đàn trực tuyến sử dụng mạng Nơ-Ron” Nội dung luận văn gồm 03 chương: Chương 1: Giới thiệu toán phân loại câu chứa gợi ý Nội dung chương, tổng quan gợi ý người dùng diễn đàn trực tuyến, toán phân loại câu chứa gợi ý diễn đàn trực tuyến cuối hướng tiếp cận nhằm giải toán đề Chương 2: Phương pháp học máy cho toán phân loại câu chứa gợi ý diễn đàn trực tuyến Nội dung chương trình bày số phương pháp trích chọn lấy đặc trưng để giải toán, phương pháp học máy thống kê sử dụng để tiến hành thực nghiệm cho toán phân loại câu chứa gợi ý diễn trực tuyến sử dụng mạng Nơ Ron Chương 3: Thực nghiệm đánh giá Nội dung chương nhằm nêu rõ chi tiết bước trình giải tốn Trong chương trình bày q trình thực thực nghiệm, đưa số đánh giá, nhận xét kết thu Phần kết luận: Tóm lược kết đạt luận văn Đồng thời đưa hạn chế, điểm cần khắc phục đưa định hướng nghiên cứu thời gian tới CHƯƠNG 1: GIỚI THIỆU BÀI TOÁN PHÂN LOẠI CÂU CHỨA GỢI Ý Trong chương này, luận văn trình bày giới thiệu chung lĩnh vực xử lý ngôn ngữ tự nhiên (phần 1.1)và ứng dụng thực tế (phần 1.2), nhìn tổng quan toán phân loại câu chứa gợi ý, cách tiếp cận toán, nghiên cứu liên quan kết luận văn đạt 1.1 Giới thiệu xử lý ngôn ngữ tự nhiên Xử lý ngôn ngữ tự nhiên (natural language processing – NLP) [2] [3] lĩnh vực nghiên cứu trí tuệ nhân tạo, tập trung vào nghiên cứu phương pháp, kỹ thuật cho phép xử lý ngôn ngữ tự nhiên máy tính, từ xây dựng chương trình, hệ thống máy tính xử lý ngơn ngữ người Xử lý ngôn ngữ tự nhiên áp dụng nhiều toán ứng dụng thực tế, nhiều lĩnh vực: 1.2 Bài toán phát câu chứa gợi ý diễn đàn trực tuyến 1.2.1 Phân loại liệu văn Phân loại liệu văn 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 mà mơ hình xây dựng dựa tập hợp đối tượng liệu gán nhãn từ trước gọi tập liệu học (tập huấn luyện) 1.2.2 Phát biểu toán phân loại phát câu chứa gợi ý Bài toán phân loại câu, phân loại văn thấy nhiều ứng dụng NLP (xử lý ngơn ngữ tự nhiên) Bài tốn phát câu chứa gợi ý diễn đàn trực tuyến sử dụng mạng Nơ- ron nhằm khai thác gợi ý định nghĩa trích xuất gợi ý từ văn phi cấu trúc, thuật ngữ ‘gợi ý’ đề cập đến cách diễn đạt mẹo, lời khuyên, khuyến nghị,…v.v Câu chứa gợi ý câu thể ý kiến, góp ý, mong muốn người, thương hiệu, tranh luận xã hội, sản phẩm thương mại, dịch vụ v.v thường thể thông qua đánh giá trực tuyến, blog, diễn đàn thảo luận tảng truyền thơng xã hội có xu hướng chứa biểu thức hàm ý lời khuyên, mẹo, cảnh báo, khuyến nghị, v.v 1.2.3 Ý nghĩa tốn: Phát câu chứa gợi ý ứng dụng việc thu thập nhu cầu liên quan đến suy luận ngữ nghĩa nhiều ứng dụng ngôn ngữ tự nhiên như: ý kiến người tiêu dùng thực thể thương mại thương hiệu, dịch vụ sản phẩm thường thể thông qua đánh giá trực tuyến, blog, diễn đàn trực tuyến tảng truyền thông xã hội Trên giới có nhiều nghiên cứu phát câu chứa gợi ý sử dụng mô hình mạng Nơ-ron, Ví dụ Semeval2019Task9/Subtask-A [5], có nhóm nghiên cứu đăng ký tham gia vào nhiệm vụ nhiều nhà nghiên cứu khác thực bên ngồi Tuy nhiên Việt Nam chưa có nhiều dự án nghiên cứu, triển khai áp dụng vào thực tế 1.3 Các nghiên cứu liên quan Trong năm gần đây, giới có nhiều nghiên cứu phát câu chứa gợi ý sử dụng mơ hình mạng Nơ-ron, Ví dụ Semeval2019Task9/Subtask-A [5], có nhóm nghiên cứu đăng ký tham gia vào nhiệm vụ nhiều nhà nghiên cứu khác thực bên Tuy nhiên Việt Nam chưa có nhiều dự án nghiên cứu, triển khai áp dụng vào thực tế Ngoài ra, tác giả Ahmed Husseini Orabi cộng thực đề tài thiết thực có ý nghĩa việc sử dụng học sâu để phát trầm cảm người dùng Twitter: “Deep Learning for Depression Detection of Twitter Users” [7] Cơng trình trình bày việc xử lý ngôn ngữ tự nhiên trực tuyến twitter, thực đánh giá so sánh số mơ hình học sâu, cụ thể mơ hình CNN mơ hình RNN đưa kết vấn đề rối loạn tâm thần làm tiền đề cho hệ thống phát hành vi, cảm xúc tiêu cực người dùng cá nhân trực tuyến 1.4 Kết luận chương Trong chương 1, luận văn giới thiệu tổng quan tốn xử lý ngơn ngữ tự nhiên Tìm hiểu tốn phân loại câu, văn giới thiệu toán phát câu chứa gợi ý diễn đàn trực tuyến, từ đưa vấn đề cần làm rõ giải luận văn Trong chương 2, luận văn trình bày hướng giải cho tốn phát câu chứa gợi ý sâu trình bày phương pháp áp dụng để giải toán CHƯƠNG 2: PHƯƠNG PHÁP PHÁT HIỆN CÂU CHỨA GỢI Ý SỬ DỤNG HỌC MÁY Trong chương 2, luận văn tập trung trình bày số phương pháp giải toán (phần 2.1) thuật tốn mơ hình mạng Nơron sử dụng làm thực nghiệm : CNN,RNN LSTM ( phần 2.2) 2.1 Phương pháp giải tốn: Qua q trình nghiên cứu, tập hợp dòng trạng thái diễn đàn trực tuyến thu thập tập nội dung chia sẻ vấn đề xung quanh người dùng qua liệu Semeval2019Task9/Subtask-A bao gồm: khoảng 833 câu [5], mục đích xác định nội dung câu câu có chứa gợi ý hay câu không chứa gợi ý Luận văn tham khảo tìm hiểu sau đưa bước thực để xây dựng phương pháp giải cho toán phát câu chứa gợi ý chia làm giai đoạn sau: Giai đoạn huấn luyện Giai đoạn phân lớp a, Giai đoạn huấn luyện: Giai đoạn nhận đầu vào tập liệu huấn luyện gồm nội dung dạng văn gán nhãn, sau xử lý tập liệu áp dụng thuật toán huấn luyện cho đầu mơ hình phân loại, cụ thể: DỮ LIỆU HUẤN LUYỆN DỮ LIỆU SAU KHI XỬ LÝ TIỀN XỬ LÝ MƠ HÌNH PHÂN LỚP MẠNG NƠ-RON (CNN,RNN,LSTM) Hình 2.1 Mô hình giai đoạn huấn luyện b, Giai đoạn phân lớp : Nhận đầu vào nội dung trạng thái người dùng dạng ngơn ngữ tự nhiên, sau q trình xử lý áp dụng mơ hình phân loại cho nhãn phân loại câu liệu văn đầu vào, cụ thể biểu diễn sơ đồ sau: TẬP DỮ LIỆU CHƯA GÁN NHÃN TIỀN XỬ LÝ MÔ HÌNH PHÂN LỚP NHÃN Ý ĐỊNH Hình 2.2: Mơ hình giai đoạn phân lớp Tương tự bước giai đoạn huấn luyện, giai đoạn phân lớp có nhiệm vụ cụ thể : Tiền xử lý: Chuyển đổi dòng trạng thái tập liệu thành hình thức phù hợp để phân loại lọc nhiễu, loại bỏ từ không mang ý định Mô hình phân lớp: Sử dụng thuật tốn Convolutional Neural network (CNN) Recurrent Neural Network (RNN), Long Short Term Memory (LSTM) để tiến hành phân loại gán nhãn ý định 2.1.1 Tiền xử lý liệu Tiền xử lý liệu bước quan trọng trình phân loại liệu.Các kỹ thuật tiền xử lý liệu phổ biến bao gồm: xử lý liệu bị khuyết (missing data), mã hóa biến nhóm (encoding categorical variables), chuẩn hóa liệu (standardizing data), co giãn liệu (scaling data),v.v Một số lỗi thường mắc phải thu thập liệu tính khơng đủ chặt chẽ, logic Vì vậy, liệu chứa giá trị vơ nghĩa khơng có khả kết nối liệu, ví dụ liệu số, ký tự đặc biệt, #hastag Ở bước tiến hành xử lý dạng liệu khơng chặt chẽ nói trên, liệu dạng xem thông tin dư thừa, khơng có giá trị Bởi vậy, trình quan trọng liệu không “làm sạch” gây nên kết sai lệch nghiêm trọng 2.1.2 Lọc nhiễu (loại bỏ từ khơng mang nghĩa) Các từ khơng có nghĩa số, ký tự đặc biệt khơng mang nghĩa Ví dụ: “@@”, “!! “EU !!!!!!!!!!!!!!!!!!!!!!!!!!!!!, #2@”, 2.1.3 Loại bỏ từ phổ biến (stop word): Ngôn ngữ giống đống gạo bị lẫn với thóc Việc cần làm chọn hạt gạo chất lượng tốt từ đống thóc Những hạt thóc gọi stop words tức từ khơng có ý nghĩa việc phân loại Để tiết kiệm không gian lưu trữ gia tăng tốc độ xử lý, không ghi nhận lại từ phổ biến, chung chung từ gọi stop word [18] {'his', 'because', 'shan', 'own', 'themselves', 'doesn', 'our', 'ourselves', 'up', 'should', 'under', 'most', 'at', 'having', 'where', 'him', 'below', 'am', 'wouldn', 'itself', 'your', 'll', 'from', 'their', 'ain', 'more', 'they', 'have', 'out', 'nor', 'of', 'weren', 'down', 'that', 'into', 'as', 'these', 'both', 'only', 'than', 'here', 'some', 'so', 'herself', 'how', 's', 'on', 'myself', 't', 'has', 'her', 'further', 'himself', 'again', 'hers', 'doing', 'before', 'very', 'just', 'd', 'between', 'in', 'during', 'yourself', 'whom', 'which', 'or', 've', 'what', 'against', 're', 'aren', 'was', 'yours', 'for', 'm', 'don', 'didn', 'she', 'not', 'y', 'been', 'its', 'mustn', 'and', 'ours', 'after', 'them', 'shouldn', 'you', 'few', 'couldn', 'mightn', 'same', 'haven', 'ma', 'be', 'theirs', 'but', 'such', 'wasn', 'were', 'those', 'a', 'to', 'an', 'did', 'too', 'with', 'about', 'who', 'isn', 'we', 'my', 'other', 'needn', 'i', 'when', 'the', 'then', 'once', 'all', 'will', 'won', 'is', 'this', 'he', 'off', 'while', 'yourselves', 'are', 'there', 'it', 'had', 'why', 'hadn', 'hasn', 'through', 'over', 'can', 'until', 'above', 'no', 'being', 'by', 'do', 'any', 'if', 'each', 'o', 'now', 'me', 'does'} Hình 2.3: Một số stopword tiếng Anh [18] Phần trình bày mơ hình mạng Nơ-ron sử dụng luận văn 2.2 Giới thiệu chung mơ hình mạng Nơ-ron: 2.2.1 Mạng Nơ-ron nhân tạo (ANN) Mạng neural nhân tạo (Artificial Neural Network- ANN)[4] mơ hình xử lý thơng tin mô dựa hoạt động hệ thống thần kinh sinh vật, bao gồm số lượng lớn Neuron gắn kết để xử lý thông tin ANN giống não người, học kinh nghiệm (thơng qua huấn luyện), có khả lưu giữ kinh nghiệm hiểu biết (tri thức) sử dụng tri thức việc dự đốn phân loại liệu chưa biết (unseen data Mạng neural nhân tạo sử dụng rộng rãi từ năm 1980 nay, áp dụng rộng rãi nhiều ngành khoa học.Mốt số kiến trúc mạng Nơ ron phổ biến như: Mạng nơ ron tích chập(CNN), mạng nơ ron hồi qui(RNN), mạng nơ ron sâu(DNN), mạng nhớ ngắn dài(LSTM),… 2.2.2 Mạng nơ-ron sinh học Hệ thống thần kinh tổ chức vật chất cao cấp có cấu tạo vơ phức tạp Hệ thần kinh cấu tạo nhiều yếu tố nơ-ron khái niệm Trong não người có khoảng 1011 - 1012 tế bào thần kinh gọi nơ-ron nơ-ron lại liên kết với khoảng 104 nơ ron khác thông qua khớp nối thần kinh synapse Hình 2.4: Mô hình mạng nơ ron sinh học[24] (Nguồn: https://cs231n.github.io/) 2.2.3 Kiến trúc tổng quát mạng neural nhân tạo: Mạng neural nhân tạo (Artificial Neural Network) gọi tắt ANN mơ hình xử lý thơng tin theo cách thức xử lý thông tin hệ thống nơ-ron sinh học[4][24] Nó tạo lên từ số lượng lớn phần tử gọi neural kết nối với thông qua liên kết gọi trọng số liên kết Mạng neural nhân tạo thường mô huấn luyện từ tập mẫu Qua trình huấn luyện, trọng số liên kết cập nhật cho giá trị gây lỗi nhỏ Một mạng neural nhân tạo có kiểu tầng: Hình 2.5: Mạng neural lớp ẩn[24] (Nguồn: https://cs231n.github.io/) 10 Hình 2.7: Mơ hình thuật tốn CNN [15] (Nguồn: Zhang, Y., & Wallace, B (2015) A Sensitivity Analysis of (and Practitioners’ Guide to) Convolutional Neural Networks for Sentence Classification.) Hình 2.8: Cách nhân tích chập ma trận input với lọc[27] 2.4 Mạng nơron hồi quy RNN: a Giới thiệu mạng nơron hồi quy RNN: Hình 2.9: Mơ hình mạng RNN khơng kiểm sốt[21] 11 Hình 2.10: Cơng thức tính vector trạng thái ẩn thời điểm t Hình 2.11: Hàm softmax b Vấn đề lưu trữ thông tin ngữ cảnh phụ thuộc lâu dài Xét câu hỏi sau: “ Số thứ Chiếc xe chạy đường Số thứ hai Tổng hai số mấy?” 2.5 Mạng nơ-ron có nhớ ngắn dài LSTM: Mạng nơ-ron có nhớ ngắn dài LSTM [21] loại RNN đặc biệt cải tiến mạng RNN nhằm giải vấn đề học, lưu trữ thơng tin ngữ cảnh có khả học phụ thuộc dài Với mơ hình RNN, thời điểm t giá trị vector ẩn ht tính hàm nói cách khác RNN tiêu chuẩn module lặp lại có cấu trúc đơn giản với lớp Hình 2.12: Module xử lý tính ht RNN [21] Các LSTM có cấu trúc mắt xích giống chuỗi này, module lặp có cấu trúc khác hẳn Thay có layer mạng nơ ron, LSTM có tới bốn layer, tương tác với theo cấu trúc cụ thể đặc biệt Hình 2.13: Module lặp lại mạng LSTM chứa lớp tương tác[21] 12 Các ký hiệu sử dụng mạng LSTM gồm có: Hình 2.14: Cell state LSTM giống băng chuyền[21] LSTM có khả loại bỏ thêm bớt thông tin vào cell state, điều chỉnh quy định cách cẩn thận cấu trúc gọi cổng (gate) Các gate tuỳ chọn để định nghĩa thông tin qua Chúng tạo lớp mạng thần kinh sigmoid nhân thao tác toán tử pointwise Hình 2.15: Cổng trạng thái LSTM [21] Hình 2.16: Cổng chặn ft[21] Bước thứ hai, cell state cần định thông tin cần lưu lại Có hai phần 13 single sigmoid layer gọi “input gate layer”- cổng vào định giá trị cập nhật Tiếp theo, layer tạo vector Ct ̃được thêm vào cell state Hình 2.17: Cổng vào it tanh[21] Bước thứ ba, kết hợp hai thành phần lại để cập nhật vào cell state Lúc cập nhật vào cell state cũ, Ct-1, vào cell state Ct Đưa state cũ hàm ft, để quên trước Sau đó, thêm (it*Ct) Đây giá trị ứng viên mới, co giãn (scale) số lượng giá trị mà ta muốn cập nhật cho state Hình 2.18: Giá trị state Ct [21] Hình 2.19: Giá trị cổng vector trạng thái ẩn ht[21] 14 Hình 2.20: Mơ hình LSTM luận văn sử dụng (http://hoctructuyen123.net/tong-quan-ve-phan-tich-cam-xuc-trong-tieng-viet/) Từ chuỗi đầu vào x0, x1,… xn sử dụng chế tính tốn nêu cổng vào, cổng cổng chặn tính tương ứng giá trị vector trạng thái ẩn h0, h1,…hn Giá trị vector trạng thái ẩn thời điểm sau tính trung bình tất dấu thời gian để vector trạng thái h Vector h đại diện cho câu xét Cuối cùng, vector h đưa vào lớp hồi quy để gán nhãn, phân loại cho kết đầu 2.6 Kết luận chương 2: Chương giới thiệu hướng tiếp cận, cơng trình nghiên cứu, kỹ thuật liên quan để phục vụ giải toán Chương sâu áp dụng phương pháp học máy phân lớp phương pháp biểu diễu đặc trưng mô hình tốn phát câu chứa gợi ý diễn đàn trực tuyến sử dụng mạng Nơ ron Chương trình bày hệ thống phát câu chứa gợi ý diễn đàn trực tuyến, mơ hình giải tốn, tập liệu sử dụng, cách thức tiến hành thực nghiệm, kết thực nghiệm 15 CHƯƠNG 3: THỰC NGHIỆM VÀ ĐÁNH GIÁ Dựa vào thuật toán áp dụng cho toán phân loại câu tìm hiểu phương pháp giải tốn, chương này, luận văn trình bày chi tiết q trình thực nghiệm gồm có q trình thu thập, thiết lập thực nghiệm, phương pháp làm thực nghiệm, kết đánh giá sau thực nghiệm 3.1 Thông tin liệu Luận văn sử dụng liệu thực nghiệm thu thập từ Bộ liệu tiếng Anh Semeval2019Task9/Subtask-A [5] tổng hợp từ câu diễn đàn trực tuyến phát triển tảng Window với liệu huấn luyện 8500 câu liệu kiểm thử 833 câu Mỗi câu gắn nhãn phân loại theo mục “có gợi ý”, “không gợi ý” Với liệu giúp huấn luyện cho mạng neural máy Mô tả file liệu gồm: Bảng 3.1: Mô tả liệu thực nghiệm Số thứ tự Tên cột Ghi ID Mã câu Classification Phân loại câu: Giá trị “có gợi ý” hay “khơng gợi ý” Sentence Nội dung câu (tối đa 140 ký tự) (Nguồn: https://github.com/Semeval2019Task9/Subtask-A ) Bộ liệu tiếng Anh Semeval2019Task9/Subtask-A [5] gồm thư mục để huấn luyện, kiểm thử cho kết Data: File “V1.4_Training_new.csv” sử dụng cho huấn luyện File “SubtaskA_EvaluationData_labeled.csv” sử dụng cho kiểm thử Bảng 3.2: Mô tả phân loại nhãn cho tập liệu thực nghiệm Tập liệu Câu Có gợi ý Câu Khơng gợi ý Tổng cộng Data/train 2085 6415 8500 Data/test 87 746 833 3.2 Môi trường thực nghiệm: 3.2.1 Ngơn ngữ lập trình python: Python ngơn ngữ lập trình thơng dịch Guido van Rossum tạo năm 1990 [22] Python hoàn toàn tạo kiểu động dùng chế cấp phát nhớ tự động, Có 16 Hình 3.1: Mơ tả cú pháp, dòng lệnh Python (Nguồn: https://www.python.org/) Hiện ngôn ngữ Python xếp hạng thứ Top 10 ngơn ngữ lập trình phổ biến giới sử dụng: Bảng 3.3: Bảng xếp hạng ngôn ngữ lập trình năm 2020 Programming Feb-20 Feb-19 Change Language Ratings Change Java 17.36% 1.48% 2 C 16.77% 4.34% 3 Python 9.35% 1.77% 4 C++ 6.16% -1.28% C# 5.93% 3.08% Visual Basic 5.86% -1.23% NET JavaScript 2.06% -0.79% 8 PHP 2.02% -0.25% 9 SQL 1.53% -0.37% 10 20 Swift 1.46% 0.54% (Nguồn: https://www.tiobe.com/) 3.2.2 Giới thiệu thư viện TensorFlow TensorFlow thư viện nhóm phát triển Google Brain Google phát triển phát hành mã nguồn mở vào tháng 11/2015 TensorFlow cho sử dụng nhiều sản phẩm thương mại Google [23] Hiện sử dụng nhiều q trình thực hố mạng neural Deep Learning Các khái niệm bản: Tensor: Tensor khái niệm TensorFlow 17 Bảng 3.4: Mô tả rank tensor [23] Rank đơn vị số học Ví dụ Python Scalar s = 483 Vector v = [1.1, 2.2, 3.3] Matrix m = [[1, 2, 3], [4, 5, 6], [7, 8, 9]] 3-Tensor t = [[[2], [4], [6]], [[8], [10], [12]], [[14], [16], [18]]] n n-Tensor (n chiều) … Shape: chiều tensor Ví dụ: t = [[1, 2, 3], [4, 5, 6], [7, 8, 9]] có shape [3, 3] Bảng 3.5: Mô tả cú pháp shape tensor [23] Rank Số chiều Shape Ví dụ (Dimension) [] 0-D A 0-D tensor A scalar [D0] 1-D A 1-D tensor with shape [5] [D0, D1] 2-D A 2-D tensor with shape [3, 4] [D0, D1, D2] 3-D A 3-D tensor with shape [1, 4, 3] n [D0, D1, … Dn-1] n-D A tensor with shape [D0, D1, … Dn-1] Type: kiểu liệu Bảng 3.6: Mô tả kiểu liệu tensorflow [23] Loại liệu DT_FLOAT DT_DOUBLE DT_INT8 DT_INT16 DT_INT32 DT_INT64 DT_UINT8 DT_STRING Loại python tf.float32 tf.float64 tf.int8 tf.int16 tf.int32 tf.int64 tf.uint8 tf.string Mô tả 32 bits floating point 64 bits floating point bits signed integer 16 bits signed integer 32 bits signed integer 64 bits signed integer bits unsigned integer Variable length byte arrays Each element of a Tensor is a byte array DT_BOOL tf.bool Boolean DT_COMPLEX64 tf.complex64 Complex number made of two 32 bits floating points: real and imaginary parts DT_QINT8 tf.qint8 bits signed integer used in quantized Ops DT_QINT32 tf.qint32 32 bits signed integer used in quantized Ops DT_QUINT8 tf.quint8 bits unsigned integer used in quantized Ops 18 Variable: lưu trạng thái (state) sau tính toán graph 3.3 Phương pháp thực nghiệm: 3.3.1 Cách chia liệu: Với việc chia tập liệu thành hai tập nhỏ: training data test data Phương pháp trích từ tập training data tập nhỏ thực việc đánh giá mơ hình tập nhỏ Tập nhỏ trích từ training set gọi validation set Lúc này, training set phần lại training set ban đầu Train error tính training set này, có khái niệm định nghĩa tương tự validation error, tức error tính tập validation Hình 3.2: Lựa chọn mơ hình dựa validation[26] 3.3.2 Cách thức đánh giá: Để đánh giá hiệu phân lớp luận văn sử dụng độ đo F-score Giá trị F-Score phụ thuộc vào Precision Recall Trong đó, Precision độ đo thể độ xác phân lớp, xác định số bình luận phân lớp tổng số bình luận phân vào lớp Recall độ đo thể khả không phân lớp sai bình luận, xác định số bình luận phân lớp tổng số bình luận thực tế thuộc lớp F-score độ xác định thông qua Precision Recall (giá trị độ đo cao phân lớp có hiệu phân lớp tốt) Cụ thể: 19 3.4 Tiến hành thực nghiệm 3.4.1 Xây dựng thành phần chung cho mơ hình: Xây dựng class khai báo tham số đầu vào cho mơ hình mạng: Mỗi mơ hình mạng neural khai báo class với hàm init để khởi tạo tham số đầu vào mạng Các tham số đầu vào cho mơ hình mạng: Định nghĩa liệu đầu vào để truyền cho mơ hình mạng tf.placeholder: Tạo biến vị trí để đưa vào mạng thực huấn luyện hay kiểm thử Tham số thứ hình liệu đầu vào, sử dụng None cho phép mạng xử lý lơ kích thước tùy ý Lớp nhúng (Embedding layer) tf.device('/cpu:0'): Buộc hoạt động thực CPU Mặc định TensorFlow cố gắng đưa hoạt động GPU có sẵn Tính tỉ lệ lỗi độ xác: 3.4.2 Mã lệnh cài đặt mơ hình ngơn ngữ Python Tensorflow: 3.4.2.1 Mơ hình mạng neural CNN (Lớp tích chập max-pooling) Xây dựng lớp tích chập cho CNN theo sau max-pooling sử dụng lọc có kích thước Mơ hình mạng TensorBoard: Hình 3.3: Mơ hình mạng CNN nghiên cứu 20 Hình 3.4: Mơ hình conv-maxpool mạng CNN 3.4.2.2 Mơ hình mạng neural RNN (Lớp ẩn sử dụng GRU cell) Mơ hình mạng TensorBoard: Hình 3.5: Mơ hình mạng RNN nghiên cứu 21 3.4.2.3 Mơ hình LSTM: 3.5 Kết chạy thực nghiệm Kết với mơ hình CNN: Bảng 3.7: Kết sử dụng mơ hình CNN CNN Epoch Batch size 32 Accuracy % 71.16 Độ đo Pre% Re% F1% Gợi ý 77.58 70.20 73.71 Không gợi ý 77.32 72.03 74.62 10 64 74.25 Pre% Re% F1% 80.98 78.32 79.63 77.99 78.67 78.33 Pre% 84.07 88.91 20 128 81.52 Re% 79.16 82.42 F1% 81.45 83.04 Kết với mơ hình RNN: Bảng 3.8: Kết sử dụng mơ hình RNN RNN Epoch 10 20 Batch size 32 64 128 69.46 71.28 76.81 Accuracy % Độ đo Pre% Re% F1% Pre% Re% F1% Pre% Re% Gợi ý 69.49 60.67 64.81 80.76 67.02 73.03 82.35 73.68 77.81 Không gợi ý 54.6 89.0 67.7 76.92 66.56 71.42 72.72 86.02 78.88 Pre% 75.93 83.57 20 128 83.26 Re% 89.70 86.22 F1% Kết với mơ hình LSTM: Bảng 3.9: Kết sử dụng mơ hình LSTM LSTM Epoch Batch size Accuracy % Độ đo Gợi ý Không gợi ý 32 72.42 Pre% Re% F1% 68.18 80.03 73.61 66.29 83.09 73.75 10 64 75.07 Pre% Re% F1% 72.72 86.02 78.81 72.47 88.76 79.76 F1% 82.29 84.87 Bảng 3.10: Kết so sánh mơ hình Mơ hình Accuracy % Độ đo Gợi ý Không gợi ý CNN 81.52 Pre% 84.07 88.91 Re% F1% 79.16 81.45 82.42 83.04 RNN 76.81 Pre% 82.35 72.72 Re% F1% 73.68 77.81 86.02 78.88 LSTM 83.26 Pre% 75.93 83.57 Re% 89.70 86.22 F1% 82.29 84.87 22 Sau tiến hành thực nghiệm cho kết thuật tốn CNN,RNN LSTM tơi thực so sánh kết phương pháp theo nhãn “ Gợi ý”, “Không gợi ý” biểu diễn biểu đồ sau: 100 90 80 70 60 Precision 50 Recall 40 F1-score 30 20 10 CNN RNN LSTM Hình 3.6: Biểu đồ so sánh mơ hình CNN, RNN, LSTM với nhãn “Gợi ý” Với nhãn “ Gợi ý” ta thấy kết khả quan sử dụng mơ hình LSTM 100 90 80 70 60 Precision 50 Recall 40 F1-score 30 20 10 CNN RNN LSTM Hình 3.7: Biểu đồ so sánh mô hình CNN, RNN, LSTM với nhãn “Khơng gợi ý” Với nhãn “ Khơng gợi ý” ta thấy kết khả quan sử dụng mơ hình LSTM 23 Acuracy% 84 82 80 78 Acuracy% 76 74 72 CNN RNN LSTM Hình 3.6: Biểu đồ so sánh độ xác mơ hình Từ bảng kết hình 3.8 bảng 3.10, tơi thấy : 3.6 Nhận xét đánh giá Dựa vào số liệu trên, kết ngữ liệu tiếng Anh tốt, kết sử dụng model LSTM cho kết tốt so với thuật toán CNN, RNN để lựa chọn mơ hình áp dụng cho đề tài “ Phát câu chứa gợi ý diễn đàn trực tuyến sử dụng mạng NơRon”, đề xuất đánh giá cao mơ hình LSTM Bên cạnh đó, số liệu trung bình độ chênh lệch độ xác mơ hình LSTM cho kết khả quan Tóm lại mơ hình mạng neural CNN RNN, LSTM cho thấy cách nhìn việc phân loại câu văn nói riêng xử lý ngơn ngữ tự nhiên nói chung, cách sử dụng học chuyên sâu kết hợp mơ hình mạng neural Luận văn đưa nhận xét, đánh giá so sánh mô hình, phân lớp, từ đưa mơ hình tốt việc giải toán phân loại câu chưa gợi ý người dùng diễn đàn trực tuyến nêu 24 KẾT LUẬN Xữ Lý Ngơn Ngữ Tự Nhiên nói chung đặc biệt phân loại câu chứa gợi ý người dùng nói riêng ngày đóng vai trị quan trọng hoạt động thương mại, mua bán,du lịch… nay.Trong luận văn này, tiến hành nghiên cứu phương pháp nhằm cải thiện độ xác cho tốn phân loại câu văn bản, cụ thể cải thiện độ xác cho tốn phân loại câu chứa gợi ý diễn đàn trực tuyến Bài toán xác định tốn có độ phức tạp có nhiều ứng dụng thực tế Phương pháp giải luận văn tập trung vào việc nâng cao độ xác việc phân loại ý định người dùng thông qua diễn đàn trực tuyến Bằng việc sử dụng mơ hình phân lớp quen thuộc CNN RNN với tập liệu thu từ diễn đàn trực tuyến, luận văn đưa số phương pháp để giải cho tốn đề Q trình thực nghiệm đạt kết khả quan, cho thấy tính đắn việc lựa chọn kết hợp phương pháp, đồng thời hứa hẹn nhiều tiềm phát triển hoàn thiện Nhìn chung, luận văn đạt số kết như: - Trình bày cách khái quát, tổng quan nêu lên ý nghĩa, vai trò quan trọng toán phân loại câu chứa gợi ý người dùng diễn đàn trực tuyến - Nghiên cứu mơ hình khác cho tốn phân loại câu chứa gợi ý - Nghiên cứu làm thực nghiệm với thuật toán học máy khác - So sánh phân tích kết thực nghiệm, đưa kết tốt Luận văn số hạn chế như: - Nghiên cứu dựa số lượng liệu cịn chưa đầy đủ - Kết thực nghiệm đạt chưa thực cao - Chỉ thử nghiệm tập liệu tiếng anh Về hướng phát triển tương lai, tiến hành thu thập phát triển tập liệu lớn dựa nhiều đặc trưng để góp phần cải thiện khả phân loại Bên cạnh chúng tơi nghiên cứu thử nghiệm với số thuật toán khác để tìm thuật tốn phù hợp với toán phân loại câu chứa gợi ý người dùng trực tuyến tiếng Việt Khắc phục lỗi trình xử lý để nâng cao kết thực nghiệm ... Phát biểu toán phân loại phát câu chứa gợi ý Bài toán phân loại câu, phân loại văn thấy nhiều ứng dụng NLP (xử lý ngôn ngữ tự nhiên) Bài toán phát câu chứa gợi ý diễn đàn trực tuyến sử dụng mạng. .. áp dụng phương pháp học máy phân lớp phương pháp biểu diễu đặc trưng mơ hình tốn phát câu chứa gợi ý diễn đàn trực tuyến sử dụng mạng Nơ ron Chương trình bày hệ thống phát câu chứa gợi ý diễn đàn. .. giải luận văn Trong chương 2, luận văn trình bày hướng giải cho toán phát câu chứa gợi ý sâu trình bày phương pháp áp dụng để giải toán 5 CHƯƠNG 2: PHƯƠNG PHÁP PHÁT HIỆN CÂU CHỨA GỢI Ý SỬ DỤNG