1. Trang chủ
  2. » Luận Văn - Báo Cáo

Phát triển một số tính năng trên nền tảng Nextcloud để hỗ trợ sinh viên công nghệ thông tin quản lý kho tài liệu học tập cá nhân

25 2 0
Tài liệu đã được kiểm tra trùng lặp

Đ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

Thông tin cơ bản

Tiêu đề Phát Triển Một Số Tính Năng Trên Nền Tảng Nextcloud Để Hỗ Trợ Sinh Viên Công Nghệ Thông Tin Quản Lý Kho Tài Liệu Học Tập Cá Nhân
Tác giả Đỗ Xuân Duy
Người hướng dẫn PGS.TS Đỗ Văn Nhơn
Trường học Học Viện Công Nghệ Bưu Chính Viễn Thông
Chuyên ngành Hệ Thống Thông Tin
Thể loại Đề Án Tốt Nghiệp Thạc Sĩ Kỹ Thuật
Năm xuất bản 2024
Thành phố TP. Hồ Chí Minh
Định dạng
Số trang 25
Dung lượng 808,44 KB

Nội dung

Phát triển một số tính năng trên nền tảng Nextcloud để hỗ trợ sinh viên công nghệ thông tin quản lý kho tài liệu học tập cá nhânPhát triển một số tính năng trên nền tảng Nextcloud để hỗ trợ sinh viên công nghệ thông tin quản lý kho tài liệu học tập cá nhânPhát triển một số tính năng trên nền tảng Nextcloud để hỗ trợ sinh viên công nghệ thông tin quản lý kho tài liệu học tập cá nhânPhát triển một số tính năng trên nền tảng Nextcloud để hỗ trợ sinh viên công nghệ thông tin quản lý kho tài liệu học tập cá nhânPhát triển một số tính năng trên nền tảng Nextcloud để hỗ trợ sinh viên công nghệ thông tin quản lý kho tài liệu học tập cá nhânPhát triển một số tính năng trên nền tảng Nextcloud để hỗ trợ sinh viên công nghệ thông tin quản lý kho tài liệu học tập cá nhânPhát triển một số tính năng trên nền tảng Nextcloud để hỗ trợ sinh viên công nghệ thông tin quản lý kho tài liệu học tập cá nhânPhát triển một số tính năng trên nền tảng Nextcloud để hỗ trợ sinh viên công nghệ thông tin quản lý kho tài liệu học tập cá nhânPhát triển một số tính năng trên nền tảng Nextcloud để hỗ trợ sinh viên công nghệ thông tin quản lý kho tài liệu học tập cá nhânPhát triển một số tính năng trên nền tảng Nextcloud để hỗ trợ sinh viên công nghệ thông tin quản lý kho tài liệu học tập cá nhânPhát triển một số tính năng trên nền tảng Nextcloud để hỗ trợ sinh viên công nghệ thông tin quản lý kho tài liệu học tập cá nhânPhát triển một số tính năng trên nền tảng Nextcloud để hỗ trợ sinh viên công nghệ thông tin quản lý kho tài liệu học tập cá nhânPhát triển một số tính năng trên nền tảng Nextcloud để hỗ trợ sinh viên công nghệ thông tin quản lý kho tài liệu học tập cá nhânPhát triển một số tính năng trên nền tảng Nextcloud để hỗ trợ sinh viên công nghệ thông tin quản lý kho tài liệu học tập cá nhânPhát triển một số tính năng trên nền tảng Nextcloud để hỗ trợ sinh viên công nghệ thông tin quản lý kho tài liệu học tập cá nhânPhát triển một số tính năng trên nền tảng Nextcloud để hỗ trợ sinh viên công nghệ thông tin quản lý kho tài liệu học tập cá nhânPhát triển một số tính năng trên nền tảng Nextcloud để hỗ trợ sinh viên công nghệ thông tin quản lý kho tài liệu học tập cá nhânPhát triển một số tính năng trên nền tảng Nextcloud để hỗ trợ sinh viên công nghệ thông tin quản lý kho tài liệu học tập cá nhânPhát triển một số tính năng trên nền tảng Nextcloud để hỗ trợ sinh viên công nghệ thông tin quản lý kho tài liệu học tập cá nhânPhát triển một số tính năng trên nền tảng Nextcloud để hỗ trợ sinh viên công nghệ thông tin quản lý kho tài liệu học tập cá nhânPhát triển một số tính năng trên nền tảng Nextcloud để hỗ trợ sinh viên công nghệ thông tin quản lý kho tài liệu học tập cá nhânPhát triển một số tính năng trên nền tảng Nextcloud để hỗ trợ sinh viên công nghệ thông tin quản lý kho tài liệu học tập cá nhânPhát triển một số tính năng trên nền tảng Nextcloud để hỗ trợ sinh viên công nghệ thông tin quản lý kho tài liệu học tập cá nhânPhát triển một số tính năng trên nền tảng Nextcloud để hỗ trợ sinh viên công nghệ thông tin quản lý kho tài liệu học tập cá nhânPhát triển một số tính năng trên nền tảng Nextcloud để hỗ trợ sinh viên công nghệ thông tin quản lý kho tài liệu học tập cá nhânPhát triển một số tính năng trên nền tảng Nextcloud để hỗ trợ sinh viên công nghệ thông tin quản lý kho tài liệu học tập cá nhânPhát triển một số tính năng trên nền tảng Nextcloud để hỗ trợ sinh viên công nghệ thông tin quản lý kho tài liệu học tập cá nhânPhát triển một số tính năng trên nền tảng Nextcloud để hỗ trợ sinh viên công nghệ thông tin quản lý kho tài liệu học tập cá nhânPhát triển một số tính năng trên nền tảng Nextcloud để hỗ trợ sinh viên công nghệ thông tin quản lý kho tài liệu học tập cá nhânPhát triển một số tính năng trên nền tảng Nextcloud để hỗ trợ sinh viên công nghệ thông tin quản lý kho tài liệu học tập cá nhânPhát triển một số tính năng trên nền tảng Nextcloud để hỗ trợ sinh viên công nghệ thông tin quản lý kho tài liệu học tập cá nhânPhát triển một số tính năng trên nền tảng Nextcloud để hỗ trợ sinh viên công nghệ thông tin quản lý kho tài liệu học tập cá nhânPhát triển một số tính năng trên nền tảng Nextcloud để hỗ trợ sinh viên công nghệ thông tin quản lý kho tài liệu học tập cá nhânPhát triển một số tính năng trên nền tảng Nextcloud để hỗ trợ sinh viên công nghệ thông tin quản lý kho tài liệu học tập cá nhânPhát triển một số tính năng trên nền tảng Nextcloud để hỗ trợ sinh viên công nghệ thông tin quản lý kho tài liệu học tập cá nhânPhát triển một số tính năng trên nền tảng Nextcloud để hỗ trợ sinh viên công nghệ thông tin quản lý kho tài liệu học tập cá nhânPhát triển một số tính năng trên nền tảng Nextcloud để hỗ trợ sinh viên công nghệ thông tin quản lý kho tài liệu học tập cá nhânPhát triển một số tính năng trên nền tảng Nextcloud để hỗ trợ sinh viên công nghệ thông tin quản lý kho tài liệu học tập cá nhânPhát triển một số tính năng trên nền tảng Nextcloud để hỗ trợ sinh viên công nghệ thông tin quản lý kho tài liệu học tập cá nhânPhát triển một số tính năng trên nền tảng Nextcloud để hỗ trợ sinh viên công nghệ thông tin quản lý kho tài liệu học tập cá nhânPhát triển một số tính năng trên nền tảng Nextcloud để hỗ trợ sinh viên công nghệ thông tin quản lý kho tài liệu học tập cá nhân

Trang 1

HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG

-

ĐỖ XUÂN DUY

PHÁT TRIỂN MỘT SỐ TÍNH NĂNG TRÊN NỀN TẢNG NEXTCLOUD ĐỂ HỖ TRỢ SINH VIÊN CÔNG NGHỆ THÔNG TIN QUẢN LÝ KHO TÀI LIỆU HỌC TẬP CÁ

Trang 2

Đề án được hoàn thành tại:

HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG

Người hướng dẫn khoa học: PGS.TS Đỗ Văn Nhơn

Phản biện 1: PGS.TS Nguyễn Tuấn Đăng

Phản biện 2: TS Đàm Quang Hồng Hải

Đề án tốt nghiệp sẽ được bảo vệ trước Hội đồng chấm đề án tốt nghiệp thạc sĩ tại Học viện Công nghệ Bưu chính Viễn thông

Vào lúc:…….giờ…….ngày………tháng………năm………

Có thể tìm hiểu đề án tốt nghiệp tại:

-Thư viện của Học viện Công nghệ Bưu chính Viễn thông

Trang 3

MỞ ĐẦU

Lý do chọn đề tài

Trong thời đại thông tin hiện nay, việc truy cập và sử dụng dữ liệu một cách nhanh chóng và hiệu quả là quan trọng, đặc biệt với sinh viên Công Nghệ Thông Tin Tuy nhiên, các hệ thống tìm kiếm hiện nay chủ yếu dựa vào từ khóa mà không xem xét ngữ cảnh hoặc ý nghĩa, dẫn đến kết quả không chính xác và lãng phí thời gian của người dùng Trong bối cảnh này, việc phát triển một hệ thống tìm kiếm thông minh trên nền tảng lưu trữ đám mây phổ biến như Nextcloud, với khả năng hiểu và xử lý ngữ nghĩa của tài liệu, trở nên cấp bách Hệ thống này hứa hẹn không chỉ nâng cao hiệu quả học tập và nghiên cứu cho sinh viên CNTT mà còn mở ra hướng phát triển mới cho quản lý và sử dụng tài nguyên tri thức ở nhiều lĩnh vực khác

Mục tiêu nghiên cứu

Đề tài này nhằm tận dụng và mở rộng các tính năng hiện có của nền tảng Nextcloud, bao gồm lưu trữ, chia sẻ, và tìm kiếm cơ bản, để phát triển một tính năng tìm kiếm theo ngữ nghĩa cho kho tài liệu sinh viên ngành CNTT Mục tiêu chính là thiết lập một mô hình tổ chức và lưu trữ tài liệu chuẩn hóa, bao gồm hệ thống tiền xử lý khi tải tài liệu lên và tính năng tìm kiếm thông minh dựa trên ngữ nghĩa Điều này sẽ cho phép sinh viên quản lý, tìm kiếm, và truy cập dữ liệu một cách hiệu quả, đồng thời duy trì tốc độ xử lý nhanh chóng Bằng cách áp dụng kỹ thuật tìm kiếm ngữ nghĩa,

đề tài hy vọng mở ra một bước đột phá cho cộng đồng người dùng đông đảo của Nextcloud và tạo điều kiện áp dụng hệ thống này rộng rãi trên nhiều lĩnh vực khác, từ đó cải thiện và nâng cao chất lượng học tập và nghiên cứu

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

Phương pháp thu thập thông tin và thử nghiệm

Trang 4

CHƯƠNG 1: CƠ SỞ LÝ THUYẾT

1.1 Tổng quan về semantic web và truy hồi thông tin

1.1.1 Giới thiệu về Semantic web (web ngữ nghĩa)

Semantic Web, một sự mở rộng của World Wide Web, được thiết

kế để cho phép thông tin được định nghĩa một cách rõ ràng, thúc đẩy sự hợp tác giữa máy tính và con người Được khởi xướng bởi Tim Berners-Lee, mục tiêu là tạo ra một hệ thống thông tin logic để máy tính có thể dễ dàng

xử lý dữ liệu toàn cầu, phân tích và mô tả dữ liệu chi tiết, và xây dựng các tệp tin mô tả mối quan hệ giữa các tập dữ liệu, từ đó mở rộng kết nối thông tin và tạo ra mối quan hệ phong phú hơn trên Web

1.1.2 Quá trình phát triển Web ngữ nghĩa

Quá trình phát triển của Semantic Web dựa trên ba trụ cột chính: tiêu chuẩn hóa ngôn ngữ thể hiện dữ liệu (XML) và siêu dữ liệu (RDF) trên Web, chuẩn hóa ngôn ngữ biểu đạt Ontology cho Web ngữ nghĩa, và tăng cường phát triển qua dự án Semantic Web Advanced Development

(SWAD)

1.1.3 Cấu trúc phân tầng của Semantic Web

Semantic Web được cấu trúc từ một hệ thống lớp ngôn ngữ đa tầng, từ Lớp Unicode & URI, Lớp XML, Lớp RDF và RDFSchema, đến Lớp Ontology, và các lớp Unifying Logic, Proof, và Trust Mỗi tầng đều có vai trò quan trọng trong việc đảm bảo an ninh thông tin và nâng cao chất lượng dữ liệu

Trang 5

Hình 1.1: Kiến trúc phân tần của Semantic web

1.1.4 Nội dung phát triển Web Ngữ nghĩa

Phát triển Web Ngữ nghĩa tập trung vào ba phương diện chính: chuẩn hóa ngôn ngữ thể hiện dữ liệu và meta-dữ liệu (XML và RDF) trên Web, chuẩn hóa ngôn ngữ biểu diễn Ontology, và phát triển cũng như cải thiện Web Ngữ nghĩa thông qua chương trình SWAD

1.1.5 Truy tìm thông tin

Trong truy tìm thông tin trên Web, sử dụng keyphrase chọn lọc dựa trên ontology là phương pháp tiên tiến giúp phản ánh chính xác nội dung tài liệu và tăng độ liên quan Điều này cải thiện đáng kể khả năng truy xuất thông tin bằng cách so sánh đồ thị từ khóa giữa câu truy vấn và tài liệu,

từ đó nâng cao độ chính xác và khai thác thông tin, đặc biệt hữu ích cho

Trang 6

sinh viên công nghệ thông tin, thông qua việc áp dụng ngữ nghĩa và xử lý tri thức qua ontology

Đánh giá một hệ thống tìm kiếm thông tin

Đánh giá hiệu suất của một hệ thống tìm kiếm thông tin thường dựa trên các chỉ số nhất định[3]:

Khi xem xét hiệu quả của hệ thống truy vấn thông tin, hai chỉ số quan trọng thường được sử dụng là độ chính xác và độ bao phủ Các chỉ số này được sử dụng để đánh giá mức độ hài lòng của người dùng đối với kết quả mà hệ thống cung cấp Giả sử rằng S là tập hợp các tài liệu mà hệ thống tìm kiếm xác định là liên quan U là tập hợp các tài liệu được người dùng đánh giá là liên quan Độ chính xác và độ bao phủ được định nghĩa như sau:

Độ chính xác: Đây là tỉ lệ giữa số tài liệu liên quan mà hệ thống trả

về và mà người dùng xác định là liên quan so với tổng số tài liệu mà hệ thống truy vấn trả về

1.2 Giới thiệu Ontology

Ontology, một thuật ngữ xuất phát từ triết học được Aristotle giới thiệu, ngày nay trong khoa học máy tính, nó đề cập đến việc định nghĩa cấu trúc của các đối tượng và mối quan hệ giữa chúng trong một ngữ cảnh nhất định Mục tiêu là phát triển một ngôn ngữ chung cho một lĩnh vực cụ thể, với thuật ngữ, khái niệm và quy tắc sử dụng rõ ràng Ontology đóng vai trò

Trang 7

quan trọng trong trí tuệ nhân tạo, Semantic Web và nhiều lĩnh vực khác, cung cấp một nền tảng cho việc tổ chức kiến thức

và OWL (Web Ontology Language) để biểu diễn Ontology, với mục đích phụ thuộc vào yêu cầu ứng dụng cụ thể RDF thích hợp cho việc lưu trữ và mô tả tài nguyên, trong khi OWL cung cấp khả năng suy luận cao hơn

1.3 Phương pháp biểu diễn tài liệu dạng đồ thị keyphrase

Định nghĩa: Một đồ thị keyphrase (KG) bao gồm ba phần tử cơ bản (GK, E, l) trong đó:

- GK  K đại diện cho một tập hợp có số lượng hữu hạn, không trống các từ khóa, được gọi là tập đỉnh của đồ thị

- E là một tập hợp hữu hạn của các cặp phần tử trong GK  GK, được mô tả là tập cạnh của đồ thị, nơi mỗi cạnh đại diện cho một mối quan

hệ ngữ nghĩa giữa hai đỉnh liền kề

- là hàm gán nhãn cho các cạnh trong đồ thị, sao cho: một cạnh e được gắn nhãn bởi l(e)  RKK chỉ ra một quan hệ ngữ nghĩa giữa hai đỉnh

từ khóa liền kề với e

Trang 8

Ví dụ: Ta có đồ thi keyphrase như sau:

GK = {Artificial Intelligence, Machine Learning, Algorithms, Computer Science, Deep Learning}

E = { e1 = (Artificial Intelligence, Machine Learning), e2 = (Algorithms, Machine Learning), e3 = (Python, Programming Language), e4 = (Deep Learning, Machine Learning), e5 = (Machine Learning, Artificial Intelligence), e6 = (Deep Learning, Machine Learning), e7 = (Machine Learning, Computer Science) }

I(e1) = Đồng nghĩa, I(e2) = Có Liên Quan, I(e3) = Thuộc Về, I(e4)

= Là-một, I(e5) = Phần của, I(e6) = Gần Nghĩa, I(e7) = Mở Rộng

 Thuật toán tính khoảng cách giữa 2 keyphrase

Đầu vào: hai keyphrase k1 và k2

Đầu ra: Khoảng cách ngữ nghĩa giữa k1 và k2

Sem_Dis(k1, k2)

{

If k1, k2 là 2 keyphrase giống nhau

Sem_Dis(k1, k2):= 0 Else If tồn tại liên kết trực tiếp giữa k1 và k2

Sem_Dis(k, k):= w(k, k)

Machine Learning

Là 1 phần của Có liên quan

Trang 9

Else If tồn tại liên kết gián tiếp giữa k1 và k2

}

 So khớp đồ thị keyphrase

Định nghĩa: Một cơ chế ánh xạ giữa hai đồ thị keyphrase H = (KH,

RH, EH) chuyển tới đồ thị keyphrase G = (KG, RG, EG) là một cặp ánh xạ ( , ) f g

  của 2 ánh xạ f: R H R G , g: K H K G thỏa điều kiện:

 Là hàm một-đối-một

 Ánh xạ này duy trì được sự liên kết "quan hệ kề" giữa các đỉnh và

các cạnh, tức là cho mọi r R H , g(adj i (r)) = adj i (f(r)) với 1 i 2 Trong đó,

adji(r) là đỉnh keyphrase thứ i kề với đỉnh quan hệ r Nếu hai đỉnh trong H kề nhau thì đỉnh tương ứng trong G cũng vậy

r R H , β(r,f(r)) ≠ 0

k K H , α(k,g(k)) ≠ 0

Định nghĩa: Định nghĩa: Một mô hình lượng giá cho việc ánh xạ

từ đồ thị H sang G được xác định như sau, với giá trị trong khoảng [0,1]:

Σ α(k,g(k)) + Σ β(r,f(r))

r R H

k K H

|KH| + |RH|

Trang 10

1.4 Giới thiệu Nextcloud

Nextcloud là một nền tảng máy khách-máy chủ để tạo dịch vụ lưu trữ tệp và sử dụng chúng Về mặt chức năng rất giống với nhiều với Google Suite và Dropbox, với sự khác biệt về chức năng chính là Nextcloud miễn phí và là mã nguồn mở, do đó cho phép bất kỳ ai cũng có thể cài đặt và vận hành nó miễn phí trên máy chủ riêng Trái ngược với các dịch vụ độc quyền như Google Drive, Dropbox, kiến trúc và mã nguồn mở cho phép thay đổi, thêm chức năng bổ sung vào nền tảng này

Hình 1.2: Logo Nextcloud

Nextcloud, nền tảng lưu trữ và làm việc cộng tác dựa trên đám mây nguồn mở, mang lại cho người dùng, đặc biệt là sinh viên công nghệ thông tin, một loạt tính năng phong phú và linh hoạt Điều này bao gồm:

- Đồng bộ hóa và chia sẻ File: Cho phép đồng bộ hóa dữ liệu giữa các thiết bị và chia sẻ an toàn, hỗ trợ sinh viên truy cập và chia sẻ tài liệu học tập mọi lúc, mọi nơi

- Quản lý Lịch và Công việc: Tích hợp công cụ quản lý lịch giúp sinh viên sắp xếp lịch học và dự án một cách hiệu quả

- Gọi trực tiếp Video Call: Nextcloud Talk hỗ trợ video call, chat nhóm, giao tiếp trực tiếp, thúc đẩy hợp tác và làm việc nhóm không giới hạn không gian

- An Toàn và Bảo mật: Mã hóa dữ liệu, quản lý quyền truy cập, và các công cụ bảo mật khác đảm bảo bảo vệ thông tin cá nhân và tài liệu học tập

Trang 11

- Khả năng mở rộng và tích hợp: Có thể tùy chỉnh nền tảng theo nhu cầu cá nhân hoặc nhóm thông qua các ứng dụng và plugin, hỗ trợ

từ chỉnh sửa tài liệu trực tuyến đến quản lý dự án

- Tự quản lý và Tùy chỉnh: Sinh viên và tổ chức giáo dục có thể tự cài đặt và quản lý nền tảng trên server riêng, tùy chỉnh tính năng theo yêu

cầu

1.5 Kết luận Chương 1

Trong chương này, chúng ta đã xem xét sâu rộng về công nghệ Web Ngữ Nghĩa, Ontology và nhấn mạnh đặc biệt vào nền tảng Nextcloud, một giải pháp đám mây linh hoạt và mạnh mẽ Từ khả năng đồng bộ hóa và chia sẻ dữ liệu đến quản lý lịch và nhiệm vụ, Nextcloud cung cấp một loạt công cụ hỗ trợ sinh viên công nghệ thông tin trong việc quản lý và tương tác

với kho tài liệu học tập cá nhân

Trang 12

CHƯƠNG 2: THIẾT KẾ 2.1 Xây dựng Ontology cho lĩnh vực Công nghệ thông tin

Bao gồm tổng cộng sáu phần tử Tuy nhiên, do bộ dữ liệu sử dụng trong nghiên cứu này không chứa cấu trúc phân cấp rõ ràng, phần tử gán nhãn đã được bỏ qua Điều này dẫn đến việc mô hình chỉ còn bao gồm năm

phần tử chính là: (K, C, R KC , R CC , R KK ) mỗi phần tử đều có vai trò và mô

- Một tập hợp RKK các quan hệ giữa các keyphrase

Quy trình xây dựng Ontology:

Hình 2.1: Quy trình xây dựng ontology 2.2 Mô hình tổ chức, lưu trữ và biểu diễn tài liệu theo ngữ nghĩa trên Nextcloud

Mô hình “Cơ sở tài liệu có ngữ nghĩa” (viết tắt là mô hình SDB - Semantic Document Base) là một hệ thống gồm có 5 thành phần (D, FS,

DB, CK_ONTO, SBD_R), được học viên lược bớt thành phần thứ năm

Thu thập tài liệu Xây dựng ontology

Chuẩn hóa ontology

Chuẩn hóa ontology cho

phù hợp với yêu cầu

Xây dựng các lớp và các

quan hệ

Thu thập KeyPhrase

từ các nguồn

Trang 13

SBD_R vì cách tổ chức hệ thống file FS trong Nextcloud cũng như trong đề

án khác với mô hình FS đề xuất

- Mô hình ontology CK_ONTO mô tả tri thức của lĩnh vực CNTT

- Mô hình Cơ sở dữ liệu DB mô tả liên kết giữa DB tài liệu Nextcloud với DB CK_ONTO

Các tài liệu có thể được sắp xếp và lưu trữ trong môi trường Nextcloud theo cách sau:

(1) Hệ thống cây thư mục phân cấp có quy chuẩn lưu trữ các tập tin tài liệu

(2) Tập tin “nextcloud.sql” lưu trữ database của các tài liệu cụ thể là tài liệu lĩnh vực công nghệ thông tin

(3) Tập tin “ontology.sql” lưu trữ database của ontology CK_ONTO

và các đồ thị keyphrase biểu diễn tài liệu

Cơ sở dữ liệu lưu trữ tài liệu Nextcloud: nextcloud.sql: Trong khuôn khổ của đề tài, tôi tập trung vào khía cạnh xử lý ngữ nghĩa của tài liệu

và tối ưu hóa việc lưu trữ trên Nextcloud, đồng thời phát triển hệ thống tìm kiếm thông minh hơn Để đáp ứng với những mục tiêu này mà không làm phức tạp thêm việc quản lý các siêu dữ liệu, mô hình CSDL quan hệ mổ tả dưới đây được tinh giản để chỉ mô tả các bảng thông tin cốt lõi liên quan đến việc lưu trữ tài liệu trên Nextcloud và hỗ trợ hệ thống tìm kiếm, không đề cập đến các bảng khác cho đến khi cần thiết:

Trang 14

Hình 2.2: Tổ chức CSDL của Nextcloud liên quan đến việc lưu trữ tài

Hình 2.3: Tổ chức CSDL lưu trữ Ontology

Trang 15

2.3 Tính toán độ tương đồng ngữ nghĩa

Sử dụng một hàng đợi ưu tiên dựa trên các tiêu chuẩn trọng số cao nhất để ghi nhận các keyphrase được kích hoạt theo quy tắc đã nêu

Input: Ontology CK_ONTO

Ri := {}; // quan hệ ri giữa các

keyphrase với i = 1, 2, …14 tương ứng 14 quan hệ có độ ưu tiên (thứ tự dò tìm trên tập các quan hệ) giảm dần Mỗi phần tử trong Ri là một bộ

[keyphrase 1, keyphrase 2, val_ri (keyphrase 1, keyphrase 2)]

(val_ri(keyphrase 1, keyphrase 2) là trọng số phản ánh độ tương đồng giữa keyphrase 1 và keyphrase 2)

minValR := [] // lưu giá trị của 17 quan hệ trên keyphrase

Trang 16

Các bước thực hiện:

Bước 1: Khởi tạo

Đặt trạng thái ban đầu cho một số biến điều khiển

KQueue: = {}; // hàng đợi ưu tiên

Threshold: = 0,5; // ngưỡng, khoảng cách ngữ nghĩa nhỏ nhất cho phép giữa các keyprhase

Bước 2: Thêm keyphrase k1 vào hạng đợi ưu tiên với giá trị ưu tiên được thiết lập là 1

KQueue.add(k1, 1);

Bước 3: Bắt đầu quá trình tìm kiếm để sinh ra các keyphrase mới

có quan hệ ngữ nghĩa với k1 và thêm chúng vào hàng đợi

while not (KQueue.empty())

<3.1> Chọn và loại bỏ phần tử có độ ưu tiên cao nhất khỏi hàng đợi

(key, val) : = KQueue.dequeue();

<3.2> Kiểm tra mục tiêu

if (key == k2) then return val;

<3.3> Tìm kiếm qua các quan hệ ngữ nghĩa để phát hiện keyphrase liên quan đến key

for i from 1 to 14 then

if ( ( val * minValR[i] ) > Threshold ) then

Trang 17

for ( each k such that k ri (ri-1) key ) do // Thêm keyphrase mới vào hàng đợi cùng với độ ưu tiên được tính toán

KQueue.add(k, val*val_ri (key, k)); return 0; // trả về 0 nếu không tìm được một liên kết ngữ nghĩa nào giữa k1 và k2

Trang 18

For ( each key in Keyphrases ) do

if ( EXIST ( key , d.Title ) ) then

for I := 1 to n do // Duyệt qua n class ở mức cao nhất

if ( key có trong class[i] )

Save(key, strKeyphrase, i) Bước 3: Lưu chuỗi từ biến strKeyphrase vào cơ sở dữ liệu (trường strKeyphrase trong bảng tblCKOnto)

tblCKOnto.strKeyphrase  strKeyphrase

Giải thích: Đoạn giải thuật ở Bước 2, có sử dụng các hàm sau:

 Hàm EXIST (key, Trường dữ liệu)

Phương pháp này kiểm tra sự xuất hiện của key trong một trường

dữ liệu (ví dụ: trường Title trong tin tức d), trả về True nếu key tồn tại, và False nếu không

 Hàm Save(keyphrase, strKeyphrase, i)

Lưu keyphrase vào cụm thứ i của biến strKeyphrase

2.5 Giải pháp xử lý câu truy vấn

Với tính năng tìm kiếm dựa vào ý nghĩa, quy trình xử lý câu truy vấn sẽ tương tự như việc xử lý tài liệu: thực hiện trích xuất keyphrase và biểu diễn câu truy vấn dưới dạng một tập hợp các keyphrase tương ứng Thay vì giả định rằng câu truy vấn là một câu hoàn chỉnh bằng ngôn ngữ tự nhiên, phạm vi của cấu trúc câu truy vấn được giới hạn ở việc sử dụng một hoặc một số nhóm từ ngữ chính xác diễn đạt nội dung mà người dùng muốn tìm kiếm

Ngày đăng: 01/07/2024, 09:05

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w