Khóa luận Nghiên cứu máy tìm kiếm qua hệ thống Greenstone

ĐẠI HỌC QUỐC GIA HÀ NỘI  
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ  
Vũ Đức Khoa  
NGHIÊN CỨU MÁY TÌM KIẾM QUA HTHỐNG  
GREENSTONE  
KHOÁ LUẬN TỐT NGHIỆP ĐẠI HỌC HỆ CHÍNH QUY  
Ngành: Công NghThông Tin  
NỘI - 2009  
1
Mở Đầu…………….…………….…………….…………….……………………….1  
Chương 1. Giới thiệu…………….…………….…………….…………………..3  
1.1. Bài toán tìm kiếm…………….…………….…………….…………….……….3  
1.2. Sơ lược sự phát triển của các hệ thống tìm kiếm…………….…………...4  
1.3. Tình hình nghiên cứu, ứng dụng máy tìm kiếm tại Việt Nam………….5  
1.3.1 Tình hình nghiên cứu…………….…………….…………….…………….…..5  
1.3.2 Tình hình ứng dụng …………….…………….…………….………………….8  
1.4. Động cơ và mục tiêu của luận văn…………….…………….……………...8  
Chương 2. Các vấn đề cơ bản trong một hệ thống máy tìm  
kiếm…………….…………….…………….…………….…………….………………10  
2.1. Tiến trình lập chỉ mục (Indexing) …………….…………….…………….10  
2.1.1 Lập chỉ mục…………….…………….…………….…………….…………...10  
2.1.2 Các loại chỉ mục…………….…………….…………….…………….………10  
2.1.2.1 Chỉ mục tệp đảo…………….…………….…………….…………….…11  
2.1.2.2 Chỉ mục tệp ký số…………….…………….…………….……………..12  
2.1.2.3 Đánh giá và kết luận…………….…………….…………….…………..15  
2.2. Tiến trình tìm kiếm thông tin (Searching) …………….…………….…...16  
2.3. Xếp hạng tài liệu liên quan (Ranking) …………….…………….……….17  
2.3.1 Các khái niệm cơ bản…………….…………….…………….…………….…17  
2.3.2 Xếp hạng tài liệu…………….…………….…………….…………….……...18  
Chương 3: Hệ thống Greenstone…………….…………….……………....21  
3.1. Giới thiệu chung về Greenstone…………….…………….………………..21  
3.1.1 Các bộ tài liệu…………….…………….…………….…………….………..21  
3.1.2 Tìm kiếm thông tin…………….…………….…………….…………….……22  
3.1.3 Định dạng dữ liệu…………….…………….…………….…………….……..23  
3.1.4 Các tài liệu đa phương tiện và đa ngôn ngữ…………….…………….………23  
3.1.5 Chức năng phân phối của phầm mềm…………….…………….…………….23  
2
3.2. Kiến trúc của hệ thống Greenstone…………….…………….…………...24  
3.3. Xây dựng bộ sưu tập…………….…………….…………….……………….26  
3.3.1 Khái niệm…………….…………….…………….…………….…………….26  
3.3.2 Thực nghiệm xây dựng bộ sưu tập…………….…………….………………29  
3.3.2.1 Chương trình mkcol.pl…………….…………….……………………..30  
3.3.2.2 Chương trình import.pl…………….…………….…………….………31  
3.3.2.3 Chương trình buildcol.pl…………….…………….…………….……..32  
3.3.2.4 - Cấu trúc của một bộ sưu tập…………….…………….……………….33  
3.3.3 Hiển thị collection lên website……………………………………………….35  
3.3.3.1 Thư mục etc…………….…………….…………….…………………...35  
3.3.3.2 Thư mục index…………….…………….…………….………………...38  
Chương 4: Thực nghiệm xây dựng máy tìm kiếm tiếng Việt……41  
4.1. Vấn đề tìm kiếm tiếng Việt và tiếp cận…………….…………….……….41  
4.2. Hệ thống Lucene…………….…………….…………….…………………….42  
4.3. Phần mềm VietSearch…………….…………….…………….……………..44  
4.3.1 Hệ thống lập chỉ mục…………….…………….…………….………………44  
4.3.2 Hệ thống tìm kiếm…………….…………….…………….…………………..46  
4.3.3 Mô hình tương tự …………….…………….…………….…………………..46  
4.3.3.1 Hệ số Cosine…………….…………….…………….…………….…….47  
4.3.3.2 Khoảng cách Euclidean…………….…………….…………….……….47  
4.3.3.3 Khoảng cách Manhattan…………….…………….…………….………47  
4.3.4 Bộ phân loại tự động…………….…………….…………….………………..48  
4.3.5 Tìm kiếm các tài liệu liên quan…………….…………….…………….……..49  
4.4. Kết quả và đánh giá…………….…………….…………….………………....49  
KẾT LUẬN…………….…………….…………….…………….………………..52  
3
BẢNG CÁC TỪ VIẾT TẮT  
Kí hiệu  
IFID  
SFID  
IF  
Từ Tiếng Anh  
Inverted file index  
Signature file index  
Inverted file  
Giải thích  
Chỉ mục tệp đảo  
Chỉ mục tệp ký số  
Tệp đảo  
IL  
CSDL  
SF  
Inverted list  
Danh sách đảo  
Cơ sở dữ liệu  
Tệp ký số  
Signature file  
4
MỞ ĐẦU  
Máy tìm kiếm (Search Engine) đã phát triển khá hoàn thiện ở các nước  
phát triển. Ở Việt Nam, nghiên cứu và ứng dụng máy tìm kiếm đang trong  
giai đoạn phát triển ban đầu. Luận văn đặt vấn đề nghiên cứu tìm hiểu các  
kỹ thuật cơ bản và công nghệ trong xây dựng máy tìm kiếm đồng thời áp  
dụng cho tiếng Việt. Mô hình hệ thống mà luận văn đặt trọng tâm nghiên  
cứu là hệ thống GreenStone, một hệ thống tìm kiếm hữu dụng phổ biến và  
là giải pháp cho nhiều thư viện số.  
Trong luận văn này, chúng tôi tìm hiểu sâu vào các công nghệ quan trọng  
của máy tìm kiếm: bộ lập chỉ mục (indexing), bộ tìm kiếm (searching), bộ  
xếp hạng (ranking). Đồng thời nghiên cứu kiến trúc các hệ thống và engine  
sẵn có phục vụ mục đích xây dựng một hệ tìm kiếm cho tiếng Việt. Bên  
cạnh đó, một nhiệm vụ quan trọng nữa của luận văn là việc làm thế nào để  
áp dụng cho tìm kiếm cho đặc trưng tiếng Việt (áp dụng kết quả của phân  
đoạn từ).  
Áp dụng những thành tựu của khoa học máy tính để hoàn thiện cỗ máy  
tìm kiếm là một công việc quan trọng . Bởi tìm kiếm những thứ tốt nhất  
phục vụ cho công việc và cuộc sống là một nhu cầu rất cần thiết của mỗi  
người.  
5
Bố cục của luận văn gồm:  
Chương 1: Giới thiệu  
Chương 2: Các vấn đề cơ bản trong một hệ thống máy tìm kiếm  
Chương 3: Hệ thống GreenStone  
Chương 4: Thực nghiệm xây dựng máy tìm kiếm tiếng Việt  
6
CHƯƠNG 1. Giới Thiệu  
1.1. Bài toán tìm kiếm  
Tìm kiếm thông tin có một lịch sử lâu đời gắn liền với các thư viện và  
trung tâm tìm kiếm thông tin. Trước đây, khi mà máy tính và internet chưa  
ra đời, những người có nhu cầu thông tin ngoài việc nhờ sự trợ giúp thông  
tin từ bạn bè, người thân còn có thể tìm đến thư viện hoặc các trung tâm  
thông tin để tìm kiếm thông tin cần thiết.  
Khi máy tính và Internet ra đời, đó là một bước đột phá về mặt công nghệ.  
Thông tin được lưu trữ và truyền đi một cách nhanh chóng. Các tài liệu  
được số hoá và đưa lên mạng. Internet trở thành một kho tài nguyên vô tận.  
Việc tìm kiếm trong một kho tài nguyên hay Internet để có được thông tin  
nhanh nhất và tốt nhất có thể, là một nhu cầu cần thiết.  
Trước thực tế đó, máy tìm kiếm ra đời với mô hình cài đặt và thuật toán  
giúp cho việc tìm kiếm với dữ liệu lớn trở nên nhanh chóng. Tài liệu được  
biểu diễn dưới dạng tập hợp các chỉ mục đại diện cho tài liệu đó. Yêu cu  
tìm kiếm thông tin được biểu diễn dưới dạng câu truy vấn có cấu trúc hoặc  
không cấu trúc. Kết quả của yêu cầu là tập hợp các tài liệu phù hợp nhất với  
câu truy vấn.  
7
Những năm 90 của thế kỷ trước, tìm kiếm thông tin gần như đồng nghĩa  
với tìm kiếm tài liệu/văn bản. Từ năm 2000, các viễn cảnh ứng dụng mới  
như ứng dụng trả lời câu hỏi (question answering), ứng dụng nhận dạng chủ  
đề (topic detection), hay ứng dụng lưu vết (tracking) trở thành các lĩnh vực  
hoạt động mạnh mẽ trong nghiên cứu tìm kiếm thông tin.  
Hiện nay, đối với máy tìm kiếm, những nghiên cứu tập trung cho Web có  
ngữ nghĩa (Semantic Web). Web có ngữ nghĩa là sự mở rộng của Web hiện  
tại mà trong đó thông tin được định nghĩa rõ ràng sao cho con người và  
máy tính có thể cùng làm việc với nhau một cách hiệu quả hơn. Tìm kiếm  
thông tin của người dùng không chỉ biểu diễn thông tin bằng từ khoá mà  
còn được biểu diễn bằng thực thể có tên được đề cập đến trong tài liệu.  
Tại mỗi nước khác nhau, máy tìm kiếm mang những đặc trưng riêng của  
ngôn ngữ nước đó. Đối với nước ta, xử lý ngôn ngữ tự nhiên đã có những  
bước phát triển nhanh chóng và đang đi vào hoàn thiện.  
Để phục vụ tốt cho nhu cầu hiện tại ở nước ta, chúng tôi giới hạn phạm vi  
đề tài là tìm kiếm thông tin trên văn bản.  
1.2. Sơ lược sự phát triển của các hệ thống tìm kiếm  
Công cụ đầu tiên được sử dụng cho việc tìm kiếm trên Internet được ghi  
nhận cho "Archie” được tạo bởi Alan Emtage – một sinh viên đại học  
McGill, Montreal. Archie sục sạo các lưu trữ trên web, và thiết lập chỉ mục  
cho từng tên file tìm được. Người sử dụng truy vấn bằng những từ khóa  
phù hợp với tiêu đề của tên file rồi nhận được một danh sách các địa chỉ có  
chứa file phù hợp nào đó, sau đó họ kết nối với máy tính và tra soát trong  
đó xem có dữ liệu họ đang cần không.  
Tiếp theo đó, năm 1991 McCahill của đại học Minnesota đã sáng tạo ra  
"Gopher". Giống như Archie, Gopher đánh chỉ mục các tên tệp tin và tiêu  
đề của nó. Hai chương trình "Veronica" và "Jughead" được tạo ra sau đó  
tìm kiếm các tệp tin trong hệ thống chỉ mục của Gopher. CArchie,  
Veronica đểu thiếu khả năng về ngữ nghĩa bởi vì chúng không chỉ mục vào  
toàn văn bản mà chỉ tới tiêu đề của tài liệu. Điều đó có nghĩa người tìm  
8
kiếm phải biết hoặc phải suy luận được tiêu đề của tài liệu mà người đó  
đang tìm.  
Khi Internet phát triển mạnh thì công cụ tìm kiếm cũng phải được nâng  
lên tương xứng. Máy dò hay robot đã giải quyết được vấn đề này. Máy dò  
là một loại robot tự động lập chỉ mục cho các trang web, nó chạy khắp trên  
mạng một cách hệ thống để thu thập các trang web và khi các trang web  
xuất hiện ngày một nhiều thì nó cũng tự động điền thêm vào hệ thống dò  
tìm. Máy dò tìm đầu tiên được tạo ra bởi Matthew Gray, một sinh viên  
trường MIT vào năm 1993 có tên là World Wide Web Wanderer. Do băng  
thông nhỏ và hiếm thời ấy, nên Gray phải ngắt bỏ nhện web (crawler), cài  
đặt nó bằng thuật toán theo chiều ngang để mở rộng nhiều trang trước khi  
tìm kiếm. Quy trình này hiệu quả hơn và hiện vẫn còn đang được sử dụng  
ngày nay.  
Máy dò sớm bị các công cụ mạnh hơn thay thế. Một trong những công cụ  
đầu tiên đó là webcrawler được một nhà nghiên cứu thuộc đại học  
Washington tên là Brain Pinkerton phát triển. Webcrawler đã đóng vai trò  
quan trọng trong cuộc cách mạng về tìm kiếm vì đây là chương trình đầu  
tiên chỉ mục toàn văn tài liệu trên trang web tìm được.  
Năm 1993, Excite được giới thiệu bởi 6 sinh viên trướng đại học Stanford.  
Hệ thống này sử dụng sự phân tích thống kê mối quan hệ từ để trợ giúp cho  
quá trình search. Chỉ sau 1 năm, Excite đã được tích hợp và đưa lên online  
vào tháng 12 năm 1995 và đến nay vẫn là một phần của công ty AskJeeves.  
Jerry Yang and David Filo đã tạo ra Yahoo vào năm 1994, khởi đầu như  
một danh sách các website yêu thích có đường dẫn URL và mô tả nội dung  
trang. Trong vòng 2 năm sau đó, công ty Yahoo ra đời.  
Lycos cũng được giới thiệu vào năm 1994. Đây là một search engine lớn,  
đã index được hơn 60 triệu documents vào năm 1996 lượng dữ liệu lớn  
nhất trong tất cả các search engine thời kỳ đó.  
Năm 1995 Alta Vista ra đời. Đây là search engine đầu tiên cho phép sử  
dụng các truy vấn là ngôn ngữ tự nhiên và có công nghtìm kiếm ưu việt.  
Người ta nói rằng tạo ra Altavista.com là một kỳ tích. Tập đoàn Digital  
9
Equipment Corp (DEC) khi đó vừa ra mắt bộ xử lý Alpha siêu tốc và tìm  
cách chứng minh sức mạnh của bộ xử lý này. Louis Moninter, một nhà  
nghiên cứu thuộc Trung tâm Western của DEC tại Palo Alto, bang  
California đã đề xuất xây dựng một công cụ tìm kiếm có thể tải toàn bộ  
mạng Internet (cơ sở dữ liệu dung lượng lớn) xuống máy tính tích hợp bộ  
xử lý Alpha, sau đó tạo ra một chương trình có thể ứng dụng tốc độ xử lý  
của Alpha (đó là máy tìm kiếm). Altavista ra đời từ đó. Mặc dù thất bại sau  
này nhưng Alta vista vẫn thực sự ấn tượng do một vài lý do. So với hiện  
nay, Alta vista là một Google thời bấy giờ.  
Inktomi được khởi đầu vào năm 1996 tại UC Berkeley. Vào tháng 6  
năm1999, Inktomi giới thiệu một directory search engine dựa trên công  
nghệ "concept induction". Theo như giới thiệu của công ty này thì "concept  
induction" có khả năng tiến hành phân tích thói quen của người sử dụng để  
đưa ra các trang gợi ý. Inktomi được bán cho Yahoo vào năm 2003.  
Năm 1997 Google ra mắt như một dự án nghiên cứu tại trường Đại học  
Stanford bởi hai nhà sáng lập Sergey Brin và Larry Page. Máy tìm kiếm  
Google mang đến một sự nổi bật với những kết quả tốt hơn cho rất nhiều sự  
tìm kiếm. Sự cách tân này, chính là PageRank. Giải thuật này, xắp xếp các  
trang web dựa trên số lượng và PageRank của các các trang web khác liên  
kết đến trang này. Giải thuật này dựa trên giải thuyết những trang tốt hoặc  
trang được quan tâm có nhiều sự liên kết tới hơn những trang khác.  
Năm 2000, Yahoo đã cung cấp dịch vụ tìm kiếm dựa trên máy tìm kiếm  
của Inktomi. Yahoo đã mua được Inktomi vào năm 2002 và Overture  
(chính là AlltheWeb và AltaVista) vào năm 2003. Yahoo đã chuyển sang  
máy tìm kiếm Google đến tận năm 2004, khi mà Yahoo triển khai máy tìm  
kiếm của mình dựa trên những công nghệ tập hợp được.  
Microsoft cũng triển khai MSN Search vào năm 1998 sử dụng kết quả tìm  
kiếm của Inktomi. Vào đầu năm 1999, trang web này bắt đầu hiển thị kết  
quả tìm kiếm từ Looksmart lẫn kết quả Inktomi ngoại trừ khoảng thời gian  
ngắn trong năm 1999 khi kết quả từ Alta Vista được sử dụng để thay thế.  
Hiện nay, Google đang là máy tìm kiếm phổ biến nhất. Ở mỗi quốc gia,  
đối với thị trường trong nước, đều có các công ty cạnh tranh máy tìm kiếm  
10  
với Google. Trong đó, một thành công vang dội phải kể đến Baidu, một  
máy tìm kiếm phổ biến nhất ở Trung Quốc.  
1.3. Tình hình nghiên cứu, ứng dụng máy tìm kiếm tại Việt Nam  
1.3.1 Tình hình nghiên cứu  
Nghiên cứu máy tìm kiếm bắt đầu ở Việt Nam từ năm 1997. Bắt đầu với  
sự xuất hiện Vinaseek(2000) của công ty Tinh Vân và Netnam(2001) của  
Viện công nghệ thông tin. Cả hai đều đã gây ra tiếng vang lớn thời bấy giờ.  
Đến nay, có rất nhiều các công trình nghiên cứu về máy tìm kiếm. Sau  
đây, chúng tôi đưa ra ba hướng nghiên cứu đáng chú ý hiện nay của các  
trường đại học trên cả nước.  
Tìm kiếm tài liệu, dữ liệu dựa trên Ontology của trường ĐH Công Nghệ  
ĐH Bách Khoa Hà Nội . Trong đó, một Ontology là một mô hình dữ liệu  
biểu diễn một lĩnh vực và được sử dụng để suy luận về các đối tượng trong  
lĩnh vực đó và mối quan hệ giữa chúng. Trong hệ hống tìm kiếm này, có  
hai module: module sinh cá thể từ tập dữ liệu huấn luyện, module suy diễn.  
Cả hai module này nhằm đưa về kết quả chứa các tri thức tốt hơn các  
phương pháp tìm kiếm thông thường.  
Nghiên cứu xây dựng máy tìm kiếm của trường ĐH Bách Khoa TPHCM,  
có hai hướng. Đầu tiên, máy tìm kiếm liên hợp (meta search engine), không  
giống như máy tìm kiếm thông thường, nó gửi câu truy vấn tới các máy tìm  
kiếm khác (tạm gọi là máy tìm kiếm nguồn) như Google, Yahoo và sau đó  
xử lý kết quả trả về từ các máy tìm kiếm này trước khi trả ra kết quả cho  
người dùng. Máy tìm kiếm liên hợp chủ yếu tập trung vào phát triển các  
thuật toán xử lý kết quả từ các máy tìm kiếm khác. Các thuật toán xử lí  
thông thường gồm có gom cụm (clustering) để loại bỏ trùng lắp (duplicate  
elimination), và phân tích ngữ nghĩa (semantic analysis) để có thể cho kết  
quả gần với yêu cầu của người dùng nhất. Bạn có thê tham khảo phần mềm  
tại trang web này www.ahhere.com .  
Thứ hai, máy tìm kiếm video . Đặc điểm thứ nhất, đó là hướng tới mức  
high-level features (còn được gọi là concept). Mức này cho kết quả tốt hơn  
mức low-level features (color, shape, texture) - một mức mà rất nhiều các  
11  
máy tìm kiếm video, ảnh sử dụng. Concept ở đây dùng để chỉ tìm kiếm ở  
mc ngữ nghĩa, ví dụ bạn gõ vào airplane thì sẽ tìm được các shot có liên  
quan đến airplane. Đặc điểm thứ hai, đó là sự hỗ trợ person search. Nghĩa là  
người dùng đưa vào tên, và hthng sẽ trả về các video shots có nhân vt  
đó xut hin. Đặc điểm ba, đó là htrexploratory search. Nghĩa là cho  
phép nhng người dùng chưa có ý định tìm kiếm gì cụ thể trong đầu, "thám  
him" xem trong video archives có cái gì.  
Hướng nghiên cứu cuối cùng, đó là chỉ mục ngữ nghĩa tiềm ẩn (Latent  
Semantic Indexing-LSI), được thiết kế để giải quyết vấn đề đồng nghĩa và  
các vấn đề đa nghĩa của từ ngữ. LSI dùng kỹ thuật phân tích giá trị riêng  
(SVD-singular value decomposition) để giảm bớt kích thước ma trận thuật  
ng-tài liệu, không gian N-chiều sẽ được giảm bớt xuống một không gian  
K chiều, K<<N, không gian mới này được gọi là không gian khái niệm. LSI  
được sử dụng ở rất nhiều các ứng dụng tìm kiếm để tăng hiệu năng của hệ  
thống.  
1.3.2 Tình hình ứng dụng  
Máy tìm kiếm ở Việt Nam bắt đầu vào năm 2000, khi mà Vinaseek ra đời,  
phục vụ miễn phí trên internet. Đây là công cụ tìm kiếm tiếng Việt mạnh  
nhất thời bấy giờ (sau đó có thêm panvietnam.com và hoatieu.com). Bởi sự  
hỗ trợ tất cả các bảng mã (TCVN3, VNI, TVCN-6909, VIQR…). Nhưng  
sau đó, theo xu hướng chung, hầu hết các web tiếng việt đều tuân thủ mã  
Unicode và Google đã hỗ trợ tốt bảng mã quốc tế này. Do đó Vinaseek  
không thể hiện được sức mạnh và phải nhường chỗ cho Google Việt Nam.  
Ở Việt Nam những năm gần đây, chúng ta cũng thấy xuất hiện rất nhiều  
cỗ máy tìm kiếm. Như cỗ máy chuyên tìm kiếm nhạc, video là  
hợp, âm nhạc, hình ảnh như www.monava.vn, www.7sac.com,  
www.socbay.com, www.xalo.vn. Sự đối đầu trực tiếp với Google như  
Monava, 7sac,.. là không nên. Sự thành công của baamboo, mp3.zing khi  
tiếp cận theo hướng “vertical search” (tìm kiếm trong các lĩnh vực chuyên  
biệt như tìm nhạc, tìm blog, tìm dịch vụ…), đã chứng tỏ một cách tiếp cận  
khôn ngoan khi đối diện với Google. Đó là các loại dịch vụ tìm kiếm theo  
12  
chiều dọc với khả năng đưa ra thị trường nhanh nhất và phù hợp nhất với  
người dùng Việt Nam.  
1.4. Động cơ và mục tiêu của luận văn  
Với mong muốn nghiên cứu tìm hiểu cỗ máy tìm kiếm và xây dựng máy  
tìm kiếm dựa trên những đặc trưng của tiếng Việt, chúng tôi nhận thấy luận  
văn đặt trọng tâm vào những mục tiêu chính sau đây:  
Tìm hiểu kiến trúc công nghệ cơ bản của máy tìm kiếm.  
Đó là tiến trình lập chỉ mục, tiến tình tìm kiếm, xếp hạng  
tài liệu.  
Tìm hiểu kiến trúc hệ thống Greenstone, để biết được  
công nghệ và kiến trúc của máy tìm kiếm là như thế nào.  
Ứng dụng công nghệ Lucene để xây dựng máy tìm kiếm  
tiếng Việt.  
Đưa tách từ (word segmentation) vào máy tìm kiếm tiếng  
Việt.  
13  
Chương 2. Các vấn đề cơ bản trong một hệ thống máy  
tìm kiếm  
2.1. Tiến trình lập chỉ mục (Indexing)  
2.1.1. Lập chỉ mục  
Lập chỉ mục là quá trình phân tích và xác định các từ, cụm từ (được gọi là  
các term) thích hợp cốt lõi có khả năng đại diện cho nội dung của tài liệu.  
Như vậy, vấn đề đặt ra là phải rút trích ra những thông tin chính, có khả  
năng đại diện cho nội dung của tài liệu. Thông tin này phải “vừa đủ”, nghĩa  
là không thiếu để trả ra kết quả đầy đủ so với nhu cầu tìm kiếm, nhưng  
cũng phải không dư để giảm chi phí lưu trữ và chi phí tìm kiếm và để loại  
bỏ kết quả dư thừa không phù hợp. Việc rút trích này chính là việc lập chỉ  
mục trên tài liệu.  
Một thủ tục lập chỉ mục tự động cơ bản cho các tài liệu tiếng Anh có thể  
được xử lý như sau:  
Step of tokenization: Tách văn bản ra thành các chuỗi nhờ vào khoảng  
trắng, mỗi chuỗi xem như là một từ.  
Step of removal of stop words: bỏ những từ thường xuyên xuất hiện trong  
hầu hết các tài liệu nhưng lại không quan trọng trong các tài liệu như tính  
từ, đại từ.  
Step of stemming: loại bỏ các hu tố (suffixes) để đưa về các từ gốc  
Lấy gốc từ (stemming):  
{destroy, destroyed, destruction}: destr  
mistakes! : {centennial,century,center}: cent  
14  
2.1.2. Các loại chỉ mục  
Trong phần này, chúng tôi giới thiệu hai loại chỉ mục cho tài liệu là chỉ  
mục tệp đảo IFID và chỉ mục tệp ký số SFID và sau đó tiến hành đánh giá  
hai cấu trúc này.  
2.1.2.1. Chỉ mục tệp đảo  
Sau khi thực hiện tiến trình lập chỉ mục, chúng ta sẽ có được tệp đảo (IF)  
chứa một bộ từ vựng (lexicon) -một danh sách tất cả thuật ngữ xuất hiện  
trong CSDL. Bộ từ vựng trợ giúp một ánh xạ từ các thuật ngữ tới các danh  
sách đảo (IL) tương ứng của chúng và ở dạng đơn giản nhất của nó là một  
danh sách các xâu và địa chỉ đĩa từ. Danh sách đảo (IL) lưu trữ một danh  
sách con trỏ tới tất cả xuất hiện của thuật ngữ đó trong văn bản chính. Đây  
là phương pháp chỉ mục tự nhiên nhất, gần tương ứng với chỉ mục của một  
cuốn sách và với cách dùng mục lục truyền thống.  
Hình 2-1 Văn bản mẫu; mỗi dòng là một tài liệu  
Ví dụ về một IFID, xét văn bản mẫu ở hình 2-1, với mỗi dòng được coi là  
một tài liệu để chỉ mục. IF sinh ra cho văn bản này được chỉ ra ở hình 2-2,  
trong đó các thuật ngữ được gộp dạng nhưng không được truy gốc và  
không một từ nào bị bỏ qua. Nói chung, các IL cho một CSDL có độ dài rất  
khác nhau.  
15  
Mt truy vấn bao gồm một thuật ngữ đơn được trả lời bằng cách quét IL  
của nó và truy tìm mọi tài liệu mà nó trích dẫn. Đối với truy vấn Boole hội  
có dạng t1 AND t2 AND ... AND tn , giao của các IL của thuật ngữ được  
tạo ra. Đối với truy vấn tuyển, trong đó toán tử là OR, phép hợp được thực  
hiện; đối với truy vấn phủ định dùng NOT, phép bù được thực hiện.  
Hình 2-2 IF mức từ đối với văn bản của hình 2-1  
Trong hình 2-2, chúng ta có ththấy cấu trúc của bảng như sau, đối với từ  
some, xuất hiện ở 2 tài liệu 4 và 5, ở tài liệu 4 xuất hiện 2 lần ở vị trí 1 và 5,  
ở tài liệu 5 xuất hiện một lần ở vị trí 1 (tài liệu được tính bắt đầu từ vị trí 0).  
2.1.2.2. Chỉ mục tệp ký số  
SFID là cấu trúc chỉ mục khác. Sự tổ hợp nhất định của các trường hợp có  
thể xử lý truy vấn nhanh hơn IF, nhưng ở các tình huống giống nhau có khả  
năng đòi hỏi một lượng không gian lớn hơn. Tệp ký số (SF) đặc biệt thông  
dụng trong quá khứ bởi vì chúng hoàn toàn bị nén theo một nghĩa nào đó và  
như vậy, tốn ít không gian lưu trữ hơn IF không nén.  
Ở đây, chúng tôi xét biểu diễn SF và so sánh với IF nén trong phạm vi của  
cả hai yêu cầu xử lý và giá lưu trữ.  
16  
Hình 2-3 – Bảng mã hash các term  
Mỗi một thuật ngữ trong tài liệu được sử dụng để sinh ra một số giá trị  
băm. Các ký số này được xây dựng bằng câu lệnh phía dưới với b =3 và w  
=16.  
for i = 1 to b  
sig[hash i (term)%W] = 1;  
Mỗi một từ được băm 3 lần dùng các hàm khác nhau và các bit chỉ thị như  
vậy là bit “1” ở ký số của từ đó. Những xung đột có thể dẫn đến ít hơn ba  
bit được cài đặt ở một số ký số thuật ngữ, nhưng không cần tính đến nó.  
Chẳng hạn, ở hình 2-3 thuật nghot có 2 bit cài đặt . Mô tả các xâu bit như  
ký số là sự sử dụng rất thích hợp của từ - như với chữ ký con người.  
Bây giờ, xét ký số tổng hợp khi các ký số của các từ ở mỗi một tài liệu  
được đặt chồng lên - tức là, hoặc đồng thời để làm ký số tài liệu.  
17  
Hình 2-4 Ký số tổng hợp  
Để thử nghiệm liệu một thuật ngữ truy vấn có xuất hiện ở một tài liệu đã  
cho, các giá trị của hàm băm cho thuật ngữ được tính toán. Nếu tất cả bit  
tương ứng trong bộ mô tả của tài liệu nào đó được cài đặt, thuật ngữ hầu  
như chắc chắn xuất hiện trong tài liệu đó. Hơn nữa, cho đến nay không thể  
nói thuật ngữ không xuất hiện trong tài liệu, dù tổ hợp các từ khác nào đó  
có thể ngẫu nhiên cài đặt tất cả bit kiểm tra đối với thuật ngữ truy vấn. Để  
giải quyết sự không chắc chắn này, tài liệu phải được bắt và quét để kiểm  
tra rằng thuật ngữ thực sự xuất hiện. Xác suất của so khớp sai như thế có  
thể bị bắt ngẫu nhiên nhỏ bằng cách cài đặt một số bit cho mỗi một thuật  
ngữ và thực hiện ký số hiệu quả lớn, nhưng kiểm tra so khớp sai thường  
được đòi hỏi với các SFID và có thể thêm thực sự vào giá xử lý truy vấn vì  
mỗi một tài liệu kiểm tra phải được giải mã hoàn toàn, phân tích cú pháp  
thành các từ và các từ hoàn toàn được truy gốc.  
Ví d:  
Tìm kiếm với từ cold thì kết quả trả về là dòng 1 và dòng 4.  
Tìm kiếm với từ old thì kết quả trả về sẽ là 2, 3, 5, 6 nhưng chỉ có 2 dòng  
chứa từ này. Vì thế nên mới có toán tử Maybe và not  
Với một câu truy vấn chứa từ khoá T, nếu như tất cả các bit 1 của T đều  
đã được cài đặt trong tài liệu nào đó, thì tài liệu đó có thể chứ từ khoá T nên  
ta dùng toán tử Maybe. Nếu như một bit 1 của T không được cài đặt trong  
tài liệu, thì tài liệu đó không chứ từ khoá T.  
18  
Hình 2-5 Giá trị của câu truy vấn của SFID  
Do tính chưa chắc chắn được, nên ta phải dùng 3 giá trị logic: N, M, Y  
Hình 2-6 Giá trị của các phép toán trong SFID  
Sau đây là các kết nối logic chứa trong câu truy vấn giữa các từ khoá s, h  
và p:  
Hình 2-7 Giá trị câu truy vấn đối với các tài liệu SFID  
2.1.2.3. Đánh giá và kết luận  
SF có thể tạo ra các truy cập không cần thiết tới văn bản chính bởi vì các  
so khớp sai, nhưng chúng có thể được giảm không đáng kể nếu ký số là đủ  
lớn (W là 1000 -> 10000) và một số bit thích hợp được cài đặt đối với từng  
thuật ngữ . Tương phản, nếu IL được truy cập theo độ dài tăng lên và từ  
vựng của CSDL được điều khiển trong bộ nhớ chính thì một IF yêu cầu  
truy cập đĩa tổng cộng không nhiều hơn so với một SF, ngoại trừ một ít  
trường hợp không hợp lý. Hơn nữa, các thao tác SF trở nên phức tạp nếu  
phép tuyển và phép phủ định được cho phép, SF không thể được sử dụng để  
19  
trợ giúp các truy vấn xếp hạng. SF có thể đặc biệt tai hại khi độ dài bản ghi  
có thể thay đổi nhiều.  
Những hạn chế trên đa tạo ra một luận cứ đầy đủ ủng hộ IF nén đối với  
các ứng dụng bao gồm CSDL văn bản.  
2.2 Tiến trình tìm kiếm thông tin (Searching)  
Tìm kiếm thông tin là tìm kiếm các tài liệu mà thoả mãn câu truy vấn  
(query). Câu truy vấn có thể gồm rất nhiều từ khoá và các từ khoá được kết  
hợp với nhau nhờ các toán tử logic. Các từ khoá chỉ chứa các kí tự alphabet  
hoặc các chữ số. Các từ phải được cách ra bằng khoảng trắng. Dấu chấm  
câu, chấm phẩy, gạch ngang..v.v.. được coi như khoảng trắng và do dó bị  
xem như không có.  
Ví dụ ta có câu truy vấn sau:  
Argo-forestry in the Pacific Islands: Systems for Sustainability 1993  
Tuỳ vào từng hệ thống, có thể đầu tiên query sẽ được lowercase, sau đó sẽ  
được loại bỏ các từ stopword và hệ thống sẽ tìm những tài liệu nào chứa  
một trong số những từ dưới đây.  
Câu truy vấn sau khi biến đổi:  
argo forestry pacific islands systems sustainability 1993  
Bạn cũng có thể dùng dấu ngoặc kép để tìm những tài liệu chứa ccụm từ  
trên. Vừa rồi các bạn nhìn thấy phép “or” còn đối với phép “and” các bạn  
dùng “AND” giữa các từ khoá. Và phép “not” bạn dùng “AND NOT”  
trước các từ khoá. Đối với mỗi máy tìm kiếm khác nhau, sự quy định các  
dấu thay thế cho các toán tử này cũng khác nhau.  
Ngoài chiến lược tìm chính xác theo từ khoá, các search engine còn cố  
gắng ‘hiểu‘ ý nghĩa thực sự của câu hỏi thông qua những câu chữ do người  
dùng cung cấp. Điều này được thể hiện qua chức năng sửa lỗi chính tả, tìm  
cnhững hình thức biến đổi khác nhau của một từ. Ví dụ : search engine sẽ tìm  
những từ như speaker, speaking, spoke khi người dùng nhập vào từ speak.  
20  
2.3. Xếp hạng tài liệu liên quan (Ranking)  
2.3.1. Các khái niệm cơ bản  
Tf(t in d) là tần số của từ đó, được định nghĩa là căn bậc 2 của số lần từ  
đó xuất hiện trong tài liệu d:  
½
tf(t in d) = frequency  
Idf(t) là tần số tài liệu, liên quan tới số tài liệu chứa từ này:  
NumDocs là số lượng tài liệu đã được đánh chỉ mục.  
DocFreq là số lượng các tài liệu chứa từ khoá này.  
Coord(q,d) được tính dựa trên có bao nhiêu phần trăm từ khoá của câu  
truy vấn q xuất hiện trong tài liệu d.  
QueryNorm(q) dùng để so sánh các câu truy vấn với nhau  
Ví dụ, đối với truy vấn dạng booleanquery  
q.getBoost() giá trị mặc định là 1.  
T.getBoost() là tích của các giá trị boost của các document chứa từ t. Giá  
trị mặc định là 1.  
21  
Norm(t,d):  
+ Document boost: được thiết lập khi tạo tài liệu d bằng câu lệnh  
doc.setBoost()  
+ Field boost: được thiết lập trước khi tạo trường này trong document  
d bằng câu lệnh field.setBoost()  
+ lengthNorm(field): được thiết lập khi tài liệu này được indexing, giá  
trị của nó tỷ lệ với số lượng token trong trường này của tài liệu d.  
Doc.getBoost mặc định là 1.  
lengthNorm = 1/ căn bậc hai của số lượng token trong trường đó.  
2.3.2. Xếp hạng tài liệu  
Khi một câu truy vấn được đưa vào hệ thống, các tài liệu chứa các từ theo  
yêu cầu sẽ được trả về.  
Câu truy vấn ‘greenstone pdf’, được hiểu là tìm những tài liệu nào chứa  
greenstone hoặc pdf. Như vậy, câu truy vấn này sẽ được tách thành hai câu  
truy vấn con, tìm tài liệu nào chứa từ greenstone và tài liệu nào chứ từ pdf.  
Mỗi một câu truy vấn con có điểm là tổng của hai trọng số queryWeight và  
fieldWeight:  
+ queryWeight = idf * queryNorm.  
+ QueryNorm là giá trị của câu truy vấn gốc, sẽ thay đổi giá trị khi khác  
câu truy vn hoặc trường truy vấn hoặc bộ analysis. Ngược lại, cùng câu  
truy vấn và trường truy vấn và bộ analysis, thì giá trị sẽ giống nhau. Được  
tính bằng 1/ căn bậc 2 của tổng các bình phương idf của các từ trong query  
gốc .  
+ fieldWeight = tf * idf * fieldNorm .  
+ FieldNorm = t.getBoost * norm  
22  
Sau khi cộng tổng các điểm của các câu truy vấn con, nó sẽ được nhân với  
giá trị coord() .  
Như vậy, đối với mỗi tài liệu trả về sẽ có một chỉ số. Chỉ số này được  
tính bằng cách so sánh tài liệu đó với các câu truy vấn con và cộng tổng lại  
và nhân với giá trị coord() của tài liệu đó so với câu truy vấn gốc. Tài liệu  
nào có chỉ số cao hơn sẽ được trả về trước.  
Minh hocho câu truy vấn trên, tài liệu có chỉ số lớn nhất:  
4.7319136 = (MATCH) sum of:  
3.2000232 = (MATCH) weight(name:greenston in 9643), product  
of:  
o
0.82235277 = queryWeight(name:greenston), product of:  
.
.
7.782604 = idf(docFreq=10, numDocs=9706)  
0.1056655 = queryNorm  
o
3.891302 = (MATCH) fieldWeight(name:greenston in  
9643), product of:  
.
.
.
1.0 = tf(termFreq(name:greenston)=1)  
7.782604 = idf(docFreq=10, numDocs=9706)  
0.5 = fieldNorm(field=name, doc=9643)  
1.5318903 = (MATCH) weight(name:pdf in 9643), product of:  
o
0.56897795 = queryWeight(name:pdf), product of:  
.
.
5.384709 = idf(docFreq=120, numDocs=9706)  
0.1056655 = queryNorm  
o
2.6923544 = (MATCH) fieldWeight(name:pdf in 9643),  
product of:  
.
.
.
1.0 = tf(termFreq(name:pdf)=1)  
5.384709 = idf(docFreq=120, numDocs=9706)  
0.5 = fieldNorm(field=name, doc=9643)  
Câu truy vấn ‘" cung cấp một phương thức " + "greenstone"‘: được chia  
làm hai câu truy vấn, tính toán tương tự như trên.  
23  
0.5364156 = (MATCH) sum of:  
0.14055021 = weight(keyword:"cung_cấp một phương_thức" in  
9665), product of:  
o
0.86087066  
=
queryWeight(keyword:"cung_cấp một  
phương_thức"), product of:  
13.931962 = idf(keyword: cung_cấp=245 một=1328  
phương_thức=49)  
.
.
0.061791055 = queryNorm  
o
0.16326518  
=
fieldWeight(keyword:"cung_cấp  
một  
phương_thức" in 9665), product of:  
.
1.0 = tf(phraseFreq=1.0)  
.
13.931962 = idf(keyword: cung_cấp=245 một=1328  
phương_thức=49)  
.
0.01171875 = fieldNorm(field=keyword, doc=9665)  
0.39586538 = (MATCH) weight(keyword:greenstone in 9665),  
product of:  
o
0.508824 = queryWeight(keyword:greenstone), product of:  
.
.
8.23459 = idf(docFreq=6, numDocs=9706)  
0.061791055 = queryNorm  
o
0.7780006 = (MATCH) fieldWeight(keyword:greenstone in  
9665), product of:  
.
.
.
8.062258 = tf(termFreq(keyword:greenstone)=65)  
8.23459 = idf(docFreq=6, numDocs=9706)  
0.01171875 = fieldNorm(field=keyword, doc=9665)  
24  
Chương 3. Hệ thống Greenstone  
3.1. Giới thiệu chung về Greenstone  
Greenstone là một hệ thống hoàn chỉnh dùng đê xây dựng và trình bày các  
bộ sưu tập gồm có hàng ngàn, hàng triệu tài liệu bằng chữ, hình ảnh, băng  
tiếng hay băng hình.  
3.1.1. Các bộ tài liệu  
Một thư viện số thông thường được xây dựng bằng phần mềm Greenstone  
sẽ chứa được nhiều bộ sưu tập, được sắp xếp riêng lẻ thông qua sự giống  
nhau nổi bật, được duy trì dễ dàng. Ngoài ra bộ tài liệu còn có thể được bổ  
sung và tự động tái tạo lại.  
Có nhiều cách để tìm kiếm thông tin trong bộ sưu tập Greenstone. Ví dụ,  
bạn có thể tìm bằng từ khoá (là từ xuất hiện trong một đoạn văn bản hay  
một phần trong tài liệu cần tìm). Bạn có thể trình duyệt tài liệu theo tiêu đề  
bằng cách nhấp chuột vào quyển sách. Bạn cũng có thể trình duyệt tài liệu  
theo chủ đề. Các chủ đề được sắp xếp theo dạng kệ sách, bạn chỉ cần nhấp  
chuột vào kệ sách để tìm các quyển sách ở trong đó. Nhiều khi các tài liệu  
còn có cả bảng mục lục: Bạn có thể nhấp chuột vào một chương hoặc một  
thư mục nhỏ để mở ra xem, để mở rộng cả bảng mục lục, hay mở toàn bộ  
tài liệu trong cửa sổ trình duyệt của bạn (Giúp ích cho việc in ấn). Trang  
web Thư viện số New Zealand (nzdl.org) cung cấp rất nhiều bộ sưu tập  
mẫu.  
Trên mỗi trang đầu của bộ sưu tập đều trình bày mục đích sử dụng và hình  
trang bìa của từng quyển sách, và những chỉ dẫn cách sắp xếp bộ tài liệu.  
Hầu hết các bộ sưu tập đều có thể được truy cập bằng cả hai cách: tìm kiếm  
và trình duyệt. Khi tìm kiếm, phần mềm Greenstone sẽ tìm toàn bộ nội  
dung của tất cả các văn bản trong bộ sưu tập. Trong hầu hết các bộ sưu tập,  
người sử dụng có thể chọn sử dụng các chỉ mục được xây dựng từ những  
phần khác nhau của tài liệu. Một số bộ sưu tập có chỉ mục tất cả tài liệu, chỉ  
mục từng đoạn, và chỉ mục các tựa sách. Có thể tìm các chỉ mục này theo  
từ hay cụm từ khóa. Bằng cách này, bạn có thể tìm được tất cả các văn bản  
có chứa các từ khóa nào đó (các từ khoá này có thể được phân bố rải rác  
25  
trong văn bản), hoặc tất cả những đoạn văn có chứa các từ này (các từ này  
phải cùng xuất hiện trên cùng một đoạn văn), hoặc tất cả các sưu tập có các  
tiêu đề chứa các từ này (các từ này phải cùng xuất hiện trên tựa của văn  
bản). Còn có cả các chỉ mục khác, ví dụ chỉ mục theo từng phần hay theo  
những đề mục nhỏ. Trong quá trình trình duyệt, người sử dụng có thể ngiên  
cứu danh mục các tác giả, danh mục các tiêu đề, danh mục các ngày, cấu  
trúc phân loại theo từng lớp, v.v… Các bộ sưu tập khác nhau có thể có các  
cách trình duyệt khác nhau.  
3.1.2. Tìm kiếm thông tin  
Phần mềm Greenstone xây dựng những chỉ mục toàn phần theo nội dung  
văn bản - nghĩa là những chỉ mục giúp bạn tìm kiếm theo bất cứ từ nào  
trong toàn bộ nội dung tài liệu. Chỉ mục có thể được dùng để tìm kiếm theo  
các từ khoá, hay các cụm từ, và kết quả sẽ được sắp xếp theo thứ tự dựa  
trên sự phù hợp đối với câu truy vấn.  
Trong hầu hết các bộ tài liệu, các dữ liệu mô tả như Tác giả, Tiêu đề, ngày  
tháng, từ khoá, v.v.. đều đi kèm với từng tài liệu. Dữ liệu này được gọi là  
dữ liệu khóa (metadata). Nhiều bộ sưu tập chứa cả chỉ mục nội dung của  
một số loại dữ liệu khoá. Ví dụ, một số bộ sưu tập, người dùng có thể tìm  
kiếm dựa trên chỉ mục về Tên tài liệu.  
Người dùng có thể trình duyệt một cách trực tiếp dựa trên danh mục và  
cấu trúc phân lớp được thiết lập từ dữ liệu khoá có liên quan đến các tài liệu  
trong bộ sưu tập. Dữ liệu khoá là dữ liệu thô cuả việc tìm kiếm. Nó phải  
được trực tiếp cung cấp hoặc được tự động rút ra từ chính các tài liệu. Các  
bộ sưu tập khác nhau có thể có những tính năng tìm kiếm và trình duyệt  
khác nhau. Chỉ mục tìm kiếm và trình duyệt được thiết lập trong quá trình  
xây dựng bộ sưu tập dựa trên các thông tin trong tập tin cấu hình.  
Greenstone tự động tạo ra các chỉ mục từ các tài liệu và tập tin hỗ trở:  
Không một quá trình nào phải làm bằng tay. Nếu các tài liệu mới có cùng  
một định dạng, chúng sẽ tự động được xếp vào chung một bộ sưu tập. Trên  
thực tế, trên nhiều bộ sưu tập, việc này được tiến hành bởi các quá trình  
26  
được kích hoạt thường xuyên để theo dõi tài liệu mới, và cập nhập lại các  
chỉ mục - Tất cả đều được thực hiện một cách tự động.  
3.1.3. Định dạng dữ liệu  
Tài liệu nguồn có nhiều dạng khác nhau, và được chuyển sang định dạng  
chuẩn XML để sử dụng plugins. Các plugins được phân phát với  
Greenstone để hỗ trợ các văn bản thô, HTML, WORD, PDF, Usenet và E-  
mail. Còn plugins khác có thể được viết cho những kiểu dữ liệu khác (để  
sử dụng chúng, bạn cần phải đọc phần Hướng dẫn phát triển Phần mềm  
Greenstone). Để xây dựng cấu trúc trình duyệt từ dữ liệu khóa, ta sẽ tương  
tự sử dụng một cách phân loại theo lớp. Các phân loại này sẽ tạo ra các chỉ  
mục trình duyệt khác nhau: liệt kê dạng thanh cuộn, dạng mẫu tự Alphabet,  
dạng ngày tháng, hay một dạng cấu trúc lớp tùy ý. Một lần nữa, các lập  
trình viên trên Greenstone có thể tạo ra cấu trúc trình duyệt mới.  
3.1.4. Các tài liệu đa phương tiện và đa ngôn ngữ  
Bộ sưu tập có thể chứa chữ, hình ảnh tĩnh, hình ảnh động, âm thanh.  
Những tài liệu không thuộc dạng chữ được liên kết với những tài liệu dạng  
chữ hay những tài liệu mô tả dạng chữ (ví dụ như chú thích hình ảnh) để  
htrợ việc tìm kiếm và trình duyệt nội dung  
Unicode, phông chữ chuẩn trên Thế giới dùng để trình bày nội dung tài  
liệu, cũng được sử dụng trong Greenstone. Điều này cho phép bất cứ ngôn  
ngữ nào cũng đều được xử lý và trình bày theo một kiểu thống nhất. Các bộ  
sưu tập được đã được xây dựng có chứa các kiểu chữ Ả rập, Trung Quốc,  
Anh, Pháp, Mäori và Tây Ban Nha. Chương trình tự động nhận ra ngôn ngữ  
mẫu trong bộ sưu tập và giao diện được trình bày theo những ngôn ngữ sẵn  
có trên.  
3.1.5. Chức năng phân phối của phầm mềm  
Các bộ sưu tập được truy cập thông qua Internet, dưới dạng các ấn phẩm,  
hoặc bằng đĩa CD-ROM tự cài đặt. Chương trình nén được sử dụng để nén  
nội dung tài liệu và chỉ mục. Một giao thức Corba sẽ hổ trợ cho các bộ sưu  
tập được phân phối và giao diện truy vấn.  
27  
Thư viện số New Zealand(nzdl.org) cung cấp các bộ sưu tập mẫu bao  
gồm: Tập tài liệu về lịch sử, thông tin về con người và sự phát triển, báo  
cáo kỹ thuật và tiểu sử, các tác phẩm văn học và tạp chí.  
Là phần mềm mã nguồn mở, Greenstone dễ mở rộng và hưởng lợi từ các  
modules truy cập nội dung, quản lý cơ sở dữ liệu, và lấy nội dung từ các  
loại định dạng khác nhau của sự cho phép của GNU. Chỉ với sự hợp tác  
quốc tế thì phần mềm này mới có thể trở thành một phần mềm hoàn thiện,  
dáp ứng được những yêu cầu ngày càng đa dạng và phong phú của người sử  
dụng.  
3.2. Kiến trúc của hệ thống Greenstone  
Hệ thống Greenstone bao gồm nhiều thành phần quan trọng sau: Library  
Servlet, Receptionist, các Action, MessageRouter , ServiceCluster và các  
collection.  
Library Servlet:  
+ Thực hiện viện nhận các query của người dùng, đóng gói dưới dạng  
XML và gửi xuống tầng Receptionist.  
+ Hiển thị kết quả trả về.  
Receptionist:  
+ Đọc file interfaceConfig.xml và tải những lớp Action khác nhau cùng  
với các thẻ ngôn ngữ  
+ Chỉnh sửa yêu cầu trước khi giử tới Action thích hợp  
+ Thêm một số dữ liệu vào trang trả về  
+ Chuyển thông điệp trả về thành HTML nhờ XSLT  
28  
Hình 3-1 Kiến trúc hệ thống Greenstone  
Action: Receptionist sẽ giử yêu cầu người dùng vào đúng Action thích  
hợp  
+ PageAction điều khiển những trang tĩnh được sinh tự động  
(homepage, aboutpage, prefpage).  
+ QueryAction điều khiển trang truy vấn.  
+ DocumentAction hiển thị tài liệu  
+ BrowseAction trình duyệt bộ sưu tập chỉ định.  
29  
+ ProcessAction xử lý các yêu cầu nhập tài liệu (import), xây dựng bộ  
sưu tập (build), tạo mới (active), thêm tài liêu (add).  
MessageRouter:  
+ Là chức năng ở trung tâm, tất cả các thông điệp phải đi qua nó.  
+ Nếu yêu cầu là tạo mới, thêm tài liệu, nhập tài liệu, xây dựng bộ sưu  
tập thì sẽ được chuyển đến ServiceCluster.  
+ Nếu như yêu cầu liên quan đến việc truy vấn một bộ sưu tập  
(colletion) nào đó có sẵn nào đó. MessageRouter tải đối tượng  
collection cho collection cần chọn. Đối tượng collection đọc file  
buildconfig.xml và CollectionConfig.xml để xác định các siêu dữ liệu  
do người dùng định nghĩa khi xây dựng Collection và tải các  
ServiceRack .  
ServiceCluster:  
+ ImportCollection Service: nhập tài liệu vào bộ sưu tập  
+ BuildCollection Service: xử lý tài liệu của bộ sưu tập  
+ ActivateCollection Service: tạo mới một bộ sưu tập hoặc kích hoạt bộ  
sưu tập cũ nhưng các chức năng của nó sẽ bị xoá.  
+ AddDocument Service: thêm tài liệu vào bộ sưu tập.  
Collection:  
+ Các Service truy vấn (query).  
+ Các Service về tài liệu (document).  
3.3. Xây dựng bộ sưu tập  
3.3.1 Khái niệm  
Greenstone là một phần mềm thư viện số, cho phép tạo ra và quản lý các  
bộ sưu tập (collection). Bộ sưu tập bao gồm nhiều dạng tài liệu như HTML,  
XHTML và XML, TXT, Word, RTF, PDF, PostScript, dạng multi-media  
như âm thanh (ví dụ .mp3), hình ảnh, phim.  
30  

Tải về để xem bản đầy đủ

pdf 56 trang yennguyen 01/06/2025 80
Bạn đang xem 30 trang mẫu của tài liệu "Khóa luận Nghiên cứu máy tìm kiếm qua hệ thống Greenstone", để tải tài liệu gốc về máy hãy click vào nút Download ở trên.

File đính kèm:

  • pdfkhoa_luan_nghien_cuu_may_tim_kiem_qua_he_thong_greenstone.pdf