Hướng phát triể n

Một phần của tài liệu Tìm hiểu nguồn mở greenstone và ứng dụng (Trang 166 - 184)

Greenstone là phần mềm mã nguồn mở, khả năng phát triển trong tương lai là rất lớn.

Trong hệ thống ITDL, mô-đun ITLibWeb cần bổ sung các chức năng khác : các dịch vụ trực tuyến, diễn đàn, đăng ký thành viên... Mô-đun ITLib có thể mở

rộng xử lý các dạng tài liệu sử dụng trong Khoa như phần mềm, mã nguồn, hay tài liệu âm thanh, hình ảnh, quản lý thông tin trong cơ sở dữ liệu.

PHỤ LỤC A. GIỚI THIỆU VỀ SEARCH ENGINE Tổng quan về Search Engine (bộ máy tìm kiếm)

Chúng ta thường nghe nói đến các trang web tìm kiếm như Google, Yahoo!, MSN… và đồng nhất chúng cùng là những Search Engine (SE). Thực ra, có hai

dạng bộ máy tìm kiếm: Web DirectorySearch Engine. Dạng thứ nhất, Web Directory, tiêu biểu là Yahoo! (www.yahoo.com) sử dụng các trình soạn thảo để xếp đặt các website vào những mục (category) xác định. Do vậy nó còn được gọi là "human-based" search engine. Dạng thứ hai, Search Engine, sử dụng các phần mềm robot, gọi là “con bọ” (spider hoặc là crawler) thu thập thông tin từ các trang web trên mạng. Dạng này còn gọi "spider- based" hoặc "crawler-based" search engine.

™ Search Engine (SE):

Một SE có ba thành phần cơ bản:

o Các spider, dùng tìm kiếm thu nạp các trang web, sau đó xây dựng danh sách các từ, ngữ tìm thấy trong các trang đó thành CSDL.

o Bộ phận tạo chỉ mục (index) cho CSDL trên những từ ngữđó, gọi là các indexer.

o Bộ phận cho phép người dùng cuối tìm kiếm bằng từ khoá (keyword) trong CSDL. SE so khớp từ khoá người dùng cung cấp để tìm trang web thoả

mãn những thông tin người dùng yêu cầu. Bộ phận này gọi là query

Khi người dùng yêu cầu tìm kiếm, SE tìm từ khoá người dùng cung cấp theo chỉ mục trong CSDL. Thường hệ thống chỉ mục này được cập nhật 4-6 tuần một lần.

Để tìm ra những trang web gần đúng nhất với câu truy vấn, các SE cũng gắn trọng số cho từng từ, ngữ trong trang web. Có nhiều cách để gán trọng số. Ví dụ

như từđó càng xuất hiện nhiều lần trong trang web, trọng số của nó càng cao. Cũng có thể gán trọng số lớn cho những từ xuất hiện ở đầu trang, hoặc xuất hiện ở những vị trí đặc biệt như tiêu đề, trong phần thẻ meta 4,… Mỗi SE thường có một công thức tính toán trọng số riêng. Những công thức sử dụng cho mỗi SE hầu như thay

đổi từng ngày để bảo đảm tính an toàn, bảo mật.

™ Web Directory

Khác với SE, Web Directory sử dụng các trình soạn thảo để tạo danh sách kết quả tìm kiếm. Khi bạn muốn đưa trang web của mình vào một Directory (thư

mục), nhà quản lý Directory sẽ dùng các trình soạn thảo và xem xét để trang web của bạn chỗ nào trong thư mục.

Mỗi trang web hiển thị trong một Directory theo nhiều cách, nhưng nói chung vẫn là chia theo từng mục. Cách tổ chức ta thường thấy là theo dạng cây. Từ đó, các công cụ tìm kiếm như Yahoo! sẽ tìm trong Directory những trang web liên quan bằng cách duyệt cây hoặc tìm theo từ khoá.

Hầu hết Web Directory thường nhỏ, do vậy kết quả tìm kiếm thường được bổ

sung thêm bằng những kết quả tìm kiếm sử dụng SE. Khi không tìm thấy thông tin mong muốn trong Directory, kết quả có thể được hiển thị nhờ sử dụng kết quả tìm kiếm gần đúng của SE, và ghi trong phần tiêu đề trang kết quả là “Những trang web tương tự” hoặc gần như vậy.

4 Trong HTML có khái niệm thẻ Meta, đánh dấu những từ, cụm từ có ý nghĩa quan trọng, là keyword khi tìm kiếm

Biết được cách thức hoạt động của SE, ta sẽ hiểu được cơ chế xử lý bên trong của Greenstone, qua thành phần nòng cốt của nó – Managing Gigabyte (MG), sẽđược giới thiệu chi tiết trong phần Phụ lục C.

PHỤ LỤC B. CÁC THƯ VIỆN SỐ Ở VIỆT NAM

Chỉ tính riêng ở Việt Nam năm 1995, cũng đã có hơn 20.000 thư viện các loại, bao gồm thư viện địa phương (do chính quyền địa phương quản lý), thư viện giáo dục (của các trường, trung tâm giáo dục), thư viện khoa học công nghệ (của các trung tâm khoa học công nghệ) v.v…

Hiện nay trên thế giới nói chung và ở Việt Nam nói riêng, nhiều thư viện

điện tử đang được xây dựng và mở rộng. Tính đến thời điểm này, trên thị trường trong nước có 3 nhà cung cấp các sản phẩm hệ thống thư viện chính: công ty CMC, công ty Lạc Việt và công ty Tinh Vân.

Công ty trách nhiệm hữu hạn CMC (CMC Co., Ltd)

CMC là công ty chiếm lĩnh thị phần với hệ thống iLib. Thành lập năm 1995, CMC phát triển phần mềm ở nhiều lĩnh vực khác nhau và phát triển hệ thống thư

viện từ năm 1998. Phiên bản release đầu tiên của iLib vào năm 1999 và hiện đang

được sử dụng trong Thư viện Quốc gia, Thư viện Đại học Bách Khoa Hà Nội, Đại học Cần Thơ, Đại học Vinh và một số thư viện thuộc các tỉnh khác. Hệ thống iLib tích họp tất cả các chuẩn mô-đun ILMS (catalogue, OPAC (Online Public Access Catalog – tra cứu trực tuyến), circulation (lưu thông), acquisitions (thu thập) …). Hiện nay CMC cũng đang phát triển mô-đun ILL. iLib tuân theo các chuẩn quốc tế

về thư viện như UNIMARC, MARC21, AACR2, ISBD, Z39.50 và ISO 10161. Tuy

nhiên CMC cũng chỉ phát triển trong việc quản lý thư viện truyền thống. Trước sự

phát triển mạnh mẽ của các loại tài nguyên điện tử, và thư viện điện tử, CMC đang có những bước đi thăm dò vào lĩnh vực này với việc đưa vào hệ thống website đơn giản, cung cấp dạng forum, tin tức và những liên kết đơn giản.

Công ty Tin học Lạc Việt (LAC VIET Computing Corp)

Lạc Việt là một công ty công ty phần mềm lớn. Năm 2000, Lạc Việt tham gia vào dự án phát triển Trung tâm Tài nguyên Thông tin Đà Nẵng (Da Nang Information Resource Centre) và xây dựng lại phần mềm thư viện VeBrary. Trước

đó, VeBrary chỉ là một phần mềm nhỏ, không mang tính chuyên nghiệp cao của nghiệp vụ quản lý thư viện. Sau dự án này, VeBrary đã có những tính năng nổi bật,

có thể so sánh ngang tầm với sản phẩm iLib CMC, mặc dù đây không phải là sản phẩm đặc trưng của Lạc Việt. VeBrary gồm những mô-đun như cataloguing, Web OPAC, Circulation (bao gồm cả kiểm kê), Acquisitions, ILL, VeBook (hỗ trợ sách

điện tử) và Hệ thống Quản lý System Administration. Cũng như iLib, VeBrary hỗ

trợ tương thích Unicode và các chuẩn như UNIMARC, MARC 21, AACR2, ISBD,

Z39.50 và ISO 10161. Giao diện sử dụng bằng Tiếng Việt, Tiếng Anh và một số

ngôn ngữ nước ngoài khác.

Công ty Tin học Tinh Vân (TINH VAN Informatic Technology Co.)

Trong 3 công ty đề cập ở phần này, Tinh Vân là nhà cung cấp nhỏ nhất, và chủ yếu tập trung vào sản phẩm thư viện duy nhất – Libol. Phần mềm này có nhiều hạn chế hơn so với iLib của CMC và VeBrary của Lạc Việt. Hạn chế lớn nhất là không hỗ trợ dịch vụ mạng / LAN. Tính đến thời điểm tìm hiểu, nó đã có trên 13 trang ở Việt Nam, bao gồm Đại học Quốc Gia Hà Nội, Đại học Luật Hà Nội, và Đại học Kinh tế Quốc Dân Hà Nội. Phiên bản Release hiện tại là Libol 5.0, gồm những

mô-đun như Cataloguing, OPAC, Circulation, Reserve, ILL, Acquisitions,

Administration, và hỗ trợ một phần cho tài liệu điện tử. Cũng như hai sản phẩm kể

trên, Libol hỗ trợ Unicode, và các chuẩn thông thường như UNIMARC, MARC 21, AACR2, ISBD, Z39.50 và ISO 10161.

Tóm lại, các sản phẩm iLib (CMC), VeBarary (Lạc Việt) và Libol (Tinh Vân) có nhiều nét tương đồng. Riêng CMC và Lạc Việt, cung cấp hỗ trợ

PHỤ LỤC C - CÁC THÀNH PHN H TR GREENSTONE 1. Managing Gigabyte (MG)

9.2.1. Gii thiu

Managing Gigabytes (MG) là hệ thống tổ chức dữ liệu dạng tập tin văn bản (text), hình ảnh (image) và hình ảnh có nguồn gốc từ văn bản (textual image) thành một cơ sở dữ liệu, cho phép tìm kiếm, truy vấn thông tin chi tiết đến từng từ một bên trong các tập tin đó. Nó là thành phần cốt lõi, tham gia vào phần lớn các hoạt

động xử lý tài liệu của Greenstone.

MG là phần mềm mã nguồn mở bằng ngôn ngữ lập trình C++, thực thi độc lập môi trường, chạy được trên nhiều hệđiều hành, (Windows, Unix, …). Ưu điểm này giúp cho những phần mềm này dễ được áp dụng rộng rãi, phù hợp nhiều đối tượng sử dụng và những nước nghèo, kém phát triển có thể tiếp cận, ứng dụng. Phần mềm và tài liệu hướng dẫn sử dụng có sẵn ở trang chủ của Greenstone : www.greenstone.org.

Sau đây, chúng ta sẽ tìm hiểu về cấu trúc và hoạt động của MG.

9.2.2. Cu trúc

MG bao gồm nhiều tiến trình kết hợp lại với nhau. Có thể chia hệ thống MG

thành 2 phần: •Phần xử lý hình ảnh: mgbilevel mgfelics mgtic mgticbuild mgticdump mgticprune mgticstat •Phần xử lý văn bản a. Nén/giải nén mg_passes -T1 mg_passes -T2

mg_compression_dict mg_fast_comp_dict b. Tạo chỉ mục index mg_passes -N1 mg_passes -N2 mg_perf_hash_build mg_invf_dict mg_invf_rebuild c. Tính trọng số mg_weights_build d. Truy vấn mgquery e. Công cụ hỗ trợ khác mg_invf_dump mg_text_estimate mgdictlist mgstat 9.2.3. Chc năng Nén văn bản

MG sử dụng phương pháp nén tĩnh Huffman, giúp hệ thống có thể truy xuất ngẫu nhiên đến các vị trí bất kỳ trong tập tin nén và tiến hành giải nén.

Sơđồ hoạt động của tiến trình nén văn bản: Hình – Sơđồ quá trình nén văn bản Ghi chú : (phần in nghiêng nếu bắt đầu với MG_ là các tiến trình xử lý, nếu có dấu chấm ngăn cách là những tập tin kết xuất) Văn bản nguồn Thống kê (mg passes –T1) Tạo từđiển nén (mg compression dict) Tập tin thống kê Từđiển nén (.text.dict) Kết hợp .text.dict và .text.dict.aux (mg_fast_comp_dict) Nén văn bản (mg passes –T2) Từđiển từ mới (.text.dict.aux) Văn bản đã nén (.text) Từđiển kết hợp(.text.dict.fast) : các tiến trình xử lý : kết quả xử lý hoặc đầu vào một xử lý

Văn bản nguồn trước tiên được thống kê số lượng xuất hiện của mỗi từ. Sau

đó, MG dùng thuật toán nén Huffman để nén những thông tin này, tạo nên các từ điển nén, chuẩn bị cho quá trình nén văn bản. Trong quá trình này, từđiển phụ có thểđược tạo ra, chứa những từ mới, những từ có tần suất xuất hiện thấp. Dựa trên 2 từ điển này MG, tạo ra từ điển truy xuất nhanh. Các từ điển này được sử dụng để

phục vụ cho công việc tạo chỉ mục sau đây.

Chỉ mục

MG là một hệ thống tìm kiếm truy vấn toàn văn bản (full text), vị trí từng từ

trong văn bản gốc được ghi nhận. Khi có yêu cầu tìm một từ, MG sẽ liệt kê ra những tài liệu có chứa từđó và vị trí chính xác của nó.

Trong MG có khái niệm chỉ mục đảo, là từđiển từ vựng (lexicon dictionary), liệt kê tất cả những từ khoá tìm kiếm. Từ khoá tìm kiếm là những từ, vốn lấy trong tài liệu gốc đã được xử lý, thành dạng chữ thường và đưa về dạng từ gốc về mặt ngữ

pháp. Ví dụ các từcompute, computer, computing, computedđều được có dạng gốc là compute. Mỗi từ trong tài liệu gốc được hiểu và ngầm thay bằng từ khoá tương

ứng. Khi liệt kê, vị trí các từ này (trong tài liệu nào, đoạn văn nào, hay câu nào) đều

được ghi nhận và dùng từ khoá làm đại diện cho tất cả. Việc này làm cho số lượng từ phải lưu trữ giảm đi nhiều và khi truy vấn, kết quả tìm kiếm cũng được nâng lên, khả năng đáp ứng được nhu cầu của người dùng cũng cao hơn. Để tiết kiệm, những từ quá phổ biến và thường xuyên có mặt, gọi là stop-word (ví dụ từthe trong Tiếng Anh), bị bỏ qua trong việc tạo chỉ mục. Khi tìm cũng không hiển thị những từđó.

Khi truy vấn với một từ, nó sẽđược chuyển sang dạng từ gốc, chữ thường và

MG sẽ rà trong bảng chỉ mục đảo này để tìm xem có khớp không. Nếu khớp MG sẽ

trả về số thứ tự tài liệu chứa từ này. Khi kết hợp các từ lại để truy vấn với các từ

Sơđồ hoạt động của quá trình tạo chỉ mục đảo Hình – Sơ đồ quá trình tạo chỉ mục văn bản Ghi chú : Văn bản nguồn Tạo từđiển đảo (mg passes –N1) Tạo từđiển băm hoàn hảo (mg_compression_dict) Từđiển mã hóa trước Từđiển băm hoàn hảo Tạo từđiển mã hóa trước theo khối (mg_invf_dict) Tạo tập tin đảo (mg_passes –N2) Từđã có chỉ mục Tập tin đảo (.invf) Từđiển khối : các tiến trình xửlý

(phần in nghiêng nếu bắt đầu với MG_ là các tiến trình xử lý, còn nếu có dấu chấm ngăn cách là những tập tin kết xuất)

Truy vấn

Có hai dạng truy vấn chính: truy vấn luận lý (boolean query) và truy vấn theo thứ hạng (ranked query)

• Truy vấn luận lý (boolean query):

Câu truy vấn gồm nhiều từ khoá sẽ tìm kiếm trong CSDL, kết hợp với nhau bằng những toán tử luận lý nhưAND, OR, NOT. Truy vấn luận lý còn cho phép ta dùng các dấu ngoặc đơn “(“, “)” đểđặt thứ tựưu tiên kết hợp.

Ví dụ, câu truy vấn là “(Thành AND phố AND Hồ AND Chí AND Minh)

OR (Sài AND Gòn)” sẽ tìm những văn bản có từ “Thành phố Hồ Chí Minh” hoặc “Sài Gòn”

• Truy vấn theo thứ hạng (ranked query)

Truy vấn luận lý như trên là cách truy vấn đơn giản nhất. Tuy nhiên để sử

dụng được nó, người dùng phải biết rõ mình muốn tìm gì, từ khoá đưa vào phải chính xác. Trong thực tế, không phải lúc nào cũng được như vậy, nên MG còn cho phép truy vấn thông tin bằng cách đo độ tương đồng giữa văn bản với từ khoá cung cấp. Một cách tính đơn giản là đếm số từ khoá xuất hiện trong văn bản làm căn cứ

xếp loại.

Ví dụ, cần tìm những văn bản chứa từ “thư viện”. Văn bản nào chứa nhiều từ “thư viện” hơn sẽđược đưa lên đầu danh sách kết quả. Cách này giúp người dùng mở rộng khả năng tìm kiếm, và dễ dàng tìm ra văn bản mong muốn. Tuy nhiên hạn chếở đây là nếu một văn bản dài thì khả năng chứa nhiều từ khoá sẽ cao hơn so với một văn bản ngắn. Ngoài ra những từ quá phổ biến như từ “the” trong Tiếng Anh sẽ ảnh hưởng đến kết quả phân loại nếu như một văn bản ta không mong muốn chứa nhiều từ này. Bởi vậy cần loại bỏ ra những từ ít quan trọng hoặc quá phổ biến để kết quả truy vấn chính xác hơn, hoặc là gán cho mỗi từ khoá một độ quan trọng khác

9.2.4. Tóm tắt các quá trình thực hiện trong MG

Chương trình Mục đích Đầu vào (input) Đầu ra (output)

mg_passes –T1 Tạo tập tin thống kê cho việc nén văn bản

Văn bản từ mg_get text.stats

mg_compression_dict Tạo từđiển nén text.stats text.dict

mg_passes –T2 Nén văn bản nguồn Văn bản từ mg_get, text.dict text.dict.aux, text, text.idx mg_passes –N1 Tạo từđiển từ gốc cho quy trình đảo Văn bản từmg_get invf.dict, invf.chunk, invf.chunk.trans, mg_perf_hash_build Tạo hàm băm hoàn hảo cho từđiển từ gốc invf.dict invf.dict.hash mg_passes –N2 Đảo văn bản nguồn Văn bản từ mg_get, invf.dict, invf.chunk, invf.chunk.trans, invf.dict.hash invf.paragraph, invf.idx, weight, invf mg_fast_comp_dict Tạo một bản khác của từ điển nén, để đọc nhanh hơn text.dict, text.dict.aux text.dict.fast mg_invf_dict Tạo một bản truy xuất đĩa nhanh dựa trên từđiển từ gốc

invf.dict, invf.idx invf.dict.blocked

mg_weights_build Xây dựng tập tin trọng số tài liệu text.idx, invf.dict, invf.paragraph, invf.idx, invf.weight text.idx.wgt, weight.approx, weight mg_invf_rebuild Xây dựng lại tập tin đảo invf.idx, invf, invf.dict, invf.ORG, invf.idx.ORG invf.idx, invf, invf.ORG, invf.idx.ORG, mgquery Truy vấn CSDL . mgrc (chứa câu truy vấn), text.dict, text, invf.dict.blocked, text.idx.wgt, weight.approx, invf Kết quả truy vấn

Quá trình hoạt động của MG từ khi đưa tài liệu nguồn vào đến khi tạo xong CSDL:

H 1 - Quá trình hoạt động của MG

9.2.5. Các loi tp tin kết xut trong quá trình x lý ca MG

Phần mở rộng Loại tập tin

Dạng ngắn Dạng đầy đủ

compression dictionary ".tsd" ".text.stats" compression dictionary ".td" ".text.dict" compression dictionary ".tdf" ".text.dict.fast"

auxilary dictionary ".tda" ".text.dict.aux" compressed text ".t" ".text"

combined compressed text index and document weight file

".tiw" “text.idx.wgt" compressed text index file ".ti" ".text.idx"

dictionary of stemmed words ".idb" ".invf.dict.blocked" exact document weights file ".w" ".weight"

approximate weights file ".wa" ".weight.approx" inverted file ".i" ".invf"

inverted file index ".ii" ".invf.idx" inverted file chunk descriptor ".ic" “.invf.chunk" word index translation file ".ict" ".invf.chunk.trans" hashed stemmed dictionary ".idh" ".invf.dict.hash"

paragraph descriptior file ".ip" ".invf.paragraph" trace file ".trc" ".trace"

Một phần của tài liệu Tìm hiểu nguồn mở greenstone và ứng dụng (Trang 166 - 184)

Tải bản đầy đủ (PDF)

(184 trang)