Mô tơ suy diễn ngữ nghĩa AllegroGraph Server

Một phần của tài liệu Nghiên cứu cac context aware framework hướng service và dựa ontology áp dụng trong hệ thống hướng dẫn du lịch (Trang 25)

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ễn ngữ 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ọn AllegroGraph 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ĩa theo 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

- Xử lý giao dịch trên AllegroGraph vẫn đảm bảo tính ACID (Nguyên tố - Nhất quán– Độc lập–Bền vững)

- Hỗtrợcác truy vấn: SPARQL, RDFS++, PROLOG

- 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

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ƯỚNGDẪ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, đặc biệ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ảnh trong 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ảnhcủa ngườisử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:

Hì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à thu nhận tại tầng mobile. Sau đó các thông tin ngữ cảnh này được tổng hợp và được đưa lế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:

- 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 sinh hoạ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ời tiế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ó xu hướ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ững thô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 dng 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 detection thu 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ười dù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

- 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ếu trê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ínhmà 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ác thông tin ngữ cảnh này được cập nhật trong một khoảng thời gian 1 phút, 2 phú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úc Châ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: (adsbygoogle = window.adsbygoogle || []).push({});

(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"/>

<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"/> <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ếntrúc Pháp, điều nà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ống iCompanion 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ưu trữ 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ựa chọ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ột chú 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úc Pháp”

Việ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ồn khá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ác kho dữ liệu Linked Data trên web. Đây là cơ chế trích xuất tri thức tự động trên web.

- Để 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 áp dụ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 trong miề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 nhau của hệ thống cùng chia sẻ một ngôn ngữ chung, do đó chúng có thể hiểu được lẫ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áptổ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ười dù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ải phá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>

Để 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ệ theo cá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áp tổ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ới tâ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ới người dùng nhất, thỏa mãn người dùng nhất, nhóm chúng tôi đã nghiên cứu những công nghệ hướng người dùng hiện nay. Và công nghệ ngữ nghĩa đã được chú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êm cá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ều những kho thông tin ngữ nghĩa mở; vì vậy một trong các hướng tiếp cận của chú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ác sứ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ông minh 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ính xá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ười dùng.

- Đối với cách thức khai thác, s dng các ngun d liu ngnghĩa phần tán.

o 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ông tin trong kho dữ liệu của mình. Đây là cách cơ bản mà thông thường các kho 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ếu muốn tự động xửlý dữ liệu trảvề người dùng phải vất vảtrong việc phân tích dữ liệu html (hoặc xml) trả về để lấy những dữ liệu cần thiết choứng dụng của mình. (adsbygoogle = window.adsbygoogle || []).push({});

o Thông qua web service (truy cập online): Với cách này, tổ chức xây dựng kho dữliệu sẽxây dựng luôn các web service cung cấp cho người dùng các method để 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ên cá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ệc tải vềsẽ mất rất nhiều thời gian. Thêm vào đó, thường 1 ứng dụng không thể 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ống củ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 qua một hệthống back-end đểlọc tách và lựa chọn những phần có ích choứng dụ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.

Dự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ĩa hay 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ủy cho việc mô tả các chú thích ngữ nghĩa liên quan đến du lịch. Ngôn ngữ biểu diễ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ích xuất dữ liệu không chỉ từ các kho dữ liệu ngữ nghĩa Linked Data mà còn từ các dịch vụ dữ liệu trực tuyến như: Flickr, Youtube,… để làm giàu thêm các thông tin 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 server như: 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ật toá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ện nay. Việc xây dựng ứng dụng trên các nền tảng khác như Iphone, windows phone,… là hoàn toàn có thể thực hiện được. Ứng dụng chúng tôi xây dựng tập trung 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ính diễ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ác giao điện cấu thành câu hỏi. Và hệ thống tự động chuyển đổi giao diện này thành các truy vấn ngữ nghĩa

o 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 được xâ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ần cứng và phần mềm hệ thống công nghiệp phổ biến

3.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à 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

Một phần của tài liệu Nghiên cứu cac context aware framework hướng service và dựa ontology áp dụng trong hệ thống hướng dẫn du lịch (Trang 25)