5.1.1 Phần server
- Server được lập trình bằng ngôn ngữ Java và chạy trên máy tính Dell với cấu hình Core i5 2410M, RAM 4G.
- Phần quản lý các Ontology sử dụng công cụ Protégé 4.2.0 - Database sử dụng MySQL
- Sử dụng package Jena 2.0 [30] để làm cầu nối nhằm kết nối giữa Server và Database chứa các Ontology.
- Server sử dụng Apache Axis2 SOAP [41] để chạy các dịch vụ của Web Services được tích hợp vào Apache Tomcat.
5.1.2 Phần client
- Client được lập trình trên android với IDE là eclipse. Thiết bị chạy client là điện thoại Galaxy Nexus chạy hệ điều hành Android 4.4.2.
- Trên Client, sử dụng package KSOAP2 [42] để hỗ trợ truy cập các dịch vụ Web mà Server cung cấp.
5.1.3 Kết nối giữa Client – Server
Việc kết nối giữa Client – Server được mô tả theo mô hình của Hình 5.1 sau đây :
60
Từ mô hình của Hình 5.1, hệ thống được chia thành 3 phần chính, gồm : Client, Server và MySQL. Các file Ontology sau khi được tạo bởi công cụ Protege thì sẽ được lưu trữ vào trong cơ sở dữ liệu MySQL. Server muốn lấy được dữ liệu từ các Ontology sẽ sử dụng gói Jena 2.0 để truy cập cơ sở dữ liệu thông qua giao thức SPARQL. Kết quả mà truy vấn SPARQL trả về là tập dữ liệu định dạng XML. Để đưa ra được các dịch vụ Web, Server cần sử dụng Axis 2 Web Service tích hợp vào Apache Tomcat. Các thiết bị trên Client thì sử dụng Ksoap2 để hỗ trợ gọi ra các dịch vụ Web mà Server cung cấp, lúc này dữ liệu trao đổi giữa Client và Server được chuyển đổi từ các dạng cơ bản như XML, hay chuỗi kí tự thành các Vector<Object>. Về phía Client, sau khi nhận được kết quả là các Vector<Object> sẽ phải chuyển đổi lại thành các kiểu cơ bản của dữ liệu để trình bày lại kết quả trên thiết bị di động của người dùng.
5.2 Dữ liệu đầu vào và các yêu cầu cơ bản
Chương trình xây dựng cung cấp thông tin cho khách du lịch tại khu vực Hà Nội. Người dùng là hai du khách ở tỉnh khác tới du lịch ở Hà Nội. Hai người dự định di chuyển bằng taxi trên các phố ở Hà Nội. Đây là lần đầu tiên hai du khách này tới thăm Hà Nội. Tên của hai vị khách này là Oanh và Loan. Oanh là một bác sỹ, cô ấy tới Hà nội để dự hội thảo lớn về Ngành Y tế. Oanh muốn biết về hệ thống các cửa hàng thuốc ở Hà Nội, Các bệnh viên hoặc các trung tâm y tế dự phòng. Oanh mong muốn được hệ thống thông báo về các địa điểm thuộc chủ đề quan tâm của cô ấy đã nói ở trên. Ngoài ra, trong cuộc hình trình, khách hàng có thể yêu cầu tìm kiếm địa điểm như tìm một nhà hàng hay một siêu thị gần vị trí khách hàng đang đứng.
Còn Loan là một khách du lịch “tourist”, các lĩnh vực mà cô ấy quan tâm là Khách sạn, công viên, chùa, nhà thờ, nhà hàng.., do đó mà từ khóa (keywords) lưu trữ cho cô ấy là tập các đối tượng thuộc loại sau: “Hotel”, “Park”, “Church”, “Pagoda”, “Restaurent”, “Mountain”, “Embassy”, “Supermarket”. Cũng giống như Oanh, Loan cũng mong muốn được thông báo về các địa điểm mà mình quan tâm trong suốt quãng đường di chuyển. Thêm vào đó, Loan có thể gửi yêu cầu tìm kiếm một địa chỉ nào đó mà cô ta quan tâm.
Một yêu cầu nữa về hai người dùng này là mong muốn được thông báo về tình trạng ùn tắc giao thông trong suốt quá trình di chuyển.
Tiền đề của chương trình hệ thống xây dựng là đã có thuật toán phân tích dự đoán được các quãng đường mà hai du khách này di chuyển.
5.3 Các kết quả thực nghiệm
Phần này sẽ minh họa các kết quả mà hệ thống đã xây dựng được theo như thiết kế trình bày trong Chương 4.
61
5.3.1 Quản lý Database phía server bằng Protégé.
Hình 5.2 Ontology quản lý Người dùng
Hình 5.2 mô tả quan hệ giữa “User” và “Role” trong (Profile). Mỗi user có một role, và trong role đó chứa các keywords, các keywords này chính là các sự vật, sự kiện mà user mong muốn nhận được thông tin trong quá trình tham quan du lịch.
Hình 5.3 Ontology mô tả quan hệ giữa các class ở Dữ liệu Nội dung Du lịch
Chức năng quản lý nội dung ở Ontology Nội dung giúp server có thể cập nhật (sửa/thêm/xóa) các địa chỉ mong muốn, theo yêu cầu của khách hàng quảng cáo.
62
Ontology này được sử dụng trong phần Push dữ liệu tự động cho người dùng phía client.
Hình 5.4 Ontology Nội dung Du lịch phân chia theo chủ đề
Hình 5.4 thể hiện nội dung của Ontology Nội dung theo từng chủ đề. Ontology nội dung này được phân cấp theo chủ đề nhằm giúp cho việc xây dựng thuật toán tìm kiếm được dễ dàng và tiện lợi hơn.
Hình 5.5 Ontology Nội dung về Giao thông
Trong giao diện như trên Hình 5.5 mô tả về việc cập nhật thông tin về các nút ùn tắc giao thông thông qua các sensor đặt tại các trạm đèn báo giao thông và tự động cập nhật vào hệ thống. Ontology này được xây dựng dựa trên tiền đề các thông tin về mật
63
độ giao thông được cập nhật liên tục từ các trạm gửi về, dựa thông tin ở Ontology này, mà các thông tin về ùn tắc giao thông được gửi tới người dùng.
64
5.3.2 Cung cấp thông tin dịch vụ du lịch theo cơ chế push
(a) thông tin trả về cho “tourist” (b) Thông tin trả về cho “doctor” Hình 5.6 Cung cấp thông tin du lịch theo cơ chế push
Trên Hình 5.6 (a) biểu diễn kết quả các gợi ý cho Loan, cô đóng vai trò là một “tourist”. Đường di chuyển của người dùng trong nằm trong khu vực cung cấp dịch vụ. Đường di chuyển của thiết bị di động được đánh dấu bằng đường đỏ tô đậm. Vị trí hiện tại của người dùng được thể hiện ở marker màu đỏ giữa màn hình. Đường đi tiếp theo của người dùng do hệ thống dự đoán được đánh dấu màu xanh. Với đường đi hiện tại kết hợp với tập dữ liệu đường đi, hệ thống dự đoán được đường di chuyển của người dùng trong khoảng thời gian tiếp theo. Từ vị trí dự đoán đó, hệ thống sẽ tìm kiếm thông tin về những địa điểm mà người dùng quan tâm quanh đó với bán kính R (Ở trong ứng dụng cài đặt này sẽ lấy bán kính R = 2.5km). Từ vị trí tương lai của người dùng dự đoán được, hệ thống tìm kiếm thông tin về các điểm du lịch quanh đó bán kính R thuộc vào chủ đề quan tâm của người dùng. Thông tin tìm kiêm được sẽ được hiển thị qua một các icon trên bản đồ. Các điểm du lịch có thông tin này sẽ được làm đánh dấu bằng một vòng tròn màu đỏ.
Hình 5.6(b) là kết quả gợi ý mà hệ thống tự động gửi lại cho người dùng Oanh, người đóng vai trò là một “doctor”, cô ấy quan tâm tới các chủ đề như bệnh viện, hiệu thuốc, hay các trung tâm y tế và dịch vụ chăm sóc sức khỏe cộng đồng.
65
Bên cạnh chức năng cung cấp tự động thông tin trong quá trình di chuyện, hệ thống còn cung cấp thêm dịch vụ theo dõi thông tin sự kiện từ các hệ thống bên ngoài, ví dụ như sự kiện hủy lịch chiếu phim, khai trương cửa hàng hoặc chương trình khuyến mại giảm giá. Không phải tất cả các sự kiện đều được đưa đến cho người dùng, mà chỉ có sự kiện nào có chủ đề thuộc chủ đề mà người dùng quan tâm mà hệ thống có được từ profile của người dùng.
Hình 5.7 Gợi ý sự kiện sắp xảy đến theo cơ chế push
Hình 5.7 mô phỏng kết quả của việc thông báo sự kiện ngoài hệ thống xuất hiện như một nhắc nhở để người dùng có thể tham khảo các sự kiện sắp xảy đến trong tương lai (trong vòng 1 giờ tới). Các sự kiện này vừa thỏa mãn thuộc miền cách vị trí người dùng trong vòng 2km, vừa thỏa mãn điều kiện là sự kiện thuộc đối tượng mà người dùng quan tâm, đồng thời thỏa mãn yêu cầu về mặt thời gian.
66
5.3.3 Cung cấp thông tin dịch vụ du lịch theo cơ chế pull
(a) Hiển thị kết quả của một truy vấn (b) Hiển thị thông tin từng điểm du lịch Hình 5.8 Cung cấp thông tin theo cơ chế pull
Hình 5.8(a) Hiển thị thông tin trả về sau khi người dùng nhấn nút Search. Với giao diện này người dùng có thể đặt ra yêu cầu tìm kiếm thông tin. Thông tin trả về sẽ hiển thị lên màn hình tìm kiếm. Câu truy vấn tìm kiếm có thể dựa trên vị trí và thời gian của người sử dụng, một ví dụ tìm kiếm như sau: “Deligion near 2.5” để tìm các địa chỉ tôn giáo gần vị trí người dùng trong vòng bán kính 2,5km.
Hình 5.8(b) hiển thị thông tin chi tiết của một kết quả tìm kiếm được. Mỗi khi click vào một icon được tìm thấy ở trên màn hình (ở đây là icon được khoanh màu đỏ), thì chi tiết về địa điểm đó được hiện thị như một thông báo ở phía cuối màn hình, hiển thị này sẽ mất đi trong vòng vài giây sau đó.
67
5.3.4 Cung cấp thông tin giao thông theo cơ chế push
(a) Vị trí hiện tại (b) Hiển thị tình trạng giao thông Hình 5.9 Cung cấp thông tin về giao thông theo cơ chế Push
Hình 5.9(a) đang mô tả vị trí hiện tại của người dùng, Hình 5.9(b) mô tả kết quả thông tin dự báo tình hình ùn tắc giao thông cho người dùng. Trên Hình 5.9(b), đường đi đã biết được đánh dấu bằng đường màu đỏ, đường màu xanh là đường đi dự đoán của người dùng. Các icon được khoanh vòng tròn đỏ là kết quả thông báo tình trạng có ùn tắc giao thông. Kết quả này có được nhờ việc thu thập các dữ liệu về mật độ giao thông từ 15 phút trước cho tới thời điểm hiện tại trên các trạm đèn giao thông. Dựa vào vị trí hiện tại trên con đường di chuyển dự đoán được mà lấy ra được các nút này. Từ đó server sẽ thực hiện tính toán mật độ trên các nút giao thông này và đưa ra thông báo cần thiết cho người dùng.
5.3.5 Kết hợp hai dịch vụ thông tin du lịch và thông báo ùn tắc giao thông Khi người dùng đăng ký cả hai dịch vụ của hệ thống gồm: lấy thông tin du lịch Khi người dùng đăng ký cả hai dịch vụ của hệ thống gồm: lấy thông tin du lịch và nhận các thông báo về tình trạng ùn tắc giao thông, hệ thống có nhiệm vụ thông báo cả hai loại thông tin dịch vụ này tới thiết bị điện thoại của ngời dùng. Hình 5.10 mô tả kết quả của hệ thống trả về khi người dùng đăng ký cả hai loại dịch vụ này.
68
Hình 5.10 Kết quả thông báo cho kết hợp dịch vụ du lịch và giao thông
Với giả định hệ thống có thể tìm được đường đi ngắn nhất tới đích, từ kết quả ở Hình 5.10, sau khi kết quả tìm kiếm được hiển thị, người dùng nhấn vào một lễ hội bất kỳ thì hệ thống sẽ tìm kiếm xem trên đoạn đường đó có xảy ra ùn tắc giao thông không, và kết quả ở Hình 5.10(a) là bình thường, với kết quả ở Hình 5.10(b) có xảy ra ùn tắc giao thông, vị trí xảy ra ùn tắc ở tại chỗ icon được khoanh tròn màu xanh.
5.4 So sánh với một số hệ thống cung cấp thông tin dựa trên vị trí hiện tại tại
Với đa phần hệ thống trước kia như B_MAD (Bluethooth Mobile Adverting) System [36] và TIP [37] chẳng hạn, chỉ hỗ trợ một cơ chế push hoặc pull. Hệ thống mà luận văn xây dựng đã đáp ứng đầy đủ cả hai cơ chế này, đảm bảo việc gửi thông tin tự động và hỗ trợ chức năng tìm kiếm của người dùng.
Với việc sử dụng CSDL không gian – thời gian theo mô hình Quan hệ thực thể thông thường để mô hình hóa quan hệ các đối tượng trong hệ thống, các hệ thống trước kia chỉ đáp ứng cho một loại hình dịch vụ nhất định như hệ thống TIP cung cấp thông tin du lịch, hệ thống Remember cung cấp dịch vụ hướng dẫn thông tin trong bảo tàng. Với hệ thống mà luận văn xây dựng thì áp dụng công nghệ Ontology một trong các công nghệ của Semantic Web, nhờ sử dụng công nghệ này mà hệ thống có thể dễ dàng tích hợp thêm các dịch vụ khác nhau vào hệ thống, cụ thể trong hệ thống này tích hợp hai loại dịch vụ, bao gồm du lịch và giao thông.
69
Chương 6 Kết luận
Ngày nay, Các thuật ngữ mô tả về vị trí và thời gian của một đối tượng có thể gây ra sự nhập nhằng về ngữ nghĩa trong quá trình tích hợp các dịch vụ LBS với nhau, để khắc phục sự nhầm lần này ta phải dùng ontology định nghĩa ngữ nghĩa của các thuật ngữ cụ thể, đồng thời để thống nhất các thuật ngữ, nhờ vậy mà việc tích hợp thành phần dịch vụ của LBS trở lên thuận lợi hơn.
Hệ thống được xây dựng trong luận văn có sự phân chia dữ liệu thành ba loại: dữ liệu Miền, dữ liệu Ứng dụng, dữ liệu Nội dung, đồng thời xây dựng ontology tương ứng với ba loại dữ liệu trên. Có sự chia sẻ dữ liệu giữa ba loại hình dữ liệu này. Dữ liệu Miền chủ yếu phản ảnh di chuyển của người dùng theo không gian và thời gian, dữ liệu Ứng dụng để lưu trữ thông tin profile người dùng và profile dịch vụ. Tương ứng với mỗi loại hình dịch vụ mà hệ thống cung cấp, sẽ có một tầng dữ liệu Nội dung cung. Hai yếu tố ontology dữ liệu Miền và ontology dữ liệu Ứng dụng sẽ được tái sử dụng trong các ứng dụng dịch của của LBS. Hơn nữa, việc phân tầng Dữ liệu Nội dung sẽ làm giảm thiểu lượng dữ liệu dư thừa trong truy vấn so với kiến trúc trước kia của LBS.
Kết quả đạt được của luận văn gồm có: thiết kế cấu trúc chức năng cho hệ thống cung cấp thông tin ngữ cảnh du lịch và giao thông; thiết kế dữ liệu bằng việc phân hoạch data và tạo các Ontology dựa vào mô hình quan hệ thực thể; xây dựng thuật toán cung cấp thông tin dựa vào vị trí, thời gian, lịch sử sử dụng và profile. Hệ thống thử nghiệm được cài đặt dựa vào thiết kế hệ thống đã xây dựng. Hệ thống này đã cài đặt hai cơ chế Push và Pull nhằm đáp ứng gửi thông tin cần thiết tự động và nhu cầu tìm kiếm của người dùng. Dựa vào nội dung cơ bản đề tài, một số hướng phát triển mở rộng trong tương lai của hệ thống là khả năng tương tác với dùng bằng âm thanh, tiếng nói. Âm thanh có nhiều tiện ích hơn hình ảnh thông báo, đặc biệt là giúp người đang điều khiển xe không cần phải theo dõi màn hình thiết bị di động mà vẫn có thể nắm bắt thông tin kịp thời. Cùng với việc mở rộng các loại dịch vụ, thì việc áp dụng các kỹ thuật nâng cao nhằm tối ưu hóa tìm kiếm khi dữ liệu lớn dần lên là việc cần thiết; trong đó đáng kể tới là áp dụng kỹ thuật đánh chỉ mục trong Ontology.
70
TÀI LIỆU THAM KHẢO
Tài liệu tiếng việt
[1] TS.Vũ Thị Hồng Nhạn, “Nghiên cứu một mô hình cung cấp dịch vụ dựa trên vị trí”, nghiên cứu khoa học, Đại học Công Nghệ, 2012
Tài liệu tiếng anh
[2] S. Volz and D. Klinec. Nexus: The development of a platform for
location aware application. In Proceedings of the Third Turkish-German
Joint Geodetic Days Towards A Digital Age, Istanbul, Turkey, 1999.
[3] K. Cheverst, K. Mitchell, and N. Davies. The role of adaptive
hypermedia in a context-aware tourist GUIDE. Communications of the
ACM, 45(5):47–51, 2002.
[4] S. Poslad, H. Laamanen, R. Malaka, A. Nick, P. Buckle, and A. Zipf. Crumpet: Creation of user- friendly mobile services personalised for
tourism. In Proceedings of 3G 2001 -Second International Conference
on 3G Mobile Communication Technologies, 2001.
[5] R. Oppermann, M. Specht, and I. Jaceniak. Hippie: A nomadic
information system. In Proceedings of the First International
Symposium Handheld and Ubiquitous Computing (HUC), 1999.
[6] S. Hsi. The electronic guidebook: A study of user experiences using
mobile web content in a museum setting. In Proceedings of the IEEE Intl.
Workshop on Wireless and Mobile Technologies in Education (WMTE),
2002.
[7] M. Fleck, M. Frid, T. Kindberg, E. O’Brien-Strain, R. Rajani, and M. Spasojevic. From informing to remembering: Ubiquitous systems in
interactive museums. Pervasive Computing, 1(2):13–21, 2002.
[8] A. P. Sistla, O. Wolfson, S. Chamberlain, and S. Dao. Modeling and