Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 130 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
130
Dung lượng
11,73 MB
Nội dung
BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT THÀNH PHỐ HỒ CHÍ MINH ĐỒ ÁN TỐT NGHIỆP NGÀNH KỸ THUẬT DỮ LIỆU PHÂN TÍCH CẢM XÚC VÀ QUAN ĐIỂM BẰNG HỌC SAU VÀ ỨNG DỤNG GVHD: ThS QCH ĐÌNH HỒNG SVTH: NGUYỄN NGỌC HỊA LÊ ĐÌNH KHANG S K L0 8 Tp Hồ Chí Minh, 2022 TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT TP.HỒ CHÍ MINH KHOA CƠNG NGHỆ THƠNG TIN BỘ MƠN KỸ THUẬT DỮ LIỆU NGUYỄN NGỌC HỊA : 18133014 LÊ ĐÌNH KHANG : 18133021 Đề Tài: PHÂN TÍCH CẢM XÚC VÀ QUAN ĐIỂM BẰNG HỌC SÂU VÀ ỨNG DỤNG KHÓA LUẬN TỐT NGHIỆP KỸ SƯ KỸ THUẬT DỮ LIỆU GIÁO VIÊN HƯỚNG DẪN ThS QCH ĐÌNH HỒNG Hồ Chí Minh, 2022 TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT TP.HỒ CHÍ MINH KHOA CƠNG NGHỆ THƠNG TIN BỘ MƠN KỸ THUẬT DỮ LIỆU NGUYỄN NGỌC HÒA : 18133014 LÊ ĐÌNH KHANG : 18133021 Đề Tài: PHÂN TÍCH CẢM XÚC VÀ QUAN ĐIỂM BẰNG HỌC SÂU VÀ ỨNG DỤNG KHÓA LUẬN TỐT NGHIỆP KỸ SƯ KỸ THUẬT DỮ LIỆU GIÁO VIÊN HƯỚNG DẪN ThS QCH ĐÌNH HỒNG Hồ Chí Minh, 2022 ĐH SƯ PHẠM KỸ THUẬT TPHCM XÃ HỘI CHỦ NGHĨA VIỆT NAM KHOA CNTT Độc lập – Tự – Hạnh phúc ******* ******* PHIẾU NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN Họ tên sinh viên 1: Nguyễn Ngọc Hòa MSSV: 18133014 Họ tên sinh viên 2: Lê Đình Khang MSSV: 18133021 Ngành: Kỹ thuật liệu Tên đề tài: PHÂN TÍCH CẢM XÚC VÀ QUAN ĐIỂM BẰNG HỌC SÂU VÀ ỨNG DỤNG Họ tên giáo viên hướng dẫn: ThS.Qch Đình Hồng NHẬN XÉT: Về nội dung đề tài khối lượng thực hiện: Ưu điểm: Khuyết điểm: Đề nghị cho bảo vệ hay không? Đánh giá loại: Điểm: Tp.Hồ Chí Minh, ngày tháng năm 2022 Giáo viên hướng dẫn Ký & ghi rõ họ tên ĐH SƯ PHẠM KỸ THUẬT TPHCM XÃ HỘI CHỦ NGHĨA VIỆT NAM KHOA CNTT Độc lập – Tự – Hạnh phúc ******* ******* PHIẾU NHẬN XÉT CỦA GIÁO VIÊN PHẢN BIỆN Họ tên sinh viên 1: Nguyễn Ngọc Hòa MSSV: 18133014 Họ tên sinh viên 2: Lê Đình Khang MSSV: 18133021 Ngành: Kỹ thuật liệu Tên đề tài: PHÂN TÍCH CẢM XÚC VÀ QUAN ĐIỂM BẰNG HỌC SÂU VÀ ỨNG DỤNG Họ tên giáo viên phản biện: ThS Lê Thị Minh Châu NHẬN XÉT: Về nội dung đề tài khối lượng thực hiện: Ưu điểm: Khuyết điểm: Đề nghị cho bảo vệ hay khơng? Đánh giá loại: Điểm: Tp.Hồ Chí Minh, ngày tháng năm 2022 Giáo viên phản biện Ký & ghi rõ họ tên LỜI CẢM ƠN Trong trình nghiên cứu đề tài, giảng viên ln hỗ trợ, hướng dẫn sinh viên, với tất kính trọng, chúng tơi xin bày tỏ lịng biết ơn đến quý Thầy Cô theo dõi hướng dẫn suốt thời gian thực đề tài Đầu tiên, xin gửi lời cảm ơn sâu sắc đến Ban giám hiệu trường Đại học Sư phạm Kỹ Thuật Thành phố Hồ Chí Minh tạo điều kiện, môi trường học tập chất lượng, hiệu để chúng tơi phát huy cách tốt việc nghiên cứu đề tài Đồng thời, xin gửi lời cảm ơn đến Ban chủ nhiệm khoa Công nghệ Thông tin Thầy Cô khoa Công nghệ Thông tin - Trường Đại học Sư phạm Kỹ thuật Thành phố Hồ Chí Minh tạo mơi trường học tập làm việc chuyên nghiệp, nhiệt tình giảng dạy để chúng tơi thực tốt đề tài nói riêng sinh viên khoa Công nghệ Thông tin nói chung q trình học tập làm việc trường Đặc biệt, xin gửi lời cảm ơn chân thành đến Thầy Qch Đình Hồng – Giáo viên hướng dẫn đồ án tốt nghiệp – Khoa Công nghệ Thông tin – Trường Đại học Sư phạm Kỹ thuật Thành phố Hồ Chí Minh, hướng dẫn, quan tâm, góp ý ln đồng hành chúng tơi giai đoạn khó khăn đề tài Tuy nhiên thời gian hồn thành đề tài ngắn, nên đề tài khó lịng tránh khỏi sai sót hạn chế định Kính mong nhận phản hồi, đóng góp ý kiến bảo thêm từ Q Thầy Cơ, để chúng tơi đạt kiến thức hữu ích, nâng cao trình độ để phục vụ cho nghiệp sau Xin chân thành cảm ơn ĐỀ CƯƠNG LUẬN VĂN TỐT NGHIỆP Họ tên sinh viên 1: Nguyễn Ngọc Hòa MSSV: 18133014 Họ tên sinh viên 2: Lê Đình Khang MSSV: 18133021 Thời gian làm luận văn: từ 30/3/2022 đến: 20/6/2022 Chuyên ngành: Kỹ thuật liệu Tên đề tài: Phân tích quan điểm cảm xúc học sâu ứng dụng Giáo viên hướng dẫn: ThS Qch Đình Hồng Nhiệm vụ luận văn: Tìm hiểu khải niếm phân tích cảm xúc quan điểm, định nghĩa cách xây dựng mơ hình cụ thể Xây dựng mơ hình phân tích cảm xúc quan điểm dựa tập liệu cụ thể Xây dựng ứng dụng web kết hợp mơ hình vào trang web MỤC LỤC Mở Đầu 1.1 Tính cấp thiết đề tài 1.2 Mục tiêu nhiệm vụ nghiên cứu 1.3 Cách tiếp cận phương pháp nghiên cứu 1.4 Kết dự kiến đạt 1.5 Bố cục luận văn Nội dung 2.1 Cơ sở lí thuyết 2.1.1 Tổng quan công nghệ sử dụng đề tài 2.1.2 Tổng quan SQLAlchemy 2.1.3 Tổng quan Tornado Framework 2.1.4 Tổng quan xử lí ngơn ngữ tự nhiên (NLP) 2.1.5 Tổng quan Sentiment Analysis 2.1.6 Tổng quan Deep Learning số thuật toán trội Deep Learning 2.1.7 Word Embedding 2.2 Phát triển ứng dụng 2.2.1 Xác định mơ hình hóa yêu cầu 2.2.2 Thiết kế hệ thống 2.2.3 Cài đặt kiểm thử Kết luận 3.1 Kết luận 3.1.1 Kết đạt 3.1.2 Ưu khuyết điểm 3.1.3 Hướng phát triển 3.1.4 Lời kết KẾ HOẠCH THỰC HIỆN Tuần 1, 30/3 - 11/4 Phân tích requirements, xây dựng use case, tìm hiểu cơng nghệ áp dụng vào project, tìm hiểu sơ lược thuật tốn cần dùng để xây dựng model Tuần 3, 12/4 - 25/4 Tìm hiểu sentiment analysis, NLP, khởi tạo backend project tạo giao diện frontend sơ lược Tuần 5, 26/4 - 09/5 Thiết kế cài đặt database, thiết kế architecture hệ thống, tìm hiểu word embedding (word2vec) thuật toán LSTM, RNN Tuần 7, 10/5 - 23/5 Xây dựng UI bản, khai phá liệu Bắt đầu viết báo cáo Tuần 9, 10 24/5 - 06/6 Phát triển chức đăng ký, đăng nhập Hiển thị sản phẩm lên home page Tạo mơ hình phân tích cảm xúc ngơn ngữ sử dụng CNN, LSTM Tuần 11, 12 07/6 - 20/6 Tạo chức tương tác trang web bán hàng (thêm sản phẩm giỏ hàng, tốn, bình luận) Tiếp tục cải tiến phần mềm phát triển trang admin Tích hợp mơ hình vào phần backend web Tuần 13, 14 21/6 - 5/7 Kiểm tra lại tính phân tích cảm xúc trang admin cho dịng sản phẩm khác thơng qua bình luận Tiến hành trìnhkiểm thử, viết báo cáo Tiến hành sửa lỗi hệ thống tìm vấn đề Tuần 15, 16 5/7 - 10/7 Kiểm tra lần cuối, hoàn thành báo cáo Trao đổi với thầy hướng dẫn nội dung cần trình bày Tp.Hồ Chí Minh, ngày tháng năm 2022 Người viết đề cương Lê Đình Khang Nguyễn Ngọc Hịa Ý kiến giáo viên hướng dẫn (ký ghi rõ họ tên) CHƯƠNG PHÁT TRIỂN ỨNG DỤNG Hình 3.52: Kết sử dụng word2vec logistic regression Từ ta thấy mơ hình logistic với cách nhúng từ bag of words siêu tham số regParam = 0.3 elasticNetParam = thu kết dự đoán tập validation có điểm ROC cao Ta chọn mơ hình thực dự đốn tập test hình 3.53 cho ta thấy kết dự đoán tập test 108 CHƯƠNG PHÁT TRIỂN ỨNG DỤNG Hình 3.53: Kết dự đốn test mơ hình logistic regression Ta thấy kết dự đoán tập test tốt với điểm ROC gần 0.85 • Mơ hình Naive Bayes Với thuật tốn naive bayes, ta thực thử nghiệm cách thay đổi siêu tham số smoothing mơ hình kết hợp với cách nhúng từ bag of word, thay đổi nhiều siêu tham số khác thu kết với siêu tham số smoothing mơ hình naive bayes có kết dự đốn tập validation tốt Hình 3.54 cho ta thấy kết dự đốn: Hình 3.54: Kết dự đốn validation mơ hình Naive Bayes (smoothing =1) Khi dùng mơ hình dự đốn tập test ta thu kết với điểm ROC gần 0.82, hình 3.55 cho ta thấy kết dự đoán test: 109 CHƯƠNG PHÁT TRIỂN ỨNG DỤNG Hình 3.55: Kết dự đoán tập test với thuật toán naive bayes • Mơ hình support vector machine Với thuật tốn support vector machine, ta thực thử nghiệm mơ hình với siêu tham số regParam khác với regParam 0.1 mơ hình thu kết dự đốn tập validation tốt Hình 3.56: Kết dự đốn validation mơ hình support vector machine (regParam = 0.1) Hình 3.56, ta thấy kết dự đốn tập valition có điểm ROC gần 0.76 thực dự đoán tập test ta thu kết điểm ROC tương tự Hình 3.57 cho ta thấy kết dự đốn Hình 3.57: Kết dự đốn tập test mơ hình support vector machine • Mơ hình CNN 110 CHƯƠNG PHÁT TRIỂN ỨNG DỤNG Đầu tiên chúng tơi thực xây dựng mơ hình CNN với lớp bao gồm: + lớp embedding với cách nhúng từ word2vec + lớp convolutional + lớp pooling + lớp flatten + lớp dense Ta thấy mơ hình hình sau : Hình 3.58: Mơ hình CNN Sau thực thay đổi siêu tham số việc thử thay đổi siêu tham số kích thước lớp convolutional, kích thước lớp pooling tăng số epoch nhóm chúng tơi nhận thấy kết thử nhiệm CNN với siêu tham số hình 3.58 số epoch mơ hình cho kết tốt tập validation 111 CHƯƠNG PHÁT TRIỂN ỨNG DỤNG Hình 3.59: Q trình training mơ hình CNN với epoch = Hình 3.59 cho ta thấy trình training với số epoch mơ hình CNN Từ ta thấy qua epoch mát tập train ngày nhỏ Sau dự đốn nhiều siêu tham số khác mơ hình CNN tốt ta thu kết điểm ROC tập validation gần 0.95 Ta thấy điều hình 3.60 Hình 3.60: Kết dự đoán tập validation Thực dự đoán tập test ta thu kết điểm ROC 0.95 112 CHƯƠNG PHÁT TRIỂN ỨNG DỤNG Hình 3.61: Kết dự đốn test mơ hình CNN Hình 3.61 cho ta thấy kết mơ hình tốt • Mơ hình LSTM Với mơ hình LSTM, nhóm chúng tơi thực thử nghiệm mơ hình với lớp bao gồm: + lớp embedding: dùng cách embedding word2vec + lớp LSTM + lớp dense Hình 3.62: Mơ hình LSTM 113 CHƯƠNG PHÁT TRIỂN ỨNG DỤNG Vì chúng tơi sử dụng máy ảo dịch vụ GPU google collab nên thời gian sử dụng thử nghiệm tài khoản google có giới hạn hàng ngày thời gian training mô hình LSTM lâu gấp đơi so với CNN gần tiếng, việc thay đổi nhiều siêu tham số mơ hình LSTM khó khăn Nên mơ hình này, nhóm chúng tơi chọn train mơ hình LSTM với siêu tham số hình 3.62 Và thu kết tốt tập validation Hình 3.63: Q trình training mơ hình LSTM Hình 3.63 cho ta thấy trình training mơ hình LSTM với số epoch 5.Và sau dự đốn tập validation chúng tơi thu điểm ROC tập validation gần 0.96 Hình 3.64 ta thấy kết dự đốn tốt mơ hình 114 CHƯƠNG PHÁT TRIỂN ỨNG DỤNG Hình 3.64: Kết dự đốn tập validation Khi dự đốn test ta thu kết hình 3.65 Hình 3.65: Kết dự đốn test mơ hình LSTM Sau thực thực nghiệm ta thấy rõ thuật toán deep learning tốt nhiều so với thuật toán machine learning truyền thống đặc biệt mơ hình LSTM kết hợp với cách embedding word2vec cho ta thấy kết đáng kinh ngạc Do nhóm chúng tơi sử dụng đầu mơ hình để ứng dụng vào web bán thực phẩm 115 CHƯƠNG PHÁT TRIỂN ỨNG DỤNG 3.3 CÀI ĐẶT VÀ KIỂM THỬ 3.3.1 Cài đặt môi trường phát triển 3.3.1.1 Thiết lập back-end • Cài đặt IDE để thực thi code python Ví dụ ta sử dụng Visual Code Ta tải visual code theo đường dẫn sau: https://code.visualstudio.com/ • Cài đặt python Ta tải python từ 3.9 trở lên từ đường dẫn sau: https://www.python.org/ • Thực cài đặt thư viện cần thiết tải source code project từ github với đường dẫn sau: https://github.com/hellhoa/FinalProject_backend_service.git • Sau cài đặt thư viện hồn tất, ta thực chạy file tạo database thư mục database link github bên để tạo database Postres • Thực chạy lệnh theo thứ tự hướng dẫn github để thực thi phần backend trang web 3.3.1.2 Thiết lập front-end • Mở file index.html cách sử dụng Visual Code • Sử dụng extension Go Live Visual Code để chạy phần front-end local host 3.3.2 Kế hoạch kiểm thử 116 CHƯƠNG PHÁT TRIỂN ỨNG DỤNG 3.3.2.1 Chiến lược kiểm tra Nhóm chúng tơi sử dụng FastAPI để tạo API cho ứng dụng web Để kiểm tra API nhóm chúng tơi sử dụng Postman để kiểm tra liệu nhận từ API xem có với liệu cần hay không Ta thực kiểm tra cách truyền tham số đầu vào tương ứng cho API Khi xây dựng API nhóm chúng tơi thực kiểm tra hết API liên quan 3.3.2.2 Các kỹ thuật kiểm tra: • Kiểm tra chức – Giao diện: Các hình giao diện kiểm tra hiển thị với yêu cầu hay chưa, lưu ý tỷ lệ hình, kích thước icon, button, chất lượng hình ảnh sau upload – Chức năng: Các chức kiểm tra tỉ mỉ, cho liệu truyền vào liệu nhận xác với chức – Các liệu đàu vào form kiểm tra đảm bảo tính hợp lệ • Kiểm tra hiệu suất – Hiệu suất trang web phải mức ổn, không bị giật, phản hồi chậm, 3.3.3 Quy trình kiểm thử Quy trình bao gồm bước: - Lập kế hoạch việc kiểm thử - Phân tích đưa test case xảy - Thực thi test dựa test case ghi - Đánh giá kết thực thi test báo cáo - Kết thúc kiểm thử sau kiểm tra kĩ lưỡng 3.3.4 Chi tiết test case kiểm thử Các test case kiểm thử thể bảng sau: 117 CHƯƠNG PHÁT TRIỂN ỨNG DỤNG Bảng 3.30: Các testcase kiểm thử STT Mô tả testcase Kiểm tra đăng ký tài khoản khách hàng Kiểm tra đăng nhập tài khoản khách hàng đăng nhập quyền admin Các bước test Thực tạo tài khoản kiểm tra xem có đăng nhập lại không Đăng nhập trang khách hàng admin, thử test cách đăng nhập sai để xem thông báo hệ thống Kết Tạo tài khoản Đăng nhập với khách hàng admin được, sau đăng nhập ứng với khách hàng chuyển tới trang home, admin chuyển tới trang dashboard admin Kiểm tra logout Lần lượt đăng Sau logout tài khoản nhập tài khoản tài khoản khách hàng đăng xuất hồn admin sau thực tồn tài khoản, kiểm tra sau xong có cịn bị dính lại tài khoản trang web hay không Kiểm tra thêm sản Thực đăng Các sản phẩm phẩm vào giỏ nhập tài thêm đầy đủ hàng khoản khách hàng bật kì thêm vài sản phẩm vảo giỏ hàng sau bấm vào giỏ hàng để kiểm xem sản phẩm thêm vào chưa 118 Trạng thái Đạt Đạt Đạt Đạt CHƯƠNG PHÁT TRIỂN ỨNG DỤNG Bảng 3.31: Các testcase kiểm thử STT Mô tả testcase Kiểm tra chỉnh sửa giỏ hàng Kiểm tra đặt hàng Các bước test Kết Thực test Thêm xóa sản thêm số lượng sản phẩm thực phẩm có giỏ hàng sản phẩm giỏ, xóa sản phẩm khỏi giỏ hàng Sau bấm vào Các chức phần giỏ hàng, hoạt động tốt, nhóm chúng tơi phần giá đơn hàng thực bấm vào tính phần đặt hàng sau Đơn hàng sau kiểm tra đặt xong hiển thị chức danh chọn phương thức sách đơn hàng toán, chọn trnag cá nhân địa toán, khách hàng kiểm tra tổng giá đơn hàng phần tốn có khơng , Sau bấm đặt hàng xong thực bấm vào phần thông tin cá nhân xem thử đơn hàng phần thông tin chưa, kiểm tra lại thông tin đơn hàng địa chỉ, tên người nhận, có xác lúc đặt không 119 Trạng thái Đạt Đạt CHƯƠNG PHÁT TRIỂN ỨNG DỤNG Bảng 3.32: Các testcase kiểm thử STT Mô tả testcase Kiểm tra chức chỉnh sửa thông tin khách hàng trang thông tin cá nhân khách hàng Kiểm tra danh sách đơn hàng Kiểm tra dashboard admin Các bước test Bấm vào phần thông tin cá nhân khách hàng kiêm tra lại thơng tin khách hàng có lúc ban đầu tạo tài khoản không Bấm vào phần chỉnh sửa thông tin khách hàng, tiến hành chỉnh sửa lưu lại sau kiểm tra lại thơng tin sau chỉnh sửa xem có xác khơng Sau bấm vào trang thông tin cá nhân, thực kiểm tra danh sách đơn hàng đặt, hủy đơn hàng giao Bấm vào đơn hàng để kiểm tra thông tin chi tiết đơn hàng loại Đăng nhập tài khoản admin, xem thông tin tổng quan số lượng sản phẩm bán, doanh thu, lợi nhuận Query kiểm tra với database 120 Kết Sau thực cho thấy kết xác Trạng thái Đạt Thơng tin hiển thị xác Đạt Các biểu đồ hiển thị số xác Đạt CHƯƠNG PHÁT TRIỂN ỨNG DỤNG Bảng 3.33: Các testcase kiểm thử STT 10 11 Mô tả testcase Kiểm tra chức quản lý sản phẩm Admin Các bước test Sau đăng nhập vào tài khoản admin trang dashboard bấm vào tab quản lý sản phẩm, kiểm tra danh sách sản phẩm có hiển thị hay không, bấm vào sản phẩm thực thay đổi thông tin Kiểm tra chức Sau đăng quản lý nhập vào tài tài khoản khách khoản admin hàng trang dashboard bấm vào tab quản lý thông tin tài khoản khách hàng Kiểm tra danh sách tài khoản khách hàng có hiển thị không, bấm vào tài khoản test thử chức cập nhập thông tin khách hàng Thêm tài khoản khách hàng, xóa tài khoản khách hàng 121 Kết Các chức hoạt động ổn định Trạng thái Đạt Các chức hoạt động tốt Đạt, CHƯƠNG PHÁT TRIỂN ỨNG DỤNG Bảng 3.34: Các testcase kiểm thử STT 12 Mô tả testcase Kiểm tra chức quản lý đơn hàng admin Các bước test Sau đăng nhập vào tài khoản admin trang dashboard bấm vào tab quản lý đơn hàng Kiểm tra danh sách đơn hàng, bấm vào đơn hàng để xem thông tin chi tiết đơn hàng, thay đổi trạng thái đơn hàng lưu, sau đăng nhập vào trang khách hàng để xem trạng thái đơn hàng 122 Kết Chức hoạt động tốt, đơn hàng hiển thị đầy đủ, cập nhập đơn hàng hoạt động ổn định Trạng thái Đạt