Khóa luận tốt nghiệp khoa học máy tính tìm kiếm kiến trúc mạng neural với thuật toán tiến hóa cho bài toán phân tích cảm xúc

Khóa luận tốt nghiệp khoa học máy tính nghiên cứu kiến trúc mạng neural kết hợp thuật toán tiến hóa để phân tích cảm xúc hiệu quả.

Chuyên ngành

Khoa học máy tính

Người đăng

Ẩn danh

Thể loại

Khóa luận tốt nghiệp

2021

0
1
0

Phí lưu trữ

30 Point

Mục lục chi tiết

LỜI CAM ĐOAN

LỜI CẢM ƠN

1. CHƯƠNG 1: MỞ ĐẦU

1.1. Đặt vấn đề

1.2. Phát biểu bài toán

1.3. Tính ứng dụng

1.4. Mục tiêu của khóa luận

1.5. Đối tượng và phạm vi nghiên cứu

1.6. Kết quả đề tài

1.7. Cấu trúc khóa luận

2. CHƯƠNG 2: CƠ SỞ LÝ THUYẾT

2.1. Tổng quan về phân tích cảm xúc

2.2. Kiến trúc mạng neural tích chập (CNN)

2.3. Phương pháp tìm kiếm kiến trúc mạng neural (NAS)

2.4. Thuật giải di truyền (GA)

2.5. Kỹ thuật thích ứng miền (DM)

3. CHƯƠNG 3: TÌM KIẾM KIẾN TRÚC MẠNG NEURAL CHO BÀI TOÁN PHÂN TÍCH CẢM XÚC

3.1. Giới thiệu về bộ dữ liệu

3.2. Dữ liệu Datafinity Hotel Review

3.3. Biểu diễn di truyền (Genetic representation)

3.4. Hoạt động di truyền (Genetic operations)

3.5. Chiến lược cài đặt phương pháp GeneticCNN

3.6. Tổng quan và điểm khác biệt so với phương pháp GeneticCNN paper đề cập

4. CHƯƠNG 4: THỰC NGHIỆM

4.1. Công đoạn tiền xử lý dữ liệu

4.2. Biến đổi đầu vào từ văn bản sang vector số bằng Fasttext

4.3. Đánh giá mô hình

4.3.1. Kiểm tra chiến lược khởi tạo quần thể

5. CHƯƠNG 5: KẾT LUẬN VÀ KẾT QUẢ

5.1. Kết luận

5.2. Hướng phát triển tương lai

PHỤ LỤC

TÀI LIỆU THAM KHẢO

Tóm tắt

I. Giới thiệu và đặt vấn đề

Khóa luận tập trung vào việc tìm kiếm kiến trúc mạng neural bằng thuật toán tiến hóa để giải quyết bài toán phân tích cảm xúc. Bài toán này có ý nghĩa quan trọng trong lĩnh vực xử lý ngôn ngữ tự nhiên (NLP)khoa học máy tính, đặc biệt trong bối cảnh các đánh giá của khách hàng về dịch vụ nhà hàng và khách sạn ngày càng phổ biến. Phân tích cảm xúc giúp xác định cảm xúc tích cực, tiêu cực hoặc trung tính từ các đánh giá văn bản. Tuy nhiên, việc thiết kế thủ công các kiến trúc mạng neural đòi hỏi nhiều thời gian và chuyên môn. Do đó, khóa luận đề xuất sử dụng thuật toán tiến hóa để tự động hóa quá trình này, cụ thể là phương pháp GeneticCNN.

1.1. Bối cảnh và mục tiêu

Bài toán phân tích cảm xúc đã được nghiên cứu rộng rãi trong NLP, nhưng việc tối ưu hóa kiến trúc mạng neural vẫn còn nhiều thách thức. Khóa luận nhằm mục tiêu áp dụng thuật toán tiến hóa để tìm kiếm kiến trúc mạng neural hiệu quả nhất cho bài toán này. Phương pháp GeneticCNN được lựa chọn do khả năng tự động hóa và hiệu quả trong việc tối ưu hóa mô hình neural.

1.2. Phạm vi nghiên cứu

Khóa luận tập trung vào việc phân tích cảm xúc từ các đánh giá của khách hàng về nhà hàng và khách sạn. Dữ liệu được sử dụng bao gồm bộ dữ liệu YelpB ReviewsDatafinity Hotel Reviews. Phương pháp GeneticCNN được áp dụng để tìm kiếm kiến trúc mạng neural tối ưu, sau đó so sánh với các mô hình thủ công như KimYoon CNN, DeepCNNShallowCNN.

II. Cơ sở lý thuyết

Chương này trình bày các khái niệm cơ bản về phân tích cảm xúc, kiến trúc mạng neural tích chập (CNN), và thuật toán tiến hóa. Phân tích cảm xúc là quá trình xác định và phân loại cảm xúc từ văn bản, trong khi CNN là một kiến trúc mạng neural phổ biến trong NLP. Thuật toán tiến hóa, đặc biệt là Genetic Algorithm (GA), được sử dụng để tối ưu hóa kiến trúc mạng neural thông qua quá trình chọn lọc, lai ghép và đột biến.

2.1. Phân tích cảm xúc

Phân tích cảm xúc là một bài toán quan trọng trong NLP, giúp xác định cảm xúc từ văn bản. Các phương pháp truyền thống thường dựa trên từ khóa và ngữ cảnh, trong khi các phương pháp hiện đại sử dụng mạng neural để nắm bắt ngữ nghĩa sâu hơn. Bài toán này có ứng dụng rộng rãi trong quản trị thương hiệu và khảo sát ý kiến khách hàng.

2.2. Kiến trúc mạng neural tích chập CNN

CNN là một kiến trúc mạng neural phổ biến trong NLP, đặc biệt hiệu quả trong việc xử lý dữ liệu văn bản. CNN bao gồm các tầng tích chập, tầng kích hoạt và tầng kết nối đầy đủ. Khóa luận sử dụng CNN làm cơ sở để tìm kiếm kiến trúc mạng neural tối ưu bằng thuật toán tiến hóa.

III. Phương pháp và thực nghiệm

Khóa luận áp dụng phương pháp GeneticCNN để tìm kiếm kiến trúc mạng neural tối ưu cho bài toán phân tích cảm xúc. Phương pháp này kết hợp thuật toán tiến hóa với CNN để tự động hóa quá trình tìm kiếm. Các thực nghiệm được thực hiện trên bộ dữ liệu YelpB ReviewsDatafinity Hotel Reviews, sau đó so sánh kết quả với các mô hình thủ công.

3.1. Phương pháp GeneticCNN

GeneticCNN là phương pháp kết hợp thuật toán tiến hóa với CNN để tìm kiếm kiến trúc mạng neural tối ưu. Quá trình bao gồm khởi tạo quần thể, đánh giá độ thích nghi, chọn lọc, lai ghép và đột biến. Phương pháp này giúp tự động hóa quá trình thiết kế kiến trúc mạng neural, giảm thiểu sự can thiệp thủ công.

3.2. Kết quả thực nghiệm

Các thực nghiệm cho thấy GeneticCNN đạt hiệu suất cao hơn so với các mô hình thủ công như KimYoon CNN, DeepCNNShallowCNN. Kết quả cũng cho thấy khả năng thích ứng của kiến trúc mạng neural tìm được trên các miền dữ liệu khác nhau, đặc biệt là từ nhà hàng sang khách sạn.

IV. Kết luận và hướng phát triển

Khóa luận đã thành công trong việc áp dụng thuật toán tiến hóa để tìm kiếm kiến trúc mạng neural tối ưu cho bài toán phân tích cảm xúc. Phương pháp GeneticCNN đã chứng minh hiệu quả vượt trội so với các mô hình thủ công. Tuy nhiên, vẫn còn một số hạn chế về thời gian và tài nguyên tính toán. Hướng phát triển tương lai bao gồm tối ưu hóa thuật toán và mở rộng ứng dụng sang các lĩnh vực khác.

4.1. Kết luận

Khóa luận đã đạt được mục tiêu đề ra bằng cách áp dụng thuật toán tiến hóa để tìm kiếm kiến trúc mạng neural tối ưu. Kết quả thực nghiệm cho thấy GeneticCNN là phương pháp hiệu quả trong việc tự động hóa quá trình thiết kế mô hình neural.

4.2. Hướng phát triển

Trong tương lai, nghiên cứu có thể tập trung vào việc tối ưu hóa thuật toán tiến hóa để giảm thời gian tính toán. Ngoài ra, phương pháp này có thể được mở rộng sang các bài toán khác trong NLPAI.

21/02/2025
Khóa luận tốt nghiệp khoa học máy tính tìm kiếm kiến trúc mạng neural với thuật toán tiến hóa cho bài toán phân tích cảm xúc

Trích đoạn nội dung tài liệu

MỞ ĐẦU 7 Chương JBÌ Cuối cùng, chúng tôi xin tổng kết các kết quả quan trọng trong dé tài này, đưa ra các hạn chế và hướng phát triển của đề tài này trong tương lai. Chương 2 CƠ SỞ LÝ THUYET Trong chương này, nhóm sẽ trình bày tổng quan về bài toán phân tích cảm xúc. Tiếp theo, nhóm sẽ giới thiệu qua kiến trúc mạng neural tích chập (CNN) cùng một số kiến trúc mạng được thiết kế thủ công. Cùng với đó, nhóm cũng giới thiệu phương pháp Tìm kiếm kiến trúc mạng neural (NAS) - phương pháp cốt lõi áp dụng cho bài toán phân tích cảm xúc.

Phần cuối cùng, nhóm sẽ thảo luận tổng quan về cơ sở lý thuyết của Thuật giải di truyền (GA) và Kỹ thuật thích ứng miễn (DM).1 Tổng quan về phân tích cam xúc Trong những năm gần dây, Phân tích cảm xúc (SA) được cộng đồng nghiên cứu thuộc lĩnh vực NLP được đông đảo cộng đồng trong lẫn ngoài nước rat quan tâm. Đây là quá trình xác định và phân loại văn bản thành các cảm xúc khác nhau — ví dụ, cảm xúc tích cực, tiêu cực hoặc trung tính — hoặc cảm xúc — chẳng hạn như vui, buồn, tức giận hoặc ghê tém — để xác định thái độ của con người đối với chủ thể hoặc thực thể cụ thể. Phân tích cảm xúc cũng là một trong những công tác quan trọng trong lĩnh vực NLP. Nó không chỉ có ý nghĩa quan trọng trong học thuật, nghiên cứu mà còn có ý nghĩa cực kì thiết yêu trong các ngành công nghiệp - dịch vụ, cụ thể là việc nhận biết hành vi và thái độ của khách hàng về sản phẩm và dich vụ mà ho sử dụng.

Với ngành công nghiệp - dịch vụ nói chung, SA được sử dụng như một công cụ mạnh mẽ để tự động hóa quy trình phân tích và đánh giá ý kiến của người dùng. Đối với lĩnh vực nhà hàng - khách sạn nói riêng, các ý kiến người dùng đó Chương 2. CƠSỞ LY THUYET 9 HINH 2.1: Biểu đồ trình bày các cấp độ trong ngôn ngữ học gồm các cấp độ phổ biến: Ngữ âm học (Phonetics), Âm vị học (Phonology), Hình thái học (Morphology), Cú pháp (Syntax), Ngữ nghĩa học (Se- mantics) và Ngữ dụng học (Pragmatics)|'] thường được thu thập từ các trang mang xã hội, hoặc các trang thu thập nhận xét của khách hàng về chất lượng cũng như mức độ hài lòng. Hiện nay, bài toán phân tích cảm xúc có ba cấp độ chính đó là cấp độ câu văn (sentence-level), văn bản (document-level), và khía cạnh (aspect-level).

Ở cấp độ câu văn, mục tiêu của bài toán là phân loại một câu văn thành các lớp tiêu cực (negative), tích cực (positive), hoặc trung tính (neutral). Cấp độ văn bản được dùng để xác định mức độ cảm xúc của một đoạn văn (gồm hai hay nhiều câu văn) là tiêu cực, tích cực, hay trung tính. Và cấp độ khía cạnh được dùng để xác định mức độ cảm xúc cho mỗi khía cạnh của thực thể dé cập trong một văn bản. Trong phạm vi của khóa luận, giới hạn nghiên cứu nhóm sẽ chỉ nằm ở mỗi khía cạnh cấp độ câu văn.

Đối với Bài toán phân tích cảm xúc, chúng sẽ thuộc cấp độ ngữ dụng học (Pragmatics) và ngữ nghĩa học (Semantics). Chúng ta có thể thấy rằng vị trí của bài toán này nằmở vị trí nào trong lĩnh vực NLP - một nhánh của chuyên ngành khoa học máy tính, đó là vị trí với vai trò là một ứng dụng trong lĩnh vực NLP. lGiới thiệu về ngôn ngữ - Lumen: https://courses.com/ boundless-psychology/chapter/introduction-to-language/ Chương 2. COSO LY THUYET 10 2.2 Kiến trúc mang neural tích chap (CNN) 2.1 Giới thiệu về mang neural nhân tao Có những nhiệm vụ nhất định mà con người có thé dé dang làm tốt hon bat kỳ một chiếc máy tính nào.

Một trong những ví dụ chính của điều này nằm ở vấn đề phân loại hình ảnh. Nếu chúng ta cần xác định một hình ảnh bất kỳ có chứa một con mèo hoặc một con chó thì điều này với con người sẽ trở nên vô cùng dễ dàng. Tuy nhiên, van dé này sẽ khá khó để lập trình cho máy tính và sẽ ngày càng phức tạp với mỗi danh mục mới được thêm vào để phân loại. Các thành phần quan trọng của mạng học sâu hiện tại đều bắt nguồn từ mạng neural nhân tạo.

Mạng neural nhân tạo - một khái niệm thuộc Máy học, là mô hình toán học bằng dựa trên cảm hứng sinh học từ năng lực xử lý thông tin của bộ não. Ap dụng với các kỹ thuật hoc sâu, mang neural nhân tao hiện nay đang được áp dụng để giải quyết những vấn đề mà lập trình theo logic thông thường khó có thể giải quyết được. Do đó, mạng neural nhân tạo đang nhanh chóng trở nên phổ biến, và là xu thế trên nhiều lĩnh vực.2 Giới thiệu về mạng neural tích chập (CNN) Mang neural tích chập (CNN) là một tập hợp con của Mang neural nhân tao và Học sâu thường được sử dụng nhiều nhất trong các tác vụ liên quan đến thị giác máy tính (1). Nó được Yann Lecun (LeNet) dé xuất vào năm 1990 va sau đó trở thành nén tảng của tầm nhìn máy tính hiện đại.

Kể từ thời ky đó, nhiều kiến trúc thần kinh dựa trên CNN đã được gia tăng và sự thành công của nó đã thu hút được sự chú ý ngoài một vân đề đầy thách thức khác như [20]. Khác với mang ANN thông thường (xem ảnh |2.2}, mang CNN gồm 4 tang chính: tầng tích chập (Convolution), tang kích hoạt (Activation), tầng gộp (Pool- ing) và cuối cùng là tang kết nối day đủ (fully connected) IHỆ 2. Tầng tích chập (convolution) Tên gọi mạng neural tích chập (CNN) dùng để nhắn mạnh việc mạng sử dụng phép toán tích chập (convolution) mục đích chính của tầng tích chập là để trích Chương 2. CƠSỞ LY THUYET 11 Hidden o input r Output Artificial Neural Network Kemel Hidden oe mà Convolutional or Pooling Convolutional Neural Network HINH 2.2: Sự khác biệt giữa mang neural tích chập va mang neural nhân tạo seriji aksijalnih =a S oe a Meet errs Zs koronalnih 4 presjeka ea = ¬ € Y 2V bä 2 b Y IN Y J Input Convolutional layer Pooling layer Classification layer HÌNH 2.3: Minh họa kiến trúc CNN trong NLP xuất ra được các đặc trưng tương ứng với dau vào là một bức ảnh hoặc một đoạn văn bản.

Phép toán tích chập dùng một ma trận có thể gọi là bộ lọc (filter), nhân phức hợp (kernel) nhân với đầu vào nhằm rút ra những thông tin quan trọng và thu nhỏ số chiều đưa vào những lớp huấn luyện tiếp theo. COSO LY THUYET 12 0.3 me [oz [ow Por + 0.4: Minh họa phương pháp tinh phép toán tích chập [] Trong trường hợp phân loại văn bản, một nhân phức hợp vẫn sẽ là một cửa sổ trượt, chỉ có công việc của nó là xem xét các nhúng cho nhiều từ, thay vì các vùng pixel nhỏ trong một hình ảnh. Các kích thước của hạt nhân chập cũng sẽ phải thay đổi theo tác vụ này. Để xem các chuỗi nhúng từ, chúng tôi muốn có một cửa sổ để xem nhiều từ nhúng trong một chuỗi.

Các nhân sẽ không còn là hình vuông nữa, thay vào đó, chúng sẽ là một hình chữ nhật rộng với kích thước như 3x300 hoặc 5x300 (giả sử chiều dài nhúng là 300). Với ma trận đầu vào X có N từ, mỗi từ có bộ nhúng từ chiều dài d ta có XN*# và ma trận F có kích thước sxt F°*! với s € N, t € d, thường this = t.2 Tầng kích hoạt (Activation) Trong các kiến trúc mạng CNN, Tầng kích hoạt thường sẽ theo sau tầng tích chập. Đây là một tầng khá quan trọng trong mạng neural vì tầng này sẽ được sử dụng nhằm kích hoạt đầu ra từ bản đồ đặc trưng (feature map) cụ thể được tạo bởi tiến trình trước đó. Hàm kích hoạt thường là hàm số phi tuyến tính để học những đặc trưng phi tuyến tính.

Hơn hết, hàm kích hoạt cũng cần phải là hàm khả vi để mạng neural có thể được học bởi các thuật toán Gradient Descent. 2CNNs for Text Classification - Cezanne Camacho: https: //cezannec.io/CNN_Text_ Classification/ Chương 2. COSO LY THUYET 13 : ReLU 0 -10 -5 ũ 5 10 HÌNH 2.5: Đồ thị biểu diễn ham số của ham ReLU Chúng ta có hàm kích hoạt phổ biến ở tang này chính là ReLU và hàm này cũng được sử dụng rộng rãi vì những hiệu suất tốt hơn so với hàm sigmoid hay tanh trong bài toán phân loại văn bản nói chung và bài toán của đề tài nói riêng. Điểm đặt biệt của hàm ReLU nằmở việc đây là hàm số gần như không khả vi.

Từ đó với các node có giá trị nhỏ hơn 0 thì ở hàm kích hoạt ReLU activation sẽ thành 0 và hiện tượng này được gọi là “Dying ReLU“. Nếu các node bị chuyển thành 0 thì các bước thao tác ở lớp tiếp theo sẽ mắt đi ý nghĩa và các hệ số tương ứng từ node này cũng không được cập nhật với Gradient Descent. Tầng gộp (Pooling) Dùng một cửa sổ trượt lấy thông tin cần thiết như max, min, average trong khu vực cửa sổ trượt. Ví dụ như ở bài toán của tác giả Yoon Kim [9], ông đã sử dụng phép gộp lớn nhất (max pooling) để trích ra những giá trị lớn nhất của bản đồ đặc trưng thuộc lớp tích chập.

Phép gộp lớn nhất cũng là phương pháp thực hiện trong dé tài và được minh họa ở Hình|2.4 Tầng kết nói đầy đủ (Fully Connected) Tầng kết nối đầy đủ được sử dụng để học các đặc trưng đã được rút trích từ các tầng trên với cơ chế lan truyền ngược (back-propagation) cùng với việc sử dụng hàm softmax cho việc phân lớp. COSO LY THUYET 14 TT [o2 [oa [2a movie — |o+ | o2 | 06 | me [ar oa [as amazing —> 10.6: Minh họa phép gộp lớn nhất trong CNN Trong quá trình huấn luyện kiến trúc mang CNN, 4 tang néu trén sé thuc hiện lần lượt theo vòng lặp cho đến khi đạt đến ngưỡng xác định. Đối với mỗi vòng lặp, mô hình sẽ được cập nhật lại bởi phương pháp lan truyền ngược (back propagration) mỗi khi chúng kết thúc.3 Tìm kiêm kiên trúc mạng neural 2. Giới thiệu về Tìm kiếm kiến trúc mang neural Trong những năm gần đây, Mạng neural học sâu (Deep Neural Network) đã trở thành một trong những kỹ thuật nổi bật của lĩnh vực Thị giác máy tính.

Chưa kể đến nằm ở sự đột phá đến từ cuộc thi ImageNet 2012] đã đóng vai trò như một bàn đạp thúc đẩy phát triển ứng dụng Trí tuệ nhân tạo vào nghiên cứu và ứng dụng trong đời sống. Chúng đã tạo ra những bước đột phá và tiến bộ lớn trong nhiều lĩnh vực. Điều này là do khả năng biểu diễn tự động mạnh mẽ của học sâu.

Nội dung được bảo vệ bản quyền — Tải xuống đầy đủ

Khóa luận "Tìm kiếm kiến trúc mạng neural bằng thuật toán tiến hóa cho phân tích cảm xúc" tập trung vào việc sử dụng thuật toán tiến hóa để tự động tìm kiếm và tối ưu hóa kiến trúc mạng neural, nhằm nâng cao hiệu quả trong bài toán phân tích cảm xúc. Khóa luận này hứa hẹn mang lại một phương pháp tiếp cận mới, giảm bớt sự phụ thuộc vào việc thiết kế kiến trúc mạng neural thủ công, vốn tốn nhiều thời gian và công sức. Nó cho phép người đọc hiểu sâu hơn về cách kết hợp sức mạnh của thuật toán tiến hóa và mạng neural để giải quyết các vấn đề phức tạp trong xử lý ngôn ngữ tự nhiên.

Nếu bạn quan tâm đến ứng dụng thực tế của Deep Learning trong phân tích cảm xúc, bạn có thể tham khảo thêm tài liệu "Ứng dụng Deep Learning trong phân tích cảm xúc và nhận diện đối tượng". Tài liệu này sẽ cung cấp cho bạn cái nhìn toàn diện hơn về các kỹ thuật Deep Learning khác được sử dụng trong lĩnh vực này, giúp bạn so sánh và đánh giá hiệu quả của từng phương pháp.