Tài liệu Đề tài Xây dựng một số công cụ hổ trợ tra cứu và tổng hợp thông tin trong thư viện số: Đề tài: Xây dựng một số công cụ hổ trợ
tra cứu và tổng hợp thông tin
trong thư viện số
1-1
CHƯƠNG 1
TỔNG QUAN
1.1. Thư viện số
Thư viện số là thư viện phục vụ thông tin điện tử ( được số hóa) - được đọc
với sự trợ giúp của máy vi tính. Thông tin điện tử có thể được chứa trong những Tư
liệu điện tử nằm trong và ngoài thư viện. Tư liệu điện tử bao gồm:
• CD-ROM và băng từ - CD-ROM thường chứa những CSDL chuyên ngành,
được phục vụ riêng lẻ hay trên mạng máy tính.
• Tạp chí điện tử - ấn hành trên mạng Internet. Thư viện có thể đặt mua như
tạp chí in và sẽ được cấp quyền login vào để truy cập.
• Cơ sở dữ liệu trực tuyến - có rất nhiều trên mạng Internet do những trường
đại học, những cơ sở thông tin, và những công ty tư nhân như LEXIX-
NEXIX, DIALOG, vv... - Cũng như tạp chí điện tử, thư viện có thể đặt mua
quyền sử dụng.
• Tài liệu khác trên Internet - tài liệu trong những web site của những cơ sở
chính quyền, trường đại học, công ty, hội đoàn, vv... Vi...
128 trang |
Chia sẻ: haohao | Lượt xem: 1322 | Lượt tải: 0
Bạn đang xem trước 20 trang mẫu tài liệu Đề tài Xây dựng một số công cụ hổ trợ tra cứu và tổng hợp thông tin trong thư viện số, để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên
Đề tài: Xây dựng một số công cụ hổ trợ
tra cứu và tổng hợp thông tin
trong thư viện số
1-1
CHƯƠNG 1
TỔNG QUAN
1.1. Thư viện số
Thư viện số là thư viện phục vụ thông tin điện tử ( được số hóa) - được đọc
với sự trợ giúp của máy vi tính. Thông tin điện tử có thể được chứa trong những Tư
liệu điện tử nằm trong và ngoài thư viện. Tư liệu điện tử bao gồm:
• CD-ROM và băng từ - CD-ROM thường chứa những CSDL chuyên ngành,
được phục vụ riêng lẻ hay trên mạng máy tính.
• Tạp chí điện tử - ấn hành trên mạng Internet. Thư viện có thể đặt mua như
tạp chí in và sẽ được cấp quyền login vào để truy cập.
• Cơ sở dữ liệu trực tuyến - có rất nhiều trên mạng Internet do những trường
đại học, những cơ sở thông tin, và những công ty tư nhân như LEXIX-
NEXIX, DIALOG, vv... - Cũng như tạp chí điện tử, thư viện có thể đặt mua
quyền sử dụng.
• Tài liệu khác trên Internet - tài liệu trong những web site của những cơ sở
chính quyền, trường đại học, công ty, hội đoàn, vv... Việc truy cập thường là
miễn phí.
Thông tin điện tử đôi khi còn bao gồm tư liệu được số hóa, tập hợp dưới hình
thức Thư viện số. Tư liệu được số hóa trước tiên là tranh ảnh, tài liệu quý hiếm,
vv... Ngày nay nhiều thư viện có khuynh hướng số hóa đại bộ phận tư liệu trong thư
viện để phục vụ dưới dạng điện tử.
1.2. Nghiên cứu về thư viện số tại Mỹ
Vấn đề nghiên cứu về thư viện số là một trong 5 hướng nghiên cứu chủ yếu về
CNTT của Mỹ hiện nay. Những tiến bộ cực kỳ nhanh chóng của kỹ thuật tính toán
và mạng máy tính làm cho một tư liệu chỉ trong nháy mắt đã có thể “nhân bản” và
chuyển tới hành trăm triệu người trên khắp thế giới.
Năm 1994, người ta đưa ra một vấn đề gọi là SÁNG KIẾN THƯ VIỆN SỐ
(SKTVS) mà ngày nay gọi là DLI pha 1. SKTVS pha 1 tập trung làm sáng tỏ từng
1-2
bước các vấn đề về mô hình quan niệm, cấu trúc, những thách thức về tính toán
nhằm tạo ra các các kho tri thức nhân loại dạng điện tử. Trong 5 năm, SKTVS pha 1
đã có những thành công bước đầu mà chúng ta đang chứng kiến, chẳng hạn đó là
các công cụ tìm kiếm nổi tiếng trên Internet.
SKTVS pha 2 – DLI pha 2 bắt đầu từ 1999 và đã thu hút rất nhiều nhà khoa
học và kỹ sư CNTT, các nhà nghiên cứu của nhiều ngành KHXH, nghệ thuật, sinh
học…Mục tiêu là phát triển các nguồn tư liệu số, thử nghiệm liên kết giữa các
nguồn tư liệu phân tán, thiết lập nguyên tắc, phần mềm và cấu trúc mạng có khả
năng liên hợp các tư liệu đa phương tiện thành các bản ghi nhất thể, giải quyết vấn
đề ngữ nghĩa hiện đang cản trở việc tích hợp tư liệu số từ các tư liệu từ các sưu tập
phân tán và rất khác nhau về cấu trúc. Pha 2 của SKTVS tập trung vào 3 hướng
nghiên cứu lớn sau:
• Human-centered research-nghiên cứu hỗ trợ việc tạo ra thông tin và sử dụng
thông tin.
• Content and collections-tạo lập thư viện số chứa đựng các dạng tri thức.
• System-centered research-các vấn đề kỹ thuật, phần mềm, phân loại khi tổ
chức và liên kết các bộ dữ liệu số dạng thức khác nhau thông qua Internet.
Để hình dung rõ hơn về 3 hướng nghiên cứu trên, chúng ta sẽ lược qua các dự
án chính, các vấn đề quan trọng nhất của 3 hướng nghiên cứu và triển khai này.
1.2.1.Human-centered research (nghiên cứu hướng nguời dùng)
Trong hướng này, có các dự án và chương trình lớn:
Personalized Retrieval and Summarization of Image, Video, and
Language Resources (PERSIVAL). Trong dự án PERSIVAL, các nhà nghiên cứu
ở Đại học Columbia đang thử nghiệm thiết kế hệ thống giúp cho các bệnh nhân truy
cập dễ dàng và nhanh chóng đến các nguồn thông tin y học trực tuyến thích hợp cho
từng người bệnh.
Digital resource designed for children. Các nhà nghiên cứu ở Đại học
Maryland phát triển các công cụ thích hợp cho phép nghe, xem, tìm kiếm, hỏi đáp
1-3
và tổ chức thông tin nghe, nhìn, văn bản…cho trẻ em.
Technologies and tools for students. Nhiều đại học và cơ quan nghiên cứu
như Đại Học Quốc Gia Georgia, Hiệp Hội Máy Tính (Association for Computing
Machinery-ACM), Ủỵ Ban Giáo Dục của SIGGRAPH (SIGGRAPH Education
Committee) đang phát triển các kỹ thuật và công cụ cho sinh viên để việc truy cập
thông tin trực tuyến phục vụ học tập ở đại học được hiệu quả.
Video information college. Dự án được triển khai tại Đại Học Carnegie
Mellon nhằm thiết lập môi trường làm việc với các tư liệu video, văn bản, ảnh và
âm thanh.
Alexandria Digital Earth prototype (ADEPT). Đây là một bộ phận của
chương trình hợp tác về thư viện số giữa Đại học Berkeley, Đại học Santa Barbara
(UCSB), Đại học Stanford, Trung tâm Siêu Máy Tính San Diego và Thư Viện Số
California, liên quan chủ yếu đến việc sử dụng các loại thông tin không gian, thư
mục hóa chúng, những vấn đề tìm kiếm trên Web…
http:/www.alexandria.ucsb.edu/adept/
1.2.2. Content and collections (Nội dung và các bộ sưu tập)
Hướng này tập trung nghiên cứu việc tổ chức các kho thông tin về mọi lĩnh
vực tri thức. Một số dự án lớn có thể kể đến như:
Digital Library for the humanity. Đại Học Tuffs hợp tác với viện Max
Planck ở Berlin, Hội Ngôn Ngữ Hiện Đại (the Modern Language Association), Bảo
Tàng Nghệ Thuật Boston (the Boston Museum of Fine Arts) và Tổ Hợp Xuất Bản
Điện Tử Stoa (the Stoa electronic pubishing consortium) phát triển một thư viện
điện tử chứa các tư liệu từ thời Ai Cập cổ đại đến thế kỷ 19.
National Gallery of Spoken Word (NGSW). Đại Học Quốc Gia Michigan
đang thực hiện một thư viện các bài nói lịch sử suốt thế kỷ 20 với các công cụ xử lý
hiệu quả.
1-4
National digital library for science, mathematics, engineering, ang
technology education (SMETE). Đại Học Berkeley California phát triển một thư
viện số tập hợp các ngành khoa học, toán học và công nghệ hỗ trợ việc học tập ở
bậc phổ thông trung học.
Digital Atheneum. Đại Học Kentucky được Quỹ Khoa Học Quốc Gia tài trợ
phối hợp với Thư Viện Anh và Chương Trình Shared University Research của IBM
đang làm việc với kho tư liệu của Thư Viện Anh chứa đựng các tư liệu cổ của Hi
Lạp, Do Thái từ thế kỷ 17.
Digital workflow management. Hơn 29.000 ngàn bản nhạc Mỹ từ 1790 đến
1960 đang được Đại Học Hopkins chuyển thành một thư viện số.
Data provenance. Các nghiên cứu tại Đại Học Pennsylvania hướng tới vấn đề
nan giải bậc nhất của các tập hợp dữ liệu trực tuyến. Đó là độ trung thực của một
bản tin số và những vấn đề liên quan, có thể xếp vào nhóm các vấn đề hệ thống
được trình bày dưói đây.
1.2.3.System-centered research (nghiên cứu hướng hệ thống )
Phát triển các thư viện số đòi hỏi phải giải quyết rất nhiều vấn đề về hệ thống.
Có thể nêu vài cái trong số các vấn đề quan trọng mà các nhà khoa học Mỹ đang tập
trung giải quyết:
New model for scholarly publishing. Bản chất vấn đề là việc xuất bản bây
giờ khác xa cách in ấn truyền thống. Xuất bản tức thời, phân tán, liên tục… Mọi
quy trình đều phải thay đổi thích hợp để thực hiện việc “xuất bản” trên các hệ thống
tính toán phân tán. Vấn đề đang được Đại Học Berkeley California nghiên cứu.
Classification systems. Một trong những vấn đề kỹ thuật phức tạp nhất của
thư viện là phân loại tư liệu. Mọi công cụ lưu trữ, tìm kiếm đều rất phụ thuộc vào
kỹ thuật phân loại. Với các thư viện số chứa đựng, tích hợp mọi dạng thức thông
tin, tri thức thì vấn đề càng phức tạp. Rất nhiều đại học và các viện nghiện cứu đang
1-5
tập trung cho vấn đề này. Có thể xem trong Web site:
Security, quality, access, and reliability. Với thư viện số thì an toàn, bảo
mật, chống sao chép bất hợp pháp, kỹ thuật tìm kiếm… còn chứa đựng rất nhiều
vấn đề mở. Chẳng hạn ở Đại Học Cornell, các nhà nghiên cứu đang tập trung cho
tính toàn vẹn của một thư viện số.
1.3. Nghiên cứu về thư viện số tại Việt nam
Ở Việt nam, các nghiên cứu về thư viện số mới chỉ ở các buớc khởi đầu. Trong
những năm qua nhiêề phần mền quản lý thư viện và hỗ trợ đọc sách trên Internet đã
được đầu tư phát triển. Bảng 1.1 là đặc tính của một số phần mềm quản lý thư viện
do các nhà sản xuất phần mềm trong nước phát triển.
Bảng 1.1. Danh sách một số phần mền quản lý thư viện do các nhà sản xuất phần mềm
Việt nam phát triển
Tên thuộc
tính LIBOL (Tinh Vân) ILIB (CMC Soft) VEBRARY (Lạc Việt)
Mô tả Phát triển vì nhu cầu trong nước
(1997) và sau đó được thay đổi
theo các chuẩn quốc tế
Có giao diện dạng Web và được
thiết kế theo mô hình mở 3 lớp.
Đây là hệ thống quản lý thư viện điện
tử, được dùng đầu tiên tại Trung Tâm
Thông Tin Tư Liệu Đại Học Đà Nẵng
Hệ điều hành WinNT, Unix, Linux
Cơ sở dữ
liệu
NA Oracle 8i đối với phiên bản lớn
SQL-Server đối với phiên bản
nhỏ SmiLib
NA
Hỗ trợ tiếng
Việt
Hỗ trợ tiếng Việt mà một số
ngôn ngữ khác như Anh, Nga,
Nhật, Hoa, hỗ trợ Unicode
Hỗ trợ đa ngôn ngữ, trong đó
tiêng Việt theo bảng mã Unicode
và TVCN
Hỗ trợ tìm
kiếm
Tìm kiếm tra cứu mạnh, hỗ trợ
tất cả các khung phân loại
Hỗ trợ tìm kiếm tra cứu theo nhiều
tiêu chí khác nhau
Các chức
năng chuyên
môn
Môi trường hiển thị: Web
Chuẩn giao tiếp dữ liệu ISO2709
Hỗ trợ tra cứu liên thư viện qua
chuẩn Z39.50
Có khả năng tùy biến giao diện
Có 8 phân hệ nhgiệp vụ chuyên
môn: tra cứu (Z39.50), , biên
mục, ấn phẩm điện tử, ấn phẩm
định kỳ, phân hệ bổ sung, phân
hệ quản lý, phân hệ bạn đọc và
phân hệ mượn trả.
Hỗ trợ tôi đa khả năng liên thư
việ theo các chuẩn (MARC,
USMARC, UNIMARC
Cho phép tra cứu liên thư viện
theo chuẩn Z39.50
Có chức năng hỗ trợ mã vạch
Cho phép thay đổi các module
khác nhau qua các thông số
Mọi thao tác trên thư viện đều qua
trình duyệt Web
Lưu trữ và lập chỉ mục với số lượng
lớn các dạng tài liệu SGML, XML,
MARC, RTF, các dạng tài liệu đa
phương tiện theo chuẩn open-ebook
của W3C
Hỗ trợ các tiêu chuẩn về sách điện tử
và thư viện như Z39.50, Unicode…
Biên mục theo chuẩn MARC,
ÚMARC (ngầm định là MARC21)
Có nhiều tính năng khác như bổ sung
tài liệu, lưu thông tài liệu, quản lý
xuất bản phẩm nhiều kỳ, mượn liên
thư viện, báo cáo thống kê. Tính năng
bảo mật đáng lưu ý.
Nhận xét Có khả năng đáp ứng hầu hết
các nhu cầu chuẩn hóa về nghiệp
vụ
Thân thiện với người dùng, chức
năng tìm kiếm nhanh chóng,
chính xác trên nhiều ngôn ngữ
và nhiều tiêu chí
Có tính mở và linh hoạt
Đã được ứng dụng tại một số nơi
như Học Viện Quan hệ Quốc
tế…
Tuân thủ những tiêu chuẩn mở về hệ
thống thư viện và được xây dựng trên
nền công nghệ hiện đại, quản lý thư
viện hiệu quả, có khả năng liên thông
với các thư viện khác trên thế giới.
1-6
Thông tin
liên lạc
Cty Công nghệ Tin học Tinh
Vân
371 Kim Mã, Hà NộI
ĐT: (4) 771 5737
dlin@hn.cmc.com.vn
Cty CMC Soft
777 GiảI Phóng, Hà NộI
ĐT: (4) 664 1595
vebrary@lacviet.com.vn
Cty Cổ phần Tin học Lạc VIệt
191A Hoàng Văn THụ, q. Phú Nhuận,
tp. Hồ Chí Minh
ĐT: (8) 842 3333
Fax: (8) 842 2370
1.4. Mục tiêu nghiên cứu của đề tài
Các nghiên cứu-ứng dụng CNTT vào quản lý và khai thác thông tin trong các
thư viện đã và đang được quan tâm. Sự phát triển nhanh chóng của CNTT và
Internet vào những thập niên sau của thế kỷ 20 đã tạo ra lượng thông tin khổng lồ.
Các thư viện số hóa đã được hình thành và hiện đang lưu trữ một lượng lớn thông
tin, dễ dàng truy cập qua Internet. Do đó cần phải xây dựng các công cụ hỗ trợ tổ
chức, tìm, đọc, tổng hợp thông tin.
Những năm qua, nhiều thư viện và các trung tâm lưu trữ trong nước đã có
những bước phát triển đáng kể trong việc sử dụng các công cụ CNTT để quản lý tư
liệu, độc giả và hỗ trợ công tác tra cứu thông tin. Tuy nhiên hướng nghiên cứu phát
triển các công cụ hỗ trợ tìm kiến, phân tích, tổng hợp thông tin vẫn đang còn chưa
được đầu tư phát triển.
Ngoài nuớc, nhóm nghiên cứu về thư viện số thuộc Đại học Arizona ở địa chỉ
trang web là là một trong các nhóm thức đẩy các
1-7
nghiên cứu nhằm phát triển các kỹ thuật phân loại tư liệu hỗ trợ tìm đọc và tổng hợp
thông tin. Đề tài “Xây dựng một số công cụ hỗ trợ tra cứu và tổng hợp thông
tin trong thư viên số “ tập trung vào các nội dung sau:
• Nghiên cứu nhu cầu khai thác thông tin của độc giả trong một số thư viện số
hóa tiêu biểu như thư viện cao học trường ĐHKHTN; thư viện sách điện tử
thuộc chương trình đào tạo từ xa ĐHQG-HCM làm cơ sở cho việc áp dụng
trong các thư viện khác.
• Nghiên cứu đề xuất qui trình tổ chức thông tin hỗ trợ tiến trình sưu tầm, tổ
chức và khai thác thông tin trong các thư viện số hóa và xây dựng hệ thống
phần mềm hỗ trợ qui trình.
• Nghiên cứu và xây dựng các công cụ phần mềm hỗ trợ tìm kiếm, phân tích
tổng hợp thông tin trong các thư viện số hóa.
Giai đoạn 1: từ tháng 12/2001 đến 7/2002
• Nghiên cứu các nhu cầu khai thác thông tin trong thư viện số
• Nghiên cứu đặc trưng của thông tin tư liệu
• Nghiên cứu các công nghệ sưu tầm, tổ chức thông tin theo tiếp cận tác nhân
thông minh, phân lớp gom cụm
• Thiết kế hệ thống và cài đặt một số phần mềm phân lớp gom cụm
Giai đoạn 2: Từ 08/2002 đến 3/2003
• Nghiên cứu công nghệ tìm kiếm thông tin theo tiếp cận tác nhân thông minh
• Cài đặt một số phần mềm phân lớp, gom cụm, hỗ trợ tra cứu thông tin
1.5. Các kết quả đạt được của đề tài
• Xây dựng khung tiêu đề đề mục Việt, Anh , từ điển từ đồng hiện CNTT
• Xây dựng công cụ Search và Download
• Xây dựng công cụ tìm các dãy từ phổ biến để đặc trưng văn bản
• Xây dựng công cụ tổng hợp văn qua gom cụm bằng mạng Kohonen
• Xây dựng thư viện số trên Web với hàng ngàn bài báo khoa học. Phát triển
truy vấn thư viện qua từ khóa, qua tiêu đề đề mục, qua từ đồng hiện, qua lớp
ra Kohonen trên giao diện Web.
2-1
CHƯƠNG 2
TỔ CHỨC KHAI THÁC THÔNG TIN THƯ VIỆN
2.1. Tổ chức phục vụ khai thác thông tin
Bước qua giai đoạn quản lý tư liệu đã tồn tại nhiều thế hệ, đến giai đoạn quản
lý thông tin đã đặt ra cho nghề thư viện vấn đề trao đổi và chia sẻ thông tin. Đây là
bước ngoặt quan trọng trong nghề thư viện, đồng thời việc ứng dụng triệt để thành
tựu CNTT đã đặt ra một thách thức cho nghề thư viện là phải nhanh chóng thay đổi
quan niệm ngành nghề đề đối phó với với sự phát triển như vũ bảo của CNTT.
Ngày nay lượng thông tin dồi dào trở nên quá tải, CNTT lại giúp người ta chọn lọc
thông tin có ích và có ý nghĩa được gọi là tri thức và CNTT đồng thời cũng giúp
người ta tự hình thành tri thức – Đây là giai đoạn quản lý tri thức.
Ngày nay để đánh giá một thư viện, người ta cho rằng: “Giá trị thư viện không
phải ở chỗ thư viện có bao nhiêu nguồn thông tin mà là thư viện đáp ứng nhu cầu
thông tin một cách có hiệu quả như thế nào từ rất nhiều nguồn thông qua công nghệ
mới”; Trong một quan niệm mới khác về thư viện, người ta cho rằng “Chuyên môn
cốt lõi của nghề thư viện là điểm giao nhau của ba mặt: thông tin, công nghệ thông
tin và người sử dụng”.
Hiểu biết về nguồn thông tin và cách tổ chức thông tin là năng lực quan trọng
của cán bộ thư viện. Nghiệp vụ thư viện cho chúng ta biết cách thu thập thông tin –
biểu thị qua công tác quản lý và phương thức truy hồi thông tin; biết cách tổ chức
thông tin – biểu thị qua công tác phân loại, biên mục, chỉ mục và thiết lập cơ sở dữ
liệu; biết cách lưu trữ thông tin – biểu thị qua công tác quản lý vật lý nguồn thông
tin và các hoạt động tìm kiếm. Nói chung, người cán bộ thư viện phải biết cách tạo
điều kiện để người sử dụng truy cập được thông tin.
Công nghệ thông tin và truyền thông đã có ảnh hưởng trong 20 năm qua và ngày
nay đang có khả năng thay đổi cuộc sống của chúng ta về mọi mặt. Động lực thay
đổi quan trọng nhất chính là thông tin. Công nghệ thông tin mở rộng bốn bức tường
của thư viện nhằm cung cấp nguồn thông tin trong thư viện ra ngoài, đồng thời cung
2-2
cấp nguồn tư liệu ngoài phạm vi thư viện cho người sử dụng trong thư viện. CNTT
đã đưa ngành thông tin thư viện đạt đến đỉnh cao của quản lý thông tin.
Trong giai đoạn này – người cán bộ thư viện đã thay đổi vai trò của mình từ
người giữ sách thụ động sang vai trò chủ động của người cung cấp thông tin – là đã
bắt đầu quan tâm đến người sử dụng. Ngày nay trong công tác phục vụ thông tin, áp
lực thường trực đối với người cán bộ thư viện là phải thực hiện:
- Cung cấp lượng thông tin đúng,
- Thời điểm đúng,
- Hình thức trình bày đúng,
- Nhằm sử dụng đúng mục đích,
- Chi phí hợp lý.
Muốn hoàn thành tốt công việc trên thì người cán bộ thư viện phải quan tâm đến
người sử dụng với việc sử dụng thông tin:
- Hiểu nhu cầu người sử dụng,
- Phương thức sử dụng thông tin,
- Khả năng đáp ứng nhu cầu
Giá trị chuyên nghiệp của nghề thư viện sẽ được nâng cao một khi chúng ta
không phải chỉ tập trung vào việc mua và cho mượn sách và những tài liệu khác mà
là phải biết nhận định nhu cầu và tìm ra giải pháp thông tin cho người sử dụng,
đồng thời bằng cách sử dụng CNTT để quản lý thông tin một cách hợp lý nhằm đưa
thông tin đến với người sử dụng một cách nhanh nhất.
Bước qua giai đoạn quản lý tri thức, yêu cầu đặt ra cho người cán bộ thư viện
là phải quản lý lượng thông tin điện tử khổng lồ nhằm đáp ứng nhu cầu tìm kiếm
của người sử dụng ngày càng gia tăng.
Biên mục tự động là một trong những vấn đề then chốt trong giai đoạn này để
quản lý thư viện kỹ thuật số. Sử dụng hệ thống ngôn ngữ tiêu đề đề mục để giúp
người sử dụng tìm kiếm và tập trung thông tin theo chủ đề là một công việc biên
mục mang tính nghiệp vụ cao nhất - đòi hỏi cả hai tính chất đặc thù là kỹ thuật và
nghệ thuật. Việc biên mục tự động do đó đòi hỏi chuyên gia tin học và cán bộ thư
viện phải có một sự phối hợp đồng bộ để tạo nên một hệ thống tiêu đề đề mục phản
2-3
ánh đúng nội dung của kho tin. Đồng thời hỗ trợ việc tìm kiếm thông tin cho người
sử dụng thông qua hệ thống tiêu đề đề mục hoàn chỉnh đó.
Tiêu đề đề mục hay đề mục là một danh từ hay cụm từ được hình thành theo
những nguyên tắc định sẳn với một cấu trúc nhất định hay ngữ pháp ngôn ngữ tiêu
đề đề mục. Một tiêu đề đề mục phản ánh một nội dung của tài liệu. Một danh sách
tiêu đề đề mục được biên soạn trước và đưa vào trong CSDL được xem như là một
tập tin có thẩm quyền (authority file) dùng để kiểm soát tính nhất quán (authority
control) của tiêu đề đề mục. Đồng thời được dùng để ấn định tiêu đề đề mục cho
từng tài liệu điện tử một cách tự động.
Ngôn ngữ tiêu đề đề mục không quá máy móc và đơn giản như từ khóa, và
cũng không dài dòng như ngôn ngữ thường. Tiêu đề đề mục có một cấu trúc nhất
định gồm đề mục mục chính với những phân mục phản ánh tính khoa học và đại
chúng sẽ trở nên gần gũi với những tìm tin phục vụ công tác nghiên cứu; bản thân
danh sách tiêu đề đề mục cũng đã đóng góp một phần trong công tác nghiên cứu
cho những ai theo đuổi một đề tài theo một chủ đề nào đó.
Để ấn định một tiêu đề đề mục cho một cuốn sách hay một tài liệu, người cán
bộ biên mục phải mất nhiều thời gian trước khi đưa vào CSDL một biểu ghi có chứa
tiêu đề đề mục đó, đây là công việc tiền kết hợp (pre-coordinating). Tiền kết hợp
theo cách này sẽ không thực hiện được khi khối lượng thông tin cần xử lý trở nên
quá lớn. Tuy nhiên với giải pháp hỗ trợ của CNTT được trình bày trong đề tài
nghiên cứu khoa học này, công việc biên mục trở nên tự động. Ngoài ra với các
nghiên cứu gom cụm thông tin sẽ cung cấp giải pháp đề xuất tập các từ khóa đặc
trưng cho nhóm thông tin cần khảo sát tạo điều kiện cho việc xây dựng các khung
tiêu đề đề mục.
2-4
2.2. Một ví dụ điển hình về thư viện điện tử trực tuyến
(www.webcrawler.com)
Webcrawler là một trong những thí dụ điển hình về thư viện điện tử online.
Trên trang chủ của Webcrawler, ở trên cùng bên góc trái là Ô hội thoại để tìm theo
Từ khóa. Phía dưới là 18 chanels cho các chủ đề khác nhau (Giải trí, Giáo dục, Máy
tính và Internet, Tin tức, Sức khỏe, Mua sắm,vv…).
2-5
Ví dụ khi nhấp chuột vào chanel Giáo dục (Education), ta sẽ đi đến một trang web
mà trên đó, trong phần Thư mục (Directory) sẽ bao gồm 14 lãnh vực thuộc Giáo
dục (Ái hữu, Nghệ thuật và Nhân văn, Hỗ trợ tài chánh, Luật học, Thư viện, Tham
khảo, Khoa học & Tự nhiên, Khoa học Xã hội, Các Viện và Trường đại học, ...).
Nếu ta thử nhấp chuột vào mục Khoa học và Tự nhiên, ta sẽ lại đi đến một
webpage gồm 17 ngành Khoa học tự nhiên (Hóa học, Vật lý, vv…). Nếu cần tìm
các thông tin về Hóa học, ta lại nhấp chuột vào mục Hóa học, dưới đề mục Hóa học
này lại gồm 15 chuyên ngành nhỏ và các vấn đề liên quan đến Hóa học (Hóa phân
tích, Hóa đại cương,v.v…). Webcrawler sẽ đề nghị những website tốt nhất về những
vấn đề này mỗi khi ta nhấp chuột vào các đề mục trong Directory.
Sự tổ chức của một thư viện điện tử online về bản chất không khác với một
thư viện truyền thống: một chủ đề lớn bao gồm những chủ đề nhỏ, rồi đến lượt các
chủ đề nhỏ này bao gồm các chủ đề nhỏ hơn, và cứ thế tiếp tục cho đến tận nguồn
thông tin cuối cùng là một trang web hay một bài viết. Điều làm cho các nguồn
thông tin trong một thư viện điện tử online như trong phần Directory của
Webcrawler khác với các nguồn thông tin truyền thống là khối lượng khổng lồ của
khả năng nối kết to lớn giữa các thông tin trên mạng. Ví dụ khi tìm các thông tin về
Hóa học, từ những web site tốt nhất được đề nghị trong phần Directory Matches của
Webcrawler, chúng ta sẽ được dẫn đến rất nhiều web site lớn khác như web site của
Hiệp hội Hóa học Hoa Kỳ, và nhiều web site khác mà chính bản thân chúng cũng có
2-6
thể coi như những thư viện về hóa học vì khối lượng thông tin to lớn được nối kết
trong mọi web site này.
3-1
CHƯƠNG 3
TIÊU ĐỀ ĐỀ MỤC
3.1 TIÊU ĐỀ ĐỀ MỤC
Tiêu đề đề mục được dịch từ Subject Heading (Subject = Đề mục và Heading
= Tiêu đề) đôi khi được gọi là Đề mục như ta đã biết, cùng với Tác giả và Nhan
đề là những điểm truy cập quan trọng nhất trong Hệ thống tra cứu thư viện. Tác
giả và Nhan đềø được mô tả dựa vào dữ liệu có sẵn của tư liệu, trong khi đó Tiêu
đề đề mục do cán bộ biên mục xác định dựa vào nội dung tư liệu rồi đưa vào hệ
thống như một dữ liệu mới, tiến trình này được gọi là Phân tích Đề mục hay
Phân tích Chủ đề (Subject Analysis) phải được thực hiện với nghệ thuật và kỹ
thuật biên mục. Từng tư liệu được xác định đúng tiêu đề đề mục hay hệ thống tiêu
đề đề mục của một thư viện được xử lý tốt thì nội dung kho tư liệu của thư viện đó
được phản ánh một cách đầy đủ. Do đó Tiêu đề đề mục được dùng rộng rãi trong
Biên mục sách (Cataloging).
Thư viện của một quốc gia sử dụng ngôn ngữ nào thì Tiêu đề đề mục được thể
hiện bằng ngôn ngữ đó. Từng quốc gia do đó thiết lập một Hệ thống Tiêu đề Đề
mục bằng ngôn ngữ của riêng mình, nhưng phải tuân theo những cấu trúc và
nguyên tắc thiết lập chung để dần dần tiến đến một ngôn ngữ chung "Ngôn ngữ
tiêu đề đề mục = Subject Heading Language".
Một vài minh họa phô hiện thông tin trên biểu ghi về tư liệu với Đề mục.
sử dụng Tiếng Việt cho Hệ thống Tiêu đề đề mục của Thư viện mình như minh
họa trong Hình 3.1 - Hai Đề mục được đánh số thứ tự Ả Rập ở dòng cuối cùng của
Thẻ Thư mục.
3-2
Hình 3.1: Thông tin về sách (Hệ thống Online Catalog của Thư viện ĐH Khoa
học Tự Nhiên)
Độc giả có thể nhấp chuột vào các Đề mục sau để tìm tài liệu có nội dung tương
ứng:
C++ (NGÔN NGỮ LẬP TRÌNH MÁY TÍNH) ĐỒ HỌA MÁY TÍNH
Thư viện Quốc hội Hoa kỳ sử dụng Khung Đề mục LC (Library of Congress
Subject Headings) để định Tiêu đề đề mục. Ví dụ ở Hình 3.2 cho ta thấy thông tin
về một cuốn sách xuất bản bằng Tiếng Việt có hai Đề mục bằng Tiếng Anh được
dịch như sau:
BỘ ĐỘI--GIÁO DỤC NGOẠI KHÓA--VIỆT NAM
VIỆT NAM--LỰC LƯỢNG VŨ TRANG--SINH HOẠT CHÍNH TRỊ
3-3
Hình 3.2: Thông tin về sách (Hệ thống Online Catalog của Thư viện Quốc hội
Hoa kỳ)
Ví dụ ở Hình 3.3 là một biểu ghi thư mục một tác phẩm Tiếng Ba Lan của Thư
viện Quốc gia Anh gồm 4 Tiêu đề mục bằng Tiếng Anh. Đề mục ở đây được chọn
từ Khung LCSH (Library of Congress Subject Headings). Những đề mục được
dịch như sau:
KINH TẾ DỰ BÁO--BA LAN
BA LAN--ĐIỀU KIỆN KINH TẾ--1990-
BA LAN--CHÍNH SÁCH KINH TẾ--1990-
3-4
Hình 3.3: Thông tin về sách (Hệ thống Online Catalog của Thư viện Quốc gia
Anh)
Hình 3.4 trình bày một biểu ghi thư mục của một bài tạp chí trong Cơ sở dữ liệu
CD-ROM "General Science" của EBSCO. Bài tạp chí này được phân tích thành
hai Đề mục mang nội dung khác nhau, được dịch như sau:
Y TẾ, CHĂM SÓC--VIỆT NAM
VIỆT NAM--CHÍNH SÁCH KINH TẾ
3-5
Search/Subjects/Find
GENERAL SCIENCE (FEB'91 - MAR'96)
+--------------------------Detailed Display - 1 of 1---------------------------+
Subject: MEDICAL care -- Vietnam; VIETNAM -- Economic policy
Title: The influence of market economics on primary health care in
Vietnam.
Author: Gellert, George A.
Summary: Analyzes the impact of economic reforms introduced in
Vietnam in 1986 on health care in the country. Information on Vietnam's
health care system; Abolishing the subsidy system; Details of factors
affecting primary health care; Disease prevention and health promotion
programs;Conclusions.
Source: (Journal of the American Medical Association, 5/17/95, Vol. 273
Issue 19,p1498,5p)
ISSN: 0098-7484
Item No: 9506043952
Hình 3.4: Thông tin về bài tạp chí (CSDL CD-ROM EBSCO)
Qua các minh họa trên ta thấy Tiêu đề đề mục đóng vai trò quan trọng trong
việc giới thiệu nội dung của một tư liệu (sách hoặc bài tạp chí...). Tiêu đề đề mục
là một trường độc lập trong một biểu ghi.
3.2. TỪ KHÓA
Từ khóa là từ được dùng để định vị thông tin trong một Cơ sở dữ liệu. Thông
tin có thể là một biểu ghi thư mục (bibligographic record), bản tóm tắc (abstract),
hay toàn văn (full text) mà Từ khóa hiện diện trong đó.
Có hai loại Từ khóa:
3-6
• Từ khóa tự do (Free Style Keyword) là từ nằm sẵn trong tư liệu hay
CSDL. Từ khóa này không có riêng một trường độc lập.
• Từ khóa có kiểm soát (Controlled Style Keyword) là từ được chọn lọc
đưa vào CSDL. Từ khóa loại này có riêng một trường độc lập.
Khác với Tiêu đề đề mục đã có từ lâu, Từ khóa chỉ mới xuất hiện khi computer
được áp dụng trong ngành Thông tin Thư viện.
Từ khóa giúp ta tìm nhanh tài liệu có chứa từ khóa đó. Nhờ các Phép toán
Boolean giúp ta kết hợp nhiều nội dung tìm hay hạn chế số lượng kết quả tìm. Do
đo Từ khóa được dùng để định vị và chỉ điểm (pointing) thông tin cần tìm trong
CSDL. Từ khóa được dùng rộng rãi trong công tác Chỉ mục tạp chí (Indexing).
3.3. SO SÁNH TIÊU ĐỀ ĐỀ MỤC VỚI TỪ KHÓA.
Tiêu đề đề mục với Từ khóa tự do: Được dùng trong Biên mục sách
• Tiêu đề đề mục là do Cán bộ biên mục đưa vào Cơ sở dữ liệu để phản ánh
nội dung tư liệu.
• Từ khóa tự do có thể là Từ khóa trong Nhan đề, Từ khóa trong Tác giả,
Từ khóa trong Đề mục.
Vài minh họa cách sử dụng Từ khóa tự do trong Hệ thống tra cứu Online
Catalog. So sánh với cách sử dụng Tiêu đề đề mục.
Hình 3.5 và Hình 3.6 cho ta thấy hai cách tìm theo Tiêu đề (Heading) và Từ
khóa tự do (Keyword) trong Hệ thống Online Catalog của Thư viện Baker, Đại
học Harvard, Hoa kỳ.
3-7
Hình 3.5
Khi ta chọn BASIC SEARCH màn hình sẽ hiện ra như Hình 3.5 cho ta phương
thức tìm theo Tiêu đề gồm: Tiêu đề Tác giả, Tiêu đề Nhan đề, Tiêu đề Tên Tạp
chí, Tiêu đề đề mục, và Tiêu đề ký hiệu Phân loại (Xếp giá). Mỗi Tiêu đề là một
Trường trong CSDL. Ta phải gõ đầy đủ thông tin về Tiêu đề. Chẳng hạn như đối
với Tiêu đề đề mục thì ta phải gõ đầy đủ Đề mục chính, Tiểu phân mục, dấu phân
cách,v.v... Ví dụ:
VIETNAM--HISTORY--1954-1975
Nếu ta chọn KEYWORD SEARCH Màn hình như Hình3.6 cho ta phương thức
tìm theo Từ khóa tự do kèm theo giải thích cách tìm theo những Toán tử logic:
• thêm AND/OR vào ô hội thoại
• dùng ngoặc kép để thể hiện Từ khóa nhóm từ: "venture capital"
• dùng + để đánh dấu những từ thiết yếu: +management
3-8
• dùng * để đánh đấu những từ quan trọng: *technology
• dùng ? để chặt cụt từ: industr?
• dùng ! để ngăn chặn từ: !computer
Hình 3.6
Màn hình như Hình 3.7 minh họa cách tìm Từ khóa trong Nhan đề và Từ khóa
trong Đề mục trong Hệ thống Online Catalog của Thư viện Quốc gia Anh.
3-9
Hình 3.7
Nếu ta chọn Từ khóa trong Đề mục thì vào ô hội thoại Subject (Đề mục). Ví dụ
ta chọn Từ khóa economic. Những cuốn sách có Đề mục mang Từ khóa trên được
phô hiện; giã sử ta chọn cuốn sách có biểu ghi như Hình 3.3 có tựa đề là "Polonia
quo vadis?..." và có những Đề mục mang Từ khóa economic như sau:
ECONOMIC FORECASTING--POLAND
POLAND--ECONOMIC CONDITIONS--1990-
POLAND--ECONOMIC POLICY--1990-
Nếu ta chọn Từ khóa trong Nhan đề thì vào ô hội thoại Title (Nhan đề). Ví dụ ta
chọn Từ khóa Vietnam. Màn hình như Hình 3.8 phô hiện những nhan đề sách có
chứa Từ khóa Vietnam.
3-10
Hình 3.8
Hình 3.9
Hệ thống Online của Thư viện ĐH Simmons, Hoa kỳ như trong Hình 3.9 cho ta
thấy độc giả có thể tìm tư liệu theo Tác giả (Author), Nhan đề (Title), Đề mục
3-11
(Subject), Từ Khóa tự do (Keyword), Ký hiệu xếp giá theo số Phân loại LC, Ký
hiệu xếp giá không theo số Phân loại LC, số ISSN/ISBD.
Tiêu đề đề mục với Từ khóa có kiểm soát: Cả hai đều là Thuật ngữø có kiểm
soát (Controlled vocabulary) được tạo thành Trường độc lập trong Hệ thống
Online Catalog.
• Tiêu đề đề mục được dùng để mô tả nội dung tư liệu. Danh sách Tiêu đề
đề mục (Subject heading list) chẳng hạn như "Library of Congress
Subject Headings" và "Sear List of Subject Headings" được dùng trong
Biên mục sách và đôi khi được dùng trong Chỉ mục Tạp chí.
• Từ khóa có kiểm soát tập hợp những từ phản ánh một phần nội dung tư
liệu, được kiểm soát để đồng nhất. Từ khóa nói chung không chú trọng đến
cấu trúc và mô tả dữ liệu. Chỉ chú trọng đến việc kết hợp để tạo nên những
biểu thức tìm nhằm định vị nhanh và chỉ điểm đúng thông tin trong CSDL.
Danh sách những Từ khóa có kiểm soát được gọi là Thesaurus được dùng
trong Chỉ mục tạp chí.
3.4 KẾT LUẬN
Tiêu đề đề mục và Từ khóa là bộ phận không thể thiếu trong Bộ máy tra cứu
tư liệu. Trong đó Tiêu đề đề mục là bộ phận chủ yếu nhất trong Biên mục học
(Cataloging), hiện diện trong giáo trình Khoa học Thông tin và Thư viện kể từ khi
Nghề Thư viện ra đời cách đây rất lâu và càng tỏ ra hữu hiệu trong Hệ thống Mục
lục trực tuyến (Online catalog) ngày nay. Do vậy cần khuyến khích sử dụng và
thành lập "Danh sách Tiêu đề đề mục Tiếng Việt" theo chuẩn quốc tế để hỗ trợ
phát triển công tác biên mục thư viện đặc biệt là các thư viện điện tử nhằm hỗ trợ
tiến trình tra cứu thông tin.
4-1
CHƯƠNG 4
XÂY DỰNG CÔNG CỤ TÌM KIẾM VÀ DOWNLOAD
DỰA TRÊN TÁC NHÂN
4.1.TÁC NHÂN” PHẦN MỀM (SOFTWARE AGENT):
4.1.1. Các định nghĩa về “tác nhân”
Stan Franklin và Art Graesser ở Viện các hệ thống thông minh ở đại học
Memphis liệt kê ra một số định nghĩa về tác nhân như sau:
• The MuBot Agent ( "Từ
tác nhân được dùng cho hai nghĩa. Thứ nhất là khả năng tự động thi hành
Thứ hai là khả năng định hướng hoạt động theo lĩnh vực"
• The Hayes - Roth Agent (Hayes -Poth 1995) Các tác nhân thông minh biểu
hiện 3 chức năng: cảm nhận về những trạng thái trong môi trường, hành
động để tác động lên trạng thái trong môi trường đó.
• The IBM Agent ( 'Tác
nhân thông minh hoàn toàn là một phần mềm thực hiện một tập các hành
động dựa trên cư xử của người sử dụng hay chương trình khác với môt vài
mức độ độc lập hay tự hoạt động, và trong quá trình làm như thế, dùng một
số tri thức về mục đích và mong muốn của người sử dụng
• The Brustoloni Agent (Brustoloni 9991, Frankin 1995, trang 265) "Các tác
nhân là các hệ thống có khả năng tự hoạt động, hành động có mục đích
trong thế giới thực." . Theo những định nghĩa trên có thể làm chúng ta thấy
rõ rằng các tác nhân phải có tính tự hoạt động (độc lập), tìm kiếm mục tiêu,
kiên định, suy luận và khả năng giao tiếp.
4.1.2. Các thuộc tính của tác nhân
Tác nhân về cơ bản hoàn toàn khác với các chương trình phần mềm và các
chương trình, chúng phải có các đặc tính và thuộc tính đặc biệt. Một tác nhân phải
có các đặc tính sau:
4-2
• Thích nghi: một tác nhân phải có khả năng làm việc thích nghi. Khi môi
trường thay đổi, tác nhân phải tự động cảm nhận và có hành động thích
nghi với những thay đổi của môi trường.
• Tự khởi động: một tác nhân có thể tự kích hoạt hay dùng kích hoạt dựa
trên tiêu chuẩn của chính bản thân nó và có khả năng quyết định thu gom
thông tin sử dụng các ưu tiên của người dùng. Hoạt động thường xuyên
theo giờ, ngày, tuần hay hàng tháng được đặt ra. Tác nhân cần có khả năng
quyết định kích hoạt hay ngừng hoạt động.
• Trong suốt: Người sử dụng sẽ không nhìn thấy hoạt động bên dưới của tác
nhân trong hệ thống. . Mọi công việc trên đều trong suốt với người sử dụng.
Người sử dụng hầu như không biết tác nhân đang chạy trong hệ thống của
mình.
4.1.3. Sự tác động trực tiếp của Internet
Nhiều người cho rằng "tác nhân" và Internet luôn gắn liền với nhau. Lý do là
đầu tiên tác nhân được sử dụng cho các công việc trên môi trường Internet ( tác
nhân tìm kiếm chẳng hạn). Tuy vậy, tác nhân có thể hành động trong bất kỳ môi
trường nào.
4.1.4. Các loại tác nhân:
Có thể tóm tắt đặc điểm của một số loại tác nhân như sau:
• Tác nhân thông minh: là loại mang ý nghĩa tổng quát và phù hợp với các
định nghĩa đã trình bày ở trên
• Tác nhân học: là những tác nhân phần mềm mà cơ bản học từ người sử
dụng hay người chủ của nó. Việc học chúng ta định nghĩa ở đây như là việc
bổ sung hành vi thông qua kinh nghiệm hay sự phán đoán. Một khi các
công việc được học, tác nhân có thể sau đó chỉ dẫn hay đề nghị các cách
thức để cải tiến công việc nào đó.
• Tác nhân niềm tin: đây là tác nhân mà có hình ảnh cử động hay có lẽ là có
tính cách khiến chúng đáng tin cậy. Một phần của kỹ thuật tác nhân vẫn ở
4-3
trong nó. Trong tương lai các tác nhân này sẽ trở nên thông minh hơn. Tác
nhân niềm tin hiện thời không thông minh chúng chỉ xuất hiện thân thiện để
giao tiếp với người dùng. Chúng thường xuất hiện thân thiện để giao tiếp
với người dùng. Chúng thường có mặt ở các trò chơi trẻ con như những con
thú ảo,…
• Tác nhân có khả năng chuyển tải: Những tác nhân này rất năng động,
linh hoạt và có khả năng di chuyển đến nơi khác. Chúng có thể cư ngụ trên
một máy chủ hay một máy trạm nào đó, và gặm nhấm thông tin từ máy
tính, mạng Internet đã thực hiện công việc của nó. Nó thường được sử dụng
để thu nhập dữ liệu, thông tin hay là những thay đổi. Tác nhân có khả năng
vận tải có nhiều thuận lợi hơn so với mô hình client/server truyền thống.
4.1.5. Ứng dụng khái niệm “tác nhân” trong chương trình:
Chương trình cần được thiết kế theo hướng tiếp cận tác nhân đảm bảo đáp
ứng đúng mục tiêu đã đề ra ban đầu: xây dựng một chương trình nhằm giúp cho
người quản trị thư viện có thể biên mục một cách nhanh chóng và hiệu quả nhằm
tiết kiệm thời gian và công sức tìm kiếm thông tin trên Internet.
Theo cách tiếp cận này, chương trình được thiết kế gồm 2 “tác nhân” chính:
tác nhân tìm kiếm và tác nhân download. Khi chương trình được kích hoạt, hai tác
nhân sẽ hoạt động liên tục để thực hiện nhiệm vụ của mình. Trong quá trình thực
hiện các tác nhân có thể chuyển sang trạng thái chờ nếu không có việc và sẽ tự
động hoạt động trở lại khi cần thiết.
Các tác nhân sẽ có khả năng hoạt động độc lập và liên tục không đòi hỏi
nhiều sự can thiệp của con người. Các tác nhân sẽ hoạt động dưới dạng một dịch
vụ của hệ thống để đảm bảo tính trong suốt đối với người sử dụng.
4-4
4.2. GIỚI THIỆU VẤN ĐỀ:
Ngày nay với sự bùng nổ thông tin, nhất là sự phát triển mạnh mẽ của
Internet và World Wide Web. Việc tìm kiếm thông tin thật sự dễ dàng đối với
người dùng Internet. Tuy nhiên, Internet như một xa lộ rộng lớn và rất dễ đưa
người sử dụng đi lạc trong cái mênh mông của nó. Thật là dễ dàng vì bạn có thể
dùng các trang tìm kiếm thông tin như yahoo hay google... để tìm kiếm một thứ gì
đó. Nhưng giả sử chúng ta cần tìm kiếm một số luận văn nghiên cứu về máy học,
và chúng ta bắt đầu tìm kiếm một cách bình thường, tức là vào google hay yahoo
để search với từ khóa :”Machine learning”. Lúc này kết quả hiện ra là hàng ngàn
các trang web nói về machine learning, bao gồm các trang web của các khoa máy
tính của các đại học ,viện trên thế giới và các home page của các chuyên gia... Để
tìm kiếm tiếp chúng ta lần lượt chọn các địa chỉ web và xem, rồi chọn lọc.... Đến
khi nào thông tin của chúng ta thỏa mãn thì thôi. Việc tìm kiếm này đòi hỏi công
sức và thời gian rất nhiều.
Một câu hỏi đặt ra là trong một tổ chức như một viện hay một trường đại
học, việc tìm kiếm thông tin như vậy sẽ rất không khoa học. Ví dụ cùng một mục
đích nhưng anh A ở khoa này phải tốn cả buổi trời để tìm, rồi anh B cũng vậy, và
còn nhiều người nữa. Thời gian cho việc tìm có thể là cấp số cộng. Nếu ta có thể
xây dựng được một thư viện, tạm gọi là thư viện số. Tổ chức các thông tin và tài
liệu tìm kiếm trên web một các khoa học và chính xác thì việc tìm kiếm thông tin
hoàn toàn nhanh chóng và hiệu quả. Việc tìm kiếm chỉ thực hiện một lần, và có thể
được cập nhật thông tin thường xuyên (vì web liên tục phát triển).
Để xây dựng được thư viện số thì một trong thành phần quan trọng là tìm
kiếm và lấy thông tin trên Internet. Trong phần báo cáo này chúng tôi xin trình bày
hai cơ chế hỗ trợ xây dựng thư viện số là : search engine và download engine.
4-5
4.3. CHỨC NĂNG SEARCH ENGINE
Thuật ngữ Search engine khá là thân thiện với chúng ta, những người sử
dụng Internet thường xuyên. Ít nhất là một lần chúng ta sử dụng các trang web như
Yahoo, Google hay Altavista để tìm kiếm một thông tin nào đó. Các trang web
này lấy từ khóa mà người tìm kiếm hỏi rồi đưa vào một chức năng gọi search
engine, search engine này thực chất là một chương trình máy tính, chương trình
này sẽ truy lùng trong một cơ sở dữ liệu thông tin tìm kiếm (được tổ chức ở web
server của các trang web tìm kiếm). Sau khi tìm xong thì web server sẽ trả về cho
người dùng các kết quả tìm kiếm được. Đây là dạng tìm kiếm trực tiếp trên web.
Ngoài ra còn có một dạng tìm kiếm client như sau: Một chương trình tìm kiếm
chạy ở máy có kết nối cổng internet, cho phép người dùng tìm kiếm các thông tin
trên các search engine khác nhau... Cách tìm kiếm này tiện lợi cho phép tìm kiếm
thông tin đa dạng trên nhiều search engine và có thể lưu trữ lại các thông tin tìm
kiếm theo nhiều định dạng tập tin khác nhau như text file, hoặc các sheet của
excel...
Chức năng Search Engine được cài đặt trong đề tài được phát triển theo
hướng thứ hai. Chương trình cho phép chúng ta tận dụng sức mạnh của các Search
Engine hiện có, đồng thời nâng cao hiệu quả của việc tìm kiếm dưói dạng thư viện
số hóa. Ngoài ra, việc tìm kiếm sẽ được kích hoạt một cách tự động nhằm làm
giảm tối đa sự can thiệp của con người vào quá trình tìm kiếm thông tin trên
Internet vốn rất tốn thời gian.
4.4. CÀI ĐẶT SEARCH ENGINE TRONG THƯ VIỆN SỐ
Hướng tiếp cận là xây dựng một chương trình tìm kiếm tự động dạng một
chương trình search kết nối nhiều cơ sở dữ liệu thông tin của các search engine
trên web như google và yahoo. Chương trình này sẽ hoạt động dạng một chương
trình NT Service, nó sẽ hoạt động dưới dạng nền (deamon program), liên tục cập
nhật thông tin mà người dùng cần tìm rồi thực hiện việc tìm kiếm trên Internet và
lưu vào cơ sở dữ liệu của thư viện số.
4-6
Do luôn hoạt động dưới hình thức nền, nên khi có một yêu cầu do một người
quản lý thư viện hay một người dùng cần tìm kiếm thông tin mới nào đó, thì chức
năng tìm kiếm sẽ được kích hoạt. Các kết quả tìm đươc sẽ được lưu trữ vào thư
viện và người dùng tìm kiếm sẽ được những thông tin cần tra cứu.
Để thông tin được cập nhật liên tục thì thông thường theo định kỳ search
engine phải cập nhật các thông tin đã tìm kiếm. Tức là thêm các thông tin mới và
hủy bỏ những thông tin không còn tồn tại hay không còn giá trị trên Internet. Như
chúng ta biết thì các trang web liên tục phát triển hàng ngày có hàng ngàn trang
web ra đời và cũng có nhiều trang web không còn cung cấp hay không còn tồn tại
nữa...
Hình 4.1 Mô hình hoạt động của Search Engine
Thông tin
tìm kiếm
Search
Engine
Internet - WWW
Google
Yahoo
Altavista
.....
Cơ sở dữ liệu thư
viện số
User- LAN
Thông
tin kết
quả
Thông tin mới cần
tìm kiếm
Chuyển từ khóa tìm
kiếm cho search
engine
Thực hiện tìm
kiếm trên Internet
Lưu thông tin tìm
kiếm mới vào CSDL
Truy cập thư viện số
Mô hình hoạt động của
Search Engine phục vụ
cho thư viện số.
4-7
4.5. CHỨC NĂNG DOWNLOAD ENGINE
Như chúng ta đã biết phần quan trọng của Internet & World Wide Web là
cung cấp các tài liệu điện tử (e-book). Tài liệu này thường được lưu dưới rất nhiều
định dạng tập tin khác nhau như pdf, ps, html, text file...
Việc lấy các tài liệu dạng này về thư viện số cần phải có một chương trình tải
về (download) từ Internet. Hiện tại có rất nhiều chương trình download thương
mại trên thị trường cung cấp rất nhiều tiện ích tuỳ theo nhu cầu của người dùng.
Tuy nhiên, do yêu cầu xây dựng thư viện số nên chúng ta cần phải xây dựng
một chương trình download riêng để kết hợp với search engine. Tạo thành một
khối kết hợp tự động, nhằm làm giảm sự can thiệp của người điều hành trực tiếp.
Chức năng Download Engine sẽ đảm nhiệm công việc download các tài liệu điện
tử tìm được về lưu vào cơ sở dữ liệu của thư viện số hóa. Công việc này cũng sẽ
được kích hoạt tự động cùng với chức năng Search Engine.
4.6. CÀI ĐẶT DOWNLOAD ENGINE TRONG THƯ VIỆN SỐ
Thành phần download engine này chịu trách nhiệm tải về các tập tin trên
Internet bao gồm các tài liệu điện tử, các tập tin nguồn....
Cũng tương tự như search engine, chức năng downlaod engine cũng hoạt
động dưới dạng NT Service. Tức là hoạt động nền bên dưới, khi nào có yêu cầu
download thì nó sẽ tự động kết nối vào URL đã tìm được trong cơ sở dữ liệu và
thực hiện việc download các tập tin về rồi lưu vào thư viện số.
Chức năng này hoạt động dựa trên kết quả đạt được của chương trình
Search Engine. Mỗi khi được kích hoạt, chương trình sẽ dò tìm trong cơ sở dữ liệu
của thư viện để tiến hành download các tư liệu theo yêu cầu.
Các tư liệu tải về sau khi được lưu lại sẽ được cập nhật thông tin trong cơ sở
dữ liệu để phục vụ cho hoạt động của thư viện số.
4-8
Hình 4.2. Mô hình hoạt động của download engine
4.7. KẾT HỢP CƠ CHẾ SEARCH VÀ DOWNLOAD TRONG XÂY DỰNG
THƯ VIỆN SỐ
Việc kết hợp search engine và download engine vào việc xây dựng thư viện
số là công việc thiết yếu. Hai chương trình này sẽ giúp cho người quản trị thư viện
có thể biên mục thư viện số một cách nhanh chóng và hiệu quả. Việc kết hợp này
sẽ đem lại nhiều lợi ích. Lúc này người biên mục không tốn nhiều thời gian, và
công sức tìm kiếm thông tin trên Internet bằng các chương trình tìm kiếm khác
nhau rồi sau đó chọn lọc và lưu giữ chúng. Và cuối cùng là chọn các tư liệu trên
Internet để download về.
Thông tin
download
Download
Engine
Internet - WWW
Cơ sở dữ liệu thư
viện số
Quản trị
thư viện
số
File Tư
liệu,
e-book
Chuyển URL cần
download cho
chương trình
Thực hiện
download
Lưu nội dung
download vào CSDL
Mô hình hoạt động của
Download Engine
phục vụ cho thư viện
số.
URL
User- LAN
4-9
Hình 4.3. Mô hình kết hợp hoạt động của search engine và download engine
Cách thức hoạt động như sau: người quản trị hay biên mục thư viện trong
quá trình xây dựng và duy trì thư viện số, họ sẽ đưa yêu cầu tìm kiếm thông tin
trên Internet cho Search engine. Search engine sẽ thực hiện việc tìm kiếm trên
Internet sau đó lưu kết quả tìm kiếm tức là địa chỉ của các trang web có nội dung
liên quan. Những thông tin này được lưu vào cơ sở dữ liệu thư viện số nhằm cung
cấp cho hai mục đích : cung cấp địa chỉ cho người tìm kiếm, và mục đích thứ hai
là dùng các địa chỉ này để làm nguồn cho phần download engine lấy các tập tin và
tài liệu liên quan từ nguồn này. Việc lấy các tài liệu từ các nguồn này rất cần thiết.
Khi đó sẽ rất tiện lợi cho người dùng thư viện là họ không những tìm kiếm được
trang web liên quan đến lĩnh vực mà còn xem được các tài liệu từ các nguồn này.
Thông tin
tìm kiếm
Search
Engine
Internet - WWW
Cơ sở dữ liệu thư
viện số
Quản trị
thư viện
số
Chuyển thông tin
tìm kiếm cho search
engine
Thực hiện
Tìm kiếm
URL
Download
Engine
Google
Yahoo
....
Thông tin
download
Lưu kết quả tìm
kiếm vào CSDL
Chuyển thông tin
cần download
Chuyển thông tin
cần download
Lưu nội dung
download về CSDL
4-10
Toàn bộ các công việc trên được cài đặt sử dụng hướng tiếp cận mới gọi là
tác nhân thông minh (Intelligent Agent). Hướng tiếp cận mới này cho phép xây
dựng những phần mềm có khả năng thay thế cho con người, ở đây là thay thế cho
vị trí người quản thủ thư viện trong mô hình thư viện số.
4.8. KẾT QUẢ XÂY DỰNG CHƯƠNG TRÌNH
4.8.1. Gíơi thiệu
Trong thời gian qua nhóm phát triển phần mềm đã xây dựng xong search
engine. Chương trình này được gọi là Search Agent. Search Agent là một chương
trình application dạng NT Service chạy trên nền Windows NT hay Windows 2000,
Windows XP.
Chương trình Search Agent hoạt động với đầu vào input và xuất dữ liệu
output thông qua cơ sở dữ liệu là SQL Server. Tức là thông tin cần tìm sẽ được
một chương trình nhập vào thông qua một client program hay một form từ một
trang web. Thông tin cần tìm này hay còn gọi là khóa cần tìm sẽ được lưu vào một
bảng tạm để chuẩn bị cho Search Agent thực hiện việc tìm kiếm. Search Agent
luôn luôn truy cập vào bảng tạm này để lấy các thông tin mới cần tìm theo một
khoảng thời gian nhất định cho trước. Các thông tin lấy về tức là các địa chỉ các
trang web hay còn gọi là URL sẽ được lưu vào một bảng khác. Các thông tin này
được chỉ mục với các từ khóa để tiện cho việc tìm kiếm của người dùng trong thư
viện.
Hình 4.4: Quá trình vận động của Search Agent
Internet - WWW
URL
Google
Yahoo ....
Search
agents
yêu cầu tìm kiếm
URLs kết quả
Tự làm giàu tri thức từ các URLs
kết quả
4-11
Search agent sẽ tiến hành lấy các kết quả tìm kiếm dựa trên kết quả có được
từ các search engine khác. Tự động dò tìm các trang web ứng với từ khóa bằng
cách tự tạo cho mình tri thức từ những trang web mà agent đi qua.
Các thông tin lấy về tức là các địa chỉ các trang web hay còn gọi là URL sẽ
được lưu vào một bảng khác. Các thông tin này được chỉ mục với các từ khóa để
tiện cho việc tìm kiếm của người dùng trong thư viện.Giới thiệu chương trình
Search Agent:
Giới thiệu chương trình Search Agent:
o Tên chương trình: Search Agent
o Công cụ phát triển : Visual Studio 6.
o Môi trường sử dụng : Windows NT, Windows 2K, Windows XP.
o Cơ sở dữ liệu : SQL Server.
o Yêu cầu kĩ thuật: cấu hình máy tính CPU Pentium II, 64MB RAM, 4GB
HDD trở lên và phải có kết nổi với Internet.
o Kết nối với cơ sở dữ liệu tìm kiếm trên Internet : Google và Yahoo.
4.8.2.Phân tích yêu cầu xây dựng Search Agent:
o Xây dựng một ứng dụng Search engine thực hiện việc truy tìm thông tin
trên Internet thông qua một từ khóa (keyword) hay cụm từ khóa
(multiword).
o Search engine thực hiện việc tìm kiếm thông qua cơ chế tự động kết nối
với các cơ sở dữ liệu tìm kiếm trên Internet như Google, Yahoo, Hotbot,
Altav ista... Để lấy các thông tin về các trang web liên quan cần tìm
kiếm.
o Việc thực hiện tìm kiếm phải đảm bảo tốc độ tốt nhất và tìm kiếm được
nhiều thông tin nhất. Tức là kết nối với cơ sở dữ liệu tìm kiếm nhanh và
chất lượng, điển hình là Google và Yahoo là hai trang tìm kiếm nhanh
và hiệu quả ở thời điểm hiện tại.
o Xây dựng chương trình kết nối với cơ sở dữ liệu lớn như SQL Server
hay Oracle để các thông tin kết quả tìm kiếm được (có thể rất nhiều)
4-12
được lưu trữ tốt nhằm phục vụ cho mục đích tra cứu sau này hay là
download tài liệu cho thư viện.
o Xây dựng Search engine thành một module hoàn chỉnh dưới dạng một
chương trình NT Services của Windows NT. Chương trình này là một
dạng chương trình thực hiện nền (background) tức là không xuất hiện
kiểu application bình thường mà dưới dạng Service.
o Kết hợp với việc xây dựng download engine cho việc tích hợp hai cơ
chế search – download ứng dụng trong thư viện số.
4.8.3.Phần thiết kế Search Agent:
Thành phần Search Agent chia thành hai nhóm xử lý chính: Xử lý thông tin
vào - ra (input - output) và thực hiện kết nối với cơ sở dữ liệu tìm kiếm trên Web
để lấy thông tin. Trong đó phần xử lý thông tin hay dữ liệu có kết nối với cơ sở dữ
liệu quan hệ như SQL Server hay Oracle.
Phần thực hiện kết nối với cơ sở dữ lịêu tìm kiếm trên Web, sẽ thực hiện việc
kết nối với Internet thông qua kỹ thuật WinInet trong lập trình Internet của
Windows để kết nối với các host Google hay Yahoo.
Sơ đồ hoạt động chung của Search Engine
CSDL
Search Engine
Internet - WWW
Google
Yahoo
CSDL
...
Thông tin tìm kiếm được
lưu trong CSDL, sẽ được
đưa vào phần module tìm
Truy cập vào
Internet để lấy
thông tin
Kết quả tìm kiếm sẽ
được lưu vào CSDL
Hình 4.5a Sơ đồ hoạt động của
4-13
Sơ đồ xử lý của Search engine
Như yêu cầu trong phần phân tích, quá trình xử lý của Search engine là một
chu trình kép kín xử lý từ giai đoạn lấy thông tin từ cơ sở dữ liệu rồi thực hiện truy
cập Internet để truy lùng thông tin. Sau khi hoàn tất việc lấy thông tin thì chu trình
tiếp tục thực hiện quá trình lại từ đầu.
Để tận dụng thời gian xử lý và tránh lãng phí tài nguyên mạng: Search
engine cho phép tạo ra n số các thể hiện (instance) để thực hiện đồng thời tác vụ
tìm kiếm đồng thời với nhau. Việc cho phép tạo ra nhiều các thể hiện để thực hiện
một công việc với các tham số khác nhau cho phép tăng tốc độ việc tìm kiếm và
hiệu quả của chương trình lên rất nhiều. Trong sơ đồ ở hình 4.5a trình bày mô hình
hoạt động của một module Search engine. Như chúng ta đã phân tích thì khi
Search engine thực sự hoạt động thì không phải chỉ có một thể hiện làm việc mà
có n module search engine nhỏ được tạo ra.
Sai
Bảng CSDL lưu trữ từ
khóa tìm kiếm
Xử lý từ khóa Từ khóa hợp lệ / hay tồn tại từ khóa
Thực hiện kết nối
Internet và tìm kiếm
Kết quả tìm
kiếm hợp lệ
Xử lý kết quả tìm
kiếm được
Lưu vào bảng kết
quả tìm kiếm trong
CSDL
Tiếp tục lấy thông tin
để tìm kiếm tiếp.
Bảng kết quả tìm
kiếm
Đúng
Sai
Hình 4.5b Sơ đồ hoạt động của một
thể hiện tạo ra từ Search engine
4-14
Tiếp sau là mô hình xử lý của toàn bộ Search engine khi làm việc. Trong sơ đồ
này chúng tôi không mô tả chi tiết các xử lý của từng module vì đã mô tả trong sơ
đồ xử lý từng module riêng lẻ hình 4.5b.
Thiết kế CSDL sử dụng trong Search engine
Theo yêu cầu của việc xây dựng thì chương trình Search engine sẽ truy cập
vào cơ sở liệu quan hệ là SQL Server hay Oracle để lấy các thông tin yêu cầu (từ
khóa hay cụm từ khóa cần tra cứu). Do đó trong phần này chúng tôi giới thiệu các
bảng cơ sở dữ liệu được xây dựng để lưu trữ thông tin cung cấp cho các hoạt động
của Search engine.
Bao gồm hai bảng chính:
o Bảng Request Table: Lưu trữ các từ khóa hay cụm từ khóa cần tìm kiếm
và trạng thái của từ khóa. Tức là đã thực hiện việc tìm kiếm hay chưa.
o Bảng Result Table: Chứa các thông tin về các địa chỉ trang web (URL)
mà Search Engine đã tìm kiếm được.
CSDL
Instance 1
Search Engine
Instance 2
Search Engine
Instance 3
Search Engine
Instance n
Search Engine
CSDL
Khối Search engine
được tạo ra với n
instance. Cho phép
đồng thời thực hiện n
tác vụ tìm kiếm thông
tin trên Internet Hình 4.5c: Sơ đồ hoạt động
toàn bộ Search engine khi
tạo ra n instance tìm kiếm.
4-15
Request Table
ID_Wordterm
long
Wordterm
Varchar(256)
MaxResult
Int
SearchEngine
Byte
Finished
bit
+ ID_Wordterm: là trường khoá
+ Wordterm: chứa nội dung từ khóa cần tìm tối đa là 256 ký tự. Nhưng
hầu hết không bao giờ dùng nhiều, vì nếu ta dùng càng nhiều từ khóa để tìm
thì rất hạn chế kết quả tìm kiếm.
+ MaxResult: Chỉ cho phép tìm tối đa là n kết quả mà thôi. Vì nếu không
chặn trước thì rất có thể sẽ xử lý quá nhiều kết quả.
+ SearchEngine: Đây là trường kiểu nguyên xác định search engine đề
thực hiện việc tìm kiếm. Qui định giá trị 0 là dùng toàn bộ search engine có
cài đặt kết nối để tìm kiếm; giá trị 1 dùng Google; giá trị 2 dùng Yahoo; giá
trị 3 là Hotbot; giá trị 4 là Altavista...
+ Finished: là trường trạng thái, nhằm xác định trạng thái của từ khóa là
đang có một module search engine thực hiện tìm kiếm (có thể là hoàn thành
rồi) hay chưa có module nào thực hiện, đây chính là thông tin mới cần tìm
kiếm. Chúng ta phải tạo ra trường này vì do Search engine có tạo ra nhiều thể
hiện để tìm kiếm nếu không quản lý trạng thái của từng record thì sẽ có nhiều
module tìm kiếm trùng lắp và không quản lý được.
Result Table
ID_Url
Long
ID_Wordterm
long
Url
Varchar(256)
Abstract
Varchar(255)
Location
Varchar(256)
+ ID_Url : trường khóa của bảng Result table.
+ ID_Wordterm : ID của từ khóa xác định. Đây là khóa ngoại của bảng
Request Table.
+ Url : Chứa địa chỉ của trang web liên quan với từ khóa mà chương trình tìm
kiếm được. Địa chỉ này có thể là dạng HTTP hay FPT.
+ Abstract : chứa abstract của trang web hay địa chỉ tìm được.
+ Location : Phần này dùng cho download engine. Nó chứa vị trí của tập tin
được download về.
4-16
Một số minh họa dữ liệu mẫu của hai bảng
Request Table
ID_Wordterm Wordterm MaxResult SearchEngine Finished
1 Data Mining 50 0 0
2 Machine
Learning
100 1 0
3 SOM 30 0 0
4 GIS 60 0 0
5 MS.NET 100 0 0
Result Table
ID_Url ID_Wordterm URL Abstract Location
1 2 www.ics.uci.edu/~mlearn UCI
Machine
Learning Group
2 2 www.cs.utexas.edu UTCS
Machine
Learning
Research Group
3 2 robotics.stanford.edu Introduction
to Machine
Learning
... ... ... ...
4.8.4.Cài đặt Search Agent:
Mô tả các hàm chức năng chính: Trong phần này chúng tôi xin chỉ
trình bày hai thủ tục được cài đặt chính trong Search Agent là
CreateSearchModule(int) và PerformSearching():
CreateSearchModule(int) : thực hiện chức năng tạo ra các thread
để thực hiện chức năng tìm kiếm. Đây chính là phần tạo tiểu trình
và gọi thủ tục PerformSearching()
4-17
CreateSearchModule(int)
Begin
While i=1 to n do
Begin
CreateThread( PerformSearching() )
StartThread( PerformSearching() )
End
End
PerformSearching(): Thủ tục này là phần chính của chương trình
Search Agent. Chức năng là truy cập CSDL lấy thông tin cần tìm
kiếm, sau đó vào Internet tìm kiếm và cuối cùng lưu kết quả vào
CSDL. Toàn bộ các lệnh này được nằm trong một vòng lặp.
Được quản lý bởi một cờ, khi cờ còn hiệu lực thì vòng lặp còn
thực hiện. Cờ hết hiệu lực khi chương trình Search Agent bị stop
(dùng Service manager).
PerformSearching()
Begin
While ( fContinue)
Begin
GetWordTerm(string wordterm)
If ( InvalidWordTerm(wordterm))
Continue
String content
Content = SearchInternet( wordterm)
FilterResult_SaveToDB( Content)
End
End
+ GetWordTerm( string) : lấy từ khóa cần tìm trong CSDL
+ InvalidWordTerm( string) : Kiểm tra xem từ khóa có hợp lệ hay
không.
4-18
+ string SearchInternet( string) : Thực hiện việc tìm kiếm trên
Internet trả về một chuỗi chính là nội dung của kết quả cần tìm.
Chuỗi này chính là nội dung của trang HTML chứa kết quả tìm được
từ các search engine.
CAgentActs::ExecuteRequestEx: hàm này thực hiện việc tìm kiếm
bằng cách dùng các hàm của WinInet. Đây là hàm quan trọng nhất
trong chương trình
CAgentActs::SaveData: Phân tích và lưu kết quả tìm kiếm vào trong
bảng SearchResult.
CClock::Wait: được kích hoạt một lầnkhi chương trình chính chạy.
Nó có nhiệm vụ tái kích hoạt chương trình chính tại một thời điểm
ấn định trước.
While (1)
{
If (begin)
Tính độ lệch n so với giờ thiết lập
If (độ lệch n = 0)
Tái kích hoạt lại dịch vụ
Else
{
Tạm ngưng dịch vụ trong khoảng thời gian n
Gán độ lệch n = 0
}
}
Miêu tả hoạt động của chương trình:
Khi chương trình bắt đầu thực hiện, tiểu trình chính sẽ đăng ký dịch
vụ với hệ thống (CServiceModule::Start).
Tiếp theo, tiểu trình chính sẽ tạo ra 1 tiểu trình mới để thực thi dịch
vụ chính của chương trình Search Agent
(CServiceModule::ServiceMain). Đồng thời chương trình cũng tạo
ra một tiểu trình chạy song song để tiến hành kích hoạt lại chương
trình vào thời điểm ấn định trước để cập nhật lại nội dung khi cần
thiết(CClock::Activate, CClock::Wait).
Khi chương trình Search Agent được kích hoạt
(CFactoryAgent::StartAgents), nó sẽ tạo ra các tiểu trình khác để
4-19
thực thi các chức năng tìm kiếm (CFactoryAgent::StartSearchProc)
và download (FactoryAgent::StartDownloadProc) tự động.
Toàn bộ kết quả tìm kiếm được ghi xuống cơ sở dữ liệu
(CAgentActs::SaveData) trước khi dịch vụ chuyển sang trạng thái
tạm dừng.
Sau khi chuyển sang trạng thái chờ, dịch vụ sẽ được kích hoạt trở lại
vào thời điểm đã định trước. Nếu không có công việc mới chương
trình lại tiếp tục chuyển sang trạng thái chờ và lại dược tái kích hoạt
khi đến giờ.
4.8.5.Kiểm thử:
Trong phần này nhóm làm phần mềm xin được báo cáo qua kết quả chạy thử
chương trình với dữ liệu thực để kiểm tra khả năng thực thi của chương trình.
Chương trình bắt đầu chạy lúc 16h với những số liệu ban đầu như sau:
Bảng 4.1: Dữ liệu đầu vào
Với dữ liệu đầu vào như Bảng 4.1, kết quả sau khi hoàn tất phải là 150 tập tin
*.html có nội dung chứa các từ khóa cần tìm. Tuy nhiên trên thực tế, chương trình
có thể không hoàn tất công việc ngay lần thực hiện đầu tiên mà chỉ thực hiện một
phần công việc sau đó chuyển sang trạng thái chờ đến thời điểm thích hợp để tiếp
4-20
tục thực hiện. Việc chương trình chuyển sang trạng thái tạm dừng có 2 nguyên
nhân như sau: đang kẹt mạng không thể kết nối vào Internet hoặc công việc đã
hoàn tất. Trong kết quả thử nghiệm đang trình bày, chương trình tạm dừng do
không thể kết nối vào Internet với kết quả thực hiện được thể hiện trong các bảng
sau:
Bảng 4.2: Kết quả tìm kiếm khi chương trình tạm dừng
Bảng 4.3: Kết quả download khi chương trình tạm dừng
4-21
Theo số liệu trong Bảng 4.2 và Bảng 4.3, chương trình tạm dừng vào lúc
18h58 với kết quả: đã hoàn tất việc tìm kiếm các từ khóa theo yêu cầu và
download được 62 trang HTML. Như vậy chương trình tạm dừng khi chưa hoàn
tất công việc.
Theo như cấu hình ban đầu, chương trình sẽ hoạt động trở lại vào lúc 2 giờ
hàng ngày. Sau khi chương trình tái kích hoạt, kết quả ghi nhận được như sau:
Bảng 4.4: Kết quả khi hoàn tất công việc
Như vậy, sau khi thực hiện lại chương trình đã có thể hoàn tất việc download
với kết quả download được 145 tập tin *.html (thêm 83 tập tin) so với yêu cầu ban
đầu là 150. Kết quả trên là chấp nhận được so với hiện trạng Internet của ta hiện
nay và hoàn toàn đáp ứng được cho nhu cầu cài đặt phục vụ thư viện số.
Trong Bảng 4.5 bên dưới là một phần của kết quả được lưu lại trong cơ sở dữ
liệu dùng để phục vụ cho hoạt động của thư viện số. (những vị trí có giá trị 1 trong
trường filespec có nghĩa là đã tiến hành dowload nhưng không thể hoàn tất được)
4-22
Bảng 4.5: Kết quả mẫu trong cơ sở dữ liệu
Trong Hình 4.6 và 4.7 bên dưới là một phần nội dung của hai trang Web đã
download được liên quan đến từ khóa “AOP”.
4-23
Hình 4.6
Hình 4.7
4-24
Trong phần kết của chương, nhóm phần mềm xin trình bày biểu đồ thống kê
sự hoạt động của Search Agent theo những số liệu mà chúng tôi thu thập được
trong quá trình chạy thử chương trình.
Mỗi đường trong biểu đồ cho biết khả năng làm việc của chương trình theo
từng thời điểm trong ngày ( số tập tin mà chương trình đã download được trong
một giờ ).
Từ kết quả thống kê, chúng ta nhận thấy, chương trình download làm việc tốt
nhất trong khoảng từ 1 đến 2 giờ sáng. Kết quả này đã giúp chúng tôi ấn định giờ
kích hoạt cho hệ thống.
5-1
CHƯƠNG 5
TÌM DÃY TỪ PHỔ BIẾN ĐỂ ĐẶC TRƯNG VĂN BẢN
VÀ HỖ TRỢ BIÊN MỤC TỰ ĐỘNG
5.1 CÂY HẬU TỐ MỞ RỘNG
Cây hậu tố T là một cây có hướng có gốc, biểu diễn một chuỗi s bất kỳ có
chiều dài m với đúng m nút lá. Mỗi cạnh trên cây hậu tố đều được gán nhãn
bằng một chuỗi con khác rỗng của chuỗi s . Các nhãn của hai cạnh bất kỳ xuất
phát từ một nút chung phải bắt đầu bằng các ký tự khác nhau. Đối với nút lá
của cây hậu tố, việc kết các nhãn của các nút nằm trên con đường đi từ gốc
đến nút lá đó sẽ tạo thành một hậu tố của chuỗi s.
Cây hậu tố mở rộng là một cây hậu tố nhằm kết tất cả các hậu tố của các
trình tự trong tập chuỗi S.
Ví dụ : Hình 5.1 là cây hậu tố ứng với chuỗi ACGACT. Các hậu tố của chuỗi
trên là: ACGACT; CGACT; GACT; ACT;CT;T.
Hình 5.1: Cây hậu tố
5.1.1 Lý do sử dụng cây hậu tố mở rộng
Thao tác đầu tiên hệ thống phải thực hiện là phải tìm và lưu trữ tất cả các
dãy từ ( tập các từ liền nhau) trong một văn bản, tập văn bản và toàn bộ thông
tin cần thiết của chúng. Điều này dẫn đến khó khăn rất lớn cho hệ thống vì số
lượng các dãy từ trong mỗi văn bản có kích thước, cấu trúc câu, cách viết
câu khác nhau rất lớn. Điều này có thể được chứng minh như sau:
5-2
-Số dãy từ trong câu có thể tăng theo bình phương số từ của câu đó:
Giả sử câu S gồm n từ W1 W2…Wn.Khi đó,các dãy từ của S sẽ gồm:
o Bắt đầu bằng W1 có n dãy từ:
W1,W1W2,……,W1W2…Wn
o Bắt đầu bằng W2 có n-1 dãy từ: W2,W2W3,……,W2W3…Wn
........................................................................................................
o Bắt đầu bằng Wn có 1 dãy từ: Wn
Nếu các từ trong câu S là khác nhau từng đôi một thì số dãy từ tối
đa của S sẽ là : ∑
=
n
i
i
1
= n*(n+1)/2 ≈ n2/2 dãy từ
- Số dãy từ trong văn bản tăng theo bình phương kích thước của nó:
Giả sử văn bản d gồm k câu:
o S1 có n1 từ (có tối đa n12/2 dãy từ)
o S2 có n2 từ (có tối đa n22/2 dãy từ)
o …………………
o Sk có nk từ (có tối đa nk2/2 dãy từ)
Khi đó, số dãy từ tối đa của văn bản d sẽ là: ∑
=
k
i 1
ni2/2 ≤ (∑
=
k
i 1
ni)2/2 = n2/2
với n là số từ trong văn bản d. Trong trường hợp xấu nhất, văn bản d chỉ có
một câu, mỗi từ là một kí tự thì khi đó n = Kích thước (d)/2. Khi đó, số dãy
từ tối đa của d có thể sẽ là : Kích thước(d)2/8.
Qua chứng minh trên , ta nhận xét rằng, số lượng dãy từ phải xử lý
trong các văn bản là rất lớn.Vì vậy việc ghi nhận và xử lý chúng mất rất
nhiều thời gian và không gian lưu trữ. Điều này bắt buộc hệ thống phải thỏa
mãn các yêu cầu chính về mặt tìm kiếm và lưu trữ, hệ thống phải thỏa mãn
một số yêu cầu sau:
• Tính hiệu quả:việc tìm kiếm phải tiến hành với tốc độ chấp nhận, lưu
trữ thuận lợi cho việc rút trích các đặc trưng của các văn bản với
không gian lưu trữ tối ưu.
5-3
• Tính dễ mở rộng (Tính tăng cường): Trên thực tế, các văn bản trong
tập văn bản không phải cố định mà càng ngày càng được tăng cường
mở rộng theo nhu cầu và tính chất công việc của người sử dụng.Lấy
ví dụ:Giả sử ban đầu tập văn bản chỉ có 10 văn bản nhưng sau đó cần
phải xử lý trên tập văn bản mới gồm 20 văn bản trong đó có 10 văn
bản của tập ban đầu. Việc xử lý lại từ đầu 20 văn bản này là rất khó
khăn và tốn kém về mặt thời gian và chi phí. Do vậy, hệ thống phải
được xây dựng sao cho có thể kế thừa các kết quả phân tích và xử lý
của tập văn bản ban đầu. Nói cách khác, hệ thống phải có khả năng
tăng cường tức là từ tập D={d1,d2,,dn} có thể dễ dàng phát triển với
tập D’ với D⊂D’
5.1.2 Các đặc điểm nổi bật của cây hậu tố
Cây hậu tố là cấu trúc dữ liệu thích hợp để giải quyết bài toán tìm kiếm
và lưu trữ các cụm từ cũng như các thông tin liên quan của nó trong từng
văn bản và tập văn bản. Các đặc điểm chính của cây hậu tố có thể tóm lược
là:
- Dễ mở rộng (tính tăng cường): đây là một trong những đặc điểm
chính của cây hậu tố. Cây hậu tố có thể được tăng cường vào thêm 1 hoặc
nhiều văn bản mà không cần phải thực hiện việc tìm kiếm các dãy từ lại từ
đầu. Đặc điểm này cho phép hệ thống dễ dàng “học” mở rộng với tập văn
bản lớn với nhiều loại văn bản khác nhau và đồng thời giảm rất nhiều thời
gian xử lý. Đặc điểm này giúp hệ thống không bị giới hạn về không gian
làm việc cũng như khối lượng dữ liệu.
- Các dãy từ không bị giới hạn về chiều dài vì chiều cao của cây hậu tố
không bị giới hạn.Đặc điểm này cho phép hệ thống có khả năng xử lý
được nhiều loại văn bản có các câu rất dài (nhiều từ).
-Việc rút trích các thông tin về các dãy từ phục vụ cho việc rút trích
các đặc trưng văn bản rất dễ dàng và nhanh chóng.
5-4
5.1.3 Các thành phần của cây hậu tố
Cây hậu tố được tổ chức thành cây gồm nhiều nút. Mỗi nút sẽ lưu trữ tất cả
các thông tin về các cụm từ ( tần số xuất hiện trong tập văn bản, tần số xuất
hiện trong từng văn bản) trong khi quan hệ giữa chúng lại nói lên sự tồn tại
của các cụm từ.Thành phần mỗi nút như sau:
key count listid child next
Mô tả chi tiết:
Mỗi nút của cây hậu tố gồm có 2 thành phần key, count lưu trữ dữ
liệu thật sự của mỗi nút và 3 thành phần listid , child , next là các con trỏ
cho biết mối quan hệ giữa các nút với nhau. Có 2 loại quan hệ giữa các nút.
Đó là:
-Quan hệ“anh em”:Hai nút m, n được gọi là 2 nút anh em nếu:
(i) Thành phần next của m trỏ đến nút n
(ii) Thành phần next của n trỏ đến nút m
(iii)Tồn tại nút k sao cho: (m,k),(n,k) là 2 cặp nút anh em
-Quan hệ “cha con”:Nút m là nút cha của n nếu:
(i) Thành phần child của m trỏ đến nút n
(ii)Tồn tại nút k sao cho:m là cha của k,k là anh em với n
Chi tiết các thành phần của mỗi nút được qui ước như sau:
• Child: Đây là con trỏ trỏ đến nút con của nút hiện hành. Con trỏ này
cũng nói lên sự tồn tại của các cụm từ. Giả sử có cụm từ W1 W2 … Wn
khi đó để lưu trữ cụm từ này, cây hậu tố phải được tổ chức sao cho
tồn tại đường đi từ nút gốc đến các nút N1, N2, …, Nn ( Ni.Key = Wi
∀ i∈{1,…,n}) nghĩa là:
(i)Nút gốc là nút cha của N1
(ii)Nút Ni là nút cha của Ni+1 ∀ i∈{1,…,n-1}
(Trong đó nút gốc có trường Key là rỗng)
5-5
Bên cạnh đó, việc sử dụng con trỏ này cho phép ta xây dựng cây hậu tố
có chiều cao không bị giới hạn và điều đó cho phép hệ thống của
chúng ta có thể xử lý được nhiều câu rất dài.
• Next:Trỏ đến nút anh em kế tiếp của nút hiện hành. Con trỏ này nói
lên quan hệ anh em giữa nút hiện hành và nút mà nó trỏ đến. Việc sử
dụng con trỏ này làm giảm đáng kể không gian lưu trữ. Giả sử ta có 2
dãy từ như sau:
Dãy từ 1:W1 W2…Wi Wi+1..Wn
Dãy từ 2:W1 W2…Wi W’i+1 … W’m
Hai dãy từ trên có i từ đầu giống nhau và Wi+1 ≠ W’i+1. Giả sử đã tồn
tại một đường đi từ nút gốc đến
N1,N2,…,Nn(Ni.Key=Wi∀ i∈{1,…,n}) . Khi đó, để lưu trữ dãy từ 2 ta
phải tạo các nút Mi+1,…,Mm (Mj.Key = W’j ∀ j ∈{i+1,…,m} và Mj là
nút cha của Mj+1∀ j∈ {i+1,…,m-1}) và được nối với cụm từ 1 thông
qua việc gán Ni+1.Next = Địa chỉ nút (Mi+1). Rõ ràng chúng ta chỉ
cần n+(m-(i+1)+1) = n+m-i nút để lưu trữ 2 dãy từ này. Điều này
làm giảm đáng kể không gian lưu trữ.
Bằng việc dùng các con trỏ Child và Next, hệ thống có khả năng mở
rộng với tập văn bản lớn hơn.
• Key: Lưu trữ một từ. Gọi nút hiện hành này là N và giả sử con đường
đi từ nút gốc đến nút hiện hành có dạng như sau:N1, N2, …,Nn, N. Điều
này có nghĩa là ta đã lưu dãy từ N1.key … Nn.key N.key trên cây
hậu tố. Nói cách khác,thành phần này lưu trữ từ cuối cùng của dãy từ
có các từ là giá trị khoá của các nút trong đường đi từ nút gốc đến nút
hiện hành.
• Listid: Đây là con trỏ trỏ đến danh sách các văn bản chứa cụm từ kể từ
nút gốc đến nút hiện hành như đã mô tả trong phần trên. Mỗi phần tử
trong danh sách gồm có các thành phần sau:
id count next
5-6
Ý nghĩa các thành phần như sau:
STT THÀNH PHẦN Ý NGHĨA
1 id Mã số văn bản chứa cụm từ đang xét
2 count Số lần (tần xuất) xuất hiện của cụm từ đang xét
trong văn bản Id
3 next Trỏ đến phần tử kế tiếp
• Count: Cho biết số lần xuất hiện (tần xuất) của cụm từ kể từ nút gốc
đến nút hiện hành trong tập văn bản ( hay số văn bản có chứa cụm từ
đang xét).Như vậy, số phần tử trong danh sách liên kết trỏ bởi thành
phần listid phải đúng bằng count.
Ví dụ: Chúng ta có 3 văn bản như sau:
Văn bản 1: Cat ate cheese; Văn bản 2: Mouse ate cheese too.
Văn bản 3: Cat ate mouse too.
Khi đó, cây hậu tố của tập D = {văn bản 1, văn bản 2, văn bản3} sẽ có
dạng như hình vẽ 5.2.
Con số trên mỗi nút cho biết số văn bản chứa cụm từ(tính từ gốc).Các con số
trong dấu ngoặc [] cho biết mã của các văn bản có chứa những cụm từ này.
Hình 5.2: Cây hậu tố của tập văn bản {d1,d2,d3}
cat
root
Che mo too
ate
ches mo
too
mo
too
too ate too
che
too
2 [1 3] 2 [1 2] 2 [2 3] 2 [2 3]
2 [1 3]
1 [1] 1 [3]
1 [3]
1 [3]
1 [2] 1 [2]
1 [2]
1 [2]
1 [3]
ate
Ch
3 [1,2,3]
2[1 2]
5-7
Trong caây haäu toá, caùc nuùt caøng naèm ôû möùc cao (gaàn nuùt goác) caøng
chöùa ít vaên baûn. Ñieàu naøy phuø hôïp vôùi thöïc teá vì nhöõng cuïm töø caøng daøi
(coù nhieàu chöõ ) thì caøng hieám xuaát hieän trong taäp vaên baûn thaäm chí
ngay caû trong töøng vaên baûn thaønh phaàn. Ñaây cuõng laø nhöõng ñaëc ñieåm noåi
baät cuûa caây haäu toá. Ñaëc ñieåm naøy cho pheùp ngöôøi söû duïng coù theå tìm
kieám caùc cuïm töø phoå bieán nhanh choùng hôn so vôùi caùc phöông phaùp khaùc vì
khi duyeät caây neáu nuùt cha coù soá löôïng caùc vaên baûn nhoû hôn ngöôõng truy vaán
cho tröôùc thì taát caû caùc nuùt con cuûa noù khoâng caàn phaûi xem xeùt.
5.1.4 Löu tröõ caây haäu toá
Caâyhaäu toá laø moät caáu truùc döõ lieäu phöùc taïp vaø khoâng ngöøng phaùt
trieån môû roäng theo soá löôïng caùc vaên baûn trong caùc taäp vaên baûn maø chuùng
ta caàn phaân cuïm. Do ñoù, heä thoáng khoâng theå löu tröõ caây haäu toá treân boä nhôù
maø phaûi löu tröõ treân ñóa.Vieäc löu tröõ caây haäu toá treân ñóa ngoaøi yeâu caàu
baûo ñaûm söï chính xaùc vaø toaøn veïn döõ lieäu coøn phaûi baûo ñaûm ñöôïc caùc
tính chaát quan troïng khaùc cuûa caây haäu toá nhaát laø tính taêng cöôøng.
Löu tröõ caây haäu toá chính laø löu tröõ caùc nuùt vaø moái quan heä giöõa
caùc nuùt cuûa chuùng. Caùc nuùt cuûa caây haäu toá ñöôïc löu tröõ treân ñóa döôùi
daïng caùc Record. Caùc Record naøy seõ löu tröõ caùc thoâng tin cuûa nuùt cuõng nhö
moái quan heä giöõa caùc nuùt vôùi nhau. Caáu truùc naøy ñöôïc ñònh nghóa trong
ngoân ngöõ C nhö sau:
typedef struct {
char key[20];
DWORD count;
DWORD listid;
DWORD child;
DWORD next;
}NODE;
5-8
Moâ taû chi tieát caùc tröôøng cuûa caáu truùc NODE:
STT Tröôøng YÙ nghóa Kieåu Raøng buoäc
1 Key Löu tröõ khoùa cuûa nuùt ñang
xeùt trong caây haäu toá
Chuoãi Chieàu daøi
khoâng quaù 20
bytes
2 count Löu tröõ soá löôïng vaên baûn
cuûa nuùt ñang xeùt
Soá nguyeân Khoâng aâm
3 listid Vò trí cuûa danh saùch maõ soá
caùc vaên baûn treân ñóa
Soá nguyeân Khoâng aâm
4 child Vò trí nuùt con ñaàu tieân cuûa
nuùt ñang xeùt treân ñóa
Soá nguyeân Khoâng aâm
5 next Vò trí nuùt anh em ñaàu tieân
cuûa nuùt ñang xeùt treân ñóa
Soá nguyeân Khoâng aâm
Tuy nhieân ñeå giaûm kích thöôùc file löu tröõ caây haäu toá, ta coù theå löu tröõ maõ
soá caùc vaên baûn taïi moãi nuùt leân moät file döõ lieäu khaùc nhaèm giaûm thôøi
gian ñoïc vaø di dôøi ñaàu ñoïc cuûa ñóa. File naøy cuõng ñöôïc toå chöùc döôùi daïng
caùc Record lieân tieáp nhau vôùi caáu truùc ñöôïc ñònh nghóa nhö sau:
typedef struct {
DWORD id;
DWORD count;
DWORD next;
} LISTID;
Moâ taû chi tieát caùc tröôøng cuûa caáu truùc LISTID:
STT Tröôøng YÙ nghóa Kieåu Raøng buoäc
1 Id Maõ soá cuûa vaên baûn chöùa
cuïm töø ñang xeùt
Soá
nguyeân
Khoâng aâm
2 count Soá laàn xuaát hieän cuïm töø
ñang xeùt trong vaên baûn coù
maõ soá laø id
Soá
nguyeân
Khoâng aâm
3 next Vò trí cuûa phaàn töû khaùc
treân ñóa
Soá
nguyeân
Khoâng aâm
5-9
5.2 CÁC THUẬT GIẢI TRÊN CÂY HẬU TỐ
5.2.1 Thuật giải tăng cường
“Thuật giải tăng cường” là một loại thuật giải quan trọng trong việc giải
quyết bài toán tăng cường được sử dụng trong các lĩnh vực khai thác dữ liệu.
Mục đích của việc tăng cường là cho phép người sử dụng có thể tận dụng lại
các kết quả đã được xây dựng trước và làm giảm tối thiểu thời gian, chi phí
xử lý của hệ thống.
Thuật giải tăng cường chủ yếu nhằm để lưu trữ các dãy từ trong tập văn
bản cũng như tần số xuất hiện của nó trong từng văn bản và toàn tập văn
bản. Khi ta tăng cường thêm một số văn bản vào tập văn bản ban đầu, hệ
thống sẽ tự động thêm và cập nhật lại các thông tin về các dãy từ trong hệ
thống.
Để tăng cường các văn bản vào cây hậu tố, các văn bản trước hết sẽ được
qua bước tiền xử lý để lọc những thông tin không cần thiết. Sau đó, hệ
thống sẽ lấy các câu trong từng văn bản và các hậu tố của các câu này sẽ
được thêm và cập nhật vào cây hậu tố. Hậu tố của một câu là tất cả các từ
nằm liên tiếp nhau trong câu đó.
Ví dụ: Câu “cat ate cheese” có các hậu tố là:
cat ate cheese, cat ate, cat
ate cheese,ate
cheese
Giả sử trong văn bản d có câu S = T0 T1 … Tm-1 với m là số chữ của S
và Ti (i ∈ {0,1,..,m-1}) là các chữ của nó. S có thể có nhiều hậu tố khác
nhau. Gọi các hậu tố của câu S là Suffix(S). Thuật giải tăng cường câu S
trong văn bản d sẽ được thực hiện thông qua việc tăng cường từng hậu tố
của nó S vào trong cây. Việc tăng cường hậu tố sf ∈ Suffix(S) trong đó sf =
W0 W1 …Wn-1 với n là số chữ của sf được tiến hành như sau:
-Tìm số nguyên j lớn nhất (0 ≤ j ≤ n) sao cho W0 W1…Wj-1 là một
nhánh trong cây hậu tố. Gọi nhánh vừa tìm được là N0 N1 … Nj-1 với Ni là
5-10
nút cha của Ni+1 ∀ i ∈{0,1,…,j-2}. Gọi d(N) là danh sách phần tử LISTID
tại nút N. Khi đó, tại mỗi nút Ni ta kiểm tra xem có phần tử nào trong d(Ni)
có thành phần mã id là d hay không? Có hai trường hợp xảy ra:
(i) Nếu phần tử k trong d(Ni) có mã văn bản id thì ta phải tăng giá trị
k.count lên 1 đơn vị nghĩa là tăng số lần xuất hiện của hậu tố sf trong văn
bản d lên 1.
(ii)Nếu không có phần tử nào trong d(Ni) có thành phần mã văn bản bằng
d thì ta phải thêm phần tử LISTID mới vào trong d(Ni) với thành phần mã
văn bản id là d và thành phần count của nó là 1. Điều này có nghĩa là hệ
thống ghi nhận sự xuất hiện của dãy từ đang xét trong văn bản d và số lần
xuất hiện của sf trong d tạm thời là 1. Cuối cùng tăng trường count của nút
hiện hành lên 1 để cập nhật lại tần số xuất hiện của dãy từ sf trong tập văn
bản.
-Gọi C là tập hợp các nút con của nút Nj-1.Giả sử C gồm t phần tử là C0,
C1, …, Ct-1. Trong đó thành phần con trỏ next của Ci trỏ đến Ci+1 ( i =
{0,1,..,t-1}). Tạo nhánh mới Nj, Nj+1, …,Nn-1 mà mỗi nút trong danh sách này
là nút cha của nút đứng phía sau nó và thành phần khóa của mỗi nút Ni (i =
{j,…...,n-1}) chính là Wi và thành phần listid của Ni chỉ có đơn giản có một
phần tử có mã văn bản là d và tần số xuất hiện trong d là 1. Sau đó, để gắn
nhánh mới này vào cây hậu tố ta chỉ việc cho con trỏ next của nút Ck (với
Ck.Key 0), con trỏ
next của Nj trỏ đến nút Ck+1 (nếu k+1<t) . Trong trường hợp t=0 ( nút Nj-1
không có nút con) ta cho con trỏ child của nút Nj-1 trỏ đến Nj.
Chi tiết thuật giải tăng cường trên cây hậu tố:
Input: (i) Câu S = W0 W1 Wn-1 , n : số chữ trong S
(ii) Văn bản d chứa câu S
(iii)Cây hậu tố đã xây dựng sẵn
Output:
Cây hậu tố sau khi tăng cường với các cụm từ được sắp xếp
5-11
Bước 1:
j = 0
m = 1
Xét nút gốc N
Bước 2:
Nếu N.key = Wj thì
{
j = j + 1
Nếu N.child khác NULL thì làm
{
m = 1
N = N.child
Trở lại bước 2
}
Ngược lại:Qua bước 4
}
Ngược lại qua bước 3
Bước 3:
Nếu N.next khác NULL thì
{
N = N.next
m = m + 1
Trở lại bước 2
}
Qua bước 4
Bước 4:
Tạo nhánh Nj Nj+1 … Nn-1 bằng cách
For i=j to n-1 do
{
5-12
Ni.key = Wi
Ni.listid = (d, 1)
}
for i=j+1 to n-1 do
{
Ni-1.child = Ni
}
Bước 5:
• Nếu m > 0 thì Nj-1.next = Nj
• Ngược lại Nj-1.child = Nj
Bước 6:
• Loại chữ đầu tiên ra khỏi câu S để xét các hậu tố khác
• n = n-1
• Nếu n=0:dừng thuật toán
• Ngược lại:trở lại Bước 1 xử lý cho hậu tố S
Quá trình này sẽ kết thúc khi n = 0 nghĩa là khi đã cập nhật toàn bộ các
hậu tố của câu S ban đầu vào cây hậu tố.
5.2.2 Thuật giải duyệt cây hậu tố
Mục đích của việc duyệt cây hậu tố nhằm cho phép người sử dụng có thể
xem toàn bộ các thông tin về các dãy từ trong toàn tập văn bản. Số lượng
các dãy từ trong toàn tập văn bản cũng như trong các văn bản thành phần là
rất lớn nên kích thước cây hậu tố cũng rất lớn. Điều này không cho phép sử
dụng các thuật giải duyệt cây đệ quy truyền thống để duyệt toàn bộ nội dung
của nó. Thuật giải duyệt cây hậu tố được xây dựng trong đề tài này là
thuật toán không dùng phương pháp đệ quy, có khả năng hiển thị toàn bộ
các thông tin về các cụm từ trong toàn tập văn bản với cây hậu tố có kích
thước lớn.
5-13
Trong đề tài này, phương pháp duyệt theo chiều sâu được áp dụng để
duyệt toàn bộ nội dung của cây hậu tố. Đầu tiên ta xem xét nút gốc. Sau khi
xem xét xong nút hiện hành, ta lại xét các nút con của nó cho đến khi gặp
nút lá. Tại nút này ta tiến hành quay ngược lên các nút cha của nó. Quá
trình quay ngược sẽ dừng khi ta gặp nút gốc thì chấm dứt quá trình duyệt
hoặc đến nút cha nào đó mà tại nút này vẫn còn những nút “anh em” chưa
được duyệt và ta lại duyệt tiếp nút kế nó.Vì số nút trong cây hậu tố là hữu
hạn nên quá trình này sẽ kết thúc sau một thời gian cụ thể.
Thuật giải duyệt cây được tiến hành qua các bước :
Input: Cây hậu tố
Output: Thông tin của cây hậu tố
Bước 1:
k = 0
N0=nút gốc
Bước 2:(duyệt theo chiều sâu)
Duyệt Nk
Nếu Nk.child khác NULL thì
{
k = k + 1
Nk+1 = Nk.child
Trở lại Bước 2
}
Ngược lại qua bước 3
Bước 3:(Quay lui)
k = k – 1
Nếu k < 0:(đến nút gốc) dừng thuật toán
Ngược lại:
Nếu Nk.next khác NULL thì
{
Nk = Nk.next
5-14
Quay lại bước 2
}
Ngược lại:quay lại Bước 3
Ví dụ: Với tập văn bản gồm 3 văn bản sau:
d1:cat ate cheese
d2:mouse ate cheese too
d3:cat ate mouse too
thì các dãy từ của tập văn bản này là:
ate [3]( 1 2 3)
ate cheese [2]( 2 3)
ate cheese too [1]( 2)
ate mouse [1]( 1)
ate mouse too [1]( 1)
cat [2]( 1 3)
cat ate [2]( 1 3)
cat ate cheese [1]( 3)
cat ate mouse [1]( 1)
cat ate mouse too [1]( 1)
cheese [2]( 2 3)
cheese too [1]( 2)
mouse [2]( 1 2)
mouse ate [1]( 2)
mouse ate cheese [1]( 2)
mouse ate cheese too [1]( 2)
mouse too [1]( 1)
too [2]( 1 2)
5-15
5.2.3 Thuật giải tìm dãy từ phổ biến
Dãy từ là tập hợp nhiều từ đứng cạnh nhau, có thể không có ý nghĩa về mặt
cú pháp và ngữ nghĩa. Dãy từ phổ biến là dãy từ có số lần xuất hiện trong tập
văn bản lớn hơn một ngưỡng cho trước. Thuật giải tìm kiếm các dãy từ phổ
biến theo ngưỡng phổ biến τ được tiến hành qua các bước sau:
Input:
Cây hậu tố
Ngưỡng τ
Output:
Tập các dãy từ phổ biến
Bước 1:
k = 0
N0= nút gốc
T = φ
Bước 2:(duyệt theo chiều sâu)
Nếu Nk.count >=τ thì
{
T = T ∪ {Nk.key}
Nếu Nk.child khác NULL thì
{
k = k + 1
Nk+1 = Nk.child
Trở lại Bước 2
}
Ngược lại qua bước 3
}
Ngược lại:
{
5-16
Thông báo T là dãy từ phổ biến
Qua bước 3
}
Bước 3:(Quay lui)
T = T \ {Nk.key}
k = k – 1
Nếu k < 0:(đến nút gốc) dừng thuật giải
Ngược lại:
Nếu Nk.next khác NULL thì
{
Nk = Nk.next
Quay lại bước 2
}
Ngược lại:quay lại Bước 3
Ví dụ: Một số dãy từ phổ biến được phát hiện từ việc phân tích khối ngữ liệu
văn bản các tóm tắt báo cáo khoa học, với ngưỡng được chọn là 2 (văn bản):
text, retrieval, using, map, documents, organized, model, space, of*a,
document, k, able to, algorithm, as the feature vectors, som, of the about, the
mapping, documents, million, patent, search, keyword selection
method,characterizing, of data the clusters, the method, order, websom, textual
data, and filtering, information, a tool, text documents, document maps, maps,
method, on the, encoded,word,self-organizing, dimensionality reduction
is,random, the data, the original dimensionality, vectors.
5-17
5.3 TẠO VECTOR ĐẶC TRƯNG VĂN BẢN
5.3.1.Mô hình không gian vector các dãy từ phổ biến trong khối ngữ liệu
Trong mô hình không gian vector có thành phần là các dãy từ (các từ liền
nhau) xuất hiện phổ biến trong ít nhất là hai văn bản, mỗi văn bản được đại
diện bằng vector các dãy từ phổ biến. Một tập các văn bản (khối ngữ liệu)
được đại diện bằng một ma trận A có dòng là văn bản và cột là các dãy từ phổ
biến. Mỗi phần tử aik của ma trận A cho biết trọng số của dãy từ k trong văn
bản thứ i. Gọi M là số dòng của ma trận (số văn bản) trong khối ngữ liệu, gọi
N số cột (số dãy từ phổ biến) của khối dữ liệu, fik là tần số xuất hiện của dãy
từ phổ biến thứ k trong văn bản i, nk là số văn bản có chứa dãy từ phổ biến
thứ k trong khối ngữ liệu. Có nhiều cách để ấn định trọng số aik. Một số
cách tiêu biểu như:
a) Trị nhị phân
aik = 1 nếu fik ≥ 0 và aik = 0 nếu ngược lại
b) Tần số của dãy từ
aik = fik
c) Hệ số tfidf
Các cách trên không tính đến tần số của dãy từ phổ biến trong tất cả các văn
bản trong khối ngữ liệu. Một tiếp cận khác để tính trọng của dãy từ là sử dụng
hệ số tfidf ( term frequency. Inversed document frequency) để gán trọng cho
dãy từ k trong văn bản i là aik = fik x log( M/nk )
5.3.2. Rút gọn chiều
Như đã trình bày ở trên mỗi dãy từ phổ biến sẽ ứng với một chiều trong không
gian vector đặc trưng cho văn bản. Trong khối ngữ liệu lớn với hàng ngàn văn
bản, số dãy từ phổ biến có thể lên đến hàng chục ngàn. Do vậy cần các
phương pháp để rút gọn chiều của không gian vector đại diện văn bản. Mục
đích của bước rút gọn chiều là loại bỏ các từ hoặc dãy từ không chứa thông tin
để cải thiện khả năng đặc trưng của vector cho văn bản. Một số phương pháp
rút gọn chiều tiêu biểu có thể liệt kê như sau:
5-18
a)Ngưỡng tần số văn bản
Tần số văn bản của một dãy từ là số lượng văn bản có chứa dãy từ đó. Các
từ hoặc dãy từ có tần số văn bản nhỏ hơn hoặc bằng một ngưỡng cho trước
(ngưỡng tần số văn bản) sẽ bị loại bỏ.
b)Các hư từ hoặc từ kết thúc
Các hư từ là các từ xuất hiện phổ biến nhưng không mang thông tin nào cả.
Trong các văn bản tiếng Anh các hư từ thường là giới từ, đại từ, liên từ như:
a, an, i , of, about, where, that, when. . .
5.3.3. Tạo vector đặc trưng văn bản
5.3.3.1. Tiếp cận truyền thống
Khối ngữ liệu văn bản được phân tích để tìm các dãy từ phổ biến. Sau khi rút
gọn đặc trưng, các vector nhị phân đặc trưng cho văn bản sẽ được tạo theo cơ
chế trị nhị phân. Thành phần thứ aik =1 nếu văn bản i có chứa dãy từ k và
aik=0 nếu ngược lại.
Một văn bản bản được đại diện bởi một điểm trong không gian n chiều (n là số
dãy từ phổ biến trong khối ngữ liệu nhiều văn bản), trong đó mỗi thành phần
của véc tơ có giá trị 1 hay 0 tùy thuộc vào sự có mặt hay không của cụm từ đó
trong văn bản hiện hành ta đang xét.
Goi T = {T1, T2,…,Tm} là tập các dãy từ phổ biến với ngưỡng τ
Mỗi văn bản di ∈ D sẽ được đặc trưng thành vector vi m chiều
Trong đó:
vi =
với
0 nếu Tj không xuất hiện trong di
vij =
1 nếu Tj xuất hiện trong di
Ví dụ:
Giả sử ta có 3 văn bản:
5-19
d1:“cat ate cheese”
d2: “mouse ate cheese too”
d3: “cat ate mouse too”
Với ngưỡng τ = 2, ta có 7 cụm từ phổ biến là:
T ={cat, cat ate, ate, ate cheese, cheese, mouse, too}
Khi đó:
d1 đặc trưng thành v1(1, 1, 1, 1, 1, 0, 0)
d2 đặc trưng thành v2(0, 0, 1, 1, 1, 1, 1)
d3 đặc trưng thành v3(1, 1, 1, 0, 0, 1, 1)
5.3.3.2. Tiếp cận cải tiến có sử dụng từ gần nghĩa
Trong tâp các dãy từ phổ biến này có thể có các từ đồng nghĩa hoặc gần
nghĩa với nhau. Ví dụ tập các dãy từ phổ biến có chứa từ "man" và "person".
Giả sử trong văn bản thứ nhất có chứa từ "man" và không có chứa từ "person",
trong văn bản thứ hai có chứa từ "person" nhưng không có chứa từ "man".
Theo cách truyền thống vector đặc trưng cho văn bản thứ nhất sẽ có trị 1 ứng
với thành phần "man" và có trị 0 ứng với từ "person"; vector đặc trưng cho
văn bản hai sẽ có trị 0 ứng với thành phần "man" và có trị 1 ứng với từ
"person". Tuy vậy, giữa từ "person" và từ "man" có liên hệ về nghĩa với nhau
vì man (người đàn ông, nhân loại) và person( người) nhưng trong tiếp cận
truyền thống không xem xét khả năng này.
Gần đây một số tác giả như Elle M. Voorhees (1998), Darin Brezeale(1999)
đã quan tâm đến từ đồng nghĩa trong mô hình vector đặc trưng cho văn bản
nhằm nâng cao khả năng phân lớp hoặc gom cụm văn bản trong đó quan hệ
giữa các văn bản được bổ sung thêm quan hệ gần nghĩa giữa các từ. Sau khi đã
phát hiện được các từ gần nghĩa nhau, Darin Brezeale đã điều chỉnh các thành
phần của vector nhị phân đặc trưng cho văn bản. Trong ví dụ trên, văn bản thứ
nhất có chứa từ "man" và không có chứa từ "person" nhưng do từ "man" và
"person" có quan hệ gần nghĩa nên thành phần "person" trong vector đặc trưng
cho văn bản thứ nhất sẽ được điều chỉnh thành trị 1. Vấn đề đặt ra là làm thế
5-20
nào để đo đạc mức độ đồng nghĩa giữa hai từ? Darin Bre.zeale(1999) đã sử
dụng WordNet được cung cấp miễn phí trên Internet để thực hiện vần đề này.
WordNet là tên của một dự án được khởi động từ năm 1985 do George Miller
đề xướng nhằm thiết kế hệ thống cho phép tra cứu từ điển tiếng Anh theo khái
niệm của từ. WordNet hiện đang được lưu trên Internet và có thể mang về sử
dụng trên máy tính cá nhân. Wordnet tổ chức thông tin theo nghĩa của từ thay
vì dạng từ. Như trong các từ điển tiếng Anh truyền thống, Wordnet chứa các
thông tin cơ bản về từ. Bên cạnh đó, WordNet còn chứa một thông tin hữu ích
là các quan hệ giữa các từ trong đó có quan hệ đồng nghĩa và quan hệ
hypernym. Quan hệ hypernym của một từ là một từ tổng quát hơn thỏa phát
biểu " là một loại của ". Ví dụ tree "là một loại của" plant, plant "là một loại
của" organism". Hình 5.3 là một đồ thị biểu diễn quan hệ " là một loại của"
của các từ organism, plant, flora, tree, bush, aralia.
Hình 5.3. Ñoà thò quan heä hypernym giöõa caùc danh töø
WordNet lưu trữ các danh từ, động từ, tính từ, trạng tự. Trong tiếp cận
của Darin Brezeale, chỉ sử dụng danh từ làm cơ sở phát triển thuật giải. Theo
G.Miller, WordNet có 25 nhóm danh từ như sau:
Organism
Plant Flora
Tree Bush Aralia
5-21
{act, activity} {animal,fauna} {artifact}
{attribute} {body} {cognition,knowledge}
{communication} {event, happening} {feeeling, emotion}
{food} {group, grouping} {location}
{motivation, motive} {natural object} {natural phenomenon}
{person, human being} {plant, flora} {possesion}
{process} {quantity, amount} {relation}
{shape} {state} {substance}
{time}
WordNet cung cấp nhiều cách để xác định các từ có quan hệ ngữ nghĩa với
nhau. Tiếp cận của Darin Brezeale đã sử dụng cấu trúc cây hypernym của một
từ nhằm phát hiện quan hệ gần nghĩa của hai từ. Sau khi đã xác lập được cây
chứa hai từ cần xét, sẽ duyệt cây để xem hai từ này có chung tổ tiên hay
không và tính số nút từ nút ứng với từ cần xét đến nút tổ tiên chung. Khoảng
cách ngữ nghĩa giữa hai từ bằng tổng khoảng cách của con đường đi từ hai từ
đến nút tổ tiên chung. Khoảng cách này càng ngắn thì hai từ càng gần nghĩa.
Ví dụ với cây hypernym trong hình 5.3, khoảng cách giữa từ "tree" và từ
"flora" là 3, khoảng cách giữa từ "plant" và "flora" là 2.
Để điều chỉnh các thành phần của vector nhị phân đặc trưng văn bản ừng với
các từ gần nghĩa, Darin Brezeale đã sử dụng ngưỡng gần nghĩa. Chỉ có các căp
từ có mức độ gần nghĩa nhỏ hơn hoặc bằng ngưỡng này thì các thành phần
tương ứng trong vector đặc trưng mới bị điều chỉnh. Ngưỡng này thuờng được
chọn là 3, do vậy từ "tree" và "flora" trong cây hypernym ở hình 5.3 được
xem là đồng nghĩa và các thành phần tương ứng với các từ này trong vector
đặc trưng đều bị điều chỉnh.
5-22
5.4. DÙNG CÂY HẬU TỐ HỖ TRỢ TẠO TIÊU ĐỀ ĐỀ MỤC
Phần này trình bày các buớc sử dụng cây hậu tố đề tìm các dãy từ phổ biến tối
đại trong một khối ngữ liệu gồm nhiều văn bản. Sau đó sử dụng tập hợp các từ
phổ biến nhằm tiền xử lý dữ liệu (biên mục tài liệu) .
Qui trình gồm các bước sau:
Buớc 1: Sử dụng cây hậu tố để tìm danh sách các dãy từ phổ biến trong một
khối ngữ liệu gồm nhiều văn bản
Buớc 2: Sử dụng danh sách các dãy từ phổ biến để biên mục các tập tin trong
khối ngữ liệu và tạo danh sách tiền kết hợp tập văn bản vào danh sách các dãy
từ phổ biến.
Bước 3:Tra cứu thư viện thông qua danh sách tiền kết hợp
Kết quả thử nghiệm:
1.Danh sách các dãy từ phổ biến được phát hiện từ các kho ngữ liệu thử
nghiệm và số văn bản có chứa dãy từ phổ biến.
STT Dãy từ phổ biến Số văn bản
================================================
1 : annotated 2
2 : automatic 11
3 : bilingual corpus 3
4 : in the 15
5 : in this 2
6 : method 24
7 : model for 2
8 : natural language processing 3
9 : of information 2
10 : the accuracy of 2
11 : this problem 4
12 : to solve 4
13 : we will 4
14 : extract 5
15 : human 2
16 : in a 13
17 : is a 23
18 : languages 5
19 : meaning 3
20 : on the 15
21 : organized 6
22 : part 32
23 : some 10
24 : the similar 3
25 : better 3
5-23
26 : is used 6
27 : machine translation 3
28 : natural 4
29 : optimized 2
30 : processing 8
31 : result 16
32 : we describe 4
33 : access 3
34 : application 11
35 : develop 10
36 : information 12
37 : on computer 2
38 : or to 2
39 : such as 7
40 : technology 3
41 : user 6
42 : course 2
43 : making 2
44 : student's 2
45 : network 5
46 : paper 27
47 : the document 8
48 : an overview 5
49 : applications 8
50 : geometric 2
51 : technique 4
52 : model 11
53 : algorithms 4
54 : approaches 4
55 : association rules 2
56 : data 14
57 : large set of 2
58 : mining 7
59 : problem 13
60 : way 5
61 : based 17
62 : can be 18
63 : cases 2
64 : complex 2
65 : knowledge 7
66 : problems 3
Tiền kết hợp các tập tin vào các danh sách dãy từ phổ biến:
STT Dãy từ phổ biến Mã văn bản
================================================
1 : (approx p1
2 : - sentence p1
3 : annotated p1
4 : annotated p22
5 : automatic p1
6 : automatic p2
7 : automatic p5
8 : automatic p15
9 : automatic p17
5-24
10 : automatic P25
11 : automatic P28
12 : automatic p32
13 : automatic p39
14 : automatic p40
15 : automatic p44
16 : been solved p1
17 : bilingual corpus p1
18 : bilingual corpus p20
19 : bilingual corpus P25
20 : but in p1
609 : page segmentation p18
610 : page segmentation P27
611 : using recursive morphological p18
612 : association rules are p19
613 : attributes p19
614 : dynamic programming p19
615 : numeric p19
616 : optimized association rules p19
617 : optimized support p19
Tra cứu thư viện thông qua danh sách tiền kết hợp
Chi tiết thuật giải kết hợp tập văn bản vào danh sách các dãy từ phổ biến:
Input:
− Tập các văn bản mới NP
5-25
− Tập các dãy từ phổ biến mới NS
− Tập các dãy từ phổ biến được đánh dấu là đã được kết hợp với các
văn bản hiện có S
− Tập các văn bản được đánh dấu là đã kết hợp với các dãy từ phổ
biến hiện có P
− Tập kết hợp tập văn bản vào danh sách các dãy từ phổ biến SP{(px,
sy), …}, px ∈ P, sy ∈ S
− Tập các dãy từ phổ biến và số văn bản có chứa dãy từ phổ biến
SR{(sx, n), …}, sx ∈ S, n ∈ N
Output:
− Tập kết hợp tập văn bản vào danh sách các dãy từ phổ biến SP{(px,
sy), …}, px ∈ P, sy ∈ S
− Tập các dãy từ phổ biến được đánh dấu là đã được kết hợp với các
văn bản hiện có S
− Tập các văn bản được đánh dấu là đã kết hợp với các dãy từ phổ
biến P
− Tập các dãy từ phổ biến và số văn bản có chứa dãy từ phổ biến
SR{(sx, n), …}, sx ∈ S, n ∈ N
Bước 1:
tP = ∅
tS = ∅
pc = 0
Bước 2:
Nếu NS.count >0 thì
{
For i=1 to NS.count do
{
pc = 0
For j=1 to P.count do
{
5-26
tSubS = {tập các tiêu đề con của NS[i]}
T = True
For k=1 to tSubS.count do
{
Nếu trong văn bản P[j] không chứa
tSubS[k] thì
{
T = false ; break;
}
}
Nếu T=True thì {
SP = SP + {(P[j], NS[i])}
pc = pc + 1
}
}
tS = tS + {NS[i]}
Nếu NS[i] chưa có trong SR thì
SR = SR + {(NS[i], pc)}
Ngược lại
Trong SR, sửa (NS[i], n) thành (NS[i], pc), n
giá trị ban đầu sẵn có
}
S = S + tS
}
Bước 3:
Nếu NP.count >0 thì
{
tP = NP
P = P + tP
For i=1 to S.count do
{
pc = 0
5-27
For j=1 to NP.count do
{
tSubS = {tập các tiêu đề con của S[i]}
T = True
For k=1 to tSubS.count do
{
Nếu trong văn bản P[j] không chứa
tSubS[k] thì
{
T = false ; break;
}
}
Nếu T=True thì {
SP = SP + {(NP[j], S[i])}
}
}
Nếu S[i] chưa có trong SR thì
SR = SR + {(S[i], pc)}
Ngược lại
Trong SR, sửa (S[i], n) thành (S[i], pc), n giá trị
ban đầu sẵn có
}
}
5-28
Các bảng dữ liệu liên quan đến thao tác kết hợp tập văn bản vào danh sách các
dãy từ phổ biến:
Mô hình vật lý:
PAPER (PAPERID, PAPERNAME, TITLE, ABSTRACT, KEYWORDS,
PAPERFILENAME, PAPERFILEPATH)
NEWPAPER (PAPERID, PAPERNAME, TITLE, ABSTRACT,
KEYWORDS, PAPERFILENAME, PAPERFILEPATH)
SUBJECTHEADINGS (SHID, SUBJECTHEADINGS)
NEWSUBJECTHEADINGS (SHID, SUBJECTHEADINGS)
SUBJECTHEADINGPAPER (SHID, PAPERID)
SEARCHRESULT (SHID, SUBJECTHEADINGS, ITEMSCOUNT)
5-29
Mô tả các bảng dữ liệu:
PAPER: chứa các văn bản hiện có đã được kết hợp vào danh sách các
dãy từ phổ biến (chứa tập P trong giải thuật trên)
Thuộc Tính Diễn giải
PAPERID Mã số bài báo. Mỗi bài báo có một mã số
duy nhất để phân biệt với các bài báo khác
PAPERNAME Tựa đề của bài báo
TITLE Chủ đề của bài báo
ABTRACT Trích yếu của bài báo, tóm lược của bài báo
KEYWORDS Các từ khóa chính trong bài báo. Các từ
khóa này có sẵn hoặc sẽ được trích rút đặc
trưng từ các trích yếu của bài báo
PAPERFILENAME Tên tập tin toàn văn của bài báo
PAPERFILEPATH Đường dẫn nơi chứa tập tin toàn văn của bài
báo.
NEWPAPER: chứa các văn bản mới, chưa được kết hợp vào danh sách các
dãy từ phổ biến (chứa tập NP trong giải thuật trên).
Thuộc Tính Diễn giải
PAPERID Mã số bài báo. Mỗi bài báo có một mã số
duy nhất để phân biệt với các bài báo khác
PAPERNAME Tựa đề của bài báo
TITLE Chủ đề của bài báo
ABTRACT Trích yếu của bài báo, tóm lược của bài báo
KEYWORDS Các từ khóa chính trong bài báo. Các từ
khóa này có sẵn hoặc sẽ được trích rút đặc
trưng từ các trích yếu của bài báo
PAPERFILENAME Tên tập tin toàn văn của bài báo
PAPERFILEPATH Đường dẫn nơi chứa tập tin toàn văn của bài
5-30
báo.
SUBJECTHEADINGS: Tiêu đề đề mục. Chứa danh sách các dãy từ phổ
biến hiện có đã được kết hợp vào danh sách các văn bản (chứa tập S trong giải
thuật trên).
Thuộc Tính Diễn giải
SHID Mã số một tiêu đề đề mục.
SUBJECTHEADINGS Dãy các từ phổ biến được ngăn cáhch bằng
một ký tự ngăn cách “&&”
NEWJECTHEADINGS: Tiêu đề đề mục. Chứa danh sách các dãy từ phổ
biến mới, chưa được kết hợp vào danh sách các văn bản (chứa tập NS trong
giải thuật trên).
Thuộc Tính Diễn giải
SHID Mã số một tiêu đề đề mục.
SUBJECTHEADINGS Dãy các từ phổ biến được ngăn cáhch bằng
một ký tự ngăn cách “&&”
SUBJECTHEADINGPAPER: Tập kết hợp tập văn bản vào danh sách
các dãy từ phổ biến (chứa tập SP trong giải thuật trên).
Thuộc Tính Diễn giải
SHID Mã số một tiêu đề đề mục.
PAPERID Tương ứng với một mã số của tiêu đề đề
mục sẽ có một hay nhiều mã số của bài báo
đã được tìm thấy trong thư viện bài báo
5-31
SEARCHRESULT: Tập các dãy từ phổ biến và số văn bản có chứa dãy
từ phổ biến (chứa tập SR trong giải thuật trên).
Thuộc Tính Diễn giải
SHID Mã số một tiêu đề đề mục.
THEADINGS Tên của một tiêu đề đề mục cùng từ đồng
hiện của tiêu đề đề mục đó, hay dãy từ
phổ biến.
ItemsCount Số các bài báo được tìm thấy theo tiêu đề
đề mục có trong thư viện bài báo
5.5. SỬ DỤNG DÃY TỪ PHỔ BIẾN HỖ TRỢ BIÊN MỤC TỰ ĐỘNG
Như đã trình bày trong chương 3 mỗi tiêu đề đề mục được xác định bằng một
tập hợp các từ. Có thể biểu diễn cấu trúc của tiêu đề đề mục dưới dạng cấu
trúc cây như trong hình sau
Việt Nam
DakLak Điểm truy cập 1
Đồng Nai Điểm truy cập 2
An Giang Điểm truy cập 3
Vật lý
Hiện đại Điểm truy cập 4
Hạt nhân Điểm truy cập 5
Lượng tử Điểm truy cập 6
. . . . .
Một điểm truy cập được xác định bằng nhãn chứa các cụm từ trên các
cạnh nối từ gốc đến nút lá ứng với điểm truy cập đó. Ví dụ điểm truy cập 1 sẽ
5-32
ứng với nhãn Việt Nam – DakLak, Điểm truy cập 2 ứng với nhãn Việt Nam -
Đồng nai.
Sử dụng cây hậu tố mở rộng có thề xác định được một cách từ động các dãy từ
phổ biến trong văn bản. Sau đó tra cứu trên cấu trúc cây hậu tố để gắn văn bản
vào các điểm truy cập có nhãn là tập con của tập các dãy từ phổ biến được
phát hiện từ việc phân tích văn bản. Với phương pháp này có thể hỗ trợ công
tác biên mục tư liệu. Cũng cần lưu ý là một văn bản có thể được gắn vào nhiều
điểm truy cập. Ví dụ văn bản có chứa dãy từ Vật Lý- Hiện đại- Hạt nhân sẽ
được gắn vào hai điểm truy cập là điểm truy cập 4 và điểm truy cập 5. Do vậy
có thể truy cập văn bản từ nhiều điểm truy cập khác nhau.
6-1
CHƯƠNG 6
GOM CỤM THÔNG VĂN BẢN BẰNG MẠNG KOHONEN
6.1 KIẾN TRÚC CỤM PHẲNG
Cho tập đối tượng O, gom cụm phẳng là tiến trình gom các đối tượng thành các
cụm ( tập con của O) sao cho các đối tượng trong cụm có mức độ tương tự cao và
các đối tượng trong các cụm khác nhau có mức độ tương tự thấp.
Kết qủa gom cụm phẳng sẽ tạo ra một phân hoạch tập đối tượng. Gọi
C1,C2,...,Ck là một kiến trúc cụm phẳng, các cụm thỏa các tính chất sau:
i) ∀i,j ∈[1,...,k] , Ci ∩ Cj = ∅ ii) Υk
i
iC
1=
= O
6.1. MẠNG KOHONEN
Mạng Kohonen là một mạng nơron làm việc theo lối tự tổ chức nhằm tạo ra một
ánh xạ từ tập các mẫu học có số chiều lớn thành các cụm có số chiều thấp hơn
[3],[4]. Mạng Kohonen hai chiều thường được sử dụng để gom cụm văn bản vì kết
quả gom cụm được thể hiện trực quan trên một lưới hai chiều. Trong mạng
Kohonen hai chiều, các nơron của lớp ra được sắp xếp trên một mảng hai chiều.
Mảng này được gọi là lớp ra Kohonen. Tất cả các nơron của lớp vào đều được nối
với các nơron trên lớp ra Kohonen. Hình 6.1 là cấu trúc của mạng Kohonen hai
chiều.
Hình 6.1: Cấu
trúc của mạng
Kohonen hai
chiều
6-2
6.3. GOM CỤM TỪ LỚP RA KOHONEN
Mỗi liên kết giữa đầu vào và đầu ra của mạng Kohonen tương ứng với một
trọng số. Tổng đầu vào của mỗi nơron trong lớp Kohonen bằng tổng các trọng của
các đầu vào nơron đó.
Tiến trình huấn luyện sẽ điều chỉnh các trọng số dần dần theo mẩu học. Kết quả
của tiến trình huấn luyện sẽ tạo trên lớp ra Kohonen các cụm dữ liệu ứng với
nhóm các nút gần nhau trên lớp ra Kohonen. Các mẫu học sẽ thuộc về cụm có
khoảng cách gần nhất từ nó đến nơron trong cụm. Theo tính chất của thuật giải
huấn luyện trên mạng Kohonen, các cụm có vị trí gần nhau trên mạng Kohonen sẽ
chứa các đối tượng có mức độ tương tự cao. Tính chất này được sử dụng để truy
cập thông tin tương tự trong thư viện số nhờ lớp ra Kohonen được hiển thị trên
màn hình.
6.4. THUẬT GIẢI HUẤN LUYỆN MẠNG KOHONEN
Chức năng cơ bản của thuật giải huấn luyện mạng Kohonen là gom các vector
trọng của các nơron trên lớp ra Kohonen thành các cụm rời nhau.
Thuật giải huấn luyện mạng Kohonen
Bước 1: Khởi tạo ngẫu nhiên các trọng số trên lớp ra Kohonen và gán Nc(t) là bán
kính của vùng láng giềng. Khởi gán biến chu kỳ t=1
Bước 2: Đưa vào một mẫu học v(t) và chuẩn hóa vector nhập v(t)
Tính khoảng cách Euclide từ vector nhập v(t) đến tất cả các vector trọng của tất cả
các nơron trên lớp ra Kohonen và chọn nơron có khoảng cách Euclide dE nhỏ
nhất từ vector học v(t) đến trọng ứng với nút đó.
dE(v,wic jc) = min (dE(vi,wij))
Trong đó i,j là c
Các file đính kèm theo tài liệu này:
- Đề tài- Xây dựng một số công cụ hổ trợ tra cứu và tổng hợp thông tin trong thư viện số.pdf