Chương 1. TONG QUAN DE TÀI 1.1 Tên đề tài ÁP DỤNG HỌC MAY DE XÂIY DỰNG HE THONG DE XUẤT LỘ TRÌNH HỌC CHO SINH VIÊN UIT APPLYING MACHINE LEARNING TO RECOMMEND LEARNING ROADMAP FOR UIT STUDENTS 1.2 Dat van dé Giáo dục luôn là van đề trung tâm của xã hội vì nó quyết định tương lai của mỗi người và của cả xã hội. Khi nói về tính không hiệu quả của giáo dục ngày nay đặc biệt là giáo dục Dai học, người ta thường dé lỗi do thiếu trang thiết bị học tập, thương mại hóa giáo dục, phong cách giảng dạy của giảng viên, việc học thiên về lý thuyết nhiều hơn thực tiễn. mà quên đi cách thức của sinh viên trong việc học của mình.
Theo số liệu khảo sát của báo Tuổi trẻ thì chỉ 30% trong số những sinh viên được hỏi có thái độ tích cực trong học tập, trong khi có đến 60% chọn giải pháp học đối phó. Có một thực tế đáng buồn là sau bao năm học phô thông vất vả, nặng nhọc để giành được một chiếc ghế lên giảng đường đại học thì không ít sinh viên đã vội chủ quan dẫn đến không tiếp thu được kiến thức, nợ môn và tệ hơn nữa là không có định hướng rõ ràng cho tương lai nghề nghiệp. Tại sao lại như vậy? Một trong những lý do là khả năng tiếp nhận thông tin của sinh viên còn kém và chưa có một lộ trình học hợp lý. Khi còn học phô thông, đặc biệt là cấp III, các bạn học sinh đã phải mang trên vai gánh nặng tâm lý từ gia đình, người thân là phải vào Đại học.
Nhưng bản thân những cô, cậu ấy chưa hoặc không nhận thức được vào Đại học để làm gì? Và chuyên ngành mình chọn có phù hợp với mục tiêu, sở thích, tính cách năng lực của bản thân hay không? Chính vì thế mà khi đã đậu vào Đại học rồi thì cũng đồng nghĩa với việc đã làm xong nghĩa vụ với bố mẹ và người thân chứ không phải đạt được ước mơ của chính bản thân thì làm gì có được sự trân trọng thành quả có gắng học tập. Một lý do khác nữa là Sinh viên năm thứ nhất thường chịu ảnh hưởng nhiều từ “sự hướng dẫn” của các anh chị đi trước. Các bạn đang cực kỳ thỏa mãn với chính mình, 12 năm đèn sách rồi, chọi bao nhiêu đối thủ mới nghiễm nhiên trở thành sinh viên Đại học, thỏa mãn mong ước của bố mẹ, thầy cô, bè bạn. Càng nghĩ các bạn càng tự hao và hài lòng về bản thân mình lắm.
Rồi các bạn dần cảm thay cái lý lẽ “nghỉ xả hơi” rất có tình, có lý. Đúng quá! Theo quan điểm năm nhất ăn chơi, năm hai thong thả, năm ba cố gắng, năm tư chuẩn bị ra trường thì các bạn chỉ mới ở giai đoạn I mà thôi vội gì. “Thả phanh” ung dung suốt học kỳ dé rồi đến kỳ thi lại lao đầu vào học, thức khuya dậy sớm chạy mãi mà vẫn không đuổi kịp khối kiến thức mà cả học kỳ không thèm đề mắt tới. Cứ chọn đại một “tủ” may mắn thì trúng, còn không thì.
Thi lại mà rớt thì. Những bạn này thường đến lớp thi bằng khuôn mặt mệt mỏi và đương nhiên kết quả đạt được chỉ có. trời mới biết. Trước thực trạng đó đã thúc đẩy nhóm chúng tôi đến với ý tưởng xây dựng một hệ thống ứng dụng học máy dé có thé đề xuất một lộ trình học cho sinh viên nói chung và sinh viên UIT nói riêng.
Hệ thống giúp giải quyết các van dé chung của sinh viên như nên học môn nao trước, giảng viên nào day dễ hiểu, điểm cao , có thé có tìm tai liệu môn học đó ở đâu cũng như việc làm sao để biết môn học đó có ích gì cho ngành học của mình sau này. Việc cho mỗi cá nhân sinh viên sử dụng hệ thống này và để lại các phản hồi tích cực sẽ góp phan giúp hệ thống thông minh hơn và sẽ giúp các thé hệ sinh viên tiếp theo có được những kinh nghiệm thực tế từ các anh chị đi trước còn lưu lại trên hệ thống.3 Mục tiêu đề tài Xây dựng hệ thống sử dụng CMS Drupal, Python với những mục tiêu cụ thé như sau: - Xây dung website dựa trên một CMS Drupal giúp tiết kiếm thời gian phát trién cũng như dé dang trong việc quản lý. - Sử dụng server riêng đáp ứng được nhu cầu phát triển ứng dụng thời gian thực với nhiều người dùng cùng tương tác trong một thời điểm. - Tích hợp trí tuệ nhân tạo vào việc đề xuất một lộ trình học cũng như đánh giá sắc thái bình luận.4 Đối tượng và phạm vi nghiên cứu 1.1 Đối tượng nghiên cứu Luận văn này hướng đến việc nghiên cứu các đối tượng sau: - Nghiên cứu và tìm hiểu về CMS Drupal trong việc xây dựng website.
- Nghiên cứu và tìm hiệu về Python trong việc đề xuất lộ trình học và đánh giá sắc thái bình luận của mỗi sinh viên.2 Phạm vi nghiên cứu Dé tài được nghiên cứu trong môi trường dai học.5 Phương pháp nghiên cứu Khóa luận sử dụng các phương pháp nghiên cứu hướng đến thực tiễn đề phát triển và hoàn thiện website: - Thu thập thông tin, tim hiểu và nghiên cứu về các kỹ thuật, công nghệ, thư viện cần thiết sẽ hỗ trợ xây dựng và phát triển đề tài. - Tự đánh giá và so sánh kết quả đạt được với các mục tiêu dé ra ban đầu. Điều chỉnh, khắc phục các khuyết điểm và phát huy các ưu điểm. - Hoàn thiện website và đưa vào kiểm thử trong thực tế, tiến hành khảo sát, thu thập ý kiến, đánh giá của người dùng.6 Cấu trúc khóa luận Trong bài báo cáo này, chúng tôi xin được trình bày về những kiến thức, cơ sở lý thuyết mà chúng tôi đã nghiên cứu và áp dụng.
Cũng như những phân tích, đánh giá của nhóm trong quá trình làm việc, xây dựng và phát triển hệ thống đề xuất lộ trình học. Báo cáo khóa luận này được trình bày với cấu trúc như sau: - Chương 1: Giới thiệu tổng quan về dé tài nghiên cứu, các van dé cần giải quyết, mục đích nghiên cứu, phạm vi nghiên cứu và phương pháp nghiên cứu - Chương 2: Giới thiệu các kỹ thuật, công nghệ, các thư viện cần thiết đã nghiên cứu, tìm hiểu và áp dụng vào việc xây dựng và phát triển đề tài. - Chương 3: Đề ra các đặc tả yêu cầu phân tích thiết kế hệ thống, thiết kế kiến trúc và các mô hình cần thiết cho toàn bộ hệ thống. - Chương 4: Trình bày việc hiện thực các thiết kế được xây dựng từ chương 3, hiện thực và giới thiệu giao diện ứng dụng, minh họa cách thức hoạt động thực tế của ứng dụng.
- Chương 5: Tổng kết đồ án, nêu lên ý nghĩa đồ án, trình bày những mặt tích cực đã đạt được cũng như nhìn nhận, đánh giá về những hạn chế còn tồn đọng. Từ đó đưa ra cách giải quyết, hướng phát triển tiếp theo cho hệ thống.1 Khái niệm Django là 1 web framework khá nổi tiếng được viết hoàn toàn bằng ngôn ngữ Python. Nó là 1 framework với đầu đủ các thư viện, module hỗ trợ các web-developer. Django sử dung mô hình MVC và được phát triển boi Django Software Foundation (DSF một tổ chức phi lợi nhuận độc lập) Mục tiêu chính của Django là đơn giản hóa việc tạo các website phức tạp có sử dụng cơ sở dữ liệu [3].
Django tập trung vào tinh năng “có thé tái sử dung” và “có thé tự chạy” của các component, tính năng phát triển nhanh, không làm lại những gì đã làm. Một số website phổ biến được xây dựng từ Django là Pinterest, Instagram, Mozilla, và Bitbucket.2 Ưu điểm của sử dung Django Dé hiểu Django thực sự dùng dé làm gì, chúng ta cần hiểu rõ hơn về máy chủ (server). Điều đầu tiên, server cần biết rằng bạn muốn nó phục vụ một trang web. Hãy tưởng tượng một hộp thư (cổng) giám sát các thư gửi đến (request).
Điều này được thực hiện bởi một web server. Web server đọc thư và sau đó gửi phản hồi bằng một trang web.3 Áp dung Django vào ứng dụng UIT Roadmap Recommendation Ứng dụng từ những tính năng nổi trội của Django, nhóm đã sử dụng thư viện Microsoft Recommenders và Tensorflow dé tiền hành xây dựng mô hình đề xuất. Từ dữ liệu mô phỏng nhóm sẽ lưu trong cơ sở dữ liệu Sqlite và Mysql.1 Khái niệm SQLite là một thư viện phần mềm mà triển khai một SQL Database Engine, không cần máy chủ, không cần cầu hình, khép kin và nhỏ gon. Nó là một cơ sở dữ liệu, không cần cấu hình, có nghĩa là giống như các co sở dữ liệu khác mà bạn không cần phải cầu hình nó trong hệ thống của mình [7].
SQLite engine không phải là một quy trình độc lập (standalone process) như các cơ sở dit liệu khác, bạn có thé liên kết nó một cách tĩnh hoặc động tùy theo yêu cầu của bạn với ứng dụng của ban. SQLite truy cập trực tiếp các file lưu trữ (storage files) của nó. 2 Tinh năng của SQLite 2.2 Ưu điểm của sử dung SQLite Một số đặc điểm quan trọng của SQLite giúp nó đáng đề nghiên cứu: - SQLite không yêu cầu một quy trình hoặc hệ thống máy chủ riêng biệt để hoạt động. - SQLite không cần cấu hình, có nghĩa là không cần thiết lập hoặc quản trị.
- Một cơ sở dữ liệu SQLite hoàn chỉnh được lưu trữ trong một file disk da nền tảng (cross-platform disk file). - SQLite rất nhỏ và trọng lượng nhẹ, dưới 400 KiB được cấu hình day đủ hoặc dưới 250 KIB với các tính năng tùy chọn bị bỏ qua. - SQLite là khép kín (self-contained), có nghĩa là không có phụ thuộc bên ngoài. - Các transaction trong SQLite hoàn toàn tuân thủ ACID, cho phép truy cập an toàn từ nhiều tiến trình (process) hoặc luồng (thread).
- SQLite hỗ trợ hầu hết các tinh năng ngôn ngữ truy vấn (query language) được tìm thay trong tiéu chuẩn SQL92 (SQL2). - SQLite được viết bằng ANSI-C và cung cấp API đơn giản và dé sử dụng. - SQLite có sẵn trên UNIX (Linux, Mac OS-X, Android, iOS) và Windows (Win32, WinCE, WinRT).3 Ap dung SQLite vào ứng dụng UIT Roadmap Recommendation Các lệnh SQLite tiêu chuan dé tương tac với cơ sở đữ liệu quan hệ tương tự như SQL. Chúng là CREATE, SELECT, INSERT, UPDATE, DELETE va DROP.
Nhóm sé sử dụng dé lưu dữ liệu về trạng thái bình luận của sinh viên ứng với giảng viên là tốt hay không. Cơ sở đề đề xuất giảng viên cho sinh viên tiếp theo.1 Khái niệm SQL [9] là ngôn ngữ phô biến nhất đề thêm, truy cập và quản lý nội dung trong cơ sở dữ liệu.