chương 1, luận văn đã giới thiệu tổng quan về bài toán xử lý ngôn ngữ tự nhiên. Tìm hiểu bài toán phân loại câu, văn bản và giới thiệu bài toán phát hiện câu chứa gợi ý trên diễn đàn trực tuyến, từ đó đưa ra những vấn đề cần làm rõ và giải quyết trong luận văn. Trong chương 2, luận văn sẽ trình bày về hướng giải quyết cho bài toán phát hiện câu chứa gợi ý và đi sâu hơn trình bày về các phương pháp sẽ áp dụng để giải quyết bài toán. Luan van 8 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 một số phương pháp giải quyết bài toán (phần 2.1) và các thuật toán mô hình mạng Nơron được sử dụng khi làm thực nghiệm : CNN,RNN và LSTM ( phần 2.
Phương pháp giải quyết bài toán: Qua quá trình nghiên cứu, tập hợp các dòng trạng thái trên các diễn đàn trực tuyến và đã thu thập được tập các nội dung chia sẻ về những vấn đề xung quanh của người dùng qua bộ dữ liệu Semeval2019Task9/Subtask-A bao gồm: khoảng 833 câu [5], mục đích sẽ xác định nội dung các câu đó là câu có chứa gợi ý hay câu không chứa gợi ý. Luận văn đã tham khảo và tìm hiểu sau đó đưa ra được các bước thực hiện để xây dựng phương pháp giải quyết cho bài toán phát hiện câu chứa gợi ý được chia làm 2 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 này nhận đầu vào là tập dữ liệu huấn luyện gồm các nội dung dưới dạng văn bản đã được gán nhãn, sau khi xử lý tập dữ liệu và áp dụng các thuật toán huấn luyện sẽ cho đầu ra là một mô hình phân loại, cụ thể: DỮ LIỆU HUẤN DỮ LIỆU LUYỆN TIỀN XỬ LÝ SAU KHI XỬ LÝ MÔ HÌNH MẠNG NƠ-RON PHÂN LỚP (CNN,RNN,LSTM) Hình 2.1 Mô hình giai đoạn huấn luyện Luan van 9 Trong đó các bước cụ thể sau : Tiền xử lý: Chuyển đổi các dòng trạng thái trong tập dữ liệu thành một hình thức phù hợp để phân loại. Dữ liệu sau khi xử lý: Tập dữ liệu đã được xử lý ở bước tiền xử lý như : lọc nhiễu, loại bỏ các thông tin dư thừa… Thuật toán huấn luyện: Thủ tục huấn luyện để tìm ra các tham số tối ưu, có thể sử dụng các thuật toán khác nhau, trong phạm vi luận văn chúng tôi sử dụng thuật toán học máy gồm: Mạng Nơ-Ron tích chập (CNN), mạng Nơ-ron hồi qui (RNN), Mạng Nơ-Ron có bộ nhớ ngắn dài (LSTM) b, Giai đoạn phân lớp : Nhận đầu vào là nội dung trạng thái của người dùng dưới dạng ngôn ngữ tự nhiên, sau quá trình xử lý và áp dụng mô hình phân loại sẽ cho ra nhãn phân loại của câu dữ liệu văn bản đầu vào, cụ thể được biểu diễn dưới sơ đồ sau: TẬP DỮ MÔ HÌNH PHÂN TIỀN XỬ LÝ LIỆU CHƯA LỚP GÁN NHÃN NHÃN Ý ĐỊNH Hình 2.2: Mô hình giai đoạn phân lớp Tương tự như các bước trong 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 các dòng trạng thái trong tập dữ liệu thành một hình thức phù hợp để phân loại như lọc nhiễu, loại bỏ các từ không mang ý định.
Mô hình phân lớp: Sử dụng các thuật toán như Mạng Nơ-Ron tích chập (CNN), mạng Nơ-ron hồi qui (RNN), Mạng Nơ-Ron có bộ nhớ ngắn dài (LSTM) để tiến hành phân loại và gán nhãn ý định. 2 trên ta có thể dễ dàng nhận thấy: Luan van 10 Mô hình kiến trúc hệ thống tổng quát cho bài toán phân loại câu chứa gợi ý gồm các bước chính. Sau đây sẽ giới thiệu chi tiết các thành phần quan trọng của bài toán phân loại câu chứa gợi ý nói riêng và bài toán phân loại văn bản nói chung cho tập dữ liệu thu thập được trên trang trực tuyến gồm 833 dòng trạng thái [5] và được lưu trữ trong file dữ liệu. Tiền xử lý dữ liệu Tiền xử lý dữ liệu là một bước rất quan trọng trong quá trình phân loại dữ liệu.Các kỹ thuật tiền xử lý dữ liệu phổ biến hiện nay bao gồm: xử lý dữ liệu bị khuyết (missing data), mã hóa các biến nhóm (encoding categorical variables), chuẩn hóa dữ liệu (standardizing data), co giãn dữ liệu (scaling data),v.
Một số lỗi thường mắc phải trong khi thu thập dữ liệu là tính không đủ chặt chẽ, logic. Vì vậy, dữ liệu chứa các giá trị vô nghĩa và không có khả năng kết nối dữ liệu, ví dụ dữ liệu là các con số, các ký tự đặc biệt, các #hastag. Ở bước này chúng tôi sẽ tiến hành xử lý những dạng dữ liệu không chặt chẽ nói trên, những dữ liệu dạng này được xem như thông tin dư thừa, không có giá trị. Bởi vậy, đây là một quá trình rất quan trọng vì dữ liệu này nếu không được “làm sạch” sẽ gây nên những kết quả sai lệch nghiêm trọng.
Trước khi tiến hành xây dựng dữ liệu thực nghiệm, chúng tôi sẽ tiến hành lọc và loại bỏ một số dữ liệu không cần thiết từ tập dữ liệu đã thu thập từ các diễn đàn trực tuyến. Lọc nhiễu (loại bỏ từ không mang nghĩa) Các từ không có nghĩa ở đây là các con số, các ký tự đặc biệt và không mang nghĩa. Loại bỏ các từ phổ biến (stop word): Ngôn ngữ cũng giống như một đống gạo bị lẫn với thóc. Việc cần làm đó chính là chọn ra các hạt gạo chất lượng tốt nhất từ đống thóc đó.
Những hạt thóc đó được gọi là stop words tức là những từ không có ý nghĩa lắm đối với việc phân loại. Để tiết kiệm không gian lưu trữ và gia tăng tốc độ xử lý, sẽ không ghi nhận lại những từ quá phổ biến, quá chung chung và những từ này gọi là stop word [18] Luan van 11 {'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 trong tiếng Anh [18] Phần tiếp theo sẽ trình bày các mô hình mạng Nơ-ron được sử dụng trong luận văn. Giới thiệu chung mô hình mạng Nơ-ron: 2. Mạng Nơ-ron nhân tạo (ANN) Mạng neural nhân tạo (Artificial Neural Network- ANN)[1] là mô hình xử lý thông tin được mô phỏng dựa trên hoạt động của hệ thống thần kinh của sinh vật, bao gồm số lượng lớn các Neuron được gắn kết để xử lý thông tin.
ANN giống như bộ não con người, được học bởi kinh nghiệm (thông qua huấn luyện), có khả năng lưu giữ những kinh nghiệm hiểu biết (tri thức) và sử dụng những tri thức đó trong việc dự đoán phân loại các dữ liệu chưa biết (unseen data. Mạng neural nhân tạo đã được sử dụng rộng rãi từ những năm 1980 cho đến nay, vẫn được áp dụng rộng rãi trong 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 bộ nhớ ngắn dài(LSTM),…. Mạng nơ-ron sinh học Hệ thống thần kinh là tổ chức vật chất cao cấp và có cấu tạo vô cùng phức tạp. Hệ thần kinh được cấu tạo bởi nhiều yếu tố trong đó nơ-ron là khái niệm cơ bản nhất.
Trong bộ não người có khoảng 1011 - 1012 tế bào thần kinh được gọi là các nơ-ron và mỗi nơ-ron lại liên kết với khoảng 104 nơ ron khác thông qua các khớp nối thần kinh synapse. Cấu tạo của mỗi nơ-ron gồm các thành phần cơ bản như thân nơ-ron và liên kết giữa các nơ-ron. Thân nơ-ron được giới hạn trong lớp màng và trong cùng là nhân. Nơi đo là nơi tiếp nhận tổng hợp và phát ra các xung thần kinh hay các tín hiệu điện sinh.
Tại thân nơ-ron có rất nhiều đường rẽ nhánh gọi là rễ. Rễ được chia làm hai loại là rễ đầu vào nhân thông tin từ các nơ-ron khác qua axon và rễ đầu ra đưa thông tin qua axon tới các nơ-ron khác.4 mô tả thông tin được truyền từ nơ-ron 1 qua axon đến nơ-ron 2 Hình 2.4: Mô hình mạng nơ ron sinh học[24] (Nguồn: https://cs231n.io/) Luan van 13 Quá trình hoạt động của nơ-ron là một quá trình điện hóa tự nhiên. Khi có tác động từ bên ngoài vào mạng nơ-ron sẽ phản ứng như sau: đầu vào của nơ-ron lớp đầu tiên sẽ xuất hiện một tín hiệu vượt quá mức cân bằng của nó và nó sẽ ở trạng thái kích thích. Trong bản thân nơ-ron sẽ xảy ra hàng loạt những phản ứng tạo thành thế năng.
Thế năng được chuyển vào mạng thông qua axon để tới các nơ-ron tiếp theo. Cứ như vậy thế năng được truyền từ nơ-ron này đến nơ-ron khác trong đó nó sẽ có khả năng kích thích hoặc kìm hãm tự nhiên các neural khác trong mạng. Một tính chất cơ bản của mạng neural sinh học là đáp ứng các kích thích, tác động từ bên ngoài và có khả năng thay đổi theo thời gian. Qua các lớp nơ-ron thì thế năng kích thích có thể được tăng lên, giảm đi hoặc thậm chí là biến mất.
Chính sự liên kết chặt chẽ với nhau của các nơ-ron đã tạo ra mạng lưới đáp ứng, thay đổi không ngừng theo thời gian. Sự thay đổi trạng thái của một neural dẫn thời sự thay đổi trạng thái của các nơ-ron khác và dẫn đến sự thay đổi của toàn bộ mạng. Các nhà khoa học đã tìm hiểu và lấy nguyên lý cấu trúc của mạng nơ-ron sinh học để xây dựng thành mô hình mạng neural nhân tạo. Kiến trúc tổng quát của mạng neural nhân tạo: Mạng neural nhân tạo (Artificial Neural Network) gọi tắt là ANN là một mô hình xử lý thông tin phỏng theo cách thức xử lý thông tin của hệ thống nơ-ron sinh học[1][24].
Nó được tạo lên từ một số lượng lớn các phần tử gọi là neural kết nối với nhau thông qua các liên kết gọi là trọng số liên kết. Mạng neural nhân tạo thường được mô phỏng và huấn luyện từ tập mẫu.