Tải bản đầy đủ (.doc) (85 trang)

Sử dụng hybrid spread activation để tạo ứng dụng tìm kiếm trên nền semantic web

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (5.86 MB, 85 trang )

TÓM TẮT NỘI DUNG
Semantic Web là một sự mở rộng của Web hiện tại với mục đích chính là con người
cũng như máy tính có thể đọc, hiểu và sử dụng dữ liệu trên web. Điều này không thể thực
hiện được ở Web hiện tại vì dữ liệu trên web là phi cấu trúc và máy tính không thể thực
hiện được việc đó. Đó cũng chính là nguyên nhân khiến Web hiện tại đang chứa đựng
những hạn chế. Đặc điểm nổi bật nhất của Semantic Web chính là khả năng giúp khắc phục
những hạn chế này. Với kiến trúc đã được xây dựng một cách rõ ràng và những khả năng
vượt trội, Semantic Web có thể được ứng dụng trong nhiều lĩnh vực khác nhau. Chương
đầu tiên của đồ án tốt nghiệp trình bày những nét tổng quan nhất về Semantic Web, về đặc
điểm cũng như kiến trúc của Semantic Web, đồng thời trình bày về một số ứng dụng của
Semantic Web.
Trong các ứng dụng dựa trên Semantic Web, có thể thấy rằng ứng dụng tìm kiếm là
một trong những ứng dụng có sự khác biệt nhất so với ứng dụng tương ứng trên Web hiện
tại. Lý do chính của nhận định này cũng xuất phát từ việc dữ liệu của Semantic Web được
định nghĩa tốt hơn và đã được cấu trúc hóa. Nhờ vậy, các ứng dụng tìm kiếm sẽ không chỉ
dừng lại ở việc tìm kiếm theo từ khóa mà còn có thể vận dụng tính ngữ nghĩa trong mô tả
dữ liệu để trả về cho người dùng những kết quả tốt hơn, mang tính ngữ nghĩa nhiều hơn.
Chương hai của đồ án tốt nghiệp trình bày về bài toán tìm kiếm trên Web hiện tại và bài
toán tìm kiếm dựa trên Semantic Web để có được cái nhìn tương quan giữa hai bài toán.
Cũng trong chương này, đồ án đã trình bày về một số giải pháp cho việc tìm kiếm dựa trên
Semantic Web và đưa ra những đánh giá ưu nhược điểm của từng giải pháp, qua đó lựa
chọn giải pháp phù hợp nhất với đồ án tốt nghiệp, đó là giải pháp sử dụng Hybrid Spread
Activation. Để sử dụng giải pháp này, đồ án đã đề xuất một số cải tiến để khắc phục những
nhược điểm đã phân tích trước đó.
Chương ba của đồ án trình bày về mô hình đề xuất cho việc sử dụng Hybrid Spread
Activation cho ứng dụng tìm kiếm dựa trên Semantic Web. Ứng dụng thử nghiệm được lựa
chọn để áp dụng mô hình đề xuất là ứng dụng tìm kiếm thông tin trong bộ môn Công nghệ
phần mềm. Việc phân tích, thiết kế và xây dựng chương trình cũng đã được trình bày ở
chương ba. Đồ án không chỉ xây dựng ứng dụng tìm kiếm mà còn xây dựng công cụ phục
vụ cho việc đánh giá tự động hiệu quả của ứng dụng tìm kiếm đã cài đặt.
Các kết quả thử nghiệm được trình bày chi tiết ở trong chương bốn bao gồm kết quả


của việc xác định các thông số cho mô hình đề xuất và kết quả của việc xây dựng chương
trình ứng dụng. Chương này cũng trình bày về kết quả đánh giá theo ý kiến của chuyên gia
và kết quả đánh giá theo người sử dụng. Các kết quả của việc mở rộng thử nghiệm ở lĩnh
vực khác cũng đã được tổng hợp lại. Nhờ vậy, đồ án đã đưa ra được những đánh giá tổng
quan cho ứng dụng tìm kiếm sử dụng mô hình đề xuất.
Các kết luận chung và hướng phát triển tiếp theo của đề tài được trình bày ở phần cuối
của đồ án tốt nghiệp.

1


ABSTRACT OF THESIS
Semantic Web is an extension of current web used for the purpose both people and
machines can read, understand and use data in web. Current web has many limitations
which come from the reason data in web is unstructured and only people can understand
them. Semantic Web has major features which help to overcome these limitations. With the
specific architecture and good abilities, Semantic Web can be applied in varieties of
domains. The first chapter of the thesis presents the common characteristics, the features
and the architecture of Semantic Web, along with some applications can be implemented in
Semantic Web
In many applications of Semantic Web, search application shows that it is one of
applications most different from correlative ones of current web. This consideration comes
from the reason data of Semantic Web is well defined and structured. Because of that,
search applications are not only keyword based but also semantics based. These semantics
come from the data definition and they can help to return better results. The second chapter
presents search problems of both current web and Semantic Web to display the features of
these. Also in this chapter, the thesis presents some solutions for search problem in
Semantic Web. The thesis presents both advantages and disadvantages of these solutions as
well. From this information, the most appropriate solution for the thesis was chosen. This
is Hybrid Spread Activation. The thesis also presents some proposals to overcome the

disadvantages of this solution.
The third chapter presents proposal model to use Hybrid Spread Activation for search
applications in Semantic Web. The experimental application which is chosen to apply this
model is searching information in Department of Software Engineering. Analyzing,
designing and implementing of this experiment are also presented in this chapter. The
thesis implemented not only search application but also the tool for evaluating this
application.
The experimental results are presented particularly in the forth chapter including
coefficients of the proposal model and the results of the implemented application. This
chapter also presents the evaluation by both experts and users. The results of extending
experiment to other domains are also collected. Following these, the thesis proposes
overview evaluations for search applications which uses Hybrid Spread Activation.
The conclusion and how to develop in the future are presented in the last of the thesis.

2


MỤC LỤC
MỤC LỤC..............................................................................................................................3
LỜI NÓI ĐẦU........................................................................................................................4
CHƯƠNG 1. TỔNG QUAN VỀ SEMANTIC WEB................................................................7

1.1. Khái niệm Semantic Web................................................................................................7
1.2. Đặc điểm của Semantic Web...........................................................................................9
1.3. Kiến trúc của Semantic Web.........................................................................................11
1.3.1 Lớp URI (Uniform Resource Identifier)...................................................................11
1.3.2 Lớp Unicode...........................................................................................................12
1.3.3 Lớp XML (Extensible Markup Language)...............................................................12
1.3.4 Lớp RDF (Resource Description Framework).......................................................13
1.3.5 Lớp RDF-S (RDF Schema)....................................................................................14

1.3.6 Lớp SPARQL (SPARQL Protocol and RDF Query Language)..............................14
1.3.7 Lớp OWL (Web Ontology Language).....................................................................14
1.3.8 Lớp RIF (Rule Interchange Format).......................................................................15
1.3.9 Lớp Unifying Logic..................................................................................................15
1.3.10 Lớp Proof..............................................................................................................15
1.3.11 Lớp Trust...............................................................................................................16

1.4. Một số ứng dụng cơ bản dựa trên Semantic Web..........................................................16
1.4.1 Quản lý tri thức.......................................................................................................16
1.4.2 Thương mại điện tử................................................................................................17
1.4.3 Mạng xã hội............................................................................................................19
1.4.4 Ứng dụng tìm kiếm.................................................................................................19

1.5. Nhiệm vụ của đồ án tốt nghiệp......................................................................................20
Kết chương..........................................................................................................................21
CHƯƠNG 2. BÀI TOÁN TÌM KIẾM DỰA TRÊN SEMANTIC WEB..................................22

2.1. Tổng quan về ứng dụng tìm kiếm trên Web..................................................................22
2.1.1 Lịch sử phát triển....................................................................................................22
2.1.2 Vai trò của việc tìm kiếm trên Web.........................................................................23
2.1.3 Đặc điểm của việc tìm kiếm trên Web....................................................................24

2.2. Bài toán tìm kiếm dựa trên Semantic Web....................................................................25
2.2.1 Nền tảng của việc tìm kiếm dựa trên Semantic Web............................................25
2.2.2 Một số máy tìm kiếm đã được nghiên cứu............................................................27
2.2.3 Ưu nhược điểm của việc tìm kiếm dựa trên Semantic Web.................................29
2.2.4 Những khó khăn khi xây dựng ứng dụng tìm kiếm dựa trên Semantic Web........30

2.3. Các giải pháp cho việc tìm kiếm dựa trên Semantic Web.............................................30
2.3.1 Giải pháp dựa trên đối sánh các đồ thị RDF..........................................................30

2.3.2 Giải pháp dựa trên Ontology..................................................................................33
2.3.3 Giải pháp Hybrid Spread Activation........................................................................34
2.3.4 Phân tích đánh giá các giải pháp...........................................................................41

2.4. Lựa chọn giải pháp phù hợp cho đồ án tốt nghiệp........................................................42
2.5. Đề xuất cải tiến cho giải pháp đã lựa chọn...................................................................43
Kết chương..........................................................................................................................44
CHƯƠNG 3. ĐỀ XUẤT MÔ HÌNH VÀ XÂY DỰNG ỨNG DỤNG DỰA TRÊN HYBRID
SPREAD ACTIVATION........................................................................................................45

3.1. Đề xuất mô hình............................................................................................................45
3


3.1.1 Mục tiêu khi xây dựng mô hình..............................................................................45
3.1.2 Mô hình đề xuất......................................................................................................46
3.1.3 Đánh giá mô hình...................................................................................................48

3.2. Xây dựng ứng dụng tìm kiếm thông tin trong bộ môn Công nghệ phần mềm.............48
3.2.1 Phân tích, thiết kế ứng dụng..................................................................................48
3.2.2 Xây dựng chương trình..........................................................................................56

Kết chương..........................................................................................................................65
CHƯƠNG 4. KẾT QUẢ THỬ NGHIỆM VÀ ĐÁNH GIÁ.....................................................66

4.1. Kết quả của việc xây dựng các mô đun.........................................................................66
4.1.1 Trang web phục vụ tìm kiếm và hiển thị thông tin..................................................66
4.1.2 Mô đun tạo các bộ test chuẩn................................................................................68
4.1.3 Mô đun điểu chỉnh cấu hình và thử nghiệm...........................................................69


4.2. Dữ liệu thử nghiệm........................................................................................................69
4.2.1 Dữ liệu về thông tin trong bộ môn Công nghệ phần mềm.....................................69
4.2.2 Dữ liệu các bộ test chuẩn.......................................................................................70

4.3. Kết quả thử nghiệm.......................................................................................................71
4.3.1 Cách thức tiến hành thử nghiệm............................................................................71
4.3.2 Kết quả thử nghiệm................................................................................................71
4.3.3 Đánh giá kết quả thử nghiệm.................................................................................73

4.4. Mở rộng thử nghiệm với ứng dụng tìm kiếm thông tin bất động sản của trang web
basao.com.............................................................................................................................73
4.4.1 Mô tả ứng dụng......................................................................................................73
4.4.2 Dữ liệu thử nghiệm.................................................................................................74
4.4.3 Kết quả thử nghiệm................................................................................................74

4.5. Đánh giá chung..............................................................................................................76
Kết chương..........................................................................................................................76
KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN..............................................................................77

Kết quả đạt được.................................................................................................................77
Hướng phát triển tiếp theo...................................................................................................77
TÀI LIỆU THAM KHẢO......................................................................................................78
PHỤ LỤC............................................................................................................................79

A. Thuộc tính của các khái niệm trong ontology về thông tin trong bộ môn Công nghệ
phần mềm.............................................................................................................................79
B. Cấu trúc các file XML mô tả dữ liệu thử nghiệm của ứng dụng tìm kiếm thông tin ở
trang web basao.com............................................................................................................83

LỜI NÓI ĐẦU

Sự phát triển mạnh mẽ của Internet đã mang lại những lợi ích to lớn cho con
người. Những lợi ích đó được thể hiện một cách rõ nét nhất kể từ khi Tim BernersLee phát minh ra World Wide Web năm 1989. Kể từ đó đến nay, con người đã sử
dụng Internet như một công cụ đắc lực trong rất nhiều lĩnh vực và ứng dụng khác
nhau. Mặc dù vậy, chính sự bùng nổ thông tin trên Web lại khiến cho Web hiện tại
chứa đựng những hạn chế mà khó có thể khắc phục được với những dữ liệu phi cấu
trúc mà nó đang có.

4


Trước thực tế đó, chính người “cha đẻ” của World Wide Web đã đề xuất một sự
mở rộng của Web hiện tại, đó là Semantic Web. Mặc dù vẫn đang trong giai đoạn
nghiên cứu và thử nghiệm nhưng Semantic Web hứa hẹn sẽ khắc phục được những
hạn chế của Web hiện nay và mang lại những lợi ích tốt hơn nữa cho con người.
Trong các ứng dụng của Semantic Web, ứng dụng tìm kiếm có thể được coi như
ứng dụng điển hình nhất cho sự khác biệt của Semantic Web và Web hiện tại. Với
việc dữ liệu được định nghĩa tốt hơn và máy tính có thể hiểu và xử lý thông tin trên
Web, các ứng dụng tìm kiếm thông tin dựa trên Semantic Web sẽ trả về những kết
quả cho người dùng một cách chính xác hơn, mang tính ngữ nghĩa nhiều hơn. Mặc
dù vậy, chưa có nhiều giải pháp cho việc tìm kiếm thông tin dựa trên Semantic Web
và cũng chưa có nhiều ứng dụng tìm kiếm mang lại hiệu quả cao đặc biệt là những
ứng dụng tìm kiếm với quy mô rộng. Vì vậy, đồ án tốt nghiệp mong muốn tìm hiểu
được về Semantic Web, tìm hiểu được về các giải pháp cho việc tìm kiếm dựa trên
Semantic Web và lựa chọn được giải pháp phù hợp để xây dựng một ứng dụng tìm
kiếm trong phạm vi hẹp, mang lại hiệu quả cao.
Trên cơ sở đó, nội dung nghiên cứu của đồ án tập trung vào các phần sau:
− Tìm hiểu về Semantic Web, về đặc điểm, kiến trúc cũng như các ứng
dụng của Semantic Web.
− Tìm hiểu về bài toán tìm kiếm dựa trên Semantic Web, những khó khăn
khi xây dựng ứng dụng tìm kiếm dựa trên Semantic Web và các giải pháp

trên thế giới đã áp dụng để giải quyết bài toán này. Phân tích rõ ưu nhược
điểm của từng giải pháp nhằm lựa chọn giải pháp phù hợp nhất cho ứng
dụng tìm kiếm của đồ án tốt nghiệp. Cùng với đó, cố gắng đưa ra những
đề xuất nhằm khắc phục những nhược điểm của giải pháp đã lựa chọn.
− Đề xuất mô hình cho việc áp dụng giải pháp và các đề xuất cải tiến. Xác
định lĩnh vực và phạm vi của ứng dụng thử nghiệm nhằm xây dựng ứng
dụng tìm kiếm trong phạm vi đó. Dựa vào ứng dụng này đánh giá hiệu
quả của giải pháp đề xuất.
− Áp dụng mô hình sang lĩnh vực khác, với quy mô khác để đánh giá được
khả năng áp dụng mô hình ở những lĩnh vực khác nhau. Từ đó có được
những đánh giá chính xác hơn cho mô hình đề xuất.
Bố cục của đồ án:
Đồ án được chia thành 4 chương bao gồm những nội dung như sau:
• Chương 1: Trình bày tổng quan về Semantic Web, về khái niệm, đặc điểm
và kiến trúc của Semantic Web. Chương này cũng trình bày về một số ứng
dụng dựa trên Semantic Web với mục đích lựa chọn ứng dụng phù hợp cho
đồ án tốt nghiệp. Những nhiệm vụ mà đồ án cần phải thực hiện được trình
bày ở cuối chương.
• Chương 2: Trình bày về bài toán tìm kiếm dựa trên Semantic Web, về ưu
nhược điểm cũng như một số khó khăn khi xây dựng ứng dụng tìm kiếm dựa
trên Semantic Web. Chương này cũng giới thiệu về một số ứng dụng tìm
5


kiếm đã có và các giải pháp cho việc tìm kiếm dựa trên Semantic Web. Ưu
nhược điểm của từng giải pháp và việc lựa chọn giải pháp phù hợp cho đồ án
tốt nghiệp được trình bày ở cuối chương và cùng với đó là một số đề xuất để
khắc phục những nhược điểm của giải pháp đã lựa chọn.
• Chương 3: Tập trung vào việc xây dựng mô hình sử dụng Hybrid Spread
Activation cho bài toán tìm kiếm dựa trên Semantic Web. Chương này cũng

trình bày về việc phân tích thiết kế và xây dựng chương trình cho ứng dụng
tìm kiếm thông tin trong bộ môn Công nghệ phần mềm.
• Chương 4: Trình bày về các kết quả thử nghiệm và những đánh giá dựa trên
các kết quả này. Chương này cũng trình bày về việc áp dụng mô hình đề xuất
sang lĩnh vực khác và các đánh giá chung cho việc áp dụng mô hình vào các
ứng dụng tìm kiếm đã xây dựng. Phần cuối cùng là các kết luận chung và
hướng phát triển tiếp theo của đề tài.

6


CHƯƠNG 1.
TỔNG QUAN VỀ SEMANTIC WEB

Nội dung của chương này sẽ trình bày các vấn đề sau:


Khái niệm Semantic Web.



Các đặc điểm cơ bản của Semantic Web.



Tổng quan về kiến trúc của Semantic Web.



Một số ứng dụng cơ bản của Semantic Web.




Nhiệm vụ cụ thể của đồ án tốt nghiệp.

1.1. Khái niệm Semantic Web
Năm 2001, Tim Berners-Lee – người phát minh ra World Wide Web - đã đưa ra
một định nghĩa về Semantic Web [15]: “Semantic Web là một sự mở rộng của Web
hiện tại mà ở đó, thông tin được định nghĩa tốt hơn, giúp máy tính và con người có
thể làm việc hợp tác với nhau”.
Với định nghĩa này, ta có thể hiểu từ “semantic” có ngụ ý rằng ý nghĩa của dữ
liệu trên Web có thể được khám phá không chỉ bởi con người mà cả máy tính nữa.
Trong khi đó, hầu hết ý nghĩa trên Web hiện tại đều chỉ được biết đến bởi con người
nhờ đọc các trang web. Cụm từ Semantic Web đại diện cho một cách nhìn nhận mà
ở đó, con người cũng như máy tính có thể đọc, hiểu và sử dụng dữ liệu trên Web để
thực hiện những mục đích hữu ích cho người dùng.
Cách nhìn nhận của Tim Berners-Lee về Semantic Web có hai phần: thứ nhất là
Web có tính cộng tác nhiều hơn, thứ hai là máy tính có thể hiểu và thực thi trên
Web. Hình 1.1 (trang tiếp theo) là biểu đồ đầu tiên cho cách nhìn nhận của ông.
Cách nhìn nhận đó của ông liên quan nhiều đến việc lấy các trang HTML từ
Web server. Tuy vậy, ở trên biểu đồ cũng có những quan hệ như “describes”,
“includes” hay “wrote” và những quan hệ này không thể thu được trên Web hiện tại.
Tuy vậy World Wide Web Consortium (W3C) đã đưa ra kỹ thuật để có thể nắm bắt
những quan hệ như vậy, đó là RDF (Resource Description Framework).
Điểm quan trọng nhất có thể hiểu được ở hình 1.1 là có sự bổ sung thêm các siêu
dữ liệu (metadata) so với Web hiện tại. Những siêu dữ liệu bổ sung này sẽ giúp máy
tính có thể xử lý thông tin trên Web. Nhưng để có thể tạo được Web mà máy tính có
thể xử lý dữ liệu trên đó thì đầu tiên chúng ta phải có một cách nhìn nhận khác về
dữ liệu [9]. Nếu như trước kia người ta chỉ coi dữ liệu là thuộc sở hữu của ứng dụng
7



và không có vai trò quan trọng thì càng ngày người ta càng nhận thấy sự quan trọng
của nó. Dữ liệu càng được tổ chức “thông minh” thì càng thể hiện được sự hiệu quả.
Hình 1.2 mô tả một cách nhìn nhận về sự phát triển của dữ liệu “thông minh”.

Hình 1.1: Cách nhìn nhận đầu tiên của Tim Berners-Lee về Semantic Web [9]

Hình 1.2: Sự phát triển của dữ liệu “thông minh”
Ban đầu dữ liệu chỉ là những văn bản và các bản ghi cơ sở dữ liệu đơn thuần và
sự thông minh chỉ nằm ở trên các ứng dụng. Sau đó có sự xuất hiện của các tài liệu
XML theo từng lĩnh vực giúp cho ứng dụng dễ dàng thực hiện ở các lĩnh vực riêng.
Sự xuất hiện của các phép phân loại và các tài liệu với bộ từ vựng trộn lẫn nhau
cho thấy một bước tiến trong việc khai phá dữ liệu, dữ liệu đã đủ thông minh để có
8


thể được tổng hợp cùng với các dữ liệu khác. Sự phát triển cao hơn nữa của dữ liệu
chính là các ontology và các luật suy diễn, nhờ đó mà dữ liệu mới có thể được suy
diễn ra từ dữ liệu có sẵn dựa vào các luật logic. Dữ liệu sẽ đủ thông minh để có thể
được mô tả với các quan hệ cụ thể, các hình thức phức tạp.
Với sự nhìn nhận mới về dữ liệu, chúng ta có một cách nói khác về Semantic
Web: Semantic Web là một Web với dữ liệu thông minh mà máy tính có thể xử lý.
W3C cũng đưa ra một định nghĩa về Semantic Web: “Semantic Web là một sự
nhìn nhận, đó là ý tưởng về việc dữ liệu trên Web được định nghĩa và sử dụng theo
cách mà nó có thể được sử dụng bởi máy tính không chỉ với mục đích hiển thị mà
còn nhằm mục đích tự động phân tích, sử dụng lại dữ liệu qua các ứng dụng khác”.
Định nghĩa của W3C chú trọng vào kỹ thuật nhiều hơn. Tuy nhiên, tất cả các
định nghĩa đều tập trung vào sự khác biệt trong việc định nghĩa dữ liệu, định nghĩa
thông tin. Với những mở rộng của Semantic Web, những sức mạnh vượt trội của

Web sẽ được thể hiện nhằm phục vụ cho con người.

1.2. Đặc điểm của Semantic Web
Với kích thước tăng gấp đôi sau mỗi 6 tháng, Web hiện tại đang chứa đựng
lượng thông tin khổng lồ. Tuy vậy, khả năng khai thác lượng thông tin này lại bị hạn
chế rất nhiều mà điển hình là việc tìm kiếm thông tin trên Web lại nhận được rất
nhiều kết quả không mong muốn khiến người dùng khó tìm được thông tin mình
cần. Mặt khác, vì chỉ có con người mới hiểu được nội dung trên các trang Web hiện
nay nên các thông tin trên Web không thích hợp cho các tác tử phần mềm, khiến
việc tự động hóa trên Web gặp rất nhiều khó khăn.
Semantic Web là sự mở rộng của Web hiện tại. Chính vì vậy, những đặc điểm
nổi bật nhất của Semantic Web chính là những khả năng giúp khắc phục những hạn
chế của Web hiện nay..
Thomas B. Passin đã ghi chép lại một số lời phát biểu về Semantic Web của các
tổ chức và nhà khoa học trong cuốn sách Explorer's Guide to the Semantic Web.
Những lời phát biểu này có thể được coi như những cách nhìn nhận khác nhau về
các đặc điểm của Semantic Web [12]:
• Dữ liệu có thể được hiểu bởi máy tính: “Semantic Web là một sự nhìn
nhận, đó là ý tưởng về việc dữ liệu trên Web được định nghĩa và sử dụng
theo cách mà nó có thể được sử dụng bởi máy tính không chỉ với mục đích
hiển thị mà còn nhằm mục đích tự động phân tích, sử dụng lại dữ liệu qua
các ứng dụng khác” (theo W3C).
• Hỗ trợ các tác tử thông minh: “Mục đích của Semantic Web là làm sao để
biểu diễn dữ liệu trên Web mà máy tính có thể hiểu được tốt hơn, để các tác
tử thông minh có thể tìm kiếm và thao tác các thông tin thích hợp” (theo
R.S.Cost).
• Phân tán và liên kết dữ liệu: “Semantic Web cung cấp khả năng mềm dẻo
đủ để có thể biểu diễn tất cả dữ liệu và các luật logic đồng thời liên kết
chúng với nhau để tạo nên giá trị tổng hợp to lớn” (theo W3C). “Một mô tả
đơn giản về Semantic Web là sự cố gắng để máy tính có thể xử lý dữ liệu mà

9


World Wide Web đã hỗ trợ để con người có thể đọc được. Điều đó nhằm
chuyển đổi thông tin theo một cách thông thường để dữ liệu có thể được truy
cập, được kết nối với nhau và được hiểu bởi máy tính. Ngoài ra còn nhằm
mục đích chuyển đổi Web từ một lượng lớn các siêu liên kết trở thành một
lượng lớn các cơ sở dữ liệu được liên kết với nhau” (theo SWAD-E:
Semantic Web Advanced Development for Europe).
• Là một cơ sở hạ tầng hỗ trợ tự động hóa: “Trong bài báo mới nhất của
Berners-Lee ở tạp chí Scientific American, ông ta đã khẳng định rằng
Semantic Web là một cơ sở hạ tầng chứ không phải một ứng dụng. Và chúng
tôi hoàn toàn đồng ý với ý kiến đó” (theo Tuttle). “Vấn đề thực sự là thiếu
một framework tự động ở Web hiện tại…” (theo Garcia và Delgado)
• Phục vụ con người: “Một cách nhìn về Semantic Web là để các phần mềm
máy tính hỗ trợ con người có được lượng lớn tài nguyên được đặt trên Web
mà thực sự cần được trích rút, kết hợp và đánh chỉ mục những thông tin bên
trong” (theo Cranefield). “Semantic Web là một cách nhìn về thế hệ tiếp
theo của Web, nó cho phép các ứng dụng web thu thập một cách tự động các
tài liệu trên web từ các nguồn khác nhau, kết hợp và xử lý thông tin đồng
thời phối hợp với các ứng dụng khác để thực hiện những tác vụ phức tạp cho
con người” (theo Anuatariya)
• Có các chú thích (annotation) tốt hơn: “Ý tưởng về Semantic Web của
Berners-Lee đã giúp chúng ta hiểu rằng nó có các chú thích được biểu diễn
ở dạng mà máy tính có thể xử lý và chúng được liên kết với nhau” (theo
Euzenat)
• Cải thiện khả năng tìm kiếm: “Sẽ sớm có thể truy cập các tài nguyên trên
Web bằng nội dung thay vì chỉ bằng các từ khóa” (theo Anuatariya). “Mục
đích chính [của công nghệ được mô tả trong bài báo] là để xây dựng một chỉ
mục có cấu trúc của trang web” (theo Desmontils và Jacquin)

• Hỗ trợ các dịch vụ web (web services) và các tác tử phần mềm: “Càng
ngày, Semantic Web càng giúp cung cấp các truy nhập tới không chỉ các văn
bản tĩnh tổng hợp các thông tin hữu ích mà cả các dịch vụ cung cấp các
hành vi cần thiết” (theo Klein và Bernstein). “Semantic Web hứa hẹn sẽ mở
rộng các dịch vụ cho web hiện tại bằng việc cho phép các tác tử phần mềm
tự động hóa các thủ tục mà hiện này đang phải thực hiện bằng tay và giới
thiệu các ứng dụng mới mà không thể thực hiện với web hiện tại” (theo
Tallis, Goldman và Balzer)
Có thể các đặc điểm trên đây là chưa đầy đủ về Semantic Web nhưng đó cũng là
những đặc điểm nổi bật nhất được các nhà khoa học nhận xét cho đến thời điểm
hiện tại. Tất cả những đặc điểm đó đều được nhấn mạnh ở khả năng vượt trội của
Semantic Web so với Web hiện tại và chúng ta hoàn toàn có thể hi vọng rằng những
khả năng này sẽ sớm trở thành hiện thực.

10


1.3. Kiến trúc của Semantic Web
Hiện nay, đã có rất nhiều sơ đồ kiến trúc về Semantic Web khác nhau được công
bố.
Theo bài thuyết trình của Tim Berners-Lee tại hội thảo AAAI (Association for
the Advancement of Artificial Intelligence) vào tháng 7 năm 2006 thì kiến trúc của
Semantic Web được mô tả trong hình 1.3.

Hình 1.3: Kiến trúc của Semantic Web
(Theo />Các giải thích chi tiết cho hình 1.3 sẽ được trình bày trong các phần dưới đây
với việc mô tả về các lớp trong kiến trúc của Semantic Web.
1.3.1 Lớp URI (Uniform Resource Identifier)
URI là bộ định danh các tài nguyên trên Web. Nó là một chuỗi ngắn gọn các kí
tự được dùng để định danh một tên hay một tài nguyên.

Mục đích chính của việc định danh này là để có thể tạo được mối liên kết giữa
các tài nguyên trên mạng thông qua việc biểu diễn các tài nguyên theo một chuẩn
thống nhất. Ví dụ thường gặp nhất là sử dụng các giao thức của World Wide Web.
URI được định nghĩa trong các lược đồ và các lược đồ này được tạo nên để đưa ra
các cú pháp riêng biệt và các giao thức liên kết.
URI có thể được phân loại theo địa chỉ (URL – Uniform Resource Locator) và
tên (URN – Uniform Resource Name)

11


Hình 1.4: URI là kết hợp của URL và URN [20]
Có thể hiểu URN như là tên của một người, còn URL giống như địa chỉ nhà của
người đó. URN tạo nên định danh còn URL cung cấp phương thức để tìm kiếm.
Với những người sử dụng Internet thì khái niệm URL rất quen thuộc. Nó cung
cấp địa chỉ truy cập tới một trang web trên mạng. Có thể lấy ví dụ về URL:
Đây cũng chính là một URI, là định danh trang chủ của
trường Đại học Bách Khoa Hà Nội.
URN cho phép định danh một tên trong một không gian tên cụ thể. Một URN có
thể được sử dụng để nói về một tài nguyên mà không cần biết vị trí của nó. Chẳng
hạn như URN urn:isbn:0-395-36341-1 chính là một URI, nó là định danh của một
cuốn sách được đánh số theo “số sách chuẩn quốc tế” (ISBN).
Vài trò của URI là để đảm bảo mọi thứ trên Web đều có một định danh duy nhất.
Nó là nền tảng của Semantic Web và là thành phần không thể thiếu.
1.3.2 Lớp Unicode
Unicode là một chuẩn cho phép máy tính có thể biểu diễn và thao tác các văn
bản được biểu diễn trong hầu hết các hệ thống trên thế giới. Unicode bao gồm
khoảng 100.000 ký tự, một tập các biểu đồ mã có tính tượng hình, các quy tắc mã
hóa và một tập các phép mã hóa ký tự chuẩn. Unicode cũng có một loạt các thuộc
tính chẳng hạn như chữ hoa, chữ thường…

Sự thành công của Unicode là ở việc thống nhất được các tập ký tự. Nhờ vậy nó
được sử dụng rộng rãi và chiếm ưu thế trong việc tạo nên các phần mềm máy tính
được sử dụng rộng rãi trên khắp thế giới cũng như là các phần mềm chỉ sử dụng tập
kí tự riêng biệt của từng vùng.
Trong Semantic Web, lớp Unicode sẽ đảm bảo có được sự thống nhất trong việc
mô tả dữ liệu.
1.3.3 Lớp XML (Extensible Markup Language)
XML là một ngôn ngữ đánh dấu, nó được phân loại như một ngôn ngữ mở rộng
vì nó cho phép người dùng định nghĩa các phần tử của riêng họ. Mục đích chính của
XML là để có thể dễ dàng chia sẻ dữ liệu có cấu trúc cho các hệ thống thông tin
khác nhau, đặc biệt là qua Internet.
XML được đưa ra bởi W3C và là một chuẩn mở. Một tài liệu XML bao gồm
một tập các thẻ đóng và thẻ mở lồng nhau, ở mỗi thẻ lại có các cặp thuộc tính và giá
trị.
Khi xét đến tính đúng đắn của một văn bản XML thì có hai mức:
12


-

Well-formed: Một văn bản well-formed thỏa mãn tất cả các luật cú pháp của
XML. Chẳng hạn, nếu có một thẻ mở mà không có thẻ đóng thì nó không
well-formed. Một văn bản không well-formed thì không được coi như một
văn bản XML.

-

Valid: Một văn bản valid thì phải thỏa mãn thêm một số luật ngữ nghĩa.
Những luật này có thể do người dùng định nghĩa hoặc dựa trên XML schema
hay DTD (Document Type Definition). Chẳng hạn, nếu một văn bản chứa

một phần tử chưa được định nghĩa, nó sẽ không được coi là valid.

Chính nhờ sự mở rộng và tính đúng đắn của XML mà nó được chọn là chuẩn
nền tảng cho Semantic Web. Lớp XML đảm bảo có thể tích hợp các định nghĩa
Semantic Web với các chuẩn dựa trên XML khác.
1.3.4 Lớp RDF (Resource Description Framework)
RDF là được đưa ra bởi W3C, nó được thiết kế như một mô hình siêu dữ liệu
nhưng lại được sử dụng như một phương thức mô hình hóa thông tin qua các định
dạng cú pháp khác nhau.
Mô hình siêu dữ liệu của RDF dựa trên ý tưởng của các câu phát biểu về các tài
nguyên trong biểu diễn chủ ngữ (subject) – vị ngữ (predicate) – đối tượng (object).
Cách biểu diễn này gọi là bộ ba trong RDF. Chủ ngữ biểu thị tài nguyên, vị ngữ
biểu thị mối quan hệ giữa chủ ngữ và đối tượng.
Ví dụ: với phát biểu
có title là Trường đại học Bách Khoa Hà Nội
ta có bộ ba:
-

Chủ ngữ:

-

Vị ngữ: />
-

Đối tượng: "Trường đại học Bách Khoa Hà Nội"

Phát biểu này được viết dưới dạng chuẩn RDF như sau:
<?xml version="1.0"?>
<rdf:RDF xmlns:rdf=" />xmlns:dc=" /><rdf:Description rdf:about=" /><dc:title>Trường đại học Bách Khoa Hà Nội</dc:title>

</rdf:Description>
</rdf:RDF>
Bảng 1.1: Một ví dụ về chuẩn RDF
Tất nhiên, mỗi thành phần trong một phát biểu cũng có một URI riêng. Nguyên
lý cho việc mô tả tài nguyên như vậy là nội dung chính trong đề xuất của W3C. Đây

13


chính là một sự phát triển mới của World Wide Web mà ở đó các phần mềm tự động
có thể lưu trữ, trao đổi và sử dụng những thông tin được phân tán trên web.
Lớp RDF trong kiến trúc của Semantic Web có vai trò tạo các phát biểu để mô tả
các đối tượng được định danh theo URI. Các đối tượng này có thể được tham chiếu
đến bởi các từ vựng và định nghĩa ở các lớp phía trên.
1.3.5 Lớp RDF-S (RDF Schema)
RDF Schema được dùng để định nghĩa các tài nguyên và các thuộc tính, mối
quan hệ giữa các tài nguyên, giữa các thuộc tính và giữa tài nguyên với thuộc tính.
RDF Schema là một tập các từ khóa mà qua đó cho phép người dùng định nghĩa
bộ từ vựng (resource, property) cụ thể cho dữ liệu RDF, chẳng hạn như
hasTheColor, hasName, writtenBy…
Đặc điểm nổi bật nhất của RDF Schema là nó cho phép định nghĩa lớp (có các
lớp con, có tính kế thừa…) cũng như định nghĩa các thuộc tính.
RDF Schema đi cùng với lớp RDF trong các mô tả về kiến trúc của Semantic
Web. Trong kiến trúc của Semantic Web thì RDF và RDF Schema đóng vai trò quan
trọng nhất.
1.3.6 Lớp SPARQL (SPARQL Protocol and RDF Query Language)
Cũng giống như cơ sở dữ liệu được lưu trữ trong các hệ quản trị cơ sở dữ liệu,
dữ liệu Web được lưu trữ dưới dạng các tài liệu RDF cũng cần phải được truy vấn
một cách nhanh chóng và chính xác. Nhóm RDF Data Access Working Group đã
đưa ra ngôn ngữ SPARQL dùng để truy vấn cho các tài liệu RDF.

SPARQL có các tính năng như:
-

Trích thông tin trong các dạng của URI và các kiểu dữ liệu được định
nghĩa trong RDF-S.

-

Trích thông tin từ các đồ thị RDF.

-

Xây dựng một đồ thị RDF mới dựa trên thông tin trong đồ thị truy vấn.

Mọi câu truy vấn của SQL (Structured Query Language) thông thường đều có
thể được thực hiện bằng SPARQL. Điều này khiến việc truy vấn cơ sở dữ liệu với
các tài liệu RDF không còn là một vấn đề lớn nữa.
1.3.7 Lớp OWL (Web Ontology Language)
OWL được thiết kế để sử dụng trong các ứng dụng cần xử lý nội dung thông tin
thay vì chỉ đơn thuần hiển thị thông tin. OWL được sử dụng để biểu diễn ngữ nghĩa
của các khái niệm trong các bộ từ vựng đồng thời cũng mô tả mối quan hệ giữa các
khái niệm đó. Việc mô tả các khái niệm và mối liên hệ giữa chúng được gọi là
ontology.
Một ontology định nghĩa một bộ từ vựng mang tính phổ biến và thông thường.
Nó bao gồm các định nghĩa về các khái niệm căn bản trong một lĩnh vực và các mối
liên hệ giữa chúng.

14



OWL có ba ngôn ngữ con: OWL Lite, OWL DL và OWL Full [17].
-

OWL Lite hỗ trợ những người dùng cần có phép phân loại theo dạng cây
phân cấp và các ràng buộc đơn giản. OWL Lite thích hợp hơn cho việc
cung cấp một đường dẫn nhanh tới các bộ từ điển hay các phép phân loại
khác. OWL Lite đơn giản hơn so với OWL DL.

-

OWL DL hỗ trợ những người dùng muốn có được tính ngữ nghĩa tối đa
trong khi vẫn giữ được sự toàn vẹn (mọi kết luận đưa ra phải được đảm
bảo có thể tính toán được) và tính quyết định (tất cả các tính toán phải kết
thúc trong thời gian giới hạn). OWL DL được đặt tên như vậy vì nó đáp
ứng với các logic mô tả (description logics) – một lĩnh vực trong nghiên
cứu về các logic tạo nên tổ chức của OWL.

-

OWL Full hỗ trợ những người dùng muốn có được tính ngữ nghĩa tối đa,
có cú pháp tự do của RDF mà không cần sự bảo đảm về tính toán. Chẳng
hạn, trong OWL Full, một lớp có thể được có thể được coi như một tập
các phần tử riêng biệt không liên quan đến nhau. OWL Full cho phép một
ontology bổ sung thêm ngữ nghĩa của bộ từ vựng tiền định nghĩa (RDF
hoặc OWL). Không phải mọi phần mềm đều có thể hỗ trợ hoàn toàn cho
các đặc điểm của OWL Full.

1.3.8 Lớp RIF (Rule Interchange Format)
Hiện nay có rất nhiều các ngôn ngữ dựa trên luật và các máy suy diễn khác
nhau. Một vấn đề đặt ra là làm sao có thể có được định dạng có khả năng trao đổi

giữa các loại luật được tạo từ các máy suy diễn đó. Vì vậy, W3C đã đề xuất ra RIF
nhằm phát triển một định dạng cho việc trao đổi các luật trong các hệ thống dựa
trên luật của Semantic Web.
Sự xuất hiện của RIF có mối quan hệ mật thiết với ontology. Trong khi các
ontology mô tả các đối tượng thông tin phân tán theo cách mà máy tính có thể xử lý
thì các luật lại tổng hợp những thông tin này và đưa ra những thông tin mới dựa trên
các ontology đó.
1.3.9 Lớp Unifying Logic
Lớp logic cho phép đưa ra các luật và nhờ đó có thể suy diễn ra các thông tin
mới dựa vào những thông tin đã có. Chẳng hạn, ta đã có thông tin về điểm thi học
kỳ của sinh viên Đại học Bách Khoa Hà Nội. Nếu ta thêm luật “những sinh viên nào
có điểm trung bình học kỳ từ 8.0 trở lên thì được nhận học bổng” thì ta có thể tìm
tất cả sinh viên có được nhận học bổng hoặc kiểm tra một sinh viên có được nhận
học bổng hay không, vì những thông tin đó đã được suy diễn.
1.3.10 Lớp Proof
Lớp Proof trong kiến trúc của Semantic Web có vai trò kiểm chứng dựa trên các
luật được thêm vào. Sau đó các luật sẽ được thực thi dựa trên các thông tin có sẵn.
Chẳng hạn, sau khi máy tính tính được điểm trung bình học kỳ của sinh viên A là
8.5 và thấy rằng 8.5 > 8.0 thì nó có thể đưa ra một chứng cớ (proof): sinh viên A
được nhận học bổng.
15


Lớp proof cũng được dùng để cung cấp những thông tin cần thiết cho các tác tử
tự động.
1.3.11Lớp Trust
Ở phía trên cùng của kiến trúc Semantic Web là lớp Trust có vai trò đánh giá để
sau đó quyết định có nên hay không nên tin tưởng và chấp nhận những chứng cớ
được đưa ra ở lớp Proof.
Các lớp Logic, Proof và Trust hiện nay vẫn đang trong giai đoạn nghiên cứu và

mới chỉ có những ứng dụng đơn giản.

1.4. Một số ứng dụng cơ bản dựa trên Semantic Web
1.4.1 Quản lý tri thức
Quản lý tri thức có thể được hiểu như những quy trình hoặc các công cụ mà một
tổ chức sử dụng để thu thập, phân tích, lưu trữ và phổ biến tri thức của họ. Bên cạnh
việc triển khai các công nghệ và tiến trình thích hợp cho mục đích thương mại thì
cũng phải quan tâm đến việc quản lý tri thức sao cho hiệu quả để có thể sử dụng
kinh nghiệm và sự hiểu biết của tài nguyên con người một cách tối ưu nhất.
Ngày nay quản lý tri thức nổi lên như một hoạt động quan trọng của các tổ chức
lớn cũng như các các doanh nghiệp vì họ coi những tri thức nội bộ như một tài sản
quý để từ đó có thể tạo nên hiệu quả tốt hơn, tạo ra những giá trị mới và tăng tính
cạnh tranh. Quản lý tri thức cũng đóng vai trò đặc biệt quan trọng trong các tổ chức
quốc tế với các phòng ban bị phân tán về địa lý.
Mặc dù các luật cơ bản cho quản lý tri thức đã được thiết lập từ năm 1995 [20]
nhưng hiện tại việc quản lý tri thức vẫn chứa đựng những hạn chế. Những hạn chế
này chủ yếu xuất phát từ việc hầu hết các thông tin hiện nay đều là phi cấu trúc. Có
thể thấy rõ hơn những hạn chế ở trong các mục tiêu sau [7]:
• Tìm kiếm thông tin: các doanh nghiệp, tổ chức thường sử dụng các máy tìm
kiếm (search engine) dựa trên từ khóa. Đó chính là lý do khiến cho lượng
thông tin trả về không phù hợp là rất nhiều và nhiều khi người dùng không
thể tìm kiếm được thông tin mình cần. Chi tiết hơn về những hạn chế của
việc tìm kiếm dựa trên từ khóa được trình bày trong chương 2.
• Trích rút thông tin: người dùng mong muốn việc duyệt các thông tin đã có
để lấy các thông tin cần thiết. Công việc này cần phải được thực hiện nhanh
chóng và hiệu quả nhưng các tác tử thông minh hiện nay không đủ khả năng
thực hiện những nhiệm vụ này theo đúng mong muốn của người dùng.
• Bảo trì thông tin: hiện nay công việc này đang gặp một số vấn đề như tính
nhất quán trong các thuật ngữ và sự rủi ro khi loại bỏ những thông tin đã lưu
trữ quá lâu.

• Không bỏ sót thông tin: những tri thức mới tồn tại trong cơ sở dữ liệu cần
phải được trích rút sử dụng khai phá dữ liệu. Tuy nhiên, nhiệm vụ này vẫn
đang rất khó khăn cho các ứng dụng hiện tại đặc biệt là với những tập dữ liệu
phi cấu trúc và phân tán.
16


• Xem thông tin: người ta mong muốn rằng việc hạn chế truy cập phải được
thực hiện cho từng thông tin cụ thể và với những nhóm người dùng cụ thể.
Tuy nhiên, việc thiết lập các khung nhìn (view) chỉ được biết đến trong các
cơ sở dữ liệu chứ rất khó để có thể thực hiện được trên toàn bộ mạng hiện
nay.
Những hạn chế này hứa hẹn sẽ được giải quyết với sự xuất hiện của Semantic
Web. Ưu điểm lớn nhất của Semantic Web là dữ liệu đã được cấu trúc hóa đồng thời
các nền tảng của Semantic Web cũng hỗ trợ rất nhiều cho các nhiệm vụ của việc
quản lý tri thức. Khả năng biểu diễn luật cũng như khả năng suy diễn ra tri thức mới
dựa trên những tri thức hiện tại có khả năng tạo nên những bước đột phá cho các hệ
thống quản lý tri thức. Người ta mong muốn rằng với Semantic Web, những cải tiến
dưới đây cho các hệ thống quản lý tri thức sẽ được thực hiện [7]:
• Tri thức sẽ được tổ chức trong các không gian khái niệm theo ý nghĩa của
chúng.
• Các công cụ tự động sẽ hỗ trợ cho việc bảo trì tri thức nhờ việc kiểm tra sự
không nhất quán và trích rút ra những tri thức mới.
• Việc tìm kiếm dựa trên từ khóa sẽ được thay thế bởi việc trả lời các câu truy
vấn. Những tri thức được yêu cầu tìm kiếm sẽ được thu thập, trích rút và biểu
diễn theo cách thân thiện với con người.
• Việc trả lời cho các câu truy vấn trên nhiều tài liệu sẽ được hỗ trợ.
• Việc định nghĩa người dùng nào có thể xem được phần thông tin nào (thậm
chí là phần nào của văn bản) sẽ có thể thực hiện được.
1.4.2 Thương mại điện tử

Thương mại điện tử có thể được hiểu như việc mua và bán các sản phẩm hay
dịch vụ trên các hệ thống điện tử như Internet hay các mạng máy tính [7]. Việc kinh
doanh dựa trên thương mại điện tử đã phát triển nhanh chóng từ khi có sự xuất hiện
của Internet. Tuy nhiên, với World Wide Web hiện nay, vẫn còn những hạn chế cũng
như khó khăn cho việc thương mại điện tử. Có thể thấy rõ nhất những khó khăn
cũng như khả năng cải tiến của Semantic Web ở hai hình thức kinh doanh thương
mại điện tử là B2C (Bussiness to Consumer) và B2B (Bussiness to Bussiness) .
1.4.2.1 B2C
B2C là hình thức thương mại được sử dụng rất nhiều bởi người dùng Web.
Người dùng thường truy cập vào các trang bán hàng trực tuyến, tìm kiếm, lựa chọn
và đặt hàng sản phẩm.
Mong muốn của người dùng là có thể có được tất cả thông tin về giá cả, loại mặt
hàng, điều kiện hiện tại của các sản phẩm ở tất cả các cửa hàng bán hàng trực tuyến
hoặc chí ít là ở tất cả các cửa hàng chính sau đó mới lựa chọn cửa hàng tốt nhất để
đặt hàng. Tuy nhiên, việc duyệt web bằng tay tốn quá nhiều thời gian để có thể nắm
bắt được những thông tin này. Do vậy người dùng sẽ chỉ có thể vào một hoặc một
vài trang web sau đó quyết định.

17


Để làm giảm bớt những khó khăn này, đã có những công cụ giống như bộ so
sánh giá cả, các tác tử phần mềm sẽ tự động đi tới các trang web, thu thập thông tin
về sản phầm và giá cả rồi đưa ra cái nhìn tổng quan. Tuy nhiên cách tiếp cận này
cũng phải đối mặt với một số trở ngại.
Thông tin thu được từ các trang bán hàng trực tuyến qua việc tìm kiếm dựa trên
từ khóa và các phương thức phân tích văn bản. Tuy nhiên, không có gì có thể đảm
bảo cho khả năng phân tích chính xác văn bản vì mỗi cửa hàng lại có những quy
cách riêng, những thuật ngữ riêng. Thêm vào đó, thời gian để các tác tử phần mềm
thu thập các thông tin cần thiết cũng là khá nhiều.

Với Semantic Web, một số khó khăn sẽ được giải quyết [7]:
• Giá cả và thông tin sản phẩm sẽ được trích rút một cách chính xác, các quy
định về sự phân phối và tính bí mật sẽ được hiểu và so sánh với những yêu
cầu của người dùng.
• Những thông tin về uy tín của các cửa hàng trực tuyến sẽ được thu thập từ
những nguồn khác nhau giúp người dùng có sự lựa chọn tốt nhất.
• Những tác tử phức tạp hơn sẽ có thể thực hiện các thỏa thuận với các tác tử
của cả hàng theo ý muốn của người mua.
1.4.2.2 B2B
Hầu hết người sử dụng tiếp cận với tính thương mại của Web qua hình thức
thương mại B2C, tuy nhiên lợi ích kinh tế cũng như mục tiêu phát triển lớn nhất của
các công nghệ trực tuyến lại nằm ở lĩnh vực B2B.
Trước đây, các doanh nghiệp vẫn trao đổi dữ liệu của họ qua cách tiếp cận trao
đổi dữ liệu điện tử (Electronic Data Interchange - EDI). Tuy nhiên, công nghệ này
phức tạp và chỉ có thể được hiểu bởi các chuyên gia. Rất khó để lập trình và bảo trì.
Mỗi giao tiếp B2B yêu cầu việc lập trình khác nhau nên việc giao tiếp này là rất tốn
kém. Hơn nữa, EDI là một công nghệ riêng lẻ và các dữ liệu trao đổi sẽ không thể
dễ dàng tích hợp vào các ứng dụng của các doanh nghiệp khác.
Sự xuất hiện của Internet đã mang lại một cơ sở hạ tầng lý tưởng cho các trao
đổi B2B. Các doanh nghiệp có thể sử dụng các giải pháp dựa trên Internet và các
mô hình kinh doanh mới như các cổng thông tin B2B cũng đã xuất hiện. Tuy nhiên,
thương mại điện tử B2B vẫn bị cản trở bởi việc có quá ít chuẩn. Chuẩn HTML thì
quá yếu để có thể hỗ trợ các hoạt động một cách có hiệu quả. Nó không có khả năng
cung cấp các thông tin có cấu trúc hay có ngữ nghĩa. Chuẩn mới XML thì có nhiều
cải tiến hơn nhưng cũng chỉ có thể hỗ trợ các trao đổi đã có quy định trước về bộ từ
vựng được sử dụng giữa hai bên.
Sự hiện thực hóa của Semantic Web sẽ cho phép các doanh nghiệp tham gia vào
các hiệp hội mà không mất quá nhiều chi phí. Sự khác biệt của các thuật ngữ giữa
các doanh nghiệp sẽ được giải quyết bằng việc sử dụng các mô hình miền trừu
tượng (abstract domain model) và dữ liệu sẽ được trao đổi sử dụng cách dịch vụ

phiên dịch. Hơn nữa, các thỏa thuận, các giao kèo tạm thời sẽ có thể được thực hiện
bởi các tác tử phần mềm một cách tự động hoặc bán tự động.

18


1.4.3 Mạng xã hội
Mạng xã hội là một cấu trúc xã hội được tạo bởi các nút, các nút này thường là
những con người riêng lẻ hoặc những tổ chức khác nhau. Các nút ở trong mạng xác
hội được liên kết với các nút khác trong mạng bởi một hoặc nhiều kiểu phụ thuộc
khác nhau như: giá trị, ý tưởng, trao đổi tài chính, bạn bè, quan hệ họ hàng…
Những cấu trúc tạo được thường rất phức tạp.
Mạng xã hội có thể được hiểu bao gồm các nút (nodes) và các liên kết (ties).
Các nút là những tác nhân riêng lẻ bên trong mạng, và các liên kết là mối quan hệ
giữa các tác nhân đó. Có thể có nhiều loại liên kết giữa các nút. Việc nghiên cứu
trong nhiều lĩnh vực khác nhau đã chỉ ra rằng các mạng xã hội có tác dụng trong rất
nhiều cấp khác nhau và đóng vai trò quan trọng trong việc quyết định cách các vấn
đề được giải quyết, cách các tổ chức hoạt động và mức độ thành công của các cá
nhân trong việc đạt được mục đích của họ.
Với nền tảng của Web hiện tại, đã có những ứng dụng mạng xã hội được thực
hiện. Một ví dụ điển hình là các blog. Mỗi blog của một người được coi là một nút
trên mạng. Mỗi quan hệ bạn bè được coi là liên kết giữa các nút. Có thể thấy rằng
các ứng dụng mạng xã hội trên Web hiện nay vẫn có nhiều hạn chế như chưa hỗ trợ
nhiều loại liên kết giữa các nút hoặc nếu có thì cũng rất khó khăn cho người phát
triển phần mềm cũng như người dùng khi sử dụng.
Với Semantic Web, các mạng xã hội có khả năng phát triển vượt bậc. Vì ngay
bản thân các ontology của Semantic Web cũng được hiểu là bao gồm các khái niệm
và mối liên hệ giữa các khái niệm đó. Các nền tảng của Semantic Web có khả năng
hỗ trợ rất nhiều trong việc tạo nên các ứng dụng dựa trên cấu trúc như vậy.
Đặc biệt, với sự xuất hiện của FOAF (Friend Of A Friend) thì các mạng xã hội

mô tả về con người, nhóm người, tổ chức và các mối quan hệ tương ứng sẽ có thể
được thực hiện dễ dàng và hiệu quả. FOAF là một ontology mô tả các thông tin cơ
bản về con người, nhóm người, tổ chức, các tài liệu, các dự án… Ontology này định
nghĩa khá đầy đủ và chi tiết về các thuộc tính của từng khái niệm mà nó cung cấp.
Ví dụ, để mô tả thông tin về một người, FOAF cung cấp hầu hết các thông tin cơ
bản như tên, ngày tháng năm sinh, nghề nghiệp, giới tính, tham gia vào các nhóm
nào, có những tài liệu nào, có những hình ảnh cá nhân nào…
Có thể thấy rằng với các nền tảng của Semantic Web thì ứng dụng mạng xã hội
là một trong những ứng dụng sẽ được thực hiện dễ dàng và hiệu quả nhất, mang lại
những kết quả vượt trội nhất so với những ứng dụng hiện tại.
1.4.4 Ứng dụng tìm kiếm
Có thể coi việc tìm kiếm thông tin là một ứng dụng nhỏ của quản lý tri thức. Tuy
nhiên, với vai trò quan trọng của tìm kiếm thông tin đặc biệt là tìm kiếm thông tin
trên Web thì người ta luôn coi đây là một bài toán lớn cần đầu tư nhiều thời gian,
công sức cũng như tiền bạc để cải thiện các ứng dụng hiện tại.
Điều này là hoàn toàn dễ hiểu vì với lượng thông tin bùng nổ trên Web thì người
dùng không thể tự mình duyệt tất cả các trang web để thu thập thông tin mà họ cần
phải có những công cụ tìm kiếm hỗ trợ. Đứng trên khía cạnh kinh doanh thì đây có
19


thể coi là một thị trường rất lớn và có khả năng mang lại lợi nhuận cao cho các nhà
đầu tư. Đặc biệt, nếu có những giải pháp mang tính đột phá thì chắc chắn các doanh
nghiệp sẽ có được siêu lợi nhuận trong lĩnh vực này. Điều đó lý giải tại sao tất cả
các công ty công nghệ thông tin lớn nhất trên thế giới như Google, Microsoft,
Yahoo, Baidu… đều đầu tư vào các máy tìm kiếm của riêng họ nhằm chiếm lĩnh thị
phần [20]. Sự phát triển nhanh chóng của Google là một ví dụ điển hình nhất cho
khả năng mang lại lợi nhuận của các ứng dụng tìm kiếm trên Web.
Mặc dù vậy, các ứng dụng tìm kiếm hiện nay vẫn chứa đựng rất nhiều hạn chế
và những hạn chế này hầu hết xuất phát từ việc các tài nguyên trên Web là các tài

nguyên phi cấu trúc. Vì lý do này mà các máy tìm kiếm chỉ có thể dựa theo từ khóa
để tìm kiếm thông tin và đương nhiên sẽ có rất nhiều kết quả không mong muốn
được trả về cho người dùng. Các doanh nghiệp cũng đã đề xuất nhiều giải pháp
nhằm cải thiện hiệu quả tìm kiếm như các thuật toán sắp hạng, các thuật toán tìm từ
đồng nghĩa, tìm các từ khóa liên quan… Tuy nhiên, kết quả tìm kiếm vẫn chưa thực
sự thỏa mãn được người dùng.
Để có thể chuyển tất cả thông tin trên Web trở thành có cấu trúc là điều rất khó
thực hiện được chí ít là trong tương lai gần. Tuy nhiên, nếu trong nội tại một doanh
nghiệp thì hoàn toàn có thể thực hiện được. Và khi đó, sức mạnh của Semantic Web
sẽ được thể hiện trong việc hỗ trợ các công cụ tìm kiếm. Với việc máy tính có thể
hiểu được thông tin trên Semantic Web, các dữ liệu trả về sẽ mang tính ngữ nghĩa
nhiều hơn, gần với yêu cầu của người dùng hơn.
Việc ứng dụng Semantic Web để tìm kiếm thông tin trong nội bộ các doanh
nghiệp là hoàn toàn có thể thực hiện được ở thời điểm hiện tại với những nền tảng
mà Semantic Web đang hỗ trợ. Và chúng ta hoàn toàn có thể tin tưởng rằng nếu tất
cả các doanh nghiệp đều cấu trúc hóa các tài nguyên của họ, lượng tài nguyên được
cấu trúc hóa trên phạm vi toàn cầu sẽ tăng lên và khả năng ứng dụng Semantic Web
trên toàn Internet sẽ có thể trở thành hiện thực để mang lại những giá trị to lớn cho
người dùng.

1.5. Nhiệm vụ của đồ án tốt nghiệp
Như vậy qua các vấn đề đã trình bày ở trên, các nhiệm vụ mà đồ án cần phải
thực hiện là:
• Tìm hiểu về Semantic Web và các nền tảng của Semantic Web nhằm xây
dựng ứng dụng dựa trên các nền tảng mà Semantic Web hỗ trợ.
• Tìm hiểu các ứng dụng có thể thực hiện trên nền tảng của Semantic Web qua
đó lựa chọn ứng dụng phù hợp cho đồ án tốt nghiệp. Ứng dụng phải có khả
năng thực hiện ở thời điểm hiện tại và có khả năng mở rộng trong tương lai.
Ở đây, tác giả đã lựa chọn ứng dụng tìm kiếm trên Semantic Web làm ứng
dụng cho đồ án tốt nghiệp.

• Tìm hiểu sâu thêm về bài toán tìm kiếm trên Web nói chung và bài toán tìm
kiếm trên Semantic Web nói riêng. Qua đó tìm hiểu về các giải pháp cho việc
tìm kiếm trên Semantic Web nhằm lựa chọn giải pháp phù hợp nhất cho đồ
20


án. Giải pháp phải khả thi, có hiệu quả cao và có khả năng sử dụng khi phạm
vi của bài toán được mở rộng hơn. Sau khi tìm hiểu về ưu nhược điểm và khả
năng ứng dụng của các giải pháp, tác giả đã lựa chọn giải pháp Hybrid
Spread Activation để xây dựng mô hình giải quyết bài toán.
• Đưa ra mô hình giải quyết bài toán và xây dựng các ứng dụng để chứng minh
tính đúng đắn của mô hình. Trong phạm vi đồ án tốt nghiệp, tác giả đã xây
dựng ứng dụng tìm kiếm thông tin về bộ môn Công nghệ phần mềm, khoa
Công nghệ thông tin, Đại học Bách Khoa Hà Nội.
• Đánh giá được tính hiệu quả của giải pháp và chỉ ra được hướng phát triển
tiếp theo của đề tài.

Kết chương
Như vậy trong chương đầu tiên, đồ án đã trình bày được những nét tổng quan
nhất về Semantic Web bao gồm: khái niệm Semantic Web, đặc điểm của Semantic
Web, kiến trúc của Semantic Web. Bên cạnh đó, đồ án cũng chỉ ra một số ứng dụng
cơ bản trên nền tảng của Semantic Web để có cái nhìn tổng quan nhằm đánh giá bài
toán phù hợp nhất cho đồ án tốt nghiệp. Qua đó, tác giả đã chỉ ra được những nhiệm
vụ mà đồ án tốt nghiệp cần phải thực hiện bao gồm:
• Tìm hiểu về Semantic Web và các nền tảng của Semantic Web
• Lựa chọn ứng dụng phù hợp cho đồ án tốt nghiệp. Ứng dụng đã được lựa
chọn là ứng dụng tìm kiếm dựa trên Semantic Web.
• Lựa chọn giải pháp phù hợp cho bài toán tìm kiếm dựa trên Semantic Web.
• Đưa ra mô hình giải quyết bài toán và chứng minh tính đúng đắn.
• Đánh giá hiệu quả của giải pháp và đưa ra định hướng phát triển của đề tài.

Trong chương tiếp theo, đồ án sẽ trình bày về bài toán tìm kiếm dựa trên
Semantic Web đồng thời lựa giải pháp phù hợp để sử dụng trong nội dung đồ án tốt
nghiệp.

21


CHƯƠNG 2.
BÀI TOÁN TÌM KIẾM DỰA TRÊN SEMANTIC WEB

Nội dung của chương này sẽ trình bày các vấn đề sau:


Tổng quan về ứng dụng tìm kiếm trên Web.



Tổng quan về bài toán tìm kiếm dựa trên Semantic Web.



Các giải pháp cho việc tìm kiếm dựa trên Semantic Web.



Lựa chọn giải pháp phù hợp cho đồ án tốt nghiệp.

2.1. Tổng quan về ứng dụng tìm kiếm trên Web
2.1.1 Lịch sử phát triển
Năm 1990, công cụ đầu tiên được sử dụng cho việc tìm kiếm trên Internet đã

được xây dựng. Công cụ này có tên là Archie, được xây dựng bởi Alan Emtage,
một sinh viên của trường đại học McGill ở Montreal, Canada. Công cụ này
download các danh sách thư mục của tất cả các file được đặt trên các trang sử dụng
giao thức FTP (File Transfer Protocol) sau đó tạo một cơ sở dữ liệu của tên các file
sao cho có thể tìm kiếm trên đó. Tuy nhiên, Archie không đánh chỉ mục nội dung
của các file này.
Năm 1991, Mark McCahill ở trường đại học Minnesota đã tạo ra giao thức
Gopher nhằm cải tiến giao thức FTP hiện tại. Sự xuất hiện của Gopher đã kéo theo
sự xuất hiện của hai chương trình tìm kiếm mới là Veronica (là viết tắt của Very
Easy Rodent-Oriented Net-wide Index to Computerized Archives) và Jughead
(Jonzy's Universal Gopher Hierarchy Excavation And Display). Hai chương trình
này tìm kiếm tên các các tên file và các tiêu đề được lưu trữ trong các hệ thống chỉ
mục của Gopher.
Năm 1993, máy tìm kiếm đầu tiên có tên là Wandex, sử dụng web crawler
Wanderer được phát triển bởi Matthew Gray ở Viện công nghệ Massachusetts
(MIT). Một máy tìm kiếm khác cũng xuất hiện năm 1993 là Aliweb và vẫn còn
được sử dụng cho đến ngày nay.
Đầu năm 1994, JumpStation ra đời và sử dụng một crawler để tìm kiếm các
trang web, nhưng việc tìm kiếm chỉ dừng lại ở tiêu đề của các trang web. Cũng
trong năm này, một trong những máy tìm kiếm dựa trên “full-text” crawler cũng đã
ra đời và có tên là WebCrawler. Không giống như các máy tìm kiếm trước đó,
WebCrawler cho phép người dùng tìm kiếm bất kì từ nào trong các trang web, việc
tìm kiếm này đã trở thành một chuẩn cho tất cả các máy tìm kiếm sau này. Cũng
22


trong năm 1994, trường đại học Carnegie Mellon cũng đã khởi động máy tìm kiếm
Lycos với mục đích thương mại.
Trong những năm còn lại của thập niên 90, có nhiều máy tìm kiếm khác cũng đã
xuất hiện với sự tham gia của các công ty và thu được những khoản lợi nhuận rất

lớn từ thị trường này.
Năm 2000, máy tìm kiếm Google đã nổi lên và chiếm ưu thế trên thị trường.
Google đã thu được kết quả tìm kiếm tốt hơn nhờ việc sử dụng thuật toán sắp hạng
PageRank và nổi lên như một máy tìm kiếm tốt nhất lúc bấy giờ.
Năm 2000, Yahoo cũng cung cấp các dịch vụ tìm kiếm dựa trên máy tìm kiếm
của Inktomi. Yahoo! đã mua Inktomi năm 2002 và Overture (đang nắm giữ
AlltheWeb và AltaVista) năm 2003. Đến năm 2004, họ đã đưa ra máy tìm kiếm của
riêng mình nhờ tổng hợp các công nghệ đã thu được.
Microsoft cũng khởi động công cụ MSN Search (còn được gọi là Live Search)
từ mùa thu năm 1998 bằng việc sử dụng các kết quả tìm kiếm của Inktomi. Trong
năm 1999, cũng có một thời gian ngắn Microsoft sử dụng AltaVista cho trang tìm
kiếm của họ. Năm 2004, Microsoft đã bắt đầu chuyển sang công nghệ tìm kiếm của
riêng họ bằng việc sử dụng web crawler riêng được gọi là msnbot.
Đến cuối năm 2007, Google đã trở thành máy tìm kiếm được sử dụng phổ biến
nhất trên toàn thế giới [20]. Trong khi đó, ở một số nước cũng có một số máy tìm
kiếm riêng được dùng phổ biến nhất trong phạm vi của riêng nước đó. Ví dụ điển
hình nhất là Baidu của Trung Quốc.
2.1.2 Vai trò của việc tìm kiếm trên Web
Với sự xuất hiện của World Wide Web, lượng thông tin trên Internet ngày càng
tăng lên một cách nhanh chóng. Sự bùng nổ của lượng thông tin này khiến việc tìm
kiếm thông tin trên Web là rất cần thiết. Cũng giống như khi một sinh viên tới thư
viện để tìm đọc một cuốn sách, nhưng anh ta lại chỉ nhớ một phần tên của sách. Anh
ta không thể tự mình đến tất cả các giá sách để tìm ra quyển sách của mình. Và một
giải pháp tối ưu là sử dụng phần mềm tìm kiếm trên máy tính để tìm tên sách và vị
trí đặt sách tương ứng.
Với thông tin trên Web cũng vậy, người dùng rất cần có những công cụ tìm kiếm
giúp tìm ra được thông tin mình cần một cách nhanh chóng và chính xác. Chính vì
vậy, các máy tìm kiếm luôn là những ứng dụng cực kỳ quan trọng trong các dịch vụ
trên Web.
Trong phần trên chúng ta đã thấy tất cả các công ty về công nghệ thông tin lớn

nhất trên thế giới đều cố gắng tạo ra các máy tìm kiếm của riêng họ với những tính
năng mới và khác biệt. Qua đó có thể thấy rằng việc tìm kiếm trên Web không chỉ là
một bài toán khó cần đầu tư nhiều để giải quyết mà đây còn là một thị trường kinh
doanh đầy tiềm năng với những lợi nhuận khổng lồ.
Việc các công ty ra sức cạnh tranh để chiếm lĩnh thị phần cũng sẽ giúp cho
người dùng có được những công cụ tìm kiếm tốt hơn, nhanh chóng và chính xác
hơn nhờ việc các công ty không ngừng đưa ra các giải pháp mới.

23


2.1.3 Đặc điểm của việc tìm kiếm trên Web
Đa số các máy tìm kiếm dựa trên Web truyền thống đều tìm kiếm dựa trên việc
đối chiếu từ khóa. Người dùng có thể tìm kiếm được những văn bản hoặc trang Web
có nội dung chứa các từ khóa mình đưa ra.
Hiện nay, máy tìm kiếm thành công nhất đang là máy tìm kiếm của Google với
46.47% thị phần vượt xa máy tìm kiếm đứng thứ hai là Yahoo! (chiếm 17.16% thị
phần) [20]. Google được thiết kế để có thể crawling và đánh chỉ mục một cách hiệu
quả và trả về những kết quả tìm kiếm tốt hơn các máy tìm kiếm khác [18].
Dưới đây là kiến trúc máy tìm kiếm của Google được công bố năm 2000.

Hình 2.5: Kiến trúc máy tìm kiếm của Google ở mức cao
Ba nhiệm vụ chính trong kiến trúc máy tìm kiếm của Google cũng như nhiều
máy tìm kiếm khác là:
-

Web crawling: tự động tải các tài liệu, các trang Web trên Internet.

-


Indexing: đánh chỉ mục cho các tài liệu trong cơ sở dữ liệu.

-

Searching: tìm kiếm dựa trên các tài liệu đã đánh chỉ mục.

Các máy tìm kiếm sẽ lưu trữ tất cả thông tin về các trang web được thu thập bởi
web crawler, đây là một trình duyệt web tự động làm việc bằng cách tự động duyệt
theo tất cả các đường link mà nó nhìn thấy. Nội dung của mỗi trang web sẽ được
phân tích và quyết định đánh chỉ mục như thế nào. Dữ liệu về các trang web được
lưu trữ trong một cơ sở dữ liệu chỉ mục để sử dụng cho các truy vấn sau này. Một số
máy tìm kiếm (chẳng hạn như Google) lưu lại tất cả các phần của trang nguồn (lưu
vào cache) trong khi đó một số khác (chẳng hạn như AltaVista) lại lưu trữ mọi từ
(word) mà nó tìm thấy ở tất cả các trang. Các trang được lưu trong cache sẽ rất có
ích khi nội dung của trang đã được cập nhật mà các từ khóa tìm kiếm lại không xuất
hiện ở trong nội dung của nó nữa.
24


Khi người dùng nhập một câu truy vấn vào máy tìm kiếm (thường sử dụng từ
khóa), các máy tìm kiếm sẽ kiểm tra bảng chỉ mục của nó và đưa ra một danh sách
các trang web tốt nhất theo tiêu chí của nó. Thường thì danh sách này bao gồm đoạn
tiêu đề của trang web vào một đoạn ngắn của nội dung văn bản. Hầu hết các máy
tìm kiếm còn hỗ trợ sử dụng các toán tử logic AND, OR hay NOT cho các câu truy
vấn. Một số máy tìm kiếm lại cung cấp một tính năng cải tiến được gọi là tìm kiếm
gần đúng để cho phép người dùng định nghĩa khoảng cách giữa các từ khóa.
Tính hiệu quả của các máy tìm kiếm phụ thuộc vào độ chính xác của các kết quả
trả về. Trong số hàng tỷ các trang web chứa các từ hay cụm từ cụ thể thì sẽ có
những trang web gần với yêu cầu người dùng hơn, phổ biến hơn hoặc có độ ưu tiên
cao hơn những trang web khác. Hầu hết các máy tìm kiếm thực hiện phương thức

sắp hạng cho các kết quả để trả về những kết quả tốt nhất ở đầu tiên. Việc quyết
định trang web nào là tốt nhất, gần nhất với yêu cầu người dùng là khác nhau ở các
máy tìm kiếm khác nhau. Các phương thức cũng thay đổi theo thời gian khi việc sử
dụng Internet thay đổi và các kĩ thuật được cải tiến.
Các máy tìm kiếm truyền thống gặp phải hai vấn đề chính [1]:
-

Một từ khóa có thể có nhiều ý nghĩa khác nhau tùy theo ngữ cảnh và các
máy tìm kiếm không thể nhận biết được điều này từ nội dung của các
trang Web.

-

Các trang Web liên quan nhiều tới từ khóa của người dùng đưa vào
nhưng lại không chứa từ khóa đó trong nội dung thì sẽ không nằm trong
kết quả trả về.

Những vấn đề này của máy tìm kiếm truyền thống cũng chính là những điểm
khác biệt giữa tìm kiếm dựa trên Web truyền thống (dựa trên từ khóa) và tìm kiếm
dựa trên Semantic Web.

2.2. Bài toán tìm kiếm dựa trên Semantic Web
2.2.1 Nền tảng của việc tìm kiếm dựa trên Semantic Web
Việc tìm kiếm dựa trên Semantic Web (hay còn gọi là Semantic Search) là việc
tìm kiếm dựa trên các nền tảng của Semantic Web mà quan trọng nhất là RDF,
OWL và SPARQL.
2.2.1.1 RDF
Theo phát biểu của W3C Semantic Web Activity [11]: “RDF là một ngôn ngữ
được thiết kết để hỗ trợ cho Sematic Web theo cách rất giống với việc HTML là
ngôn ngữ giúp khai sinh ra Web ngày xưa. RDF là một framework để hỗ trợ mô tả

tài nguyên hay các siêu dữ liệu cho Web. RDF cung cấp các cấu trúc chung nhằm
trao đổi các dữ liệu XML.”
Mặc dù chưa được biết đến nhiều như các chuẩn đặc tả khác của W3C nhưng
RDF thực sự là một trong những chuẩn đặc tả đã có từ lâu, bản nháp đầu tiên đã có
từ năm 1997. Những người đầu tiên làm ra RDF là Ora Lassia và Ralph Swick đã
thiết lập nên nền tảng của RDF – một nguyên lý cho phép làm việc với các siêu dữ
liệu để thúc đẩy việc trao đổi dữ liệu giữa các tiến trình tự động. Mặc dù đã có
25


×