Upload
others
View
9
Download
0
Embed Size (px)
Citation preview
BỘ GIÁO DỤC VÀ ĐÀO TẠO
ĐẠI HỌC ĐÀ NẴNG
NGUYỄN NGỌC ĐAN THANH
ỨNG DỤNG KỸ THUẬT TÌM KIẾM
THÔNG TIN VÀO HỆ THỐNG TRA CƯU
TÀI LIỆU THƯ VIỆN TẠI TRƯỜNG
ĐẠI HỌC TRÀ VINH
Chuyên ngành : Khoa học máy tính
Mã số: 60.48.01
TÓM TẮT LUẬN VĂN THẠC SĨ KỸ THUẬT
Đà Nẵng - Năm 2013
Công trình được hoàn thành tại
ĐẠI HỌC ĐÀ NẴNG
Người hướng dẫn khoa học: PGS.TS. VÕ TRUNG HÙNG
Phản biện 1: PGS.TS. LÊ VĂN SƠN
Phản biện 2: PGS.TS. TRẦN CAO ĐỆ
Luận văn được bảo vệ tại Hội đồng chấm luận văn tốt nghiệp
Thạc sĩ kỹ thuật họp tại Đại học Đà Nẵng vào ngày 8 tháng 6 năm
2013.
* Có thể tìm hiểu luận văn tại:
- Trung tâm Thông tin - Học liệu, Đại học Đà Nẵng
1
MỞ ĐẦU
1. Tính cấp thiết của đề tài
Đề tài được đặt ra từ nhu cầu tra cứu thông tin tài liệu tại Thư
viện Trường Đại học Trà Vinh (ĐHTV). Qua khảo sát thực tế cho thấy
hiện nay số lượng tài liệu được quản lý tại Thư viện có trên 18.316 đầu
sách với hơn 58.990 quyển sách thuộc nhiều chuyên ngành và trên 100
loại báo, tạp chí. Hàng ngày, số lượng sinh viên và cán bộ giáo viên đến
mượn sách hoặc tra cứu thông tin tài liệu tại thư viện rất đông. Cho nên
vấn đề xác định những tài liệu nào có liên quan đến nội dung cần tìm
của độc giả có ý nghĩa rất quan trọng. Trong hệ thống tra cứu đang
được triển khai tại Thư viện, người sử dụng chủ yếu tìm kiếm dựa trên
các thông tin chung của tài liệu mà chưa thật sự tìm kiếm bên trong nội
dung cho nên chưa thể cung cấp kết quả thỏa đáng cho người sử dụng.
Do đó, cần phải tăng cường ứng dụng công nghệ thông tin vào hệ thống
để cải thiện chất lượng phục vụ.
Hiện nay, có khá nhiều công cụ hỗ trợ tìm kiếm trên dữ liệu văn
bản, trong số đó là thư viện mã nguồn mở Lucene. Nó cung cấp các
hàm tiện ích hỗ trợ tìm kiếm theo danh sách từ khóa trên tập dữ liệu phi
cấu trúc. Trong phạm vi đề tài sẽ “Ứng dụng kỹ thuật tìm kiếm thông
tin vào hệ thống tra cứu tài liệu thư viện tại Trường Đại học Trà
Vinh” trên cơ sở vận dụng các tính năng hỗ tợ của Lucene để xây dựng
một ứng dụng tìm kiếm hoàn chỉnh nhằm mục đích cải thiện hiệu quả
tìm kiếm cũng như nâng cao chất lượng học tập và nghiên cứu tại
trường của sinh viên cũng như giáo viên.
2. Mục tiêu và nhiệm vụ nghiên cứu
Cải thiện chất lượng tìm kiếm thông tin tại Thư viện Trường
ĐHTV.
2
Nghiên cứu lý thuyết liên quan đến tìm kiếm thông tin và thư
viện mã nguồn mở Lucene; Xây dựng mô hình giải pháp; Triển khai
xây dựng hệ thống tra cứu tài liệu; Đánh giá kết quả thử nghiệm.
3. Đối tượng và phạm vi nghiên cứu
Đối tượng nghiên cứu của đề tài gồm: Cơ sở lý thuyết về tìm
kiếm thông tin (Information Retrieval); Thư viện mã nguồn mở Lucene;
Cách tổ chức dữ liệu tại Thư viện Trường ĐHTV.
Phạm vi đề tài áp dụng cho việc tra cứu các tài liệu ngành Công
nghệ Thông tin được quản lý tại Thư viện Trường ĐHTV.
4. Phương pháp nghiên cứu
Phương pháp tài liệu: Nghiên cứu các tài liệu liên quan đến tìm
kiếm thông tin; Nghiên cứu phương pháp phân tích, lập chỉ mục của
thư viện mã nguồn mở Lucene
Phương pháp điều tra: Tìm hiểu hệ thống tra cứu hiện tại đang
được triển khai tại Thư viện Trường ĐHTV.
Phương pháp thực nghiệm: Triển khai xây dựng hệ thống tra cứu
tài liệu có ứng dụng kỹ thuật tìm kiếm thông tin.
5. Bố cục đề tài
Sau phần mở đầu dẫn nhập đề tài, luận văn gồm có 3 chương:
Chương 1 trình bày các vấn đề liên quan đến tìm kiếm thông tin
như các khái niệm, nguyên tắc hoạt động, các mô hình tìm kiếm thông
tin, các độ đo tương đồng và ứng dụng tìm kiếm thông tin.
Chương 2 tiến hành khảo sát thư viện mã nguồn mở Lucene và
triển khai ứng dụng minh họa.
Chương 3 tiến hành phân tích thiết kế hệ thống và triển khai ứng
dụng dựa trên thư viện mã nguồn mở Lucene.
Cuối cùng là kết luận và hướng phát triển.
3
6. Tổng quan tài liệu nghiên cứu
Trong công tác quản lý thư viện nói chung và cụ thể trong dịch
vụ hỗ trợ bạn đọc tra cứu tài liệu nói riêng thì vấn đề xác định những tài
liệu nào có liên quan đến nội dung cần tìm kiếm có ý nghĩa rất quan
trọng. Hầu hết ở các Trường Đại học đều tăng cường công nghệ thông
tin nhằm cải thiện chất lượng phục vụ tại Thư viện. Cụ thể phần lớn các
trường như Trường Đại học Luật Hà Nội, Trường Đại học Thủy Lợi,
Đại học Quốc gia Thành phố Hồ Chí Minh, … đã tích hợp phân hệ tra
cứu tài liệu OPAC hỗ trợ bạn đọc tìm kiếm thông tin thư mục về các ấn
phẩm được lưu giữ trong Cơ sở dữ liệu của thư viện, xác định vị trí của
tài liệu trong các kho sách, biết loại tài liệu đó được mượn về nhà hay
đọc tại chỗ, … Tuy nhiên, tại tỉnh Trà Vinh chưa có đơn vị nào có hệ
thống hỗ trợ tra cứu thông tin theo nội dung của tài liệu. Vì thế, tôi tiến
hành nghiên cứu kỹ thuật tìm kiếm thông tin và cụ thể sẽ sử dụng thư
viện mã nguồn mở Lucene để triển khai hệ thống tìm kiếm tại Thư viện
Trường Đại học Trà Vinh nhằm mục đích nâng cao chất lượng kết quả
tìm kiếm giúp bạn đọc có thể tra cứu trực tiếp theo nội dung của tài
liệu.
4
CHƯƠNG 1
TỔNG QUAN VỀ HỆ THỐNG TÌM KIẾM THÔNG TIN
1.1. GIỚI THIỆU VỀ TÌM KIẾM THÔNG TIN
1.1.1. Khái niệm
Tìm kiếm thông tin (Information Retrieval - IR) là tìm kiếm tài
nguyên (thường là các tài liệu - documents) trên một tập các dữ liệu phi
cấu trúc (thường là văn bản dạng text) được lưu trữ trên máy tính nhằm
thỏa mãn nhu cầu về thông tin.
1.1.2. Nguyên tắc hoạt động
Nguyên tắc hoạt động cơ bản của hệ thống tìm kiếm thông tin là
so khớp nhu cầu thông tin của người sử dụng với các tài liệu được lưu
trữ trong cơ sở dữ liệu của hệ thống. Một đối tượng tài liệu thường là
văn bản. Mô hình 1.1 sẽ mô tả các hoạt động cơ bản của một hệ thống
IR:
Hình 1.1 Mô hình hoạt động cơ bản của hệ thống tìm kiếm thông tin
5
1.1.3. Đánh giá kết quả tìm kiếm
Độ chính xác (Precision): được định nghĩa là tỷ lệ của các tài
liệu liên quan trong tập kết quả trả về, đo lường tính chính xác của hệ
thống. Hay rõ hơn là ước tính có bao nhiêu tài liệu thật sự liên quan
được tìm thấy:
Đ í á |{ } { }|
|{ }|
Độ bao phủ (Recall): được định nghĩa là tỷ lệ của các tài liệu liên
quan trong cơ sở dữ liệu tài liệu, đo lường tính toàn diện của hệ thống:
Đ ủ |{ } { }|
|{ }|
Kết qu sai (Fall-out): được đo bởi tỉ lệ các tài liệu không có liên
quan trả về trên tổng các tài liệu không liên quan:
|{ } { }|
|{ }|
1.1.4. Các thao tác cơ bản trong quá trình lập chỉ mục
Có nhiều phương pháp để biểu diễn tài liệu và một phương pháp
tự động cơ bản được thực hiện theo các bước: Tách từ - Tokenization;
Loại bỏ từ thông dụng – stop word; Qui về từ gốc – stemming; Đánh
trọng số cho từ chỉ mục – term weighting.
1.2. CÁC MÔ HÌNH TÌM KIẾM THÔNG TIN
1.2.1. Mô hình luận lý
Mô hình luận lý (Boolean model) dựa trên lý thuyết tập hợp cổ
điển và lý thuyết logic Boolean. Trong mô hình này, các tài liệu được
biểu diễn dưới dạng một tập các từ khoá, thường được lưu trong một
tập tin chỉ mục đảo. Tập tin chỉ mục đảo là danh sách các từ khoá và
mã xác định của các tài liệu có chứa các từ khoá này. Một truy vấn bao
gồm tập hợp các từ khoá có kết hợp với các toán tử logic như AND,
6
OR, NOT. Quá trình tìm kiếm được thực hiện dựa trên tài liệu nào có
chứa các từ truy vấn.
1.2.2. Mô hình xác suất
Các mô hình xác suất (Probabilistic model) áp dụng lý thuyết xác
suất để truy tìm thông tin. Mô hình xếp hạng các tài liệu dựa trên xác
suất liên quan của các tài liệu so với câu truy vấn được cho (Robertson
and Jone 1976). Truy tìm thông tin dựa trên xác suất liên quan đến câu
truy vấn của một tài liệu thì cao hơn là dựa trên xác suất không liên
quan của một tài liệu, nghĩa là nó trội hơn giá trị ban đầu. Cho tập tài
liệu D, câu truy vấn q và một giá trị ban đầu (cut-off value) α. Đối với
mô hình xác suất, việc đầu tiên là sẽ tính toán xác suất liên quan và
không liên quan của tài liệu so với câu truy vấn. Sau đó, sẽ tiến hành
sắp xếp các tài liệu giảm dần theo mức độ liên quan của chúng với câu
truy vấn. Trong danh sách các tài liệu được xếp hạng, các tài liệu nào
có xác suất liên quan tới câu truy vấn mà trội hơn giá trị ban đầu (cut-
off value) sẽ được tìm thấy.
1.2.3. Mô hình không gian vector
Mô hình không gian vector (Vector Space model) là một trong
những mô hình nổi tiếng đã được nghiên cứu. Mô hình này biểu diễn
các tài liệu và các câu truy vấn như là các vector đặc trưng biểu diễn
các từ có xuất hiện bên trong chúng. Mỗi tài liệu được biểu thị đặc
trưng bởi các vector trọng số hoặc các vector luận lý. Các vector này
được biểu trong không gian nhiều chiều. Trong đó mỗi hướng tương
ứng là một từ duy nhất xuất hiện trong tài liệu. Biểu mẫu đơn giản nhất
là mỗi đặc trưng nhận giá trị là 0 hoặc 1 để cho biết các từ có xuất hiện
hay không xuất hiện trong tài liệu hoặc câu truy vấn. Phổ biến hơn, các
đặc trưng được gán các giá trị số để cho biết tần số xuất hiện của các từ.
7
1.3. CÁC ĐỘ ĐO TƯƠNG ĐỒNG
Có nhiều độ đo khác nhau cố gắng chuẩn hoá mức độ tương
đồng bằng khoảng cách giữa tài liệu và câu truy vấn như hệ số dice
(dice coefficient), hệ số của Jaccard, hệ số overlap và hệ số cosin.
Hệ số dice định nghĩa mức độ tương đồng theo công thức:
( ) (∑
)
∑
∑
Xét ví dụ trên ta thu được mức độ tương đồng giữa tài liệu và
câu truy vấn:
( ) ( )
Tương tự ta có bảng mức độ tương đồng như sau:
Hệ số của Jaccard định nghĩa theo c ng thức:
( ) ∑
∑
∑ ∑
Xét ví dụ trên ta thu được mức độ tương đồng giữa tài liệu và
câu truy vấn:
( ) ( )
( )
Tương tự ta có bảng mức độ tương đồng như sau:
Sim
0.89 0.67 0.86
Sim
1.6 1 1.5
8
Theo hệ số cosin có công thức:
( ) ( )
‖ ‖‖ ‖
∑
√∑
√∑
Xét ví dụ trên ta thu được mức độ tương đồng giữa tài liệu và
câu truy vấn:
( )
√
√
√
Tương tự ta có bảng mức độ tương đồng như sau:
Sim
0.89 0.89 0.95
Theo hệ số overlap định nghĩa độ tương đồng:
( ) ∑
(∑ ∑
)
Mức độ tương đồng giữa tài liệu và câu truy vấn:
( )
(( ) ( ))
Tương tự ta có bảng mức độ tương đồng như sau:
1.4. ỨNG DỤNG CỦA HỆ THỐNG TÌM KIẾM THÔNG TIN
1.4.1. Công cụ tìm kiếm Google
Google là một trong các Search Engine được ưa chuộng nhất, các
đặc trưng giúp Google có kết quả tìm kiếm chính xác đó là thuật toán
Sim
2 2 1.5
9
phân hạng các trang web và tận dụng các liên kết để cải thiện kết quả
tìm kiếm.
1.4.2. AltaVista
AltaVista là một Search Engine rất mạnh về tìm kiếm theo từ
khóa. Cho phép tìm kiếm theo nhiều cụm từ bằng cách đặt những cụm
từ cần tìm vào trong hai dấu nháy kép.
1.4.3. GoogleDesktop
Google Desktop là phần mềm tìm kiếm máy tính để bàn miễn phí
được phát trển bởi Google cho hệ điều hành Mac OS X, Linux, và
Microsoft Windows. Chương trình cho phép tìm kiếm văn bản của
người sử dụng như thư điện tử (e-mail), các tập tin như văn bản, âm
nhạc, hình ảnh, các trang web đã xem, …
1.4.4. DTSearch
DTSearch là một hệ tìm kiếm thực hiện theo mô hình Boolean.
Nó lập chỉ mục khá nhanh và có nhiều lựa chọn thích hợp cho người sử
dụng. DTSearch là công cụ điển hình tìm kiếm văn bản theo mô hình
Boolean.
1.4.5. Thư viện hỗ trợ tìm kiếm văn bản Lucene
Lucene là một thư viện mã nguồn mở, được phát triển bởi Dough
Cutting (2000). Thư viện này cung cấp các hàm cơ bản hỗ trợ cho việc
đánh chỉ mục và tìm kiếm.
10
CHƯƠNG 2
THƯ VIỆN LUCENE
2.1. GIỚI THIỆU VỀ LUCENE
2.1.1. Lịch sử phát triển
Lucene là thư viện mã nguồn mở hỗ trợ các chức năng cần thiết
của một hệ thống tìm kiếm thông tin.
Mã nguồn của thư viện Lucene được đặt ở trang web:
http://lucene.apache.org/core/. Tại đây, chúng ta có thể tải thêm các tài
liệu tương ứng với từng phiên bản của Lucene.
2.1.2. Lucene và các thành phần của ứng dụng tìm kiếm
Lucene là một thư viện mã nguồn mở, cung cấp các thành phần
cần thiết của một ứng dụng tìm kiếm. Lucene hỗ trợ hai thành phần
chính: lập chỉ mục và tìm kiếm.
Hình 2.1 Các thành phần cơ bản của một ứng dụng tìm kiếm
11
2.1.3. Các lớp đối tượng của Lucene
a. Các lớp đối tượng lập chỉ mục
IndexWriter: là lớp đối tượng trung tâm của tiến trình lập chỉ
mục. Lớp này sẽ tạo ra tập chỉ mục mới hoặc mở một tập chỉ mục có
sẵn và không được phép đọc hay tìm kiếm trên tập chỉ mục đó.
Directory: là lớp đối tượng xác định vị trí của tập chỉ mục.
Analyzer: được sử dụng để phân tích văn bản trước khi được lập
chỉ mục.
Document: là một lớp đối tượng biểu diễn tập hợp các trường,
mỗi trường sẽ chứa nội dung văn bản cần lập chỉ mục.
Field: trường thông tin của tài liệu. Mỗi Field sẽ có tên và giá trị
phù hợp để lưu trữ một trường thông tin nhất định.
b. Các lớp đối tượng tìm kiếm
IndexSearcher: mở tập chỉ mục đã được tạo trước bởi đối tượng
IndexWriter và tiến hành tìm kiếm trên nó.
Term: là đơn vị cơ bản nhất để tìm kiếm. Đối tượng Term cần hai
tham số: tham số thứ nhất cho biết tên của Field và tham số thứ hai cho
biết giá trị của Field đó.
Query: lớp đối tượng truy vấn thông tin. Thư viện Lucene hỗ trợ
một số loại truy vấn như: TermQuery, BooleanQuery, PhraseQuery,
PrefixQuery, … Tất cả các đối tượng truy vấn này đều được dẫn xuất từ
lớp cha Query.
TopDocs: là lớp đối tượng đơn giản chứa liên kết đến N tài liệu
có liên quan nhiều nhất đến câu truy vấn. Mỗi tài liệu trong danh sách
sẽ có mã xác định docID để truy xuất đến tài liệu kết quả.
12
2.2. CÁC TIẾN TRÌNH HOẠT ĐỘNG
2.2.1. Xây dựng tập chỉ mục tìm kiếm
a. Cách mô hình hoá nội dung văn bản với Lucene
Trước hết, nội dung văn bản thô ban đầu sẽ được bóc tách và
biểu diễn dưới dạng các đối tượng Document và Field, sau đó lưu vào
tập chỉ mục. Khi bắt đầu tìm kiếm, giá trị của các Field sẽ được so khớp
với câu truy vấn và trả về kết quả.
b. Tiến trình lập chỉ mục
Trong quá trình lập chỉ mục, các tài liệu nguồn ban đầu được rút
trích lấy ra nội dung văn bản thuần và Lucene tạo ra đối tượng
Document để quản lý, tổ chức các Field để lưu trữ những văn bản này.
Sau đó, văn bản trong các Field sẽ được phân tích để tạo ra các token.
Cuối cùng, các token này được lưu trữ vào tập chỉ mục ở dạng cấu trúc
phân đoạn.
Hình 2.2 Các thao tác chính trong tiến trình lập chỉ mục
13
2.2.2. Tìm kiếm trên tập chỉ mục
Khi người sử dụng truy vấn trên tập chỉ mục Lucene, một đối
tượng TopDocs sẽ được trả về. Đối tượng này chứa danh sách các đối
tượng ScoreDoc đã được sắp xếp mặc định theo điểm số (score).
Hình 2.3 Qui trình chuyển đổi nội dung tìm kiếm
2.2.3. Tiến trình phân tích của Lucene
Phân tích là tiến trình chuyển đổi giá trị của trường thông tin
sang một dạng biểu diễn cơ bản nhất, biểu diễn các mục từ. Những mục
từ này được sử dụng để xác định những tài liệu có liên quan với câu
truy vấn trong suốt quá trình tìm kiếm. Để có thể tách giá trị của các
trường thông tin thành các mục từ cần phải thực hiện một số thao tác
như: rút trích từ, loại bỏ dấu câu, chuyển đổi sang ký tự thường, gỡ bỏ
stopword, qui đổi về từ gốc, …
Hình 2.4 Tiến trình phân tích trong quá trình lập chỉ mục
14
2.3. CÀI ĐẶT THỬ NGHIỆM LUCENE CORE
2.3.1. Tải mã nguồn Lucene Core
Trước tiên, người sử dụng có thể truy cập vào website
http://lucene.apache.org/core/ để tải phiên bản mới nhất của Lucene.
Sau khi tải về, người sử dụng chỉ cần giải nén vào thư mục làm
việc mà không cần cài đặt. Sau khi giải nén, kiểm tra lại để đảm bảo
trong thư mục vừa giải nén có chứa đầy đủ 4 tập tin .jar.
2.3.2. Thử nghiệm
Dữ án thử nghiệm sẽ nhận văn bản đầu vào là các tập tin .txt với
nội dung được cho như sau:
Tên tập tin Nội dung
t1.txt Cong nghe thong tin la mot trong nhung nganh duoc
quan tam nhat hien nay.
t2.txt Ke toan va quan tri van phong la hai nganh duoc lua chon
nhieu trong gioi sinh vien ngay nay
t3.txt Trong giao trinh nay se huong dan cac ky thuat co ban ve
giai he phuong trinh Gauss su dung ngon ngu lap trinh C.
t4.txt
t5.txt
Tim hieu cac van de lien quan den tim kiem thong tin
Tim hieu cac ky thuat lap trinh game
2.3.3. Kết quả thử nghiệm
Giả sử các tập tin đầu vào cho quá trình lập chỉ mục được lưu trữ
trong thư mục E:\dataDir và kết quả sau khi lập chỉ mục được lưu trữ
trong thư mục E:\indexDir.
Sau khi thực thi các tập tin kết quả của tiến trình lập chỉ mục sẽ
được lưu trữ tại thư mục đã được thiết lập trước đó.
15
Hình 2.5 Các tập tin kết xuất sau quá trình lập chỉ mục
Với nội dung truy vấn là “thong tin” thì kết quả tìm kiếm trả về
gồm 2 tập tin t1.txt và t4.txt với điểm số là 0.5341575
Hình 2.6 Kết quả tìm kiếm trên tập chỉ mục
2.4. KẾT LUẬN
Nội dung chương đã trình bày một cách tổng quan về thư viện
mã nguồn mở Lucene. Bắt đầu từ việc tải mã nguồn và tìm hiểu những
khái cơ bản như Document Field, Query, … tiến đến nghiên cứu cách
thức hoạt động dựa trên việc khảo sát các lớp đối tượng của Lucene và
sau đó tiến hành triển khai ứng dụng minh họa.
16
CHƯƠNG 3
TRIỂN KHAI ỨNG DỤNG
3.1. GIỚI THIỆU
3.1.1. Đại học Trà Vinh
Trường Đại học Trà Vinh được thành lập theo Quyết định
141/QĐ/2006-TTg ngày 19/6/2006 của Thủ tướng chính phủ, đặt tại địa
chỉ Số 126, Quốc lộ 53, Phường 5, Thành phố Trà Vinh, Tỉnh Trà Vinh.
Điện thoại liên hệ 0743855246 và địa chỉ website của trường là
http://www.tvu.edu.vn.
Trường Đại học Trà Vinh (ĐHTV), tiền thân là Trường Cao đẳng
Cộng đồng Trà Vinh được thành lập vào năm 2001 trên cơ sở triển khai
Dự án Cao đẳng Cộng đồng Việt Nam - Canada do Cơ quan Phát triển
Quốc tế của Canada, Hiệp hội Cao đẳng Cộng đồng của Canada, một số
Viện/trường của Canada như Viện Khoa học và Kỹ thuật Ứng dụng
tỉnh Saskatchewan, Viện Hàng hải, Viện Kỹ thuật Nông nghiệp tỉnh
Québec và Trường Đại học – Cao đẳng Malaspina và Chính phủ Việt
Nam đồng tài trợ về tài chính và kỹ thuật.
3.1.2. Thư viện Đại học Trà Vinh
Tháng 6 năm 2006, đáp ứng nhu cầu phát triển của Tỉnh, Trường
Đại học Trà Vinh được thành lập, ngày 29/12/2006 thành lập Thư viện
trường Đại học từ việc tách ra khỏi phòng Đào Tạo và trực thuộc Ban
Giám hiệu. Thư Viện hiện có trên 18.316 đầu sách với hơn 58990
quyển sách đủ các loại chuyên ngành và trên 100 loại báo, tạp chí hiện
hành trong năm.
Xét trong năm 2012, nhu cầu mượn sách của độc giả rất cao, có
thể tính trung bình hàng tháng sẽ có gần 2.104 lượt mượn. Đối tượng
mượn chính là các em học sinh, sinh viên với số lượt mượn là 23.705.
17
Từ nhu cầu thực tế đó, thư viện không ngừng nâng cao chất lượng các
dịch vụ nhằm đáp ứng kịp thời nhu cầu của bạn đọc và quyết tâm xây
dựng Thư viện theo mô hình một Trung tâm Thông tin điện tử hiện đại.
Hiện tại, Thư viện đã xây dựng hệ thống website có phục vụ bạn đọc tra
cứu thông tin các tài liệu có lưu trữ tại thư viện.
Tuy nhiên, hệ thống vẫn còn nhiều hạn chế, chưa thỏa mãn tốt
nhu cầu tra cứu thông tin của bạn đọc. Hệ thống chủ yếu tìm kiếm
thông tin dựa trên cơ sở dữ liệu đơn giản, thông tin tìm kiếm cần cung
cấp chính xác, chưa hỗ trợ các phép toán so sánh, …
Ví dụ, khi bạn đọc cần tìm kiếm các tài liệu liên quan đến thuật
toán quicksort thì có thể những tài liệu về cấu trúc dữ liệu sẽ bị bỏ qua.
Nguyên nhân là do hệ thống tìm kiếm một cách chính xác dựa trên tiêu
đề của tài liệu, chưa hỗ trợ tìm kiếm theo nội dung bên trong của tài
liệu. Và đây cũng chính là vấn đề cần cải thiện cho hệ thống tra cứu
hiện tại của thư viện.
3.1.3. Mục đích của hệ thống sẽ xây dựng
Ứng dụng các kỹ thuật, công cụ, mã nguồn mở liên quan đến
tìm kiếm thông tin để cải thiện chất lượng tìm kiếm thông tin tại thư
viện Trường Đại học Trà Vinh
3.2. MÔ TẢ ỨNG DỤNG
3.2.1. Đối tượng sử dụng
Đối tượng sử dụng có thể chia thành hai nhóm chính: những đối
tượng có nhu cầu tra cứu tài liệu; cán bộ quản lý thư viện có nhiệm vụ
cập nhật thông tin tư liệu cũng như tra cứu các tài liệu hỗ trợ bạn đọc.
3.2.2. Yêu cầu của người sử dụng
Hỗ trợ tìm kiếm đa dạng: có thể tìm theo chủ đề, theo năm xuất
bản, theo tác giả, tìm dựa trên nội dung, …
18
Hệ thống cần phải phản hồi kết quả tìm kiếm nhanh chóng, chính
xác và tiện dụng.
3.3. ĐỀ XUẤT GIẢI PHÁP
3.3.1. Mô hình hệ thống
Hình 3.2 Mô hình hệ thống
3.3.2. Bộ sưu tập các thông tin về sách
Nguồn dữ liệu sách sử dụng được cập nhật từ kho sách của thư
viện. Mỗi quyển sách trong thư viện khi được nhập về sẽ được biên
mục nội dung và lưu trữ trên máy tính dưới dạng tập tin văn bản. Thông
tin chung của mỗi quyển sách như: tên sách, tác giả, năm xuất bản, nhà
xuất bản, sẽ được ghi lần lượt trên từng dòng riêng biệt trong tập tin lưu
giữ nội dung của quyển sách.
19
3.3.3. Tạo chỉ mục và cơ sở dữ liệu
Giai đoạn tạo chỉ mục sẽ sử dụng các lớp đối tượng được cung
cấp bởi thư viện mã nguồn mở Lucene phiên bản 4.0: IndexWriter,
Document, Analyzer, …
StandardAnalyzer analyzer = new
StandardAnalyzer(Version.LUCENE_40);
FSDirectory dir = FSDirectory.open(
new File(indexDir));
IndexWriterConfig config = new
IndexWriterConfig(Version.LUCENE_40,analyzer);
IndexWriter writer = new IndexWriter(dir, config)
Song song với xử lý tạo chỉ mục thì các thông tin chung của một
quyển sách lần lượt sẽ được lưu xuống cơ sở dữ liệu. Sử dụng phương
thức addData(File) để thêm thông tin sách vào cơ sở dữ liệu. Phương
thức này sẽ đọc các dòng đầu của tập tin văn bản để trích ra các thông
tin chung của một quyển sách và tiến hành thực thi câu truy vấn insert
để cập nhật xuống cơ sở dữ liệu.
3.4. CÀI ĐẶT VÀ THỬ NGHIỆM
3.4.1. Chuẩn bị dữ liệu
Dữ liệu thử nghiệm tập trung vào các tài liệu ngành Công nghệ
Thông tin được biên mục từ nguồn sách lưu trữ tại Thư viện Trường
Đại học Trà Vinh dưới dạng tập tin văn bản thuần.
20
Hình 3.3 Bộ sưu tập các thông tin về sách
Các nguồn tài liệu này được biên mục từ các quyển sách lưu trữ
tại thư viện và một số nguồn sách từ trên Internet nhằm mục đích minh
họa cho ứng dụng. Hiện tại bộ sưu tập các tài liệu minh họa gồm 151
tập tin văn bản thuần.
3.4.2. Tạo chỉ mục và cơ sở dữ liệu
Các tập tin được biên mục từ các quyển sách lưu trữ trong thư
viện được cung cấp làm dữ liệu đầu vào cho tiến trình lập chỉ mục.
Người sử dụng sẽ chọn vị trí của nguồn dữ liệu đầu vào và thực thi tạo
chỉ mục thông tin sách. Kết quả của tiến trình tạo chỉ mục là các tập tin
lưu trữ thông tin chỉ mục theo cấu trúc quy định của Lucene.
Hình 3.4 Các tập tin lưu trữ thông tin chỉ mục
21
3.4.3. Khai thác
Ứng dụng tìm kiếm phục vụ quá trình khai thác thông tin từ phía
người sử dụng.
Đây là gói ứng dụng web cho phép người sử dụng có thể tra cứu
thông tin từ xa và nhận kết quả trả về trước khi họ có nhu cầu mượn tài
liệu.
Hình 3.6 Ứng dụng tìm kiếm với giao diện web
Nhu cầu tra cứu
Tìm thông tin chung Bên trong tài liệu
Thông tin
chỉ mục CSDL
thông tin
THÔNG TIN KẾT QUẢ TRA CỨU
Hình 3.5 Quá trình khai thác thông tin
22
3.5. THỬ NGHIỆM VÀ ĐÁNH GIÁ
Nguồn dữ liệu thử nghiệm ban đầu được xây dựng với 151 tập tin
lưu trữ thông tin của các tài liệu cần tạo chỉ mục. Trong đó có 32 tài
liệu tiếng Việt và 119 tài liệu tiếng Anh xoay quanh các chủ đề thuộc
lĩnh vực Công nghệ thông tin như: Cấu trúc dữ liệu, ngôn ngữ lập trình
C và lập trình PHP, Cơ sở dữ liệu, …
Bảng 3.1 Kết quả tìm kiếm với các bộ dữ liệu mẫu
STT Nội dung tìm kiếm
Số tài liệu liên quan
Tìm trên nội dung Tìm trong CSDL
Từ đơn Cụm từ
1 Quicksort 3 3 0
2 Abstract data type 99 9 0
3 Data structure 93 6 10
4 Cấu trúc dữ liệu 32 14 4
5 Lược đồ quan hệ 9 2 0
6 Cơ sở dữ liệu 32 4 3
7 PHP & Mysql 67 21 4
8 Lập trình 32 23 3
Từ kết quả thử nghiệm có thể nhận thấy hiệu quả tìm kiếm tài liệu
về cơ bản đã được cải thiện, người sử dụng có thể tìm kiếm theo từng
thông tin chung của tài liệu hoặc tìm theo nội dung của chúng.
23
KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN
1. Kết quả đạt được
Với giải pháp nâng cao hiệu quả tìm kiếm bằng cách ứng dụng
kỹ thuật tìm kiếm thông tin vào hệ thống tra cứu tài liệu về cơ bản đã
đạt được thành công nhất định. Với thuận lợi lớn là hệ thống đã kế thừa
được những chức năng hỗ trợ từ thư viện mã nguồn mở Lucene.
Về mặt lý thuyết
Luận văn đã nghiên cứu và tóm lược những vấn đề liên quan đến
một hệ thống tìm kiếm thông tin cũng như bước đầu tìm hiểu thư viện
mã nguồn mở Lucene để từ đó xây dựng ứng dụng hoàn chỉnh.
Về mặt ứng dụng
Trên cơ sở sử dụng các lớp đối tượng được hỗ trợ trong thư viện
mã nguồn mở Lucene cùng với giải pháp đề xuất cải tiến chất lượng tìm
kiếm (kết hợp hình thức tìm kiếm trong cơ sở dữ liệu và tìm kiếm trên
thông tin chỉ mục) trong hệ thống tra cứu hiện tại của thư viện, bước
đầu luận văn đã đạt được một số kết quả cơ bản: có thể tìm kiếm trên
nội dung của tài liệu.
2. Hạn chế và hướng phát triển
Bên cạnh những kết quả đạt được, hệ thống này vẫn còn một vài
hạn chế cần phải khắc phục.
Thứ nhất: Cải thiện hiệu quả xử lý cơ sở dữ liệu thông tin (xử lý
các văn bản dữ liệu đầu vào một cách tốt nhất và có thể phân tích các
các tài liệu tiếng Việt hiệu quả hơn; có thể lập chỉ mục dựa trên các
cụm từ ghép hơn là lập chỉ mục dựa trên các mục từ đơn).
Thứ hai: Nâng cao hiệu quả tìm kiếm cũng như tính tiện dụng
cho người sử dụng (Trong tương lai, hệ thống cần được triển khai ứng
dụng tìm kiếm với giao diện web phù hợp với các thiết bị di động, giúp
24
người sử dụng có thể truy cập, tra cứu thông tin một cách nhanh chóng
và tiện lợi hơn).
Kết quả đạt được của luận văn về lý thuyết cũng như chương
trình ứng dụng sẽ là nền tảng cơ bản để bản thân có thể phát triển hệ
thống tìm kiếm theo các hướng mở rộng của Lucene như: khả năng tìm
kiếm theo ngữ nghĩa và tìm kiếm từ xa với máy chủ đa chỉ mục.
3. Khuyến nghị
Trường Đại học Trà vinh sẽ triển khai áp dụng đề tài tại thư viện
của trường với kho dữ liệu thực tế thuộc nhiều lĩnh vực khác nhau. Mặt
khác có thể triển khai rộng rãi đến các thư viện khác trong và ngoài
tỉnh. Từ đó góp phần phổ biến kỹ thuật tìm kiếm thông tin trên văn bản.