XÂY DỰNG WEBSITE THƯƠNG MẠI ĐIỆN TỬ TÍCH HỢP MACHINE LEARNING PHÂN TÍCH BÌNH LUẬN KHÁCH HÀNG

50 2 0
XÂY DỰNG WEBSITE THƯƠNG MẠI ĐIỆN TỬ TÍCH HỢP MACHINE LEARNING PHÂN TÍCH BÌNH LUẬN KHÁCH HÀNG

Đ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 KHOA CÔNG NGHỆ THÔNG TIN ĐỒ ÁN TỐT NGHIỆP NGÀNH: CÔNG NGHỆ THÔNG TIN CHUYÊN NGÀNH: CÔNG NGHỆ PHẦN MỀM ĐỀ TÀI: XÂY DỰNG WEBSITE THƯƠNG MẠI ĐIỆN TỬ TÍCH HỢP MACHINE LEARNING PHÂN TÍCH BÌNH LUẬN KHÁCH HÀNG Người hướng dẫn: TS. ĐẶNG HOÀI PHƯƠNG Sinh viên thực hiện: NGUYỄN VĂN THÀNH Số thẻ sinh viên: 102150132 Lớp : 15T2 Đà Nẵng, 12/2019 NHẬN XÉT CỦA NGƯỜI HƯỚNG DẪN ................................................................................................... ........................................ ................................................................................................... . ....................................... ................................................................................................... ........................................ .............................................................................. ............................................................. ................................................................................................... ........................................ ........................................................ ................................................................................... ................................................................................................... ........................................ .................................. ......................................................................................................... ................................................................................................... ........................................ ............ ............................................................................................................................. .. ................................................................................................... .............................. .......... ................................................................................................... ........................................ ................................................................................................... ........ ................................ ................................................................................................... ........................................ ..................................................................................... ...................................................... ................................................................................................... ........................................ ............................................................... ............................................................................ ................................................................................................... ........................................ ......................................... ................................................. Đà Nẵng, ngày 19 tháng 12 năm 2019 G i ảng viên hướng dẫn TS. Đặng Hoài Phương NHẬN XÉT CỦA NGƯỜI PHẢN BIỆN ................................................................................................... ........................................ ................................................................................................... .................. ...................... ................................................................................................... ........................................ ............................................................................................... ............................................ ................................................................................................... ........................................ ......................................................................... .................................................................. ................................................................................................... ........................................ ................................................... ........................................................................................ ................................................................................................... ........................................ ............................. .............................................................................................................. ................................................................................................... ........................................ ....... ............................................................................................................................. ....... ................................................................................................... ......................... ............... ................................................................................................... ........................................ ................................................................................................... ... ..................................... ................................................................................................... ........................................ ................................................................................ ........................................................... ................................................................................................... ........................................ .......................................................... ................................................................................. ............................................................................................... Đà Nẵng, ngày … tháng … năm 2019 PHI Ế U DUY Ệ T Đ Ồ ÁN T Ố T NGHI Ệ P I. Ph ầ n dành cho Sinh viên 1. H ọ và tên: NGUY Ễ N VĂN THÀNH 2. Mã Sinh viên: 102150132 3. L ớ p: 15T2 4. Tên đ ề tài: Xây d ự ng website thương m ạ i đi ệ n t ử tích h ợ p machine learning phân tích bình lu ậ n khách hàng 5. S ố đi ệ n tho ạ i: 0964076258 6. E - mail: th anhgadut1808@gmail.com 7. H ọ và tên GVHD: TS. Đ ặ ng Hoài Phương II. Ph ầ n dành cho H ộ i đ ồ ng STT N ộ i dung đánh giá K ế t lu ậ n 1. Trình bày báo cáo theo đúng m ẫ u qui đ ị nh c ủ a Khoa 2. Không có s ự sao chép n ộ i dung báo cáo và chương trình đã có 3. Biên d ị ch mã ngu ồ n và ch ạ y đư ợ c chương trình 4. Có k ị ch b ả n th ự c hi ệ n v ớ i d ữ li ệ u th ử nghi ệ m 5. K ế t qu ả th ự c hi ệ n chương trình đúng theo báo cáo 6. Có s ự đóng góp, phát tri ể n c ủ a tác gi ả trong đ ồ án Ý ki ế n khác: ..................................................................... .. .... . ....... .. ....... .. ....... .. .................................................................. .... .. ....... .. ....... .. .............................................................. ........ .. .... . ....... .. ....... .. ....... .. ...................................................................... . K ế t lu ậ n:  Đ ạ t yêu c ầ u  Ph ả i s ử a ch ữ a l ạ i  Không đ ạ t yêu c ầ u Đà N ẵ ng, ngày tháng 12 năm 2019 Ch ủ t ị ch H ộ i đ ồ ng (Ký và ghi h ọ tên) Cán b ộ duy ệ t ki ể m tra (Ký và ghi h ọ tên) TÓM TẮT Tên đề tài: Xây dựng website thương mại điện tử tích hợp machine learning phân tích bình luận khách hàng Sinh viên thực hiện: Nguyễn Văn Thành Số thẻ SV: 102150132 Lớp: 15T2 Hiện nay nhu cầu mua bá n online của con người ngày càng cao. Việc nắm bắt nhu cầu của khách hàng về sản phẩm là cực kỳ quan trọng. Hệ thống phân tích bình luận khách hàng trong we bsite thương mại điện tử mang đ ến cho chủ shop biết được liệu sản phẩm của mình có làm hài lòng khá ch hàng hay không ? ĐẠI HỌC ĐÀ NẴNG TRƯỜNG ĐẠI HỌC BÁCH KHOA KHOA CÔNG NGHỆ THÔNG TIN CỘNG HÒA XÃ HÔI CHỦ NGHĨA VIỆT NAM Độc lập - Tự do - Hạnh phúc NHIỆM VỤ ĐỒ ÁN TỐT NGHIỆP Họ tên sinh viên: NGUYỄN VĂN THÀNH Số thẻ sinh viên: 102150132 Lớp: 15T2 Khoa: Công nghệ thông tin Ngành: Công nghệ thông tin 1. Tên đề tài đồ án: Xây dựng website thương mại điện tử tích hợp machine learning phân tích bình luận khách hàng 2. Đề tài thuộc diện: ☐ Có ký kết thỏa thuận sở hữu trí tuệ đối với kết quả thực hiện 3. Các số liệu và dữ liệu ban đầu: Không có. 4. Nội dung các phần thuyết minh và tính toán: Nội dung của thuyết minh gồm: Mở đầu: Phần mở đầu của luận văn, giới thiệu về nhu cầu thực tế và lý do thực hiện đề tài, đồng thời giới thiệu sơ lược về đề tài và mục tiêu phải đạt được. Chương 1 . Cơ sở lý thuyết: trình bày những lý thuyết học được và đã áp dụng vào hệ thống. Chương 2 . Phân tích và thiết kế: trình bày các hồ sơ phân tích và hồ sơ thiết kế trong xây dựng hệ thống và luồng hoạt đ ộng của hệ thống. Chương 3 . Triển khai và đánh giá kết quả: mô tả cách cài đặt, vận hành hệ thống và đánh giá kết quả đạt được. 5. Các bản vẽ, đồ thị ( ghi rõ các loại và kích thước bản vẽ ): Không có. 6. Họ tên người hướng dẫn: T S. ĐẶNG HOÀI PHƯƠNG 7. Ngày giao nhiệm vụ đồ án: ……../……./ 2019 8. Ngày h oàn thành đồ án: 19 / 12 / 2019 Đà Nẵng, ngày tháng 12 năm 2019 Trưởng Bộ môn Mạng máy tính & truyền thông Người hướng dẫn T S. Phạm Minh Tuấn TS. Đặng Hoài Phương i LỜI CẢM ƠN Em xin gửi lời cảm ơn chân thành và sâu sắc đến các thầy cô trong Khoa Công nghệ thông tin, cũng như tất cả các thầy cô trong trường Đại học Bách khoa – Đại học Đà Nẵng đã dìu dắt, dạy dỗ và truyền đạt kiến thức, kinh nghiệm quý báu của mình trong suốt quá trình em học tập và nghiên cứu tại trường. Em xin bày tỏ tình cảm và lòng biết ơn chân thành tới thầy giáo TS. Đặng Hoài Phư ơng , người đã từng bước hướng dẫn, giúp đỡ tận tình và tạo điều kiện thuận lợi nhất cho em trong quá trình thực hiện đồ án tốt nghiệp của mình. Nhờ đó em đã hoàn thành đồ án đúng tiến độ và tích lũy cho mình nhiều kiến thức quý báu. Trong quá trình thực hi ện chắc hẳn sẽ không tránh khỏi những thiếu sót nhất định , em rất mong nhận được sự thông cảm, góp ý và tận tình chỉ bảo của quý Thầy Cô cũng như tất cả các bạn để đề tài được hoàn thiện hơn. Một lần nữa em xin chân thành cảm ơn ! Nguyễn Văn Thành ii CAM ĐOAN Em xin cam đoan: 1. Nội dung trong đồ án này là do em thực hiện dưới sự hướng dẫn trực tiếp của Thầy Đặng Hoài Phương 2. Các tham khảo dùng trong đồ án đều được trích dẫn rõ ràng tên tác giả, tên công trình, thời gian, địa điểm công bố. Nếu có những sao chép không hợp lệ, vi phạm quy chế đào tạo , em xin chịu hoàn toàn trách nhiệm. Đà Nẵng, ngày 19 tháng 12 năm 201 9 Sinh viên thực hiện Nguyễn Văn Thành iii M Ụ C L Ụ C CAM ĐOAN ................................ ................................ ................................ ............... ii DANH SÁCH CÁC HÌNH VẼ ................................ ................................ .................... v GIỚI THIỆU ĐỀ TÀI ................................ ................................ ................................ .. 1 1. Lý do chọn đề tài ................................ ................................ ................................ . 1 2. Mục đích của đề tài ................................ ................................ ............................. 1 4. Phạm vi s ử dụng đề tài ................................ ................................ ........................ 2 5. Bố cục của đề tài ................................ ................................ ................................ . 2 CHƯƠNG I: CƠ SỞ LÝ THUYẾT VÀ CÔNG CỤ SỬ DỤNG ................................ . 3 1.1. Các công nghệ sử dụng ................................ ................................ ..................... 3 1.1.1. Tổng quan về #C, .NET CORE Framework và Entity Framework .............. 3 1.1.2. ReactJS ................................ ................................ ................................ ....... 6 1.1.3. Model View Controller ................................ ................................ ............... 8 1.2. TỔNG QUAN VỀ RESTful API ................................ ................................ .... 14 CHƯƠNG 2 : PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG ................................ .......... 17 2.1. Machine Learning trong bài toán phân tích bình luận khách hàng ................... 17 2.2. Phân tích nghiệp vụ của hệ thống ................................ ................................ .... 18 2.2.1. Nghiệp vụ của quản trị viên ................................ ................................ ...... 18 2.2.2. Nghiệp vụ của quản lý ................................ ................................ .............. 18 2.3. Thiết kế hệ thống ................................ ................................ ......................... 18 2.3.1. Các chức năng của khách ................................ ................................ ......... 18 2. 3.2. Chức năng của quản lý shop ................................ ................................ ..... 19 2.3.3. Chức năng của người quản trị ................................ ................................ ... 19 2.4. Biểu đồ ca sử dụng ................................ ................................ ......................... 19 2.4.1. Biểu đồ ca sử dụng tổng quát của hệ thống ................................ ............... 19 2.4.2. Biểu đồ ca sử dụng của khách ................................ ................................ ... 21 2.4.3. Biểu đồ ca sử dụng của Thành viên ................................ .......................... 21 2.4.4. Biểu đồ ca sử dụng của Quản lý ................................ ............................... 22 2.4.5. Biểu đồ ca sử dụng của quản trị viên ................................ ........................ 24 2.5. Đặc tả ca sử dụng ................................ ................................ ........................... 25 2.5.1. Đặc tả ca sử dụng đăng ký ................................ ................................ ........ 25 2.5.2. Đặc tả ca sử dụng đăng nhập ................................ ................................ ..... 25 2.5.3. Đặc tả ca sử dụng Quản lý tài khoản ................................ ......................... 26 2.5.4. Đặc tả ca sử dụng Tạo sản phẩm ................................ ............................... 26 2.5.5. Đặc tả ca sử dụng Tạo cửa hàng ................................ ................................ 27 iv 2.6. Biểu đồ lớp ................................ ................................ ................................ ..... 27 2.7. B iểu đồ hoạt động ................................ ................................ .......................... 28 2.7.1. Biểu đồ hoạt động của thành viên ................................ ............................. 28 2.7.2. Biểu đồ hoạt động của quản lý ................................ ................................ .. 29 2.7.3. Biểu đồ hoạt động của quản trị viên ................................ .......................... 30 2.8. T hiết kế cơ sở dữ liệu ................................ ................................ ..................... 31 2.8.1. Mô hình thiết kế cơ sở dữ liệu ................................ ................................ ... 31 2.9. Kết chương ................................ ................................ ................................ ..... 31 CHƯƠNG 3 : TRIỂN KHAI VÀ ĐÁNH GIÁ ................................ ........................... 32 3.1. MÔI TRƯỜNG TRIỂN KHAI ................................ ................................ ........ 32 3.2. T RIỂN KHAI HỆ THỐNG ................................ ................................ ............. 32 3.3. Kết chương ................................ ................................ ................................ ..... 35 KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN ................................ ................................ .. 36 1. Kết quả đạt được ................................ ................................ ................................ 36 2. Hướng phát triển ................................ ................................ ................................ 36 TÀI LIỆU THAM KHẢO ................................ ................................ .......................... 37 v DANH SÁCH CÁC HÌNH V Ẽ VÀ B Ả NG Hình 1.1 Open - Source và Framework đa nền tảng .Net Core ................................ ...... 4 Hình 1.2 Các tầng Entity tác động vào ................................ ................................ ......... 5 Hình 1.3 LINQ và Entity Framework trong .Net Framework ................................ ...... 6 Hình 1.4 Sơ đồ vòng đời của component trong ReactJS ................................ ............... 8 Hình 1.5 Luồng chạy mô mình MVC ................................ ................................ ........... 9 Hình 1.6 Client Server hoạt động ................................ ................................ ............... 10 Hình 1.7 Phương pháp Bow ................................ ................................ ...................... 11 Hình 1.8 Dự đoán về nghĩa của từ ................................ ................................ ............. 12 Hình 1.9 So sánh 2 mô hình của word2vec ................................ ................................ 12 Hình 1.10 Mô hình Skip - gram ................................ ................................ ................... 13 Hình 1.11 Mô tả RESTful API ................................ ................................ ................... 14 Hình 1.12 Các phương thức HTTP của RESTful API ................................ ................ 15 Hình 1.13 Hoạt động của RESTful API ................................ ................................ ..... 16 Hình 2.1 Biểu đồ ca sử dụng tổng quát của hệ thống ................................ ................. 20 Hình 2.2 Biểu đồ ca sử dụng đăng ký tài khoản của khách ................................ ......... 21 Hình 2.3 Biểu đồ ca sử dụng quản lý tài khoản trong hệ t hống. ................................ .. 21 Hình 2.4: Biểu đồ ca sử dụng để mua sản phẩm và bình luận. ................................ .... 22 Hình 2.5 Biểu đồ ca sử dụng quản lý danh mục sản phẩm ................................ .......... 22 Hình 2.6: Biểu đồ ca sử dụng quản lý sản phẩm ................................ ......................... 23 Hình 2.7 Biểu đồ ca sử dụng quản lý bình luận, đánh giá khách hàng ........................ 23 Hình 2.8 Biểu đồ ca sử dụng quản lý người dùng tr ong hệ thống .............................. 24 Hình 2.9 Biểu đồ ca sử dụng quản lý các cửa hàng trong hệ thống ............................. 24 Hình 2.15 Biểu đồ lớp của hệ thống ................................ ................................ .......... 27 Hình 2.16 Biểu đồ hoạt động các chức năng của thành viên. ................................ ..... 28 Hình 2.17 Biểu đồ hoạt động các chức năng của quản lý ................................ ........... 29 Hình 2.18 Biểu đồ hoạt động các chức năng của qu ản trị viên ................................ ... 30 Hình 3.1 Màn hình đăng nhập ................................ ................................ .................... 32 Hình 3.2 Màn hình quản lý danh mục ................................ ................................ ........ 32 Hình 3.3 Màn hình quản lý shop ................................ ................................ ................ 33 vi Hình 3.4 Màn hình quản lý sản phẩm ................................ ................................ ......... 33 Hình 3.5 Màn hình quản lý user ................................ ................................ ................. 33 Hình 3.6 Màn hình public hiển thị danh sách cửa hàng ................................ .............. 34 Hình 3.7 Màn hình hiển thị trang chi tiết ................................ ................................ .... 34 Hình 3.7 Dữ liệu dùng để train mô hình ................................ ................................ ..... 34 Hình 3.8 Màn hình coment và cho ra kết quả trực tiếp ................................ ............... 35 Bảng 2.11 Đặc tả ca sử dụng đăng nhập ................................ ................................ .... 25 Bảng 2.12: Đặc tả ca sử dụng quản lý tài khoản ................................ ........................ 26 Bảng 2.13: Đặc tả ca sử dụng tạo sản phẩm ................................ .............................. 26 Bảng 2.14: Đặc tả ca sử dụng tạo cửa hàng ................................ ............................... 27 vii DANH SÁCH CÁC KÝ HIỆU, CHỮ VIẾT TẮT Từ Viết tắt của Diễn giải API Application Programming Interface Giao diện lập trình ứng dụng RESTful RE presentational S tate T ransfer Một dạng chuyển đổi cấu trúc dữ liệu, một kiểu kiến trúc để viết API HTTP Hypertext Transfer Protocol Giao thức truyền tải siêu văn bản MVC Model - View - Controller Mô hình - Giao diện - Bộ điều khiển DB Database Cơ sở dữ liệu HTML HyperText Markup Language Ngôn ngữ đánh dấu siêu văn bản SGML Standard Generalized Markup Language Một hệ thống tổ chức và gắn thẻ yếu tố của một tài liệu CSS Cascading Style Sheets Điều khiển cách hiện thị nội dung trang web W3C World Wide Web Consutirum Chuẩn được các nhà thiết kế website sử dụng làm thước đo khi thiết kế các website UI User Interface Giao diện người dùng DOM Document Object Model Mô hình đối tượng tài liệu SEO Search Engine Optimization Tối ưu hóa công cụ tìm kiếm JSX JavaScript XML Một loại cú pháp mở rộng dành cho ngôn ngữ JavaScript viết theo kiểu XML SQL Structured Query Language Ngôn ngữ truy vấn cấu trúc IIS Internet Information Services Dịch vụ dành cho máy chủ chạy Window nhằm cung cấp và phân tán các thông tin lên mạng. Xây dựng website thương mại điện tử tích hợp machine learning phân tích bình luận khách hàng SVTH : Nguy ễ n Văn Thành GVHD : TS. Đ ặ ng Hoài Phương 1 GI Ớ I THI Ệ U Đ Ề TÀI 1. Lý do chọn đề tài Thu thập thông tin phản hồi của khách hàng là một cách tuyệt vời giúp cho các doanh nghiệp hiểu được điểm mạnh, điểm yếu t rong sản phẩm, dịch vụ của mình, đồng thời nhanh chóng nắm bắt được tâm ký và nhu cầu khách hàng để mang đến cho họ sản phẩm, dịch vụ hoàn hảo nhất. Ngày nay, với sự phát triển vượt bậc của khoa học và công nghệ, đặc biệt là sự bùng nổ của Internet với các phương tiện truyền thông xã hội, thương mại điện tử,... đã cho phép mọi người không chỉ chia sẻ thông tin trên đó mà còn thể hiện thái độ, quan điểm của mình đối với các sản phẩm, dịch vụ và các vấn đề xã hội khác. Vì vậy mà Internet đã trở lên vô cùng quan trọng và là nguồn cung cấp một lượng thông tin vô cùng lớn và quan trọng. Thông qua những dữ liệu được cung cấp qua Internet:  Người dùng sử dụng nó để tìm kiếm, tham khảo trước khi đưa ra quyết định về sử dụng một sản phẩm hay dịch vụ nào đó.  Các nhà cung cấp dịch vụ cũng có thể sử dụng những nguồn thông tin này để đánh giá về sản phẩm của mình, từ đó có thể đưa ra những cải tiến phù hợp hơn với người dùng, mang lại lợi nhuận cao hơn, tránh các rủi ro đáng tiếc xảy ra. Đặc biệt, khi 1 doanh nghiệp có 1 sản phẩm mới ra mắt thị trường thì việc lấy ý kiến phản hồi là vô cùng cần thiết.  Các cơ quan chức năng có thể sử dụng những thông tin này để tìm hiểu xem quan điểm và thái độ của cộng đồng để có thể kịp thời sửa đổi, ban hành các chính sách cho hợp lý hơn. Vì những lí do trên, em đã q uyết định chọn đề tài “ Xây dựng website thương mại điện tử tích hợp machine learning phân tích bình luận khách hàng ” làm đề tài tốt nghiệp của mình. 2. Mục đích của đề tài “Xây dựng website thương mại điện tử tích hợp machine learning phân tích bình luận khách hàng” với mục đích đưa lại cho doanh nghiệp cái nhìn tổng quát hơn về sản phẩm của mình. Từ đó cho họ những quyết định chính xác để cải tiến chất lượng sản phẩm để phù hợp hơn với nhu cầu thị trường. 3. Nội dung của đề tài Những nội dung cần thực hiện để hoàn thành đề tài bao gồm : - Tìm hiểu bài toán phân tích bình luận khách hàng trong thực tế Xây dựng website thương mại điện tử tích hợp machine learning phân tích bình luận khách hàng SVTH : Nguy ễ n Văn Thành GVHD : TS. Đ ặ ng Hoài Phương 2 - Phân tích và thiết kế hệ thống website thương mại điện tử tích hợp phân tích bình luận - Thiết kế cơ sở dữ liệu cho hệ thống - Tìm hiểu và nghiên cứu, áp dụng các ngôn ngữ lập trình và công nghệ như: C#, ReacJs, Python (Framework Django ), API để xây dựng hệ thống thương mại điện tử. - Quản lý CSDL bằng hệ quản trị CSDL SQL server 4. Phạm vi sử dụng đề tài Ứng dụng được sử dụng cho các website bán hàng, bán đồ ăn, nước uống có nhu cầu muốn biết, nắm bắt những nhu cầu thiết yếu của khách hàng. Từ đó đưa ra giải pháp thích hợp. 5. Bố cục của đề tài Đồ án được chia làm 3 chương chính: Với chương thứ nhất đi vào tìm hiểu và nghiên cứu cơ sở lý thuyết để thực hiện áp dụng vào đề tài. Tìm hiều công cụ và ngôn ngữ lập trình. Trong chương thứ hai đi vào quá trình khảo sát hiện trạng thực tế, phân tích và thiết kế hệ thống thông tin, xác định các tác nhân chính của hệ thống, thiết kế và xây dựng cơ sở dữ liệu. Tiếp nối chương thứ hai, chương thứ ba sẽ đi vào quá trình triển khai hệ thống, thực hiện xây dựng mã nguồn chương trình và chạy thử nghiệm. Đề tài được đánh giá lại qua phần kết luận, đưa ra các đánh giá kết quả về những vấn đề đã gải quyết , những vấn đề chưa giải quyết được và các giải pháp cho để cải tiến, khắc phục những vấn đề đó. Xây dựng website thương mại điện tử tích hợp machine learning phân tích bình luận khách hàng SVTH : Nguy ễ n Văn Thành GVHD : TS. Đ ặ ng Hoài Phương 3 CHƯƠNG I: CƠ S Ở LÝ THUY Ế T VÀ CÔNG C Ụ S Ử D Ụ NG 1.1. Các công nghệ sử dụng 1.1.1. Tổng quan về #C , .NET CORE Framework và Entity Framework C# C# (hay C sharp) [1] là một ngôn ngữ lập trình đơn giản, được phát triển bởi đội ngũ kỹ sư của Microsoft vào năm 2000, trong đó người dẫn đầu là Anders Hejlsberg và Scott Wiltamuth. C# là ngôn ngữ lập trình hiện đại, hướng đối tượng và nó được xây dựng trên nền tảng của hai ngôn ngữ mạnh nhất là C++ và Java. C# được thiết kế cho Common Language Infrastructure (CLI), mà gồm Executable Code và Runtime Environment, cho phép chúng ta sử dụng các ngôn ngữ high - level đa dạng trên các nền tảng và cấu trúc máy tính khác nhau. C# với sự hỗ trợ mạnh mẽ của .NET Framework giúp cho việc tạo một ứng dụng Windows Forms hay WPF (Windows Presentation Foundation), . . . trở nên rất dễ dàng. Ngoài những đặc điểm trên thì còn một số ưu điểm nổi bật của C#:  C# có cấu trúc khá gần gũi với các ngôn ngữ lập trình truyền thống, nên cũng khá dể dàng tiếp cận và học nhanh với C#.  C# có thể biên dịch trên nhiều nền tảng máy tính khác nhau.  C# được xây dựng trên nền tảng của C++ và Java nên nó được thừa hưởng những ưu điểm của ngôn ngữ đó.  C# là một p hần của .NET Framework nên được sự chống lưng khá lớn đến từ bộ phận này.  C# có IDE Visual Studio cùng nhiều plug - in vô cùng mạnh mẽ. .NET CORE FRAMEWORK ASP.NET Core [3] là một open - source mới và framework đa nền tảng (cross - platform) cho việc xây dựng những ứng dụng hiện tại dựa trên kết nối đám mây, giống như web apps, IoT và backend cho mobile. Xây dựng website thương mại điện tử tích hợp machine learning phân tích bình luận khách hàng SVTH : Nguy ễ n Văn Thành GVHD : TS. Đ ặ ng Hoài Phương 4 Ứng dụng ASP.NET Core có thể chạy trên .NET Core hoặc trên phiên bản đầy đủ của .NET Framework. Nó được thiết kế để cung cấp và tối ưu development framework ch o những dụng cái mà được triển khai trên đám mây (clound) hoặc chạy on - promise. Nó bao gồm các thành phần theo hướng module nhằm tối thiểu tài nguyên và chi phí phát triển, như vậy bạn giữ lại được sự mềm giẻo trong việc xây dựng giải pháp của bạn. Bạn có thể phát triển và chạy những ứng dụng ASP.NET Core đa nền tảng trên Windows, Mac và Linux. Đồng thời nó đã trở thành một mã nguồn mở. Đây là một thay đổi rất lớn và theo mình là quan trọng nhất của ASP.NET Core. Điều mà trước đây khó có một lập trình viên nào có thể nghĩ đến. Có lẽ đó cũng là một xu thế mà các ngôn ngữ lập trình hiện nay đang hướng tới. Với ASP.NET Core bạn đạt được những nền tảng cải tiến dưới đây:  Hợp nhất việc xây dựng web UI và web APIs  Tích hợp những client - side frameworks hiện đại và những luồng phát triển  Hệ thống cấu hình dựa trên môi trường đám mây thật sự  Dependency injection được xây dựng sẵn  HTTP request được tối ưu nhẹ hơn  Có thể host trên IIS hoặc self - host trong process của riêng bạn  Được xây dựng trên .NET Core, hỗ trợ thực s ự app versioning  Chuyển các thực thể, thành phần, module như những NuGet packages  Những công cụ mới để đơn giản hóa quá trình phát triển web hiện đại  Xây dựng và chạy đa nền tảng(Windows, Mac và Linux)  Mã nguồn mở và tập trung vào cộng đồng. Hình 1.1 Open - Source và Framework đa n ề n t ả ng .Net Core Xây dựng website thương mại điện tử tích hợp machine learning phân tích bình luận khách hàng SVTH : Nguy ễ n Văn Thành GVHD : TS. Đ ặ ng Hoài Phương 5 ENTITY FRAMEWORK Entity Framework ( EF ) [4] là một framework ánh xạ quan hệ đối tượng (ORM) dành cho ADO.NET, là 1 phần của .NET Framework. EF cho phép các nhà phát triển Web tương tác với dữ liệu quan hệ theo phương pháp hướng đối tượng đặc trưng. Lợi ích lớn nhất của EF là giúp lập trình viên giảm thiểu việc lập trình mã nguồn cần thiết để truy cập và tương tác với cơ sở dữ liệu. EF được Microsoft hỗ trợ phát triển lâu dài và bền vững, vì vậy EF là 1 framework mạnh nhất hiện nay để phát triển ứng dụng Web với sự hỗ trợ đông đảo của các nhà phát triển Web. Hình 1.2 Các t ầ ng Entity tác đ ộ ng vào LINQ Một truy vấn là một diễn tả để lấy dữ liệu từ 1 nguồn dữ liệu nào đó. Các truy vấn thường được dùng trong các ngôn ngữ truy vấn đặc trưng. Các ngôn ngữ truy vấn khác nhau được phát triển khác nhau để áp dụng cho các nguồn dữ liệu khác nhau, ví dụ SQL dùng cho cơ sở dữ liệu quan hệ và XQuery dùng cho XML . Vì vậy, các nhà phát triển phải học các ngôn ngữ truy vấn cho mỗi dạng nguồn dữ liệu hoặc định dạng dữ liệu. Do đó, Microsoft mới nghĩ ra việc xây dựng 1 ngôn ngữ truy vấn nào đó mà có thể dùng cho tất cả nguồn dữ liệu, tất cả các định dạng dữ liệu khác nhau. Ngôn ngữ truy vấn đó là LINQ . Xây dựng website thương mại điện tử tích hợp machine learning phân tích bình luận khách hàng SVTH : Nguy ễ n Văn Thành GVHD : TS. Đ ặ ng Hoài Phương 6 LINQ [5] ( Language Integrated Query , tạm dịch là ngôn ngữ truy vấn tích hợp đưa ra 1 mô hình bền vững để hoạt động với các dạng nguồn dữ liệu và định dạng dữ liệu khác nhau. Trong LINQ, bạn phải làm quen với chuyện làm v iệc với các đối tượng (objects). LINQ cho phép dùng các đoạn code đơn giản để truy vấn và chuyển đổi dữ liệu trong các tài liệu XML, cơ sở dữ liệu SQL, tập dữ liệu ADO.NET, các tập hợp .NET, và bất kỳ định dạng nào mà LINQ provider hỗ trợ. Ba thành phần của 1 hoạt động truy vấn : Tất cả các hoạt động truy vấn LINQ đều bao gồm 3 tác vụ:  Kết nối với nguồn dữ liệu (data source)  Tạo truy vấn  Thực thi truy vấn Hình 1.3 LINQ và Entity Framework trong .Net Framework 1.1.2. ReactJS React (Hay ReactJS, React.js) [ 6 ] là một thư viện Javascript mã nguồn mở để xây dựng các thành phần giao diện có thể tái sử dụng. Nó được tạo ra bởi Jordan Walke , một kỹ sư phần mềm tại Facebook. Ngườ i bị ảnh hưởng bởi XHP (Một nền tảng thành phần HTML cho PHP). React lần đầu tiên được triển khai cho ứng dụng Newsfeed của Facebook năm 2011, sau đó được triển khai cho Instagram.com năm 2012. Nó được mở mã nguồn (open - sourced) tại JSConf US tháng 5 năm 2 013. Xây dựng website thương mại điện tử tích hợp machine learning phân tích bình luận khách hàng SVTH : Nguy ễ n Văn Thành GVHD : TS. Đ ặ ng Hoài Phương 7  Đặc tính của ReactJS:  Tư tưởng của ReactJS là xây dựng lên các components có tính tái sử dụng, dễ dàng cho việc chia nhỏ vấn đề, testing. Nó giúp chúng ta dễ dàng quản lý, mở rộng hệ thống, điều này nếu là Angular JS thì đòi hỏi cấu trúc, cách viết code phải thật tối ưu.  ReactJS luôn giữ các components ở trạng thái stateless (nhiều nhất có thể) khiến ta dễ dàng quản lí bởi nó chẳng khác gì một trang static HTML. Bản thân các components này không có trạng thái (state) nó nhận đầu vào từ bên ngoài và c hỉ hiển thị ra dựa vào các đầu vào đó, điều này giải thích tại sao nó mang tính tái sử dụng và dễ dàng cho việc test.  Các đặc trưng của ReactJS Component:  Là một đoạn mã ngắn có ý nghĩa thể hiện một chức năng hay đối tượng nhất định, có thể tái sử dụng.  Một ứng dụng React có thể sử dụng hàng chục, hoặc hàng trăm các component liên kết và tương tác với nhau.  Ta có thể tạo ra một component bằng cách extends từ Component như sau:  Phương thức quan trọng nhất là render(), phương thức này được trigger khi comp onent đã sẵn sàng để được render lên trên trang. Trong hàm này, sẽ trả về mô tả cho việc bạn muốn React render cái gì lên trên trang. Hàm render chính là mô tả cụ thể của giao diện người dùng tại bất cứ thời điểm nào. Vì thế nếu dữ liệu thay đổi, React sẽ quan tâm đến việc cập nhật lại giao diện với dữ liệu tương ứng. Props:  Thông tin được truyền từ component này sang component khác được gọi là props.  Props của một component có thể là một object, function, string, number …. Nó chứa thông tin về thành phần đ ó. State:  Một component trong React có 2 cách để lấy thông tin props và state. Không như props, state của 1 component không được truyền từ bên ngoài vào. Một component sẽ tự quyết định state của chính nó. Để tạo ra state cho component, ta sẽ phải khai báo nó trong hàm constructor.  This.state ở đây là một đối tượng. Để truy cập đến các state ta sử dụng cú pháp: this.state.name_of_property. Và cách phổ biến để thay đổi state của một component là dùng hàm setState(). LifeCycle: Xây dựng website thương mại điện tử tích hợp machine learning phân tích bình luận khách hàng SVTH : Nguy ễ n Văn Thành GVHD : TS. Đ ặ ng Hoài Phương 8 Hình 1.4 Sơ đ ồ vòng đ ờ i c ủ a component trong ReactJS  Một thành phần đặc trưng không kém Props và State của React đó là LifeCycle. LifeCycle là những phương thức được viết sẵn truy cập đến từng thời điểm trong một vòng đời của component, từ đó chúng ta có thể triển khai ý tưởng một cách dễ dàng mà linh động. Contructor(props): Hàm này là hàm khởi tạo, là hàm chạy ngay sau khi component được tạo ra, đầu vào của hàm này là props (tức là thuộc tính của component được dùng để truyền dữ liệu từ bên ngoài vào). Trong hàm n ày chúng ta cũng có thể khởi tạo state cho component. ComponentWillMount: Trước khi render thì sẽ gọi đến hàm này. Ở đây chúng ta có thể đăng kí các biến toàn cục và có thể dựa vào props tính toán và setState nếu có. Render : Là hàm bắt buộc, vì đây là đầu ra của component. Nó chịu trách nhiệm trả về một đối tượng JSX những gì chúng ta muốn hiển thị ra bên ngoài. ComponentDidMount: Là hàm được gọi ngay sau khi giao diện được render xong, có nghĩa là khi giao diện hiện lên sẽ gọi hàm này. Trong hàm này chúng ta có thể dùng để lấy dữ liệu từ api, server… và setState dữ liệu ra. 1.1.3. Model View Controller MVC [7] là viết tắt của Model – View – Controller. Là một kiến trúc phần mềm hay mô hình thiết kế được sử dụng trong kỹ thuật phần mềm. Nói cho dễ hiểu, nó là mô hình phân bố source code thành 3 phần, mỗi thành phần có một nhiệm vụ riêng biệt và độc lập với các thành phần khác. Xây dựng website thương mại điện tử tích hợp machine learning phân tích bình luận khách hàng SVTH : Nguy ễ n Văn Thành GVHD : TS. Đ ặ ng Hoài Phương 9 - Controller Giữ nhiệm vụ nhận điều hướng các yêu cầu từ người dùng và gọi đúng những phương thức xử lý chúng… Chẳng hạn thành phần này sẽ nhận request từ url và form để thao tác trực tiếp với Model. Model Đây là thành phần chứa tất cả các nghiệp vụ logic, phương thức xử lý, truy xuất database, đối tượng mô tả dữ liệu như các Class, hàm xử lý… View Đảm nhận việc hiển thị thông tin, tương tác với người dùng, nơi chứa tất cả các đối tượng GUI như textbox, images… Hiểu một cách đơn giản, nó là tập hợp các form hoặc các file HTML. Hình1.5 Lu ồ ng ch ạ y mô mình MVC 1.1.4. Client Server Mô hình client server [8] hay còn được gọi là mô hình khách – chủ Trong mô hình client server thì máy khách là các máy tính, các thiết bị điện tử như máy in, máy fax,….các máy khách client gửi yêu cầu đến máy chủ server. máy chủ server tiếp nhận yêu cầu, xử lý các yêu cầu đó và trả về kết quả Ưu đi ể m mô hình client server là gì? Ưu điểm của mô hình client server là với mô hình client server thì mọi thứ dường như đều nằm trên bàn của người sử dụng, nó có thể truy cập dữ liệu từ xa (bao gồm các công việc như gửi và nhận file, tìm kiếm thông tin,…) với nhiều dịch vụ đa dạng mà mô hình cũ không thể làm được. Mô hình client/server cung cấp một nền tảng lý tưởng Xây dựng website thương mại điện tử tích hợp machine learning phân tích bình luận khách hàng SVTH : Nguy ễ n Văn Thành GVHD : TS. Đ ặ ng Hoài Phương 10 cho phép tích hợp các kỹ thuật hiện đại như mô hình thiết kế hướng đối tượng, hệ chuyên gia, hệ thông tin địa lý (GIS)… Như ợ c đi ể m mô hình client server là gì? Một trong những vấn đề nảy sinh trong mô hình này đó là tính an toàn và bảo mật thông tin trên mạng. Do phải trao đổi dữ liệu giữa 2 máy ở 2 khu vực khác nhau cho nên dễ dàng xảy ra hiện tượng thông tin truyền trên mạng bị lộ. Hình 1.6 Client Server ho ạ t đ ộ ng 1.2. Bài toán phân loại bình luận  Mô tả chung Nếu bạn đang sở hữu một trang thương mại điện tử hay một Blog,... thì một câu hỏi mà bạn chắc chắn đã từng nghĩ tới đó là thái độ, đánh giá và quan điểm của người dùng với sản phẩm bạn cung cấp để có thể đưa ra những chỉnh sửa, cải tiến cho hệ thống thích hợp hơn với người dùng. Tuy nhiên, để trả lời cho câu hỏi đó, cũng như giải quyết tất cả những vấn đề trên không phải là một chuyện đơn giản. Bạn có thể đi hỏi từng người sử dụng một, sử dụng phiếu đánh giá,... Nhưng thực tế cho thấy rằng những phươn g pháp này là không khả thi hoặc không hiệu quả cho lắm. Các công ty nghiên cứu thị trường hiện này vẫn thường sử dụng các phương pháp truyền thống này tuy nhiên độ tin cậy không cao(do nhân viên tự làm giả dữ liệu) và độ tính cập nhật khá thấp(10 - 20 ngày cho thu thập thông tin, 10 - 20 ngày cho phân tích dữ liệu). Xây dựng website thương mại điện tử tích hợp machine learning phân tích bình luận khách hàng SVTH : Nguy ễ n Văn Thành GVHD : TS. Đ ặ ng Hoài Phương 11  Các phương pháp hiện tại Phương pháp 1 : 1.2.1. Bag of words ( Bow ) [ 9 ] : Trong các ứng dụng về xử lý ngôn ngữ tự nhiên, học máy,... các thuật toán không thể nhận được đầu vào là chữ với dạng biểu diễn t hông thường. Để máy tính có thể hiểu được, ta cần chuyển các từ trong ngôn ngữ tự nhiên về dạng mà các thuật toán có thể hiểu được(dạng số). Một kỹ thuật đơn giản nhất được sử dụng là One hot vector(1 - of - N). Để chuyển đổi ngôn ngữ tự nhiên về dạng 1 - of - N, ta thực hiện các bước như sau:  Xây dựng một bộ từ vựng.  Mỗi vector đại diện cho một từ có số chiều bằng số từ trong bộ từ vựng. Trong đó, mỗi vector chỉ có một phần tử duy nhất khác 0(bằng 1) tại vị trí tương ứng với vị trí từ đó trong bộ từ vựng. Ví dụ: G iả sử bộ từ vựng của chúng ta chỉ có 5 từ: Vua, Hoàng hậu, Phụ nữ, Đàn ông và Trẻ con. Ta sẽ mã hóa cho từ Hoàng Hậu như sau: Hình 1.7 Phương pháp Bow Tuy nhiên, phương pháp này lại để lộ ra những điểm hạn chế vô cùng lớn.  Thứ nhất là độ dài của vector là quá lớn(vietwiki: Corpus Size(74M), Vocabulary size(10K))  Đặc biệt phương pháp này không xác định được sự tương quan ý nghĩa giữa các từ do tích vô hướng của 2 từ bất kì đều bằng 0 dẫn đến độ tương đồng cosin giữa 2 từ bất kì luôn bằng 0. Phương pháp 2 : 1.2.2. Word2vec [ 10 ] :  Word2vec là một mạng neural 2 lớp với duy nhất 1 tầng ẩn, lấy đầu vào là một corpus lớn và sinh ra không gian vector(với số chiều khoảng vài trăm), với mỗi từ duy nhất trong corpus được gắn với một vector tương ứng trong không gian.  Các word vectors được xác định trong không gian vector sao cho những từ có chung ngữ cảnh trong corpus được đặt gần nhau trong không gian. Dự đoán chính xác cao về ý nghĩa của một từ dựa trên những lần xuất hiện trước đây. Xây dựng website thương mại điện tử tích hợp machine learning phân tích bình luận khách hàng SVTH : Nguy ễ n Văn Thành GVHD : TS. Đ ặ ng Hoài Phương 12 Hình 1.8 D ự đoán v ề nghĩa c ủ a t ừ Có 2 cách xây dựng word2vec:  Sử dụng ngữ cảnh để dự đoán mục tiêu(CBOW).  Sử dụng một từ để dự đoán ngữ cảnh mục tiêu(skip - gram)(cho kết quả tốt hơn với dữ liệu lớn). Hình 1.9 So sánh 2 mô hình c ủ a word2vec Trong bài toán này sử dụng Skip - gram Cách thức : Cho 1 từ cụ thể giữa câu (input word) nhìn vào những từ ở gần và ngẫu nhiên. Mạng neural sẽ cho chúng ta biết xác suất của mỗi từ vựng về việc trở thành từ gần đó mà chúng ta chọn. Dưới đây là mô hình kiến trúc của mạng Skip - gra m và cách xây dựng training data Xây dựng website thương mại điện tử tích hợp machine learning phân tích bình luận khách hàng SVTH : Nguy ễ n Văn Thành GVHD : TS. Đ ặ ng Hoài Phương 13 Hình 1.10 Mô hình Skip - gram Model details :  Xây dựng bộ từ vựng  Biểu diễn mỗi từ thành các one - hot - vector  Đầu ra là một vector duy nhất, có kích thước bằng kích thước của bộ từ vựng, thể hiện xác suất của mỗi từ được là lân cận của từ đầu vào.  Không có hàm kích hoạt trên tầng ẩn  Hàm kích hoạt trên tầng output là softmax  Trong quá trình training, input là 1 one - hotvector, ouput cũng là 1 one - hot - vector  Trong quá trình đánh giá sau khi training, đầu ra phải là 1 phân bố xác suất. Word2vec cải tiến : Có 3 cải tiến cơ bản cho mô hình word2vec truyền thống:  Xử lý các cặp từ thông dụng hoặc cụm từ như là một từ đơn  Loại bỏ các từ thường xuyên lặp lại để giảm số lượng các ví dụ huấn luyện  Sửa đổi mục tiêu tối ưu hóa bằng một kỹ thuật gọi là “Negative Sampling”. Sau khi có được pretrained word embedding, ta tiến hành comment2matrix. Xây dựng website thương mại điện tử tích hợp machine learning phân tích bình luận khách hàng SVTH : Nguy ễ n Văn Thành GVHD : TS. Đ ặ ng Hoài Phương 14 Mô hình CNN sử dụng các bộ lọc xoắn để nắm bắt mối quan hệ địa phương. Nhờ khả năng nắm bắt các mối quan hệ địa phương, CNN có khả năng lọc được các n gữ cảnh gần giữa các từ trong câu, có thể áp dụng rất tốt trong bài toán này. Giả sử ta đã sử dụng word embedding như đã trình bày ở trên để biến mỗi từ trong một đoạn văn bản thành các vector có số chiều là n . Từ đó ta có thể coi môt câu văn(đoạn văn) như một ma trận mxn , trong đó m là kích thước hay số từ có trong văn bản đó. Ma trận này về mặt biểu diễn trông cũng có vẻ tương đồng với ma trận biểu diễn cho một bức ảnh đa mức xám(1 channel) với kích thước mxn . 1.2. TỔNG QUAN VỀ RESTful API  Định nghĩa : RESTful API [ 11 ] là một tiêu chuẩn dùng trong việc thiết kế API cho các ứng dụng web (thiết kế Web services) để tiện cho việc quản lý các resource. Nó chú trọng vào tài nguyên hệ thống (tệp văn bản, ảnh, âm thanh, video, hoặc dữ liệu động…), bao gồm các trạng thái tài nguyên được định dạng và được truyền tải qua HTTP. Hình 1.11 Mô t ả RESTful API API ( A pplication P rogramming I nterface) là một tập các quy tắc và cơ chế mà theo đó, một ứng dụng hay một thành phần sẽ tương tác với một ứng dụng hay thành phần khác . API có thể trả về dữ liệu mà bạn cần cho ứng dụng của mình ở những kiểu dữ liệu phổ biến như JSON hay XML. REST ( RE presentational S tate T ransfer) là một dạng chuyển đổi cấu trúc dữ liệu, một kiểu kiến tr úc để viết API. Nó sử dụng phương thức HTTP đơn giản để tạo cho giao tiếp giữa các máy. Vì vậy, thay vì sử dụng một URL cho việc xử lý một số thông tin người dùng, REST gửi một yêu cầu HTTP như GET, POST, PUT, DELETE, vv đến một URL để xử lý dữ liệu. Xây dựng website thương mại điện tử tích hợp machine learning phân tích bình luận khách hàng SVTH : Nguy ễ n Văn Thành GVHD : TS. Đ ặ ng Hoài Phương 15 RESTf ul API là một tiêu chuẩn dùng trong việc thiết kế các API cho các ứng dụng web để quản lý các resource. RESTful là một trong những kiểu thiết kế API được sử dụng phổ biến ngày nay để cho các ứng dụng (web, mobile…) khác nhau giao tiếp với nhau. Chức năng q uan trọng nhất của REST là quy định cách sử dụng các HTTP method (như GET, POST, PUT, DELETE…) và cách định dạng các URL cho ứng dụng web để quản các resource. RESTful không quy định logic code ứng dụng và không giới hạn bởi ngôn ngữ lập trình ứng dụng, bấ t kỳ ngôn ngữ hoặc framework nào cũng có thể sử dụng để thiết kế một RESTful API . Hình 1.12 Các phương th ứ c HTTP c ủ a RESTful API  Hoạt động REST hoạt động chủ yếu dựa vào giao thức HTTP. Các hoạt động cơ bản nêu trên sẽ sử dụng những phương thức HTTP riêng.  GET (SELECT): Trả về một Resource hoặc một danh sách Resource.  POST (CREATE): Tạo mới một Resource.  PUT (UPDATE): Cập nhật thông tin cho Resource.  DELETE (DELETE): Xoá một Resource. Những phương thức hay hoạt động này thường được gọi là CRUD tương ứ ng với Create, Read, Update, Delete – Tạo, Đọc, Sửa, Xóa. Xây dựng website thương mại điện tử tích hợp machine learning phân tích bình luận khách hàng SVTH : Nguy ễ n Văn Thành GVHD : TS. Đ ặ ng Hoài Phương 16 Hình 1.13 Ho ạ t đ ộ ng c ủ a RESTful API Sau quá trình gọi API việc trả về những mã trạng thái cụ thể khi nhận và phiên dịch một HTTP Request, Server sẽ gửi tín hiệu phản hồi là một HTTP Response là một trong số các loại trạng thái sau:  200 OK – Trả về thành công cho những phương thức GET, PUT, PATCH hoặc DELETE.  201 Created – Trả về khi một Resouce vừa được tạo thành công.  204 No Content – Trả về khi Resource xoá thành công.  304 Not Modified – Client có thể sử dụng dữ liệu cache.  400 Bad Request – Request không hợp lệ  401 Unauthorized – Request cần có auth.  403 Forbidden – bị từ chối không cho phép.  404 Not Found – Không tìm thấy resource từ URI  405 Method Not Allowed – Phương thức không cho phép với user hiện tại.  410 Gone – Resource không còn tồn tại, Version cũ đã không còn hỗ trợ.  415 Unsupported Media Type – Không hỗ trợ kiểu Resource này.  422 Unprocessable Entity – Dữ liệu không được xác thực  429 Too Many Requests – Request bị từ chối do bị giới hạn Xây dựng website thương mại điện tử tích hợp machine learning phân tích bình luận khách hàng SVTH : Nguy ễ n Văn Thành GVHD : TS. Đ ặ ng Hoài Phương 17 CHƯƠNG 2 : PHÂN TÍCH VÀ THI Ế T K Ế H Ệ TH Ố NG Hệ thống phân tích bình luận khách hàng áp dụng trong website thương mại điện tử gồm có 2 phân quyền : Quản lý và quản trị viên. Trong đó quản trị viên có thể quản lý tất cả các cửa hàng , các thành viên,… quản lý có thể quản lý được cửa hàng , danh mục sản phẩm và tài khoản của mình. 2.1. Machine Learning trong bài toán phân tích bình lu ậ n khách hàng Các công ty nghiên cứu thị trường hiện này vẫn thường sử dụng các phương pháp truyền thống này tuy nhiên độ tin cậy không cao(do nhân viên tự làm giả dữ liệu) và độ tính cập nhật khá thấp(10 - 20 ngày cho thu thập thông tin, 10 - 20 ngày cho phân tích dữ liệu). Để trả lời câu hỏi trên một cách hiệu quả và nhanh chóng thì bạn phải tận dụng phân tích được chính những thông tin mà người dùng để lại qua internet như các bình luận, đánh giá, bài chia sẻ,... Bước 1 : Thu thập và phân tích đặc điểm dữ liệu Để tận dụng lượng dữ liệu có nhãn sẵn dữ liệu sẽ kèm Comment và điểm đánh giá :  Score < 4 hoặc NaN : Negative ( tiêu cực)  4 < Score < 7 : Neutral(trung tính)  Score > 7 : Positive(tích cực) Quy định độ dài ngắn của 1 Comment là min = 1, max < 3800 từ / 1 comment. Nếu không tiêu chuẩn hóa sẽ ảnh hưởng đến tính đúng đắn của hệ thống Bước 2 : Tiền xử lý dữ li ệu Sử dụng Deeplearning để đơn giản hóa mô hình bài toán  Chuẩn hóa về chữ thường  Thay thế url trong dữ liệu bởi nhãn link_spam  Tách từ  Loại bỏ dấu câu và các ký tự đặc biệt  Xử lý trong trường hợp người dùng láy âm (vd : Ngooooon…. !!!)  Chuẩn hóa các ký tự viết tắt ( vd : ko - > không, …)  Loại bỏ số và các từ chỉ có 1 ký tự Bước 3 : Vector hóa dữ liệu Mô hình CNN sử dụng các bộ lọc xoắn để nắm bắt mối quan hệ địa phương. Nhờ khả năng nắm bắt các mối quan hệ địa phương, CNN có khả năng lọc được các ngữ cảnh g ần giữa các từ trong câu, có thể áp dụng rất tốt trong bài toán này. Xây dựng website thương mại điện tử tích hợp machine learning phân tích bình luận khách hàng SVTH : Nguy ễ n Văn Thành GVHD : TS. Đ ặ ng Hoài Phương 18 Vậy, dữ liệu text và dữ liệu ảnh có điểm gì tương đồng mà ta có thể sử dụng một mô hình xử lý ảnh cho dữ liệu text? Có cách nào để chúng ta nhìn nhận một đoạn text như một bức ảnh không? Bước 4. Xây dựng và huấn luyện mô hình Tiến hành cài đặt một mô hình đơn giản bằng Keras( Đây là mô hình cực kì đơn giản, chỉ nhằm mục đích giới thiệu ). Trước tiên, tiến hành số hóa tất cả dữ liệu đầu vào, các câu comment được chuyển về ma trận số, các labe l được chuyển về dạng one - hot. 2. 2 . Phân tích nghi ệ p v ụ c ủ a h ệ th ố ng 2.2 .1. Nghi ệ p v ụ c ủ a qu ả n tr ị viên - Quản lý các cửa hàng có trong hệ thống : Thêm, sửa, xóa bất kỳ cửa hàng nào trong hệ thống. - Quản lý các tài khoản có trong hệ thống : Thêm, sửa, xóa bất kỳ tài khoản nào trong hệ thống. - Phân quyền cho hệ thống : Có thể cấp quyền cho tài khoản. 2.2 .2. Nghi ệ p v ụ c ủ a qu ả n lý - Quản lý sản phẩm trong cửa hàng : Thêm, sửa, xóa 1 sản phẩm bất kỳ trong cửa hàng mình quản lý. - Quản lý danh mục sản phẩm : Thêm, sửa, xóa 1 danh mục bất kỳ trong cửa hàng mình quản lý. - Quản lý bình luận, đánh giá của khách hàng về cửa hàng của mình : Có thể xem được những đánh giá tích cực hay tiêu cực của khách hàng về cửa hàng của mình. 2.3 . Thi ế t k ế h ệ th ố ng S ơ đồ phân rã chức năng ‘Xây dựng website thương mại điện tử tích hợp machine learning phân tích bình luận khách hàng’ cung cấp cho các cửa hàng 1 công cụ hữu ích nhằm phân tích phản hồi của khách hàng về mặt hàng họ đang bán, nhằm cải thiện chất lượng sản phẩm đưa điến sự hài lòng cho khách hàng, từ đó tăng lợi nhuận cho người bán. Hệ thống có 4 loại người dùng : Người quản trị, người quản lý shop và khách. Các chức năng của từng nhóm người dùng sẽ được mô tả dưới đây : 2.3 .1. Các chức năng của khách - Chức năng đăng ký Chức năng này cho phép người dùng đăng ký tài khoản vào hệ thống để sử dụng. - Chức năng xem danh sách đồ uống, thức ăn Chức năng này cho phép khách hàng sau khi đăng nhập tài khoản thì có thể xem và mua hàng. Xây dựng website thương mại điện tử tích hợp machine learning phân tích bình luận khách hàng SVTH : Nguy ễ n Văn Thành GVHD : TS. Đ ặ ng Hoài Phương 19 - Chức năng bình luận trong cửa hàng Khi đến thăm 1 cửa hàng bất kỳ có trong hệ thống, khách hàng có thể đánh giá chất lượng, không gian, giá thành… ở phần bình luận có ở từng cửa hàng. 2.3 .2. Chức năng của quản lý shop - Chức năng quản lý các sản phẩm Quản lý có thể thêm , sửa, xóa sản phẩm bất kỳ trong shop của họ - Chức năng quản lý danh mục của sản phẩm Quản lý có thể thêm, sửa, xóa danh mục sản phẩm. - Xem tất cả bình luận, đánh giá khách hàng về cửa hàng Quản lý có thể xem những bình luận của khách hàng về cửa hàng của mình 2.3 .3. Chức năng của người quản trị - Quản lý tất cả User của quản lý shop và khách Có thể xem, sửa, xóa tài khoản của những User còn lại. - Quản lý các sản phẩm, bình luận, danh mục Có thể xem, sửa , xóa được sản phẩm, bình luận và danh mục 2.4 . Bi ể u đ ồ ca s ử d ụ ng 2.4 .1 . Bi ể u đ ồ ca s ử d ụ ng t ổ ng quát c ủ a h ệ th ố ng Xây dựng website thương mại điện tử tích hợp machine learning phân tích bình luận khách hàng SVTH : Nguy ễ n Văn Thành GVHD : TS. Đ ặ ng Hoài Phương 20 Hình 2.1 Bi ể u đ ồ ca s ử d ụ ng t ổ ng quát c ủ a h ệ th ố ng Xây dựng website thương mại điện tử tích hợp machine learning phân tích bình luận khách hàng SVTH : Nguy ễ n Văn Thành GVHD : TS. Đ ặ ng Hoài Phương 21 2.4 .2 . Bi ể u đ ồ ca s ử d ụ ng c ủ a khách Hình 2.2 Bi ể u đ ồ ca s ử d ụ ng đăng ký tài kho ả n c ủ a khách 2.4 .3 . Bi ể u đ ồ ca s ử d ụ ng c ủ a Thành viên Hình 2.3 Bi ể u đ ồ ca s ử d ụ ng qu ả n lý tài kho ả n trong h ệ th ố ng. Xây dựng website thương mại điện tử tích hợp machine learning phân tích bình luận khách hàng SVTH : Nguy ễ n Văn Thành GVHD : TS. Đ ặ ng Hoài Phương 22 Hình 2.4: Bi ể u đ ồ ca s ử d ụ ng đ ể mua s ả n ph ẩ m và bình lu ậ n. 2.4 .4 . Bi ể u đ ồ ca s ử d ụ ng c ủ a Qu ả n l

ĐẠI HỌC ĐÀ NẴNG TRƯỜNG ĐẠI HỌC BÁCH KHOA KHOA CÔNG NGHỆ THÔNG TIN ĐỒ ÁN TỐT NGHIỆP NGÀNH: CÔNG NGHỆ THÔNG TIN CHUYÊN NGÀNH: CÔNG NGHỆ PHẦN MỀM ĐỀ TÀI: XÂY DỰNG WEBSITE THƯƠNG MẠI ĐIỆN TỬ TÍCH HỢP MACHINE LEARNING PHÂN TÍCH BÌNH LUẬN KHÁCH HÀNG Người hướng dẫn: TS ĐẶNG HOÀI PHƯƠNG Sinh viên thực hiện: NGUYỄN VĂN THÀNH Số thẻ sinh viên: 102150132 Lớp: 15T2 Đà Nẵng, 12/2019 NHẬN XÉT CỦA NGƯỜI HƯỚNG DẪN Đà Nẵng, ngày 19 tháng 12 năm 2019 Giảng viên hướng dẫn TS Đặng Hoài Phương NHẬN XÉT CỦA NGƯỜI PHẢN BIỆN Đà Nẵng, ngày … tháng … năm 2019 PHIẾU DUYỆT ĐỒ ÁN TỐT NGHIỆP I Phần dành cho Sinh viên Họ tên: NGUYỄN VĂN THÀNH Mã Sinh viên: 102150132 Lớp: 15T2 Tên đề tài: Xây dựng website thương mại điện tử tích hợp machine learning phân tích bình luận khách hàng Số điện thoại: 0964076258 E-mail: thanhgadut1808@gmail.com Họ tên GVHD: TS Đặng Hoài Phương II Phần dành cho Hội đồng Nội dung đánh giá STT Kết luận Trình bày báo cáo theo mẫu qui định Khoa Khơng có chép nội dung báo cáo chương trình có Biên dịch mã nguồn chạy chương trình Có kịch thực với liệu thử nghiệm Kết thực chương trình theo báo cáo Có đóng góp, phát triển tác giả đồ án Ý kiến khác: Kết luận: cầu  Đạt yêu cầu  Phải sửa chữa lại Đà Nẵng, ngày Chủ tịch Hội đồng (Ký ghi họ tên)  Không đạt yêu tháng 12 năm 2019 Cán duyệt kiểm tra (Ký ghi họ tên) TÓM TẮT Tên đề tài: Xây dựng website thương mại điện tử tích hợp machine learning phân tích bình luận khách hàng Sinh viên thực hiện: Nguyễn Văn Thành Số thẻ SV: 102150132 Lớp: 15T2 Hiện nhu cầu mua bán online người ngày cao Việc nắm bắt nhu cầu khách hàng sản phẩm quan trọng Hệ thống phân tích bình luận khách hàng website thương mại điện tử mang đến cho chủ shop biết liệu sản phẩm có làm hài lịng khách hàng hay khơng ? ĐẠI HỌC ĐÀ NẴNG CỘNG HỊA XÃ HƠI CHỦ NGHĨA VIỆT NAM Độc lập - Tự - Hạnh phúc TRƯỜNG ĐẠI HỌC BÁCH KHOA KHOA CÔNG NGHỆ THÔNG TIN NHIỆM VỤ ĐỒ ÁN TỐT NGHIỆP Họ tên sinh viên: NGUYỄN VĂN THÀNH Lớp: 15T2 Khoa: Công nghệ thông tin Số thẻ sinh viên: 102150132 Ngành: Công nghệ thông tin Tên đề tài đồ án: Xây dựng website thương mại điện tử tích hợp machine learning phân tích bình luận khách hàng Đề tài thuộc diện: ☐ Có ký kết thỏa thuận sở hữu trí tuệ kết thực Các số liệu liệu ban đầu: Khơng có Nội dung phần thuyết minh tính tốn: Nội dung thuyết minh gồm: Mở đầu: Phần mở đầu luận văn, giới thiệu nhu cầu thực tế lý thực đề tài, đồng thời giới thiệu sơ lược đề tài mục tiêu phải đạt Chương Cơ sở lý thuyết: trình bày lý thuyết học áp dụng vào hệ thống Chương Phân tích thiết kế: trình bày hồ sơ phân tích hồ sơ thiết kế xây dựng hệ thống luồng hoạt động hệ thống Chương Triển khai đánh giá kết quả: mô tả cách cài đặt, vận hành hệ thống đánh giá kết đạt Các vẽ, đồ thị ( ghi rõ loại kích thước vẽ ): Khơng có Họ tên người hướng dẫn: TS ĐẶNG HỒI PHƯƠNG Ngày giao nhiệm vụ đồ án: …… /……./ 2019 Ngày hoàn thành đồ án: 19 / 12 / 2019 Đà Nẵng, ngày Trưởng Bộ môn Mạng máy tính & truyền thơng TS Phạm Minh Tuấn tháng 12 năm 2019 Người hướng dẫn TS Đặng Hoài Phương LỜI CẢM ƠN Em xin gửi lời cảm ơn chân thành sâu sắc đến thầy cô Khoa Công nghệ thông tin, tất thầy cô trường Đại học Bách khoa – Đại học Đà Nẵng dìu dắt, dạy dỗ truyền đạt kiến thức, kinh nghiệm quý báu suốt trình em học tập nghiên cứu trường Em xin bày tỏ tình cảm lịng biết ơn chân thành tới thầy giáo TS Đặng Hoài Phương, người bước hướng dẫn, giúp đỡ tận tình tạo điều kiện thuận lợi cho em trình thực đồ án tốt nghiệp Nhờ em hoàn thành đồ án tiến độ tích lũy cho nhiều kiến thức q báu Trong q trình thực hẳn khơng tránh khỏi thiếu sót định, em mong nhận thơng cảm, góp ý tận tình bảo quý Thầy Cô tất bạn để đề tài hoàn thiện Một lần em xin chân thành cảm ơn! Nguyễn Văn Thành i CAM ĐOAN Em xin cam đoan: Nội dung đồ án em thực hướng dẫn trực tiếp Thầy Đặng Hoài Phương Các tham khảo dùng đồ án trích dẫn rõ ràng tên tác giả, tên cơng trình, thời gian, địa điểm cơng bố Nếu có chép không hợp lệ, vi phạm quy chế đào tạo, em xin chịu hoàn toàn trách nhiệm Đà Nẵng, ngày 19 tháng 12 năm 2019 Sinh viên thực Nguyễn Văn Thành ii MỤC LỤC CAM ĐOAN ii DANH SÁCH CÁC HÌNH VẼ v GIỚI THIỆU ĐỀ TÀI 1 Lý chọn đề tài Mục đích đề tài Phạm vi sử dụng đề tài Bố cục đề tài CHƯƠNG I: CƠ SỞ LÝ THUYẾT VÀ CÔNG CỤ SỬ DỤNG 1.1 Các công nghệ sử dụng 1.1.1 Tổng quan #C, NET CORE Framework Entity Framework 1.1.2 ReactJS 1.1.3 Model View Controller 1.2 TỔNG QUAN VỀ RESTful API 14 CHƯƠNG : PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG 17 2.1 Machine Learning toán phân tích bình luận khách hàng 17 2.2 Phân tích nghiệp vụ hệ thống 18 2.2.1 Nghiệp vụ quản trị viên 18 2.2.2 Nghiệp vụ quản lý 18 2.3 Thiết kế hệ thống 18 2.3.1 Các chức khách 18 2.3.2 Chức quản lý shop 19 2.3.3 Chức người quản trị 19 2.4 Biểu đồ ca sử dụng 19 2.4.1 Biểu đồ ca sử dụng tổng quát hệ thống 19 2.4.2 Biểu đồ ca sử dụng khách 21 2.4.3 Biểu đồ ca sử dụng Thành viên 21 2.4.4 Biểu đồ ca sử dụng Quản lý 22 2.4.5 Biểu đồ ca sử dụng quản trị viên 24 2.5 Đặc tả ca sử dụng 25 2.5.1 Đặc tả ca sử dụng đăng ký 25 2.5.2 Đặc tả ca sử dụng đăng nhập 25 2.5.3 Đặc tả ca sử dụng Quản lý tài khoản 26 2.5.4 Đặc tả ca sử dụng Tạo sản phẩm 26 2.5.5 Đặc tả ca sử dụng Tạo cửa hàng 27 iii 2.6 Biểu đồ lớp 27 2.7 Biểu đồ hoạt động 28 2.7.1 Biểu đồ hoạt động thành viên 28 2.7.2 Biểu đồ hoạt động quản lý 29 2.7.3 Biểu đồ hoạt động quản trị viên 30 2.8 Thiết kế sở liệu 31 2.8.1 Mơ hình thiết kế sở liệu 31 2.9 Kết chương 31 CHƯƠNG : TRIỂN KHAI VÀ ĐÁNH GIÁ 32 3.1 MÔI TRƯỜNG TRIỂN KHAI 32 3.2 TRIỂN KHAI HỆ THỐNG 32 3.3 Kết chương 35 KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 36 Kết đạt 36 Hướng phát triển 36 TÀI LIỆU THAM KHẢO 37 iv

Ngày đăng: 25/02/2024, 12:41

Tài liệu cùng người dùng

Tài liệu liên quan