Bối cảnh và vấn đề nghiên cứu

Trong bối cảnh chuyển đổi số và sự phát triển của cuộc Cách mạng công nghiệp lần thứ tư, nhu cầu học tập các ngành thuộc khối Công nghệ thông tin (CNTT) và giáo dục STEM ngày càng tăng cao. Hai môn học "Nhập môn lập trình" (NMLT) và "Lập trình hướng đối tượng" (OOP) đóng vai trò nền tảng cốt lõi cho sinh viên năm nhất và người mới bắt đầu tiếp cận lập trình. Tuy nhiên, sự xuất hiện của khối lượng lớn tài liệu học tập đa dạng trên Internet khiến người học gặp nhiều khó khăn trong việc chọn lọc nguồn thông tin chuẩn xác và hệ thống hóa kiến thức.

Mô hình học tập trực tuyến (E-learning) kết hợp với các hệ thống hỏi đáp tự động (Chatbot) trở thành giải pháp hỗ trợ người học tự ôn tập, tra cứu định nghĩa và giải đáp thắc mắc. Mặc dù vậy, các chatbot hiện nay trên thế giới (như Xiaolcle của Microsoft, WolframAlpha hay nền tảng quản trị tri thức Helpjuice) hoặc tập trung vào giao tiếp xã hội, hoặc chưa tối ưu hóa cho miền tri thức giáo dục chuyên sâu, và phần lớn chưa hỗ trợ tốt ngữ nghĩa tiếng Việt. Trước thực trạng đó, khóa luận tốt nghiệp của tác giả Trần Tuấn Vĩ và Phạm Xuân Thiên (Khoa Khoa học Máy tính, Trường Đại học Công nghệ Thông tin, Đại học Quốc gia TP. Hồ Chí Minh), dưới sự hướng dẫn của TS. Nguyễn Đình Hiển, thực hiện đề tài "Phương pháp tích hợp cơ sở tri thức cho hệ thống chatbot hỗ trợ tra cứu kiến thức học tập".

Mục tiêu và nhiệm vụ nghiên cứu của đề tài được xác định gồm các nội dung sau:

  1. Nghiên cứu và xây dựng mô hình biểu diễn tri thức tích hợp Ontology dạng tri thức quan hệ với cấu trúc kịch bản giao tiếp (mô hình Rela-Scripts model) cho hai môn học Nhập môn lập trình và Lập trình hướng đối tượng.
  2. Nghiên cứu các thuật toán xử lý ngôn ngữ tự nhiên (NLP) tiếng Việt, kỹ thuật phân loại ý định (Intent Classification) và trích xuất từ khóa (Aspect Extractor) nhằm giải quyết các bài toán tra cứu định nghĩa, bài tập, so sánh khái niệm và gợi ý kiến thức liên quan.
  3. Thiết kế quy trình xây dựng kịch bản giao tiếp giữa người dùng và chatbot bằng tiếng Việt.
  4. Hiện thực hóa và cài đặt thử nghiệm hệ thống chatbot trên nền tảng web phục vụ sinh viên tra cứu kiến thức.

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

  • Đối tượng nghiên cứu: Các mô hình biểu diễn tri thức quan hệ, mô hình tích hợp tri thức và kịch bản giao tiếp, phương pháp truy vấn cơ sở tri thức và kiến trúc xây dựng chatbot giáo dục.
  • Phạm vi nội dung: Tập trung vào các khái niệm, quy tắc và bài tập cơ bản trong 8 chương của môn Nhập môn lập trình và các nội dung cốt lõi của môn Lập trình hướng đối tượng theo chương trình đào tạo của Trường Đại học Công nghệ Thông tin.
  • Phạm vi ứng dụng và thời gian: Triển khai ứng dụng thử nghiệm trên giao diện web từ ngày 01/09/2021 đến ngày 31/12/2021.

Cơ sở lý thuyết và phương pháp

Khóa luận kết hợp lý thuyết về web ngữ nghĩa, cơ sở tri thức dạng quan hệ và các kỹ thuật xử lý ngôn ngữ tự nhiên.

Khung lý thuyết và mô hình biểu diễn tri thức

  1. Mô hình Ontology: Ontology được biểu diễn dưới dạng bộ 4 thành phần: $$O = [C, R, P, I]$$ Trong đó:
  • $C$: Tập hợp các khái niệm (Concepts) hoặc lớp thực thể trừu tượng.
  • $R$: Tập hợp các mối quan hệ (Relations) giữa các đối tượng.
  • $P$: Tập hợp các thuộc tính (Properties) đặc trưng cho từng đối tượng, bao gồm tên và giá trị.
  • $I$: Tập hợp các cá thể cụ thể (Instances).
  1. Mô hình tri thức quan hệ (Rela-model): Được định nghĩa bởi bộ 3 thành phần: $$K = (C, R, Rules)$$ Trong đó:
  • $C$: Tập khái niệm. Mỗi khái niệm $c \in C$ có cấu trúc $(Attr, Inner\text{-}relation, Properties, Key)$, với $Attr$ là thuộc tính, $Inner\text{-}relation$ là quan hệ nội tại giữa các thuộc tính, $Properties$ là tập tính chất, và $Key$ là từ khóa liên kết.
  • $R$: Tập quan hệ gồm $R = R_{hierarchy} \cup R_{related_to}$, trong đó $R_{hierarchy}$ thể hiện quan hệ phân cấp ($is_a$) và $R_{related_to}$ thể hiện mối liên hệ tương quan giữa các tri thức.
  • $Rules$: Tập luật suy diễn dạng $u(r) \rightarrow v(r)$, với $u(r)$ và $v(r)$ là các tập sự kiện.
  1. Cấu trúc kịch bản hội thoại (Scripts): Mỗi kịch bản được mô hình hóa theo bộ 5 thành phần: $$Scripts = (Name, Meaning, Ques, Ans, InnerRul)$$ Trong đó $Name$ là tên kịch bản, $Meaning$ là ý nghĩa nội dung, $Ques = [q_1, \dots, q_m]$ là danh sách câu hỏi, $Ans = [a_1, \dots, a_m]$ là danh sách câu trả lời tương ứng, và $InnerRul$ là tập luật suy diễn chọn câu hỏi/câu trả lời kế tiếp.

  2. Mô hình tích hợp Rela-Scripts: Là sự kết hợp trực tiếp giữa mô hình tri thức quan hệ và kịch bản giao tiếp: $$\text{Rela-Script model} = (C, R, Rules) + Scripts$$

Phương pháp nghiên cứu và công cụ kỹ thuật

  • Phương pháp thu thập và số hóa dữ liệu: Chuyển đổi bài giảng, tài liệu giấy và slide thành văn bản số hóa, sau đó bóc tách từ khóa và cấu trúc hóa phân cấp.
  • Xử lý ngôn ngữ tự nhiên:
    • Tiền xử lý và chuẩn hóa chuỗi: Sử dụng Biểu thức chính quy (Regular Expression) để lọc ký tự thừa.
    • Tách từ tiếng Việt (Word Segmentation): Sử dụng thư viện PyVi (Python Vietnamese toolkit).
    • Trích xuất từ khóa: Sử dụng module Aspect Extractor phân loại từ khóa chính (concept) và từ khóa phụ (normal tags, ask.comparison,...).
    • Phân loại ý định: Phương pháp so khớp mẫu (Pattern Matching) kết hợp thuật toán tính điểm xếp hạng văn bản BM25 (Best Matching 25) để so khớp thuộc tính truy vấn với danh sách alias.
  • Ngôn ngữ truy vấn cơ sở tri thức: Sử dụng ngôn ngữ SPARQL trên mô hình dữ liệu đồ thị RDF (Resource Description Framework) với cấu trúc bộ ba Triplestore (Subject - Predicate - Object), áp dụng câu lệnh DESCRIBE, SELECT, ASK, CONSTRUCT.
Thành phần kỹ thuật Công nghệ / Nền tảng sử dụng
Ngôn ngữ lập trình Python
Framework Back-end Flask
Giao diện Front-end HTML, CSS
Xây dựng và quản lý Ontology Protégé, OntoGraf
Cơ sở dữ liệu Firebase
Ngôn ngữ truy vấn & biểu diễn SPARQL, RDF/XML
Thư viện xử lý tiếng Việt PyVi

Nguồn dữ liệu

Cơ sở dữ liệu của đề tài được tổng hợp từ các nguồn tài liệu giảng dạy chính quy:

  • Giáo trình "Nhập môn lập trình" (Trần Đan Thư, Nguyễn Thanh Phương, Trần Minh Triết).
  • Sách "Bài tập Kỹ thuật lập trình" (Nguyễn Tấn Trần Minh Khang).
  • Sách "Giáo trình kỹ thuật lập trình C căn bản và nâng cao" (Phạm Văn Ất).
  • Bộ 16 slide bài giảng thuộc 8 chương môn Nhập môn lập trình tại Trường Đại học Công nghệ Thông tin.
  • Bộ 15 slide bài giảng và 56 video bài giảng thực hành môn Lập trình hướng đối tượng (giảng viên Phan Minh Nguyệt, Lê Thanh Trọng).

Thiết kế và triển khai

Hệ thống chatbot tìm kiếm kiến thức được thiết kế theo mô hình xử lý phân tầng, kết nối chặt chẽ giữa bộ phân tích ngôn ngữ tự nhiên và cơ sở tri thức Ontology.

Kiến trúc tổng thể hệ thống

Hệ thống vận hành thông qua các module chức năng chính:

  • Giao diện người dùng (Web UI): Nơi tiếp nhận câu truy vấn dạng văn bản và hiển thị kết quả trả lời của chatbot.
  • Khối điều khiển trung tâm (Bot Controller): Điều phối luồng dữ liệu giữa giao diện và các bộ xử lý phía sau.
  • Bộ chuẩn hóa (Normalizer): Thực hiện loại bỏ ký tự rác bằng Regex và tách từ tiếng Việt qua thư viện PyVi.
  • Bộ trích xuất từ khóa (Keyphrase/Aspect Extractor): Tách câu truy vấn thành các cặp nhãn (tags) và từ khóa (content), phân định rõ từ khóa khái niệm cốt lõi và từ khóa bổ trợ.
  • Bộ nhận dạng ý định (Intent Recognition): Phân loại câu hỏi dựa trên thuật toán BM25 so khớp với từ điển alias của 3 nhóm ý định chính:
Nhóm ý định Loại ý định cụ thể Mục đích Ví dụ minh họa
Common Chào Bắt đầu phiên giao tiếp "xin chào", "học bài nào", "chào bạn"
Tạm biệt Kết thúc phiên giao tiếp "bye", "hẹn gặp lại", "tạm biệt"
Ask Define Tra cứu định nghĩa khái niệm "con trỏ là gì", "định nghĩa của hàm", "thế nào là mảng"
Comparison So sánh sự khác biệt giữa hai khái niệm "so sánh mảng 1 chiều và mảng 2 chiều", "đa hình và kế thừa khác nhau như thế nào"
Relation Tra cứu các khía cạnh mở rộng/liên quan "tôi muốn biết về cách cài đặt của hàm", "ví dụ về lớp bạn"
Response Yes Phản hồi xác nhận / đồng ý "Tôi đã hiểu", "đúng vậy", "chính xác"
No Phản hồi chưa hiểu / từ chối "Tôi chưa hiểu", "không"

Quy trình giải quyết 3 bài toán truy vấn tri thức

Quá trình tìm kiếm thông tin từ cơ sở tri thức được giải quyết thông qua 3 bài toán kỹ thuật tuần tự:

  1. Bài toán 1 (Xác định từ khóa truy vấn): Nhận câu hỏi $q$, trích xuất tập từ khóa $W = Meaning(q)$.
  2. Bài toán 2 (So khớp và truy xuất nội dung): Từ tập từ khóa $W$, hệ thống định vị các thành phần liên quan trong mô hình Rela-Scripts, tạo tập $Knowledge$, sau đó thực hiện lệnh truy vấn SPARQL (chẳng hạn câu lệnh DESCRIBE <urn:...#Tên_khái_niệm>) để trích xuất cấu trúc RDF/XML tương ứng.
  3. Bài toán 3 (Đề xuất tri thức mở rộng): Dựa trên các quan hệ $R_{related_to}$ và tập luật $Rules$, hệ thống tìm tập các khái niệm liên đới $Relate(Knowledge) = \bigcup Related(o)$ để đưa vào kịch bản phản hồi phân cảnh 4.

Nội dung chính theo từng chương

Chương 1: Giới thiệu

Chương 1 làm rõ sự cần thiết của đề tài trong bối cảnh học tập thời đại 4.0 và phân tích các hệ thống chatbot hiện có trên thế giới. Tác giả khảo sát các mô hình như Xiaolcle (Microsoft), WolframAlpha và Helpjuice, chỉ ra rằng các hệ thống này chưa đáp ứng được nhu cầu học tập môn học lập trình đặc thù bằng tiếng Việt. Trên cơ sở đó, chương này xác định phạm vi công nghệ (Python, Flask, Protégé, SPARQL, Firebase) và mục tiêu đề tài.

Chương 2: Cơ sở lý thuyết

Chương 2 trình bày chi tiết cơ sở toán học và mô hình biểu diễn tri thức. Trọng tâm là định nghĩa cấu trúc Ontology $O = [C, R, P, I]$, cấu trúc mô hình tri thức quan hệ Rela-model $K = (C, R, Rules)$, và mô hình tích hợp kịch bản Rela-Scripts model. Chương này đưa ra ví dụ cụ thể về việc mô hình hóa các khái niệm "Thuật toán", "Con trỏ" với đầy đủ tập thuộc tính, quan hệ nội tại, tính chất và từ khóa. Đồng thời, cấu trúc kịch bản hội thoại 5 thành phần cùng thuật toán xếp hạng văn bản BM25 được phân tích làm nền tảng cho việc nhận dạng truy vấn.

Chương 3: Thiết kế hệ thống chatbot tìm kiếm kiến thức

Chương 3 tập trung vào thiết kế kiến trúc hệ thống và giải pháp thuật toán. Tác giả chi tiết hóa 3 chức năng người dùng chính: Tra cứu kiến thức/bài tập, So sánh giữa hai khái niệm, và Đề cập kiến thức liên quan. Kiến trúc hệ thống được chia thành các module: UI, Bot Controller, Normalizer, Aspect Extractor, Intent Recognition và Ontology Matching. Phần cuối chương trình bày chi tiết thuật toán xử lý 3 bài toán truy vấn cùng cấu trúc truy vấn đồ thị RDF bằng ngôn ngữ SPARQL.

Chương 4: Cài đặt và thử nghiệm chương trình

Chương 4 mô tả toàn bộ quy trình thu thập dữ liệu, xây dựng Ontology trong Protégé, lập trình back-end với Flask và triển khai giao diện web. Quá trình xử lý dữ liệu được chuẩn hóa qua 3 giai đoạn để trích xuất 56 từ khóa môn Nhập môn lập trình và 44 từ khóa môn Lập trình hướng đối tượng. Tác giả trình bày các giao diện thực nghiệm bao gồm: đăng nhập, chào hỏi, trả lời định nghĩa khái niệm, trả về câu hỏi so sánh và đề xuất kiến thức liên quan.

Chương 5: Kết luận

Chương 5 tổng kết các kết quả đạt được về mặt mô hình lý thuyết lẫn chương trình ứng dụng thực tế, nêu bật tính mới của mô hình Rela-Scripts trong việc kết hợp Ontology và kịch bản đàm thoại, đồng thời chỉ ra các điểm còn tồn tại và vạch ra định hướng nghiên cứu tiếp theo.

Kết quả và đóng góp

Kết quả định lượng và dữ liệu thu thập

Khóa luận đã hoàn thành việc xây dựng cơ sở tri thức Ontology cho hai môn học nền tảng với dữ liệu thu thập cụ thể:

  • Môn Nhập môn lập trình: Thu thập và phân loại 56 từ khóa khái niệm qua 8 chương học:
    • Chương 1 (9 từ khóa): CPU, Chương trình mã máy, Ngôn ngữ lập trình, Ngôn ngữ lập trình cấp thấp, Ngôn ngữ lập trình cấp cao, Chương trình, Người viết chương trình, Hệ đếm, IDE.
    • Chương 2 (3 từ khóa): Thuật toán, Tính hiệu quả của giải thuật, Độ phức tạp.
    • Chương 3 (15 từ khóa): Từ khóa, Định danh, Hằng, Câu chú thích, Kiểu dữ liệu, Kiểu số nguyên, Kiểu số thực, Kiểu void, Kiểu luận lý, Kiểu ký tự, Typedef, Enum, Biến, Biến cục bộ, Biến toàn cục.
    • Chương 4 (7 từ khóa): Câu lệnh, Khối lệnh, Phạm vi hoạt động của biến, Cấu trúc điều khiển, Cấu trúc tuần tự, Cấu trúc rẽ nhánh, Cấu trúc lặp.
    • Chương 5 (10 từ khóa): Hàm, Nguyên mẫu hàm, Tiêu đề hàm, Thân hàm, Sự thực thi của hàm, Tham số (parameter), Đối số (argument), Truyền đối số cho hàm, Truyền tham trị, Truyền tham chiếu.
    • Chương 6 (5 từ khóa): Mảng, Mảng 1 chiều, Mảng 2 chiều, Mảng ký tự, Cấu trúc.
    • Chương 7 (6 từ khóa): Con trỏ, Con trỏ NULL, Cấp phát tĩnh, Cấp phát động, Toán tử new, Toán tử delete.
    • Chương 8 (1 từ khóa): Tập tin.
  • Môn Lập trình hướng đối tượng: Thu thập 44 từ khóa khái niệm tiêu biểu (Hàm bạn, Kế thừa, Con trỏ, Đa kế thừa, Đơn kế thừa, Đa hình, Override, Virtual, Lớp, Interface, Lớp bạn, Lớp trừu tượng, Phương thức thuần ảo, Nạp chồng toán tử, Phương thức cập nhật, Phương thức hủy bỏ, Phương thức khởi tạo, Phương thức truy cập, Phạm vi truy cập, Quan hệ, Đối tượng, Phương thức, Thuộc tính,...).

Đóng góp khoa học và giải pháp đề xuất

  • Đề xuất mô hình Rela-Scripts: Tích hợp thành công mô hình tri thức quan hệ với kịch bản đàm thoại, cho phép hệ thống chatbot không chỉ phản hồi đơn lẻ mà còn dẫn dắt theo kịch bản 4 phân cảnh (thu thập thông tin $\rightarrow$ trả về định nghĩa/thuộc tính $\rightarrow$ cung cấp ví dụ/bài tập $\rightarrow$ đề xuất kiến thức liên quan).
  • Quy trình truy vấn ngữ nghĩa tiếng Việt: Ứng dụng kết hợp PyVi, Aspect Extractor, thuật toán BM25 và SPARQL giúp nhận dạng chính xác các câu hỏi dạng định nghĩa (Define), so sánh (Comparison) và mở rộng (Relation).
  • Triển khai ứng dụng hoàn chỉnh: Xây dựng hệ thống web chatbot bằng Flask, kết nối cơ sở tri thức biểu diễn dưới dạng RDF trên Protégé và cơ sở dữ liệu Firebase.

Hạn chế và hướng nghiên cứu tiếp

Khóa luận chỉ ra một số hạn chế thực tế trong quá trình triển khai:

  • Cơ sở tri thức của môn Nhập môn lập trình và Lập trình hướng đối tượng mới dừng lại ở việc tổ chức các khái niệm cơ bản, chưa bao phủ toàn diện các cấu trúc chuyên sâu nâng cao.
  • Chức năng so sánh mới chỉ giải quyết được các câu hỏi so sánh giữa hai khái niệm, chưa thể xử lý các câu truy vấn phức tạp bao gồm nhiều đối tượng cùng lúc.
  • Bộ dữ liệu và mô hình xử lý ngôn ngữ tự nhiên tiếng Việt hiện tại chủ yếu đáp ứng các câu truy vấn mức độ vừa phải (câu đơn một vế), chưa phân tích sâu được các câu hỏi phức tạp hoặc có cấu trúc ngữ nghĩa đa tầng.

Hướng phát triển tiếp theo được tác giả xác định:

  • Mở rộng phạm vi cơ sở tri thức cho các môn học chuyên ngành tiếp theo trong chương trình đào tạo CNTT.
  • Nâng cấp bộ phân tích ngữ nghĩa tiếng Việt nhằm xử lý các mẫu câu hỏi phức tạp và hỗ trợ so sánh đa đối tượng.
  • Tối ưu hóa giao diện người dùng và nâng cao tốc độ truy vấn SPARQL trên các tập dữ liệu tri thức quy mô lớn hơn.

Giá trị tham khảo

Báo cáo khóa luận là tài liệu tham khảo hữu ích cho các đối tượng sau:

  • Sinh viên ngành Khoa học Máy tính, Công nghệ Thông tin, Kỹ thuật Phần mềm: Tham khảo phương pháp xây dựng cơ sở tri thức Ontology bằng phần mềm Protégé, cách thiết lập cấu trúc RDF Triplestore và viết truy vấn SPARQL.
  • Nhà phát triển hệ thống hỏi đáp (QA) và Chatbot giáo dục: Tham khảo mô hình tích hợp kịch bản Rela-Scripts và giải pháp kỹ thuật phân loại ý định bằng BM25 kết hợp trích xuất từ khóa cho tiếng Việt.
  • Người học lập trình căn bản: Khung phân cấp khái niệm 8 chương môn NMLT và các khái niệm OOP trong tài liệu cung cấp một hệ thống phân loại thuật ngữ rõ ràng, mạch lạc.

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

1. Mô hình Rela-Scripts do nhóm tác giả đề xuất được cấu thành từ những yếu tố nào?
Mô hình Rela-Scripts là sự kết hợp giữa mô hình tri thức quan hệ Rela-model và cấu trúc kịch bản hội thoại: $(C, R, Rules) + Scripts$. Trong đó, $C$ là tập khái niệm, $R$ là tập quan hệ ($R_{hierarchy}$ và $R_{related_to}$), $Rules$ là tập luật suy diễn, và $Scripts = (Name, Meaning, Ques, Ans, InnerRul)$ là tập hợp các kịch bản đàm thoại được tích hợp theo ngữ nghĩa từ khóa và sự kiện.

2. Hệ thống chatbot phân loại ý định (Intent) của người dùng thành những nhóm nào?
Hệ thống phân loại câu truy vấn thành 3 nhóm ý định chính:

  • Nhóm Common: Gồm ý định Chào và Tạm biệt.
  • Nhóm Ask: Gồm ý định Define (hỏi định nghĩa), Comparison (so sánh hai khái niệm) và Relation (hỏi kiến thức liên quan).
  • Nhóm Response: Gồm ý định Yes (đồng ý/đã hiểu) và No (không đồng ý/chưa hiểu).

3. Cơ sở tri thức của hệ thống bao gồm bao nhiêu khái niệm và được thu thập từ đâu?
Hệ thống thu thập tổng cộng 100 từ khóa khái niệm chính thức, bao gồm 56 từ khóa thuộc 8 chương môn Nhập môn lập trình và 44 từ khóa môn Lập trình hướng đối tượng. Dữ liệu được trích xuất từ giáo trình của các tác giả Trần Đan Thư, Nguyễn Tấn Trần Minh Khang, Phạm Văn Ất, kết hợp cùng 16 slide bài giảng NMLT và 15 slide bài giảng cùng 56 video hướng dẫn OOP của Trường Đại học Công nghệ Thông tin.

4. Kịch bản hội thoại của chatbot được vận hành qua mấy phân cảnh?
Kịch bản giao tiếp được xây dựng qua 4 phân cảnh tuần tự:

  • Phân cảnh 1: Thu thập thông tin và phân loại câu truy vấn của người dùng.
  • Phân cảnh 2: Trả về kết quả nội dung hoặc thuộc tính của khái niệm được hỏi.
  • Phân cảnh 3: Đưa ra các ví dụ minh họa cụ thể hoặc bài tập kiểm tra.
  • Phân cảnh 4: Gợi ý các kiến thức liên quan dựa trên quan hệ tri thức mở rộng.

5. Kiến trúc công nghệ nào được sử dụng để xây dựng và triển khai chatbot?
Hệ thống được lập trình bằng ngôn ngữ Python, sử dụng web framework Flask cho phía Back-end và HTML/CSS cho giao diện Front-end. Cơ sở tri thức được mô hình hóa dưới định dạng RDF trong phần mềm Protégé, dữ liệu lưu trữ tại Firebase và được truy vấn thông qua ngôn ngữ SPARQL.

Kết luận

Khóa luận tốt nghiệp của sinh viên Trần Tuấn Vĩ và Phạm Xuân Thiên đã giải quyết bài toán xây dựng hệ thống chatbot hỗ trợ học tập thông qua đề xuất mô hình tích hợp tri thức Rela-Scripts. Hệ thống kết hợp cơ sở tri thức Ontology 100 khái niệm thuộc hai môn học NMLT và OOP với các kỹ thuật NLP tiếng Việt, thuật toán BM25 và truy vấn SPARQL. Kết quả thử nghiệm trên nền tảng web minh chứng tính khả thi của mô hình trong việc tự động hóa tra cứu định nghĩa, so sánh khái niệm và gợi ý kiến thức học tập cho sinh viên.