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

Phương pháp xây dựng đồ thị tri thức về du lịch việt nam

140 3 0

Đ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ương pháp xây dựng đồ thị tri thức về du lịch việt nam
Tác giả Trần Lê Quỳnh Dao
Người hướng dẫn PGS.TS Đỗ Phúc
Trường học Trường Đại Học Mở Thành Phố Hồ Chí Minh
Chuyên ngành Khoa học máy tính
Thể loại Luận văn thạc sĩ
Năm xuất bản 2021
Thành phố Thành phố hồ chí minh
Định dạng
Số trang 140
Dung lượng 4,35 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Cấu trúc

  • CHƯƠNG 1 TỔNG QUAN (19)
    • 1.1. TỔNG QUAN TÌNH HÌNH NGHIÊN CỨU (19)
    • 1.2. CÁC ĐỒ THỊ TRI THỨC (20)
      • 1.2.1. Cyc and OpenCyc (21)
      • 1.2.2. Freebase (21)
      • 1.2.3. Wikidata (21)
      • 1.2.4. DBpedia (22)
      • 1.2.5. Google’s Knowledge Graph (22)
      • 1.2.6. Facebook’s Entities Graph (23)
    • 1.3. CÁCH XÂY DỰNG ĐỒ THỊ TRI THỨC (24)
    • 1.4. BỐ CỤC LUẬN VĂN (27)
    • 1.5. KẾT CHƯƠNG (28)
  • CHƯƠNG 2 CƠ SỞ LÝ THUYẾT (30)
    • 2.1. GIỚI THIỆU LÝ THUYẾT ĐỒ THỊ VÀ ỨNG DỤNG (30)
    • 2.2. ĐỒ THỊ TRI THỨC (KNOWLEDGE GRAPH) (32)
    • 2.3. Schema.org (35)
    • 2.4. CƠ SỞ DỮ LIỆU ĐỒ THỊ NEO4J (37)
      • 2.4.1. Giới thiệu về Neo4j (37)
      • 2.4.2. Tóm tắt các qui tắc khi xây dựng dữ liệu đồ thị Neo4j (40)
    • 2.5. SEMANTIC WEB VÀ LINKED DATA (43)
    • 2.6. KẾT CHƯƠNG (50)
  • CHƯƠNG 3 PHƯƠNG PHÁP XÂY DỰNG LƯỢC ĐỒ CỦA ĐỒ THỊ TRI THỨC (51)
    • 3.1. GIỚI THIỆU LƢỢC ĐỒ TRI THỨC (51)
    • 3.2. CÂY ĐỐI TƢỢNG CỦA LƢỢC ĐỒ TRI THỨC (53)
    • 3.3. MÔ TẢ CHI TIẾT CÁC ĐỐI TƢỢNG TRONG CÂY ĐỐI TƢỢNG LƢỢC ĐỒ TRI THỨC (56)
    • 3.4. CHUYỂN CÁC BẢNG MÔ TẢ CÁC ĐỐI TƢỢNG THÀNH CÂY LƢỢC ĐỒ TRONG NEO4J (59)
    • 3.5. KẾT CHƯƠNG (65)
    • 4.1. PHƯƠNG PHÁP THU THẬP DỮ LIỆU DỰA VÀO LƯỢC ĐỒ (66)
      • 4.1.1. Dạng thức dữ liệu đầu vào và cách biểu diễn dữ liệu dưới dạng đồ thị (66)
      • 4.1.2. Các bảng dữ liệu thu thập import vào đồ thị (71)
      • 4.1.3. Thuật toán đọc dữ liệu vào đồ thị tri thức (77)
    • 4.2. PHƯƠNG PHÁP TRUY XUẤT DỮ LIỆU TỪ ĐỒ THỊ TRI THỨC ĐỂ TRẢ LỜI CÁC CÂU HỎI VỀ CHỦ ĐỀ DU LỊCH (77)
      • 4.2.1. Mẫu truy vấn Cypher trả lời câu hỏi về đặc điểm/tính chất của một đối tƣợng cụ thể trong đồ thị (78)
      • 4.2.2. Mẫu truy vấn Cypher trả lời câu hỏi về danh sách các đối tƣợng cần tìm trong đồ thị (83)
      • 4.2.3. Mẫu truy vấn Cypher trả lời câu hỏi là một từ khóa (85)
    • 4.3. KẾT CHƯƠNG (87)
  • KẾT LUẬN (28)
  • TÀI LIỆU THAM KHẢO (90)

Nội dung

TỔNG QUAN

TỔNG QUAN TÌNH HÌNH NGHIÊN CỨU

Dữ liệu tri thức con người rất phong phú và phức tạp, khiến việc mô tả bằng hệ cơ sở dữ liệu quan hệ thông thường trở nên khó khăn Quá trình điều chỉnh, mở rộng và xử lý dữ liệu này tốn nhiều nguồn lực và chi phí Do đó, việc mô hình hóa tri thức và áp dụng các kỹ thuật truy xuất, xử lý là rất quan trọng để giúp máy tính phân tích và giải quyết các vấn đề đặt ra.

Trên thế giới, nhiều nghiên cứu đã phát triển mô hình hóa tri thức thông qua hệ thống dữ liệu dựa trên đồ thị, được gọi là đồ thị tri thức (Knowledge Graph) Mô hình này có đặc điểm tương đồng với logic tri thức của con người, cho phép biểu diễn dữ liệu liên quan đến tri thức và đặt ra các câu hỏi phức tạp về sự kiện hay sự vật, từ đó nhận được câu trả lời chính xác từ kho dữ liệu theo thời gian thực.

Cụm từ "đồ thị tri thức" đã xuất hiện từ năm 1972 và được hiện đại hóa qua thông báo của Google vào năm 2012, cùng với sự phát triển của các công ty lớn như Airbnb, Amazon, eBay, Facebook, IBM, LinkedIn, Microsoft và Uber Đồ thị tri thức chứa một lượng lớn thông tin có cấu trúc dưới dạng thực thể và quan hệ, trở thành kho lưu trữ thông tin rộng lớn và ngày càng phổ biến trong những năm gần đây.

Thuật ngữ Knowledge Graph, được Google giới thiệu vào năm 2012, liên quan đến việc áp dụng kiến thức ngữ nghĩa trong tìm kiếm, nhấn mạnh việc tìm kiếm thông tin có ý nghĩa thay vì chỉ đơn thuần là chuỗi văn bản Sự phát triển của dữ liệu liên kết trong web ngữ nghĩa đã thúc đẩy nhu cầu thể hiện kiến thức dưới dạng đồ thị, giúp mô phỏng các liên kết dữ liệu phong phú và tự nhiên hơn Hiện nay, có khoảng 1.000 bộ dữ liệu liên kết trong đám mây dữ liệu mở, với nhiều kết nối giữa các thực thể tương tự trong các bộ dữ liệu khác nhau Sức mạnh của đồ thị tri thức nằm ở khả năng hỗ trợ tìm kiếm thông tin hiệu quả, thể hiện các kết nối tự nhiên giữa dữ liệu, từ đó mang lại kết quả tìm kiếm chính xác và phong phú hơn, cùng với các thông tin liên quan mà người dùng có thể quan tâm.

Bộ máy tìm kiếm có thể được xây dựng dựa trên đồ thị tri thức và AI, cho phép nhiều người dùng như nhà phân tích, nhà đầu tư, nhà đầu tư mạo hiểm, nhà tuyển dụng và người tìm việc truy cập dữ liệu với mục tiêu tìm kiếm khác nhau Người dùng có thể đặt câu hỏi và nhận được thông tin liên quan, có ý nghĩa, đồng thời hệ thống có khả năng xử lý các câu hỏi không thể đoán trước So với tìm kiếm truyền thống dựa trên từ khóa, tìm kiếm dựa trên đồ thị nhanh hơn và cho phép truy vấn dữ liệu kết nối theo thời gian thực.

Mô hình đồ thị tri thức mang lại nhiều ưu điểm vượt trội, cho phép tìm kiếm tri thức theo cách tự nhiên giống như trò chuyện, thay vì chỉ thực hiện các tìm kiếm đơn lẻ Nó không chỉ hỗ trợ trong việc tìm kiếm và khám phá thông tin mà còn tạo điều kiện kết nối với các bộ dữ liệu mới, từ đó xây dựng trải nghiệm người dùng phong phú hơn Đồ thị tri thức đã trở thành công nghệ chủ chốt cho việc lưu trữ, tổ chức dữ liệu và nâng cao khả năng tìm kiếm của nhiều tập đoàn công nghệ lớn, điển hình là Facebook và Google.

Trong những năm gần đây, nhiều đồ thị tri thức đã được phát triển, thu thập thông tin từ nhiều nguồn khác nhau như semantic web, Wikipedia, Facebook và Google+ Các nguồn này đóng góp vào sự phong phú và đa dạng của dữ liệu trong các đồ thị tri thức.

CÁC ĐỒ THỊ TRI THỨC

Cyc là một trong những dự án đồ thị tri thức lâu đời nhất, bắt đầu từ năm 1980, với mục tiêu mã hóa kiến thức thành các khái niệm Dự án này đã xây dựng một lược đồ phổ quát gồm khoảng 105 khái niệm chính, 106 định nghĩa (Axioms) được xử lý thủ công và hàng triệu sự kiện (Facs) được suy luận và lưu trữ OpenCyc, phiên bản rút gọn của Cyc, được cung cấp công khai, chứa khoảng 120.000 thể hiện (Instances) và 2,5 triệu sự kiện (Facts) tương ứng, với lược đồ gồm 45.000 loại (Types) và 19.000 quan hệ (Relations).

Freebase là một đồ thị tri thức công khai, cho phép chỉnh sửa và có khả năng mô hình hóa hầu hết các loại thực thể như người, thành phố, phim, v.v Dự án này đã được Google mua lại và chính thức ngừng hoạt động vào ngày 31 tháng 3 năm 2015 Phiên bản cuối cùng của Freebase chứa khoảng 50 triệu thực thể và 3 tỷ sự kiện, với lược đồ bao gồm khoảng 27.000 loại thực thể và 38.000 loại quan hệ.

Kế thừa từ dự án đồ thị tri thức khác: Freebase (dự án đã ngừng hoạt động), dữ liệu chứa trong Freebase sau đó đƣợc chuyển sang Wikidata Wikidata đƣợc mở rộng dưới dạng một đồ thị tri thức công khai có thể cập nhật, chỉnh sửa Nó được vận hành bởi Wikimedia Foundation và lưu trữ các phiên bản ngôn ngữ khác nhau của Wikipedia Điểm đặc biệt là với mỗi định nghĩa/khái niệm đều có thể đƣa vào các siêu dữ liệu (Metadata), ví dụ nhƣ nguồn dữ liệu, ngày cập nhật dữ liệu cho khái niệm về dân số của một thành phố Dự án Wikidata giới thiệu một hệ thống dữ liệu đa ngôn ngữ mới “Wikipedia for data” (http://www.wikidata.org) để quản lý thông tin nhƣ là một bách khoa toàn thƣ trực tuyến phổ biến [5] Wikidata là một cơ sở tri thức mở và miễn phí, có thể được đọc và chỉnh sửa bởi cả con người và chương trình máy tính Wikidata có kho dữ liệu từ các dự án của Wikimedia bao gồm Wikipedia, Wikivoyage, Wiktionary, Wikisource và các dự án khác Wikidata hỗ trợ trích xuất dữ liệu bằng nhiều cách khác nhau: sử dụng Linked Data interface, dùng MediaWiki API, thông qua SPARQL endpoints, sử dụng Bots hoặc download các dump của Wikidata (https://www.wikidata.org/wiki/Wikidata:Data_access)

DBpedia là một đồ thị tri thức đƣợc trích xuất từ dữ liệu có cấu trúc trong Wikipedia Nguồn dữ liệu chính để trích xuất là các cặp Key - Value trong các hộp thông tin của Wikipedia DBpedia là một nỗ lực cộng đồng để trích xuất nội dung có cấu trúc từ thông tin đƣợc tạo ra trong các dự án Wikimedia khác nhau (https://wiki.dbpedia.org) DBpedia là một đồ thị tri thức mở (Open Knowledge Graph) có s n cho mọi người trên Web DBPedia không chỉ là nó bao gồm dữ liệu Wikipedia mà còn kết hợp các liên kết đến các bộ dữ liệu khác trên Web, ví dụ: với Geonames Bằng cách cung cấp các liên kết bổ sung đó, các ứng dụng có thể khai thác kiến thức bổ sung (và có thể chính xác hơn) từ các bộ dữ liệu khác khi phát triển ứng dụng; nhờ tích hợp các sự kiện từ một số bộ dữ liệu, ứng dụng có thể cung cấp trải nghiệm người dùng tốt hơn

The DBpedia community utilizes a flexible and extensible framework to extract various types of structured information from Wikipedia This data extraction framework is developed in Scala 2.8 and is available as an open-source project under the GNU GPL License on GitHub at https://github.com/dbpedia.

Google đã công bố Knowledge Graph vào năm 2012, đánh dấu thời điểm thuật ngữ đồ thị tri thức trở nên phổ biến Tuy nhiên, Google giữ bí mật về cách thức xây dựng đồ thị tri thức của họ, với chỉ một số ít nguồn bên ngoài đề cập đến các cơ chế truyền thông tin vào đồ thị này dựa trên kinh nghiệm Từ đó, có thể nhận định rằng các nguồn web bán cấu trúc đóng vai trò quan trọng trong việc cung cấp dữ liệu cho đồ thị tri thức.

Wikipedia đóng góp vào đồ thị tri thức và cấu trúc của nó dựa trên Schema.org, cùng với nội dung từ mạng xã hội Google+.

Dữ liệu trên mạng xã hội Facebook được xem như các kết nối giữa người dùng, với dự án trích xuất đồ thị tri thức chứa hàng tỷ thực thể Thông tin cá nhân mà người dùng cung cấp, như quê hương và trường học, cùng với sở thích như phim, nhạc và sách, đại diện cho các thực thể có thể kết nối với nhau Qua việc phân tích thông tin văn bản và liên kết với Wikipedia, đồ thị tri thức của Facebook, mặc dù không công khai nhiều thông tin, được cho là chứa hơn 100 tỷ kết nối giữa các thực thể.

Ngoài ra còn có các dự án Google‟s Knowledge Vault, Yahoo!‟s Knowledge Graph, Microsoft‟s Satori …

Có thể thấy rằng dự án các đồ thị tri thức khá đa dạng nhƣng chúng có đặc điểm nổi bật nhất đó là:

Để thu thập dữ liệu cho đồ thị tri thức từ các nguồn dữ liệu có cấu trúc trên Semantic Web, cần sử dụng các chuẩn JSON để mô tả thông tin Việc này giúp tổ chức và kết nối dữ liệu một cách hiệu quả, tạo ra một hệ thống tri thức phong phú và dễ dàng truy cập.

Để dữ liệu trở nên dễ hiểu qua các truy vấn ngữ nghĩa, cần sử dụng LD, Microdata hoặc RDFa, đồng thời liên kết dữ liệu với các nguồn khác từ các website ngữ nghĩa.

Linked Data được phát triển dựa trên các công nghệ Web tiêu chuẩn như HTTP, RDF và URI, nhằm chia sẻ thông tin mà máy tính có thể tự động đọc Điều này dẫn đến việc xây dựng các đồ thị tri thức thông qua việc thu thập dữ liệu từ các trang Semantic web khác nhau Quá trình này bao gồm việc tinh chỉnh, sàng lọc, cải thiện và bổ sung kiến thức, cũng như chỉnh sửa các thông tin sai lệch bằng cách thủ công hoặc thông qua các phương pháp đặc biệt, nhằm nâng cao chất lượng dữ liệu.

CÁCH XÂY DỰNG ĐỒ THỊ TRI THỨC

Đồ thị tri thức có cấu trúc và mức độ chi tiết đa dạng do được hình thành từ nhiều nguồn khác nhau Để quản lý sự đa dạng này, các biểu diễn của lược đồ, thực thể và ngữ cảnh đóng vai trò quan trọng Lược đồ xác định cấu trúc cấp cao cho đồ thị tri thức, trong khi thực thể đại diện cho các nút trong đồ thị, liên kết đến những thực thể tương ứng trong thế giới thực Ngữ cảnh giúp xác định một cài đặt cụ thể, từ đó tăng cường tính chính xác và khả năng sử dụng của đồ thị tri thức.

Việc xây dựng và sử dụng biểu đồ tri thức cho phép áp dụng nhiều kỹ thuật để tích hợp và trích xuất giá trị từ các nguồn dữ liệu đa dạng Các đồ thị tri thức được xây dựng dựa trên các lược đồ chuẩn hóa mô hình dữ liệu, giúp mở rộng và bổ sung dữ liệu vào đồ thị Đồng thời, các thuật toán truy cập và trích xuất dữ liệu từ đồ thị tri thức cũng được phát triển nhằm đáp ứng các câu hỏi của người dùng.

Mặc dù các nhà phát triển đã công bố cách tiếp cận sử dụng lược đồ để xây dựng đồ thị tri thức, nhưng thực tế cho thấy các đồ thị này thường không cung cấp đầy đủ thông tin về quy trình xây dựng và các thuật toán truy cập dữ liệu Thay vào đó, họ chỉ cung cấp APIs để truy cập dữ liệu, trong khi cách thức biểu diễn dữ liệu bên trong đồ thị vẫn ẩn giấu đối với người dùng Một số trường hợp, như Google Knowledge Graph, cũng không công bố đầy đủ nguồn dữ liệu thu thập mà chỉ cung cấp lược đồ (Schema) được sử dụng để xây dựng đồ thị tri thức.

Việc xây dựng đồ thị tri thức dựa trên việc thu thập dữ liệu từ nhiều nguồn khác nhau, bao gồm cả những nội dung chưa được kiểm chứng về tính chính xác, dẫn đến kết quả không bao giờ hoàn hảo Đồ thị tri thức thể hiện mô hình của thế giới thực, với mục tiêu đạt được độ bao phủ đầy đủ thông tin về mọi thực thể trong tự nhiên Tuy nhiên, các nhà phát triển thường phải đánh đổi giữa độ bao phủ và tính chính xác, tạo ra sự khác biệt giữa các đồ thị tri thức.

Các đồ thị tri thức trên thế giới cung cấp một lượng lớn tri thức với dữ liệu phong phú, nhưng chủ yếu bằng tiếng Anh, gây khó khăn cho người dùng Việt Nam Tại Việt Nam, nghiên cứu về xây dựng đồ thị tri thức tiếng Việt còn mới mẻ và chưa được nhiều lập trình viên áp dụng trong các dự án.

Các câu hỏi về cách xây dựng và chuẩn hóa mô hình đồ thị tri thức bằng tiếng Việt, cũng như khả năng kết nối và tương thích của đồ thị tri thức tiếng Việt với các đồ thị tri thức hiện có bằng tiếng Anh, vẫn chưa được giải đáp một cách đầy đủ.

Zalo đã tiến hành thu thập dữ liệu từ mạng xã hội của mình thông qua các cuộc thi liên quan đến nhận dạng và khai thác dữ liệu, nhưng hiện vẫn chưa rõ liệu họ đã được cấp phép hay chưa Dù vậy, Zalo vẫn chưa công bố thông tin cụ thể về mô hình dữ liệu mà họ đang thu thập.

Tại Việt Nam, việc công bố dự án về đồ thị tri thức còn hạn chế, dẫn đến tình trạng các tập dữ liệu tiếng Việt hiện nay khá rời rạc Mỗi cơ quan và doanh nghiệp đều quản lý bộ dữ liệu riêng, khiến cho việc kết nối và chia sẻ thông tin giữa chúng trở nên khó khăn.

Nghiên cứu mô hình xây dựng đồ thị tri thức bằng tiếng Việt là rất cần thiết, mặc dù mới ở giai đoạn đầu Điều này sẽ mở ra cơ hội cho các nghiên cứu thực tế nhằm phát triển đồ thị tri thức tiếng Việt trong nhiều lĩnh vực khác nhau, phục vụ cho các ứng dụng trí tuệ nhân tạo tại Việt Nam.

Hiện tại, chưa có một bản tóm tắt thống nhất mô tả cách thức sử dụng biểu đồ tri thức, các kỹ thuật áp dụng và mối liên hệ với các chủ đề quản lý dữ liệu hiện có Do đó, dựa trên nghiên cứu các đặc điểm của đồ thị tri thức, chúng tôi đề xuất một phương pháp xây dựng đồ thị tri thức dựa trên lược đồ mà Google đang sử dụng, được điều chỉnh và bổ sung để phù hợp với ngôn ngữ tiếng Việt Đồ thị tri thức này sẽ dựa vào một Schema chuẩn được quy định về các thực thể và thuộc tính tại trang Schema.org.

Schema được sử dụng để xác định cấu trúc và ngữ nghĩa của đồ thị, giúp mô tả mối quan hệ giữa các đối tượng một cách thống nhất và khoa học Việc cập nhật tri thức mở rộng đồ thị tri thức sẽ dễ dàng hơn nhờ vào sự mô tả đồng nhất về các mối quan hệ và đặc điểm của các thực thể Một lược đồ ngữ nghĩa cho phép xác định ý nghĩa các thuật ngữ trong đồ thị, hỗ trợ lập luận hiệu quả Tuy nhiên, do lược đồ mẫu từ Schema.org chủ yếu bằng tiếng Anh, chúng tôi sẽ điều chỉnh để giữ lại cây thừa kế và mối quan hệ giữa các đối tượng, nhưng thể hiện đặc điểm bằng tiếng Việt Chúng tôi cũng sẽ loại bỏ hoặc bổ sung các thuộc tính để phù hợp với ngôn ngữ và yêu cầu tìm kiếm bằng tiếng Việt, đồng thời loại bỏ các đối tượng không cần thiết cho mô tả dữ liệu tri thức.

Chúng tôi đã tiến hành thử nghiệm để chứng minh tính phù hợp của mô hình thông qua việc xây dựng một đồ thị tri thức về du lịch, với dữ liệu đầu vào chỉ nhằm minh họa phương pháp Mặc dù không phải là một đồ thị tri thức hoàn chỉnh, phương pháp này vẫn có thể được áp dụng để tạo ra một đồ thị tri thức thực sự và đầy đủ, mặc dù việc này yêu cầu nhiều nguồn lực Tri thức mà chúng tôi thu thập liên quan đến lĩnh vực du lịch, và chúng tôi đã chọn chủ đề du lịch Bến Tre làm ví dụ chính để minh họa cho mô hình.

Sau khi hoàn thành đồ thị tri thức minh họa, chúng tôi đề xuất các thuật toán truy xuất thông tin để trả lời những câu hỏi thường gặp của khách du lịch Mục đích là minh họa sức mạnh của đồ thị tri thức so với các cơ sở dữ liệu truyền thống khác.

BỐ CỤC LUẬN VĂN

Luận văn gồm các phần sau:

Chương này cung cấp cái nhìn tổng quan về Đồ thị tri thức, nhấn mạnh sức mạnh của mô hình này và các ứng dụng thực tế trên thế giới cũng như tình hình tại Việt Nam Nó nêu bật những đặc điểm chung của các đồ thị tri thức đã được xây dựng và trình bày một phương pháp cụ thể để phát triển đồ thị tri thức bằng tiếng Việt Đồng thời, luận văn cũng đề cập đến những thách thức cần giải quyết trong quá trình xây dựng đồ thị tri thức bằng tiếng Việt Cuối cùng, bố cục của luận văn được giới thiệu để người đọc có cái nhìn tổng quát trước khi đi vào chi tiết.

 Chương 2: CƠ SỞ LÝ THUYẾT

Chương hai trình bày lý thuyết về đồ thị, nhấn mạnh việc sử dụng đồ thị để mô phỏng các liên kết dữ liệu phong phú và phù hợp với ngôn ngữ tự nhiên thông qua cơ sở dữ liệu đồ thị, phát triển thành đồ thị tri thức Cơ sở dữ liệu đồ thị Neo4j được chọn làm ví dụ minh họa trong luận văn Đồng thời, chương cũng giới thiệu biểu diễn Schema (lược đồ) của tri thức trong đồ thị và cấu trúc của nó, dựa theo trang Schema.org - một nền tảng được duy trì nhờ sự hợp tác của cộng đồng để quảng bá các lược đồ cho dữ liệu có cấu trúc trên Internet.

Chương này trình bày phương pháp thu thập dữ liệu vào đồ thị tri thức thông qua web ngữ nghĩa, đồng thời giới thiệu khái niệm Linked Data Mục tiêu là liên kết dữ liệu từ các web ngữ nghĩa khác nhau để mở rộng và làm phong phú thêm thông tin.

 Chương 3: PHƯƠNG PHÁP XÂY DỰNG LƯỢC ĐỒ CỦA ĐỒ THỊ TRI THỨC

Chương này trình bày phương pháp xây dựng lược đồ đồ thị tri thức về du lịch trong thế giới thực, sử dụng Neo4j để biểu diễn lược đồ dưới dạng cây đối tượng Mỗi đối tượng được định nghĩa với các thuộc tính và mối quan hệ, được trình bày trong bảng Chúng tôi cũng mô tả thuật toán chuyển đổi các bảng này thành cây lược đồ trong đồ thị, với các nút đại diện cho các đối tượng và các cung thể hiện mối quan hệ giữa chúng.

 Chương 4: PHƯƠNG PHÁP THU THẬP VÀ TRUY XUẤT DỮ LIỆU CỦA ĐỒ THỊ TRI THỨC DỰA VÀO LƢỢC ĐỒ

Chương này hướng dẫn cách thu thập dữ liệu thực tế để xây dựng đồ thị tri thức dựa trên mô hình đã trình bày ở Chương III Nội dung chỉ mang tính minh họa, không phải là một đồ thị tri thức hoàn chỉnh, vì dữ liệu đầu vào chỉ là một phần nhỏ Tuy nhiên, từ những mô tả này, người dùng có thể dễ dàng thu thập và bổ sung dữ liệu, giúp đồ thị tri thức trở nên phong phú và đầy đủ hơn.

Chương này trình bày cách truy xuất dữ liệu từ đồ thị tri thức nhằm trả lời những câu hỏi cơ bản và phổ biến về du lịch, đồng thời giới thiệu các thuật toán truy xuất dữ liệu theo yêu cầu.

 KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN

Phần này tổng quát lại những đóng góp của luận văn, những kết quả đạt đƣợc trong quá trình nghiên cứu

* Kiến nghị hướng nghiên cứu tiếp theo

Phần này khuyến nghị các nghiên cứu tiếp theo về việc thu thập dữ liệu từ các doanh nghiệp du lịch thông qua một website quảng bá chung cho toàn tỉnh Đồng thời, đề xuất xây dựng các APIs để truy xuất thông tin từ đồ thị tri thức, sử dụng kỹ thuật GraphQL dựa trên lược đồ mà chúng tôi đã phát triển Mục tiêu là cung cấp dữ liệu phong phú cho các ứng dụng khác, phục vụ cho những mục đích riêng biệt của từng ứng dụng.

KẾT CHƯƠNG

Chương 1 giới thiệu tổng quan về đồ thị tri thức, sức mạnh của mô hình này, các đồ thị tri thức đã thực hiện trên thế giới, thực trạng tại Việt Nam Các đặc điểm chung của các đồ thi tri thức đã đƣợc xây dựng Đồng thời luận văn cũng trình bày một phương pháp để thực hiện xây dựng một đồ thị tri thức bằng tiếng Việt, một số vấn đề đặt ra cần phải giải quyết khi tìm kiếm một phương pháp xây dựng đồ thị tri thức bằng tiếng Việt Giới thiệu bố cục của luận văn cho người đọc cái nhìn khái quát trước khi đi vào chi tiết.

CƠ SỞ LÝ THUYẾT

GIỚI THIỆU LÝ THUYẾT ĐỒ THỊ VÀ ỨNG DỤNG

Các bài toán liên quan đến tập hợp các đối tượng và mối liên hệ giữa chúng yêu cầu toán học xây dựng một mô hình biểu diễn chặt chẽ và tổng quát thông qua ngôn ngữ ký hiệu, cụ thể là đồ thị.

Đồ thị, một khái niệm cơ bản trong toán học, được giới thiệu lần đầu tiên vào thế kỷ XVIII bởi nhà toán học Thụy Sĩ Leonhard Euler Ông đã áp dụng mô hình đồ thị để giải quyết bài toán nổi tiếng về những cây cầu Konigsberg.

Lý thuyết đồ thị, mặc dù đã tồn tại từ lâu, nhưng chỉ trở nên nổi bật với sự ra đời của máy tính và sự phát triển của các thuật toán Các thuật toán đồ thị hiện nay có ứng dụng rộng rãi trong nhiều lĩnh vực như mạng máy tính, lý thuyết mã và tối ưu hóa Một số bài toán nổi tiếng trong lĩnh vực này bao gồm tìm đường đi ngắn nhất, cây khung nhỏ nhất, luồng cực đại trên mạng và bài toán phân công Đặc biệt, bài toán "hôn nhân bền vững" từ lý thuyết đồ thị hai phía đã được áp dụng hiệu quả để giải quyết vấn đề ghép thận giữa người cần ghép và người hiến thận không tương thích.

Để giải quyết bài toán ghép đôi hiến tặng thận, cần liên kết nhiều người cần nhận thận với những người sẵn sàng hiến tặng, sau đó áp dụng các thuật toán để chọn ra các cặp người phù hợp Nhờ đó, bệnh nhân có thể nhận được thận phù hợp ngay cả khi người thân không tương thích Giáo sư Al Roth từ Đại học Stanford, người đoạt giải Nobel năm 2012, đã cứu sống hàng ngàn người nhờ vào nghiên cứu áp dụng thuật toán này Đồ thị là một cấu trúc rời rạc bao gồm các đỉnh và các cạnh nối giữa chúng, thể hiện mối quan hệ giữa các đỉnh tùy thuộc vào bài toán mà mô hình đồ thị đang được sử dụng.

Mô hình đồ thị có thể được sử dụng để biểu diễn bài toán du lịch giữa các thành phố, trong đó mỗi đỉnh đại diện cho một thành phố, thường được đánh số hoặc đặt tên bằng chữ cái từ A đến Z Nếu có cạnh nối giữa hai đỉnh, điều này cho thấy có đường đi giữa hai thành phố đó Đồ thị vô hướng được sử dụng khi đường đi là hai chiều, trong khi đồ thị có hướng được áp dụng khi xét đến yếu tố chiều của đường đi Nếu mỗi cạnh có thuộc tính giá trị số biểu diễn chiều dài đường đi, đây được gọi là đồ thị có trọng số.

Hình 2.1 Đồ thị vô hướng: cung nối giữa hai nút là vô hướng (kết nối giữa các nút là hai chiều)

Mô hình dữ liệu Đồ thị có hướng và có trọng số được minh họa trong hình 2.2, với các mũi tên chỉ hướng của cung nối giữa hai nút, thể hiện kết nối một chiều Các giá trị trọng số của cung được đưa ra như là ví dụ, giúp làm rõ đặc điểm của mô hình lý thuyết đồ thị đã được giới thiệu.

- Đỉnh chỉ có một số thứ tự hoặc một chữ cái để đặt tên cho nút

Cạnh trong đồ thị chỉ có một trọng số và được đặt tên theo hai đỉnh mà nó nối Ví dụ, cạnh nối giữa đỉnh A và đỉnh B có thể được gọi là cạnh AB Nếu đỉnh A được đánh số 1 và đỉnh B được đánh số 2, thì cạnh này cũng có thể được gọi là cạnh 12.

Mô hình lý thuyết hiện tại vẫn chưa đủ phức tạp để đại diện cho một đồ thị tri thức như mong muốn Cần phải mở rộng thêm các khái niệm và thuộc tính của các đỉnh và cạnh trong đồ thị để đảm bảo khả năng biểu diễn tri thức con người một cách đầy đủ và hiệu quả.

ĐỒ THỊ TRI THỨC (KNOWLEDGE GRAPH)

Trong một biểu diễn tri thức dựa trên đồ thị, các thực thể được biểu diễn dưới dạng các nút và được kết nối bằng các quan hệ, tương ứng với các cạnh của biểu đồ Ví dụ, một thực thể như Shakespeare có thể có mối quan hệ với một tác phẩm như Hamlet Các thực thể này có thể thuộc các loại khác nhau, tức là các class khác nhau, và mỗi thực thể có thể thiết lập nhiều mối quan hệ với các thực thể khác, phản ánh các ngữ nghĩa trong thực tế, như việc Shakespeare là một nhà văn và Hamlet là một vở kịch.

Mỗi nút trong đồ thị đại diện cho một lớp đối tượng, với nhãn của nút tương ứng là tên của lớp đó Các lớp trong lược đồ có thể sở hữu nhiều thuộc tính khác nhau.

Có hai loại thuộc tính:

+ Thuộc tính là một giá trị (các kiểu dữ liệu cơ bản: String, Number, Date, Boolean…) thì đƣợc biểu diễn thành một thuộc tính dữ liệu của nút đó

Thuộc tính được định nghĩa là một mối quan hệ giữa một thực thể và một thực thể khác thuộc một lớp khác Mối quan hệ này được thể hiện qua một cung nối giữa hai thực thể, trong đó tên của thuộc tính chính là tên của mối quan hệ đó.

Hình 2.3 minh họa một đồ thị tri thức với ba lớp khác nhau: nút màu xanh dương đại diện cho "Person", nút màu đỏ biểu thị cho "Company", và nút màu xanh lá thể hiện "Technology".

Nút tên Join đại diện cho một người (Person), nút tên Graph biểu thị một kỹ thuật (Technology), và nút tên Neo4j là tên của một công ty (Company).

A person can have multiple friends (IS_FRIENDS_WITH) and various interests in technology (LIKES), but typically works for a single company (WORKS_FOR).

Mỗi nút trong hệ thống đại diện cho một lớp, với màu sắc của nút thể hiện loại nhãn tương ứng Các nút mang nhãn "Person" được kết nối với thuộc tính của chúng thông qua các cung biểu diễn mối quan hệ bạn bè (IS_FRIENDS_WITH), sở thích công nghệ (LIKES) và công việc (WORKS_FOR).

Trong ví dụ này, các nút có thể có thuộc tính giá trị, biểu diễn tên của nút, hoặc thuộc tính quan hệ, kết nối với các nút khác thông qua các cung thể hiện mối quan hệ Để mô tả các lớp đối tượng trong đồ thị và mối quan hệ kế thừa giữa các lớp, chúng ta sử dụng một lược đồ (schema) Lược đồ không chỉ mô tả các thuộc tính giá trị của từng lớp mà còn thể hiện các thuộc tính quan hệ giữa các lớp Mỗi đồ thị tri thức cần có một lược đồ để quản lý dữ liệu một cách hiệu quả, bao gồm các thao tác thêm, xóa, cập nhật và truy xuất.

Tất cả các khái niệm trên tạo thành một Topology của đồ thị tri thức

Knowledge Graph là một mô hình đồ thị lý tưởng để biểu diễn các mối quan hệ phức tạp giữa các đối tượng trong tự nhiên.

Hiện tại, chưa có định nghĩa chính thức về đồ thị tri thức, nhưng có thể xác định một số đặc điểm tối thiểu của nó như sau:

1 Đồ thị tri thức chủ yếu mô tả các thực thể trong thế giới thực và mối liên hệ của chúng, được tổ chức lưu trữ trong một mô hình đồ thị

2 Định nghĩa các lớp và quan hệ có thể có của các thực thể trong một lƣợc đồ (schema)

3 Cho phép các thực thể tùy ý có khả năng liên quan với nhau

4 Có thể mở rộng bao gồm các lĩnh vực chủ đề khác nhau

Tiêu chí đầu tiên xác định trọng tâm của đồ thị tri thức, trong khi tiêu chí thứ hai chuẩn hóa các mối quan hệ, đối tượng, thực thể và thuộc tính của chúng Schema của đồ thị tri thức làm cho mô hình trở nên rõ ràng hơn, đóng vai trò quan trọng trong việc tổ chức, mở rộng và truy xuất thông tin từ dữ liệu trong đồ thị.

Tiêu chí thứ ba và thứ tư nhấn mạnh khả năng mở rộng của đồ thị tri thức, cho phép kết nối dữ liệu từ nhiều miền khác nhau Khác với cơ sở dữ liệu quan hệ, nơi việc liên kết các tập dữ liệu thường gặp khó khăn do tính phức tạp, đồ thị tri thức cho phép các thực thể trong một miền kết nối linh hoạt với các thực thể trong nhiều miền khác, mở rộng khả năng khai thác và sử dụng dữ liệu trong thế giới thực.

Schema.org

Schema.org là một sáng kiến cộng đồng nhằm phát triển và duy trì các lược đồ cho dữ liệu có cấu trúc trên Internet, bao gồm cả trên các trang web và trong email Mục tiêu của nó là quảng bá việc sử dụng dữ liệu có cấu trúc để cải thiện khả năng hiểu biết và hiển thị thông tin trên mạng.

Từ vựng Schema.org hỗ trợ nhiều bảng mã như RDFa, Microdata và JSON-LD, bao gồm tên thực thể, mối quan hệ giữa chúng và các sự kiện có thể mở rộng qua mô hình ghi chép Hơn 10 triệu trang web áp dụng Schema.org để chuẩn hóa dữ liệu trên trang và email của họ Nhiều ứng dụng của Google, Microsoft, Pinterest và Yandex đã sử dụng từ vựng này để cải thiện trải nghiệm dữ liệu Được thành lập bởi Google, Microsoft, Yahoo và Yandex, Schema.org phát triển qua quy trình cộng đồng mở, thông qua danh sách gửi thư công khai và GitHub.

Hình 2.4 minh họa "cây kế thừa" các lớp của lược đồ từ schema.org, trong khi Hình 2.5 cung cấp ví dụ về các thuộc tính giá trị và thuộc tính quan hệ của một lớp trong schema.org.

Hình 2.4 Một ví dụ về “cây kế thừa” giữa các lớp đối tượng (class) trên trang schema.org

Hình 2.5 Một ví dụ về bảng mô tả các thuộc tính của một lớp đối tượng có tên là

Person là con của lớp Thing (theo Shcema.org)

CƠ SỞ DỮ LIỆU ĐỒ THỊ NEO4J

Neo4j là cơ sở dữ liệu đồ thị mã nguồn mở, được phát triển bằng Java và Scala, do Neo Technology tài trợ Ra mắt vào năm 2007, Neo4j đã thu hút hàng ngàn công ty và tổ chức sử dụng trong nhiều lĩnh vực như quản lý mạng, phân tích phần mềm, nghiên cứu khoa học, định tuyến và mạng xã hội.

Neo4j là hệ quản trị cơ sở dữ liệu đồ thị phổ biến nhất hiện nay, hỗ trợ nhiều ngôn ngữ lập trình thông dụng như Java, Net, JavaScript, Python và Ruby.

Công ty Neo4j, có trụ sở tại San Mateo, Hoa Kỳ, với văn phòng tại Thụy Điển, Anh và Đức, tự hào với slogan “We Help the World Make Sense of Data” Neo4j được biết đến là một trong những cơ sở dữ liệu đồ thị mạnh mẽ nhất, với kiến trúc tối ưu cho việc quản lý, lưu trữ và truy cập các nút cùng mối quan hệ của chúng Cơ sở dữ liệu này đảm bảo hiệu năng và thời gian xử lý bằng cách tiếp cận theo cả hai hướng Neo4j có thể được triển khai như một máy chủ độc lập hoặc mở rộng trên nhiều máy trong một cụm máy chủ Ngôn ngữ truy vấn của Neo4j, Cypher, là một ngôn ngữ truy vấn mô tả dành riêng cho đồ thị.

Neo4j cung cấp hai phiên bản: Community Edition miễn phí và Enterprise Edition, hiện cũng miễn phí cho các Startup có dưới 50 nhân viên và doanh thu dưới 3 triệu USD/năm Phần mềm này có thể chạy trên Windows, Linux và MacOS Trong Neo4j, các đối tượng được thể hiện dưới dạng các đỉnh (nút) trong đồ thị, với các thuộc tính mô tả đặc điểm của nút và mối quan hệ giữa các đối tượng được biểu diễn bằng các liên kết có hướng (cạnh) giữa các nút.

Nút có thể được gán nhãn, cho phép một nút không có nhãn hoặc có nhiều nhãn Những nút cùng nhãn có thể được coi là thuộc về một bảng tương ứng trong cơ sở dữ liệu quan hệ.

Cung được xác định bằng một tên duy nhất, thể hiện mối quan hệ giữa hai nút mà nó kết nối Cung có thể mang thuộc tính, phản ánh các đặc điểm của mối quan hệ mà nó đại diện.

Mỗi nút trong mô hình đại diện cho một học sinh, với tên của học sinh là thuộc tính của nút Các đối tượng học sinh được gán nhãn là Student, tương ứng với bảng Student trong cơ sở dữ liệu quan hệ Mối quan hệ “knows” giữa các học sinh được thể hiện qua các cung nối, trong đó thuộc tính của cung là ngày mà hai nút bắt đầu quen biết nhau.

Trong cơ sở dữ liệu quan hệ, có một nhóm được đánh dấu là "Chess", tương ứng với một bảng khác Quan hệ "is_member" đại diện cho tên của cung, trong khi thuộc tính của cung này là ngày gia nhập nhóm Chess.

Hình 2.6 minh họa một Graph Database Neo4j, thể hiện mối quan hệ giữa các thực thể dữ liệu Trong đó, "Student" là nhãn của nút, mỗi nút sở hữu nhiều thuộc tính, với ID dùng để phân biệt các nút Mối quan hệ giữa hai nút được biểu diễn bằng cung, có thể có nhãn là tên mối quan hệ và nhiều thuộc tính để mô tả chi tiết hơn về mối quan hệ đó.

Từ biểu diễn đồ thị nhƣ hình 6, ta có thể “dịch” sang ngôn ngữ tự nhiên nhƣ:

- Sinh viên Alice có tuổi là 18; biết sinh viên Bob (22 tuổi) vào ngày 03/10/2001

- Cả Alice và Bob là thành viên của Grouph Chess Alice gia nhập vào ngày 01/7/2005 và Bob là ngày 04/02/2011

Mô hình cơ sở dữ liệu Neo4j cho thấy sự tương đồng giữa thiết kế logic và thực hiện vật lý, đồng thời phù hợp để biểu diễn đồ thị tri thức như đã nêu.

Cơ sở dữ liệu đồ thị, đặc biệt là Neo4j, rất phù hợp cho các mô hình có dạng kết nối giữa các đối tượng Khi làm việc với cơ sở dữ liệu tri thức chứa nhiều mối quan hệ phức tạp, mô hình này cho phép biểu diễn hiệu quả và trực quan các dữ liệu liên quan.

2.4.2 Tóm tắt các qui tắc khi xây dựng dữ liệu đồ thị Neo4j

Neo4j đã phát triển lý thuyết đồ thị bằng cách sử dụng nhãn cho các nút, cùng với các thuộc tính của nút và thuộc tính của các mối quan hệ Quy tắc về nút trong đồ thị Neo4j là một yếu tố quan trọng trong việc tổ chức và quản lý dữ liệu.

Hình 2.7 Qui tắc tạo một nút trong Neo4j

Nguồn: https://huynt0915.wordpress.com/

- Các nút thường được dùng để biểu diễn các thực thể Nút có các thuộc tính, các nút cũng có thể đƣợc dán nhãn với không hoặc nhiều nhãn

- Các nút nối nhau qua các “mối quan hệ” b/ Qui tắc về cung biểu diễn quan hệ trong đồ thị (hình 2.8):

Hình 2.8 Qui tắc tạo một cung (quan hệ) trong Neo4j Nguồn: https://huynt0915.wordpress.com/

- Một mối quan hệ kết nối hai nút với nhau, gồm nút bắt đầu và nút kết thúc

- Mỗi mối quan hệ có loại quan hệ (relationship type), đƣợc xác định bởi một định danh duy nhất Có thể đƣợc xem là nhãn của mối quan hệ

- Một mối quan hệ có thể có các thuộc tính

Mối quan hệ trong một đồ thị luôn có hướng, thể hiện quan hệ đầu vào (incoming) và đầu ra (outgoing) của một nút Quy tắc về thuộc tính của nút hoặc cung trong đồ thị là yếu tố quan trọng cần lưu ý.

Hình 2.9 Qui tắc của một thuộc tính trong Neo4j Nguồn: https://huynt0915.wordpress.com/

- Cả node và relationship đều có tập các thuộc tính (properties)

- Property là cặp key – value trong đó key có kiểu là String

- Value có thể là: mảng các kiểu nguyên thủ hoặc một kiểu nguyên thủy nhƣ: kiểu số, kiểu chuỗi, kiểu luận lý

- Nếu một properties có value = null nghĩa là không tồn tại key đó d/ Qui tắc về nhãn của nút (hình 2.10):

Hình 2.10: Qui tắc nhãn của một nút trong Neo4j Nguồn: https://huynt0915.wordpress.com/

- Tất cả các node có nhãn giống nhau cùng thuộc về một bộ (giống table trong SQL nhƣng khác ở khái niệm một nút có thể có nhiều nhãn)

Nhiều truy vấn cơ sở dữ liệu có khả năng xử lý các bộ (một phần của đồ thị) thay vì toàn bộ đồ thị, giúp cải thiện hiệu suất truy cập dữ liệu ngay cả khi đồ thị tri thức có dung lượng rất lớn.

- Một nút có thể có nhiều nhãn, nhãn là không bắt buộc phải có.

SEMANTIC WEB VÀ LINKED DATA

Semantic Web là một sáng kiến do tổ chức W3C dẫn dắt, nhằm mục đích làm cho nội dung trên web có thể hiểu được bởi các phần mềm máy tính Dự án này tập trung vào việc chuyển đổi các nội dung web hiện tại, chủ yếu là các văn bản không có cấu trúc hoặc bán cấu trúc, thành các thông tin có ngữ nghĩa rõ ràng.

Dữ liệu web, hay còn gọi là dữ liệu có ngữ nghĩa, thường cần các thuật toán phân tích thông tin và công nghệ xử lý văn bản để máy tính có thể hiểu Công cụ tìm kiếm sử dụng web spider để phát hiện và phân tích các trang web mới, nhằm hiểu nội dung và lưu trữ thông tin quan trọng Khi người dùng tìm kiếm thông tin bằng từ khóa, nếu từ khóa khớp với các từ quan trọng trên trang, trang đó sẽ được hiển thị trong kết quả Tuy nhiên, phương pháp này có hạn chế về ngữ nghĩa do sự đa nghĩa của từ, dẫn đến kết quả không chính xác Hơn nữa, việc phân tích văn bản để hiểu nội dung cũng không đảm bảo độ chính xác cao, đặc biệt khi đối mặt với khối lượng thông tin khổng lồ trên web Để các trang web có được thông tin ngữ nghĩa chính xác, người cung cấp nội dung nên là người viết thông tin ngữ nghĩa, vì họ hiểu rõ nhất những thông tin quan trọng của trang.

Semantic Web là công cụ giúp máy tính "hiểu" dữ liệu trên web thông qua ngôn ngữ chuẩn, cho phép biểu diễn thông tin ngữ nghĩa Nó chuyển đổi nội dung web hiện tại, chủ yếu là văn bản không có cấu trúc hoặc bán cấu trúc, thành "dữ liệu web có ngữ nghĩa" mà phần mềm máy tính có thể tự động xử lý.

“hiểu” và xử lý đƣợc nó

The Beatles là một ban nhạc nổi tiếng của thành phố Liverpool

John Lennon là một thành viên của The Beatles

Bản nhạc “Hey Dude” do nhóm The Beatles trình bày

Semantic Web giúp máy tính hiểu được nghĩa của nội dung, từ đó tìm ra thông tin chính xác hơn so với web hiện tại Năm 2006, Berners-Lee và đồng nghiệp đã nhấn mạnh rằng mặc dù đây là một ý tưởng đơn giản, nhưng phần lớn vẫn chưa được thực hiện Để máy có thể hiểu tri thức, cần sử dụng các ngôn ngữ như RDFa, Microdata, JSON-LD để biểu diễn ngữ nghĩa của nội dung trên web.

Hình 2.11- Một ví dụ mã HTML nội dung trên web cần chuyển đổi để máy tính có thể “hiểu” được

Hình 2.12 Ví dụ chuyển đổi mã HTML nội dung trên web của hình 2.11 sang định dạng Microdata

Fondue for Fun and Fantasy

Fantastic and fun for all your cheesy occasions.

Open: Daily from 11:30am till 11pm

View our menu.

Fondue for Fun and

Fantastic and fun for all your cheesy occasions.

Open: Daily from 11:30am till 11pm

Phone: 555-0100-3333

View our menu.

Hình 2.13 Ví dụ chuyển đổi mã HTML nội dung trên web hình 2.11 sang định dạng

Hình 2.14 Ví dụ chuyển đổi mã HTML trên web hình 2.11 sang định dạng JSON-RD

Việc ngữ nghĩa hóa các trang web cần được thực hiện từ hai phía: công cụ tìm kiếm như Google phải áp dụng công nghệ tìm kiếm ngữ nghĩa, trong khi đó, các website cần mô hình hóa thông tin thành dữ liệu ngữ nghĩa Hiện tại, Wikipedia đã hoàn tất việc chuyển đổi toàn bộ dữ liệu của mình sang định dạng dữ liệu ngữ nghĩa.

"name": "Fondue for Fun and Fantasy",

1 "description": "Fantastic and fun for all your cheesy occasions",

"openingHours": "Mo,Tu,We,Th,Fr,Sa,Su 11:30-

"hasMenu": "http://example.com/menu"

Fondue for Fun and

Fantastic and fun for all your cheesy occasions.

Open: Daily from 11:30am till 11pm

Phone: 555-0100-3333

View our menu.

Công nghệ web ngữ nghĩa bắt đầu với việc xây dựng lược đồ mô tả các lớp đối tượng và thuộc tính, thiết lập mối quan hệ trong ontologies cho các định danh đối tượng số Mục tiêu chính là tạo ra dữ liệu nhất quán và mạch lạc dựa trên các lớp đối tượng và thuộc tính thống nhất.

Semantic Web sử dụng các định dạng phổ biến để mô tả dữ liệu, cho phép tích hợp và kết hợp thông tin từ nhiều nguồn khác nhau thông qua Linked Data Điều này tạo ra một mạng lưới thông tin liên kết, giúp máy tính có thể xử lý dữ liệu một cách dễ dàng trên toàn cầu Vì vậy, Semantic Web được xem như một cơ sở dữ liệu toàn cầu, mở ra khả năng xây dựng thư viện dữ liệu khổng lồ.

Web 3.0 vẫn chưa có định nghĩa cụ thể, nhưng Semantic Web được coi là một trong những công nghệ quan trọng góp phần hình thành nên nó Hiện tại, Semantic Web được xem là một định nghĩa phổ biến cho Web 3.0.

Web 3.0 đánh dấu sự chuyển mình quan trọng trong phương thức phát triển và tương tác của người dùng với các trang web.

Mô hình tương tác Web 3.0 mang đến cuộc sống trực tuyến dễ dàng và trực quan hơn, nhờ vào các ứng dụng thông minh với chức năng tìm kiếm cải tiến, giúp người dùng tìm thấy chính xác những gì họ cần Web 3.0 giống như một trợ lý trí tuệ nhân tạo, hiểu rõ người dùng và cá nhân hóa mọi trải nghiệm.

Semantic Web không chỉ đơn thuần là việc gán ngữ nghĩa cho dữ liệu trên web, mà còn tạo ra các liên kết (Linked Data) giữa các đối tượng từ nhiều nguồn tài nguyên khác nhau, giúp người dùng và máy tính có thể dễ dàng khám phá và khai thác dữ liệu.

Dữ liệu khai thác đã mở rộng và bổ sung kết quả tìm kiếm từ nhiều nguồn khác nhau Với dữ liệu liên kết, người dùng có thể tìm thấy thông tin có liên quan khi đã có một số dữ liệu ban đầu Linked Data sử dụng công nghệ Web ngữ nghĩa để xuất bản dữ liệu có cấu trúc trên Internet và thiết lập liên kết giữa các nguồn dữ liệu khác nhau.

Hình 2.15 liên kết giữa các mục dữ liệu trên web ngữ nghĩa

Nguyên tắc của Linked data:

1 Sử dụng URIs là tên cho các đối tƣợng (things)

2 Sử dụng HTTP URIs để con người hay máy có thể tìm các tên này

3 Khi một người tìm một URI, thì cung cấp thông tin (bằng ngôn ngữ RDF) hữu ích về đối tƣợng đó

4 Đồng thời bao gồm các phát biểu RDF mà liên kết với các URI khác để người đó có thể phát hiện, khai phá các đối tượng liên quan

Google collects Linked Data using RDFa descriptions and Microformats for the Social Graph API, leveraging this data to enhance search results for reviews and improve user experience.

Hình 2.16 minh họa Linked Data Object (LOD), trong đó mỗi đồ thị với các nút cùng màu đại diện cho dữ liệu của một web ngữ nghĩa Sự kết nối giữa các web ngữ nghĩa không chỉ làm phong phú thêm dữ liệu mà còn có thể dẫn đến tình trạng trùng lặp hoặc sự khác biệt về nghĩa của cùng một loại dữ liệu.

Nguồn: https://blogstats.wordpress.com/

Knowledge Graph của Google áp dụng kiến thức ngữ nghĩa trong tìm kiếm trên Semantic Web, liên kết dữ liệu để xây dựng đồ thị tri thức Điều này tạo ra một mô hình mô phỏng mối quan hệ phong phú trong thế giới thực, phù hợp với ngôn ngữ tự nhiên Nhờ vậy, hệ thống của Google có khả năng kết hợp các thông tin về con người, địa điểm và dữ kiện, mang đến kết quả tìm kiếm chính xác và liên kết chặt chẽ hơn.

KẾT CHƯƠNG

Chương hai trình bày lý thuyết về đồ thị và cách sử dụng đồ thị để mô phỏng các liên kết dữ liệu phong phú, phù hợp với ngôn ngữ tự nhiên thông qua cơ sở dữ liệu đồ thị, từ đó phát triển thành đồ thị tri thức Bài viết cũng giới thiệu cơ sở dữ liệu đồ thị Neo4j, được sử dụng làm minh họa trong luận văn Hơn nữa, chương này còn đề cập đến cây biểu diễn Schema của tri thức trong đồ thị và cấu trúc của nó, dựa theo trang Schema.org - một nền tảng cộng đồng nhằm duy trì và quảng bá các lược đồ cho dữ liệu có cấu trúc trên Internet.

Chương hai trình bày phương pháp thu thập dữ liệu vào đồ thị tri thức thông qua web ngữ nghĩa, đồng thời giới thiệu khái niệm Linked Data Khái niệm này giúp liên kết dữ liệu từ các web ngữ nghĩa khác nhau, nhằm mở rộng và làm phong phú thêm dữ liệu để phát triển thành một đồ thị tri thức toàn diện.

PHƯƠNG PHÁP XÂY DỰNG LƯỢC ĐỒ CỦA ĐỒ THỊ TRI THỨC

GIỚI THIỆU LƢỢC ĐỒ TRI THỨC

Trong thế giới thực, các thực thể được phân loại thành các đối tượng, với mỗi thực thể thuộc về một đối tượng cụ thể Đặc điểm của từng thực thể được thể hiện qua các thuộc tính (property) tương ứng của đối tượng đó.

Khu di tích mộ cụ Nguyễn Đình Chiểu, tọa lạc tại xã An Đức, huyện Ba Tri, tỉnh Bến Tre, là một địa điểm quan trọng thuộc đối tượng Place Địa chỉ này chính là thuộc tính dia_chi của khu di tích.

Khách sạn Hàm Luông tại Bến Tre là một khách sạn đạt tiêu chuẩn 3 sao, thể hiện chất lượng dịch vụ và tiện nghi phù hợp với tiêu chí của một khách sạn đẳng cấp.

Tài sản của đối tượng có thể được mô tả bằng cặp thuộc tính – giá trị, trong đó thuộc tính là kiểu dữ liệu cơ bản như Text, Number, Date, hoặc Boolean Ví dụ, thuộc tính "mo_ta" có thể có giá trị là "khách sạn 3 sao".

Property có thể là một kết nối (quan hệ) đến một đối tƣợng khác có các property riêng của đối tƣợng đó, ví dụ:

Mỗi đối tượng trong hệ thống có khả năng kế thừa thuộc tính từ một đối tượng cao hơn, được gọi là đối tượng cha Chẳng hạn, đối tượng Hotel có đối tượng cha là LocalBusiness, thể hiện mối quan hệ giữa các loại hình doanh nghiệp.

Các quan hệ “kế thừa” giữa các đối tƣợng tạo thành cây đối tƣợng và cao nhất trên cây là đối tƣợng Thing (một điều gì đó)

Cây tri thức kế thừa các đối tượng, mỗi đối tượng có thuộc tính và kết nối với các đối tượng khác, tạo thành lược đồ mô tả tri thức về thế giới thực Tất cả thực thể trong thế giới thực có thể ánh xạ vào lược đồ tri thức, mô tả chung về loại dữ liệu, đặc điểm và quan hệ với các thực thể khác Bản thể luận (Ontology) của các thực thể bao gồm loại dữ liệu, thuộc tính và quan hệ, cũng như các hành vi, định lý, định nghĩa và luật suy diễn, tuy nhiên, những khía cạnh này không nằm trong phạm vi của luận văn này.

Mục tiêu của lược đồ tri thức là mô tả mối quan hệ giữa các thực thể trong thế giới thực, nhằm hiểu rõ các quan hệ giữa chúng Các đối tượng được mô tả trong lược đồ bao gồm người, địa điểm, sự kiện và hoàn cảnh.

Lược đồ tri thức mà chúng tôi xây dựng trong luận văn này dựa trên Schema.org, một sáng kiến hợp tác giữa Google, Microsoft, Yahoo và Yandex Schema.org có sứ mệnh tạo, duy trì và quảng bá lược đồ cho dữ liệu có cấu trúc trên Internet, bao gồm các trang web và thư email Đây là một nền tảng mở, hoạt động theo nguyên tắc cộng tác cộng đồng nhằm mô tả và tổ chức dữ liệu tri thức của con người một cách hiệu quả.

Xây dựng lược đồ tri thức tiếng Việt theo mô hình này sẽ đảm bảo tính tương thích với tri thức toàn cầu và khả năng mở rộng trong tương lai.

Trong bài viết này, chúng tôi tập trung vào việc lựa chọn các đối tượng và thuộc tính liên quan đến lĩnh vực du lịch tại Việt Nam Chúng tôi giữ nguyên tên tiếng Anh của các đối tượng để thuận tiện cho lập trình, đồng thời bổ sung các thuộc tính tiếng Anh đặc thù và Việt hóa chúng để hiển thị trong kết quả tìm kiếm Để đảm bảo tính khả dụng trong tương lai, chúng tôi cũng lưu trữ các tên gốc tiếng Anh của thuộc tính trong một bảng dữ liệu riêng, giúp dễ dàng tra cứu trên schema.org và mở rộng mô hình thực nghiệm mà vẫn đảm bảo sự tương thích giữa tên thuộc tính tiếng Việt và tiếng Anh.

CÂY ĐỐI TƢỢNG CỦA LƢỢC ĐỒ TRI THỨC

Các đối tƣợng của lƣợc đồ tri thức về du lịch mà chúng tôi chọn lọc xây dựng gồm cây đối tƣợng sau:

Hình 3.1 –Biểu diễn cây đối tượng lược đồ tri thức dạng bảng Đối tượng nằm bên phải có “cha” là đối tượng tương ứng cột bên trái nó

Hình 3.2a – Cây đối tượng lược đồ tri thức

Audience Brand BedDetails Enumeration DayOfWeek Demand

Hình 3.2b – Cây đối tượng lược đồ tri thức (tt)

Một điểm quan trọng cần lưu ý là một số đối tượng có thể vừa là con của một đối tượng này vừa là con của một đối tượng khác Chẳng hạn, đối tượng LocalBusiness (doanh nghiệp) vừa là con của Organization (tổ chức) vừa là con của Place (địa điểm) Đây là một đặc điểm đa hình trong lập trình hướng đối tượng, nhưng nó đặc biệt hơn vì phá vỡ nguyên tắc kế thừa, khi mà một đối tượng con chỉ có thể kế thừa từ một đối tượng cha trong nhiều ngôn ngữ lập trình hướng đối tượng, ngoại trừ Python.

MÔ TẢ CHI TIẾT CÁC ĐỐI TƢỢNG TRONG CÂY ĐỐI TƢỢNG LƢỢC ĐỒ TRI THỨC

Để phát triển cây đối tượng lược đồ tri thức, chúng tôi đã lựa chọn và mô tả một số đối tượng trong cây lược đồ, sau đó lưu trữ thông tin này dưới dạng bảng Excel.

Trong cây lược đồ tri thức thực nghiệm, tổng số đối tượng là 49, đi kèm với 49 bảng mô tả chi tiết về các đối tượng và thuộc tính của chúng (PHỤ LỤC) Chúng tôi đã lưu trữ trong file excel tên tiếng Anh gốc cùng với tên tiếng Việt tương ứng cho từng đối tượng và thuộc tính trong lược đồ Để minh họa cho các bảng dữ liệu đã thu thập, xin xem xét hai bảng dữ liệu cụ thể sau đây.

* Ví dụ bảng mô tả đối tượng Thing: Đối tƣợng Thing (Chung)

Object Đối tƣợng Giải thích về đối tƣợng Đối tƣợng cha Đối tƣợng cha 2

Thing Chung Kiểu chung nhất của đối tƣợng

Property Type Object_Type Tên thuộc tính Mô tả alternateName Text Bi_danh Một bí danh cho các Item

Description Text Mo_ta mô tả cho Item

Image ImageObject Ảnh Ảnh cùa Item image_Url URL URL_ảnh Link trỏ đến ảnh

The item is identified by its name and URL, which directs to its webpage It is associated with a creative work and is also linked to an event related to this subject.

Ghi chú: Đối tượng Thing cao nhất trong cây lược đồ nên không có Parent

* Ví dụ bảng mô tả đối tượng Place: Đối tƣợng Place (Địa điểm)

Object Đối tƣợng Giải thích về đối tƣợng Đối tƣợng cha Đối tƣợng cha 2

Place Dia_diem Vị trí cố định của một địa điểm Thing

Property Type Object_Type Tên thuộc tính Mô tả

Address Text PostalAddress Bi_danh Một bí danh cho các Item

Geo GeoCoordinates Mo_ta mô tả cho Item

Latitude Text Ảnh Ảnh cùa Item

Longitude Text URL_ảnh Link trỏ đến ảnh openingHoursSpecification OpeningHoursSpecification Ten tên của Item

The article discusses the integration of telephone services with tour booking pages, highlighting the importance of a dedicated website for each destination It emphasizes the role of creative works related to these places and events, showcasing how they enhance the overall travel experience.

* Giải thích bảng mô tả đối tượng:

Object: tên tiếng Anh của đối tƣợng Đối tƣợng: tên tiếng Việt của đối tƣợng

Đối tượng trong lập trình được hiểu là một thực thể có thể kế thừa từ các đối tượng cha, trong đó đối tượng cha đầu tiên là đối tượng mà nó trực tiếp kế thừa, và đối tượng cha thứ hai là đối tượng mà nó kế thừa gián tiếp Đặc điểm này, được gọi là đa hình, cho phép một đối tượng kế thừa từ hai đối tượng cha độc lập, mặc dù chỉ có một số ít đối tượng có khả năng này Ví dụ điển hình cho trường hợp này là đối tượng LocalBusiness, như đã mô tả trong hình 18.

Property: thuộc tính của đối tƣợng Thuộc tính có thể là một String, Number,

Date, Boolean hoặc có thể là một đối tƣợng

Type: kiểu dữ liệu chuẩn của property, có thể là: Integer, Text, Date,

Object_Type: kiểu dữ liệu của property là một đối tƣợng khác trong cây lƣợc đồ (đã nêu ở trên)

Do sự phức tạp của các thực thể trong tự nhiên, lược đồ cần phải phản ánh đa dạng các kiểu dữ liệu của thuộc tính thực thể Có ba trường hợp đặc biệt cần lưu ý.

1 Một property (thuộc tính) có thể đƣợc mô tả bởi hai kiểu dữ liệu chuẩn Ví dụ: giờ mở cửa có thể là Text hoặc cũng có thể là Datetime

2 Một thuộc tính vừa có kiểu dữ liệu chuẩn, vừa có kiểu là một đối tƣợng khác Ví dụ: địa chỉ của một điểm du lịch có thể là kiểu Text hoặc có thể là kiểu PostalAddress (một đối tƣợng mô tả trong lƣợc đồ)

3 Một thuộc tính có thể có hai kiểu là hai đối tƣợng trong cây lƣợc đồ Ví dụ: thuộc tính subjectOf trong bảng đối tƣợng Thing ở trên vừa có thể là một CreativeWork vừa có thể là một Even

Trong bài viết này, chúng tôi sẽ tập trung vào trường hợp 2 và 3 của cây lược đồ, trong khi trường hợp 1 không được xem xét do chỉ yêu cầu một kiểu chuẩn Để chuyển đổi kiểu trong Python, người dùng có thể áp dụng các phương pháp thích hợp Tuy nhiên, việc xem xét trường hợp 2 và 3 đã làm cho thuật toán trên cây lược đồ trở nên phức tạp hơn, yêu cầu quy ước rõ ràng hơn trong quá trình thu thập dữ liệu Nội dung chi tiết sẽ được trình bày trong phần tiếp theo, bao gồm việc chuyển đổi các bảng mô tả đối tượng thành cây lược đồ trong Neo4j, cũng như trong chương sau về cách thu thập dữ liệu vào đồ thị tri thức dựa trên cây lược đồ.

Tên thuộc tính: Tên tiếng Việt của thuộc tính (không khoảng trắng, tuân theo quy ƣớc đặt tên property của ngôn ngữ Cypher)

Mô tả: giải thích rõ hơn về thuộc tính, cột này dành cho người lập trình phát triển hệ thống, không sử dụng trong luận văn này

Các bảng mô tả các đối tƣợng minh họa còn lại trong lƣợc đồ xin xem PHỤ LỤC.

CHUYỂN CÁC BẢNG MÔ TẢ CÁC ĐỐI TƢỢNG THÀNH CÂY LƢỢC ĐỒ TRONG NEO4J

Mỗi đối tượng trong lược đồ được mô tả chi tiết trong bảng mô tả, bao gồm đầy đủ các thuộc tính (property), kiểu dữ liệu của các thuộc tính, và các mối quan hệ giữa các đối tượng, trong đó một đối tượng có thể là thuộc tính của đối tượng khác Bảng cũng nêu rõ mối quan hệ kế thừa giữa các đối tượng theo cấu trúc cha - con.

Dựa vào bảng mô tả, chúng ta có thể lập trình để đọc và chuyển đổi nội dung trong bảng thành các nút, thuộc tính của các nút, cũng như các cung nối thể hiện mối quan hệ giữa các đối tượng.

Cây lƣợc đồ tạo thành có đặc điểm nhƣ sau:

1 Mỗi đối tƣợng là một nút trong cây lƣợc đồ Ví dụ: đối tƣợng Place (địa điểm) là một nút trong cây

2 Các thuộc tính (Property) của một đối tƣợng có kiểu dữ liệu chuẩn (Text, Number, Date, Boolean) được lưu dưới dạng các property của một nút Ví dụ: dien_thoai có kiểu Text nên được lưu thành một property của nút trong Neo4j (mỗi property của nút là một cặp tên thuộc tính – giá trị) (hình 3.3)

“properties”: {“id”:12,“name”:”Place”, "dien_thoai":"Text",…}

Hình 3.3: Nút Place và các thuộc tính của nút

3 Các Property của đối tƣợng có kiểu dữ liệu là một đối tƣợng khác thì tạo ra một cung trỏ đến đối tượng tương ứng, tên của cung là tên của thuộc tính

Ví dụ: đối tƣợng Place có property dia_chi là một đối tƣợng PostalAddress

Hình 3.4: Property “dia_chi” của Place có kiểu dữ liệu là đối tượng PostalAddress

4 Mỗi nút đối tƣợng trong cây sẽ đƣợc gán NHÃN có tên là Luocdo dùng để phân biệt các nút đối tƣợng trong cây lƣợc đồ và các nút biểu diễn các thực thể dữ liệu có NHÃN là “Data” sẽ tạo ở chương IV

5 Hai nút có quan hệ cha – con sẽ có cung nối có tên là Parent

Hình 3.5: đối tượng Thing là “cha” của đối tượng Place trong cây lược đồ

Mục tiêu của việc xây dựng đồ thị mô tả cây lược đồ là giúp các thuật toán truy xuất dữ liệu trong đồ thị tri thức hiểu cách kiểm lỗi và cập nhật dữ liệu mới Điều này đảm bảo rằng thông tin trong đồ thị tri thức được duy trì chính xác theo lược đồ, đồng thời hỗ trợ việc tìm kiếm thông tin hiệu quả, như đã trình bày trong chương IV.

* Thuật toán chương trình Python thực hiện chuyển bảng mô tả đối tượng thành cây lược đồ trong Neo4j như sau:

Hình 3.6 Thuật toán chuyển lược đồ dạng bảng sang dữ liệu đồ thị

Nếu thuộc tính của đối tượng đang xem xét có kiểu dữ liệu là một đối tượng với kiểu giống như đối tượng của nút hiện tại (trỏ đến chính nó), thì thuộc tính này sẽ được ghi nhận là một thuộc tính của nút với kiểu dữ liệu là tên của chính đối tượng đó.

Khi đọc một sheet biểu diễn đối tượng, nếu các thuộc tính của nó trỏ đến một đối tượng chưa có trong cây, hệ thống sẽ tạo ra một nút rỗng để đại diện cho đối tượng mới Nút rỗng này chỉ có thuộc tính “name” là tên của đối tượng mới Sau đó, nút rỗng sẽ được bổ sung thêm thuộc tính khi đọc đến sheet tương ứng mô tả nó.

+ Trường hợp đọc một sheet mô tả đối tượng mà đã tạo trước đó thì nút đối tƣợng sẽ đƣợc cập nhật các thuộc tính, cung mới nếu có

Mở rộng lược đồ dữ liệu bằng cách thêm đối tượng, thuộc tính và quan hệ có thể thực hiện dễ dàng thông qua việc bổ sung các sheet tương ứng, nhằm cập nhật hoặc mở rộng miền dữ liệu hiện tại hoặc tạo ra một miền dữ liệu mới.

* Kết quả tạo cây lược đồ trong đồ thị Neo4j:

Hình 3.7 minh họa cây lược đồ trong Neo4j, thể hiện mối quan hệ cha – con giữa các lớp đối tượng, với nhãn "Parent", từ các bảng mô tả các đối tượng liên quan đến chủ đề du lịch mà chúng tôi đã xây dựng.

Cây lược đồ trong Neo4j hiển thị mối quan hệ cha – con giữa các lớp đối tượng, đồng thời biểu diễn các thuộc tính quan hệ với nhãn “Parent” và tên thuộc tính, dựa trên các bảng mô tả đối tượng liên quan đến chủ đề du lịch mà chúng tôi đã xây dựng.

KẾT CHƯƠNG

Chương ba trình bày phương pháp xây dựng lược đồ đồ thị tri thức liên quan đến du lịch trong thế giới thực, với lược đồ được biểu diễn dưới dạng cây đối tượng trong Neo4j Mỗi đối tượng bao gồm các thuộc tính và mối quan hệ, được mô tả chi tiết trong bảng Chúng tôi cũng mô tả thuật toán chuyển đổi các bảng mô tả đối tượng thành cây lược đồ trong đồ thị, trong đó các nút biểu diễn đối tượng và các cung biểu diễn mối quan hệ giữa chúng.

Trong chương này, lược đồ tri thức sẽ được áp dụng để đọc dữ liệu và biểu diễn tri thức về du lịch dưới dạng đồ thị Điều này sẽ hỗ trợ trong việc phát triển các thuật toán truy xuất dữ liệu cho chương tiếp theo.

Chương 4 – PHƯƠNG PHÁP THU THẬP VÀ TRUY XUẤT DỮ

LIỆU CỦA ĐỒ THỊ TRI THỨC DỰA VÀO LƯỢC ĐỒ

PHƯƠNG PHÁP THU THẬP DỮ LIỆU DỰA VÀO LƯỢC ĐỒ

4.1.1 Dạng thức dữ liệu đầu vào và cách biểu diễn dữ liệu dưới dạng đồ thị

Mục tiêu của việc xây dựng đồ thị tri thức là hệ thống hóa thông tin và tri thức của con người cùng với các mối quan hệ phức tạp trong thế giới thực Điều này được thực hiện thông qua một mô hình dữ liệu trên máy tính, giúp dễ dàng truy xuất và tìm kiếm thông tin Hệ thống có khả năng trả lời các câu hỏi của con người theo ngữ nghĩa, hiển thị thông tin phù hợp nhất Kết quả tìm kiếm được làm giàu với các liên kết trong mô hình đồ thị, cung cấp các kết quả và cụm từ tìm kiếm liên quan đến câu hỏi.

Dữ liệu trong thế giới thực thường được thu thập dưới dạng bảng với nhiều cột biểu diễn các thuộc tính của đối tượng cần khảo sát Những bảng dữ liệu này có thể được chuyển đổi thành đồ thị tri thức Tuy nhiên, do sự phong phú của các đối tượng, cần nhiều loại bảng với các cột dữ liệu khác nhau để mô tả từng thực thể, mỗi thực thể lại có số thuộc tính riêng biệt Chẳng hạn, đối với "địa điểm", mặc dù có những thuộc tính chung, nhưng tùy thuộc vào loại địa điểm, các thuộc tính mô tả sẽ khác nhau Địa điểm du lịch sẽ có các thuộc tính liên quan đến vẻ đẹp, trong khi di tích lịch sử lại được mô tả qua các thuộc tính về tính lịch sử và ý nghĩa Điều này tạo ra sự phức tạp trong việc thu thập dữ liệu tri thức và yêu cầu thiết kế nhiều thuật toán cùng chương trình máy tính để chuyển đổi chúng thành đồ thị tri thức.

Để thu thập dữ liệu vào đồ thị tri thức một cách hiệu quả, cần có phương án phù hợp Giải pháp đề xuất là mô tả dữ liệu dưới dạng các bộ ba (Triple) với hai trường hợp Trường hợp đầu tiên là mô hình dữ liệu có dạng Đối tượng → thuộc tính → giá trị.

Ví dụ: Đối tƣợng Thuộc tính Giá trị

NGUYENDINHCHIEU Ten Khu tưởng niệm cụ Nguyễn Đình Chiểu

“Danh nhân Nguyễn Đình Chiểu (1822 -

1888) là đại diện tiêu biểu cho tầng lớp sĩ phu yêu nước…”

Trường hợp (a) là một ví dụ đơn giản về dữ liệu được biểu diễn dưới dạng nút trên đồ thị, với đối tượng "KHU_TUONG_NIEM_CU_NGUYENDINHCHIEU" là tên của một nút Tên này đóng vai trò như khóa chính của dữ liệu, bên cạnh đó, khóa chính còn có thuộc tính ID được Neo4j tự động tạo ra.

Cặp Thuộc tính – Giá trị là một property của nút (hình 4.1)

Hình 4.1 minh họa một nút trong đồ thị thể hiện mối quan hệ giữa ba thành phần: Đối tượng, thuộc tính và giá trị Trong trường hợp thứ hai, mô hình dữ liệu thu thập được cấu trúc theo dạng: Đối tượng 1 liên kết với Đối tượng 2 thông qua một quan hệ.

Ví dụ: Đối tƣợng 1 Quan hệ Đối tƣợng 2

DIACHI_KHU_TUONG_NIEM_ NGUYENDINHCHIEU

NGUYENDINHCHIEU website URL_KHU_TUONG_NIEM_

Khu tưởng niệm Nguyễn Đình Chiểu là một đối tượng quan trọng trong việc tôn vinh danh nhân văn hóa Việt Nam Dữ liệu mô tả mối quan hệ giữa hai nút trên đồ thị, trong đó nút đầu tiên là "KHU_TUONG_NIEM_CU_NGUYENDINHCHIEU" và nút thứ hai là "DIACHI_KHU_TUONG_NIEM_NGUYENDINHCHIEU", thể hiện sự kết nối giữa khu tưởng niệm và địa chỉ của nó.

Quan hệ “dia_chi” : là cung nối hai nút;

Đồ thị tri thức được cấu thành từ hai phần chính: một phần là lược đồ (cây lược đồ) và phần còn lại là dữ liệu, trong đó dữ liệu bao gồm các thể hiện của các đối tượng trong cây lược đồ Ví dụ, đối tượng “Khu tưởng niệm…” có quan hệ thuộc tính “dia_chi”, được biểu diễn qua một cung nối với nút “DIACHI” Nút “DIACHI” chứa các thuộc tính như xã, huyện, tỉnh để ghi nhận giá trị của một địa chỉ liên hệ thực tế Các thuật toán cập nhật và truy xuất dữ liệu cần dựa vào lược đồ để thực hiện hiệu quả.

Tóm lại, cách biểu diễn dữ liệu trên đồ thị được mô tả như sau:

- Mỗi đối tƣợng dữ liệu đƣợc biểu diễn thành 1 nút trên đồ thị là một “thể hiện” của một nút trong cây lƣợc đồ

Mỗi đối tượng dữ liệu trong Neo4j có thể sở hữu nhiều thuộc tính dưới dạng cặp thuộc tính – giá trị, được biểu diễn bởi các property của nút Trong số đó, hai thuộc tính quan trọng nhất là thuộc tính Name do người dùng định nghĩa và thuộc tính ID được tự động tạo ra, đóng vai trò khóa chính.

- Mỗi nút có thể có “quan hệ” với nút khác thông qua cung nối hai nút, tên của cung là tên quan hệ

Mỗi nút trong lược đồ đại diện cho một đối tượng dữ liệu, được gán nhãn bằng tên của đối tượng đó.

- Nhãn của nút, các property của nút, các cung biểu diễn quan hệ đều phải phù hợp với lƣợc đồ của đồ thị tri thức

- Đối với nút là dữ liệu thì các property có thể kế thừa từ các property của các

Nút đối tượng dữ liệu có khả năng kế thừa các thuộc tính và quan hệ từ các nút cha trong cây lược đồ, cho phép nó có nhiều thuộc tính và quan hệ hơn so với đối tượng gốc.

Hình 4.3 là ví dụ biểu diễn phần lược đồ xây dựng ở chương 3

Hình 4.3 Ví dụ về một phần của đồ thị biểu diễn cây lược đồ trích một phần cây lược đồ hình 3.25

Hình 4.4 – Ví dụ về Đồ thị biểu diễn dữ liệu dựa trên lược đồ

Hình 4.4 minh họa mối quan hệ giữa các nút trong Neo4j, trong đó các nút màu vàng đại diện cho các địa điểm du lịch thuộc đối tượng TouristDestination Nút màu vàng nhạt là một địa điểm du lịch có hai liên kết: một đến nút địa chỉ màu xanh (PostalAddress) chứa thông tin địa chỉ và một đến nút màu hồng (URL) lưu trữ địa chỉ website mô tả về địa điểm đó.

Chúng tôi lựa chọn phương pháp biểu diễn dữ liệu như đã nêu vì nó có đặc điểm ngữ nghĩa tương tự như ngôn ngữ con người, đồng thời phù hợp với mô hình dữ liệu đồ thị.

4.1.2 Các bảng dữ liệu thu thập import vào đồ thị

Dữ liệu đầu vào cho đồ thị tri thức cần được xây dựng dựa trên lược đồ, trong đó các đối tượng và thuộc tính phải phù hợp với các mô tả trong cây lược đồ đã trình bày ở chương III Việc tạo ra một lược đồ ban đầu là rất quan trọng khi thu thập dữ liệu cho một miền tri thức, giúp biểu diễn dữ liệu một cách hiệu quả dưới dạng đồ thị Đồ thị là một kiểu dữ liệu lý tưởng để thể hiện tri thức trong thế giới thực.

Dữ liệu đầu vào cho lược đồ tri thức sẽ được thu thập và biểu diễn dưới dạng các Triple, với mỗi bộ dữ liệu yêu cầu tối thiểu 3 trường thông tin.

Trường hợp 1: Đối tƣợng  thuộc tính  Giá trị Trường hợp 2: Đối tƣợng 1  quan hệ  Đối tƣợng 2

KHU_TUONG_NIEM_CU_NGUYE

Ten Khu tưởng niệm cụ Nguyễn Đình Chiểu

KHU_TUONG_NIEM_CU_NGUYE

NDINHCHIEU dia_chi DIACHI_KHU_TUONG_NIEM_NGUY

ENDINHCHIEU KHU_TUONG_NIEM_CU_NGUYE Mo_ta Danh nhân Nguyễn Đình Chiểu (1822 -

NDINHCHIEU 1888 là biểu tượng tiêu biểu của tầng lớp sĩ phu yêu nước, người đã chọn con đường đấu tranh chống thực dân Pháp thông qua tư tưởng và sử dụng văn thơ làm công cụ.

PHƯƠNG PHÁP TRUY XUẤT DỮ LIỆU TỪ ĐỒ THỊ TRI THỨC ĐỂ TRẢ LỜI CÁC CÂU HỎI VỀ CHỦ ĐỀ DU LỊCH

Dữ liệu lưu trữ theo mô hình đồ thị tri thức cho phép trả lời các câu hỏi bằng ngôn ngữ tự nhiên liên quan đến miền tri thức mà đồ thị đó chứa đựng.

Câu hỏi được diễn đạt bằng ngôn ngữ tự nhiên sẽ được bộ xử lý phân tích và chuyển đổi thành các tham số đầu vào cho câu truy vấn bằng ngôn ngữ Cypher Kết quả thu được sẽ được sử dụng làm tham số đầu ra, sau đó được chuyển đổi thành câu trả lời bằng ngôn ngữ tự nhiên.

Nghiên cứu của chúng tôi tập trung vào việc xây dựng mẫu truy vấn bằng ngôn ngữ Cypher để truy xuất dữ liệu từ đồ thị tri thức, trong khi các vấn đề liên quan đến xử lý và phân tích ngôn ngữ tự nhiên không nằm trong phạm vi của luận văn này.

Luận văn đề xuất phương pháp xây dựng mẫu truy vấn đồ thị tri thức bằng ngôn ngữ Cypher để trả lời các câu hỏi liên quan đến du lịch từ các tham số đầu vào đã xác định Ngôn ngữ lập trình được sử dụng là Python, kèm theo minh họa bằng dữ liệu mẫu để làm rõ các phương pháp Chúng tôi liệt kê các câu hỏi đơn giản thường gặp về chủ đề du lịch và từ đó đề xuất 3 mẫu Cypher để trả lời 3 dạng câu hỏi cụ thể.

Khi người dùng tìm kiếm thông tin về một địa điểm du lịch, họ thường quan tâm đến các đặc điểm và tính chất nổi bật của nơi đó Những yếu tố như cảnh quan thiên nhiên, văn hóa địa phương, và các hoạt động giải trí sẽ ảnh hưởng đến quyết định của họ Việc cung cấp thông tin chi tiết và hấp dẫn về những đặc điểm này không chỉ giúp người dùng hiểu rõ hơn về địa điểm mà còn tối ưu hóa nội dung cho các công cụ tìm kiếm, thu hút lượng truy cập cao hơn.

- Câu hỏi về danh sách đối tƣợng, minh họa bằng kết quả tìm kiếm danh sách các điểm du lịch mà người dung muốn hỏi;

Câu hỏi là từ khóa mà người dùng nhập vào, thể hiện qua kết quả tìm kiếm liên quan đến một địa điểm du lịch cụ thể.

4.2.1 Mẫu truy vấn Cypher trả lời câu hỏi về đặc điểm/tính chất của một đối tƣợng cụ thể trong đồ thị

Câu hỏi này được phân loại thành dạng đơn giản, nhằm tạo ra câu trả lời dưới hình thức một bộ ba, bao gồm (đối tượng - thuộc tính - giá trị) hoặc (đối tượng - quan hệ - đối tượng).

Khu tưởng niệm cụ Nguyễn Đình Chiểu tọa lạc tại xã An Đức, huyện Ba Tri, tỉnh Bến Tre.

Khu tưởng niệm cụ Nguyễn Đình Chiểu và xã An Đức, huyện Ba Tri, Bến Tre là hai đối tượng quan trọng trong đồ thị, kết nối với nhau thông qua một cung.

Xã An Đức, huyện Ba Tri, tỉnh Bến Tre là các thuộc tính quan trọng của nút đối tượng PostalAddress trong đồ thị.

Câu hỏi "Khu tưởng niệm cụ Nguyễn Đình Chiểu ở đâu?" có thể được trả lời bằng cách sử dụng lệnh Cypher để truy cập hai nút dữ liệu có liên quan thông qua mối quan hệ "dia_chi" trong đồ thị.

Để trả lời câu hỏi, cần sử dụng lệnh truy vấn Cypher để truy xuất hai nút có quan hệ thông qua một cung trong đồ thị Trong trường hợp đơn giản hơn, chỉ cần một lệnh Cypher để lấy giá trị các thuộc tính của một nút là đủ để có câu trả lời.

Mô hình dữ liệu đồ thị cho phép cung cấp thông tin chi tiết về đối tượng thông qua các thuộc tính và quan hệ khác nhau, từ đó làm phong phú thêm kết quả trả lời Ưu điểm này giúp người dùng dễ dàng tìm thấy nút tương ứng và hiểu rõ hơn về mối liên hệ giữa các đối tượng.

Các tham số đầu vào cần cho câu truy vấn là:

- Thuộc tính nào của đối tƣợng cần để trả lời câu hỏi

- Loại của đối tƣợng tìm kiếm

Trong ví dụ trên, “Khu tưởng niệm cụ Nguyễn Đình Chiểu” là đối tượng cần tìm, thuộc tính dia_chi là kết quả trả lời

Để cải thiện độ chính xác của kết quả tìm kiếm, việc bổ sung tham số "Loại" cho đối tượng là rất cần thiết Nếu không có tham số này, kết quả tìm kiếm có thể không đúng với đối tượng cần tìm, vì có thể có nhiều đối tượng khác nhau cùng tên Chẳng hạn, Cụ Nguyễn Đình Chiểu là một đối tượng thuộc loại "Person", trong khi Khu tưởng niệm của Cụ Nguyễn Đình Chiểu lại thuộc loại "Place", và đường Nguyễn Đình Chiểu cũng khác với Cụ Nguyễn Đình Chiểu, mặc dù tất cả đều có chung tên gọi.

Một thách thức cần khắc phục là các tham số là chuỗi tiếng Việt, có thể không hoàn toàn khớp với dữ liệu tìm kiếm trong đồ thị Do đó, trong quá trình thử nghiệm, chúng tôi phải giải quyết hai vấn đề.

Ngày đăng: 04/10/2023, 01:37

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
[3] Brito, Gleison, Mombach, Thais, Valente, Marco Tulio. Migrating to GraphQL: A Practical Assessment. 2019 IEEE 26th International Conference on Software Analysis, Evolution and Reengineering (SANER), pages 140-150, February 2019. Doi 10.1109/SANER.2019.8667986. URL: http://arxiv.org/abs/ 1906.07535 Sách, tạp chí
Tiêu đề: Migrating to GraphQL: A Practical Assessment
Tác giả: Brito, Gleison, Mombach, Thais, Valente, Marco Tulio
Nhà XB: IEEE 26th International Conference on Software Analysis, Evolution and Reengineering (SANER)
Năm: 2019
[4] Christian Bizer, Tom Heath, and Tim Berners-Lee. Linked Data – The Story So Far. International journal on semantic web and information systems, 5(3):1–22, 2009.http://dx.doi.org/10.4018/jswis.2009081901 Sách, tạp chí
Tiêu đề: Linked Data – The Story So Far
Tác giả: Christian Bizer, Tom Heath, Tim Berners-Lee
Nhà XB: International journal on semantic web and information systems
Năm: 2009
[6] Max Schmachtenberg, Christian Bizer, and Heiko Paulheim. Adoption of the Linked Data Best Practices in Different Topical Domains. In International Semantic Web Conference, volume 8796 of LNCS, International, 2014. Springer.http://dx.doi.org/10.1007/978-3-319-11964-9_16 Sách, tạp chí
Tiêu đề: Adoption of the Linked Data Best Practices in Different Topical Domains
Tác giả: Max Schmachtenberg, Christian Bizer, Heiko Paulheim
Nhà XB: Springer
Năm: 2014
[7] Neo4j.com: The Power of Graph-Based Search (White Paper). April 2015. URL: https://neo4j.com/whitepapers/graph-based-search/?ref=solutions Sách, tạp chí
Tiêu đề: The Power of Graph-Based Search (White Paper)
Tác giả: Neo4j.com
Năm: 2015
[8] Paulheim, Heiko, Cimiano, Philipp. Knowledge graph refinement: A survey of approaches and evaluation methods. In the Semantic Web, volume 8, pages 489-508, December 2016. ISSN 22104968, 15700844. doi 10.3233/SW-160218. URL:https://www.medra.org/servlet/aliasResolver?alias=iospress&doi=10.3233/SW-160218 Sách, tạp chí
Tiêu đề: Knowledge graph refinement: A survey of approaches and evaluation methods
Tác giả: Paulheim, Heiko, Cimiano, Philipp
Nhà XB: IOS Press
Năm: 2016
[1] Amrapali Zaveri, Anisa Rula, Andrea Maurino, Ricardo Pietrobon, Jens Lehmann, Sửren Auer, and Pascal Hitzler. Quality Assessment Methodologies for Linked Open Data. Semantic Web Journal, 7(1):63–93, 2015. http://dx.doi.org/10.3233/SW-150175[2] Berners-Lee T., Shadbolt N., Hall W. . The Semantic Web Revisited. IEEE Intell. Syst,pages 96-101, May 2006. Doi 10.1109/MIS.2006.62. URL: http://ieeexplore.ieee.org/document/1637364/ Link
[5] Denny Vrandecˇiộ and Markus Krửtzsch. Wikidata: a Free Collaborative Knowledge Base. Communications of the ACM, 57(10):78–85, 2014. http://dx.doi.org/10.1145 /2629489 Link

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

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w