Trong hệ thống ngữ nghĩa về du lịch Việt Nam có một module rất quan trọng là module tự động gán nhãn địa điểm du lịch Việt Nam để tăng độ chính xác của dữ liệu, chính vì vậy, trong luận
Trang 1BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI
-
LÊ ANH TIẾN
TÊN ĐỀ TÀI LUẬN VĂN XÂY DỰNG KHO DỮ LIỆU LIÊN KẾT MỞ
VỀ ĐỊA ĐIỂM DU LỊCH VIỆT NAM
LUẬN VĂN THẠC SĨ KHOA HỌC
HỆ THỐNG THÔNG TIN
Trang 2
BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI
-
LÊ ANH TIẾN
TÊN ĐỀ TÀI LUẬN VĂN XÂY DỰNG KHO DỮ LIỆU LIÊN KẾT MỞ
VỀ ĐỊA ĐIỂM DU LỊCH VIỆT NAM
Chuyên ngành : Hệ thống thông tin
LUẬN VĂN THẠC SĨ KHOA HỌC
HỆ THỐNG THÔNG TIN
NGƯỜI HƯỚNG DẪN KHOA HỌC :
1 PGS.TS Cao Tuấn Dũng
Hà Nội – Năm 2018
Trang 3Lời cảm ơn
Đầu tiên, tôi xin được gửi lời cảm ơn chân thành đến các thầy giáo, cô giáo thuộc trường đại học Bách Khoa Hà Nội, đặc biệt là các thầy giáo, cô giáo thuộc Viện Công nghệ Thông tin và Truyền Thông Đồng thời tôi cũng xin được gửi lời cảm ơn đặc biệt đến PGS.TS Cao Tuấn Dũng Các thầy cô là người đã chỉ dẫn tận tình, cho tôi những kinh nghiệm quý báu để có thể hoàn thành luận văn này
Tôi xin gửi lời cảm ơn tới gia đình Sự sát cánh và động viên tinh thần từ gia đình luôn là động lực để tôi tiến lên phía trước
Trang 4Lời cam đoan
Tôi – Lê Anh Tiến - cam kết luận văn này là công trình nghiên cứu của bản thân tôi dưới sự hướng dẫn của PGS.TS Cao Tuấn Dũng
Các kết quả nêu trong luân vặn là trung thực, không phải là sao chép của bất cứ công trình đã được công bố nào khác Tất cả các trích dẫn đều được tham chiếu rõ ràng
Hà Nội, ngày 15 tháng 10 năm 2018
Tác giả luận văn
Lê Anh Tiến
Xác nhận của người hướng dẫn
Trang 5MỤC LỤC
MỤC LỤC 3
PHẦN MỞ ĐẦU 5
DANH MỤC HÌNH 7
DANH MỤC BẢNG 9
BẢNG TỪ VIẾT TẮT 10
Chương 1 CƠ SỞ LÝ THUYẾT VÀ NGHIÊN CỨU LIÊN QUAN 11
1.1 Cơ sở lý thuyết 11
1.1.1 Tổng quan về web ngữ nghĩa 11
1.1.2 Dữ liệu liên kết mở (Linked Open Data) 12
1.1.3 RDF và RDF schema 14
1.1.4 Ontology và ngôn ngữ OWL 18
1.1.5 Ngôn ngữ truy vấn SPARQL 19
1.1.6 Mạng nơ-ron 21
1.2 Các nghiên cứu liên quan 25
1.2.1 DBpedia 25
1.2.2 Tourpedia 26
Chương 2 HỆ THỐNG NGỮ NGHĨA VỀ ĐỊA ĐIỂM DU LỊCH VIỆT NAM 28
2.1 Giới thiệu về hệ thống ngữ nghĩa về du lịch Việt Nam 28
2.2 Phân loại địa điểm du lịch Việt Nam dựa trên học máy 32
2.2.1 Học máy có giám sát 33
2.2.2 Phương pháp Bag-of-Words 36
2.2.3 Quá trình triển khai 37
2.2.4 Đánh giá bộ phân lớp 44
Chương 3 XÂY DỰNG KHO DỮ LIỆU LIÊN KẾT MỞ ĐỊA ĐIỂM VIỆT NAM 47 3.1 Cơ sở dữ liệu liên kết mở du lịch Việt Nam 47
3.2 Quá trình xây dựng nguồn dữ liệu liên kết mở 50
3.2.1 Đặt đường dẫn URI 50
3.2.2 Cung cấp thông tin RDF 51
3.2.3 Tạo các đường dẫn kết nối 52
Trang 63.2.5 Kiểm tra chất lượng nguồn dữ liệu mở 53
3.3 Nâng cao chất lượng nguồn dữ liệu liên kết mở du lịch việt nam 53
3.3.1 Liên kết các nguồn dữ liệu liên kết mở 54
3.3.2 Xây dựng trang thông tin dữ liệu liên kết mở du lịch Việt Nam 56
Chương 4 ĐÁNH GIÁ KHO DỮ LIỆU NGỮ NGHĨA VỀ DU LỊCH VIỆT NAM 61 4.1 Kiểm tra dữ liệu liên kết về du lịch Việt Nam 61
4.2 Đánh giá kho dữ liệu liên kết mở 62
4.2.1 Phương thức đánh giá dữ liệu liên kết của Tim Berners-Lee 62
4.2.2 Đánh giá dữ liệu liên kết mở VTIO 63
KẾT LUẬN 66
TÀI LIỆU THAM KHẢO 67
Trang 7PHẦN MỞ ĐẦU
Kể từ khi được giới thiệu đến nay, công nghệ Web ngữ nghĩa đã có một bước phát triển vượt bậc Các kho dữ liệu lưu trữ dữ liệu có liên kết đang tăng lên nhanh chóng, tạo nên những mạng dữ liệu mà mọi có thể kết nối và hợp nhất với nhau dễ dàng ng d ng của web ngữ nghĩa được ứng d ng ở rất nhiều lĩnh vực trong đời sống từ di sản văn hoá cho đến y tế và du lịch là một trong những ngành công nghiệp đã phát triển vượt bậc nhờ sự xuất hiện của rất nhiều các website cung cấp những thông tin, hệ thống gợi ý, tra cứu ví d như Expedia hay Yelp Tuy vậy, dữ liệu du lịch chủ yếu được lưu trữ trên các trang thông tin dưới dạng văn bản Điều nào tạo nên vô số các tr ng lặp và nhập nh ng dẫn đến việc dư thừa dữ liệu và khiến việc tìm kiếm thông tin trở nên khó khăn và thiếu tính thống nhất Mặc khác
đã có rất nhiều nghiên cứu chỉ ra r ng web ngữ nghĩa có thể áp d ng rất hiểu quả vào lĩnh vực này Do đó, tôi muốn tập trung nghiên cứu về các khái niệm và ứng
d ng của web ngữ nghĩa để áp d ng nó cho bài toán thực tiễn tại Việt Nam
Mặc d dữ liệu có ngữ nghĩa được lưu trữ dưới dạng đồ thị có những ưu điểm vượt trội so với dữ liệu quan hệ, đến nay, ở Việt Nam, số lượng ứng d ng sử d ng web ngữ nghĩa vẫn chưa nhiều Dữ liệu về các địa điểm ở Việt Nam có xuất hiện ở một vài kho dữ liệu trên thế giới nhưng chưa đầy đủ và cập nhật Chính vì vậy, tôi thấy cần thiết để xây dựng một kho dữ liệu liên kết mở tiêu chuẩn về du lịch Việt Nam đảm bảo tính chính xác cao để cho phép các kho dữ liệu liên kết mở khác trên thế giới có thể kết nối, truy xuất thông tin qua đó có thể phủ rộng trên cả nước, tiết kiệm thời gian và công sức cho người biên tập
Cấu trúc luận văn gồm 4 chương với các nội dung chính như sau:
Chương 1 trình bày các kiến thức cơ sở về web ngữ nghĩa, dữ liệu liên kết mở, RDF
và những nghiên cứu liên quan về lĩnh vực này
Chương 2 giới thiệu sơ qua về nghiên cứu trước đây của bản thân bao gồm trình bày
sơ lược hệ thống ngữ nghĩa về du lịch Việt Nam có vai trò tạo dữ liệu ngữ nghĩa về
Trang 8các địa điểm tại Việt Nam với thông tin được thu thập từ các nguồn khác nhau trên mạng Trong hệ thống ngữ nghĩa về du lịch Việt Nam có một module rất quan trọng
là module tự động gán nhãn địa điểm du lịch Việt Nam để tăng độ chính xác của dữ liệu, chính vì vậy, trong luận văn này tôi cũng tìm hiểu và thử nghiệm một phương pháp khác để phân loại địa điểm để có thể so sánh với phương pháp đang được sử
d ng của hệ thống
Chương 3 sẽ trình bày về mô hình dữ liệu ngữ nghĩa về địa điểm du lịch Việt Nam
và quy trình xây dựng một kho dữ liệu ngữ nghĩa mở Chương này cũng đề cập tới một số công việc và cải tiến mà tôi đã tiến hành dành cho kho dữ liệu liên kết ngữ nghĩa du lịch Viêt Nam để dần đưa nó trở thành một nguồn dữ liệu mở có khả năng liên kết với các nguồn dữ liệu trên thế giới
Chương 4 sẽ đưa ra những đánh giá dành cho kho dữ liệu này dựa trên phương thức đánh giá của thế giới
Trang 9DANH MỤC HÌNH
Hình 1-1 Mô hình tầng mạng ngữ nghĩa 11
Hình 1-2 Một phần lod-cloud 13
Hình 1-3 Ví d cấu trúc một mệnh đề RDF 15
Hình 1-4.Ví d đồ thị RDF 17
Hình 1-5 Ví d một owl:DatatypeProperty 19
Hình 1-6 Ví d một câu truy vấn SPARQL 20
Hình 1-7 Ví d kết quả trả về SPARQL 21
Hình 1-8 Mô hình Noron 22
Hình 1-9 Mạng nơ ron truyền thẳng 23
Hình 1-10 Multi Layer Perceptron 24
Hình 1-11 Ví d một trang DBpedia 26
Hình 1-12 Mô hình một tài nguyên trong Tourpedia 27
Hình 2-1 Mô hình hệ thống dữ liệu ngữ nghĩa du lịch Việt Nam 30
Hình 2-2 Mô hình các bước học máy 34
Hình 2-3 Mô hình trực quan category mức 1 của ontology VTIO 35
Hình 2-4 Ví d bảng tính BoW 36
Hình 2-5 Ví d về cây DOM 38
Hình 2-6 Quá trình huấn luyện 43
Hình 3-1 Mô hình Ontology VTIO 49
Hình 3-2 Ví d một nút địa điểm khách sạn trong VTIO 50
Hình 3-3 Các trường owl:sameAs đối với thông tin Hà Nội 56
Trang 10Hình 3-4 Chuyển từ RDF sang RDFa+HTML 57
Hình 3-5 Trang thông tin du lịch VTIO 59
Hình 3-6 Kết quả truy vấn SPARQL 60
Hình 4-1 Kết quả đánh giá RDF VTIO 62
Hình 4-2 Dữ liệu lưu trữ dưới dạng file PDF trực tuyến .63
Hình 4-3 Truy vấn trên kho dữ liệu VTIO 64
Hình 4-4 Một nút của VTIO 64
Hình 4-5 Một nút của VTIO (2) 65
Trang 11DANH MỤC BẢNG
Bảng 1-1 Ví d một số namespace phổ biến 15
Bảng 1-2 Một số từ vựng RDF phổ biến .16
Bảng 1-3 Từ vựng RDFS phổ biến 18
Bảng 1-4 Thuộc tính biểu thị mối quan hệ giữa 2 Class và phép toán tập hợp tương ứng 19
Bảng 1-5 Thuộc tính về địa danh của Tourpedia 27
Bảng 2-1 Một số trang thông tin về du lịch Việt Nam 37
Bảng 2-2 Các trường dữ liệu trong bảng dữ liệu quan hệ 39
Bảng 3-1 Một số từ vựng trong kho dữ liệu VTIO 48
Bảng 3-2 Một số từ vựng ngoài trong VTIO 55
Trang 12RDF Resource Description Framework
URI Uniform Resource Identifier
Trang 13Chương 1 CƠ SỞ LÝ THUYẾT VÀ NGHIÊN CỨU LIÊN QUAN
Dữ liệu liên kết mở (Linked Open Data) là một trong những thành phần quan trọng của web ngữ nghĩa M c đích của web ngữ nghĩa là để liên kết các nguồn dữ liệu lại với nhau và giúp cho máy tính có thể dễ dàng đọc và xử lý những nguồn dữ liệu này, ví d như sử d ng ngôn ngữ truy vấn SPARQL Tại chương này, tôi sẽ trình bày sơ lược một số khái niệm và quy tắc cơ bản được sử d ng khi nghiên cứu đến kho dữ liệu liên kết mở và c ng với đó là giới thiệu một số LOD nổi tiếng và cũng liên quan đến lĩnh vực du lịch
1.1 Cơ sở lý thuyết
1.1.1 Tổng quan về web ngữ nghĩa
Web ngữ nghĩa có thể được xét như một mạng thông tin để mọi người có thể chia sẻ các nội dung và máy tính có thể xử lý ở mức độ toàn cầu Đây là một hình thức hiệu quả để biểu diễn dữ liệu trên mạng toàn cầu WWW, dưới dạng một cơ sở dữ liệu liên kết toàn cầu
Chính Tim Berners-Lee [3], cha đẻ của các công nghệ WWW, URIS, giao thức HTTP và ngôn ngữ HTML đã đưa ra khái niệm về mạng ngữ nghĩa Hội đồng mạng
Hình 1-1 Mô hình tầng mạng ngữ nghĩa
Trang 14mở rộng, nâng cấp và chuẩn hóa hệ thống này Thêm nữa, đã có rất nhiều công c
và ngôn ngữ lập trình được phát triển cho m c đích xây dựng hệ thống mạng ngữ nghĩa Mặc d công nghệ mạng ngữ nghĩa vẫn đang ở giai đoạn ban đầu nhưng nó cũng đã có những ứng d ng thành công ở một số lĩnh vực thực tế trong đời sống
Tổ chức W3C đã và đang làm việc để nâng cao, mở rộng và chuẩn hóa hệ thống này với việc rất nhiều ngôn ngữ, công trình nghiên cứu, công c và nhiều thức khác đã dược phát triển Tuy nhiên, vẫn còn rất nhiều những thách thức cho công nghệ này d tương lai của nó là rất đáng mong chờ
Hình 1-1 biểu diễn một mô hình khá quen thuộc cho những ai làm việc với định hướng mạng ngữ nghĩa Thường được thể hiện dưới dạng đồ thị nen để thể hiện hết các tầng của mạng ngữ nghĩa thì web ngữ nghĩa thường được biểu diễn dưới một trong các dạng: XML, RDF (Resource Description Framework) và Ontologies
1.1.2 Dữ liệu liên kết mở (Linked Open Data)
LOD (Linked Open Data) là tập thông tin có cấu trúc được biểu diễn sao cho ý nghĩa và có thể xử lý được đối với máy tính tuy nhiên không nhất thiết phải dễ đọc được đối với con người Dữ liệu LOD phải được công khai và có thể truy cập miễn phí qua mạng Internet
Dữ liệu liên kết (Linked Data) sử d ng web để kết nối các dữ liệu liên quan đến nhau mà trước đó chúng đứng hoàn toàn độc lập Dữ liệu liên kết là nòng cốt trong web ngữ nghĩa và nó còn là tập các nguyên tắc thiết kế để chia sẻ dữ liệu qua mạng
để máy tính có thể đọc và xử lý được Nói cách khác, dữ liệu liên kết sẽ gỡ bỏ dần những rào cản của những cơ sở dữ liệu độc lập để chúng có thể kết nối được với nhau qua mạng tạo nên một mạng dữ liệu
Nếu tất cả các tập dữ liệu đều được công khai và sử d ng chung một chuẩn để biểu diễn thông tin, việc tích hợp tất cả các dữ liệu c ng một lúc sẽ hoàn toàn khả thi Khi đó máy tính sẽ có thể truy cập và xử lý lượng lớn dữ liệu liên quan đến nhau
ph c v cho các công việc khác nhau
Trang 15Một trong những dự án liên kết các nguồn LOD nổi tiếng nhất là lod-cloud.net Hiện đến 6/2018 đã có tổng cộng 1.224 tập LOD được đưa lên lod-cloud và 16.113 liên kết được tạo ra giữa các tập LOD này
Hình 1-2 Một phần lod-cloud
Tập dữ liệu LOD nổi tiếng nhất phải kể đến là DBpedia sẽ được đề cập đến ở phần sau trong luận văn này Một trong những chuẩn biểu diễn dữ liệu LOD phổ biến nhất là RDF/XML
Trang 161.1.3 RDF và RDF schema
1.1.3.1 RDF
RDF, viết tắt của Resource Description Framework,[6] được coi như là bộ khung để biểu diễn các tài nguyên trên mạng Nó được thiết kể để có thể đọc và hiểu bởi máy tính nhưng không được thiết kế để con người có thể dễ dàng đọc RDF được xây dựng dựa trên công nghệ XML và là một phần trong những hoạt động về mạng ngữ nghĩa của W3C
Thông tin được biểu diễn dưới dạng các mệnh đề RDF khai báo Resource là lớp cha của tất cả các thực thể và lớp trong thuật ngữ ontology Nó bao gồm các tài nguyên (thực thể và lớp) và kết nối chúng với nhau qua các đặc tích (thuộc tính và quan hệ) để tạo thành những mệnh đề Định danh URIs được sử d ng để nhận biết các tài nguyên hoặc thuộc tính trong một đồ thị mệnh đề Một mệnh đề RDF, được
gọi là một triple, bao gồm một chủ đề (subject), một vị ngữ (predicate) và một đối tượng (object), tất cả đều là tài nguyên
RDF bao gồm những thành phần sau:
Nguồn (Source)
Tất cả mọi thử đều có thể định danh, nó có thể là một đối tượng số hóa (văn bản trực tuyến, ảnh hoặc dịch v ) hoặc mọt dối tượng vật lý (một quyển sach) hoặc một tập các dữ liệu định danh
URIref (URI reference)
Ở dạng URI#fragment_identifier
Ví d : URIref http://vtio.tech/#Address-Number
Đây là một định dang độc lập với định danh đoạn (fragment identifier) là
Address-Number, thành phần URI là http://vtio.tech
Namespace
Mỗi namespace được định danh bởi một URIref
Trang 17namespace URIref tương ứng
S: là chủ đề của mệnh đề (subject), là một URL
P: Thuộc tính (hay còn gọi là predicate) của mệnh đề, định nghĩa phần thông tin của đối tượng mà ta gán giá trị cho
O: đối tượng của mệnh dề, là một giá trị c thể (ví d kiểu xâu) hoặc một đường dẫn URI
Trang 18 Một Resource (tài nguyên) là tất cả mội thứ mà có thể có một URI ví d
"http://www.w3schools.com/rdf"
Một Property (thuộc tính) is là một Resource có tên ví d "author" hoặc
"homepage"
Một giá trị Property là giá trị của Property ví d như "Jan Egil Refsnes" hoặc
"http://www.w3schools.com" (lưu ý một giá trị property có thể là một tài nguyên khác)
Từ vựng (Vocabulary)
Từ vựng là tập các IRIs được sử d ng trong đồ thị RDF, nó cũng được coi là namespace RDF Schema có thể tự sử d ng để định nghĩa ra các từ vựng RDF IRIs trong từ vựng RDF thường bắt đầu một xâu phổ biến được biết đến như là namespace IRI Một vài namespace IRIs được gắn theo quy ước với tiền tố namespace Ví d :
Tên M c đích
rdf:RDF Thể hiện một tài liệu RDF/XML
rdf:Description Thể hiện bắt đầu của một mô tả của một câu lệnh RDF
rdf:about Là một attribue của rdf:Description, chỉ ra subject của câu
lệnh RDF Subject đó
- chính là giá trị của rdf:about nếu nó có dạng một URIref
- B ng base URI kết hợp với giá trị của rdf:about nếu nó không phải là URIref
rdf:ID Là một attribute của rdf:Description, chỉ ra subject của câu
lệnh RDF Subject đó b ng URI base với dấu “#” với giá trị của rdf:ID
rdf:type Là một attribute của môt property, nó chỉ ra object của một
câu lệnh RDF Object đó b ng:
- giá trị của rdf:resource nếu nó là một URIref
- B ng Base URI kết hợp với giá trị của rdf:resource nếu nó không phải là một URIref
Bảng 1-2 Một số từ vựng RDF phổ biến
Trang 191.1.3.1 Đồ thị RDF
Đồ thị RDF được tạo bởi tập các triples kết nối với nhau
Hình 1-4.Ví dụ đồ thị RDF
Ở hình 1-3, URI là http://vtio.esy.es/quang-ninh/Ha-Long-Bay có thuộc tính “type”
là một đối tượn trong URI http://vtio.esy.es#tourism-resource, và có đánh giá là một giá trị thực “5 star” và là một phần của đối tượng URI http://vtio.esy.es#quang-ninh
Tất cả 3 thuộc tính “type, isPartOf, hasRating” có đường dẫn URIs là
https://www.w3.org/1999/02/22-rdf-syntax-ns#type, gttp://vtio.esy.es#IsPartOf and gttp://vtio.esy.es#hasRating
1.1.3.1 RDF Schema
RDF có những hạn chế như là: property rdf:type có một ngữ nghĩa đã được định trước, nó không cung cấp cách để định nghĩa các lớp và thuộc tính cho bản thân ứng dựng
Do đó, RDFS được đưa ra để bổ sung cho RDF RDFS là mở rộng của RDF, có thể
mô tả được những lớp và thuộc tính do ứng d ng tự đặt, và cả các thứ bậc của chúng
RDF Schema được định nghĩa như là một vocabulary (qualified name, xml namespace), URIref của nó là http://www.w3.org/2000/01/rdf-schema#, và tên điển hình của nó là rdfs
Trang 20 Lớp (Class)
Một lớp là một tài nguyên mà có rdf:type là rdfs:Class
Một lớp C được định nghĩa là lớp con của lớp D b ng cách sử d ng property rdfs:subClassOf Property rdfs:subClassOf có tính bắc cầu trong RDFS
Thuộc tính (Property)
Một thuộc tính là bất kỳ khởi tạo nào của 1 lớp rdfs:Property
Trong các thuộc tính của rdfs thì có 2 thuộc tính quan trọng là domain và range
Khởi tạo (Instance)
Một khởi tạo của lớp C là một tài nguyên mà có giá trị của rdf:type là C Một tài nguyên có thể là khởi tạo của nhiều hơn một lớp
Các từ vựng RDFS hay được sử d ng:
rdfs:Class Một tài nguyên ký hiệu lớp của tất cả các lớp
rdfs:subClassOf Một property định nghĩa một lớp là lớp con của lớp khác rdfs:domain Là một propery, được sử d ng để chỉ r ng một property
c thể áp d ng cho một lớp đã được chỉ định trước rdfs:range Là một property, được sử d ng để chỉ r ng giá trị của
một property thuộc một lớp đã được chỉ định trước rdsf:subPropertyOf Một thuộc tính (property) thể hiện một thuộc tính là
thuộc tính con của một thuộc tính khác
rdfs:seeAlso Một thuộc tính thể hiện một tài nguyên có liên quan tới
một tài nguyên khác mà có thể cung cấp thêm thông tin
về tài nguyên đó rdfs:label Một thuộc tính d ng để gán một tên cho một tài nguyên
Bảng 1-3 Từ vựng RDFS phổ biến
1.1.4 Ontology và ngôn ngữ OWL
OWL (Web Ontology Language) cũng là một vocabulary như RDF và RDFS nhưng giàu ngữ nghĩa hơn
Property
Trang 21Không giống như RDFS, OWL phân ra thành 2 loại thuộc tính (property): một loại
có tập giá trị (range) là tập các tài nguyên, còn một loại có range là tập các giá trị lateral Tên 2 loại tương ứng là ObjectProperty và DatatypeProperty
- DatatypeProperty: là thể hiện mối quan hệ giữa một tập các khởi tạo của một lớp, với một tập các khởi tạo của một Datatype ( Định nghĩa kiểu integer, long, Boolean, string, …)
- ObjectProperty: Thể hiện mối quan hệ giữa tập các khởi tạo của 2 lớp
<owl:DatatypeProperty rdf:about="http://hust.se.vtio.owl#hasValue"> <rdfs:label xml:lang="en">has value</rdfs:label>
<rdfs:label xml:lang="vn">có giá trị</rdfs:label>
Bảng 1-4 Thuộc tính biểu thị mối quan hệ giữa 2 Class và phép toán tập hợp tương ứng
1.1.5 Ngôn ngữ truy vấn SPARQL
Cũng giống như SQL là ngôn ngữ truy vấn dành cho cơ sở dữ liệu quan hệ thì SPARQL là ngôn ngữ truy vấn dành cho cơ sở dữ liệu đồ thị
Trang 221.1.5.1 Cú pháp của SPARQL
Ví d một câu truy vấn SPARQL
PREFIX vtio: <http://vtio.tech#>
Hình 1-6 Ví dụ một câu truy vấn SPARQL
Từ khóa PREFIX: Kết hợp một nhãn prefix với lại một URI Một prefixed name thì gồm 2 phần phần nhãn prefix và một phần local ngăn nhau b ng dấu :
Ví d câu lệnh SPARQL ở trên nhãn prefix là vtio đại diện cho URI: http://vtio.tech#
Từ khóa Select: liệt kê ra các biến muốn thu được:
Như câu SPARQL ở trên thì lấy ra ba biến ?x ?y ?z thỏa mãn:
?y là tên category và nó là lớp con của category vtio:Dining-Service (có dấu * nghĩa
là lớp con cháu của lớp Dining-Service)
?x: ?x là một URI của đối tượng địa điểm mà có type là ?y
?x có địa chỉ là ?z
Từ khóa FILTER: Lọc ra kết quả Ví d
FILTER (lang(?label) = "en"): Lọc ra những địa điểm nào có label là “en”
Ngoài ra SPARQL cũng sử d ng các từ khóa khác như là DINSTINT, LIMIT, UNION, … có cách d ng tương tự như SQL
1.1.5.1 Kết quả của câu truy vấn SPARQL
Nếu sử d ng thư viện Graph trong Ruby thì kết quả trả về là một string JSON
Ví d :
{
Trang 23"Sunrise Hoi An Beach Resort@en",
"Resort"
] ]
Trang 24Hình 1-8 Mô hình Noron
Hàm f là một hàm phi tuyến tính và được gọi là hàm kích hoạt M c đích của hàm f
là để thể hiện tính phi tuyến tính đối với output Y Dưới đây là ví d của một số hàm kích hoạt:
Sigmoid: Lấy một giá trị đầu vào thực và nén nó về giá trị trong khoảng [0;1]
1.1.6.1 Mạng nơ-ron nhân tạo truyền thẳng
Mạng nơ-ron nhân tạo truyền thẳng (feedforward neural network) là một trong những mạng nơ-ron đầu tiên và đơn giản nhất Nó chứa một số các nơ-ron và được xếp thành các lớp (layer) Node ở các lớp liền nhau có những cạnh kết nối giưã chúng, các cạnh này đều có trọng số
Trang 25Hình 1-9 Mạng nơ ron truyền thẳng
Một mạng nơ-ron truyền thẳng chứa ba loại node chính:
Input Nodes – Node này đưa thông tin từ thế giới bên ngoài vào mạng và
c ng nhau chúng tạo thành “Input Layer” Không có tính toán được thực hiện ở Input nodes
Hidden Nodes – những node này không có liên hệ trực tiếp đến thế thời bên ngoài Chúng thực hiện những tính toán và chuyển thông tin từ input node sang output node C ng nhau chúng tạo thành "Hidden Layer" Một mạng có thể có 1 hoặc nhiều "Hidden Layer"
Output Nodes – Thuộc "Output Layer" có nhiệm v tính toán và chuyển thông tin từ trong mạng ra bên ngoài
Có 2 loại mạng nơ-ron truyền thẳng:
Single Layer Perceptron – Là mạng nơ-ron truyền thẳng đơn giản nhất và không chưa hidden layer nào
Multi Layer Perceptron – Có một hoặc nhiều hidden layer
1.1.6.1 Multi Layer Perceptron
Một Multi Layer Perceptron (MLP) chứa một hoặc nhiều hidden layer Hình dưới là
ví d một MLP có một hidden layer
Trang 26Input Layer: Lớp đầu vào có 3 node Node Bias có giá trị là một 2 node X1 và X2
là lấy đầu vào từ bên ngoài Những giá trị này cũng chính là đầu ra của input layer
và chúng sẽ được đưa vào hidden layer
Hình 1-10 Multi Layer Perceptron
Hidden Layer: Lớp này có 3 node trong đó có một bias node có đầu ra là 1 Đầu ra của 2 node còn lại ph thuộc vào đầu vào của lớp input (1, X1, X2) và trọng số ứng với từng cạnh (w0, w1, w2) Đầu ra của lớp này sẽ được đưa đến Output
Output Layer: Lớp này có 2 node lấy đầu vào từ đầu ra của Hidden Layer và thực hiện các tính toán tương tự như node trước Kết quả có được là (Y1 và Y2)
Cho một tập đầu vào X = (X1, X2 ) và output xác định Y Một MLP sẽ có thể học được mối quan hệ giữa tập đặc trưng đầu vào và kết quả để ph c v cho các bài toàn phân loại hay quay lui
1.1.6.1 Thuật toán truyền ngược (Back-Propagation)
Quá trình để cho một MLP học được gọi là thuật toán truyền ngược
Backward Propagation of Errors, hay còn gọi là BackProp, là một trong số các phương pháp để huấn luyện mạng nơ-ron Đây là một sơ đồ huấn luyện có giám sát tức là nó học theo những dữ liệu đã được gắn nhãn
Trang 27Một mạng nơ-ron nhân tạo chứa nhiều lớp như đã nhắc tới ở trên Sự kết nối giữa các lớp liền nhau là các cạnh mang trọng số riêng M c đích của việc học chính là đưa được những trọng số chính xác cho các cạnh Đưa một vector đầu vào thì những trọng số này sẽ xác định vector đầu ra là gì
Trong huấn luyện giám sát, những dữ liệu d ng để huấn luyện đều đã được gẵn nhãn Tức là với những đầu vào nhất định, chúng ta đã biết trước được đầu ra của
nó
Thuật toán BackProp: Khởi đầu tất cả các trọng số đều được gắn một cách ngẫu nhiên Với mỗi đầu vào trong tập dữ liệu cho trước, mạng nơ-ron sẽ được kích hoạt
và đầu ra của chúng sẽ được theo dõi Đầu ra này sẽ được so sánh với đầu ra chúng
ta đã biết trước, và lỗi sai sẽ được truyền ngược về lớp phía trước nó Những sai số này sẽ được ghi nhận và trọng số sẽ được chỉnh lại ph hợp Quá trình này được lặp
đi lặp lại cho đến khi sai số đầu ra ở dưới một ngưỡng cho phép
1.2 Các nghiên cứu liên quan
1.2.1 DBpedia
Là tập dữ liệu liên kết, DBpedia [4] được biểu diễn ở nhiều ngôn ngữ khác nhau Phiên bản tiengs anh có khoảng 4 triệu thực thể, được phân loại thành cách nhãn bao gồm con người, địa điểm, công việc sang tạo, tổ chức, loài vật và bệnh Cơ sở tri thức DBpedia có rất nhiều lợi thế so với những cơ sở tri trức trước đây: nó bao phủ rất nhiều lĩnh vực; nó biểu diễn những thông tin thực tế; nó tự động thay đổi theo Wikipedia và nó thực sự đa ngôn ngữ Tuy nhiên, DBpedia, cũng như Wikipedia, chỉ chứa một số ít các thực thể liên quan đến lĩnh vực du lịch, ví d như khách sạn hay nhà hàng Ngoài ra, theo như tìm hiểu, cũng không có nhiều cơ sở dữ liệu liên kết trong lĩnh vực du lịch
Trang 28Hình 1-11 Ví dụ một trang DBpedia
1.2.2 Tourpedia
Có một số ít dữ liệu liên kết về du lịch Một ví d điển hình trong đó là Tourpedia[5], nó bao gồm và tích hợp dữ liệu được trích tách từ 4 mạng xã hội lớn: Facebook, Foursquare, Google Places và Booking.com Tourpedia bao gồm gần nửa triệu địa điểm, chia ra thành 4 nhãn: khách sạn, nhà hàng, địa điểm phổ biến và danh thắng Tourpedia được phát triển trong dự án OpeNER M c đích chính của OpeNER là cung cấp một tập module sử d ng cho xử lý ngôn ngữ tự nhiên C thể hơn, OpeNER tập trung vào xây dựng trên 6 ngôn ngữ (English, Spanish, German, French, Italian, và Dutch) cho phép đính danh và giảm nhập nh ng các tên thực thể
và phân tích nghĩa trong những đoạn văn bản
Tourpedia xây dựng kho dữ liệu liên kết của họ sử d ng những từ vựng sau:
schema.org để biểu diễn thực thể như người, địa điểm hoặc các loại hình
Trang 29Hình 1-12 Mô hình một tài nguyên trong Tourpedia
Mô hình trên biểu diễn một dữ liệu về một bảo tảng ở Tuscany theo cách nhìn đồ thị Đây
là các Tourpedia biểu diễn mô hình ontology của họ và công bố thông tin du lịch quốc tế dưới dạng dữ liệu liên kết mở Những trường dữ liệu ứng với những thuộc tính trong RDF/XML:
Trường dữ liệu mở Thuộc tính
type
tourpedia :type domain : schema :TouristAttraction range : literal
Domain category (art, history,
natural science)
tourpedia :topic domain : schema :TouristAttraction ragne : literal
Bảng 1-5 Thuộc tính về địa danh của Tourpedia
Cả hai nghiên cứu trên đều là những nguồn dữ liệu về du lịch khá đầy đủ và nổi tiếng tuy nhiên đối với DBpedia thì do kho dữ liệu trải rộng các lĩnh vực nên không
đi sâu vào lĩnh vực du lịch do đó thiếu rất nhiều những thông tin c thể về du lịch trên thế giới cũng như ở Việt Nam còn Tourpedia là kho dữ liệu du lịch của một số nước châu Âu Chính vì vậy, tôi thấy cần thiết để xây dựng một kho LOD riêng về địa điểm du lịch Việt Nam để có thể quảng cáo về du lịch Việt Nam cho thế giới và
Trang 30Chương 2 HỆ THỐNG NGỮ NGHĨA VỀ ĐỊA ĐIỂM DU LỊCH VIỆT NAM
Để có thể xây dựng một kho dữ liệu liên kết mở về du lịch Việt Nam, điều quan trọng nhất là ta cần một nguồn dữ liệu chính xác và đầy đủ được biểu diễn dưới dạng ngữ nghĩa Trong các nghiên cứu trước đây, tôi cũng đã tham gia xây dựng hệ thống ngữ nghĩa về du lịch Việt Nam với m c đích tích hợp và chuyển đổi các nguồn dữ liệu thu thập được từ các trang thông tin về du lịch để hợp nhất thành một kho dữ liệu ngữ nghĩa về du lịch của Việt Nam Hệ thống này sẽ được giới thiệu sơ qua ở phần này Ngoài ra, trong nghiên cứu này tôi cũng đã tìm hiểu và thử nghiệm một phương pháp phân loại địa điểm dựa trên học máy để có thể so sánh với phương pháp phân loại dựa trên thuật toán TF-IDF của hệ thống
2.1 Giới thiệu về hệ thống ngữ nghĩa về du lịch Việt Nam
Hệ thống ngữ nghĩa về du lịch Việt Nam [2] là một hệ thống tổng hợp dữ liệu một cách bán tự động, cho phép truy vấn thông tin một cách đồng nhất Hệ thống được
tổ chức từ tầng xây dựng dữ liệu đến tầng người d ng được mô tả ở hình 2-1 Hệ thống phát triển dữ liệu ngữ nghĩa về du lịch (được gọi tắt là ViSIS) được cài đặt ở tầng cao nhất và STAAR [9] sẽ là giao diện để tương tác với người d ng
Ở tầng tạo dữ liệu (data generating layer) là hệ thống phát triển dữ liệu ngữ nghĩa về
du lịch (ViSIS), đây là hệ thống xây dựng dữ liệu liên kết về địa điểm ví d như nhà hàng, khách sạn, thắng cảnh và bệnh viện Hệ thống sẽ trích tách và tích hợp thông tin về địa điểm từ nhiều cơ sở dữ liệu quan hệ chứa dữ liệu được lấy từ nhiều trang thông tin và mạng xã hội về du lịch như Fourspuare, Agoda, Mytour…
Trong ViSIS, một giao diện trình duyệt được xây dựng dựa trên framework CakePHP cho phép quản trị viên có thể theo dõi và phân tích dữ liệu Tập dữ liệu du lịch được lấy từ các nguồn trên mạng sẽ được trích tách và xử lý thông qua bốn bước chính được trình bày ở dưới:
Bước crawler sẽ bóc tách dữ liệu từ nhiều trang thông tin và mạng xã hội khác nhau để đưa chúng vào trong cơ sở dữ liệu quan hệ MySQL
Trang 31 Bước chuẩn hóa dữ liệu sẽ điều chỉnh thông tin từ các bảng (chuẩn hóa số điện thoại, tách địa chỉ, gắn lại nhãn địa điểm, loại bỏ link ảnh chết…)
Bước tổng hợp dữ liệu sẽ tìm kiếm những địa điểm bị tr ng lặp do dữ liệu được tổng hợp từ các nguồn khác nhau và hợp nhất về một địa điểm chung đầy đủ thông tin
Cuối c ng, dữ liệu liên kết sẽ được tạo ra dưới dạng file RDF sau bước làm giàu dữ liệu ngữ nghĩa File này sẽ được đưa lên AllegroGraph Server để các ứng d ng sử d ng hoặc đưa lên trang web ngữ nghĩa
Hệ thống gợi ý và cung cấp thông tin ngữ nghĩa về du lịch (STAAR) có m c đích tận d ng những ưu điểm của công nghệ web ngữ nghĩa để giúp mọi người tìm thấy thông tin liên quan đến chuyến đi của họ qua website và điện thoại thông minh ở tầng người d ng STAAR cung cấp tính năng hướng dẫn thông minh sử d ng mô hình ontology và hệ thống định vị GPS Hệ thống này sử d ng tập API để đóng gói thông tin ở tầng giữa, tầng có nhiệm v xử lý truy vấn ngữ nghĩa của người d ng
Hệ thống STAAR phát triển cho cả nền tảng web và di động cho phép người d ng truy cập tài nguyên du lịch được biểu diễn dưới dạng ngữ nghĩa và nhân được những gợi ý hành trình tại các địa điểm khác nhau
Trang 32Hình 2-1 Mô hình hệ thống dữ liệu ngữ nghĩa du lịch Việt Nam
Một trong những module quan trọng trong VISIS là module phân loại địa điểm du lịch tự động vì nó ảnh hưởng đến độ chính xác của kho dữ liệu ngữ nghĩa Hiện nay
hệ thống đang sử d ng thuật toán TF-IDF [10] để hỗ trợ cho việc phân loại địa điểm
Để xây dựng tập từ điền ph c v cho việc phân loại địa điểm, tôi tiến hành thu thập tập mô tả dữ liệu đã được phân loại sẵn Sau khi thu thập về dữ liệu sẽ được đưa qua công đoạn xử lý bao gồm tách từ và loại bỏ stopwords trước khi được đưa qua thông kê số lần xuất hiện của các từ trong từng tập mô tả Sau đó ta áp d ng độ đo TF-IDF để lấy ra được tập từ có mức độ quan trọng cao nhất đối với mỗi chủ đề
Trang 33Thuật toán TF-IDF là một trong những phương pháp phổ biến để đánh giá và xếp hạng một từ trong một tài liệu
Công thức tính độ đo này c thể như sau
f(t,d) – số lần xuát hiện từ t trong văn bản d
max(f(w,d): w ϵ d} – số lần xuất hiện nhiều nhất của 1 từ trong văn bản
IDF – inverse document frequency: tần số nghịch của 1 từ trong tập văn bản Mỗi từ chỉ có duy nhất 1 giá trị IDF trong cả tập văn bản, giá trị IDF giảm dần nếu từ càng phổ biến
t ϵ d}|)
Sau khi áp d ng IF-IDF, với mỗi Category ta sẽ có tập các từ được sắp xếp từ cao đến thấp theo trọng số là độ liên quan của từ đó đến Category đó Tuy nhiên, độ lớn của các Corpus của các Category là không đồng đều nên dẫn đến 1 từ X có trọng số cao nhất đối với Category A nhưng lại thấp hơn trọng số của từ X đó trong Category B mà độ liên quan của từ X đối với Category A lớn hơn so với Category B ( Có thể hiểu đơn giản là khi gặp từ X ta sẽ liên tưởng đến Category A nhiều hơn là
Trang 34vấn đề này, ta quy ước từ có trọng số lớn nhất trong 1 Category sẽ có giá trị b ng 1, trọng số các từ còn lại sẽ được quy đổi theo tỉ lệ tương ứng
Trọng số phân loại Wtf-idf của một đoạn mô tả mới được xác định b ng việc tính trung bình cộng trọng số của các từ trong đoạn mô tả
Ngoài giá trị tính tượng từ tf-idf, module phân loại địa điểm còn sử d ng tên địa điểm và nhãn cũ của địa điểm làm trọng số để xét gán nhãn địa điểm để tăng độ chính xác, c thể trọng số gán nhãn mới cho địa điểm được tính như sau:
return Category Wmax
#Wname được tính đến khi tên của địa điểm chứa từ khóa trùng với nhãn
#Wold_category được xét đến khi nhãn cũ của địa điểm có trong tập nhãn của hệ thống
Thuật toán TF-IDF được sử d ng đã cho kết quả phân loại khá tốt Tuy nhiên, trong nghiên cứu này tôi sẽ tìm hiểu và thử nghiệm một phương pháp phân loại khác sử
d ng mạng nơ-ron để có thể so sánh với thuật toán cũ nh m nâng cao hơn nữa tính chính xác của dữ liệu ngữ nghĩa về địa điểm du lịch Việt Nam
2.2 Phân loại địa điểm du lịch Việt Nam dựa trên học máy
Như đã đề cập ở phần 2.1, bài toán phân loại địa điểm là một trong những bài toán quan trọng trong việc xây dựng kho dữ liệu liên kết về địa điểm du lịch Việt Nam Thuật toán TF-IDF được sử d ng ở hệ thống hiện tại đã chứng minh tính hiệu quả của nó t y nhiên ở nghiên cứu trước nó mới chỉ được so sánh với thuật toán đơn giản là phân loại theo từ khóa (kiểm tra những từ khóa liên quan đến nhãn có trong
Trang 35mô tả của địa điểm) Chính vì vậy, tôi thấy cần thiết để nghiên cứu thêm một thuật toán phân loại khác để có thể so sánh với thuật toán đang được sử d ng
Học máy và mạng nơ-ron đang là một trong những công nghệ được sử d ng rộng rãi và áp d ng trong nhiều bài toán như phân loại, dự đoán… Do đó, trong luận văn này, tôi sẽ tìm hiểu và tiến hành cài đặt thử nghiệm mô hình mạng nơ-ron để áp
d ng cho bài toán phân loại địa điểm du lịch Việt Nam
2.2.1 Học máy có giám sát
Học máy là một trong những hướng nghiên cứu của khoa học máy tính với việc sử
d ng các kỹ thuật thống kê để giúp cho các hệ thống máy tính có được một khả năng “học” với các dữ liệu
Có rất nhiều kiểu thuật toán và ứng d ng được sử d ng trong học máy và càng ngày lại càng có thêm nhiều thuật toán mới Thường những thuật toán này sẽ được nhóm theo kiểu học (học có giám sát, học không giám sát) hoặc theo m c đích (phân loại, cây quyết định, học sâu…) Tựu chung lại thì Machine Learning có thể được chia làm ba bước chính như sau:
Modeling: là bước mô hình hóa bài toán Với mỗi một loại bài toán lại có một mô hình ph hợp như hồi quy hoặc phân lớp hoặc tuyến tính hoặc phi tuyến tính Nhắc lại một lần nữa TÙY YÊU CẦU BÀI TOÁN Sau bước này
ta sẽ tìm ra được một số thuật toán ph hợp cho bước tiếp theo
Learning: sau khi đã lựa chọn được thuật toán thì bước tiếp theo đó chính là bước học tức là sử d ng thuật toán đó để training trên tập dữ liệu đã cho Sau bước này chúng ta thu được một bộ tham số được gọi là model
Predicting: sau khi có model chúng ta sử d ng nó để dự đoán các dữ liệu mới Ta cần lưu ý r ng các dữ liệu mới này phải là các dữ liệu CHƯA ĐƯỢC TRAINING BAO GIỜ thì mới có thể sử d ng để đánh giá độ tốt của model thu được