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

Xây dựng hệ thống thu thập, quản lý tài liệu khoa học dựa trên CiteSeerX.

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.96 MB, 69 trang )

PHIẾU GIAO NHIỆM VỤ ĐỒ ÁN TỐT NGHIỆP
1. Thông tin về sinh viên
Họ và tên sinh viên: Trần Đinh Hưng
Điện thoại liên lạc
0979472676
Email:
Lớp: HTTT - A
Khóa 50
Hệ đào tạo:Chính quy
Đồ án tốt nghiệp được thực hiện tại: Viện Công nghệ thông tin và Truyền thông
Thời gian làm ĐATN: Từ ngày 28 / 2 /2010 đến 28 / 05 /2010
2. Mục đích nội dung của ĐATN
Xây dựng hệ thống thu thập, quản lý tài liệu khoa học dựa trên CiteSeerX.
3. Các nhiệm vụ cụ thể của ĐATN
Tìm hiểu kiến trúc của hệ tìm kiếm thơng tin.
Tìm hiểu kiến trúc hệ thống CiteSeerX.
Xây dựng hệ thống thu thập, quản lý và tìm kiếm tài liệu dựa trên CiteSeerX.
Thêm các chức năng để hoàn thiện hệ thống: Auto Suggestion, hỗ trợ upload tài liệu từ
máy người dùng.
4. Lời cam đoan của sinh viên:
Tôi – Trần Đinh Hưng – cam kết ĐATN là cơng trình nghiên cứu của bản thân tơi dưới sự
hướng dẫn của ThS. Đỗ Bích Diệp
Các kết quả nêu trong ĐATN là trung thực, khơng phải là sao chép tồn văn của bất kỳ
cơng trình nào khác.
Hà Nội, ngày 27 tháng 05 năm 2010
Tác giả ĐATN

Trần Đinh Hưng
5. Xác nhận của giáo viên hướng dẫn về mức độ hoàn thành của ĐATN và cho phép bảo
vệ:


Hà Nội, ngày 27 tháng 05 năm 2010
Giáo viên hướng dẫn

ThS. Đỗ Bích Diệp
Sinh viên thực hiện: Trần Đinh Hưng - Khóa 50 Lớp HTTT - A

1


TĨM TẮT NỘI DUNG ĐỒ ÁN TỐT NGHIỆP
Ngày nay, tìm kiếm thông tin trên Internet đã trở thành công việc không thể thiếu với
rất nhiều người, đặc biệt là sinh viên, học sinh, giảng viên, nghiên cứu sinh,… Một trong
những đối tượng được họ quan tâm nhiều nhất để phục vụ cho quá trình học tập và nghiên
cứu của mình là các tài liệu khoa học, những luận văn, đồ án chuyên sâu … Tuy nhiên
những hệ thống tìm kiếm chuyên biệt tài liệu khoa học chưa nhiều, chưa hoàn thiện và
chưa hỗ trợ tốt cho ngôn ngữ tiếng Việt.
Mục đích của đề tài này là tìm hiểu xây dựng mơ hình hệ thống quản lý tài liệu khoa
học dựa theo mơ hình tìm kiếm thơng tin trên Internet. Đồ án đưa ra mơ hình kiến trúc tổng
quan và các thành phần của hệ quản lý tài liệu khoa học, các kĩ thuật trích rút thơng tin đặc
trưng (tiêu đề, tác giả, nhà xuất bản, …) và tham chiếu (tài liệu tham khảo) của tài liệu, từ
đó tổ chức lưu trữ và tìm kiếm tài liệu theo các thơng tin đã trích rút. Để hiện thực hóa mơ
hình hoạt động, đồ án sử dụng bộ mã nguồn mở CiteSeerX, một thành phần trong bộ
SeerSuit, nhằm xây dựng hệ thu thập, tìm kiếm tài liệu khoa học và cài đặt những thành
phần dịch vụ hỗ trợ cho việc lọc, phân tách, trích rút thơng tin đặc trưng và tham chiếu từ
tài liệu.
Đồng thời, đồ án còn thêm vào các chức năng để hoàn thiện hệ thống từ những dịch vụ
cơ bản đã được cung cấp bởi bộ mã nguồn mở CiteSeerX.

Sinh viên thực hiện: Trần Đinh Hưng - Khóa 50 Lớp HTTT - A


2


NỘI DUNG ĐỒ ÁN
Chương 1 : Nhu cầu tìm kiếm và tra cứu tài liệu chuyên ngành hiện nay.
Chương 2 : Cơ sở lý thuyết về hệ thống tìm kiếm thông tin.
Chương 3 : Kiến trúc hệ thống tra cứu tài liệu khoa học
Chương 4 : Xây dựng hệ thống thu thập, quản lý tài liệu khoa học dựa trên bộ mã
nguồn mở CiteSeerX

Sinh viên thực hiện: Trần Đinh Hưng - Khóa 50 Lớp HTTT - A

3


MỤC LỤC
PHIẾU GIAO NHIỆM VỤ ĐỒ ÁN TỐT NGHIỆP....................................................1
TÓM TẮT NỘI DUNG ĐỒ ÁN TỐT NGHIỆP.........................................................2
NỘI DUNG ĐỒ ÁN.....................................................................................................3
Chương 1: Nhu cầu tìm kiếm và tra cứu tài liệu khoa học chuyên ngành hiện nay. 12
1. Quản lý và chia sẻ tài liệu khoa học..................................................................12
1.1 Tài liệu khoa học là gì..................................................................................12
1.2 Nhu cầu trao đổi và chia sẻ tài liệu khoa học..............................................12
1.3 Quản lý và tìm kiếm tài liệu khoa học.........................................................13
1.4 Các chức năng cần có của một hệ quản lý và tìm kiếm tài liệu khoa học. .13
Chương 2: Cơ sở lý thuyết về hệ tìm kiếm thơng tin................................................14
1. Tổng quan về tìm kiếm thơng tin......................................................................14
1.1 Khái niệm cơ bản về hệ tìm kiếm thơng tin.................................................14
1.2 Mơ hình của hệ tìm kiếm thơng tin..............................................................15
2. Các thành phần của hệ tìm kiếm thơng tin........................................................16

2.1 Bộ biểu diễn câu truy vấn.............................................................................16
2.1.1 Các tốn tử tìm kiếm cơ bản.......................................................................................16
2.1.2 Q trình biểu diễn câu truy vấn................................................................................17

2.2 Bộ biểu diễn tài liệu.....................................................................................19
2.3 Bộ đối sánh...................................................................................................20
3. Tìm kiếm thơng tin trên web.............................................................................21
3.1 Mơ hình hệ thống.........................................................................................21
3.2 Hoạt động của hệ thống................................................................................22
3.3 Một số kỹ thuật được sử dụng......................................................................23
3.3.1 Xếp hạng trang ( Page Rank )......................................................................................23
3.3.2 Phân cụm....................................................................................................................23
Sinh viên thực hiện: Trần Đinh Hưng - Khóa 50 Lớp HTTT - A

4


3.3.3 Phân lớp......................................................................................................................24
3.3.4 Phản hồi từ người dùng..............................................................................................24

4. Quản lý và tìm kiếm đối với tài liệu khoa học...................................................24
4.1 Cấu trúc của một tài liệu khoa học...............................................................24
4.2 Quản lý tài liệu khoa học.............................................................................26
Chương 3: Hệ thống tra cứu tài liệu khoa học...........................................................28
1. Kiến trúc tổng quan hệ thống tra cứu tài liệu khoa học.....................................28
2. Kỹ thuật trích chọn thơng tin ............................................................................29
2.1 Trích chọn đặc trưng tài liệu........................................................................29
2.1.1 Gán nhãn....................................................................................................................29
2.1.2 Phân loại dịng............................................................................................................30
2.1.3 Phân loại dịng dựa trên thơng tin ngữ cảnh..............................................................31


2.2 Thuật tốn trích chọn metadata....................................................................31
2.2.1 Phân dịng dựa trên Support Vector Machine ( SVM )................................................31
2.2.2 Đặc trưng trích chọn...................................................................................................32
2.2.3 Q trình phân dịng...................................................................................................34
2.2.4 Trích chọn metadata từ dịng đa lớp..........................................................................35
2.2.5 Định biên trên dòng đa tác giả....................................................................................35
Định biên trên dòng phân cách bởi dấu cách .....................................................................35
Định biên trên dòng phân cách bởi khoảng trắng ...............................................................36

2.3 Thuật tốn trích chọn thông tin tham chiếu.................................................37
2.3.1 Đặc trưng miêu tả.......................................................................................................37
2.3.2 Phân đoạn thông tin tham chiếu ( Citation )...............................................................39
Nhận biết Citations .............................................................................................................39
2.3.3 Hiệu chỉnh dữ liệu sau khi gán nhãn ( CRF )................................................................42
2.3.4 Đưa ra ngữ cảnh tham chiếu......................................................................................42

....................................................................................................................................43
Chương 4: Xây dựng hệ thống thu thập, quản lý tài liệu khoa học dựa trên bộ mã
nguồn mở CiteSeerX..................................................................................................44
1. Giới thiệu về CiteSeerX.....................................................................................44
Sinh viên thực hiện: Trần Đinh Hưng - Khóa 50 Lớp HTTT - A

5


1.1 Dự án SeerSuite............................................................................................44
1.2 Dự án CiteSeer.............................................................................................44
1.3 Dự án CiteSeerX...........................................................................................46
2. Mơ hình hệ thống của CiteSeerX.......................................................................48

3. Phân tích chi tiết hệ thống CiteSeerX................................................................50
3.1 Mơ hình cơ sở dữ liệu – Storage Layer........................................................50
3.2 Các service sử dụng trong CiteSeerX - Application Layer.........................52
3.2.1 Heritrix – Tiện ích để crawl dữ liệu – Crawling Server................................................52
3.2.1.1 Giới thiệu về Heritrix........................................................................................52
3.2.2.2 Hoạt động........................................................................................................53
3.2.2 Các dịch vụ hỗ trợ cho việc vào ra dữ liệu..................................................................54
3.2.2.1 Các dịch vụ phân tách văn bản.............................................................................55
A. File Converter..........................................................................................................56
B. ParsCit......................................................................................................................57
C. SVM Header Parse...................................................................................................58
3.2.2.2 Các class xử lý dữ liệu thô....................................................................................59
3.2.3 Các chức năng thêm vào để hoàn thiện hệ thống......................................................60
3.2.3.1 Chức năng Upload từ máy người dùng................................................................60
3.2.3.2 Chức năng Auto Suggestion.................................................................................60
A. Đặt vấn đề...............................................................................................................60
B. Cơ sở dữ liệu............................................................................................................61
C. Hoạt động................................................................................................................61

4. Giao diện và hoạt động của hệ thống.................................................................62
4.1 Chức năng search.........................................................................................63
4.2 Hỗ trợ người dùng upload tài liệu lên máy chủ...........................................66
4.3 Sử dụng Heritrix...........................................................................................67
4.4 Chức năng Auto Suggestion.........................................................................67
CÁC KẾT QUẢ ĐẠT ĐƯỢC VÀ HƯỚNG PHÁT TRIỂN TRONG TƯƠNG LAI
.....................................................................................................................................68

Sinh viên thực hiện: Trần Đinh Hưng - Khóa 50 Lớp HTTT - A

6



1. Các kết quả đạt được.........................................................................................68
2. Những mặt hạn chế............................................................................................68
3. Hướng phát triển trong tương lai......................................................................68
TÀI LIỆU THAM KHẢO..........................................................................................70

Sinh viên thực hiện: Trần Đinh Hưng - Khóa 50 Lớp HTTT - A

7


DANH MỤC CÁC HÌNH
Hình 1: Bản chất của tìm kiếm thơng tin...................................................................14
Hình 2: Mơ hình hệ tìm kiếm thơng tin.....................................................................15
Hình 3: Minh họa cho quá trình biểu diễn câu truy vấn với câu truy vấn ‘java OR
programming‘.............................................................................................................17
Hình 4: Quá trình biểu diễn tài liệu............................................................................19
Hình 5: Các thành phần cơ bản của một hệ tìm kiếm thơng tin trên Internet ..........21
Hình 6(a): Cấu trúc một tài liệu khoa học..................................................................25
Hình 6(b): Cấu trúc một tài liệu khoa học.................................................................26
Hình 7: Mơ hình tổng quan của hệ quản lý tài liệu khoa học....................................28
Hình 8: Các dịng header được metatagged...............................................................30
Hình 9: Q trình phân loại dòng...............................................................................34
Hinh10(a): Dấu hiệu nhận biết phần tài liệu tham khảo của bài viết........................39
Hình 10(b): Dấu hiệu nhận biết tài liệu tham khảo....................................................40
Hình 11: Cấu trúc phần tài liệu tham khảo...............................................................41
Hình 12: Ngữ cảnh tham chiếu tài liệu......................................................................42
Hình 13: Kiến trúc CiteSeer.......................................................................................45
Hình 14: Virtual Document........................................................................................46

Hình 15: Vị trí của CiteSeerX trên Web of World Repositories...............................47
Hình 16: Kiến trúc CiteSeerX....................................................................................48
Hình 17: Các bảng cơ sở dữ liệu của hệ thống..........................................................51
Hình 18: Hoạt động của Heritrix................................................................................54
Hình 19: Hoạt động của các dịch vụ hỗ trợ vào ra dữ liệu........................................55
Hình 20: Mơ hình hoạt động của bộ phân tách văn bản............................................56
Hình 21: Hoạt động của trang upload........................................................................60
Hình 22: Giao diện hệ thống......................................................................................62
Sinh viên thực hiện: Trần Đinh Hưng - Khóa 50 Lớp HTTT - A

8


Hình 23: Query khi search theo Documents..............................................................63
Hình 24: Search theo Authors....................................................................................64
Hình 25: Duyệt trước Abstract của kết quả...............................................................64
Hình 26: Hiển thị Citations đi kèm kết quả...............................................................65
Hình 27: Advanced Search.........................................................................................65
Hình 28: Hiển thị một văn bản...................................................................................66
Hình 29: Giao diện trang submit tài liệu....................................................................66
Hình 30: Chạy một job trong Heritrix........................................................................67
Hình 31: Chức năng Auto Suggestion.......................................................................67

Sinh viên thực hiện: Trần Đinh Hưng - Khóa 50 Lớp HTTT - A

9













DANH MỤC CÁC TỪ VIẾT TẮT
Server : máy chủ.
Client : máy trạm.
Query : câu truy vấn.
Crawl : sử dụng các bộ filter để tải dữ liệu về.
Citation : các trích dẫn, thường thấy ở mục Tài liệu tham khảo.
Logging service : các dịch vụ ghi lại thông tin hoạt động của hệ thống.
Header : các thông tin thường nằm ở đầu của mỗi tài liệu khoa học.
Abstract : phần tóm tắt của một văn bản.
Submit : tải tài liệu lên máy chủ.

Sinh viên thực hiện: Trần Đinh Hưng - Khóa 50 Lớp HTTT - A

10


LỜI NÓI ĐẦU
Đồ án tốt nghiệp được thực hiện và hồn thành sau một thời gian dài tìm hiểu,
được hình thành từ ngay những ngày thực tập đầu tiên cho đến giờ. Trong q trình
tìm hiểu đó, ngồi sự tìm tòi, học hỏi và cố gắng của bản thân, còn có rất nhiều
người đã giúp đỡ, hướng dẫn em trong việc hoàn thiện đồ án.
Trước hết, em xin chân thành gửi lời cảm ơn đến Ths. Đỗ Bích Diệp và TS. Vũ

Tuyết Trinh - Bộ môn Các hệ thống Thông tin đã rất tận tình hướng dẫn và chỉ bảo
cho em từ những giai đoạn tìm hiểu đầu tiên. Cơ đã bỏ nhiều thời gian và công sức
để giúp em giải quyết những khó khăn mà em gặp phải trong quá trình làm đồ án.
Em xin được gửi lời cảm ơn tới các thầy cô trong Viện Công Nghệ Thông Tin và
Truyền Thơng nói chung cũng như các thầy cơ trong bộ mơn Các hệ Thống Thơng
Tin nói riêng. Các thầy cô đã truyền đạt kiến thức cho em trong suốt những tháng
ngày theo học tại trường, trang bị cho em những kiến thức để em có thể tự tin bước
vào môi trường làm việc mới, cuộc sống mới.
Cuối cùng em xin gửi lời cảm ơn tới gia đình, người thân và bạn bè. Những
người luôn động viên, ủng hộ và giúp đỡ em trong suốt thời gian qua.

Sinh viên thực hiện: Trần Đinh Hưng - Khóa 50 Lớp HTTT - A

11


Chương 1: Nhu cầu tìm kiếm và tra cứu tài liệu khoa học chuyên ngành
hiện nay
1. Quản lý và chia sẻ tài liệu khoa học
Những năm gần đây sự phát triển như vũ bão của mạng truyền thông và Internet
đã giúp chúng ta tiếp cận với một nền tảng tri thức khổng lồ. Tìm kiếm thơng tin
trên Internet đã trở thành một trong những công việc quen thuộc của rất nhiều
người. Với học sinh, sinh viên, giảng viên, nghiên cứu sinh, tìm kiếm thơng tin, tài
liệu là việc rất quan trọng để hỗ trợ cho công việc học tập, nghiên cứu và tham
khảo. Một trong những đối tượng tìm kiếm được họ quan tâm nhiều nhất chính là
các tài liệu báo cáo khoa học.
1.1 Tài liệu khoa học là gì
Tài liệu khoa học là các ấn phẩm, sách, báo cáo kỹ thuật, bài báo hội nghị, bài
báo tạp chí, luận văn, các nghiên cứu về một cơng trình khoa học, một vấn đề khoa
học chuyên ngành nào đó. Các tài liệu này thường có một cấu trúc đặc trưng với

một số thành phần chính theo thứ tự sau :
• Tiêu đề (title): miêu tả ngắn gọn nội dung của tài liệu.
• Thơng tin về tác giả (author): tên, địa chỉ, email, nơi làm việc,…
• Phần tóm tắt (abstract): giới thiệu, tóm tắt một số nội dung chính của bài viết,
giúp người đọc hiểu khái quát về tài liệu.
• Phần nội dung chính của bài viết: đặt vấn đề, giải quyết vấn đề, các phương
pháp kĩ thuật thực hiện, kết quả thực hiện, đánh giá tổng kết, kết luận,…
Phần tài liệu tham khảo: phần cuối cùng của bài viết, liệt kê các tài liệu được tác
giả tham chiếu tới. Các thông tin về tài liệu tham khảo bao gồm tựa đề, tác giả, năm
xuất bản, số trang,…và theo một định dạng nhất định.
Tài liệu khoa học là kết tinh của một quá trình làm việc sáng tạo, lâu dài của tác
giả, có giá trị tham khảo lớn với độc giả, nên rất cần được công bố và chia sẻ rộng
rãi.
1.2 Nhu cầu trao đổi và chia sẻ tài liệu khoa học
Các nghiên cứu khoa học thường được các tác giả công bố trên các tạp chí, tập
san khoa học (journal), trong các hội thảo, hay trên website cá nhân, … dưới nhiều
định dạng thông dụng như doc, ps, pdf, txt,… Thế nên để có thể xem, tham khảo
nội dung của các tài liệu khoa học đó ta cần dựa trên nhiều công cụ hệ thống rời rạc,
hỗ trợ hoặc không hỗ trợ việc tìm kiếm. Việc này sẽ gây nhiều khó khăn, bất tiện
cho người đọc, tìm kiếm.
Thực tế trên đã dẫn tới nhu cầu cần có một hệ thống lưu trữ và quản lý các tài
liệu khoa học một cách thống nhất. Nó khơng chỉ phải giúp người đọc dễ dàng tìm
kiếm được các tài liệu, đánh giá được chất lượng bài viết mà còn cung cấp cho các
Sinh viên thực hiện: Trần Đinh Hưng - Khóa 50 Lớp HTTT - A

12


tác giả biết được mức độ quan tâm của cộng đồng với kết quả nghiên cứu của
mình.

1.3 Quản lý và tìm kiếm tài liệu khoa học
Với việc quản lý các tài liệu khoa học – là các tài liệu có một số thơng tin cấu
trúc nhất định thì việc quản lý và tìm kiếm sẽ bao gồm:
• Quản lý nội dung tài liệu - Tìm kiếm dựa trên các từ khóa.
• Quản lý thơng tin đặc trưng của tài liệu: các thông tin đặc trưng bao gồm tiêu
đề, tác giả, tóm tắt bài viết, tài liệu được tham khảo,… Khi đó việc tìm kiếm
sẽ hỗ trợ tìm kiếm theo các thông tin đặc trưng, thông tin tham chiếu tài liệu.
Để có thể có được các thơng tin đặc trưng trên của tài liệu phục vụ cho quá trình
tìm kiếm cần có một thành phần có khả năng phân tích xử lý tự động trích lọc các
thành phần đặc trưng và tham chiếu của tài liệu.
1.4 Các chức năng cần có của một hệ quản lý và tìm kiếm tài liệu khoa học
Từ các phân tích trên ta thấy nhu cầu cần xây dựng một hệ thống quản lý tìm
kiếm các tài liệu khoa học có một số chức năng chính sau:
Tổ chức lưu trữ các tài liệu: Các thành phần được lưu trữ bao gồm nội dung bài
viết, các đặc trưng như tiêu đề, tác giả, tài liệu tham chiếu đến bài viết. Mỗi phần,
mỗi đặc trưng có thể được lưu trong các bảng, các trường cơ sở dữ liệu để hỗ trợ tra
cứu, tìm kiếm.
Thêm/ Sửa/ Xóa tài liệu: Hỗ trợ cho người dùng thêm mới một tài liệu; với mỗi
tài liệu có thể hiệu chỉnh, sửa chữa, chuẩn hóa nội dung cho đúng; có thể xóa tài
liệu nếu được phép.
Trích rút thơng tin: Thơng tin được trích rút bao gồm thông tin về đặc trưng của
tài liệu: tiêu đề, tên tác giả, email, địa chỉ, tóm tắt nội dung chính,… hay phần tham
chiếu: các tài liệu được tham khảo đến; các thông tin về tài liệu tham khảo như tên,
tác giả, năm xuất bản, số trang, đều được trích lọc lấy ra phân loại.
Tìm kiếm: Với các tài liệu khoa học – các tài liệu có cấu trúc thì hệ thống ngồi
khả năng tìm kiếm theo nội dung cịn có thể tìm kiếm theo các đặc trưng, tham
chiếu của tài liệu.
Ngồi ra hệ thống có thể tìm kiếm nâng cao: theo năm, theo đánh giá xếp hạng,
theo hồ sơ người dùng, … làm tăng kết quả tìm kiếm.


Sinh viên thực hiện: Trần Đinh Hưng - Khóa 50 Lớp HTTT - A

13


Chương 2: Cơ sở lý thuyết về hệ tìm kiếm thơng tin
1. Tổng quan về tìm kiếm thơng tin
1.1 Khái niệm cơ bản về hệ tìm kiếm thơng tin

Hình 1: Bản chất của tìm kiếm thơng tin
Hình 1 thể hiện bản chất của hệ tìm kiếm thơng tin với 2 tác nhân tham gia là
người dùng và người cung cấp dịch vụ tìm kiếm.
Người cung cấp dịch vụ tìm kiếm trước hết sẽ lưu trữ thông tin về tài liệu. Do số
lượng tài liệu rất lớn nên không thể lưu trữ tồn bộ nội dung tài liệu mà chỉ có thể
lưu lại những thông tin quan trọng phục vụ cho q trình tìm kiếm. Các thơng tin
này có thể là tiêu đề, tác giả, đoạn tóm tắt, đường link hay một số từ khóa quan
trọng.
Người dùng muốn tìm kiếm phải đưa vào các từ khóa đặc trưng cho tài liệu mình
muốn tìm. Hệ thống sẽ thực hiện đối sánh các từ khóa này với các thơng tin phục vụ
tìm kiếm tài liệu. Những tài liệu có kết quả đối sánh tốt nhất sẽ được trả về như là
kết quả của quá trình tìm kiếm.
Như vậy bản chất của quá trình tìm kiếm thơng tin dựa trên cơ chế “đối sánh”
các tài liệu được lưu trữ trong hệ thống với yêu cầu tìm kiếm của người dùng để tìm
ra kết quả cho phù hợp .

Sinh viên thực hiện: Trần Đinh Hưng - Khóa 50 Lớp HTTT - A

14



1.2 Mơ hình của hệ tìm kiếm thơng tin

Hình 2: Mơ hình hệ tìm kiếm thơng tin
Hình 2 trình bày mơ hình hệ tìm kiếm thơng tin cơ bản. Các thành phần cơ bản
bao gồm:
• Đầu vào (Input): gồm các câu truy vấn (queries) và các tài liệu (documents).
Câu truy vấn bao gồm các từ khóa (keyword). Từ khóa được hiểu là một tổ
hợp các từ của một ngôn ngữ nhất định, được sắp xếp hay quan hệ với nhau
thông qua các biểu thức logic mà cơng cụ tìm kiếm hỗ trợ. Trong trường hợp
từ khoá bao gồm nhiều hơn một chữ (hay từ) thì có thể gọi tập hợp các chữ
đó là bộ từ khố (set of keywords).
• Đầu ra ( output ) : Tập hợp các đoạn trích hay tài liệu được hệ thống đánh giá
phù hợp với yêu cầu truy vấn của người dùng :
• Bộ xử lý ( Processor ): Thành phần chính của hệ thống thực hiện biểu diễn
lưu trữ thông tin tài liệu và tìm kiếm . Nó bao gồm các thành phần cơ bản :
o Bộ biểu diễn câu truy vấn : Biểu diễn câu truy vấn người dùng

Sinh viên thực hiện: Trần Đinh Hưng - Khóa 50 Lớp HTTT - A

15


o Bộ biểu diễn tài liệu : Biểu diễn thông tin về tài liệu , lập chỉ mục (
indexing ) phục vụ cho quá trình tìm kiếm
o Bộ đối sánh : Đối sánh giữa câu truy vấn và thông tin tài liệu xem tài
liệu có phù hợp khơng .
• Hoạt động của bộ xử lý : Bộ biểu diễn phân tích tài liệu, đánh chỉ mục, lưu
trữ thơng tin về tài liệu vào kho dữ liệu. Khi nhận được một câu truy vấn, bộ
biểu diễn câu truy vấn phân tích câu truy vấn thành các từ khóa và các tốn
tử tìm kiếm . Bộ đối sánh sau đó lấy thơng tin về các tài liệu trong kho dữ

liệu, đối sánh với từ khóa và các tốn tử tìm kiếm để tìm ra tài liệu thỏa mãn
câu truy vấn của người dùng.
Để phục vụ cho các hoạt động biểu diễn, lưu trữ, tìm kiếm hệ thống có thể có
thêm các thành phần chức năng nâng cao như phân tích từ, phân cụm, phân lớp để
trích chọn ra các thơng tin của tài liệu phù hợp cho quá trình tìm kiếm.

2. Các thành phần của hệ tìm kiếm thơng tin
Phần này sẽ đi sâu tìm hiểu về các thành phần của hệ tìm kiếm thơng tin đã phân
tích ở trên : bộ biểu diễn câu truy vấn, bộ biểu diễn tài liệu, bộ đối sánh.
2.1 Bộ biểu diễn câu truy vấn
Một câu truy vấn được tạo thành từ các từ khóa (keyword) và các tốn tử tìm
kiếm liên kết với các từ khóa. Nhiệm vụ của bộ biểu diễn câu truy vấn là phân tích
câu truy vấn thành các từ khóa và tốn tử tìm kiếm.
2.1.1 Các tốn tử tìm kiếm cơ bản
Tốn tử AND: Có cú pháp (Tốn hạng 1) AND (Toán hạng 2). Phép toán AND
nhằm yêu cầu hệ thống tìm kiếm các tài liệu có sự hiện diện của tất cả các tốn tử.
Ví dụ: “student AND teacher” sẽ giúp truy tìm các trang có mặt đồng thời hai
chữ student và chữ teacher.
Tốn tử OR: Có cú pháp là (Toán hạng 1) OR (Toán hạng 2). Lệnh này cho phép
tìm những tài liệu có chứa một trong các tốn tử của phép tốn OR của bộ từ khố.
Ví dụ: “Hà Nội “ OR “Hồ Chí Minh “ sẽ tìm tài liệu viết về Hà Nội hoặc thành
phố “ Hồ Chí Minh “
Tốn tử NOT: Việc tìm kiếm sẽ loại bỏ những tài liệu mà nội dung có chứa tốn
hạng đứng ngay sau phép toán NOT. Tuy nhiên trong nhiều máy truy tìm có hỗ trợ
thì phép tốn này cũng chỉ được dùng có một lần cho một bộ từ khố.
Ví dụ: để tìm tài liệu hướng dẫn về ngơn ngữ lập trình C/C++ có thể thử dùng
trên Altavista: "C/C++ tutor" NOT book.

Sinh viên thực hiện: Trần Đinh Hưng - Khóa 50 Lớp HTTT - A


16


Dấu ngoặc kép “”: Khi muốn tìm nguyên văn của cụm từ, có thể dùng dấu ngoặc
kép. Khi đó bộ đối sánh phải tìm kiếm các tài liệu có cả cụm từ ấy trong nội dung
văn bản.
Ví dụ: tìm tài liệu viết về trường đại học Bách Khoa Hà Nội, có thể tìm với cụm
từ trong ngoặc kép “ Bách Khoa Hà Nội “.
2.1.2 Quá trình biểu diễn câu truy vấn

Hình 3: Minh họa cho quá trình biểu diễn câu truy vấn với câu truy vấn
‘java OR programming‘
Quá Trình biểu diễn câu truy vấn diễn ra theo các bước :
Bước 1: Phân tích câu truy vấn thành các Token: Thơng thường các token được
định nghĩa là một chuỗi kí tự - chữ số nằm giữa các khoảng trắng và/hoặc các dấu
chấm phẩy.
Trong bước này, câu truy vấn java OR programming sẽ được phân tích thành 3
token là java, OR và programming.
Bước 2: Phân tích các Token thành các từ khóa và các tốn tử tìm kiếm.
Trong bước này, ta sẽ thu được java và programming là từ khóa và OR là tốn tử
tìm kiếm.
Bước 3: Gồm các xử lý:
Sinh viên thực hiện: Trần Đinh Hưng - Khóa 50 Lớp HTTT - A

17


• Loại bỏ các từ dừng: Từ dừng (stop word) là những từ xuất hiện rất nhiều
trong các văn bản mà khơng có ý nghĩa nhiều đối với văn bản. Trong tiếng
anh là các từ như a, an, the, is... Việc loại bỏ từ dừng được xác định bằng

cách loại bỏ các từ mà tần suất xuất hiện vượt quá một ngưỡng giá trị nào đó.
• Loại bỏ tiền tố, hậu tố (word stemming): Trong ngôn ngữ tự nhiên, một từ có
thể xuất hiện trong câu dưới những biến thể khác nhau. Một vài ví dụ trong
tiếng anh như chia động từ (am, are, is - be), số nhiều (teachers – teacher).
Để thực hiện việc biểu diễn ta cần phải chuẩn hóa các từ trong văn bản bằng
cách đưa các biến thể của một từ về dạng chuẩn của nó.
• Loại bỏ từ tương đương: Loại bỏ các từ mang ý nghĩa giống nhau.
Trong bước này, java được giữ nguyên vì nó đang ở dạng ngun thể,
programming được loại bỏ hậu tố và trở thành program.
Bước 4: Đánh trọng số cho các từ khóa: Một hệ thống tìm kiếm thơng tin có thể
tiến hành đánh trọng số cho các từ khóa. Trọng số thể hiện vai trị của từ khóa trong
câu truy vấn. Trong một số hệ tìm kiếm thơng tin, trọng số của từ khóa phụ thuộc
vào vị trí xuất hiện của nó trong câu truy vấn.
Trong bước này, 2 từ khóa java và program được đánh trọng số. Từ khóa java
xuất hiện trước sẽ có trọng số cao hơn.
Đầu ra của bộ biểu diễn câu truy vấn là một tập (từ khóa, trọng số) và các tốn tử
tìm kiếm liên kết giữa các từ khóa.

Sinh viên thực hiện: Trần Đinh Hưng - Khóa 50 Lớp HTTT - A

18


2.2 Bộ biểu diễn tài liệu

Hình 4: Quá trình biểu diễn tài liệu
Vì cả tài liệu và câu truy vấn đều được tạo thành từ các văn bản ngôn ngữ tự
nhiên nên việc biểu diễn chúng có một số xử lý giống nhau. Hình 4 minh họa quá
trình biểu diễn tài liệu.
Bước 1: xác định các đơn vị tài liệu cần thiết để biểu diễn: có thể là cả văn bản,

một đoạn, phần tiêu đề hay tóm tắt…
Bước 2: phân tích đoạn văn bản cần biểu diễn thành “từ”: Ở đây khái niệm “từ”
được hiểu là một từ hay một cụm từ tạo thành một ý nghĩa nào đó trong văn bản.
Mỗi “từ” này được gọi là một term.
Bước 3: bao gồm các xử lý loại bỏ các từ dừng, tiền tố, hậu tố, loại bỏ các từ
tương đương (giống biểu diễn câu truy vấn), những từ quá hiếm gặp (loại bỏ những
từ có tần suất xuất hiện trong văn bản thấp hơn một ngưỡng giá trị nào đó). Các
term cịn lại sau các q trình xử lý này được gọi là các index term.
Bước 4: đánh trọng số cho các index term. Trọng số thể hiện vai trò của index
term trong tài liệu. Nó phụ thuộc vào nhiều yếu tố: tần suất xuất hiện của từ trong
văn bản tài liệu, font chữ, cỡ chữ, vị trí xuất hiện…
Sinh viên thực hiện: Trần Đinh Hưng - Khóa 50 Lớp HTTT - A

19


Bước 5: đánh chỉ mục cho các index term. Việc đánh chỉ mục thực hiện bằng
cách tổ chức các index term dưới dạng một từ điển (dictionary). Với mỗi term
người ta có một danh sách chỉ ra tài liệu nào có xuất hiện term ấy. Danh sách này
gọi là các posting.
Mỗi posting bao gồm một index term và chỉ số tài liệu nó xuất hiện (ngồi ra có
thể có các thơng tin phụ như vị trí xuất hiện, kích cỡ, font chữ…)
Ví dụ: Xem xét các tài liệu được đánh chỉ số từ 1 dến 175. Index term Brutus
xuất hiện trong các tài liệu có chỉ số là 1, 2, 4, 11, 33, 45, 173,174. Index term
Caesar xuất hiện trong các tài liệu 1, 2, 4, 5, 6, 16, 57
Các posting sẽ như sau :

Thông tin về các (index term, posting) được lưu trữ để phục vụ cho việc tìm
kiếm.
Việc đánh chỉ mục này nhằm làm cho quá trình tìm kiếm diễn ra dễ dàng và

nhanh chóng hơn khi lượng tài liệu để tìm kiếm là rất lớn.
2.3 Bộ đối sánh
Bộ đối sánh nhằm mục đích xem xét độ phù hợp của tài liệu và câu truy vấn của
người dùng.
Mô tả hoạt động của bộ đối sánh như sau:
• Đầu vào: kết quả của quá trình biểu diễn câu truy vấn; các posting và
dictionary (thu được sau quá trình biểu diễn và đánh chỉ mục tài liệu).
• Đầu ra: kết quả đánh giá độ phù hợp của câu truy vấn và tài liệu. Các kết quả
này có thể được sắp thứ tự.
• Xử lý: sử dụng hàm matching để đánh giá độ phù hợp giữa nội dung câu truy
vấn và tài liệu. Tùy từng hệ thống, hàm matching này có thể khác nhau. Có
thể sử dụng kết quả của hàm matching để sắp thứ tự kết quả trả về cho người
dùng. Hàm matching trả về kết quả dưới nhiều dạng khác nhau:
o Boolean (0 hoặc 1): Một tài liệu chỉ có thể được đánh giá là phù hợp
hay khơng phù hợp với câu truy vấn, không thể sắp thứ tự tài liệu;
o Dải rộng kết quả: Có thể dùng để sắp thứ tự tài liệu.
Sinh viên thực hiện: Trần Đinh Hưng - Khóa 50 Lớp HTTT - A

20


Ví dụ: Một hàm matching đơn giản có thể dựa vào số lượng các từ trùng nhau
của một biểu diễn truy vấn và một biểu diễn tài liệu như sau:

Trong đó:
D- Tập các từ khóa biểu diễn văn bản của tài liệu.
Q- Tập các từ biểu diễn query.
| D^Q | - Số lượng các từ trong tập giao của hai tập từ biểu diễn query và biểu
diễn văn bản của tài liệu.
|D| + |Q| - Tổng số lượng các từ trong hai tập từ biểu diễn query và biểu diễn

văn bản của tài liệu.
Khi đó, M sẽ nằm trong dải [0..1]. Dựa vào kết quả này hệ thống sẽ đưa ra sắp
xếp độ phù hợp của tài liệu và câu truy vấn.

3. Tìm kiếm thơng tin trên web
3.1 Mơ hình hệ thống

Hình 5: Các thành phần cơ bản của một hệ tìm kiếm thơng tin trên
Internet .

Sinh viên thực hiện: Trần Đinh Hưng - Khóa 50 Lớp HTTT - A

21


Nó cũng bao gồm các thành phần cơ bản của một hệ tìm kiếm thơng tin: bộ biểu
diễn tài liệu, bộ biểu diễn câu truy vấn, bộ đối sánh. Ngoài ra, nó cịn có một thành
phần đặc biệt là bộ thu thập web (web crawler hay còn gọi là web robot, web
spider…) cho phép thu thập, tập hợp thông tin từ các nguồn khác nhau trên Internet
một cách tự động.
3.2 Hoạt động của hệ thống
Mơ-tơ tìm kiếm trên Internet hoạt động theo các bước cơ bản sau:
• Thu thập thơng tin web (web crawler): Các hệ thống tìm kiếm trên mạng
internet thực hiện công việc lưu giữ thông tin về một số lượng khổng lồ các
trang web nó tìm thấy trên WWW. Những trang web này được lấy về từ các
robot (còn gọi là nhện web) bằng cách lần theo các siêu liên kết. Robot là một
chương trình tự động duyệt qua các cấu trúc siêu liên kết để thu thập tài liệu
và một cách đệ quy. Nó nhận về tất cả tài liệu có liên kết với tài liệu này.
Những trang web này được biết đến dưới nhiều tên gọi khác nhau: spider,
web wanderer hoặc web worm… Các cách gọi đó đơi khi gây nhầm lẫn, như

từ ‘spider’, ‘wanderer’ làm người ta nghĩ rằng robot tự di chuyển hoặc từ
‘worm’ làm người ta liên tưởng đến virus. Về bản chất robot chỉ là một
chương trình duyệt và thu thập thông tin từ các site theo đúng giao thức web.
Những trình duyệt thơng thường khơng được xem là robot do thiếu tính chủ
động, chúng chỉ duyệt web khi có sự tác động của con người.
Nguyên tắc hoạt động của robot: Xuất phát từ một tập địa chỉ URL cho trước,
Web Robot sẽ lần theo các địa chỉ link từ mỗi tài liệu để tìm đến các tài liệu khác.
Việc lần tìm này có thể tn theo hai ngun tắc: Tìm kiếm theo chiều sâu và tìm
kiếm theo chiều rộng.
• Lập chỉ mục cho các tài liệu thu thập được: Nội dung các tài liệu thu được ở
trên sau đó được phân tích bằng hàm biểu diễn tài liệu, đánh chỉ mục và được
lưu trữ trong hệ thống . Mục đích của việc đánh chỉ mục là làm cho quá trình
tìm kiếm diễn ra dễ dàng và nhanh chóng hơn. Do nội dung của các tài liệu có
thể ln ln thay đổi nên các thông tin này thường xuyên được cập nhật.
• Tìm kiếm: Câu truy vấn được biểu diễn thành các từ khóa và các tốn tử tìm
kiếm. Trọng số có thể được gán cho các từ khóa. Một số hệ thống coi từ khóa
có trọng số cao nhất là từ khóa xuất hiện đầu tiên. Sau đó, hệ thống sẽ truy
tìm các index term phù hợp với các từ khóa. Theo các thơng tin trong posting
ta có thể tìm được các tài liệu có chứa từ khóa này và trọng số tương ứng của
từ khóa trong tài liệu ấy.

Sinh viên thực hiện: Trần Đinh Hưng - Khóa 50 Lớp HTTT - A

22


Các tài liệu thỏa mãn mối liên hệ giữa các từ khóa qua các tốn tử tìm kiếm được
xác định là phù hợp. Để xếp thứ tự các tài liệu, ta tính trọng số dựa trên các thơng
tin về trọng số của term ứng với từ khóa trong tài liệu và trọng số của từ khóa.
3.3 Một số kỹ thuật được sử dụng

3.3.1 Xếp hạng trang ( Page Rank )
Một số lượng lớn các tài liệu trên mạng Internet là các trang Web. Ngồi việc xử
lý các trang tìm thấy theo yêu cầu của một từ khoá trong kho dữ liệu cập nhật, các
hệ thống tìm kiếm cịn phải tìm cách chống lại sự nhiễu loạn của các trang khơng
có nội dung phù hợp với yêu cầu nhưng vẫn lọt vào danh sách tuyển chọn của máy
truy tìm. Nguyên nhân của các nhiễu loạn này là việc các trang chuyên về quảng
cáo hay tiếp thị ln ln tìm cách để lọt vào hàng đầu trong danh sách tuyển chọn
của hệ thống tìm kiếm. Qua đó họ có thể giới thiệu sản phẩm của họ đến người
dùng. Ngược lại, người dùng, trong đa số các trường hợp, khơng muốn tìm các
quảng cáo tiếp thị mà chỉ muốn tìm các dữ liệu khác theo ý đã ghi trong từ khoá.
Do các đặc điểm phức tạp trên, việc phân hạng các trang Web tìm được bởi một
bộ từ khố cho trước của máy truy tìm sẽ dựa vào việc áp dụng thêm các thuật toán
hay biện pháp xử lý đặc biệt. Các tiêu chí chủ yếu mà các thuật tốn của các hệ
thống tìm kiếm Web sử dụng để phân hạng các trang Web: tần số phát sinh, thẻ
meta và câu lệnh title, ngơn ngữ, số liên kết ngồi.
3.3.2 Phân cụm
Phân cụm (clustering) là khái niệm gom nhóm những đối tượng tương tự nhau
vào cùng một cụm.
Bao gồm các loại phân cụm như sau:
• Phân cụm tài liệu: Phân cụm tài liệu là khái niệm gom nhóm những tài liệu
tương tự nhau vào cùng một cụm. Việc phân cụm phải đảm bảo các tài liệu
trong 1 cụm phải tương tự nhau và các tài liệu khác cụm phải khác nhau.
Mỗi cụm sẽ tìm ra một “tâm cụm” đại diện cho cụm. Việc đối sánh tìm kiếm
chỉ thực hiện với tâm của cụm nhưng kết quả sẽ trả về với tất cả các tài liệu
trong cụm.
Việc phân cụm có những ưu điểm là đảm bảo đưa ra kết quả tìm kiếm tốt hơn và
quá trình tìm kiếm diễn ra nhanh hơn.
• Phân cụm người dùng: Gom nhóm những người dùng giống nhau vào cùng
một cụm. Sự giống nhau được đánh giá dựa trên những sở thích đã được
khảo sát. Tìm ra cụm gần nhất với người dùng để đưa ra kết quả tốt nhất cho

người dùng dựa theo những kết quả đã có từ những người trong cụm.
Sinh viên thực hiện: Trần Đinh Hưng - Khóa 50 Lớp HTTT - A

23


• Phân cụm kết quả: Các nghiên cứu cho thấy nếu ta phân cụm các kết quả
thành các loại (category) thì sẽ giúp cho người dùng dễ dàng hơn trong việc
duyệt qua tập kết quả. Ví dụ: category về thể thao, tin tức, tin học…
3.3.3 Phân lớp
Phân lớp tài liệu là khái niệm tự động gán nhãn cho các tài liệu. Mục đích là hỗ
trợ cho người dùng trong việc duyệt các tài liệu trả về.
Ví dụ: Spam và non-spam hay Interesting và non-interesting
Việc phân lớp các tài liệu có thể dựa trên hướng tiếp cận học máy như sau:
• Thu được một tập các tài liệu đã được gán nhãn.
• Sử dụng một giải thuật học máy: kNN, Bayesian, SVMs, cây quyết định…
• Gán nhãn cho tài liệu mới dựa theo tập các tài liệu đã được gán nhãn từ
trước.
3.3.4 Phản hồi từ người dùng
Thể hiện những đánh giá của người dùng được hệ thống sử dụng trong quá trình
tìm kiếm . Các dạng phản hồi của người dùng như sau:
• Phản hồi của người dùng trong một phiên tìm kiếm: Các bước thực hiện việc
phản hồi trong phiên tìm kiếm:
o Ban đầu người dùng đưa ra một câu truy vấn ngắn, đơn giản
o Người dùng đánh dấu các kết quả trả về là thỏa mãn hay không thỏa
mãn
o Hệ thống tính tốn một cách thể hiện câu truy vấn tốt hơn dựa trên
những đánh dấu của người dùng
o Phản hồi có thể diễn ra một lần hay lặp lại nhiều lần
• Các đánh giá đã có của người dùng về các tài liệu: Dựa vào các đánh giá

trong quá khứ của người dùng để đánh giá về tài liệu mới. Nó được sử dụng
cho việc phân lớp tài liệu.

4. Quản lý và tìm kiếm đối với tài liệu khoa học
4.1 Cấu trúc của một tài liệu khoa học
Với hệ thống tìm kiếm tài liệu khoa học, đối tượng tìm kiếm là các tài liệu báo
cáo khoa học – là những tài liệu có cấu trúc. Cấu trúc của nó có thể chia làm 3 phần
chính:
• Phần thơng tin đặc trưng của tài liệu (header): bao gồm các thông tin về
tiêu đề, tác giả, tóm tắt bài viết ( abstract ),…
Sinh viên thực hiện: Trần Đinh Hưng - Khóa 50 Lớp HTTT - A

24


• Phần nội dung chính của bài viết : giới thiệu nội dung , các phương pháp
thực hiện , kết quả thực hiện, hướng phát triển , kết luận .
• Phần tài liệu tham khảo (References, Citations): Phần này có thể có hoặc
khơng tùy từng bài viết. Nó liệt kê các tài liệu được tham chiếu sử dụng
trong bài viết. Các thơng tin về tài liệu tham khảo được trình bày theo định
dạng nhất định bao gồm: tên tài liệu, tác giả, năm xuất bản, số trang, ngữ
cảnh tham chiếu tài liệu (phần nào của bài viết tham khảo đến tài liệu),…

Hình 6(a): Cấu trúc một tài liệu khoa học
Sinh viên thực hiện: Trần Đinh Hưng - Khóa 50 Lớp HTTT - A

25



×