Từ giải pháp tổng thể trến, chúng tôi đưa ra kiến trúc hệ thống như sau:
Hình 6:Kiến trúc hệthống
Kiến trúc hệ thống bao gồm các tầng sau:
Data management layer
Tầng Data management là nơi quản lý tập trung dữ liệu của hệ thống. Để lưu trữ và quản lý dữ liệu ngữ nghĩa một cách hiệu quả, chúng tôi sử dụng AllegroGraph Server
phiên bản 4.3 cùng với bộ suy diễn ngữ nghĩa của nó. Các thông tin được lưu dưới dạng các bộ triple RDF/OWL. AllegroGraph Server cung cấp bộ API đầy đủ cho phép thực hiện các tao tác trên dữ liệu ngữ nghĩa như: cập nhật, sửa đổi, truy vấn,…
Ngoài ra Allegrograph server cung cấp những tính năng hoàn thiện của một hệ quản trị cơ sở dữ liệu
- Quản lý các giao dịch dữ liệu đảm bảo tính nguyên tố - nhất quán – độc lập – bền vững (ACID) của dữ liệu. Hỗ trợ các giao dịch: commit, rollback, checkpoint
- Backup dữ liệu online và khôi phục dữ liệu được thực hiện nhanh chóng - Có cơ chế đánh chỉ mục các triple
- Xóa các RDF trùng lặp
- Cung cấp bộ quản lý tài nguyên tự động dựa trên đa xử lý, tối ưu hóa bộ nhớ,… - Có khả năng triển khai theo mô hình Clustering để tăng hiệu năng của hệ thống
Semantic middleware layer
Tầng semantic middleware layer là nơi chúng tôi xây dựng và triển khai các dịch vụ của hệ thống, đặc biệt là các dịch vụ ngữ nghĩa. Các dịch vụ được chia thành các nhóm sau
- Các dịch vụ truy cập bộ từ vựng ontology: các dịch vụ này giúp client có thể truy cập và lấy thông tin về các khái niệm, thuộc tính của ontology. Ngoài ra, tại đây cũng triển khai một số dịch vụ phân tích cấu trúc phân cấp của ontology và mối quan hệ giữa các từ vựng của ontology. Nhờ các dịch vụ này, chúng ta có thể thấy được những góc nhìn khác nhau về ontology để từ đó xây dựng giao diện người dùng dựa ontology
- Các dịch vụ cập nhật chú thích ngữ nghĩa:Thông tin về các đối tượng du lịch cũng như về hồ sơ của người du lịch được mô tả trong các chú thích ngữ nghĩa. Các dịch vụ của chúng tôi cho phép tạo, sửa đổi, xóa,.. các chú thích ngữ nghĩa
đó. Đây chính là các dịch vụ cơ bản để xây dựng nên thành phần biện soạn dữ liệu của hệ thống.
- Các dịch vụ về truy vấn ngữ nghĩa: Các dịch vụ này cho phép thực hiện các truy vấn ngữ nghĩa và các suy diễn ngữ nghĩa: các dịch vụ đối sánh, dịch vụ tìm kiếm, …..Dựa trên các dịch vụ này, chúng tôi xây dựng những chức năng hướng người dùng của hệ thống như: Gợi ý hành trình du lịch theo sở thích, tìm kiếm các địa điểm du lịch,….
- Các dịch vụ web ngữ nghĩa về vị trí địa lý: Các dịch vụ này chịu trách nhiệm cung cấp các chức năng lấy thông tin du lịch bằng cách sửdụng công nghệweb ngữnghĩa và kết hợp các kết quả thu được với dữliệu vị trí địa lý. Các dịch vụ này đặc biệt quan trọng trong ứng dụng hướng dẫn du lịch trên điện thoại di động được trang bị máy thu GPS
- Các dịch vụweb thực hiện những logic nghiệp vụtrong lĩnh vực du lịch:Đây là các dịch vụweb cung cấp việc tìm kiếm, gợi ý các địa điểm du lịch. Các dịch vụ web này được xây dựng dựa trên việc tổng hợp, tích hợp các dịch vụweb lõi ởtrên
Client layer
Đối với người dùng cuối, hệ thống iCompanion hiện nay được triển khai trên cả nền tảng web và nền tảng di dộng androi. Trên nền tảng web chúng tôi cung cấp các dịch vụ như: gợi ý hành trình du lịch theo sở thích; tìm kiếm các tour du lịch theo sở thích,…còn trên nền tảng android chúng tôi cho phép người dùng có thể tìm kiếm các tài nguyên của hệ thống một cách nhanh chóng và đơn giản
Đối với những nhà biên tập dữ liệu, chúng tôi cũng đã xây dựng một công cụ hỗ trợ biên soạn dữ liệu đầy đủ – phân hệ iCompanion khownledge Composer. Thành phần này giúp các nhà biên soạn có thể thêm, sửa, xóa các chú thích ngữ nghĩa trong hệ thống. Ngoài ra, thành phần này cũng được sử dụng để tích hợp dữ liệu có trong hệ
thống với các kho dữ liệu ngữ nghĩa bên ngoài như DBPedia, GeoNames…cũng như các dịch vụ dữ liệu trực tuyến Flickr, Youtube,….
Như vậy, trong phần này chúng tôi đã mô tả chi tiết về giải pháp tổng thể cũng như kiến trúc của hệ thống iCompanion. Có thể thấy nhưng ưu điểm nổi bật của giải pháp như sau:
- Hệ thống sử dụng web ngữ nghĩa, một công nghệ đã chứng tỏ tính hiệu quả trong các hệ thống yêu cầu xử lý thông minh. Việc sử dụng công nghệ web ngữ nghĩa là một bước nhảy vọt về mặt công nghệ, đem lại hiệu quả cao trong vấn đề xử lý các thông tin du lịch.
- Hỗ trợ trên nhiều nền tảng: nền tảng web, nền tảng di động
- Việc sử dụng AllegroGraph với khả năng lưu trữ lên tới hàng triệu triples, hệ thống có tiềm năng đưa vào ứng dụng và triển khai rộng rãi trong thực tế.
- Có khả năng áp dụng trong miền lĩnh vực nghiệp vụ khác trong thực tế như: hệ thống giới thiệu thông tin và hướng dâ trong nhà máy, bảo tàng, bệnh viện,… - Hệ thống có tính sẵn dùng, vững mạnh và có độ tin cậy cao
- Tính mở rộng: Hệ thống được xây dựng dựa trên kiến trúc SOA do đó có tính module hóa và khả năng mở rộng cao.
CHƯƠNG IV:THIẾT KẾ VÀ XÂY DỰNG ONTOLOGY
4.1 Mô hình hóa tri thức miền lĩnh vực du lịch bằng ontology
Việc phát triển một hệthống ngữnghĩa được bắt đầu bằng việc xây dựng ontology. Có rất nhiều ontology đã được phát triển và xây dựng trong lĩnh vực du lịch như:QALL- ME ontology [17] được xây dựng nhằm mục đích xây dựng một cơ sởhạtầng đa ngôn ngữ, đa nền tảng cho các hệ thống hỏi đáp trên điện thoại di động. HARMONISE ontology [18] được xây dựng nhằm mục đích thiết lập một mạng liên kết cho việc trao đổi dữliệu trong lĩnh vực du lịch.
Tập trung vào một khía cạnh, miền lĩnh vực cụ thể là du lịch; mục tiêu xây dựng ontology của chúng tôi là cung cấp, chia sẻbộtừvựng các khái niệm phục vụcho việc mô hình hóa các nguồn tài nguyên du lịch và sởthích của người dùng.
Quá trình xây dựng ontology được tiến hành theo phương thức được nêu trong METHONTOLOGY [6], nó bắt đầu bằng việc khai thác, phân tích các lĩnh vực trong miền du lịch và các lĩnh vực có liên quan, từ đó chúng tôi xác địnhcác khái niệm chính của ontology như place, activity, topic, … và dần dần chia nhỏ, làm mịn các khái niệm đó.
Diệm đó.h xây dựng ontology được tiến hành theo phương thức được nêu trong METHONTOLOGY [6mô t đó.h xây dựng ontology được tiến hành theo phương thức được nêu tro.
Hiện tại, ontology của hệ thống iCompanion co khoảng 290 khái niệm, 47 thuộc tính và 259.000 chú thích ngữ nghĩa về các địa điểm thăm quan, du lịch tại thành phố Hà Nội và TP HồChí Minh.
4.2. Các khái niệm chính trong ontology
Các khái niệm (class) chính trong ontology được mô tả như sau:
Các khái niệm mức 1:
Hình 7:Các khái niệm mức 1
Activity: Là lớp mô tảcác hoạt động liên quan đến du lịch Place: Là lớp mô tả các địa điểm liên quan đến du lịch
Topic: Là lớp mô tảcác chủ đề liên quan đến du lịch Tour: Là lớp mô tả các Tour du lịch
Style: là lớp mô tảphong cách
Location: Là lớp mô tảcác vị trí địa lý
Profile: Là lớp mô tả hồ sơ du lịch của khách, từ đây để có thể có căn cứ lên tour phù hợp cho khách du lịch sau này.
Quality: Mô tả đánh giá chất lượng của nhà hàng, khách sạn. Đồng thời cho biết
Media: Là lớp mô tả các tài nguyên đa phương tiện liên quan đến một địa điểm
du lịch nào đó.
GeneralClass: Là lớp được xây dựng nên nhằm mục đích gộp các lớp phụphục vụ làm ObjectProperty. Hỗ trợ làm rõ các khái niệm chính. Tránh việc làm loãng ontology khi tách riêng chúng ra.
PlanExecution: Lớp mô tảloại hình du lịch. Time: Mô tảvềthời gian.
5.0: Là lớp dữ liệu kiểu GeoPoint của Allegrograph Server. Lớp này chứa những dữ liệu liên quan đến tọa độ địa lý của một địa điểm.
Các khái niệmởmức dưới:
Các khái niệm con của Activity:
Hình 8:Các khái niệm con của Activity
o Cuisine: Mô tảcác hoạt động ẩm thực.
o Event: Các sựkiện đặc biệt, chỉxảy ra trong 1 khoảng thời gian nhất định. o SightSeeing: Các hoạt động tham quan hàng ngày.
o Sport: Các hoạt động thểthao Các khái niệm con của Location
Hình 9: Các khái niệm con của Location
o AddressNumber: Dùng mô tảsốnhà, số đường …v.v. o City: Mô tảthành phố
o Country: Mô tảmột quốc gia o District: Mô tảmột quận, huyện o Province: Mô tảmột tỉnh
o Town: Mô tảmột thị trấn o Village: Mô tảxã, phường
Các khái niệm con của Place
Hình 10:Các khái niệm con của Place
o TravelAgent: Mô tảcác công ty cung cấp dịch vụdu lịch.
o Accommodation: Mô tả những địa điểm là chỗ nghỉ cho khách du lịch (Khách sạn, nhà nghỉ …v.v.).
o CommercialResource: Mô tả các địa điểm thương mại, được chia nhỏ thành chợ, shop …v.v.
o DiningService: Mô tả các địa điểm cung cấp dịch vụ ăn uống. Được chia nhỏ
o HealthService: Những địa điểm chăm sóc sức khỏe, phục vụ cho khách du lịch khi có vấn đềvềsức khỏe.
o TouristResource: Dùng để mô tảcác tài nguyên du lịch, đây chính là những địa điểm chính trong kếhoạch du lịch của khách. Được chia nhỏ ra làm nhiều lớp tùy theo loại hình của địa điểm đó (Bãi biển, Hồ, Viện bảo tang …v.v.).
Các khái niệm con của Topic
Hình 12:Các khái niệm con của Topic (tiếp)
o Architecture :Mô tả các chủ đề liên quan đến các vấn đề kiến trúc như: Kiến
trúc phương Tây, kiến trúc phương Đông, kiến trúc Gothic,….
o Cuisine: Mô tả các chủ đề liên quan đến ẩm thực: Ẩm thực miền Bắc, miền Trung, miền Nam,…
o Culture-Art: Mô tảcác chủ đề liên quan đến văn hóa nghệthuật: Văn hóa phi vật thể, nghệ thuật hội họa,…..
o Entertainment: Mô tả các chủ đề liên quan đến lĩnh vực giải trí: Phim, âm nhạc, kịch,…
o Religion : Mô tả các chủ đề liên quan đến tôn giáo: Đạo phật, đạo thiên chúa,…
o History : Mô tảcác chủ đề liên quan đến lịch sử, đặc biệt là lịch sử Việt Nam: các đời Đinh, Lý, Trần, Lê, Nguyễn,….
o Green-Zone:Mô tả các chủ đề về các khu bảo tồn
o Shopping: Mô tả các chủ đền về các khu mua sắm: mua sắm thời trang, đồ điện tử,…
Các khái niệm con của Media
Hình 13:Các khái niệm con của Media
o Audio: Mô tảdữliệu âm thanh o Image: Mô tảdữliệu hìnhảnh o Video: Mô tảdữliệu video Các khái niệm con của Style
Hình 14:Các khái niệm con của Style
o Architecture-Style:Mô tả các phong cách kiến trúc (Á, âu ..v.v.) o Cuisine-Style:Mô tả các phong các ẩm thực (Bắc, Trung, Nam,…) o Culture-Art-Style:Mô tả phong cách nghệ thuật
o Fashion-Style:Mô tả phong cách thời trang (Thời trang công sở, bình dân,…) o Music-Style: Mô tả phong cách âm nhạc (Pop, Rock,…)
Hình 15:Các khái niệm chung
o Bank: Mô tảngân hàng
o Contact: Mô tảthông tin liên lạc o Job: Mô tảnghềnghiệp
o Marriage-Status: Mô tảtình trạng hôn nhân o Sex: Mô tảgiới tính
Các khái niệm con của lớp Tour
Hình 16:Các khái niệmcon của lớp Tour
o Culinary-Tour: Mô tả các tour du lịch ẩm thực
o Cultural-Tour: Mô tả các tour du lịch văn hóa
o Ecotourism-Tour: Mô tả các tour du lịch sinh thái
o Leisure-Travel-Tour: Mô tả các tour du lịch giải trí
o MICE-Tourism-Tour: Mô tả các tour du lịch hội thảo
o Teambuilding-Tourism-Tour: Mô tả các tour du lịch cộng đồng
4.3 Các thuộc tính đối tượng
Các khái niệm trong hệthống có mối quan hệlẫn nhau, điều này được mô tảthông qua các thuộc tính đối tượng. Hình dưới cho biết một sốmối quan hệ(thuộc tính đối tượng) quan trọng xung quanh các lớp trung tâm của hệthống.
Hình 17:Các thuộc tính đối tượng
o RelatedToTopic: Là thuộc tính mô tả mối quan hệ giữa các địa điểm, hoạt động tới các chủ đề. Ví dụ: “Địa điểm X liên quan đến chủ đề Y” thì sẽ được biểu diễn là “X relatedToTopic Y”.
o interestedIn/notInterestedIn: Là thuộc tính cho biết du khách thích chủ đề
hay hoạt động nào đó.
o hasStyle:Để mô tảmối quan hệgiữa địa điểm, hoạt động với phong cách. Sử dụng thuộc tính này đểdiễn đạt một địa điểm hay một hoạt động mang phong cách gì.
o hasReferenceTo: Mô tả mối quan hệ liên quan giữa hai địa điểm hay giữa một hoạt động với một địa điểm.
o hasActivity/offeredAt: Mô tả mối quan hệ giữa Place và Activity. Cho biết tại một địa điểm có hoạt động gì đang diễn ra hay ngược lại một hoạt động được diễn raở đâu.
o nearby: Mô tảmối quan hệ ởgần nhau của hai địa điểm. o hasLocation: Mô tảmối quan hệ là Place có địa chỉ ở đâu.
o hasPart/isPartOf: Mô tảmối quan hệLocation chứa location và ngược lại (ví dụ: “Quận Hoàn Kiếm là một phần của Hà Nội”. hay “Hà Nội có một phần là Quận Hoàn Kiếm”)
o hasContain/ occurAsPartOf: Mô tảmối quan hệ là 1 Tour gồm các Activity nào.
4.3 Các thuộc tính dữ liệu
Hình 18: Các thuộc tính dữliệu
Hệthống có rất nhiều thuộc tính dữ liệu, đây là các thuộc tính được sử dụng để mô tả các tính chất của một khái niệm nào đó .
4.4 Cách thức diễn đạt tri thức thông qua mô hình hóa tri thức
Sau khi xây dựng hoàn thiện ontology, một trong những công việc hết sức quan trọng đó là sửdụng mô hình nàyđểxây dựng các chú thích ngữnghĩa cho các tài nguyên, tri thức trong hệthống. Công việc này tốn rất nhiều thời đồng thời cũng đòi hỏi sựtỉ mỉ, kiên trì của người thực hiện. Hình dưới đây sẽ biểu các chú thích nghữ nghĩa mô tả cho tri thức : “Chùa một cột là một điểm thăm quan nổi tiếng của Hà Nội. Ngôi chùa này có liên quan đến chủ đềtôn giáo, phật giáo và ngôi chùa này nằm cạnh lăng Chủ Tịch HồChí Minh”
Hình 19: Biểu diễn tri thức
Trong phần này chúng tôi đã trình bày chi tiếtvề ontology của toàn bộ hệ thống. Thành phần ontology này có thể được sử dụng để mô tả một cách khá đầy đủ các tri thức trong miền lĩnh vực du lịch. Cùng với khả năng mở rộng dễ dàng, onotology sẽ được phát triển dần dần, phong phú hơn bằng các đưa thêm vào những tri thức quý báu của những chuyên gia trong miền lĩnh vực du lịch này. Đây cũng là một trong những ưu điểm để nhóm chúng tôi lựa chọn công nghệ ontology
Phần V: XÂY DỰNG CÁC DỊCH VỤ WEB
Hệthống iCompanion được thiết kếvới tính mởrộng, phân tán cao và để đáp ứng được điều đó, toàn bộ các thao tác xửlý với nền tảng dữliệu ngữ nghĩa được nhóm nghiên cứu triển khai thành các dịch vụ web. Với giải pháp này, hệ thống dễ dàng được triển khaiởtrên nhiều môi trường khác nhau như Web, Android, Iphone …v.v.
Các dịch vụ web được thiết kếvà xây dựng theo bốn phần chính sau
Các dịch vụ web tương tác với các khái niệm, thuộc tính của ontology