Cuối cùng, tôi sẽ trình bày về công nghệ web ngữ nghĩa với tư tưởng mang tính đột phá và các khái niệm cơ bản sẽ được trình bày nhằm làm rõ một cách thứcmới trong việc giúp máy tính có
Trang 1BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI
-TUẤN NGUYÊN ĐẠT
NGHIÊN CỨU CÁC CONTEXT-AWARE FRAMEWORK HƯỚNG SERVICE
VÀ DỰA ONTOLOGY ÁP DỤNG TRONG HỆ THỐNG HƯỚNG DẪN DU LỊCH
LUẬN VĂN THẠC SĨ KHOA HỌC
CHUYÊN NGÀNH CÔNG NGHỆ THÔNG TIN
NGƯỜI HƯỚNG DẪN KHOA HỌC :
TS CAO TUẤN DŨNG
Hà Nội – 2012
Trang 2MỤC LỤC
LỜI CAM ĐOAN 4
DANH MỤC BẢNG BIỂU 5
DANH MỤC HÌNH VẼ 6
CHƯƠNG I: MỞ ĐẦU 7
1.1 Lời mở đầu 7
1.2 Nội dung luận văn 9
CHƯƠNG II: NỀN TẢNG LÝ THUYẾT VÀ CÁC HƯƠNG TIẾP CẬN HIỆN NAY 10
2.1 Kiến trúc hệ thống hướng dịch vụ 10
2.2 Công nghệ ngữ nghĩa 13
2.2.1 Công nghệ web ngữ nghĩa 13
2.2.2 Ontology 15
2.2.3 Ngôn ngữ biểu diễn ontology 18
2.2.4 Truy vấn ngữ nghĩa và ngôn ngữ SPARQL 20
2.2.5 Kho dữ liệu ngữ nghĩa mở – dự án Linked Data 22
2.2.6 Mô tơ suy diễn ngữ nghĩa AllegroGraph Server 25
CHƯƠNG III: GIẢI PHÁP XÂY DỰNG HỆ THỐNG NHẬN BIẾT NGỮ CẢNH, HƯỚNG DỊCH VỤ VÀ DỰA ONTOLOGY ÁP DỤNG CHO BÀI TOÁN HƯỚNG DẪN DU LỊCH 27 3.1 Mô hình hóa ngữ cảnh người dùng 27
3.2 Mô hình hóa miền tri thức du lịch sử dụng ontology 31
3.3 Hướng tiếp cận và giải pháp tổng thể 32
3.4 Kiến trúc hệ thống 37
CHƯƠNG IV: THIẾT KẾ VÀ XÂY DỰNG ONTOLOGY 41
Trang 34.2 Các khái niệm chính trong ontology 42
4.3 Các thuộc tính đối tượng 52
4.3 Các thuộc tính dữ liệu 54
4.4 Cách thức diễn đạt tri thức thông qua mô hình hóa tri thức 54
Phần V: XÂY DỰNG CÁC DỊCH VỤ WEB 56
5.1 Các dịch vụ web tương tác với ontology 58
5.2 Các dịch vụ web tương tác với các thực thể, chú thích ngữ nghĩ 59
5.3 Các dịch vụ web thực hiện các truy vấn ngữ nghĩa 60
5.4 Các dịch vụ web miền lĩnh vực du lịch 60
PHẦN VI: ỨNG DỤNG HƯỚNG DẪN DU LỊCH CẢM NGỮ CẢNH 62
6.1 Module gợi ý hướng ngữ cảnh (Geo Search) 63
6.2 Tích hợp module tìm kiếm ngữ nghĩa với tham số địa lý 66
6.3 Tính năng tự động gợi ý điểm du lịch 68
CHƯƠNG VII: ĐÁNH GIÁ KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN CỦA LUẬN VĂN 70
7.1 Kết luận 70
7.2 Hướng phát triển 71
DANH MỤC TÀI LIỆU THAM KHẢO 72
Trang 4LỜI CAM ĐOAN
Tôi cam đoan đây là công trình nghiên cứu của riêng tôi.
Các số liệu, kết quả nêu trong luận văn là trung thực và chưa từng được ai công bố trong bất kỳ công trình nào khác.
Tác giả luận văn ký và ghi rõ họ tên
Trang 5DANH MỤC BẢNG BIỂU
Bảng 1:Các dịch vụ web tương tác với ontology 59
Bảng 2:Các dịch vụ web tương tác với các chú thích ngữ nghĩa 60
Bảng 3:Các dịch vụ web thực hiện truy vấn ngữ nghĩa 60
Bảng 4:Các dịch vụ web miền lĩnh vực du lịch 61
Trang 6DANH MỤC HÌNH VẼ
Hình 1:Tổng quan về semantic web (copyright Semaview) 14
Hình 2:Linked Data giai đoạn đầu 23
Hình 3:Linked Data tháng 07/2009 24
Hình 4:Mô hình xử lý ngữ cảnh 28
Hình 5:Mô hình ngữ cảnh người dùng 30
Hình 6:Kiến trúc hệ thống 37
Hình 7:Các khái niệm mức 1 42
Hình 8:Các khái niệm con của Activity 43
Hình 9: Các khái niệm con của Location 44
Hình 10:Các khái niệm con của Place 45
Hình 11:Các khái niệm con của Topic 47
Hình 12:Các khái niệm con của Topic (tiếp) 48
Hình 13:Các khái niệm con của Media 49
Hình 14:Các khái niệm con của Style 50
Hình 15:Các khái niệm chung 51
Hình 16:Các khái niệm con của lớp Tour 51
Hình 17:Các thuộc tính đối tượng 52
Hình 18: Các thuộc tính dữ liệu 54
Hình 19: Biểu diễn tri thức 55
Hình 20: Thiết kế và xây dựng các web service 57
Hình 21:Luồng xử lý chức năng gợi ý hướng ngữ cảnh 63
Hình 22: Luồng giao diện chức năng gợi ý hướng ngữ cảnh 65
Hình 23: Mô hình tích hợp tìm kiếm ngữ nghĩa với tham số địa lý 66
Hình 24:Kết quả thực hiện truy vấn ngữ nghĩa với tham số địa lý 67
Trang 7CHƯƠNG I: MỞ ĐẦU
1.1 Lời mở đầu
Trong vài thập kỷ qua, kể từ khi điện thoại di động ra đời nó ngày càng gắn bó và trởthành vật dụng không thể thiếu của con người trong xã hội ngày nay Cùng với sự pháttriển của khoa học công nghệ, chiếc điện thoại cũng không ngừng được cải tiến vàđược trang bị nhiều ứng dụng hữu ích Ngày nay, những chiếc điện thoại thông minh
đã được kết nối Internet, thậm chí được cài đặt thiết bị thu GPS hỗ trợ định vị vị trí địa
lý trong các ứng dụng
Ngành du lịch được hưởng lợi từ thực tế này bởi du khách thường mang theo điện thoạicủa họ trong các kỳ nghỉ; mặt khác sự phong phú của thông tin trực tuyến đã thúc đẩy
du khách khai thác Internet để tìm kiếm thông tin liên quan đến chuyến đi của mình
Du khách không chỉ muốn biết thông tin một cách đa dạng phong phú, từ văn hóa, lịch
sử đến địa lý về nơi mà họ đang tham quan hoặc sẽ tới tham quan mà còn muốn biếtdưới nhiều hình thức khác nhau như mô tả văn bản, hình ảnh, video, bản đồ số …v.v.Ngoài những thông tin cơ bản về chính địa điểm du lịch thì các hoạt động văn hóa, lễhội liên quan cũng như các dịch vụ đi kèm như nhà hàng khách sạn, bệnh viện cũngđược du khách quan tâm nhằm đảm bảo sinh hoạt của họ trong quá trình tham quan
Vậy vấn đề đặt ra là làm thế nào để có thể đáp ứng được nhu cầu của du khách bằng một hệ thống có khả năng cung cấp các tính năng thông minh, hỗ trợ tối đa du khách trong việc khai thác thông tin một cách đa dạng về nội dung, phong phú về hình thức trong suốt quá trình du lịch.
Tuy nhiên, nếu dùng các công cụ tìm kiếm hiện thời cho mục đích tìm kiếm thông tin
du lịch tại một địa điểm nào đó thì khó đáp ứng được nhu cầu thực tế của du khách.Hầu hết thông tin du lịch hiện nay được cung cấp trên website hoặc cổng thông tin củamột công ty du lịch Mặc dù một số hệ thống thông tin du lịch tích hợp thông tin từ cáctrang web khác nhau, kết hợp thông tin du lịch từ nhiều nguồn[14]; nhưng những hệ
Trang 8thống này thường chỉ cung cấp cho du khách một giao diện tìm kiếm dựa trên từ khóa
để truy cập dữ liệu của họ Bởi vì việc tìm kiếm dựa trên từ khóa thường có độ chínhxác và phản hồi không được cao, do đó du khách sẽ gặp khó khăn trong việc lựa chọnnhững thông tin thú vị, hữu ích với họ từ một khối lượng thông tin lớn được trả về.Hơn nữa, thật khó để tìm kiếm những thông tin về một đối tượng du lịch như nhà hàng,công viên,… trong mối quan hệ với các đối tượng du lịch khác hoặc các sự kiện được
tổ chức gần đó
Vì vậy, mục tiêu của luận văn này là nghiên cứu những công nghệ, những hướng tiếp cận tiên tiến hiện nay trong việc xây dựng những hệ thống hướng người dùng
để từ đó xây dựng một giải pháp tổng thể phù hợp cho bài toán cung cấp thông tin
du lịch toàn diện và hướng người dùng.
Những hướng tiếp cận chính được nghiên cứu và trình bày trong luận văn gồm có:
- Ứng dụng công nghệ ngữ nghĩa cho việc mô hình hóa các tri thức du lịch Với
công nghệ này, các thông tin trong hệ thống sẽ được xây dựng thêm các thành phầnngữ nghĩa giúp các thông tin đó giàu sức mô tả hơn và có thể hiểu được lẫn nhau
- Từ nền tảng ngữ nghĩa này, các dịch vụ tìm kiếm, gợi ý thông tin du lịch sẽ được xâydựng và phát triển Để các dịch vụ này đến được với người du lịch mọi lúc, mọi nơi
chúng tôi đã nghiên cứu và lựa chọn mô hình kiến trúc hướng dịch vụ Đây là một
kiến trúc tiên tiến, rất phù hợp cho việc phát triển các hệ thống đa nền tảng, đa môitrường
- Cuối cùng, để thông tin đến với người dùng một cách phù hợp nhất, chính xác nhất;chúng tôi đã nghiên cứu các mô hình, framework hướng ngữ cảnh và từ đó đưa ra một
mô hình xử lý ngữ cảnh trên các nền tảng di động.
Nội dung nghiên cứu của luận văn nằm trong đề tài nghiên cứu “Dịch vụ thông tin và tri thức du lịch ứng dụng công nghệ ngữ nghĩa - iCompanion ” của nhóm tác giả SIG (Semantic Innovation Group) do TS Cao Tuấn Dũng làm trưởng nhóm Đây là
một đề tài nghiên cứu có tính khoa học và ứng dụng cao; đề tài đã đạt giải nhì trong
Trang 9cuộc thi “Nhân tài đất Việt” năm 2011 Trong phạm vi luận văn này, tôi xin trình bày
những đóng góp chính của tác giả trong quá trình nghiên cứu, xây dựng hệ thốngiCompanion
1.2 Nội dung luận văn
Nôi dung của luận văn được chia thành các phần như sau:
- Chương II: Trình bày về nền tảng lý thuyết và các hướng tiếp cận, nghiên cứu trongluận văn Nội dung của chương này bao gồm:
+ Công nghệ ngữ nghĩa và sự phát triển lớn mạnh của nó cũng như những lợi
ích của nó mang lại
+ Kiến trúc hướng dịch vụ và những ưu điểm của kiến trúc này.
+ Các mô hình xử lý hướng ngữ cảnh
- Chương III: Dựa trên những nghiên cứu trong chương II, chương này sẽ trình bày về
“giải pháp xây dựng hệ thống cảm ngữ cảnh, hướng dịch vụ và dựa ontology áp dụng cho hệ thống hướng dẫn du lịch”.
- Chương IV: Trong chương này sẽ trình bày quá trình xây dựng và phát triển ontology
mô hình hóa cho các tri thức du lịch
- Chương V: Nội dung chương này đi sâu vào việc xây dựng các dịch vụ du lịch ngữnghĩa Đây là các dịch vụ chính được cung cấp để xây dựng các ứng dụng hướng dẫn
Trang 10CHƯƠNG II: NỀN TẢNG LÝ THUYẾT VÀ CÁC HƯỚNG TIẾP CẬN
HIỆN NAY
Trong chương này, tôi sẽ đưa ra một số công nghệ và các hướng tiếp cận hiện naytrong việc xây dựng một hệ thống cảm ngữ cảnh, hướng dịch vụ và dựa ontology ápdụng cho hệ thống hướng dẫn du lịch
Đầu tiên chúng tôi sẽ giới thiệu và phân tích về các mô hình hệ thống cảm ngữ cảnh hiện nay trên thế giới để từ đó ta thấy được những nguyên lý, mô hình
chung để xây dựng một hệ thống cảm ngữ cảnh
Tiếp đó, tôi sẽ trình bày về kiến trúc hướng dịch vụ, một trong những kiến trúc
hệ thống được áp dụng mạnh mẽ hiện nay và phù hợp với những hệ thống lớn,phân tán và đa nền tảng
Cuối cùng, tôi sẽ trình bày về công nghệ web ngữ nghĩa với tư tưởng mang tính
đột phá và các khái niệm cơ bản sẽ được trình bày nhằm làm rõ một cách thứcmới trong việc giúp máy tính có thể hiểu được thông tin và trên cơ sở đó xâydựng các ứng dụng có khả năng suy diễn thông minh hơn
2.1 Kiến trúc hệ thống hướng dịch vụ
SOA (Service Oriented Architecture) – Kiến trúc Định hướng Dịch vụ là một cách tiếp
cận hay một phương pháp luận để thiết kế và tích hợp các thànhphần khác nhau, baogồm các phần mềm và các chức năng riêng lẻ lại thành một hệ thống hoàn chỉnh Nóimột cách ngắn gọn, một hệ thống SOA là một tập hợp nhiều dịch vụ được cung cấptrên mạng, được tích hợp lại với nhau để cùng cộng tác thực hiện các tác vụ nào đótheo yêu cầu của khách hàng
Dịch vụ (service):là yếu tố then chốt trong SOA Có thể hiểu dịch vụ như là một loại
module thực hiện một quy trình nghiệp vụ nào đó Một trong những mục đích của SOA
là giúp các ứng dụng có thể “giao tiếp” được với nhau mà khôngcần biết các chi tiết kỹ
Trang 11thuật bên trong Để thực hiện điều đó SOA định ra một chuẩn giao tiếp (dùng để gọihàm dịch vụ) được định nghĩa rõ ràng và độc lập với nền tảng hệ thống, và có thể tái sửdụng
Nguyên lý SOA:SOA tìm cách giải quyết một số vấn đề theo cách nhìn lấy ứng dụng
làm trung tâm Có thể tóm gọn những phát biểu đó theo các nguyên lý như sau:
- Ứng dụng phải mở ra khả năng cho phép các ứng dụng mới hoặc ứng dụngđang tồn tại có thể sử dụng được Nó cũng phải có khả năng kết nối tới các dịch vụđược đưa ra bởi các ứng dụng khác để tạo thành các dịch vụ cao cấp hơn hay còn gọi làứng dụng tổ hợp
- Sự khác biệt về công nghệ không thành vấn đề và khả năng tương tác trở thànhmục tiêu then chốt
- Các chuẩn mở phải được thông qua để cho phép tích hợp giữa các doanhnghiệp Phối hợp tiến trình nghiệp vụ giữa nhiều nhà cung cấp, nhiều đối tác thậm chí
có thể với cả khách hàng
- Phải chú ý tới việc quản lý và và đảm bảo khả năng có thể quản trị của hệthống để đảm bảo tính linh hoạt do ba nguyên tắc đầu tiên không bị xáo trộn và xungđột với nhau
Ưu nhược điểm của SOA:
Ưu điểm: SOA có thể được coi là một kiến trúc ưu việt trong thiết kế và xây dựng hệ
- Cho phép dễ dàng triển khai chương trình, môi trường chạy và quản lý service dễdàng hơn
Trang 12- Khả năng tương tác của các service.
Nhược điểm:
-Hệ thống phức tạp
- Khó miêu tả dữ liệu không cấu trúc trong header của message
- Đặc biệt, khi xây dựng ứng dụng tổng hợp từ nhiều dịch vụ với tính tái sử dụng caothì vấn đề bảo mật như: xác thực, phân quyền, bí mật và toàn vẹn dữ liệu, bảo vệquyền riêng tư… trở thành một bài toán hết sức phức tạp và đòi hỏi giải quyết bằngnhững hướng tiếp cận bảo mật hoàn toàn mới so với các phương pháp bảo mật truyềnthống
Sử dụng Web service trong SOA:
Web service là một công nghệ triệu gọi từ xa có tính khả chuyển cao nhất hiện nay:mang tính độc lập nền, độc lập ngôn ngữ Do đó, các chương trình code bằng các ngônngữ lập trình khác nhau, chạy trên các nền tảng (phần cứng & OS) khác nhau đều cóthể trao đổi với nhau thông qua công nghệ này
Tầng transport của Web Service thường dùng những công nghệ truyền tải phổ dụngnhất như HTTP, SMPT, (tuy hiện nay thường chỉ dùng HTTP) nên khả năng phân tántrên diện rộng như Internet là rất thuận tiện
SOA là kiến trúc kết nối lỏng lẻo các service Các service đó tương tác với nhau thôngqua Web service
WSDL (Web Service Description Language): ngôn ngữ đặc tả WS ngôn ngữ này cơbản dựa trên XML ,khi tương tác các service với nhau ta tương tác file wsdl của chúng.SOAP (Simple Object Access Protocol): giao thức truy xuất đối tượng đơn giản
Kiến trúc SOA sử dụng Webservice như là một giải pháp chính để giải quyết vấn đềtích hợp nghiệp vụ giữa các hệ thống (bên cạnh giải pháp dùng công nghê Messaging)
Và đặc biêt trong quá trình internet hóa mọi dịch vụ hiên nay, thì triển khai dịch vụbằng Webservice là điều "tất nhiên“
Trang 132.2 Công nghệ ngữ nghĩa
2.2.1 Công nghệ web ngữ nghĩa
Web ngữ nghĩa (Semantic Web) là một lĩnh vực nghiên cứu tương đối mới và thu hútnhiều sự chú ý trong khoảng mười năm trở lại đây Người khởi xướng và đưa ra ýtưởng về Web ngữ nghĩa chính là Tim Berners-Lee, cha đẻ của WorldWideWeb Ông
đã nhận thấy những hạn chế của công nghệ Web hiện tại dẫn tới những khó khăn choviệc truy xuất tìm kiếm thông tin trên Web, nhất là khi khối lượng thông tin này vẫnliên tục bùng nổ Đó là do công nghệ Web hiện tại (Ngôn ngữ HTML, trình duyệt, giao
thức HTTP) được thiết kế để đưa thông tin đến chủ thể là con người, chứ không phải là
máy tính Do vậy, trên thực tế với nền tảng như vậy máy tính không hiểu được nộidung thực sự, ngữ nghĩa chứa đựng trong các tài nguyên Web
Định nghĩa về Web ngữ nghĩa lần đầu tiên được Tim Berners-Lee và đồng nghiệp đưa
ra trên tạp chí Khoa học Mỹ năm 2001 như sau: “Web ngữ nghĩa là sự mở rộng của Web hiện tại ở đó thông tin được đi kèm với các ngữ nghĩa giúp máy tính và con người cộng tác tốt hơn.”
Rất nhanh, ý tưởng này được hưởng ứng mạnh mẽ từ các nhà chuyên môn và W3C(WWW consortium) – tổ chức giám sát chuẩn quốc tế cho WorldWideWeb đưa vàonhư một trong những nội dung cần phát triển chính Người ta thường hay gọi đơn giảnWeb ngữ nghĩa là thế hệ Web của dữ liệu, để hiểu rõ hơn về Web ngữ nghĩa, xin đượctrích dẫn định nghĩa của W3C: “Web ngữ nghĩa là một tầm nhìn mới về Web với ýtưởng các dữ liệu trên Web được định nghĩa và liên kết theo một cách đặc biệt đểchúng có thể được sử dụng bởi máy tính không chỉ với mục đích hiển thị, mà để tựđộng hóa, tích hợp và tái sử dụng dữ liệu qua nhiều ứng dụng khác nhau.”
Nội dung chính trong định nghĩa trên được minh họa qua hình vẽ dưới đây (copyrightSemaview)
Trang 14Hình 1:Tổng quan về semantic web (copyright Semaview)
Các thành phần cơ bản cấu thành web ngữ nghĩa bao gồm:
- Ontology: Cung cấp bộ từ vựng bao gồm khái niệm, quan hệ cần thiết để có thể
mô tả thông tin, tri thức trong một lĩnh vực cụ thể
- Chú thích ngữ nghĩa: Các siêu dữ liệu – các thông tin bổ sung mô tả ý nghĩa hayngữ nghĩa của một chủ thể thông tin hay tài nguyên nào đó Chú thích ngữ nghĩa
sử dụng Ontology để mô tả ngữ nghĩa, giúp máy tính có thể hiểu được nội dungcủa chúng
- Mô tơ suy diễn: Thường được gọi đơn giản dưới cái tên máy tìm kiếm ngữnghĩa Các mô tơ suy diễn có khả năng phân tích các chú thích ngữ nghĩa, trả lờicác truy vấn ngữ nghĩa và tiến hành các suy diễn thông minh trên tập các chúthích ngữ nghĩa đã có để tạo ra các thông tin, tri thức mới
Trang 15Thuật ngữ Web ngữ nghĩa cũng thường được sử dụng để nói đến các công nghệ thúcđẩy nó bao gồm các ngôn ngữ mô tả ontology như OWL/RDFS, chú thích ngữ nghĩaRDF, các định dạng trao đổi dữ liệu RDF/XML, N3, Turtle, N-Triples
Một điều cần chú ý là những ưu việt của công nghệ Web ngữ nghĩa đã đưa ứng dụngcủa nó vượt qua lãnh thổ Web của mình Công nghệ này có thể được ứng dụng và đãchứng tỏ hiệu quả trong nhiều bài toán lớn, nổi bật nhất có thể kể đến:
- Quản lý tri thức (Knowledge Management)
- Tích hợp ứng dụng doanh nghiệp (Enterprise Application Integration)
- Thương mại điện tử,
2.2.2 Ontology
Ontology là một khái niệm được bắt nguồn từ triết học, nó được nghiên cứu và pháttriển bởi các nhà nghiên cứu về trí tuệ nhân tạo để mô tả một cách hình thức một miềnlĩnh vực nào đó
Khái niệm và vai trò
Có nhiều định nghĩa về ontology, xin được giới thiệu hai định nghĩa tổng quát vềontology được chấp nhận rộng rãi nhất:
“Ontology là một tập các khái niệm và quan hệ giữa các khái niệm được định nghĩa cho một lĩnh vực nào đó nhằm vào việc biểu diễn và trao đổi thông tin để con người và máy tính có thể hiểu được” [W3C]
“Ontology là đặc tả tường minh về mô hình khái niệm được chia sẻ”.[Thomas Gruber].
Có thể hiểu ontology như một bộ từ điển chứa các từ vựng súc tích nhất, nguyên thủynhất và được đồng thuận (bởi các chuyên gia ngành) cho phép mô tả các thông tintrong một lĩnh vực nhất định Nó mô tả cấu trúc ngữ nghĩa nội hàm của thông tin trong
Trang 16Trong lĩnh vực Công nghệ thông tin, Ontology có một số đặc điểm sau:
Ontology được chuẩn hóa, có tính chất hình thức: để máy tính có thể hiểu được mà
không cần đến tác động của con người, các thuật ngữ lưu trữ trong ontology phải đượcđịnh nghĩa rõ ràng về ngữ nghĩa hoặc có cơ sở toán học cho ý nghĩa của chúng
Ontology dễ hiểu đối với người sử dụng: để người sử dụng, các chuyên gia, và các nhà tạo lập ontology, đều có thể phát triển, chia sẻ và hiểu thông tin trong ontology, không phải chỉ riêng máy tính hiểu cấu trúc của ontology.
Ontology là sự toàn diện, bao trùm toàn bộ một lĩnh vực: Chúng được thiết kế với mục
đích có được ý nghĩa đầy đủ của các khái niệm giao dịch được yêu cầu Tất cả ý nghĩacủa các khái niệm được thu tóm trong ontology thì nó có thể được hiểu, thay đổi, kiểmsoát bởi bất kì ai có liên quan đến lĩnh vực đó Nó trở thành một mô tả sống và là mộttài nguyên có giá trị khi các hệ thống ứng dụng sử dụng và phát triển nó
Ontology có thể chia sẻ: Điều này giúp dễ dàng kết hợp các ontology được phát triển
riêng rẽ, sử dụng chúng để cho phép giao tiếp giữa các hệ thống thông tin cần chia sẻthông tin dựa trên các khái niệm chung Thông thường một ontology bao gồm rất nhiềukhái niệm do đó việc xây dựng ontology sẽ mất rất nhiều thời gian nếu không sử dụnglại các ontology sẵn có Việc chia sẻ các ontology giúp dễ dàng kết hợp các ontologyđược phát triển riêng lẽ, sử dụng chúng để cho phép giao tiếp giữa các hệ thống thôngtin cần chia sẻ thông tin dựa trên các khái niệm chung Ví dụ kết hợp ontology của cácđại lý du lịch với ontology về các dịch vụ nhà nghỉ, các phương tiện giao thông, có thểgiúp khách du lịch tìm được hành trình du lịch phù hợp với các yêu cầu về thời gian,giá cả
Tóm lại, ontology với vai trò bộ từ vựng cơ bản – được định nghĩa rõ ràng, tường minhkhông nhập nhằng, thống nhất trong cộng đồng – cho phép biểu diễn thông tin và trithức giúp:
- Chia sẻ thông tin giữa con người và con người (tránh hiểu lầm trong trao đổi)
Trang 17- Chia sẻ thông tin giữa con người và máy tính (máy tính hiểu được chú thích ngữ nghĩa tạo ra bởi con người)
- Chia sẻ thông tin giữa máy tính và máy tính (các ứng dụng – tác tử giao tiếp thông qua các thông tin mô tả bằng ontology chung).
Các phần tử cơ bản của Ontology
Class: Một Class được định nghĩa bao gồm hai thành phần: tên và các ràng buộc Mỗi
thành phần expression trực tiếp trong định nghĩa của một class có nhiệm vụ đưa thêmcác ràng buộc cho các instances của class được định nghĩa Một instances bất kỳ củaclass này phải thỏa mãn tất cả các ràng buộc đó
Để tạo cấu trúc phân cấp cho các class, sử dụng quan hệ rdfs:subClassOf Nếu X là mộtsubclass của Y, thì tất cả các instance của X cũng là một instance của Y Quan hệrdfs:subClassOf có tính bắc cầu Nếu X là một subclass của Y và Y là một subclass của
Z thì X cũng là một subclass của Z
Tài liệu trên trình bày mô tả về lớp Accommodation, có label là “Accommodation” và
là class con của class Place
Individual (chú thích ngữ nghĩa): Bên cạnh định nghĩa về class, để mô tả các thành
viên của chúng ,mà thông thường ta coi là các individual Một individual được xácđịnh đơn giản bằng cách khai báo tên và class mà nó thuộc về
Trang 18Property: Một property là một quan hệ 2 ngôi Có 2 loại property:
Datatype property (thuộc tính dữ liệu): property có dữ liệu là các kiểu nguyênthủy như string, int, time…
Object property (thuộc tính đối tượng): mối quan hệ giữa hai instance của haiclass
Ví dụ :
Hiện tại, ontology được hiểu bao gồm cả tập các class và các Individual
2.2.3 Ngôn ngữ biểu diễn ontology
Trong quá trình phát triển của hai lĩnh vực nghiên cứu là Web ngữ nghĩa và kỹ nghệOntology, nhiều ngôn ngữ biểu diễn ontology đã được đề xuất như SHOE, OIL,DAML, Sau đây, chúng tôi giới thiệu hai ngôn ngữ biểu diễn ontology hiện đangđược sử dụng rộng rãi nhất đó là RDF/RDFS và OWL
RDF/RDFS
RDF (Resource Description Framework) là một “bộ khung” được sử dụng để mô tả cácnguồn tài nguyên trên Internet RDF cung cấp một mô hình dữ liệu, và một cú phápđơn giản sao cho các hệ thống độc lập có thể trao đổi và sử dụng nó
Trang 19Là một thành phần của Semantic Web, được đặt trên XML, RDF sử dụng cú pháp củaXML để biểu diễn thông tin, điều này có nghĩa là các tài liệu RDF được viết bằngXML Ngôn ngữ XML dùng để biểu diễn thông tin trong RDF được gọi là RDF/XML.Thông qua định dạng này, các thông tin trong RDF có thể được trao đổi dễ dàng giữacác hệ thống máy tính cũng như các hệ điều hành hay các ngôn ngữ lập trình ứng dụngkhác nhau.
RDF mô tả các nguồn tài nguyên bởi các phát biểu bộ ba (statement triple) gồm:subject- chủ thể, property- thuộc tính và giá trị của thuộc tính là object- đối tượng.subject là các định danh tài nguyên- URI (Uniform Resource Identifier)
Ví dụ một tài liệu mô tả 1 địa điểm hồ Hoàn Kiếm như sau:
Tài liệu này mô tả về đối tượng “Hoan-Kiem-lake” có định danh URI là
“http://hust.se.vtio.owl#Hoan-Kiem-lake” với thuộc tính “Name” có giá trị là “Hoan Kiem lake” và thuộc tính “Location” có giá trị là “Hanoi”.
RDFS cho phép mô tả các thuộc tính đặc thù cho từng ứng dụng, đồng thời địnhnghĩa lớp các đối tượng có cùng thuộc tính đó Việc định nghĩa lớp đối tượng vớithuộc tính và quan hệ r ất cần thiết cho việc xây dựng ontology
OWL (Ontology Web Language)
<?xml version="1.0"?>
<RDF>
<Description about=" http://hust.se.vtio.owl#Hoan-Kiem-lake">
<Name>Hoan Kiem lake</Name>
<Location>Hanoi</Location>
</Description>
</RDF>
Trang 20Hiện nay, ngôn ngữ miêu tả ontology cấp cao nhất là OWL – ontology web language.
OWL là một bộ từ vựng mở rộng của khung mô tả tài nguyên (RDF/RDFS) hướng tớimục tiêu:
- Tăng tính diễn đạt của ngôn ngữ Hiểu ngắn gọn giúp ontology có sức mạnhgiúp biểu diễn những thông tin, tri thức có độ phức tạp cao hơn
- Hỗ trợ suy diễn mạnh hơn
OWL được xem như là một kỹ thuật trọng yếu để cài đặt cho web ngữ nghĩa trongtương lai Ngôn ngữ này được kỳ vọng rằng sẽ cho phép các hệ thống máy tính có thểđọc được thay thế cho con người Vì OWL được viết bởi XML, các thông tin OWL cóthể dễ dàng trao đổi giữa các kiểu hệ thống máy tính khác nhau, sử dụng các hệ điềuhành và các ngôn ngữ ứng dụng khác nhau Tuy nhiên OWL cũng có một nhược điểm
là việc suy diễn với ontology và chú thích ngữ nghĩa sử dụng ngôn ngữ này tốn nhiềutài nguyên tính toán hơn
2.2.4 Truy vấn ngữ nghĩa và ngôn ngữ SPARQL
Một trong những ưu điểm nổi bật của Web ngữ nghĩa là công nghệ này cho phép thựchiện việc tìm kiếm thông tin một cách chính xác hơn nhiều với các máy tìm kiếm thôngtin dựa trên việc đánh chỉ số và dựa trên từ khóa Đó là khả năng thi hành các truy vấnngữ nghĩa Tìm kiếm ngữ nghĩa có các đặc điểm sau
- Nội dung câu hỏi được diễn đạt rõ ràng và có thể hiểu bởi máy tính, do câu hỏiđược mô tả sử dụng ontology
- Kết quả trả lời chính xác – do máy tìm kiếm căn cứ vào ngữ nghĩa nội dung củathông tin đáp ứng câu hỏi chứ không dựa trên sự so khớp về từ khóa
Ví dụ: Truy vấn “Tìm những người thích hợp tham gia vào dự án Companion” có thể
đưa về câu trả lời là: Tiến sỹ Cao Tuấn Dũng hay sinh viên Nguyễn Hoàng Công Với
thông tin có sẵn trong hệ thống: “Companion là một dự án có lĩnh vực nghiên cứu là
Trang 21Web ngữ nghĩa” , máy tính hiểu được khái niệm Tiến sỹ hay sinh viên đều là khái
niệm con của khái niệm người Máy tính cũng có thể suy diễn được Cao Tuấn Dũng làngười thích hợp do anh ta có bài báo khoa học về SPARQL là một chủ đề con của chủ
đề Web ngữ nghĩa hay Nguyễn Hoàng Công thích hợp vì sinh viên này đã từng cộngtác với Cao Tuấn Dũng trong lĩnh vực này,
Chú ý rằng, công nghệ Web ngữ nghĩa hiện tại cho phép thực hiện các truy vấn như
trên, tuy nhiên ở một dạng thức tương đối kỹ thuật và chỉ phù hợp với người có chuyên môn SPARQL [Ref http://www.w3.org/TR/rdf-sparql-query/] là một ngôn ngữ truyvấn ngữ nghĩa như vậy
SPARQL (SPARQL Protocol and RDF Query Language) là một ngôn ngữ truy vấnthông tin trong RDF được tổ chức W3C phát triển Một số tính năng chính củaSPARQL:
- Trích thông tin trong các URI (địa chỉ duy nhất của tài nguyên Web), các núttrắng và các hằng giá trị
- Trích thông tin từ các đồ thị con
- Xây dựng một đồ thị RDF mới dựa trên thông tin trong đồ thị truy vấn
Hai mệnh đề chính trong SPARQL là Select và Where SPARQL cũng cung cấp một
số phép toán tìm kiếm theo điều kiện như: Phép hội (UNION), chiếu, phép lọc phânbiệt (DISTINCT), mệnh đề sắp xếp kết quả tìm kiếm (ORDER BY) và mệnh đề giớihạn số lượng kết quả trả về (LIMIT) Đặc thù của ngôn ngữ này là sử dụng các mẫu bộ
ba để cấu trúc câu truy vấn loại bỏ hoàn toàn sự nhập nhằng
Ví dụ:
PREFIX vtio:<http://hust.se.vtio.owl#>
SELECT?p ?skill
WHERE{
Trang 22?p vtio:suitableForProject vtio:companion-project.
?p rdf:type vtio:Person
?p vtio:hasSkill ?skill}
Câu truy vấn trên tìm những người thích hợp cho dự án Companion và những kỹ năngcủa họ Tham gia câu truy vấn có các khái niệm (Person) và thuộc tính(suitableForProject, hasSkill) và cả các instance (companion-project) của ontology
2.2.5 Kho dữ liệu ngữ nghĩa mở – dự án Linked Data
Một thách thức đối với web ngữ nghĩa là: dữ liệu cho Web ngữ nghĩa chưa sẵn sàng –
dữ liệu trên Web phần lớn vẫn là không có ngữ nghĩa kèm theo
Linked Data là một dự án của W3C nhằm mô tả một phương pháp của công bố dữliệu có cấu trúc, để nó có thể được liên kết với nhau và trở nên hữu ích hơn Nó đượcxây dựng trên công nghệ tiêu chuẩn web, chẳng hạn như HTTP và URI - nhưng thay
vì sử dụng chúng để phục vụ các trang web dành cho độc giả con người, nó mởrộng cho họ để chia sẻ thông tin một cách có thể được đọc tự động bằng máy tính Điềunày cho phép dữ liệu từ các nguồn khác nhau sẽ được kết nối và truy vấn Đây là mộtthuật ngữ do Tim Berners-Lee, giám đốc của World Wide Web Consortium, đặt
ra trong thiết kế một thảo luận về vấn đề xung quanh các dự án Web ngữ nghĩa
Mục tiêu của W3C Linked Data là mở rộng Web với một dữ liệu chung bằng cách xuấtbản nhiều bộ dữ liệu mở như RDF trên web và bằng cách thiết lập mối liên kếtgiữa các RDF dữ liệu từ các nguồn dữ liệu khác nhau
Vào thời điểm ban đầu, Linked Data mới chỉ có số lượng ít các bộ dữ liệu Nhưng đếntháng 9/2010, Linked Data đã có 203 bộ dữ liệu về nhiều lĩnh vực khác nhau, bao gồmtrên 25 tỉ bộ ba RDF, được liên kết với nhau bởi khoảng 395 triệu liên kết RDF
Trang 23Hình 2:Linked Data giai đoạn đầu
Trang 24Hình 3:Linked Data tháng 07/2009
Một vài các kho dữ liệu của Linked Data
- Các dự án Bio2RDF, một tập bản đồ web ngữ nghĩa của các kiến thức hậu ditruyền về con người và chuột, đã phát hành 27 tập hợp dữ liệu liên quan đến y
tế, sinh học, gen (trên 23 tỉ triple) Các tập hợp dữ liệu có sẵn thông quaVirtuoso được tích hợp trong thiết bị đầu cuối SPARQL và như Liên Kết dữliệu
- CrunchBase như Linked Data, với SPARQL đầu cuối Với 11.000 người,10.000 công ty, 1.000 sản phẩm, thường xuyên cập nhật, phát triển Ví dụ:iPhone, Yahoo, Sergey Brin
Trang 25- DailyMed hành liên kết dữ liệu của các loại thuốc bán trên thị trường cùng vớinền chung về cấu trúc hóa học của hợp chất và mục đích điều trị của nó, chi tiết
về dấu hiệu lâm sàng của hợp chất, dược và cách sử dụng, chỉ định, cảnh báo,phòng ngừa, phản ứng bất lợi, dùng quá liều, và tư vấn bệnh nhân
- Data.gov trang web chính thức của chính phủ Mỹ tạo ra hơn 1000 bộ dữ liệuchính phủ Hoa Kỳ có sẵn trên Linked Data (khoảng 6,4 tỷ triple)
Một số kho ứng dụng ngữ nghĩa mà hệ thống hướng tới khai thác
- DbPedia: Là kho dữ liệu ngữ nghĩa tổng hợp từ wikipedia Có thể xem thông
tin cụ thể tại: http://dbpedia.org/
- Geoname: Là kho dữ liệu về các vị trí địa lý trên toàn thế giới Thông tin chi
tiết tại: http://www.geonames.org/
- Foaf project (Friends of a friend): Là dự án về tổng hợp thông tin về con
người và chia sẻ nó trên mạng toàn cầu
2.2.6 Mô tơ suy diễn ngữ nghĩa AllegroGraph Server
Một thành phần quan trọng của các hệ thống web ngữ nghĩa đó là các mô tơ suy diễnngữ nghĩa (semantic engine) Một số mô tơ suy diễn ngữ nghĩa đã được phát triển và sửdụng rộng rãi như: jenna, seasame, Trong hệ thống iCompanion, chúng tôi lựa chọnAllegroGraph Server – một giải pháp hoàn thiện không những cho việc suy diễn ngữnghĩa mà còn cho việc quản lý các dữ liệu ngữ nghĩa
AllegroGraph server do Franz Inc phát triển nhằm tổ chức, quản lý dữ liệu ngữ nghĩatheo dạng các triples Hệ thống sẽ sử dụng AllegroGraph server như là một hệ quản trị
cơ sở dữ liệu ngữ nghĩa Mọi thao tác với dữ liệu sẽ thông qua AllegroGraph API client
hỗ trợ truy vấn SPARQL
AllegroGraph server có một số điểm đáng lưu ý như sau:
- Server suy diễn và là kho lưu trữ dữ liệu cho phép xử lý dữ liệu với quy mô lớn,
xử lý nhanh
Trang 26- Xử lý giao dịch trên AllegroGraph vẫn đảm bảo tính ACID (Nguyên tố - Nhấtquán – Độc lập – Bền vững)
- Hỗ trợ lập trình trên nhiều môi trường khác nhau: Java, Python, Lisp …v.v
- Có khả năng sao lưu, phục hồi dữ liệu một cách nhanh chóng
Trang 27CHƯƠNG III: GIẢI PHÁP XÂY DỰNG HỆ THỐNG NHẬN BIẾT NGỮ CẢNH, HƯỚNG DỊCH VỤ VÀ DỰA ONTOLOGY ÁP DỤNG CHO BÀI
TOÁN HƯỚNG DẪN DU LỊCH
3.1 Mô hình hóa ngữ cảnh người dùng
Hiện nay, các hệ thống hướng ngữ cảnh đang ngày càng được phát triển rộng rãi, đặcbiệt trong các hệ thống thông minh Qua quá trình nghiên cứu và phân tích các hệthống hướng ngữ cảnh, chúng tôi thấy rằng việc ứng dụng hệ thống cảm ngữ cảnhtrong việc xây dựng các dịch vụ hướng dẫn du lịch sẽ làm tăng chất lượng của các dịch
vụ đó Trong hệ thống iCompanion, tính năng hướng ngữ cảnh cho phép đưa ra kết quảtìm kiếm, gợi ý các điểm du lịch phù hợp nhất đối với ngữ cảnh của người sử dùng
Mô hình xử lý thông tin ngữ cảnh của hệ thống iCompanion được mô tả trong hình sau:
Trang 28Hình 4:Mô hình xử lý ngữ cảnh
Trong mô hình này ta thấy, các thông tin ngữ cảnh người dùng được phát hiện và thunhận tại tầng mobile Sau đó các thông tin ngữ cảnh này được tổng hợp và được đưalến tầng service (thông qua webservice) Tại đây, dựa trên các thông tin ngữ cảnh và cơ
sở tri thức du lịch; hệ thống sẽ đối sánh, suy diễn để đưa ra những dịch vụ, gợi ý nhữngđiểm thăm quan phù hợp nhất với người dùng Các thành phần phát hiện và thu nhận
và tổng hợp thông tin ngữ cảnh được mô tả chi tiết như sau:
Context sources: Các loại ngữ cảnh (nguồn ngữ cảnh) của người dùng được chia theo 3
loại chính sau:
Trang 29- Static context: Đây là loại ngữ cảnh tĩnh Ngữ cảnh này bao gồm các thông tin
mà người dung ít khi thay đổi như: tên, tuổi; sở thích; lịch thói quen sinhhoạt,…
- Dynamic context: Đây là ngữ cảnh động Ngữ cảnh này bao gồm các thông tin
thường xuyên thay đổi, được cập nhật liên tục trong suốt hành trình của người
du lịch như: Thông tin về vị trí; thông tin về phương tiện đi lại, thông tin về thờitiết,…
- Social context: Đây là ngữ cảnh xã hội của người dùng Thông tin về ngữ cảnh
xã hội rất quan trọng đối với người du lịch bởi vì người du lịch thường có xuhướng đến thăm các địa điểm mà có bạn bè, người thân của họ ở đó
Thành phần thu nhận ngữ cảnh - Context detection: Thành phần này được sử dụng
để thu nhận các thông tin ngữ cảnh Các phương thức thu nhận thông tin ngữ cảnhđượng sử dụng như sau:
- Form Fill: Người dùng tự điền các thông tin ngữ cảnh của mình vào các form
thu nhận thông tin Phương thức này thường được sử dụng để thu nhận nhữngthông tin ngữ cảnh tĩnh, ít thay đổi như: profile, interest, calendar, friend,…
- Sensor: Sử dụng các thiết bị cảm biến để thu nhận các thông tin ngữ cảnh như:
cảm biến GPS, RFID, …
- Sử dụng các webservice online repository về thời tiết, geonames… để lấy về
các thông tin ngữ cảnh về thời tiết, vị trí địa lý
Thành phần Context Provider: Thành phần tổng hợp ngữ cảnh là trung tâm của mô
hình xử lý ngữ cảnh Tại đây,Các thông tin ngữ cảnh mà thành phần context detectionthu nhận được sẽ được trích xuất và tổng hợp lại
Trong hệ thống iCompanion, chúng tôi sử dụng các thông tin ngữ cảnh sau của ngườidùng:
- Thông tin sở thích của người dùng : thông tin này sẽ được người dùng khai
báo trong chương trình
Trang 30- Thông tin tọa độ vị trí địa lý của người dùng: thông tin này sẽ được tự động
cập nhật theo vị trí người dùng dựa vào cảm ứng GPS trên các smart phone Nếutrên các smart phone không có GPS; hệ thống có thể lấy thông tin vị trí địa lýqua 3G; Wifi
- Bán kính mà các điểm xung quanh người dùng sẽ được gợi ý và tần suất gợi ý
Các thông tin ngữ cảnh trên được thu thập và lưu trữ trong đối tượng UserContext Cácthông tin ngữ cảnh này được cập nhật trong một khoảng thời gian 1 phút, 2phút,…người dùng có thể điều chỉnh được chế độ này
Dưới đây là một ví dụ về thông tin ngữ cảnh của Alice
Hình 5:Mô hình ngữ cảnh người dùng
Thông tin ngữ cảnh của Alice cho thấy cô rất thích các chủ đề liên quan đến kiến trúcChâu Âu và ẩm thực nước Pháp Vị trí hiện tại của cô có tọa độ địa lý như sau:
Trang 31(long,lat)= (105.8522 ; 21.0287)Với thông tin mô tả về nhà Hát Lớn như sau:
<owl:Thing rdf:about="#hanoi-opera-house">
<rdf:type rdf:resource="#Theater"/>
<hasLongtitude rdf:datatype="&xsd;double">105.857780</hasLongtitude>
<hasLatitude rdf:datatype="&xsd;double">21.024166</hasLatitude></owl:Thing>
Chúng ta thấy rằng, Nhà Hát Lớn Hà Nội có liên quan đến chủ đề kiến trúc Pháp, điềunày phù hợp với sở thích của Alice là thích kiến trúc Châu Âu Mặt khác, vị trí địa lýcủa Nhà Hát Lớn cũng cho thấy Alice đang rất gần địa điểm này Do đó, thệ thốngiCompanion sẽ gợi ý cho Alice thăm quan Nhà Hát Lớn
3.2 Mô hình hóa miền tri thức du lịch sử dụng ontology
Thông tin, tri thức trong miền lĩnh vực du lịch rất phong phú và đa dạng và được lưutrữ trong rất nhiều nguồn Để sử dụng các thông tin này trong hệ thống, chúng tôi lựachọn quản lý toàn bộ thông tin dưới dạng chú thích ngữ nghĩa Ví dụ sau mô tả cho mộtchú thích ngữ nghĩa về địa điểm du lịch Nhà hát lớn Hà Nội: “Nhà hát lớn Hà Nội làmột địa điểm nổi tiếng nằm gần hồ Hoàn Kiếm và có liên quan đến chủ đề kiến trúcPháp”
Trang 32Việc sử dụng ontology mang lại nhiều lợi ích:
Việc sử dụng ontology cho phép tích hợp các dữ liệu không đồng nhất từ nhiều nguồnkhác nhau Thông qua bộ từ vựng của ontology, các dữ liệu du lịch sẽ được chuẩn hóa
- Dễ dàng tích hợp các dữ liệu riêng của hệ thống với các dữ liệu mở trong cáckho dữ liệu Linked Data trên web Đây là cơ chế trích xuất tri thức tự động trênweb
- Để loại bỏ sự mơ hồ và không chính xác trong kết quả tìm kiếm bằng cách ápdụng tìm kiếm ngữ nghĩa và suy diễn trên dữ liệu du lịch
- Cung cấp cơ sở tốt cho việc suy diễn và phân loại các thông tin khác nhau trongmiền lĩnh vực du lịch
- Đảm bảo kiến trúc hệ thống linh hoạt và mềm dẻo Các thành phần khác nhaucủa hệ thống cùng chia sẻ một ngôn ngữ chung, do đó chúng có thể hiểu đượclẫn nhau và trao đổi dữ liệu một cách chính xác
3.3 Hướng tiếp cận và giải pháp tổng thể
Dựa trên kết quả của quá trình nghiên cứu, tìm hiểu cũng như kinh nghiệm thực tế,nhóm chúng tôi đã xây dựng một giải pháp tổng thể cho bài toán du lịch hướng ngườidùng Trong phần này, chúng tôi sẽ trình bày một cách cặn kẽ và tường minh về giảipháp cũng như từng thành phần cơ bản của hệ thống đã đề xuất
<owl:Thing rdf:about="#hanoi-opera-house">
<rdf:type rdf:resource="#Theater"/>
<rdfs:label>
Hanoi opera house (Nha Hat Lon Ha Noi)
</rdfs:label>
<isWellKnown>true</isWellKnown>
<nearBy rdf:resource="#hoan-kiem-lake"/>
<relatedToTopic rdf:resource="#france-architecture-topic"/>
</owl:Thing>
Trang 33Để có thể đạt được những mục tiêu đề ra, chúng tôi lựa chọn giải pháp công nghệ theocách tiếp cận: giải quyết từng nội dung chính và sau đó tổng hợp để đưa ra giải pháptổng thể Những hướng tiếp cận chính như sau:
- Xử lý ngữ nghĩa: Một trong những yếu tố ảnh hướng đến chất lượng của một
dịch vụ đó là dịch vụ đó có thỏa mãn yêu cầu của người dùng hay không Vớitâm nguyện là làm sao cho các dịch vụ của chúng tôi cung cấp thân thiện vớingười dùng nhất, thỏa mãn người dùng nhất, nhóm chúng tôi đã nghiên cứunhững công nghệ hướng người dùng hiện nay Và công nghệ ngữ nghĩa đã đượcchúng tôi chọn là công nghệ nền tảng, là kim chỉ nam cho việc xây dựng hệthống Với công nghệ này, các thông tin trong hệ thống sẽ được xây dựng thêmcác thành phần ngữ nghĩa giúp các thông tin đó giàu sức mô tả hơn và có thểhiểu được lẫn nhau Ngoài ra, hiện nay trên thê giới cũng đã phát triển rất nhiềunhững kho thông tin ngữ nghĩa mở; vì vậy một trong các hướng tiếp cận củachúng tôi đó là việc tích hợp với kho dữ liệu ngữ nghĩa mở
- Để thông tin có thể đến với người dùng mọi lúc, mọi nơi; chúng tôi đã lựa
chọn xây dựng các ứng dụng chạy trên các nền tảng di động; trên đó khai thácsức mạnh của công nghệ web ngữ nghĩa để cài đặt các tính năng vượt trôi, thôngminh hơn; tạo cách thức mới giúp người dùng truy cập thông tin một cách chínhxác, hiệu quả kết hợp với tính năng của các smartphone hiện đại: trình bày dữliệu đa phương tiện, dữ liệu vị trí, dịch vụ bản đồ số
- Một trong những thành phần không thể thiếu trong mỗi hệ thống đó là các thuật toán, các logic nghiệp vụ Nhóm chúng tôi đã nghiên cứu, phát triển các thuật
toán tiên tiến và ứng dụng vào hệ thống nhằm giải quyết vấn đề hướng ngườidùng
- Đối với cách thức khai thác, sử dụng các nguồn dữ liệu ngữ nghĩa phần tán.
Chúng tôi cũng đã nghiên cứu và đưa ra 3 dạng xử lý chính như sau:
Trang 34o Thông qua web view (truy cập online): Tổ chức xây dựng kho dữ liệu sẽtạo một giao diện web cho phép người dùng có thể tra cứu, tìm kiếm thôngtin trong kho dữ liệu của mình Đây là cách cơ bản mà thông thường cáckho dữ liệu phân tán đều cung cấp Với cách thức này, kết quả trả về được
xử lý hoàn toàn bằng con người (nhìn kết quả thể hiện trên web view) Nếumuốn tự động xử lý dữ liệu trả về người dùng phải vất vả trong việc phântích dữ liệu html (hoặc xml) trả về để lấy những dữ liệu cần thiết cho ứngdụng của mình
o Thông qua web service (truy cập online): Với cách này, tổ chức xây dựngkho dữ liệu sẽ xây dựng luôn các web service cung cấp cho người dùng cácmethod để truy cập, lấy thông tin và thậm chí là thay đổi thông tin kho dữliệu của mình
o Thông qua các file dữ liệu (truy cập offline): Đây là cách đơn giản nhất đểlàm việc với các nguồn dữ liệu phân tán Người dùng chỉ cần lên trang chủcủa các kho dữ liệu, download file dữ liệu về để có thể sử dụng Tuy nhiêncách sử dụng này lại mắc một nhược điểm lớn đó là vì dữ liệu ở các kho dữliệu này thường rất là đồ sộ, nếu không muốn nói là khổng lồ cho nên việctải về sẽ mất rất nhiều thời gian Thêm vào đó, thường 1 ứng dụng khôngthể sử dụng hết tất cả dữ liệu, nên việc download hết dữ liệu vào hệ thốngcủa mình sẽ làm cho hệ thống bị dư thừa dữ liệu và trở nên chậm chạp.Giải pháp cho tình trạng này là dữ liệu sau khi download về sẽ thông quamột hệ thống back-end để lọc tách và lựa chọn những phần có ích cho ứngdụng, phần còn lại có thể xóa đi
- Và hướng tiếp cận cuối cùng của chúng tôi đó là làm sao hệ thống có thể phục
vụ đa môi trường; chúng tôi đã lựa chọn cách thức xây dựng hệ thống theo kiến
trúc SOA và đặc biệt là webservice
Trang 35Dựa trên các hứng tiếp cận trên, chúng tôi đưa ra giải pháp tổng thể cho hệ thống nhưsau:
- Ứng dụng công nghệ ngữ nghĩa:
Chúng tôi xây dựng mô hình biểu diễn thông tin du lịch bằng web ngữ nghĩahay nói cách khác, chúng tôi xây dựng ontology trong lĩnh vực miền du lịch.Ontology được sử dụng để định nghĩa các khái niệm, thuộc tính nguyên thủycho việc mô tả các chú thích ngữ nghĩa liên quan đến du lịch Ngôn ngữ biểudiễn ontology mà chúng tôi sử dụng là ngôn ngữ RDF/RDFS và OWL
Trong hệ thống iCompanion, chúng tôi sử dụng ontology để truy vấn và tríchxuất dữ liệu không chỉ từ các kho dữ liệu ngữ nghĩa Linked Data mà còn từ cácdịch vụ dữ liệu trực tuyến như: Flickr, Youtube,… để làm giàu thêm các thôngtin liên quan đến du lịch
Dữ liệu du lịch của hệ thống một khi được lưu dưới dạng chú thích ngữ nghĩa cóthể được khai thác hiệu quả hơn thông qua các truy vấn ngữ nghĩa gửi tới servernhư: tìm kiếm ngữ nghĩa; thực hiện các suy diễn ngư nghĩa; phát triển các thuậttoán dựa trên suy diễn ngữ nghĩa
- Phát triển ứng dụng chạy trên nền tảng di động, chúng tôi lựa chọn nền tảng
android, một trong những nền tảng di động được phát triển rỗng rãi nhất hiệnnay Việc xây dựng ứng dụng trên các nền tảng khác như Iphone, windowsphone,… là hoàn toàn có thể thực hiện được Ứng dụng chúng tôi xây dựng tậptrung vào các tính năng sau:
o Cung cấp một hệ thống giao diện truy vấn hỏi đáp theo kiểu mới, tăng tínhdiễn đạt của câu hỏi truy vấn giúp diễn đạt câu truy vấn gần với ngôn ngữ
tự nhiên Để làm được điều đó, ứng dụng sử dụng ontology để sinh ra cácgiao điện cấu thành câu hỏi Và hệ thống tự động chuyển đổi giao diện nàythành các truy vấn ngữ nghĩa
Trang 36o Các truy vấn ngữ nghĩa được tích hop với tìm kiếm kèm theo ràng buộc về
vị trí địa lý và các xứ lý dự liệu đa phương tiện để đưa ra kết quả thân thiện
và giàu tính trình diễn hơn đối với người dùng
o Với phần mềm này, người dùng thông qua một vài thao tác chạm phím cóthể diễn đạt một câu hỏi tương đối phức tạp và dễ dàng theo dõi kết quả trả
về với các nội dung phong phú: audio, video, bản đồ, text to speech,…
- Khiến trúc hướng dịch vụ (SOA):Hệ thống được phát triển tuân theo kiến trúc
SOA dựa trên công nghệ webservice và có cấu trúc đa tầng (multi-Tiers) Nhờ
đó, hệ thống có thể chạy trên nhiều nền tảng khác nhau để đưa các tính năng của
hệ thống đến được với người dùng Đặc biệt, toàn bộ nền tảng hệ thống đượcxây dựng trên các chuẩn và nền tảng J2EE với những ưu điểm sau:
o Kiến trúc đa tầng cho phép triển khai phần cứng linh hoạt
o Độc lập với phần cứng và phần mềm hệ thống Chạy trên tất cả các phầncứng và phần mềm hệ thống công nghiệp phổ biến
o Tính mở rộng cao
Trang 373.4 Kiến trúc hệ thống
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à