1. Trang chủ
  2. » Công Nghệ Thông Tin

TÌM HIỂU và xây DỰNG ỨNG DỤNG tìm KIẾM dựa TRÊN SEMANTIC WEB sử DỤNG HYBRID SPREAD ACTIVATION

79 398 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 79
Dung lượng 2,54 MB

Nội dung

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ó.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.

Trang 1

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 conngười Những lợi ích đó được thể hiện một cách rõ nét nhất kể từ khi Tim Berners-Lee 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ácnhau 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ạichứ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ấutrúc mà nó đang có

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ạnnghiên cứu và thử nghiệm nhưng Semantic Web hứa hẹn sẽ khắc phục được nhữnghạ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ớiviệ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ênWeb, các ứng dụng tìm kiếm thông tin dựa trên Semantic Web sẽ trả về những kếtquả 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ênSemantic Web và lựa chọn được giải pháp phù hợp để xây dựng một ứng dụng tìmkiế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 ứngdụ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ănkhi xây dựng ứng dụng tìm kiếm dựa trên Semantic Web và các giải pháptrê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 ứngdụ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 ứngdụng tìm kiếm trong phạm vi đó Dựa vào ứng dụng này đánh giá hiệuquả 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á đượckhả năng áp dụng mô hình ở những lĩnh vực khác nhau Từ đó có đượcnhững đánh giá chính xác hơn cho mô hình đề xuất

Trang 2

Bố cục của đồ án:

Đồ án được chia thành 4 chương bao gồm những nội dung như sau:

và kiến trúc của Semantic Web Chương này cũng trình bày về một số ứngdụ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ìnhbày ở cuối chương

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ựatrên Semantic Web Chương này cũng giới thiệu về một số ứng dụng tìmkiếm đã có và các giải pháp cho việc tìm kiếm dựa trên Semantic Web Ưunhượ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 đồ ántố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

Activation cho bài toán tìm kiếm dựa trên Semantic Web Chương này cũngtrì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ụngtìm kiếm thông tin trong bộ môn Công nghệ phần mềm

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ấtsang 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

Trang 3

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ườinhờ đọ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ênWeb 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ắtnhữ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áytí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

Trang 4

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ó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

Trang 5

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ĩathông tin Với những mở rộng của Semantic Web, những sức mạnh vượt trội củaWeb 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 đựnglượ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ạnchế 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ấtnhiều kết quả không mong muốn khiến người dùng khó tìm được thông tin mìnhcầ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ệnnay 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ếnviệ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ểmnổ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ạnchế 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]:

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).

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)

đủ để 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à 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

Trang 6

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)

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)

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)

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)

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ểmhiệ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ủaSemantic 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ữngkhả năng này sẽ sớm trở thành hiện thực

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ôngbố

Trang 7

Theo bài thuyết trình của Tim Berners-Lee tại hội thảo AAAI (Association forthe Advancement of Artificial Intelligence) vào tháng 7 năm 2006 thì kiến trúc củaSemantic Web được mô tả trong hình 1.3

Hình 1.3: Kiến trúc của Semantic Web

(Theo http://www.w3.org/2006/Talks/0718-aaai-tbl/Overview.html )

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 đâyvớ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ữacá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ẩnthố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 racá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)

Trang 8

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ủangườ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ó cungcấp địa chỉ truy cập tới một trang web trên mạng Có thể lấy ví dụ về URL:http://www.hut.edu.vn/ Đây cũng chính là một URI, là định danh trang chủ củatrườ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ănbản được biểu diễn trong hầu hết các hệ thống trên thế giới Unicode bao gồmkhoả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ộctí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ủaXML là để có thể dễ dàng chia sẻ dữ liệu có cấu trúc cho các hệ thống thông tinkhá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ồmmộ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:

Trang 9

- 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ôngwell-formed Một văn bản không well-formed thì không được coi như mộtvă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 schemahay DTD (Document Type Definition) Chẳng hạn, nếu một văn bản chứamộ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ẩnnền tảng cho Semantic Web Lớp XML đảm bảo có thể tích hợp các định nghĩaSemantic 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ệunhư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 địnhdạ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àinguyê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

- Đố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:

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

Trang 10

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ốiquan 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áclớ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 SemanticWeb Trong kiến trúc của Semantic Web thì RDF và RDF Schema đóng vai trò quantrọ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ấnmộ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 địnhnghĩ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ớicá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 tinthay vì chỉ đơn thuần hiển thị thông tin OWL được sử dụng để biểu diễn ngữ nghĩacủ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áckhá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ốiliên hệ giữa chúng

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

Trang 11

- OWL Lite hỗ trợ những người dùng cần có phép phân loại theo dạng câyphân cấp và các ràng buộc đơn giản OWL Lite thích hợp hơn cho việccung cấp một đường dẫn nhanh tới các bộ từ điển hay các phép phân loạikhá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 đatrong khi vẫn giữ được sự toàn vẹn (mọi kết luận đưa ra phải được đảmbả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ếtthú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ẳnghạn, trong OWL Full, một lớp có thể được có thể được coi như một tậpcác phần tử riêng biệt không liên quan đến nhau OWL Full cho phép mộtontology bổ sung thêm ngữ nghĩa của bộ từ vựng tiền định nghĩa (RDFhoặc OWL) Không phải mọi phần mềm đều có thể hỗ trợ hoàn toàn chocá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ácnhau Một vấn đề đặt ra là làm sao có thể có được định dạng có khả năng trao đổigiữ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 RIFnhằ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ựatrê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ácontology 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êncá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 tinmớ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ìmtấ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ậnhọ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ácluậ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

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

Trang 12

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ạnhviệ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ụngkinh 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ứclớ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ảnquý để 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ínhcạnh tranh Quản lý tri thức cũng đóng vai trò đặc biệt quan trọng trong các tổ chứcquố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]:

kiếm (search engine) dựa trên từ khóa Đó chính là lý do khiến cho lượngthông tin trả về không phù hợp là rất nhiều và nhiều khi người dùng khôngthể tìm kiếm được thông tin mình cần Chi tiết hơn về những hạn chế củaviệc tìm kiếm dựa trên từ khóa được trình bày trong chương 2

để 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 nhanhchóng và hiệu quả nhưng các tác tử thông minh hiện nay không đủ khả năngthực hiện những nhiệm vụ này theo đúng mong muốn của người dùng

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ưutrữ quá lâu

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ệuphi cấu trúc và phân tán

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

Trang 13

cơ sở dữ liệu chứ rất khó để có thể thực hiện được trên toàn bộ mạng hiệnnay.

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 SemanticWeb Ưu điểm lớn nhất của Semantic Web là dữ liệu đã được cấu trúc hóa đồng thờicá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ệcquả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ớidự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ếndướ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ủachú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 truyvấ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ểudiễ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ậmchí 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 haydị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 kinhdoanh 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ệncủa Internet Tuy nhiên, với World Wide Web hiện nay, vẫn còn những hạn chế cũngnhư khó khăn cho việc thương mại điện tử Có thể thấy rõ nhất những khó khăncũng như khả năng cải tiến của Semantic Web ở hai hình thức kinh doanh thươngmại điện tử là B2C (Bussiness to Consumer) và B2B (Bussiness to Bussiness)

Để làm giảm bớt những khó khăn này, đã có những công cụ giống như bộ sosá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àycũng phải đối mặt với một số trở ngại

Trang 14

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ể đảmbả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 quycá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ềmthu 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êucầ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ứcthươ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ủacá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àyphứ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ốnké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ăngcung 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ềucả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àocá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ệnbởi các tác tử phần mềm một cách tự động hoặc bán tự động

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áchộ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

Trang 15

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ứutrong 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ấtnhiề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ựchiệ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úttrê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ằngcá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áttriể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ì ngaybả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 địnhnghĩ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ómnà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ạinhữ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 Tuynhiê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 tintrê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ườidù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ầnphả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ó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 doanhnghiệ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ị

Trang 16

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 chokhả 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àinguyê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ápnhằ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 doanhnghiệ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ĩanhiề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 doanhnghiệ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 đượccấ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 Webtrên toàn Internet sẽ có thể trở thành hiện thực để mang lại những giá trị to lớn chongườ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ảithự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âydự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ìmkiếm trên Semantic Web nói riêng Qua đó tìm hiểu về các giải pháp cho việctìm kiếm trên Semantic Web nhằm lựa chọn giải pháp phù hợp nhất cho đồ

á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.

Trang 17

• Đư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ểntiế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 quannhất về Semantic Web bao gồm: khái niệm Semantic Web, đặc điểm của SemanticWeb, 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àitoá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ựachọ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ênSemantic Web đồng thời lựa giải pháp phù hợp để sử dụng trong nội dung đồ án tốtnghiệp

Trang 18

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àydownload 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ụnggiao thức FTP (File Transfer Protocol) sau đó tạo một cơ sở dữ liệu của tên các filesao cho có thể tìm kiếm trên đó Tuy nhiên, Archie không đánh chỉ mục nội dungcủa các file này

Năm 1991, Mark McCahill ở trường đại học Minnesota đã tạo ra giao thứcGopher 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ũngtrong 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ệctì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

Trang 19

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ấtlớ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ạngPageRank 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ủariê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 Trongnăm 1999, cũng có một thời gian ngắn Microsoft sử dụng AltaVista cho trang tìmkiếm của họ Năm 2004, Microsoft đã bắt đầu chuyển sang công nghệ tìm kiếm củariê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ếnnhấ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ìmkiế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àngtă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ìmkiế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ộtgiả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ếmgiú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ớnnhấ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ínhnă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 kinhdoanh đầ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 chongườ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áchơn nhờ việc các công ty không ngừng đưa ra các giải pháp mới

Trang 20

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ới46.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ệuquả 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ềumá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ởiweb crawler, đây là một trình duyệt web tự động làm việc bằng cách tự động duyệttheo tất cả các đường link mà nó nhìn thấy Nội dung của mỗi trang web sẽ đượcphân tích và quyết định đánh chỉ mục như thế nào Dữ liệu về các trang web đượclư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ưuvà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ấthiện ở trong nội dung của nó nữa

Trang 21

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áchcá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ạntiê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áytì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 truyvấ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ếmgầ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êncao 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ứcsắ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ácmá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ácmáy tìm kiếm không thể nhận biết được điều này từ nội dung của cáctrang Web

- Các trang Web liên quan nhiều tới từ khóa của người dùng đưa vàonhưng lại không chứa từ khóa đó trong nội dung thì sẽ không nằm trongkế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ểmkhá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ếmdự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ệctì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ưngRDF 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ó

Trang 22

nhiều thay đổi và vẫn đang tiếp tục hoàn thiện nhưng mục tiêu của RDF vẫn không

hề thay đổi

Mục tiêu của RDF là cung cấp một phương thức để lưu trữ dữ liệu theo dạng màmáy tính có thể hiểu được, cho phép mang lại hiệu quả cao hơn và có khả năng traođổi, tìm kiếm, phân loại, phân nhóm… trên các dữ liệu phức tạp Nó tạo nên nềnmóng đầu tiên cho việc tạo nên Semantic Web nhưng lại không chỉ giới hạn trongmột lợi ích cụ thể này

RDF dựa trên tập các luật và các ràng buộc được định nghĩa rõ ràng để quản lýđịnh dạng, tính hợp lệ và cách sử dụng nó Với RDF, dữ liệu thay vì chỉ được lưu ởnhững dạng phi cấu trúc thì nay đã được cấu trúc hóa mà ngay cả máy tính cũng cóthể hiểu được Vì vậy không khó để nhận ra rằng RDF sẽ có khả năng mang lạinhững hiệu quả rất lớn cho các ứng dụng sử dụng nó mà điển hình là SemanticWeb

Với việc tìm kiếm dữ liệu có cấu trúc nhờ sử dụng RDF, việc tìm kiếm dựa trênSemantic Web hứa hẹn sẽ mang lại hiệu quả vượt trội so với việc tìm kiếm thôngthường chỉ dựa vào từ khóa và dựa trên dữ liệu phi cấu trúc

2.2.1.2 OWL

OWL là một ngôn ngữ dùng để đặc tả ontology trên Web được đưa ra bởi W3C.Người ta sử dụng OWL để biểu diễn ngữ nghĩa của các khái niệm và mối quan hệgiữa các khái niệm đó Và cách biểu diễn này giúp máy tính có thể hiểu được ngữnghĩa trên Web

OWL được sử dụng khi nội dung của các tài liệu cần phải được xử lý bởi cácứng dụng Điều này là hoàn toàn khác biệt với việc chỉ hiển thị nội dung của tài liệulên trang web để người dùng có thể đọc được

Với việc sử dụng OWL, việc tìm kiếm dựa trên Semantic Web có khả năngmang lại cho người dùng các kết quả tìm kiếm giàu ngữ nghĩa hơn nhiều Nếu nhưtrước kia người dùng chỉ biết dựa vào việc nhớ đúng từ khóa để có thể tìm kiếm tàiliệu mà mình mong muốn thì nay họ có thể sử dụng ngữ nghĩa bên trong tài liệu để

có thể tìm kiếm được tài liệu mình cần cũng như một số thông tin liên quan Nhờmối liên hệ giữa các khái niệm được mô tả theo cách mà máy tính có thể hiểu đượcnên ứng dụng tìm kiếm có thể đưa cho người dùng những gợi ý và những thông tinliên quan đến tài liệu người dùng tìm kiếm

2.2.1.3 SPARQL

Như đã trình bày ở phần trên, RDF và OWL có khả năng mang lại cho các ứngdụng tìm kiếm dựa trên Semantic Web sự hiệu quả vượt trội so với các ứng dụngtìm kiếm truyền thống Hai nền tảng này đảm bảo lưu trữ dữ liệu một cách có cấutrúc và theo các quy cách riêng Vì vậy, giống như các cơ sở dữ liệu hiện có, cũngcần phải có một ngôn ngữ truy vấn trên những dữ liệu này, và SPARQL là một giảipháp

Ngày 15 tháng 1 năm 2008, SPARQL đã chính thức được công nhận là mộtchuẩn của W3C với khả năng thực hiện hầu hết các câu truy vấn tương ứng với cáccâu truy vấn SQL Với khả năng này của SPARQL, các tài liệu được lưu trữ nhờ sử

Trang 23

dụng RDF và OWL có thể được sử dụng cho nhiều ứng dụng trên Semantic Webtrong đó có ứng dụng tìm kiếm.

2.2.2 Một số máy tìm kiếm đã được nghiên cứu

Bản điều tra của M Hildebrand, J.R van Ossenbruggen và L Hardman vàotháng 5 năm 2007 [10] về vai trò của ngữ nghĩa trong các công cụ tìm kiếm đã phântích 35 hệ thống tìm kiếm trên thế giới Hầu hết các hệ thống này đều trong giaiđoạn thử nghiệm và là sản phẩm của một phòng nghiên cứu nào đó Trong đó có 4máy tìm kiếm có thể coi là những ví dụ điển hình nhất [21] là Falcons, Sindice,Swoogle và SWSE

2.2.2.1 Falcons

Falcons là sản phẩm của viện IWS (Institute of Web Science), đại học ĐôngNam, Trung Quốc Hiện nay Falcons đã đánh chỉ mục được khoảng 7 triệu tài liệuRDF [22] Công cụ này hỗ trợ tìm kiếm theo đối tượng và tìm kiếm theo khái niệmvới việc sử dụng đồ thị RDF trong việc đối chiếu ngữ nghĩa [10] Với việc sử dụngtính phân cấp của các lớp, Falcons cung cấp khả năng tìm kiếm các đối tượng đãđược định danh dựa vào các từ khóa mà người dùng nhập vào [5]

Hình 2.6: Tìm kiếm bằng Falcons

2.2.2.2 Sindice

Sindice là sản phẩm của viện DERI (Digital Enterprise Research Institute), đạihọc Quốc gia Ai Len Hiện nay, Sindice đã đánh chỉ mục được hơn 20 triệu tài liệuRDF [22] Sindice đánh chỉ mục các tài liệu RDF dựa trên URI, IFP (InverseFunction Property) và từ khóa Trong khi đánh chỉ mục, Sindice sử dụng đồ thịRDF để trích rút, phân tích và xử lý Việc sắp hạng các dữ liệu trả về được dựa vàonhiều độ đo khác nhau [6] Sindice cung cấp các khả năng tìm kiếm dựa trên từkhóa, trên URI và trên IFP

Trang 24

Hình 2.7: Tìm kiếm bằng Sindice

2.2.2.3 Swoogle

Swoogle được phát triển bởi UMBC (University of Maryland Baltimore County)của Mỹ Hiện nay Swoogle đã đánh chỉ mục được khoảng 2.3 triệu tài liệu RDF Nótrích rút các siêu dữ liệu từ những tài liệu thu được và tính toán sự liên hệ giữa cáctài liệu Việc đánh chỉ mục dựa vào từ khóa, các URI và các kí tự N-Gram Swoogle

hỗ trợ tìm kiếm các ontology, các tài liệu và các tài nguyên có chứa từ khóa

Hình 2.8: Tìm kiếm bằng Swoogle

2.2.2.4 SWSE

SWSE là viết tắt của Semantic Web Search Engine và cũng được phát triển bởiviện DERI của đại học Quốc gia Ai Len SWSE sử dụng kiến trúc đường ống trongviệc crawling và đánh chỉ mục các dữ liệu Semantic Web Bằng việc thu thập các tàiliệu bán cấu trúc và sử dụng kiến trúc đường ống, SWSE có khả năng crawling và

Trang 25

đánh chỉ mục dữ liệu ở cả Web truyền thống và Semantic Web SWSE hỗ trợ tìmkiếm theo từ khóa và đưa ra kết quả theo từng catalog.

Một ưu điểm nữa của việc tìm kiếm dựa trên Semantic Web là người dùngkhông cần phải nhớ chính xác từ khóa Các ứng dụng tìm kiếm có khả năng trả vềcác tài liệu liên quan ngay cả khi nội dung bên trong các tài liệu đó không chứa từkhóa trong truy vấn của người dùng

Khả năng cung cấp thêm thông tin, gợi ý các thông tin liên quan nhờ hiểu cácmối liên hệ giữa các khái niệm cũng là khả năng vượt trội của tìm kiếm trênSemantic Web mà các công cụ tìm kiếm truyền thống không thể thực hiện được

2.2.3.2 Nhược điểm

Nhược điểm của việc tìm kiếm dựa trên Sematic Web là chỉ có thể thực hiện trêncác tài liệu có cấu trúc Mà hầu hết tài nguyên trên Internet hiện nay đều là các tàinguyên phi cấu trúc Do vậy, việc tìm kiếm dựa trên Sematic Web trên để tìm toàn

bộ tài nguyên trên Internet là điều không khả thi Chỉ có thể áp dụng các ứng dụngnày trong phạm vi hẹp với sự chuẩn bị các tài liệu tuân theo các chuẩn của SemanticWeb

Trang 26

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

Khó khăn lớn nhất của tìm kiếm dựa trên Semantic Web là làm sao để có thể cóđược những dữ liệu đã được cấu trúc hóa theo đúng mong muốn ban đầu Việcchuyển các dữ liệu phi cấu trúc hiện có trở thành dữ liệu có cấu trúc không hề đơngiản và khó có khả năng thực hiện trên phạm vi rộng Vì vậy, các ứng dụng tìmkiếm dựa trên Semantic Web vẫn chỉ có thể khả thi trong phạm vi nhỏ, chẳng hạnnhư các thông tin trong nội tại một doanh nghiệp

Để có thể mô tả được ngữ nghĩa của các tài liệu đã có cũng cần phải xây dựngmột ontology đủ lớn, đủ chi tiết và phù hợp với từng kho dữ liệu Công việc này đòihỏi phải có sự hỗ trợ của các chuyên gia, những người có kinh nghiệm và nhữngngười có hiểu biết trong các lĩnh vực của các tài nguyên hiện có

Một khó khăn nữa trong việc xây dựng các ứng dụng tìm kiếm dựa trênSemantic Web là làm sao chứng minh được tính đúng đắn cũng như hiệu quả củagiải pháp mình đề ra Hiện nay trên thế giới vẫn chưa có những kho dữ liệu chuẩn

để so sánh hiệu quả của các giải pháp Hơn nữa, vẫn chưa có một độ đo nào đượcchấp nhận như độ đo chuẩn để phân tích, đánh giá các kết quả trả về của các ứngdụng tìm kiếm này [3]

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

2.3.1 Giải pháp dựa trên đối sánh các đồ thị RDF

Ý tưởng chính của giải pháp này là với các tài liệu RDF đã thu thập được ta xâydựng một kho chứa tất cả các đồ thị RDF của các tài nguyên này Sau đó, khi ngườidùng nhập câu truy vấn thì câu truy vấn sẽ được biên dịch để trở thành một đồ thịtruy vấn RDF Sau đó sẽ tính độ tương đồng giữa đồ thị truy vấn với tất cả các đồthị có trong kho chứa, tìm những kết quả có độ tương đồng cao nhất và trả về chongười dùng

Những phần được trình bày dưới đây nhằm hiểu sâu thêm về giải pháp này

2.3.1.1 Xây dựng các entry của đồ thị

Trong bài báo của Haiping Zhu, Jiwei Zhong, Jianming Li và Yong Yu [8], họ đã

sử dụng ngữ cảnh của việc bán hàng quần áo trong một cửa hàng trực tuyến Khi

đó, các nút biểu diễn các catalog quần áo như áo sơ mi, váy ngắn, quần dài… sẽ

được coi như các entry của đồ thị Những entry này sẽ được coi như những điểmkhởi đầu trong việc đối sánh các đồ thị sau đó

Tương tự như vậy, mỗi đồ thị truy vấn cũng phải có một entry để đối sánh vàentry này có thể do người dùng nhập vào

2.3.1.2 Đánh chỉ mục các đồ thị RDF

Các đồ thị RDF sau khi đã được lưu trong kho chứa cần phải được đánh chỉmục Và việc đánh chỉ mục dựa vào ontology là một giải pháp [8] Các đồ thị RDF

Trang 27

sẽ được đánh chỉ mục trong WordNet theo các entry của chúng WordNet ở đâychính là ontology của lĩnh vực đang xét.

2.3.1.3 Đối sánh đồ thị RDF

Hình vẽ dưới đây là mô tả về đồ thị truy vấn và đồ thị RDF ở trong kho chứa

Hình 2.10: Đồ thị truy vấn và đồ thị kết quả sau khi đối sánh

Mục tiêu của việc đối sánh các đồ thị RDF là phải đưa ra được kết quả tươngứng như trong trường hợp trên

a Độ tương đồng ngữ nghĩa

Để có thể đối sánh hai đồ thị RDF thì cần phải xây dựng một độ đo để tính độtương đồng ngữ nghĩa giữa hai đồ thị Độ đo này được tính dựa trên hai độ đo phụ

là độ tương đồng giữa các nút và độ tương đồng giữa các cạnh nối

Độ tương đồng giữa các nút được tính theo khoảng cách giữa hai khái niệm ở

hai nút đó Giả sử hai nút là c1 và c2, khoảng cách giữa hai khái niệm c1 và c2 là

d c(c1,c2) thì độ tương đồng giữa hai nút đó sẽ là sim c(c1,c2) = 1- d c(c1,c2)

Khoảng cách giữa hai khái niệm được tính dựa trên vị trí của các khái niệm đó ở

trong cây phân cấp khái niệm Mỗi nút sẽ có một số tương ứng gọi là milestone được tính theo độ sâu của nút đó Giả sử nút thứ n có độ sâu là l(n) thì ta sẽ có:

các nút ở các lớp tương ứng

(2.1)

Trang 28

Hình 2.11: Cây phân cấp của các khái niệm trong đồ thị RDF

Với trường hợp k = 2 và với cây phân cấp như hình vẽ trên ta sẽ có khoảng cách giữa hai khái niệm ‘áo sơ mi cộc tay’ và ‘áo len chui đầu’ là:

d c (áo sơ mi cộc tay, áo len chui đầu) = d c (áo sơ mi cộc tay, quần áo) +

d c(áo len chui đầu, quần áo)

= (1/128 – 1/152) + (1/128 – 1/152) = 0.01171875

Độ tương đồng giữa các cạnh nối cũng được tính theo khoảng cách ngữ nghĩa

giữa các khái niệm trên các cạnh nối tương ứng Và khoảng cách này cũng đượctính dựa theo vị trí của các khái niệm trên cây phân cấp

Độ tương đồng giữa hai cạnh nối được ký hiệu là sim r và được tính theo công thức: sim r(r1, r2) = 1 - d r(r1, r2)

Độ tương đồng ngữ nghĩa giữa hai đồ thị sẽ được tính theo độ tương đồng ngữ

nghĩa của các cặp nút và các cặp cạnh nối Trong công thức dưới đây, các ký hiệu c Q

và r Q là các nút và các cạnh nối của đồ thị truy vấn còn c R và r R là các nút và cáccạnh nối của đồ thị nguồn

− Lấy truy vấn của người dùng

− Chuyển câu truy vấn của người dùng thành đồ thị truy vấn RDF

Lấy entry E của đồ thị truy vấn được người dùng chỉ định Tìm kiếm E

trong WordNet

{ // Bắt đầu thủ tục đệ quy

(2.3)

Trang 29

Tính toán độ tương tự giữa entry của truy vấn và entry nguồn

for (mỗi cạnh xuất phát từ entry của đồ thị truy vấn và mỗi cạnh xuất

phát từ entry của đồ thị nguồn)

{

Tính toán độ tương tự giữa các cặp cạnh

Nếu độ tương tự khác 0, gọi thủ tục đệ quy lần lượt với các nútcon của entry và coi chúng như là entry của các đồ thị con.Chọn kết quả tốt nhất từ tất cả các tổ hợp Các kết quả của từng

tổ hợp được tích lũy theo độ tương tự của từng cặp entry và từngcặp cạnh của các đồ thị con

}

} // Kết thúc thủ tục đệ quy

Sắp xếp và trả kết quả về cho người dùng

Bảng 2.2: Thuật toán sử dụng đối sánh đồ thị RDF

2.3.2 Giải pháp dựa trên Ontology

Điểm cải tiến đáng chú ý nhất của tìm kiếm dựa trên Semantic Web là khả nănghiểu được mối liên hệ giữa các khái niệm trong ontology Có nhiều mối liên hệ cóthể được sử dụng một cách có hiệu quả trong việc mở rộng truy vấn và gán lại trọng

số cho các thuật ngữ Tính ngữ nghĩa của Semantic Web được thể hiện bên trongcác ontology bằng cách tạo ra các mối liên kết giữa các khái niệm Nhờ đó, có thểtính toán được sự liên kết logic bên trong ontology đó

Mối liên hệ đơn giản nhất trong các ontology là tính kế thừa, đó là mối liên hệgiữa một khái niệm con với khái niệm cha của nó Các mối liên hệ kế thừa thườngtạo nên cấu trúc cây cho các ontology và các nút con được nối với nút cha qua quan

hệ isA.

Có hai toán tử ngữ nghĩa được định nghĩa để sử dụng là focalization (sự hội tụ)

và generalization (sự tổng quát hóa) Giả sử c là một khái niệm của ontology D thì focalization là một hàm F sao cho

Trong cách tiếp cận của D.Bonino, F.Corno, L.Farinetti và A.Bosca [4] họ đã sử

dụng ontology trong việc cải thiện hiệu quả tìm kiếm nhờ các toán tử focalization

và generalization Theo cách tiếp cận đó, khi có một yêu cầu tìm kiếm thì cần phải

cung cấp ba thông số: ngưỡng đúng đắn, số lượng tài liệu thích hợp được trả về vàcâu truy vấn khái niệm (conceptual query) Câu truy vấn khái niệm được tạo bởichuỗi các khái niệm và các trọng số liên quan Câu truy vấn khái niệm này sẽ được

(2.4)

(2.5)

Trang 30

đưa vào một hệ thống tìm kiếm dựa trên không gian vector Trong hệ thống này, độthích hợp sẽ được tính bằng hàm cosine của góc giữa vector tài nguyên và vectortruy vấn Kết quả sẽ được sắp hạng theo độ thích hợp

Ngưỡng đúng đắn được xác định từ bên ngoài ứng dụng và được sử dụng trong

hệ thống để phân loại các tài liệu thích hợp và không thích hợp

2.3.3 Giải pháp Hybrid Spread Activation

2.3.3.1 Mô hình Spread Activation

Mô hình Spread Activation dựa trên nguyên lý về cách mà con người nhớ lạinhững gì trong quá khứ Nó được xuất phát từ các nghiên cứu về tâm lý học vàđược giới thiệu đầu tiên trong ngành khoa học máy tính ở lĩnh vực trí tuệ nhân tạo[2] Ở trong lĩnh vực này, Spread Activation tạo nên một framework xử lý cho cácmạng ngữ nghĩa (semantic networks)

Việc sử dụng Spread Activation đã nhận được cả những lời hưởng ứng lẫn cũngnhư những lời chỉ trích nhưng hiện nay nó được dùng trong nhiều lĩnh vực khácnhau như Khoa học nhận thức, Cơ sở dữ liệu, Trí tuệ nhân tạo, Tâm lý học, Sinhhọc và đặc biệt là Information Retrieval

Các mô hình Spread Activation được quan tâm nhiều nhất là mô hình Spread Activation thuần túy, mô hình Spread Activation có ràng buộc và mô hình Spread Activation có phản hồi.

a Mô hình Spread Activation thuần túy

Đây là mô hình Spread Activation này khá đơn giản Nó chỉ được tạo nên từ kĩthuật xử lý khái niệm đơn giản dựa trên cấu trúc dữ liệu mạng

Cấu trúc dữ liệu mạng bao gồm các nút được nối với nhau bởi các liên kết Hìnhdưới đây là một ví dụ minh họa về cấu trúc dữ liệu mạng:

Hình 2.12: Cấu trúc dữ liệu mạng trong một mô hình Spread Activation

Các liên kết giữa các nút trong mạng thường là vector có hướng, được gán nhánhoặc được đánh trọng số Cấu trúc biểu diễn này khá giống với một mạng ngữnghĩa

Trang 31

Kỹ thuật xử lý trên cấu trúc dữ liệu mạng này được định nghĩa bởi chuỗi cácvòng lặp được mô tả như hình dưới đây Việc lặp lại này tiếp diễn cho đến khi nó bịngười dùng kết thúc hoặc khi gặp một số điều kiện kết thúc.

Hình 2.13: Mô hình Spread Activation thuần túy

Mỗi vòng lặp bao gồm:

- Một hoặc nhiều nhịp (xung)

- Một lần kiểm tra điều kiện kết thúc

Cái phân biệt Spread Activation thuần túy với các mô hình phức tạp khác là

chuỗi các hành động tạo nên một nhịp Một nhịp bao gồm:

- Điều chỉnh trước (pre-adjustment)

- Lan truyền (spreading)

- Điều chỉnh sau (post-adjustment)

Các pha điều chỉnh trước và sau có thể có hoặc không Ở trong các pha đó, một

số dạng của hoạt động phân rã có thể được áp dụng cho các nút hoạt động Các phanày được sử dụng để tránh duy trì sự hoạt động từ các nhịp trước và giúp điều khiển

cả sự hoạt động của của các nút đơn cũng như sự hoạt động của toàn mạng Chúngthực thi việc “giảm độ yêu thích” trong các nút không còn tiếp tục hoạt động nữa.Pha lan truyền gồm các đường đi cho các sóng kích hoạt từ một nút tới tất cả cácnút được nối với nó Có nhiều cách để có thể lan truyền kích hoạt ra toàn mạngtrong đó cách tính toán đầu vào của một nút theo đầu ra của tất cả các nút nối với nóđược sử dụng nhiều nhất Cách thức đó được thực hiện theo công thức (2.6)

Trang 32

j i ij i

I = ∑ O w

Trong đó:

- I j là tổng số đầu vào của nút j

- O i là đầu ra của đơn vị i được nối tới nút j

- w ij là trọng số liên kết của đường nối từ nút i tới nút j

Đầu ra và trọng số thường là các số thực, tuy nhiên kiểu của chúng được quyếtđịnh bởi các yêu cầu riêng của từng ứng dụng Cụ thể, chúng có thể là các số nhịphân (0 hoặc 1), các giá trị ±1, hoặc chúng có thể là các giá trị số thực để chỉ độ liênkết mạnh hay yếu giữa các nút Thường thì các giá trị 0 và 1 hoặc các giá trị ±1được sử dụng trong các kết nốt với mạng mà có các vector được gán nhãn giốngnhư mạng ngữ nghĩa Còn các giá trị số thực được dùng trong các mạng kết hợp,nơi mà các kết nối được đánh trọng số

Sau khi một nút được tính giá trị đầu vào của nó, giá trị đầu ra phải được quyếtđịnh Kiểu số của đầu ra ở mỗi nút cũng được quyết định theo yêu cầu của mỗi ứngdụng Hai trường hợp được sử dụng nhiều nhất là kiểu số nhị phân (hoạt động hoặckhông hoạt động) và kiểu giá trị số thực Trong các mô hình Spread Activation,không có sự phân biệt giữa “giá trị kích hoạt” hay “giá trị đầu ra” của một nút Mứckích hoạt của một nút chính là giá trị đầu ra của nó Nó thường được tính như mộthàm của đầu vào: O j = f I( )j

Có nhiều hàm khác nhau có thể được sử dụng để đánh giá đầu ra của một nút theo đầu vào, chẳng hạn như các hàm trong hình dưới đây:

Hàm tuyến tính Hàm bước nhảy Hàm sigmoid

Hình 2.14: Các hàm giá trị đầu ra theo đầu vào của một nút

Hàm được sử dụng nhiều nhất trong các mô hình Spread Activation thuần túy là

hàm ngưỡng Nó được dụng để quyết định nút j có được kích hoạt hay không Hàm

ngưỡng được áp dụng vào công thức trên với trường hợp sử dụng các số nhị phân

cho đầu ra như sau: O j = 0 nếu I j < k j và O j = 1 trong trường hợp ngược lại (Với k j

ngưỡng giá trị của nút j) Phải kí hiệu là k j là do ngưỡng giá trị của hàm kích hoạtphụ thuộc vào ứng dụng và có thể khác nhau ở các nút khác nhau

Sau khi một nút được tính toán giá trị đầu ra, nó thông báo tới các nút có nối với

nó, thường là gửi một số giống nhau tới các nút đó

(2.6)

Trang 33

Sau mỗi nhịp, sự kích hoạt lại được lan truyền trên toàn mạng tới các nút xa vớinút khởi đầu hơn Sau khi số lượng nhịp được đưa ra, một điều kiện dừng sẽ đượckiểm tra Nếu điều kiện được thỏa mãn, quá trình lan truyền kích hoạt sẽ dừng lại,nếu không nó lại tiếp tục với các chuỗi nhịp khác Vì vậy, quá trình lan truyền kíchhoạt được lặp đi lặp lại, và bao gồm một chuỗi các nhịp cũng như các kiểm tra điềukiện dừng.

Kết quả của quá trình lan truyền kích hoạt là mức kích hoạt của các nút đạt tớiđiểm dừng Sự thể hiện của mức kích hoạt ở mỗi nút phụ thuộc vào từng ứng dụng

và phụ thuộc vào tính chất của đối tượng được gán cho mỗi nút

b Mô hình Spread Activation có ràng buộc

Với mô hình Spread Activation thuần túy, vẫn còn một số hạn chế như:

- Nếu không được điều khiển cẩn thận bởi việc điều chỉnh trước và điềuchỉnh sau thì các pha của quá trình kích hoạt sẽ lan ra toàn bộ mạng

- Không sử dụng hết thông tin được cung cấp bởi các nhãn được gán trêncác liên kết, cũng như không sử dụng tính ngữ nghĩa của các liên kết

- Khó thực thi một số dạng suy diễn dựa trên các liên kết ngữ nghĩa

Những vấn đề này có thể tìm thấy giải pháp bằng việc quan tâm tới kỹ thuật xử

lý những ý nghĩa khác nhau trong các mối quan hệ giữa các nút Giải pháp có thể cóđược nếu sử dụng thông tin được cung cấp bởi các nhãn được gán trên các liên kết

và xử lý các liên kết theo những cách khác nhau tùy theo ý nghĩa của chúng Ngoài

ra có thể sử dụng thêm các heuristic hoặc sử dụng một số luật suy diễn Một cáchthường dùng trong khi sử dụng các luật suy diễn là sử dụng các ràng buộc trong khilan truyền Dưới đây là một số ràng buộc thường được sử dụng trong các mô hìnhSpread Activation

Ràng buộc khoảng cách: việc lan truyền kích hoạt nên dừng lại khi các nút đã

xa so với những nút được kích hoạt ban đầu Điều này đúng với một luật heuristicđơn giản: độ mạnh của liên kết giữa hai nút sẽ giảm đi khi khoảng cách ngữ nghĩatăng lên Quan hệ giữa các nút có thể được phân loại theo khoảng cách của các liênkết Quan hệ giữa hai nút liên kết trực tiếp được gọi là các quan hệ cấp 1 Quan hệgiữa hai nút được nối qua một lượng trung bình các nút khác được gọi là các quan

hệ cấp 2… Thường thì ta chỉ bận tâm đến các quan hệ cấp 1, cấp 2 và cấp 3 tuynhiên điều này còn phụ thuộc vào từng ứng dụng

Ràng buộc phân nhánh: việc lan truyền kích hoạt nên dừng lại ở các nút có độ

liên kết cao, đó là các nút liên kết với rất nhiều nút khác Mục đích của ràng buộcnày là để tránh việc lan truyền quá rộng

Ràng buộc đường đi: việc lan truyền kích hoạt nên sử dụng các đường đi “ưu

tiên” được đưa ra từ các luật suy diễn phụ thuộc ứng dụng Việc xét ưu tiên này cóthể sử dụng các trọng số trên các liên kết, hoặc nếu liên kết được gán nhãn thì sẽ sửdụng những đường đi mang nhiều ý nghĩa hơn

Ràng buộc kích hoạt: sử dụng hàm ngưỡng ở mức một nút đơn để điều khiển

việc lan truyền kích hoạt trên mạng Điều này có thể có được nhờ điều chỉnh giá trịngưỡng trong mối quan hệ mức tổng thể của kích hoạt trên toàn mạng và ở mọi

Trang 34

nhịp khác nhau Hơn nữa, có thể gán các mức ngưỡng khác nhau cho mỗi nút hoặcmột tập các nút tùy theo ứng dụng Mặc dù điều này có thể khiến tăng thêm cácthao tác tính toán nhưng nó sẽ giúp thực hiện nhiều luật suy diễn phức tạp.

c Mô hình Spread Activation có phản hồi

Một sự cải thiện tốt hơn nữa cho mô hình Spread Activation thuần túy là sử dụng

phản hồi từ các nguồn bên ngoài Trong trường hợp này, một phép đánh giá bênngoài của mức kích hoạt ở một nút hoặc trên toàn bộ mạng sẽ cung cấp một số ràngbuộc Điều này có thể khó hoặc không thể thực hiện trong các luật tự động Cácphản hồi bên ngoài này có thể đến từ một quá trình khác hoặc có thể được cung cấpbởi người dùng hệ thống Người dùng sẽ đánh giá mức kích hoạt bởi một số nút vàđiều chỉnh nó theo yêu cầu của họ Điều này sẽ giúp người dùng điều chỉnh quátrình lan truyền kích hoạt nhờ phản hồi của chính họ Hơn nữa, cũng có thể chophép người dùng đưa ra một số đường lan truyền cụ thể và nhờ đó việc lan truyềnkích hoạt có thể theo những đường đi được đưa ra bởi người dùng Các đường đinày có thể khác với những đường đi được quyết định theo các ràng buộc đường đi.Theo mô hình này thì quá trình lan truyền kích hoạt có thể đáp ứng được những yêucầu của từng người dùng cụ thể

Mô hình này thực sự hữu dụng cho các ứng dụng có quá nhiều luật suy diễnđược đưa ra và cần phải có điều khiển bên ngoài nhờ đánh giá của người dùng vềkết quả của quá trình lan truyền Trong trường hợp của Information Retrieval, có thể

sử dụng mô hình này với những ứng dụng liên quan tới phản hồi từ người dùng.Việc sử dụng phản hồi từ người dùng có thể được thực hiện trong pha điều chỉnhtrước, nhờ đó người dùng sẽ điều khiển từng nhịp một Hoặc điều này cũng có thểthực hiện trong pha điều chỉnh sau, giúp người dùng đánh giá được kết quả của quátrình lan truyền

2.3.3.2 Giải pháp Hybrid Spread Activation

a Ý tưởng của giải pháp

Như đã trình bày ở phần trên, Spread Activation là một trong những giải phápđược sử dụng nhiều nhất cho các mạng ngữ nghĩa Với nền tảng là Semantic Web,

cụ thể là ontology, chúng ta hoàn toàn có thể sử dụng Spread Activation trong bàitoán tìm kiếm dựa trên Semantic Web Đó là do ontology đã bao gồm tập các kháiniệm và mối quan hệ giữa các khái niệm Có thể coi ontology chính là một mạngngữ nghĩa trong mô hình Spread Activation, các khái niệm là các nút trên mạng,mối quan hệ giữa các khái niệm chính là các liên kết đã được gán nhãn

Bên cạnh đó, ta còn có thể dựa vào thông tin từ ontology và các thể hiện của nó

để có thể có được một trọng số trên các liên kết đã được gán nhãn Mạng ngữ nghĩa

đã được gán nhãn và có trọng số trên các liên kết này có thể coi là như một đồ thịlai (hybrid graph) Giải pháp sử dụng Spread Activation với một đồ thị lai có thểđược gọi là Hybrid Spread Activation

b Giải thuật Hybrid Spread Activation

Gán trọng số trên các liên kết

Trang 35

Như đã nói ở phần trên, với ontology đã có, chúng ta cần phải gán trọng số chotừng liên kết Nhóm tác giả C.Rocha, D.Schwabe và M.Poggi [3] đã đề xuất dựavào một trong ba độ đo:

Độ đo nhóm (cluster measure)

Độ đo nhóm là độ tương đồng giữa hai khái niệm Độ đo này dựa trên ý tưởngnếu hai nút có tập các nút liên kết tới nó giống nhau càng nhiều thì hai nút đó có độ

tương đồng càng cao Công thức sau biểu thị độ tương đồng giữa hai khái niệm C j

j k n

ij i

n ij = 1 nếu C j có cạnh nối tới C i (n ij = 0 trong trường hợp ngược lại)

n ijk = 1 nếu cả C j và C k đều có cạnh nối tới C i (trường hợp ngược lại n ijk = 0)

Độ đo riêng biệt (specificity measure)

Độ đo này giống như độ đo idf (inverse domain frequency) được sử dụng nhiều

trong Information Retrieval Độ đo này dựa trên ý tưởng nếu một nút càng liên kếtvới ít nút trên mạng thì những liên kết của nó càng có ý nghĩa hơn Độ đo sự quan

trọng của liên kết từ C j tới C k được tính như sau:

1 ( ,j k)

(n k là số lượng cạnh nối tới C k )

Độ đo kết hợp (combined measure)

Được tính dựa trên hai độ đo trên theo ý tưởng của độ đo tf-idj được dùng nhiều

trong Information Retrieval Mặc dù cả hai độ đo trên đều có thể áp dụng riêng đểlàm trọng số cho các liên kết nhưng độ đo kết hợp (được tính bằng tích hai độ đo ởtrên) cũng sẽ là một sự lựa chọn tốt cho việc đó Độ đo kết hợp được tính theo côngthức:

1

1

n ijk i

k ij i

(2.7)

(2.9) (2.8)

Trang 36

Tập các khái niệm khởi tạo của ontology có thể được coi như các nút Các nútnày có một giá trị kích hoạt ban đầu Sau quá trình lan truyền, tất cả các nút kháccũng sẽ có giá trị kích hoạt riêng Giá trị kích hoạt cho các nút khởi tạo có thể đượccoi như đầu vào của thuật toán, và mặc định là bằng 1 Tất cả các nút không phảinút khởi tạo sẽ có giá trị kích hoạt bằng 0.

Các nút khởi tạo được đặt trong một hàng đợi ưu tiên được sắp xếp theo chiềukhông tăng của các giá trị kích hoạt Nút có giá trị kích hoạt lớn nhất sẽ được lấy rakhỏi hàng đợi Nếu thỏa mãn tất cả các điều kiện, nó sẽ truyền tải sự kích hoạt của

nó tới các nút xung quanh Mỗi khi lan truyền qua một nút, giá trị kích hoạt sẽ giảm

đi Những nút đã được kích hoạt mà chưa có trong hàng đợi ưu tiên sẽ được kết nạpthêm vào

Quá trình này sẽ lặp lại cho đến khi một trạng thái giới hạn có được hoặc không

có nút nào được kết nạp thêm vào hàng đợi Sau khi kết thúc thuật toán, tập các nút

có được sẽ là kết quả của quá trình lan truyền kích hoạt và chúng được sắp xếp theogiá trị kích hoạt

while ((queue != ∅) && (STOP_SPREAD_ACTIVATION == false))

Sắp xếp result và trả kết quả về cho người dùng

Bảng 2.3: Thuật toán Spread Activation

2.3.4 Phân tích đánh giá các giải pháp

2.3.4.1 Giải pháp dựa trên đối sánh các đồ thị RDF

Ưu điểm:

• Sử dụng rất tốt cấu trúc đồ thị được tạo nên từ các câu phát biểu trong nộidung của các tài liệu RDF

Trang 37

• Giải pháp này có khả năng mang lại hiệu quả cao khi đồ thị RDF đượcphân thành nhiều cấp rõ ràng, và truy vấn của người dùng cũng tạo thànhmột đồ thị RDF.

• Có nhiều tài liệu và mã nguồn mở liên quan đến giải pháp này Qua đó cóthể thấy đây là giải pháp đã được nghiên cứu và phát triển nhiều

Nhược điểm

• Giải pháp này có thể khiến ta nghĩ ngay đến bài toán tìm đồ thị con chunglớn nhất (Maximum Sub Graph Matching) Đây là một bài toán NP đầy

đủ [20] Ngay cả trong giải pháp đã đề xuất cải tiến bởi được trình bày ở

[8], độ phức tạp của thuật toán được đề xuất cũng là O(l 2 m 2 ) với l là số nút con của một nút và m là số cạnh của toàn bộ đồ thị Do vậy với số

lượng cạnh lớn thì thời gian chạy của thuật toán cũng là một vấn đề

• Để có thể áp dụng giải pháp này thì truy vấn của người dùng cần phảiđược chuyển thành dạng đồ thị RDF Do vậy việc nhập câu truy vấn củangười dùng có thể sẽ phức tạp và khác với thói quen sử dụng các công cụtìm kiếm trước đây

2.3.4.2 Giải pháp dựa trên Ontology

Trang 38

• Độ phức tạp của thuật toán O E( logV ) với E là tập cạnh và V là tậpđỉnh trong đồ thị Đây là độ phức tạp thấp, và thấp hơn rất nhiều so với

độ phức tạp của thuật toán trong giải pháp sử dụng đối sánh đồ thị RDF

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

Sau khi tìm hiểu về các máy tìm kiếm đã được công bố trên thế giới và nghiêncứu kĩ ưu nhược điểm của các giải pháp cho việc tìm kiếm dựa trên Semantic Web,tác giả nhận thấy rằng giải pháp Hybrid Spread Activation là giải pháp phù hợp nhấtcho đồ án tốt nghiệp

Tất nhiên, không thể khẳng định đây là giải pháp tốt nhất hiện nay vì như đã nói

ở phần 2.2.4, việc đánh giá hiệu quả của từng giải pháp cho việc tìm kiếm dựa trênSemantic Web vẫn đang là một vấn đề mở

Việc lựa chọn giải pháp Hybrid Spread Activation là bởi một số lý do:

• Đồ án mong muốn xây dựng được một ứng dụng tìm kiếm sử dụng tốttính ngữ nghĩa trong các tài liệu dựa trên Semantic Web nhưng đồng thờivẫn hỗ trợ thói quen tìm kiếm của người dùng, đó là tìm kiếm theo từkhóa Người dùng chỉ cần phải nhập từ khóa còn mọi việc xử lý, tìmkiếm trên đồ thị ngữ nghĩa được thực hiện ngầm ở phía dưới Đây là điều

mà hai giải pháp dựa trên đối sánh đồ thị RDF và dựa trên ontology khó

có thể thực hiện được

• Giải pháp Hybrid Spread Activation có độ phức tạp thấp và dựa trên môhình Spread Activation đã được nghiên cứu và ứng dụng trong nhiều lĩnhvực

• Giải pháp Hybrid Spread Activation đã công bố vẫn còn một số nhượcđiểm và tác giả nhận thấy có thể cải thiện những nhược điểm này

2.5 Đề xuất cải tiến cho giải pháp đã lựa chọn

Như đã trình bày ở phần phân tích và đánh giá các giải pháp, giải pháp HybridSpread Activation vẫn còn nhược điểm là chưa tận dụng hết được tính ngữ nghĩatrong các liên kết khái niệm của ontology

Ta có thể nhận thấy rằng trong thực tế quan hệ giữa các khái niệm có độ quantrọng khác nhau Tương tự như vậy, quan hệ giữa các đối tượng với nhau cũng khác

Trang 39

nhau Do đó, có thể thấy sẽ có trường hợp khái niệm A gần với khái niệm B hơn làvới khái niệm C dựa vào loại liên kết giữa các cặp khái niệm này.

Trong khi đó, ở giải pháp Hybrid Spread Activation đã được công bố, việc đánhgiá trọng số của các liên kết lại không hề đề cập đến sự khác nhau của các liên kết.Các trọng số đó chỉ dựa vào số lượng liên kết của một nút tới một nút khác Nếuchúng ta tận dụng được sự khác nhau của các liên kết này (cũng chính là tận dụng ýnghĩa của nhãn trên các liên kết) thì hiệu quả của giải pháp có thể cao hơn

Với đánh giá như vậy, tác giả đã đề xuất công thức mới cho việc xác định ba độ

đo đã trình bày trong phần 2.3.3 Để tính toán được theo các công thức này thì trướchết phải đánh giá được trọng số của từng loại liên kết Việc đánh giá này tùy thuộcvào từng lĩnh vực và có thể được thực hiện bởi các chuyên gia trong lĩnh vực đó

Trong các công thức dưới đây c ij là trọng số của liên kết giữa hai nút C i và C j n ịj

và n ijk có ý nghĩa tương tự như trong công thức (2.6)

Độ đo nhóm:

1

1

.( , )

n ijk ik i

j k n

ij ij i

jk i

Kết chương

Trong chương 2, đồ án đã trình bày được chi tiết hơn về các vấn đề liên quanđến bài toán tìm kiếm dựa trên Semantic Web Đồ án cũng đã nêu được đặc điểmcủa một số máy tìm kiếm đã được nghiên cứu, ưu nhược điểm của việc tìm kiếmdựa trên Semantic Web và những khó khăn khi xây dựng ứng dụng tìm kiếm dựatrên Semantic Web

(2.10)

(2.11)

(2.12)

Ngày đăng: 29/07/2017, 10:30

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
[1] Nguyễn Thúc Duy Anh, Nguyễn Thị Khánh Hòa, “Nghiên cứu, tìm hiểu và xây dựng ứng dụng với Semantic Web”. Đồ án tốt nghiệp. 2005 Sách, tạp chí
Tiêu đề: Nghiên cứu, tìm hiểu và xây dựng ứng dụng với Semantic Web”
[2] Crestani, F. “Application of Spreading Activation Techniques in Information Retrieval”. Artificial Intelligence Review, 11(6): 453-482, 1997 Sách, tạp chí
Tiêu đề: Application of Spreading Activation Techniques in Information Retrieval”
[3] C.Rocha, D.Schwabe, M.Poggi. “A Hybrid Approach for Searching in the Semantic Web”. WWW 2004, May 17-22, 2004 Sách, tạp chí
Tiêu đề: A Hybrid Approach for Searching in the Semantic Web”
[4] D. Bonino, F. Corno, L. Farinetti, A. Bosca. “Ontology Driven Semantic Search”. WSEAS Transaction on Information Science and Application, Issue 6, Volume 1, December 2004, pp. 1597-1605 Sách, tạp chí
Tiêu đề: Ontology Driven Semantic Search”
[5] Gong Cheng, Weiyi Ge, Honghan Wu, Yuzhong Qu. “Searching Semantic Web Objects Based on Class Hierarchies”. WWW 2008 Workshop on Linked Data on the Web, 2008 Sách, tạp chí
Tiêu đề: Searching Semantic Web Objects Based on Class Hierarchies”
[6] G. Tummarello, R. Delbru, and E. Oren. “Sindice.com: Weaving the Open Linked Data”. Proceedings of the International Semantic Web Conference (ISWC), 2007 Sách, tạp chí
Tiêu đề: Sindice.com: Weaving the Open Linked Data”
[7] Grigori Antoniou, Frank van Harmelen. “A Semantic Web Primer”, MIT Press, USA, 2004 Sách, tạp chí
Tiêu đề: A Semantic Web Primer”
[8] Haiping Zhu, Jiwei Zhong, Jianming Li, Yong Yu. “An Approach for Semantic Search by Matching RDF Graphs”. FLAIRS Conference 2002: 450-454 Sách, tạp chí
Tiêu đề: “An Approach for Semantic Search by Matching RDF Graphs”
[9] Michael C. Daconta, Leo J. Obrst, Kevin T. Smith. “The Semantic Web: A Guide to the Future of XML, Web Services, and Knowledge Management”. 2003 Sách, tạp chí
Tiêu đề: The Semantic Web: A Guide to the Future of XML, Web Services, and Knowledge Management”
[10] M. Hildebrand, J.R. van Ossenbruggen, L. Hardman. “An analysis of search- based user interaction on the Semantic Web”. CWI technical report INS-E0706, July 2007 Sách, tạp chí
Tiêu đề: An analysis of search-based user interaction on the Semantic Web”
[12] Thomas B. Passin. “Explorer's Guide to the Semantic Web”. Manning. 2004.Các trang web Sách, tạp chí
Tiêu đề: Explorer's Guide to the Semantic Web”
[13] Semantic Web/RDF Library for C#/.NET. http://razor.occams.info/code/semweb/ Link
[14] The Protégé Ontology and Knowledge Acquisition System. http://protege.stanford.edu/ Link
[15] W3C Semantic Web Activity. http://www.w3.org/RDF/Metalog/docs/sw-easy [16] Semantic Web Tutorial. http://www.w3schools.com/semweb/default.asp Link
[17] OWL Web Ontology Language Overview. http://www.w3.org/TR/owl-features/ Link
[18] The Anatomy of a Large-Scale Hypertextual Web Search Engine. http://infolab.stanford.edu/~backrub/google.html Link
[19] Artificial Intelligence and the Semantic Web. http://www.w3.org/2006/Talks/0718-aaai-tbl/Overview.html Link
[21] Semantic Web Tools. http://esw.w3.org/topic/SemanticWebTools[22] Semantic Web Search Engines.http://esw.w3.org/topic/TaskForces/CommunityProjects/LinkingOpenData/SemanticWebSearchEngines Link

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w