Tổng quan nghiên cứu

Trong bối cảnh phát triển nhanh chóng của ngành Công nghệ Thông tin, việc tiếp cận và khai thác kiến thức lập trình một cách hiệu quả là nhu cầu thiết yếu đối với sinh viên. Theo ước tính, hơn 250 câu hỏi phổ biến liên quan đến kỹ thuật lập trình như nhập môn lập trình, cấu trúc dữ liệu và giải thuật đã được thu thập và phân loại nhằm phục vụ cho việc xây dựng hệ thống hỗ trợ tìm kiếm thông minh. Vấn đề đặt ra là hiện nay chưa có một hệ thống tìm kiếm kiến thức lập trình nào đáp ứng được yêu cầu tìm kiếm theo ngữ nghĩa, giúp sinh viên dễ dàng tiếp cận kiến thức một cách nhanh chóng, chính xác và có hệ thống. Mục tiêu nghiên cứu là xây dựng một hệ thống tìm kiếm thông minh dựa trên cơ sở tri thức về kỹ thuật lập trình, hỗ trợ sinh viên ngành Công nghệ Thông tin tại Đại học Quốc gia TP. Hồ Chí Minh trong việc học tập và củng cố kiến thức. Phạm vi nghiên cứu tập trung vào hai môn học chính: nhập môn lập trình và cấu trúc dữ liệu & giải thuật, với dữ liệu thu thập từ năm 2021 tại Trường Đại học Công nghệ Thông tin. Hệ thống được kỳ vọng sẽ nâng cao hiệu quả học tập, giảm thời gian tìm kiếm thông tin và hỗ trợ giảng viên trong công tác giảng dạy, góp phần cải thiện các chỉ số về chất lượng đào tạo và sự hài lòng của sinh viên.

Cơ sở lý thuyết và phương pháp nghiên cứu

Khung lý thuyết áp dụng

Luận văn dựa trên hai lý thuyết chính: Ontology và tìm kiếm ngữ nghĩa (Semantic Search). Ontology được định nghĩa là một mô hình biểu diễn tri thức có cấu trúc, bao gồm các khái niệm, thuộc tính và mối quan hệ giữa các khái niệm trong một lĩnh vực cụ thể. Mô hình Ontology giúp tổ chức và quản lý tri thức về kỹ thuật lập trình một cách có hệ thống, bao gồm 506 khái niệm, 30 lớp khái niệm và hơn 3.500 mối quan hệ. Tìm kiếm ngữ nghĩa là phương pháp tìm kiếm dựa trên ý nghĩa của câu truy vấn thay vì chỉ dựa vào từ khóa, giúp cải thiện độ chính xác và tính liên quan của kết quả trả về. Các khái niệm chính bao gồm: khái niệm/định nghĩa, quan hệ, tác vụ, so sánh và liệt kê. Mô hình cơ sở tri thức PT_ONTO được xây dựng trên nền tảng SQL Server, kết hợp với mô hình cơ sở dữ liệu DB lưu trữ thông tin chi tiết về kiến thức, loại kiến thức, môn học và từ khóa liên quan.

Phương pháp nghiên cứu

Nguồn dữ liệu chính bao gồm: đề cương môn học nhập môn lập trình và cấu trúc dữ liệu & giải thuật, hơn 250 câu hỏi thực tế thu thập từ chuyên gia và sinh viên tại Trường Đại học Công nghệ Thông tin, cùng các tài liệu tham khảo trong lĩnh vực CNTT. Phương pháp phân tích sử dụng mô hình Ontology để tổ chức tri thức, kết hợp thuật toán tính độ tương đồng ngữ nghĩa giữa câu truy vấn và các keyphrase trong cơ sở tri thức. Cỡ mẫu câu hỏi khảo sát là 50 câu, phân loại thành 4 dạng: khái niệm/định nghĩa, khái niệm và quan hệ đi kèm, so sánh, và liệt kê. Phương pháp chọn mẫu là chọn lọc theo chuyên gia và khảo sát thực tế sinh viên nhằm đảm bảo tính đại diện. Timeline nghiên cứu kéo dài trong năm 2021, bao gồm các giai đoạn thu thập tri thức, xây dựng mô hình, phát triển hệ thống và thử nghiệm. Công nghệ áp dụng gồm ASP.NET, SQL Server 2012 Express, .NET Framework và AJAX, phát triển trên môi trường Microsoft Visual Studio Community 2015.

Kết quả nghiên cứu và thảo luận

Những phát hiện chính

  1. Xây dựng mô hình cơ sở tri thức kỹ thuật lập trình: Mô hình PT_ONTO bao gồm 506 khái niệm, 30 lớp khái niệm và 3.579 mối quan hệ, được lưu trữ trên SQL Server, cho phép tổ chức tri thức chi tiết về nhập môn lập trình và cấu trúc dữ liệu.
  2. Phân loại câu hỏi và ngôn ngữ truy vấn: 250 câu hỏi được phân thành 4 dạng chính, với ngôn ngữ truy vấn quy ước riêng biệt cho từng dạng, giúp xử lý hiệu quả các loại câu hỏi phổ biến.
  3. Hiệu quả tìm kiếm: Qua khảo sát 50 câu hỏi, hệ thống đạt độ chính xác 100% với dạng câu hỏi khái niệm/định nghĩa, so sánh và liệt kê; dạng câu hỏi khái niệm và quan hệ đi kèm đạt 95%.
  4. Giao diện người dùng thân thiện: Giao diện được thiết kế phù hợp với từng dạng câu hỏi, hỗ trợ nhập liệu và hiển thị kết quả rõ ràng, bao gồm hình ảnh minh họa, bảng so sánh và danh sách khái niệm liên quan.

Thảo luận kết quả

Kết quả cho thấy việc xây dựng cơ sở tri thức dựa trên mô hình Ontology giúp tổ chức kiến thức kỹ thuật lập trình một cách hệ thống và dễ dàng truy xuất. Độ chính xác cao trong tìm kiếm khẳng định hiệu quả của phương pháp tìm kiếm ngữ nghĩa so với tìm kiếm theo từ khóa truyền thống. So sánh với các nghiên cứu trước đây về quản lý tài nguyên học tập trong CNTT, hệ thống này có ưu điểm nổi bật là tập trung vào ngữ nghĩa câu truy vấn và phân loại câu hỏi chi tiết, giúp sinh viên tiếp cận kiến thức nhanh hơn và chính xác hơn. Việc áp dụng công nghệ ASP.NET và SQL Server đảm bảo tính ổn định và khả năng mở rộng của hệ thống. Các biểu đồ thể hiện tỷ lệ chính xác theo từng dạng câu hỏi và bảng so sánh chi tiết giữa các khái niệm như ngăn xếp và hàng đợi minh họa rõ nét hiệu quả của hệ thống. Tuy nhiên, hệ thống chưa xử lý ngôn ngữ tự nhiên phức tạp, đây là hướng phát triển tiềm năng trong tương lai.

Đề xuất và khuyến nghị

  1. Phát triển module xử lý ngôn ngữ tự nhiên: Nâng cao khả năng hiểu và phân tích câu truy vấn tự nhiên của người dùng để mở rộng phạm vi câu hỏi và cải thiện trải nghiệm tìm kiếm. Thời gian thực hiện dự kiến 12 tháng, do nhóm phát triển phần mềm đảm nhiệm.
  2. Mở rộng cơ sở tri thức: Bổ sung thêm các môn học liên quan và cập nhật kiến thức mới về kỹ thuật lập trình, nhằm tăng tính toàn diện và cập nhật cho hệ thống. Thực hiện định kỳ hàng năm, phối hợp với các chuyên gia CNTT.
  3. Tích hợp hệ thống vào môi trường học tập trực tuyến: Kết nối với các hệ thống E-Learning hiện có để sinh viên có thể truy cập trực tiếp, nâng cao hiệu quả học tập. Thời gian triển khai 6 tháng, phối hợp với phòng công nghệ thông tin trường đại học.
  4. Đào tạo và hướng dẫn sử dụng: Tổ chức các buổi tập huấn cho giảng viên và sinh viên về cách sử dụng hệ thống tìm kiếm thông minh, đảm bảo khai thác tối đa lợi ích. Thực hiện hàng học kỳ, do phòng đào tạo và trung tâm CNTT phối hợp thực hiện.

Đối tượng nên tham khảo luận văn

  1. Sinh viên ngành Công nghệ Thông tin: Giúp củng cố kiến thức nền tảng về lập trình, cấu trúc dữ liệu và giải thuật, tiết kiệm thời gian tìm kiếm thông tin và nâng cao hiệu quả học tập.
  2. Giảng viên CNTT: Hỗ trợ trong việc thiết kế bài giảng, cung cấp tài liệu tham khảo có hệ thống và hỗ trợ sinh viên trong quá trình học tập.
  3. Nhà phát triển phần mềm giáo dục: Cung cấp mô hình và phương pháp xây dựng hệ thống tìm kiếm thông minh dựa trên cơ sở tri thức, làm cơ sở phát triển các ứng dụng tương tự.
  4. Nhà nghiên cứu về trí tuệ nhân tạo và xử lý ngôn ngữ tự nhiên: Tham khảo mô hình Ontology và kỹ thuật tìm kiếm ngữ nghĩa trong lĩnh vực giáo dục, làm nền tảng cho các nghiên cứu tiếp theo về xử lý ngôn ngữ tự nhiên trong giáo dục.

Câu hỏi thường gặp

  1. Hệ thống tìm kiếm thông minh này khác gì so với tìm kiếm từ khóa truyền thống?
    Hệ thống sử dụng tìm kiếm theo ngữ nghĩa, hiểu ý nghĩa câu truy vấn thay vì chỉ so khớp từ khóa, giúp trả về kết quả chính xác và liên quan hơn. Ví dụ, cùng một khái niệm nhưng với cách hỏi khác nhau vẫn cho kết quả tương tự.

  2. Phạm vi kiến thức của hệ thống bao gồm những gì?
    Hệ thống tập trung vào kiến thức kỹ thuật lập trình gồm nhập môn lập trình, cấu trúc dữ liệu và giải thuật, với hơn 500 khái niệm và hơn 3.500 mối quan hệ được tổ chức trong cơ sở tri thức.

  3. Làm thế nào để người dùng nhập câu hỏi vào hệ thống?
    Người dùng nhập câu hỏi theo ngôn ngữ truy vấn quy ước riêng cho từng dạng câu hỏi như khái niệm, so sánh, liệt kê, giúp hệ thống dễ dàng phân loại và xử lý.

  4. Độ chính xác của hệ thống được đánh giá như thế nào?
    Qua khảo sát 50 câu hỏi, hệ thống đạt độ chính xác 100% với các dạng câu hỏi khái niệm, so sánh và liệt kê, và 95% với dạng câu hỏi khái niệm kèm quan hệ, cho thấy hiệu quả cao trong thực tế.

  5. Hệ thống có hỗ trợ tìm kiếm bằng ngôn ngữ tự nhiên không?
    Hiện tại hệ thống chưa xử lý ngôn ngữ tự nhiên phức tạp mà dựa trên ngôn ngữ truy vấn quy ước, tuy nhiên đây là hướng phát triển tiếp theo nhằm nâng cao trải nghiệm người dùng.

Kết luận

  • Đã xây dựng thành công mô hình cơ sở tri thức kỹ thuật lập trình với hơn 500 khái niệm và 3.500 mối quan hệ, lưu trữ trên SQL Server.
  • Phân loại và thiết kế ngôn ngữ truy vấn phù hợp cho 4 dạng câu hỏi phổ biến, giúp xử lý hiệu quả các yêu cầu tìm kiếm của sinh viên.
  • Hệ thống tìm kiếm thông minh đạt độ chính xác cao, hỗ trợ sinh viên và giảng viên trong việc học tập và giảng dạy kỹ thuật lập trình.
  • Giao diện người dùng thân thiện, hiển thị kết quả đa dạng bao gồm khái niệm, hình ảnh, bảng so sánh và danh sách liên quan.
  • Hướng phát triển tiếp theo là tích hợp xử lý ngôn ngữ tự nhiên và mở rộng phạm vi kiến thức, nhằm nâng cao hơn nữa hiệu quả và tính ứng dụng của hệ thống.

Kêu gọi các nhà nghiên cứu và phát triển phần mềm giáo dục tiếp tục khai thác và hoàn thiện hệ thống nhằm phục vụ tốt hơn cho cộng đồng sinh viên và giảng viên ngành Công nghệ Thông tin.