1
Số hóa bởi Trung tâm Học liệu
ĐẠI HỌC THÁI NGUYÊN
TRƢỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG NGUYỄN CÔNG BẰNG
WEB NGỮ NGHĨA VÀ ỨNG DỤNG TRONG TRA CỨU
VĂN HÓA ẨM THỰC TẠI HẢI PHÒNG
Chuyên nghành : Khoa học máy tính
Mã số : 60.48.01 LUẬN VĂN THẠC SĨ CÔNG NGHỆ THÔNG TIN
Ngƣời hƣớng dẫn khoa học: PGS.TS ĐOÀN VĂN BAN
1.5.2. Cú pháp truy vấn 26
1.5.3. Rằng buộc dữ liệu 28
rdfs:ConstraintResource. 29
rdfs:ConstraintProperty. 29
rdfs:range. 29
3
Số hóa bởi Trung tâm Học liệu
rdfs:domain. 30
1.6. Tổng kết chƣơng 1 32
CHƢƠNG 2: CÔNG NGHỆ XÂY DỰNG WEB NGỮ NGHĨA 33
2.1. Ontology và ngôn ngữ web OWL 33
2.1.1. Khái niệm Ontology 33
2.1.2. Thành phần của Ontology 33
2.1.3. Phƣơng pháp xây dựng Ontology 35
2.1.4. OWL (Ontology Web Language) 35
2.2. Các bƣớc xây dựng Ontology 37
2.3. Công cụ xây dựng Ontology 39
2.3.1. Công cụ Sesame 39
2.3.2. Công cụ Chimaera 40
2.3.3. Công cụ Jena 40
2.3.4. Công cụ Protégé 40
2.4. Thƣ viện phát triển ứng dụng 42
2.4.1. Thƣ viện SemWeb 42
2.4.2. Thƣ viện mã nguồn mở OWLDotNetAPI 42
2.4.3. Thƣ viện mã nguồn mở dotNetRDF 42
2.5. Tổng kết chƣơng 2 43
CHƢƠNG 3: XÂY DỰNG HỆ THỐNG TRA CỨU VĂN HÓA ẨM THỰC TẠI
HẢI PHÕNG 43
Mở đầu
1. Lý do chọn đề tài
Ngày nay khoa học và công nghệ phát triển cùng với sự bùng nổ về internet thì
Word Wide Web phát triển cả về nội dung lẫn hình thức. Nó có một khối lƣợng thông
tin khổng lồ, đƣợc tạo ra từ các tổ chức, cộng đồng và nhiều cá nhân với lý do khác
nhau. Ngƣời sử dụng Web có thể dễ dàng truy cập những thông tin này bằng cách chỉ
ra địa chỉ URL và theo các liên kết để tìm ra các tài nguyên liên quan khác.
Tính đơn giản của Web hiện nay đã dẫn đến một số hạn chế, việc tìm kiếm
thông tin trên Web có thể trả về một lƣợng lớn thông tin không hợp lý và không liên
quan. Tính đơn giản này đã gây ra hiện tƣợng thắt cổ chai, tạo khó khăn trong việc
tìm kiếm, trích rút thông tin. Máy tính chỉ biết gửi và trả thông tin, chúng không thể
truy xuất những nội dung cần. Nó chi hỗ trợ ở mức độ giới hạn nào đó trong việc truy
xuất và xử lý thông tin. Kết quả là ngƣời sử dụng phải đảm nhiệm việc truy cập, xử lý
thông tin, trích lọc thông tin phù hợp với việc tìm kiếm.
Để khắc phục các hạn chế này, khái niệm web ngữ nghĩa đã ra đời. Web ngữ
nghĩa là một bƣớc tiến vƣợt bậc so với kỹ thuật web trƣớc đó dựa vào khả năng làm
việc với thông tin của chúng thay vì chỉ đơn thuần là lƣu trữ thông tin.
Hải Phòng là một trong 5 thành phố trực thuộc trung ƣơng và là một đô thị
loại 1 trung tâm cấp quốc gia, là thành phố lớn thứ 3 của Việt Nam,có vị trí quan
trọng về kinh tế xã hội và an ninh, quốc phòng của vùng Bắc Bộ và cả nƣớc.
Ẩm thực Hải Phòng bình dị và dân dã, không cầu kỳ nhƣng đậm đà khó quên.
Nơi đây nổi tiếng với các món hải sản. Các nhà hàng hải sản ở khu vực Đồ Sơn nổi
tiếng với tôm cua cá mực rất tƣơi và giá phải chăng. Phong cách chế biến hải sản ở
Hải Phòng theo phong cách dân dã, nhấn mạnh thực chất và vị tƣơi ngon của nguyên
liệu nhiều hơn sự cầu kỳ trong gia vị và cách chế biến.
Các món ăn nhƣ bánh đa cua, bún cá, bánh mỳ cay, cơm cháy hải sản, ốc cay,
nem cua bể (nem vuông), giờ đây đã quá quen thuộc và nổi tiếng. Những món ăn này
6
7
Số hóa bởi Trung tâm Học liệu
5. Ý nghĩa khoa học và thực tiễn đề tài
- Xây dựng tập từ vựng về văn hóa ẩm thực ở Hải Phòng.
- Góp phần nâng cao khả năng tra cứu và chia sẻ thông tin về văn hóa ẩm
thực tại thành phố Hải Phòng.
6. Dự kiến bố cục luận văn
Luận văn đƣợc chia làm 3 chƣơng:
Chƣơng 1: Trình bày giới thiệu tóm tắt về Web ngữ nghĩa, kiến trúc của
Web ngữ nghĩa, cũng nhƣ giới thiệu RDF – nền tảng của Web ngữ nghĩa.
Chƣơng 2: Giới thiệu các công nghệ xây dựng Web ngữ nghĩa cụ thể là đi
sâu vào nghiên cứu Ontology. Đồng thời đƣa ra giải pháp về ngôn ngữ và
công cụ để xây dựng ứng dụng Semantic web.
Chƣơng 3: Giới thiệu về ứng dụng, phân tích và đề xuất giải pháp xây
dựng ứng dụng. Tiến hành xây dựng ontology, xử lý dữ liệu, cài đặt ứng
dụng và đƣa ra một số kết quả đạt đƣợc.
phân tích.
Về bản chất robot chỉ là một chƣơng trình duyệt và thu thập thông tin từ các site
theo đúng giao thức web. Những trình duyệt thông thƣờng không đƣợc xem là robot
do thiếu tính chủ động, chúng chỉ duyệt web khi có sự tác động của con ngƣời.
Bộ lập chỉ mục – Index
Hệ thống lập chỉ mục hay còn gọi là hệ thống phân tích và xử lý dữ liệu, thực hiện
việc phân tích, trích chọn những thông tin cần thiết (thƣờng là các từ đơn, từ ghép,
cụm từ quan trọng) từ những dữ liệu mà robot thu thập đƣợc và tổ chức thành cơ sở
9
Số hóa bởi Trung tâm Học liệu
dữ liệu riêng để có thể tìm kiếm trên đó một cách nhanh chóng, hiệu quả. Lập chỉ
mục là giai đoạn phân tích tài liệu (document) để xác định các chỉ mục biểu diễn nội
dung của tài liệu. Hệ thống chỉ mục là danh sách các từ khoá, chỉ rõ các từ khoá nào
xuất hiện ở trang nào, địa chỉ nào.
Bộ tìm kiếm thông tin – Search Engine
Search engine là cụm từ dùng chỉ toàn bộ hệ thống bao gồm bộ thu thập thông tin,
bộ lập chỉ mục & bộ tìm kiếm thông tin. Các bộ này hoạt động liên tục từ lúc khởi
động hệ thống, chúng phụ thuộc lẫn nhau về mặt dữ liệu nhƣng độc lập với nhau về
mặt hoạt động.
Search engine tƣơng tác với user thông qua giao diện web, có nhiệm vụ tiếp nhận và
trả về những tài liệu thoả yêu cầu của user.
Bộ Query Engine
Bộ công cụ truy vấn có nhiệm vụ nhận và tìm kiếm các yêu cầu của ngƣời sử dụng,
Bộ công cụ này sẽ dựa vào bảng chỉ mục và các kho lƣu trữ. Bởi kích thƣớc của
web rất lớn, thêm nữa khi sử dụng chỉ đƣa vào một hay hai từ khóa sau đó sẽ nhận
đƣợc tập kết quả. Do đó phải có một modul sắp xếp kết quả theo thứ tự sao cho nó
gần với nội dung đang cần tìm nhất.
Sắp xếp
kiếm văn bản có hiệu quả cao, trƣớc hết các văn bản và truy vấn ở dạng ngôn ngữ tự
nhiên phải đƣợc tiền xử lý và chuẩn hoá.
Sau đây là hai mô hình chi tiết cho bộ công cụ tìm kiếm thông tin truyền thống và
bộ công cụ tìm kiếm thông tin trên mạng.
Biểu diễn
Truy vấn thông tin
Bài toán thông tin
Văn bản
Biểu diễn
Văn bản đã chỉ số
So sánh
Phản hồi
Các văn bản đƣợc
tìm kiếm
11
Số hóa bởi Trung tâm Học liệu
12
Số hóa bởi Trung tâm Học liệu
* Có các dịch vụ web không liên quan.
* Bỏ xót các dịch vụ web thật sự liên quan vì không có sự suy diễn, quyết
định sử dụng dịch vụ web phải do con ngƣời can thiệp.
1.2. Web ngữ nghĩa
1.2.1. Sự ra đời của Web ngữ nghĩa
World Wide Web (gọi tắt là Web) đã trở thành một kho tàng thông tin khổng lồ của
nhân loại và một môi trƣờng chuyển tải thông tin không thể thiếu đƣợc trong thời
đại công nghệ thông tin ngày nay. Sự phổ biến và bùng nổ thông tin trên Web cũng
đặt ra một thách thức mới là làm thế nào để khai thác đƣợc thông tin trên Web một
cách hiệu quả, mà cụ thể là làm sao để máy tính có thể trợ giúp xử lý tự động đƣợc
chúng. Muốn vậy, trƣớc hết máy tính phải hiểu đƣợc thông tin trên các tài liệu Web,
trong khi ở thế hệ Web hiện tại thông tin đƣợc biểu diễn dƣới dạng chỉ con ngƣời
mới đọc hiểu đƣợc. Các chuyên gia dự đoán, bề nổi của web (surface web) chứa
khoảng 1 đến 2 tỷ trang tài liệu trong khi, ở phần sâu của web thì chứa đến 550 tỷ
trang tài liệu. Có khoảng 200.000 website có tầng thông tin sâu, khoảng hơn 1/2 số
thông tin này nằm trong các cơ sở dữ liệu có chủ đề riêng biệt. Khoảng 95% thông
tin trong các website có tầng thông tin sâu cho phép đa số ngƣời dùng có thể khai
thác miễn phí.
Nhƣng hiện nay, hầu hết các công cụ tìm kiếm tài liệu trên web đƣợc coi là tìm
kiếm hiệu quả cũng chủ yếu tìm kiếm đƣợc trên bề nổi của web. Trong khi ở tầng
sâu của web chứa một khối lƣợng thông tin khổng lồ và thƣờng rất có giá trị cho các
nhà nghiên cứu, các học giả hay đơn thuần là những ngƣời thích tìm hiểu. Bên cạch
đó, các trang web hiện nay có rất ít đƣờng liên kết với các trang web khác nên việc
có lạnh không?”.
Dữ liệu liên kết động: Thay thế cách liên kết sử dụng hyperlink tĩnh trong
Web cũ, Web ngữ nghĩa liên kết dữ liệu từ nhiều nguồn khác nhau một cách hiệu
quả hơn dựa trên định danh của tài nguyên (URI) và quan hệ giữa chúng. Cách liên
kết này đôi khi còn đƣợc gọi là liên kết bằng siêu dữ liệu (meta data).
1.2.3. Các hƣớng nghiên cứu chính trong lĩnh vực dịch vụ web ngữ nghĩa
14
Số hóa bởi Trung tâm Học liệu
Tại hội nghị International Semantic Web Conference 2008, John Domingue và
David Martin trình bày, hiện có 7 hƣớng nghiên cứu chính trong lĩnh vực dịch vụ
web ngữ nghĩa [2].
Bao gồm:
- Ngôn ngữ và từ vựng để biểu diễn ngữ nghĩa cho dịch vụ web.
- Phát hiện và chọn lựa dịch vụ web phù hợp với nhu cầu dựa trên ngữ nghĩa.
- Tổng hợp và phối hợp hoạt động của các dịch vụ web dựa trên một quy trình.
- Quản lý giao tác và tài nguyên cho dịch vụ web ngữ nghĩa.
- Dịch vụ sử dụng trên các thiết bị di động.
- Các vấn đề về bảo mật trong việc sử dụng dịch vụ web ngữ nghĩa.
- Các công cụ và môi trƣờng (tự động hoặc bán tự động) trong việc phát triển và
khai thác dịch vụ web ngữ nghĩa.
1.3. Kiến trúc phân tầng của Web ngữ nghĩa
1.3.1. Kiến trúc phân tầng
Theo kiến trúc Semantic Web đƣợc phân thành các tầng. Cụ thể mỗi tầng đƣợc
miêu tả nhƣ sau:
kế thừa thực sự của Semantic Web. Semantic Web thực sự chỉ là một sự mở rộng
của Web hiện tại nó dữ lại những đặc điểm thiết kế bên dƣới của Web hiện tại và
chỉ mở rộng thêm phần ngữ nghĩa ở những mức bên trên nhằm tạo thêm một
khung nhìn mới cho Web hiện tại đó là khung nhìn của các ứng dụng (của máy
tính).
Tầng XML+NS+xmlschema.
Đây là tầng thứ hai của kiến trúc phân tầng Semantic Web. XML và các chuẩn
liên quan tới nó, cung cấp cho ta một con đƣờng để diễn đạt cấu trúc thông tin bất
kỳ và nó là một chuẩn thực tế để truyền dữ liệu giữa các ứng dụng. Do vậy mà
chúng đƣợc hỗ trợ rộng rãi về cả các công cụ và ngƣời dùng. Đó cũng là lý do mà
nó tồn tại ở tầng thức hai này với vai trò làm một điểm chung gian giữa những
dạng biểu diễn giàu ngữ nghĩa hơn và các dạng dữ liệu thô giàu cấu trúc.
XML cung cấp một cú pháp chung cho biểu diễn dữ liệu trong môi trƣờng
Internet. XML Schema cung cấp các định nghĩa kiểu dữ liệu và các cấu trúc cho
tài liệu XML. Các không gian tên cũng đƣợc sử dụng nhƣ một giải pháp đã đƣợc
áp dụng cho các tài liệu XML.
Thực sự thì ở tầng thứ hai này mọi cái vẫn đƣợc kế thừa từ những gì mà Web hiện
tại đã làm đƣợc. Các chuẩn cú pháp XML, không gian tên và XML Schema vẫn
đƣợc chấp nhận trong Semantic Web. Do đó nó là một cơ sở để tích hợp các định
nghĩa Semantic Web với các chuẩn XML khác.
Tầng RDF+rdfschema.
16
Số hóa bởi Trung tâm Học liệu
Bắt đầu từ tầng này, các đặc điểm mới của Web thực sự đƣợc bộc lộ làm cơ sở để
khẳng định rằng nó là Semantic Web. Sự thực thì tầng này có vai trò nhƣ một mô
hình, ngôn ngữ để biểu diễn ngữ nghĩa hay tạo ra các khung nhìn đơn giản tới máy
tính.
RDF –Resource Description Language là một ngôn ngữ, một mô hình dữ liệu cho
Tầng Proof và Tầng Trust.
Proof và Trust là những tầng cuối cùng trong cấu trúc của Semantic Web. Hiện tại
chƣa có nhiều miêu tả về tầng này cũng nhƣ giải pháp thực sự cho chúng. Chúng
là những điểm đáng xấu hổ của hiện tại và là những điểm quan trọng của
Semantic Web trong tƣơng lai.
Một điều đơn giản để hiểu sự khắc nghiệt thật sự của về vấn đề này đó là sự mâu
thuẫn của thông tin. Chẳng hạn nhƣ có ngƣời nói rằng x có màu xanh, lại có ngƣời
nói rằng x có màu khác xanh, phải chăng Semantic Web sẽ sụp đổ với những
trƣờng hợp nhƣ thế này?
Câu trả lời dĩ nhiên là không, bởi vì hai lý do cơ bản sau:
- Ứng dụng trên Semantic Web ở hiện tại thƣờng dựa trên nền tảng một ngữ cảnh
cụ thể.
- Các ứng dụng trong tƣơng lai sẽ thƣờng chứa đựng các kỹ thuật kiểm tra các
chứng cớ và xác thực điện tử (digital signatures).
Khái lƣợc về ngữ cảnh (Context).
Các ứng dụng trên Semantic Web dựa trên một ngữ cảnh thƣờng để mọi ngƣời
xác thực sự đúng đắn của dữ liệu.
Ngữ cảnh là một thứ tốt bởi vì chúng ta có thể tin tƣởng đƣợc mà không cần phải
nhờ vào sự thẩm định phức tạp và hệ thống kiểm tra. Tuy nhiên vấn đề xuất hiên
đối tƣợng thứ ba kẻ giả mạo là không tránh khỏi và đó là đòi hỏi ra đời của digital
signatures.
Digital signatures.
Áp dụng công nghệ mã hóa và ký điện tử trong RDF. Đảm bảo cho chúng ta rằng
nguồn tài liệu mà ta đang sử dụng là do chính xác một nhà cung cấp nào đó –
Giống nhƣ sự xác thực điện tử mà trong an toàn thông tin đã đề cập đến.
Trong kiến trúc của Semantic Web, Digital signature đóng một vai trò rất quan
trọng. Nó gắn liền với các tầng của kiến trúc Semantic Web kể từ tầng thứ ba
18
Số hóa bởi Trung tâm Học liệu
19
Số hóa bởi Trung tâm Học liệu
RDF chính là nền tảng trung tâm của web ngữ nghĩa. Trong khi XML cung cấp cú
pháp để mã hóa dữ liệu thì RDF mô tả siêu dữ liệu về các tài nguyên trên Web.
RDF dựa trên cú pháp XML tuy nhiên XML chỉ mô tả dữ liệu, RDF còn có khả
năng biểu diễn ngữ nghĩa giữa chúng thông qua các tài nguyên định danh bằng
URI.
RDF - Resource Description Framework, định dạng dữ liệu cho phép mô tả thực
thể, tài nguyên và quan hệ nội tại giữa chúng bằng bộ ba đối tƣợng – thuộc tính –
giá trị ( subject – predicate – object).
RDFa (RDF – in – attributes) bổ sung tập các thuộc tính mở rộng cho XHTML
để nhúng siêu dữ liệu trong văn bản web.
1.4.3. Cấu trúc RDF/XML
Mô hình RDF thể hiện một mô hình ở mức trừu tƣợng để định nghĩa metadata. Cú
pháp RDF đƣợc dùng để tạo ra và trao đổi metadata. RDF dựa trên cú pháp XML.
Cú pháp cơ bản của RDF có dạng nhƣ sau:
[1] RDF ::= ['<rdf:RDF>'] description* ['</rdf:RDF>']
[2] description ::= '<rdf:Description' idAboutAttr? '>' propertyElt*
'</rdf:Description>'
[3] idAboutAttr ::= idAttr | aboutAttr
[4] aboutAttr ::= 'about="' URI-reference '"'
[5] idAttr ::= 'ID="' IDsymbol '"'
[6] propertyElt ::= '<' propName '>' value '</' propName '>'| '<' propName
resourceAttr '/>'
[7] propName ::= Qname
[8] value ::= description | string
[9] resourceAttr ::= 'resource="'tham chiếu URI'"'
[10] Qname ::= [ NSprefix ':' ] name
resource, và tiếp tục định danh resource này dùng thuộc tính rdf:about để chỉ ra
URI của subject resource. Dòng 5 cung cấp 1 phần tử thuộc tính, với Qname
exterms:creation-date nhƣ là thẻ của nó. Nội dung của phần tử thuộc tính này là
object của statement, có giá trị là kiểu plain literal “August 19, 1999 “.
Dòng 7: cho biết kết thúc của thẻ rdf:RDF bắt đầu ở dòng 2 và cũng là thẻ kết thúc
của tài liệu RDF.
1.4.4. RDFS collection
21
Số hóa bởi Trung tâm Học liệu
RDF Collection cho phép khai báo một tập hợp đóng, tƣơng tự một danh sách, có
phần tử đầu (rdf:first), phần tử kế (rdf:rest) và phần tử cuối (rdf:nil).
Ví dụ: Xét phát biểu sau
“Book with ISBN 978-0-596-15381-6 wrote by Toby Segaran, Colin Evans, Jamie
Taylor"
Có mô hình RDF là
Hình 1.3 – Mô hình RDF
RDF / XML cung cấp một cách định nghĩa để mô tả một tập hợp, bằng cách sử
dụng một thuộc tính có attribute là rdf:parseType=”Collection”. Ta có thể viết lại
RDF schema cung cấp một khung để mô tả các lớp, thuộc tính của ứng dụng cụ
thể. Các lớp trong RDFS giống nhƣ các lớp trong lập trình hƣớng đối tƣợng, cho
phép các tài nguyên đƣợc định nghĩa nhƣ là 1 thực thể của lớp, hay lớp con của
lớp.
Định nghĩa lớp (class)
Các tài nguyên trên Web có thể chia thành các nhóm gọi là class. Các thành viên
của nhóm đƣợc xem nhƣ là thể hiện của lớp đó. Thông qua các định danh URI,
các tài nguyên đƣợc truy xuất và có thể đƣợc mô tả bằng các RDF properties.
Thuộc tính rdf: type đƣợc sử dụng để chỉ ra một resource là một thể hiện của một
class.
Định nghĩa thuộc tính (property)
XML
Schema
mô tả cấu trúc và
nội dung và ngữ
nghĩa của tài liệu
XML. Định nghĩa
loại tài liệu.
RDF
Schema
từ vựng cho các tài
sản và các lớp tài
nguyên RDF mô tả
XML
cung cấp một cú pháp bề mặt quy định cụ thể
hạn chế đƣợc gọi là cú pháp tốt
OWL
ex:age rdf:type rdf:Property .
ex:age rdfs:range xsd:integer .
Cách sử dụng rdfs:domain
24
Số hóa bởi Trung tâm Học liệu
Thuộc tính rdfs:domain đƣợc sử dụng để chỉ rằng một thuộc tính là thuộc tính của
một lớp nào đó. Ví dụ nhƣ, công ty example.org muốn thuộc tính ex:author là
thuộc tính của lớp ex:Book , ta có phát biểu sau:
ex:Book rdf:type rdfs:Class .
ex:author rdf:type rdf:Property .
ex:author rdfs:domain ex:Book .
Và một thuộc tính cũng có nhiều thuộc tính rdfs:domain khác
exterms:weight rdfs:domain ex:Book .
exterms:weight rdfs:domain ex:MotorVehicle .
Luật suy diễn ngữ nghĩa trong RDFS
Có 6 trƣờng hợp suy diễn theo các cấp loại lớp, thuộc tính, lớp con, thuộc tính
con, miền (domain), dải (range)
Trƣờng hợp 1: Suy diễn về loại của lớp (type)
IF (c2, subClassOf, c1)
AND (x, type, c2)
THEN (x, type, c1)
Ví dụ:
IF (Man, subClassOf, Person)
AND (Tom, type, Man)
THEN (Tom, type, Person)
Trƣờng hợp 2: Suy diễn về thuộc tính của lớp (Property)
IF (p2, subPropertyOf, p1)
AND (x, p2, y)
IF (author, domain, Human)
AND (Tom, author, Report2010)
THEN (Tom, type, Human)
Trƣờng hợp 6: Suy diễn trong dải giới hạn (range) IF (p1, range, c1)
AND (x, p1, y)
THEN (y, type, c1)
- Ví dụ:
IF (author, range, Document)
AND (Tom, author, Report2010)
THEN (Report, type, Document