Tải bản đầy đủ (.pdf) (81 trang)

Tìm kiếm theo từ khóa trên đồ thị RDF

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 (1.99 MB, 81 trang )

BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC SƯ PHẠM HÀ NỘI

NÔNG XUÂN TRƯỜNG

TÌM KIẾM THEO TỪ KHÓA
TRÊN ĐỒ THỊ RDF

LUẬN VĂN THẠC SĨ CÔNG NGHỆ THÔNG TIN

Hà Nội, 6 – 2017


BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC SƯ PHẠM HÀ NỘI

NÔNG XUÂN TRƯỜNG

TÌM KIẾM THEO TỪ KHÓA
TRÊN ĐỒ THỊ RDF

Chuyên ngành: HỆ THỐNG THÔNG TIN
Mã số: 60480104
LUẬN VĂN THẠC SĨ CÔNG NGHỆ THÔNG TIN

Người hướng dẫn khoa học: TS PHẠM THỊ ANH LÊ

Hà Nội, 6 – 2017


LỜI CẢM ƠN


Lời đầu tiên, tôi xin gửi lời cảm ơn chân thành nhất đến cô giáo hướng dẫn
TS. Phạm Thị Anh Lê - Phó Trưởng khoa – Khoa Công nghệ thông tin - Trường
đại học Sư phạm Hà Nội, người đã tận tình giảng dạy, hướng dẫn, chỉ bảo, động
viên tôi trong suốt thời gian học tập và làm luận văn.
Tôi xin gửi lời cảm ơn sâu sắc đến các thầy cô giáo Khoa Công nghệ
thông tin - Trường Đại học Sư phạm Hà Nội đã trực tiếp giảng dạy tôi trong hai
năm học qua.
Tôi xin gửi lời cảm ơn đến lãnh đạo Trường Đại học Tây Nguyên đã tạo
điều kiện về cơ sở vật chất để tôi có thể hoàn thành chương trình học của mình.
Cuối cùng, tôi xin gửi lời cảm ơn sâu sắc tới gia đình, bạn bè, các anh chị
khóa trước đã luôn động viên, sát cánh bên tôi trong suốt quá trình học tập và
nghiên cứu.
Hà Nội, ngày 8 tháng 6 năm 2017
Học viên

Nông Xuân Trường


PHẦN I: MỞ ĐẦU .................................................................................................................... 1
1. Lý do chọn đề tài ....................................................................................................................1
2. Lịch sử vấn đề nghiên cứu.......................................................................................................2
3. Mục đích nghiên cứu ..............................................................................................................2
4. Nhiệm vụ nghiên cứu..............................................................................................................2
5. Đối tượng nghiên cứu.............................................................................................................3
6. Ý nghĩa khoa học ....................................................................................................................3
7. Phương pháp nghiên cứu .......................................................................................................3
8. Cấu trúc của luận văn..............................................................................................................3

CHƯƠNG I. TỔNG QUAN MÁY TÌM KIẾM...................................................................... 5
1.1 Khái niệm .............................................................................................................................5

1.2 Các thành phần chính............................................................................................................5
1.3 Một số máy tìm kiếm thông dụng. .......................................................................................6
1.4 Quy trình hoạt động của máy tìm kiếm ...............................................................................8
1.4.1 Thu thập dữ liệu ....................................................................................................................................................8
1.4.2. Đánh chỉ mục cho tài liệu................................................................................................................................ 10
1.4.3. Truy vấn và xếp hạng ...................................................................................................................................... 11

1.5 Một số mô hình tìm kiếm................................................................................................... 14
1.5.1 Mô hình tần suất................................................................................................................................................. 14
1.5.2 Mô hình không gian Vector ............................................................................................................................. 16
1.5.3 Mô hình so khớp B oolean ................................................................................................................................ 17

CHƯƠNG 2. TÌM KIẾM THEO TỪ KHÓA TRÊN ĐỒ THỊ RDF .................................. 20
2.1 Giới thiệu về Web ngữ nghĩa ............................................................................................. 20
2.1.1 Web ngữ nghĩ a là gì? ....................................................................................................................................... 20
2.1.2 Lợi ích của Web ngữ nghĩa.............................................................................................................................. 20
2.1.3 Kiến trúc Web ngữ nghĩa................................................................................................................................. 21

2.2 Giới thiệu về ontology........................................................................................................ 23
2.3. Ngôn ngữ biểu diễn Ontology ........................................................................................... 24
2.3.1 Bộ ba RDF............................................................................................................................................................ 25
2.3.2 Đồ thị RDF ........................................................................................................................................................... 26
2.3.3 Ngôn ngữ truy vấn RDF ................................................................................................................................... 26

2.4 Xây dựng dữ liệu đồ thị RDF............................................................................................. 33
2.5 Quy trình tìm kiếm trên đồ thị RDF .................................................................................. 38
2.5.1. Xây dựng cơ sở tri thức và kho tài liệu ....................................................................................................... 39
2.5.3 Ghi chú tài liệu.................................................................................................................................................... 42
2.5.3 Tì m kiếm trên đồ thị RDF ............................................................................................................................... 42


CHƯƠNG 3: XÂY DỰNG HỆ THỐNG THỰC NGHIỆM................................................ 48
3.1. Phát biểu bài toán............................................................................................................. 48
3.2 Một số công cụ sử dụng ..................................................................................................... 49
3.2.1. Công cụ Protégé: ............................................................................................................................................... 49
3.2.2 Jena ........................................................................................................................................................................ 50


3.2.3 NetBean................................................................................................................................................................. 51

3.3. Biểu diễn dữ liệu học tập bằng đồ thị RDF ....................................................................... 51
3.4. Các loại truy vấn .............................................................................................................. 58

3.5. Thực nghiệm và đánh giá ................................................................................................ 65
3.5.1. Môi trường thực nghiệm ................................................................................................................................. 65
3.5.2. Dữ liệu thực nghiệm ......................................................................................................................................... 65
3.5.3. Kết quả thực nghiệm........................................................................................................................................ 67
3.5.4. Nhận xét............................................................................................................................................................... 68

KẾT LUẬN .............................................................................................................................. 69
TÀI LIỆU THAM KHẢO ...................................................................................................... 71


DANH MỤC TỪ VIẾT TẮT
Từ viết tắt

Viết đầy đủ

RDF

Resource Description Framework


SPARQL

Simple Protocol and RDF Query Language

CSDL

Cơ sở dữ liệu

TF

Term frequency

IDF

Inverse document frequency

XML

Extensible markup language

W3C

World wide web

OWL

Ontology web language

OWL-QL


Ontology web language – Query language

URI

Uniform resource identifier

SQL

Structure query language

RDQL

RDF data query language


DANH MỤC HÌNH VẼ
Hình 1.1 Thị phần các máy tìm kiếm (nguồn StatCounter) ................................................ 7
Hình 1.2 Quy trình hoạt động của Google(nguồn webanz.vn) ......................................... 13
Hình 1.3 Biểu diễn vector văn bản trong không gian 2 chiều. ........................................ 16
Hình 2.1 Kiến trúc Web ngữ nghĩa(nguồn: www.w3.org)................................................ 22
Hình 2.2. Mối quan hệ giữa các thành phần trong triple. .................................................. 26
Hình 2.3 Đồ thị RDF cơ bản ................................................................................................. 33
Hình 2.4 Biểu diễn nhiều phát biểu cho cùng một Subject ............................................. 34
Hình 2.5 Tạo địa chỉ(address) cho Mr John ....................................................................... 36
Hình 2.6 Sử dụng một blank Node...................................................................................... 37
Hình 2.7: Mô hình tìm kiếm thông tin [8] ........................................................................... 43
Hình 2.8 Đồ thị truy vấn ........................................................................................................ 44
Hình 2.9 Đồ thị H ................................................................................................................... 45
Hình 2.10 Đồ thị kết quả........................................................................................................ 45

Hình 3.1. Mô hình hoạt động của hệ thống thực nghiệm .............. Error! Bookmark not
defined.
Hình 3.2 Giao diện chính của Protégé ................................................................................. 50
Hình 3.3 Đồ thị RDF mẫu ..................................................................................................... 58
Hình 3.4 Kết quả tìm kiếm với từ khóa “hoang hai dang dia chi ha noi” ....................... 59
Hình 3.5 Kết quả tìm kiếm với từ khóa “Hoàng Hải Đăng” ............................................. 61
Hình 3.6 Kết quả tìm kiếm với từ khóa “day mon” ........................................................... 61
Hình 3.7 Kết quả tìm kiếm với từ khóa “HÀNH CHÍNH HỌC”..................................... 62
Hình 3.8 Kết quả tìm kiếm với từ khóa “hoang hai dang hoc ham” ................................ 63
Hình 3.9 Kết quả tìm kiếm với từ khóa “day mon hanh chinh hoc”............................... 63
Hình 3.10 Kết quả tìm kiếm với từ khóa “hoang hai dang hanh chinh hoc” ................. 64
Hình 3.11 Các cung của đồ thị dữ liệu RDF. ...................................................................... 66
Hình 3.12 Một số nút trong dữ liệu được sử dụng để tạo các đồ thị RDF. .................... 67


DANH MỤC BẢNG
Bảng 1.1 Cấu trúc đảo ngược tệp trong việc lập chỉ mục ...................................... 11
Bảng 1.2 Cấu trúc lập chỉ mục xuôi ......................................................................... 11
Bảng 1.3: Biểu diễn văn bản mô hình Vector ......................................................... 17
Bảng 1.4: Biểu diễn văn bản mô hình Boolean....................................................... 18
Bảng 2.1 Các thành phần của phát biểu ................................................................... 34
Bảng 3.1 Mô tả thông tin về các trường dữ liệu ..................................................... 55
Bảng 3.2 Danh sách mối quan hệ. ........................................................................... 57
Bảng 3.3: Kết quả tìm kiếm với một số từ khóa. .................................................... 68


PHẦN I: MỞ ĐẦU
1. Lý do chọn đề tài
Trước sự bùng nổ về thông tin như hiện nay thì nhu cầu tìm kiếm thông tin
của chúng ta ngày càng trở nên cấp thiết. Các máy tìm kiếm thường sử dụng từ

khóa để biểu diễn yêu cầu người dùng và đánh giá kết quả tìm kiếm dựa vào tần
suất xuất hiện của các từ khóa. Đây là cách tìm kiếm đơn giản và thông dụng bởi
từ khóa trong tìm kiếm rất gần gũi với ngôn ngữ tự nhiên mà chúng ta thường sử
dụng.
Một cách biểu diễn dữ liệu phổ biến trong cơ sở tri thức là sử dụng mô
hình RDF (Resource Description Framework), đây là một mô hình dữ liệu trong
Semantic Web. Dữ liệu được biểu diễn theo dạng bộ ba gồm chủ thể - vị từ - đối
tượng (subject – predicate - object). Trong đó, chủ thể và đối tượng là các thực
thể, vị từ là quan hệ giữa các thực thể. Tính mềm dẻo của mô hình dữ liệu RDF
cho phép biểu diễn lược đồ và thể hiện dữ liệu trong các bộ ba RDF. Đồ thị RDF
biểu diễn dữ liệu với các đỉnh tương ứng với các chủ thể và đối tượng, các cạnh
tương ứng với các vị từ. Khi truy vấn trên đồ thị RDF, từ khóa sẽ được biểu diễn
thành các đồ thị RDF con (đồ thị truy vấn), đồ thị truy vấn này sẽ được so khớp
với đồ thị RDF và kết quả sẽ trả ra danh sách các đồ thị RDF con khớp với đồ thị
truy vấn.
Cách truyền thống để tìm kiếm dữ liệu RDF là sử dụng ngôn ngữ truy vấn
SPARQL. Đây là ngôn ngữ truy vấn có cấu trúc cho phép người dùng đưa ra các
truy vấn thể hiện chính xác yêu cầu tìm kiếm. Điều này đòi hỏi người sử dụng
phải quen với cú pháp và ngữ nghĩa phức tạp của SPARQL, dữ liệu trong RDF
và hiểu rõ yêu cầu tìm kiếm của mình. Những học sinh, sinh viên mới nhập học

1


hoặc những cá nhân khác chưa biết nhiều về thông tin học tập của nhà trường sẽ
gặp khó khăn trong việc tiếp cận những thông tin cần thiết.
Vì những lí do ở trên tôi quyết định chọn đề tài “Tìm kiếm theo từ khóa
trên đồ thị RDF” cho luận văn tốt nghiệp.
2. Lịch sử vấn đề nghiên cứu
Sự ra đời của web ngữ nghĩa tạo ra hướng tìm kiếm mới. Từ đây, công

việc tìm kiếm trở nên dễ dàng hơn. Tuy nhiên, cách tìm kiếm còn gặp nhiều khó
khăn bởi tìm kiếm trên web ngữ nghĩa thường dùng các ngôn ngữ truy vấn có
cấu trúc phức tạp. Như vậy, tìm kiếm bằng từ khóa trên đồ thị RDF là cần thiết
và đang được nhiều chuyên gia quan tâm. Ví dụ như: S. Elbassuoni and R.
Blanco. Keyword search over rdf graphs. In CIKM, 2011[16]; Kostas Stefanidis
and Irini Fundulaki. Keyword Search on RDF Graphs: It is more than just
searching for keywords. Institute of Computer Science, FORTH, Heraklion,
Greece[17].
3. Mục đích nghiên cứu
Biễu diễn thông tin dưới dạng đồ thị RDF và tìm kiếm thông tin trên đồ thị
bằng cách sử dụng các từ khóa. Cách tìm kiếm này dựa vào ngữ nghĩa của thông
tin, khác với các phương pháp tìm kiếm truyền thống là dựa vào tần suất xuất
hiện từ khóa.
Triển khai ứng dụng tìm kiếm theo từ khóa trên đồ thị RDF.
4. Nhiệm vụ nghiên cứu
Tìm hiểu quy trình tìm kiếm theo từ khóa.
Tìm hiểu Web ngữ nghĩa
Tìm hiểu về ontology và ngôn ngữ truy vấn RDF

2


Tìm hiểu mô hình tìm kiếm thông tin dựa vào từ khóa trên đồ thị RDF.
Triển khai ứng dụng
5. Đối tượng nghiên cứu
Web ngữ nghĩa, Ontology, RDF, đồ thị RDF.
Mô hình ứng dụng tìm kiếm theo từ khóa trên đồ thị RDF.
6. Ý nghĩa khoa học
Việc tìm kiếm trên dữ liệu RDF bằng ngôn ngữ SPARQL gây khó khăn
cho người có nhu cầu tìm kiếm, gây cản trở khả năng tận dụng lợi thế của chuẩn

dữ liệu RDF.
Mô hình tìm kiếm theo từ khóa trên đồ thị RDF đơn giản hơn nhưng việc
tìm kiếm vẫn đạt hiệu quả cao.
7. Phương pháp nghiên cứu
Đọc, phân tích, tổng hợp và chọn lọc tài liệu, bài báo, thông tin trên
Internet.
Chọn các công cụ phù hợp để xây dựng dữ liệu và máy tìm kiếm.
Thực nghiệm kiểm tra và đánh giá kết quả.
Hướng phát triển.
8. Cấu trúc của luận văn
Chương 1: Tổng quan về máy tìm kiếm. Trong chương này, tôi trình bày
cơ sở lý thuyết về máy tìm kiếm, một số máy tìm kiếm, mô hình tần suất, mô
hình không gian Vector và mô hình Boolean
Chương 2: Tìm kiếm theo từ khóa trên đồ thị RDF. Nội dung gồm: Giới
thiệu Web ngữ nghĩa, ontology, RDF và đồ thị RDF, mô hình tìm kiếm. Quy
trình xây dựng hệ thống thực nghiệm như xây dựng dữ liệu đồ thị RDF, kho tài
liệu, xử lý truy vấn, và phương pháp xếp hạng tài liệu.

3


Chương 3: Xây dựng hệ thống thực nghiệm. Trong chương này, tôi trình
bày hệ thống thực nghiệm tìm kiếm theo từ khóa trên đồ thị RDF. Nội dung trình
bày gồm: giới thiệu công cụ đã sử dụng, xây dựng đồ thị RDF về lĩnh vực học
tập, tạo liên kết giữa tài liệu với các nút và cung trong đồ thị, giới thiệu quy trình
truy vấn với một số từ khóa đã thực hiện. Cuối cùng là phần nhận xét, đánh giá
kết quả tìm kiếm và hướng phát triển của hệ thống thực nghiệm.

4



CHƯƠNG I. TỔNG QUAN MÁY TÌM KIẾM
Nhu cầu tìm kiếm thông tin là cần thiết đối với tất cả mọi người. Vì vậy,
các máy tìm kiếm ra đời nhằm hỗ trợ việc tìm kiếm thông tin một các nhanh
chóng và chính xác. Trong chương này, tôi giới thiệu tổng quan về máy tìm
kiếm, quy trình hoạt động của máy tìm kiếm và một số mô hình tìm kiếm.
1.1 Khái niệm
Máy tìm kiếm (search engine) là một hệ thống được xây dựng nhằm tìm ra
các trang web hay các tài liệu dựa vào những thông tin do người dùng yêu cầu.
Khi đưa ra yêu cầu tìm kiếm là một hoặc một bộ từ khóa, hệ thống sẽ phân tích
yêu cầu này và thực hiện tìm kiếm trên kho dữ liệu để đưa ra những kết quả phù
hợp với yêu cầu tìm kiếm của người dùng. Ví dụ như khi tìm kiếm với từ khóa
“đại học sp hà nội”, kết quả nhận được sẽ là trang web của trường Đại học Sư
phạm Hà Nội và một số trang web, tài liệu có chứa một phần hoặc toàn bộ từ
khóa trên. Hiện nay có số máy tìm kiếm nổi tiếng như Google, Yahoo, Bing, …
1.2 Các thành phần chính
Để thực hiện được các chức năng như trên, máy tìm kiếm có nhiều thành
phần, mỗi thành phần đảm nhiệm một số chức năng khác nhau, chúng ta có thể
kể đến một số thành phần như sau:
Bộ thu thập thông tin: Cơ sở dữ liệu của các máy tìm kiếm được cập nhật
bởi các chương trình đặc biệt thường gọi là các con bọ. Các chương trình này sẽ
tự động dò tìm và phân tích từ những trang có sẵn trong cơ sở dữ liệu để kiếm ra
các liên kết từ các trang và trở lại bổ sung dữ liệu cho các máy tìm kiếm. Về bản
chất con bọ chỉ là một chương trình duyệt và thu thập thông tin từ các website
theo đúng giao thức web.

5


Bộ lập chỉ mục: Hệ thống lập chỉ mục hay còn gọi là hệ thống phân tích và

xử lý dữ liệu, thực hiện việc phân tích, trích chọn những thông tin cần thiết
(thường là các từ đơn, từ ghép, cụm từ quan trọng) từ những dữ liệu mà con bọ
thu thập được và tổ chức thành cơ sở dữ liệu riêng để có thể tìm kiếm trên đó
một cách nhanh chóng, hiệu quả. Lập chỉ mục là giai đoạn phân tích tài liệu để
xác định các chỉ mục biểu diễn nội dung của tài liệu. Hệ thống chỉ mục là danh
sách các từ khoá, chỉ rõ các từ khoá nào xuất hiện ở trang nào, địa chỉ nào…quá
trình lập chỉ mục tốt sẽ làm cho quá trình tìm kiếm nhanh hơn.
Bộ truy vấn: Bộ công cụ truy vấn có nhiệm vụ nhận và tìm kiếm các yêu
cầu của người sử dụng, bộ công cụ này sẽ dựa vào hệ thống chỉ mục và các kho
lưu trữ. Khi nhận được yêu cầu tìm kiếm, hệ thống sẽ phân tích yêu cầu đó và
tiến hành truy vấn trong cơ sở dữ liệu và tìm ra các kết quả.
Bộ sắp xếp: Đây là một modul có chức năng sàng lọc những kết quả có
được sau khi truy vấn. Bộ này sẽ tiến hành xếp hạng và trả đưa ra các kết quả
theo thứ tự về mức độ liên quan đến yêu cầu tìm kiếm. Phương pháp đánh giá và
xếp hạng phổ biến nhất là phương pháp TF-IDF(Term Frequency-Inverse
Document Frequency) [6] [7].
Các bộ này hoạt động liên tục từ lúc khởi động hệ thống, phụ thuộc lẫn
nhau về mặt dữ liệu nhưng độc lập với nhau về mặt hoạt động. Chúng thống nhất
với nhau và tạo thành các máy tìm kiếm. Máy tìm kiếm tương tác với người
dùng thông qua giao diện, giao diện sẽ hỗ trợ người dùng thể hiện yêu cầu tìm
kiếm và hiển thị những kết quả tìm kiếm hoặc thông báo cho người dùng khi
không tìm thấy kết quả.
1.3 Một số máy tìm kiếm thông dụng.

6


Hiện nay, trên thị trường có nhiều máy tìm kiếm được sử dụng. Mỗi hệ
thống tìm kiếm đều có những điều riêng biệt, điều này tạo nên sự đa dạng trong
việc tìm kiếm và thị phần các máy tìm kiếm cũng khác nhau, cụ thể:


Hình 1.1 Thị phần các máy tìm kiếm (nguồn StatCounter)
Google Search, hay ngắn gọn là Google, là một công cụ tìm kiếm thông
tin trực tuyến thuộc sở hữu tập đoàn Google. Đây là một trong những máy tìm
kiếm được sử dụng phổ biến nhất hiện nay trên thế giới. Được phát triển từ năm
1997 bởi Larry Page và Sergey Brin. Năm 1998, Google đã chính thức ra mắt
công cụ tìm kiếm của mình.
Yahoo Search là công cụ tìm kiếm trực thuộc sở hữu của tập đoàn Yahoo!
Mặc dù được thành lập từ năm 1995, nhưng phải đến 2004 máy tìm kiếm của
hãng này mới ra đời. Tuy ra đời sau, nhưng do lợi thế về thị phần người sử dụng
Yahoo! Messenger và Yahoo! Mail khá lớn nên Yahoo Search vẫn cạnh tranh
khá tốt với các đối thủ đi trước mình cả nửa thập niên. Trước sự cạnh tranh của
Google Search, năm 2009, Yahoo và Microsoft đã quyết định đi đến một sự thỏa
thuận hợp tác cùng phát triển Bing Yahoo Search. Bing Search, tiền thân là MSN
Search là một công cụ tìm kiếm của tập đoàn Microsoft. Công cụ tìm kiếm Bing
lần đầu tiên được ra mắt vào 28 tháng 5 năm 2009.
7


Baidu là một công cụ tìm kiếm của Trung Quốc thành công nhất cho đến
nay, được thiết kế riêng cho người dùng sử dụng Tiếng Trung. Từ khi được ra
mắt vào năm 2000, đến nay Baidu đã trở thành công cụ tìm kiếm được sử dụng
nhiều thứ 2 thế giới, chỉ sau Google. Để có một thành công như vậy, ngoài việc
kế

thừa

những

thành


công

của

những

đối

thủ

đi

trước

như

Google hay Wikipedia, Baidu đã phải có một sự hỗ trợ rất lớn từ chủ nghĩa dân
tộc và những hỗ trợ độc quyền của chính phủ của Trung Quốc. Hiện nay, Baidu
Search đã trở thành công cụ tìm kiếm không thể thiếu cho những ai sử dụng
tiếng Trung và muốn kinh doanh tại thị trường này.
Tại Việt Nam, Cốc Cốc là công cụ tìm kiếm có lượng người truy cập hàng
tháng và hàng ngày nhiều nhất. Tuy nhiên, các kết quả tìm kiếm trả về trên công
cụ tìm kiếm này phần lớn được thực hiện bởi Google Search. Vì vậy, trên lý
thuyết, Google Search sẽ là công cụ tìm kiếm được sử dụng nhiều nhất tại Việt
Nam hiện nay.
1.4 Quy trình hoạt động của máy tìm kiếm
Quy trình hoạt động của các máy tìm kiếm đều giống nhau, chúng chỉ
khác nhau về cách xử lí vấn đề. Ví dụ như cùng một yêu cầu tìm kiếm nhưng
mỗi máy tìm kiếm lại xử lí khác nhau và trả về các kết quả khác nhau.

1.4.1 Thu thập dữ liệu
Để xây dựng được máy tìm kiếm thì điều đầu tiên phải tạo được một cơ sở
dữ liệu. Điều này quyết định sự thành công hay thất bại của máy tìm kiếm. Vì
giai đoạn này sẽ giúp tạo ra bộ nguồn dữ liệu cho tất cả các tìm kiếm thực hiện
trên hệ thống này. Để tạo được một nguồn dữ liệu tốt và độ tin cậy cao cần phải
có thời gian xác minh, phạm vi tìm kiếm phải mở rộng và đi sau vào từng lĩnh
vực. Ngoài ra, cần phải có chiến lược cập nhật thông tin sau một khoảng thời

8


gian nhất định bởi vì thông tin luôn thay đổi. Ví dụ như: Chiến lược tìm kiếm
theo chiều sâu, chiến lược tìm kiếm theo chiều rộng, chiến lược tìm kiếm ngẫu
nhiên. Các công cụ tìm kiếm hiện nay sử dụng các con bọ tìm kiếm hay được gọi
là trình thu thập để thu thập thông tin tạo nguồn dữ liệu. Con bọ sẽ xem thông tin
của các trang web, sau đó lấy ra danh sách các siêu liên kết có trong trang web
đó và tiếp tục dò theo các liên kết để lấy thông tin. Giống như chúng ta thực hiện
duyệt nội dung của các trang web liên kết với nhau. Công việc dò theo các liên
kết của các con bọ cứ tiếp tục như vậy, từ trang này đến trang khác và mang dữ
liệu về cho máy chủ tìm kiếm. Công việc này được thực hiện liên tục sau một
khoảng thời gian nhất định để có thể thu thập được các thông tin mới nhất và đầy
đủ nhất. Chính vì vậy, các công cụ tìm kiếm cần phải đưa ra được các chiến lược
phù hợp về cách thức dò theo các liên kết và thu thập thông tin, bao lâu thì thực
hiện tìm một lần, mỗi lần sẽ tìm bao lâu, thứ tự tìm và nội dung thu thập phải
như thế nào, khi nào thì kết thúc quá trình dò tìm… Để làm tốt giai đoạn này
máy tìm kiếm của Google đã thực hiện một số phương pháp như: Cho người
dùng khai báo website của mình mới tạo với Google; Xây dựng công cụ quản trị
web là “google webmaster”; Thu thập thông tin từ tập tin “robots.txt” và
“sitemap” do người dùng tạo ra.
Gần đây bộ máy tìm kiếm của Google đã mở rộng hướng thu thập thông

tin và xây dựng kho dữ liệu tìm kiếm. Điều này mang lại hiệu quả cao trong kết
quả tìm kiếm và có sự tương tác tốt với người dùng để có thể đưa ra các kết quả
tốt nhất. Bằng cách thu thập thông tin và liên kết các thông tin liên quan với
nhau lại tạo thành sơ đồ tri thức thông minh. Điều này sẽ hỗ trợ gợi ý cho người
dùng trong việc tìm kiếm các thông tin liên quan đến yêu cầu tìm kiếm ban đầu
của người dùng. Đây là một hướng rất hay, phù hợp với sự phát triển về lĩnh vực

9


công nghệ nhằm đáp ứng yêu cầu ngày càng cao của người dùng. Luận văn của
tôi sẽ khai thác điều điều này, xây dựng hệ thống tìm kiếm để người sử dụng có
thể tìm thấy điều mình cần dù sự hiểu biết về lĩnh vực đó chưa nhiều. Để làm
được điều này tôi sẽ đưa ra kết quả là các gợi ý liên quan đến từ khóa tìm kiếm,
cách này khác với cách tìm kiếm theo từ khóa thông thường là đưa ra các kết quả
chứa từ khóa tìm kiếm.
1.4.2. Đánh chỉ mục cho tài liệu
Trong qua trình thu thập dữ liệu, con bọ tìm kiếm sẽ phân tích và xác định
những từ, cụm từ, liên kết, …có ý nghĩa quan trọng hay mô tả tổng quát những
tài liệu nó đã đi qua. Quá trình này gọi là quá trình đánh chỉ mục. Vấn đề đặt ra
đối với các hệ thống tìm kiếm là làm thế nào để có thể rút ra được các thông tin
chính có thể đại diện cho các tài liệu. Phải đảm bảo rằng việc lấy các thông tin
chính trong một tài liệu phải đầy đủ và rõ ràng. Tuy nhiên cũng không được lấy
quá nhiều thông tin không thật sự cần thiết vì có thể dẫn tới chi phí lưu trữ và chi
phí tìm kiếm tốn kém hơn, mất thời gian hơn mà kết quả không tốt. Trong quá
trình rút trích các mẫu cần phải tạo liên kết giữa mẫu đó với tài liệu đã được rút
ra để phục vụ cho việc tìm kiếm và trả kết quả sau này. Điều này sẽ hỗ trợ tốt
trong việc tìm kiếm tài liệu dạng âm thanh, hình ảnh hoặc video. Việc rút trích
và tạo liên kết này chính là việc lập chỉ mục cho tài liệu. Ý nghĩa của việc lập chỉ
mục là tối ưu hóa kho dữ liệu tìm kiếm, thay vì phải lưu một tài liệu đầy đủ thì

phương pháp này chỉ lưu các từ và cụm từ chính của văn bản đó. Thứ hai là tối
ưu hóa tốc độ và hiệu xuất tìm kiếm các tài liệu. Vì nếu không có đánh chỉ mục
thì khi có bất cứ yêu cầu tìm kiếm nào hệ thống cũng phải quét hết nội dung
trong mỗi tài liệu và quét tất cả các tài liệu trong kho dữ liệu. Như vậy, quá trình

10


đánh chỉ mục này quyết định tốc độ và hiệu suất của máy tìm kiếm. Quy trình
lập chỉ mục thường gồm 3 bước cơ bản như sau:
Bước 1: Tách văn bản thành các từ và cụm từ dựa vào cấu trúc từ ngữ ngữ
pháp của mỗi ngôn ngữ. Ví dụ như dựa vào các dấu phẩy “,”, chấm “.”, khoảng
trắng, kí tự thừa,… để tách các từ, cụm từ.
Bước 2: Loại bỏ các từ ngữ mang ít ý nghĩa hay còn gọi là “từ dừng” (stop
word). Những từ này xuất hiện nhiều trong các tài liệu nhưng lại không mang ý
nghĩa quan trọng hay mô tả về tài liệu đó. Ví dụ: “là”, “và”, “vì”, “do”, “nên”...
Bước 3: Chọn lọc các từ quan trọng có thể mang ý nghĩa của từng tài liệu
và tạo liên kết giữa từ đó với tài liệu. Một số cấu trúc dữ liệu chỉ mục thường
thấy như sau:
- Cấu trúc đảo ngược tệp
Từ khóa

Tài liệu

Từ khóa 1

Tài liệu 1, tài liệu 2, tài liệu 3

Từ khóa 2


Tài liệu 1, tài liệu 4

Từ khóa 3

Tài liệu 5, tài liệu 6
Bảng 1.1 Cấu trúc lập chỉ mục đảo ngược

- Cấu trúc đánh chỉ mục xuôi
Tài liệu

Từ khóa

Tài liệu 1

Từ khóa 1, từ khóa 2, từ khóa 4

Tài liệu 2

Từ khóa 1, từ khóa 5

Tài liệu 3

Từ khóa 5, từ khóa 6
Bảng 1.2 Cấu trúc lập chỉ mục xuôi

1.4.3. Truy vấn và xếp hạng

11



Truy vấn là việc xử lí yêu cầu của người dùng. Bắt đầu là từ khóa của
người dùng để tìm các tài liệu trong cơ sở dữ liệu. Trong luận văn này, tôi sẽ
tách từ khóa tìm kiếm của người dùng để đưa vào câu truy vấn SPARQL. Như
vậy người dùng chỉ cần quan tâm đến việc nhập từ khóa để tìm kiếm. Khi từ
khóa được đưa vào hệ thống tìm kiếm sẽ có một danh sách các kết quả trả về.
Trong hệ thống thực nghiệm của tôi, các kết quả đó còn mang ý nghĩa gợi ý mở
rộng tìm kiếm. Cần nhấn mạnh là điều này rất quan trọng với những người muốn
tìm kiếm nhưng chưa có hiểu biết nhiều về điều đó. Khi số lượng kết quả trả về
nhiều dẫn đến việc làm sao để người dùng có thể tìm thấy được kết quả mong
muốn trong danh sách những kết quả đầu tiên. Để giải quyết điều này các hệ
thống máy tìm kiếm đã đưa ra các phương pháp xếp hạng tài liệu để xếp hạng
kết quả giúp người dùng tìm được tài liệu mình mong muốn nhanh nhất.
Trong các phương pháp xếp hạng hiện nay, phương pháp TF-IDF [6] [7],
đánh giá tài liệu dựa vào tần suất xuất hiện của từ khóa, được sử dụng phổ biến
nhất. Ý tưởng của phương pháp này là tính độ quan trọng của từ khóa trong tài
liệu đang xét và so sánh với các tài liệu khác trong bộ kết quả tìm kiếm. Nếu số
lần xuất hiện từ khóa tìm kiếm nhiều trong tài liệu đang xét nhưng ít xuất hiện
trong các tài liệu còn lại thì tài liệu đang xét được xem là tài liệu gần với yêu cầu
của người dùng nhất. Những tài liệu như vậy sẽ được xếp trong danh sách đầu
tiên của kết quả tìm kiếm để người dùng có thể tìm thấy nhanh nhất.
Để hiểu rõ hơn quy trình hoạt động hoạt động của máy tìm kiếm, tôi giới
thiệu quy trình hoạt động của máy tìm kiếm Google:

12


Hình 1.2 Quy trình hoạt động của Google(nguồn
webanz.vn)
Bước 1. Google kích hoạt phần mềm tự động có tên là Spider(con bọ).
Bước 2. Spider bò vào các website trên Internet mà nó đã biết địa chỉ.

Bước 3. Spider tìm và đọc nội dung trên website đó và đưa về máy chủ
Google.
Bước 4. Google thực hiện phân tích :
- Số từ trong bài viết, mỗi từ xuất hiện trong bài viết bao nhiêu lần và mật
độ từ đó ra sao?
- Đếm tổng số link vào và link ra khỏi trang web
Bước 5. Google kiểm tra nội dung bài viết có bị trùng lặp với trang web
khác mà nó đã từng thu thập hay không? Nếu nội dung mới, nó bắt đầu index
(tức phân loại + xếp hạng + lưu trữ) thông tin trên website đó.

13


Khi sử dụng từ khóa để tìm kiếm trên công cụ tìm kiếm Google. Máy tìm
kiếm Google sẽ lục trong cơ sở dữ liệu và trả về kết quả đã được sắp xếp theo
mức độ liên quan đến từ khóa tìm kiếm của người dùng. Để thực hiện các bước
tìm kiếm trên cần có phương pháp biểu diễn các tài liệu văn bản nhằm hỗ trợ quá
trình tính toán một cách hiệu quả. Phần tiếp theo sẽ giới thiệu một số mô hình
tìm kiếm được sử dụng phổ biến cho các máy tìm kiếm.
1.5 Một số mô hình tìm kiếm
1.5.1 Mô hình tần suất
Trong mô hình tần suất, ma trận W = {Wij} được xác định dựa trên tần số
xuất hiện của từ khóa ti trong văn bản dj hoặc tần số xuất hiện của từ khóa ti
trong toàn bộ cơ sở dữ liệu. Sau đây là một số phương pháp phổ biến:
a. Phương pháp dựa trên tần số từ khóa (TF – Term Frequency)
Các giá trị Wij được tính dựa trên tần số (hay số lần) xuất hiện của từ khóa trong
văn bản. Gọi fij là số lần xuất hiện của từ khóa ti trong văn bản dj, khi đó Wij
được tính bởi một trong ba công thức: Wij = fij ; Wij = 1 + log(fij); Wij = fij
Trong phương pháp này, trọng số Wij tỷ lệ thuận với số lần xuất hiện của
từ khóa ti trong văn bản dj. Khi số lần xuất hiện từ khóa ti trong văn bản dj càng

lớn thì điều đó có nghĩa là văn bản dj càng phụ thuộc vào từ khóa ti, hay nói cách
khác từ khóa ti mang nhiều thông tin trong văn bản dj. Ví dụ, khi văn bản xuất
hiện nhiều từ khóa máy tính, điều đó có nghĩa là văn bản đang xét chủ yếu liên
quan đến lĩnh vực tin học. Nhưng suy luận trên không phải lúc nào cũng đúng.
Một ví dụ điển hình là từ “và” xuất hiện nhiều trong hầu hết các văn bản, nhưng
trên thực tế từ này lại không mang nhiều ý nghĩa như tần suất xuất hiện của nó.
Hoặc có những từ không xuất hiện trong văn bản này nhưng lại xuất hiện trong
văn bản khác, khi đó ta sẽ không tính được giá trị của log(fij). Một phương pháp

14


khác ra đời khắc phục được nhược điểm của phương pháp TF, đó là phương
pháp IDF.
b. Phương pháp dựa trên nghịch đảo tần số văn bản (IDF – Inverse
Document Frequency)
Trong phương pháp này, giá trị Wij được tính theo công thức sau:
Wij = log

log(m) – log(hi) nếu ti xuất hiện trong d j; ngược lạo Wịj = 0

Trong đó m là số lượng văn bản và hi là số lượng văn bản mà từ khóa ti xuất
hiện. Trọng số wij trong công thức này được tính dựa trên độ quan trọng của từ
khóa ti trong văn bản dj. Nếu ti xuất hiện trong càng ít văn bản, điều đó có nghĩa
là khi nó xuất hiện trong dj thì trọng số của nó đối với văn bản dj càng lớn hay
nó là điểm quan trọng để phân biệt văn bản dj với các văn bản khác và hàm
lượng thông tin trong nó càng lớn.
c. Phương pháp TF × IDF
Phương pháp này là tổng hợp của hai phương pháp TF và IDF, giá trị của
ma trận trọng số được tính như sau:

Wij =[1+log(fij)] log( ) nếu fij ≥ 1; ngược lại Wij = 0.
Đây là phương pháp kết hợp được ưu điểm của cả hai phương pháp trên.
Trọng số Wij được tính bằng tần số xuất hiện của từ khóa ti trong văn bản dj và
độ hiếm của từ khóa ti trong toàn bộ cơ sở dữ liệu. Một số ưu, nhược điểm của
phương pháp biểu diễn này
• Ưu điểm
Các tài liệu có thể được sắp xếp theo mức độ liên quan đến nội dung yêu
cầu. Tiến hành lưu trữ và tìm kiếm đơn giản hơn phương pháp Logic.
• Nhược điểm

15


Việc xử lý sẽ chậm khi hệ thống các từ vựng là lớn do phải tính toán trên
toàn bộ các vector của tài liệu. Khi biểu diễn các vector với các hệ số là số tự
nhiên sẽ làm tăng mức độ chính xác của việc tìm kiếm nhưng làm tốc độ tính
toán giảm đi rẩt nhiều do các phép nhân vector phải tiến hành trên các số tự
nhiên hoặc số thực, hơn nữa việc lưu trữ các vector sẽ tốn kém và phức tạp. Hệ
thống không linh hoạt khi lưu trữ các từ khóa. Chỉ cần một thay đổi rất nhỏ trong
bảng từ vựng sẽ kéo theo hoặc là vector hóa lại toàn bộ các tài liệu lưu trữ, hoặc
là sẽ bỏ qua các từ có nghĩa bổ sung trong các tài liệu được mã hóa trước đó.
Một nhược điểm nữa, chiều của mỗi Vector theo cách biểu diễn này là rất lớn,
bởi vì chiều của nó được xác định bằng số lượng các từ khác nhau trong tập hợp
văn bản.
1.5.2 Mô hình không gian Vector
Mô hình không gian vector là một mô hình đại số dùng để biểu diễn các
văn bản tài liệu thành dạng các vector để dễ dàng trong việc tính toán và xác
định độ quan trọng của các từ khóa trong các tài liệu [8]. Đây là mô hình biểu
diễn văn bản thông dụng nhất hiện nay vì mô hình này tương đối đơn giản nhưng
hiệu quả cao, hỗ trợ tốt cho việc thu thập và xếp hạng tài liệu.


Hình 1.3 Biểu diễn vector văn bản trong không gian 2 chiều.

16


Giả sử ta có một văn bản và nó được biểu diễn bởi vector V(V1,V2, …,Vn).
Trong đó, Vi là số lần xuất hiện của từ khóa thứ i trong văn bản. Ta xét 2 văn bản
sau:
VB1: Life is not only life
VB2: To life is to fight
Sau khi qua bước tiền xử lý văn bản, ta biểu diễn chúng như sau:

Từ

Vector_VB1

Vector_VB2

Life

2

1

Fight

0

1


Only

1

0

Bảng 1.3: Biểu diễn văn bản mô hình Vector
Trên đây là nội dung mô hình không gian vector. Mô hình này có nhiều ưu
điểm nhưng cũng còn một số hạn chế như: Không thể hiện được tần suất xuất
hiện của các từ trong mỗi văn bản. Một số từ có tần suất xuất hiện ít nhưng lại
mang nội dung chính cần tìm kiếm lại không làm nổi bật lên được. Có sự phân
biệt giữa độ dài các văn bản, cụ thể là những văn bản dài, chứa nhiều từ khác
nhau được ưu tiên khi tính toán độ liên quan.
1.5.3 Mô hình so khớp Boolean
Một mô hình biểu diễn vector với hàm f cho ra giá trị rời rạc với duy nhất
hai giá trị đúng và sai (true và false, hoặc 0 và 1) gọi là mô hình Boolean. Hàm f
tương ứng với từ khóa ti sẽ cho ra giá trị đúng nếu và chỉ nếu từ khóa ti xuất hiện
trong văn bản đó. Mô hình Boolean được xác định như sau:

17


×