Đề tài Phát triển một Hệ thống S.E Hỗ trợ Tìm kiếm Thông tin, thuộc lãnh vực công nghệ thông tin trên Internet qua từ khóa bằng tiếng Việt

MỞ ĐẦU . 5 1 PH ẦN I: . 6 TÌM HIỂU VÀ SO SÁNH MỘT SỐ S.E THÔNG DỤNG HIỆN NAY . 6 1.1 MỘT SỐ S. E NƯỚC NGOÀI THÔNG DỤNG HIỆN NAY (xem Bảng Tổng hợp chi tiết trong Phụ lục 1, 2,3) 6 1.1.1 GOOGLE 6 1.1.2 LYCOS . 9 1.1.3 ALTA VISTA . 10 1.2 MỘT SỐ S. E TIẾNG VIỆT THÔNG DỤNG HIỆN NAY (xem Bảng tổng hợp chi tiết trong Phụ lục 4). . 12 1.2.1 NETNAM . 12 1.2.2 VINASEEK 16 1.3 NHẬN XÉT – SO SÁNH VỀ MỘT SỐ S.E. 17 1.3.1 SO SÁNH. 17 1.3.2 NHẬN XÉT. . 19 2 PHẦN 2: 23 XÂY DỰNG TỪ ĐIỂN NGỮ NGHĨA THUẬT NGỮ TIN HỌC . 23 2.1 TÌM KIẾM THEO NGỮ NGHĨA 23 2.2 BIỂU DIỄN NGỮ NGHĨA 24 2.2.1 ĐỒNG HIỆN (CO-OCCURRENCE) . 24 2.2.2 HỆ THỐNG QUAN HỆ ĐỒNG NGHĨA ĐƠN GIẢN 25 2.3 ONTOLOGY 42 2.3.1 XÂY DỰNG ONTOLOGY 42 2.3.2 TRAO ĐỔI ONTOLOGY 44 2.3.3 XÂY DỰNG ONTOLOGY TỪ VĂN BẢN 45 2.3.4 XÂY DỰNG ONTOLOGY CHUYÊN NGÀNH TIN HỌC . 2.3.5 BIỂU DIỄN ONTOLOGY TRONG CƠ SỞ DỮ LIỆU . 55 2.4 BIỂU DIỄN CẤU TRÚC PHÂN CẤP CỦA ONTOLOGY TRONG CƠ SỞ DỮ LIỆU QUAN HỆ . 62 2.4.1 CÁC NHƯỢC ĐIỂM CỦA CÁCH BIỂU DIỄN BẰNG CON TRỎ. 62 2.4.2 BIỂU DIỄN CẤU TRÚC CÂY TRONG ORACLE 63 2.4.3 NHẬN XÉT . 71 2.5. KẾT LUẬN . 72 3 PHẦN III: 73 THIẾT KẾ HỆ THỐNG S.E VÀ KẾT QUẢ THỬ NGHIỆM 73 3.1 THIẾT KẾ HỆ THỐNG . 73 3.1.1 Đặt tả Hệ thống: 73 3.1.2 Thiết kế các Chức năng của Hệ thống. . 73 3.1.3 Thuật giải nhận dạng bảng mã 83 3.2 CÀI ĐẶT HỆ THỐNG. . 86 3.2.1 Tổ chức Các Giao diệnModule WebRobot. . 86 3.3 Kết quả thử nghiệm. . 95 4. KẾT LUẬN .100 PH Ụ L ỤC 101 PHỤ LỤC 1. BẢNG TÓM TẮT ĐẶC TRƯNG CỦA MỘT SỐ S.E NƯỚC NGOÀI 101 PHỤ LỤC 2. BẢNG TÓM TẮT ĐẶC TRƯNG MỘT SỐ META-S E NƯỚC NGOÀI 103 PHỤ LỤC 3. BẢNG TÓM TẮT MỘT SỐ HỆ THỐNG DANH MỤC (SUBJECT DIRECTORIES) 104 PHỤ LỤC 4. BẢNG TÓM TẮT ĐẶC TRƯNG CỦA MỘT SỐ S.E TRONG NƯỚC. . 105 PHỤ LỤC 5. QUAN HỆ GIỮA ĐỘ CHÍNH XÁC & ĐỘ GỌI LẠI . 106 PHỤ LỤC 6. THỐNG KÊ VỀ PHÂN HẠNG CỦA CÁC DOMAIN 107 PHỤ LỤC 7. SƠ ĐỒ QUAN HỆ S.E . PHỤ LỤC 8: CÁC MÃ NGỮ NGHĨA CỦA LDOCE 111 PHỤ LỤC 9. TỔNG QUAN VỀ CÔNG NGHỆ ORACLE TEXT ĐỂ PHÁT TRIỂN S.E. . 112 PHỤ LỤC 10. SƠ LƯỢC VỀ THƯ VIỆN VNCONVERT: 116 TÀI LIỆU THAM KHẢO. . 118 CÁC TRANG WEB . 119 MỞ ĐẦU Hiện nay, InterNET đã trở thành một Siêu Xa lộ Thông tin, cung cấp thông tin cho mọi người, ở mọi nơi, trong mọi ngành, mọi lãnh vực. Hiện nay trên thế giới có rất nhiều SEARCH ENGINE chẳng hạn như GOOGLE (xem [2], [3], [5]), YAHOO, ALLTHEWEB, ALTA VISTA (xem [4]), có khả năng tìm kiếm trên nhiều ngôn ngữ khác nhau, nhưng với Tiếng VIÊT vẫn có hạn chế. Và trong nước cũng có vài SEARCH ENGINE chẳng hạn như NETNAM (xem [7]), VINASEEK (xem [8]), ]), Mặc dù đã có rất nhiều SEARCH ENGINE, nhưng vẫn rất cần thiết có một sự nghiên cứu đầy đủ để phát triển một Hệ thống SEARCH ENGINE trên tiếng VIỆT có chú ý đến từ khóa là TỪ GHÉP và NGỮ NGHĨA trong lãnh vực Công nghệ thông tin (CNTT). Trên cơ sở này, có thể phát triển một Hệ thống SEARCH ENGINE tiếng VIỆT tổng quát cho mọi lãnh vực. Thời gian thực hiện Đề tài là 18 tháng từ tháng 01/2003 đến 07/2004. Bản báo cáo này nhằm trình bày một số kết quả bước đầu: PHẦN I. Thu thập và nghiên cứu tính năng của một số SEARCH ENGINE thông dụng. So sánh và đánh giá các SEARCH ENGINE (S.E) này. PHẦN II. Xây dựng Từ điễn ngữ nghĩa Thuật ngữ Tin học. PH ẦN III. Thiết kế Hệ thống & kết quả thử nghiệm

pdf119 trang | Chia sẻ: lvcdongnoi | Lượt xem: 2581 | Lượt tải: 1download
Bạn đang xem trước 20 trang tài liệu Đề tài Phát triển một Hệ thống S.E Hỗ trợ Tìm kiếm Thông tin, thuộc lãnh vực công nghệ thông tin trên Internet qua từ khóa bằng tiếng Việt, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
nút "Marketing" và chỉ định "level > 1" để không phải kết luận là có ai giám sát "Marketing". Bây giờ kiểm tra xem "Big Boss" có quyền giám sát với "Jane" hay không: select count(*) from employee_boss where employee_id = 7 and level > 1 start with employee_id = 1 connect by prior employee_id = boss_id; Cho dù "Big Boss" không phải là sếp trực tiếp của "Jane", nhưng bắt Oracle tìm cây con đã chỉ ra mối liên hệ là có. Câu truy vấn này thường rất quan trọng, nên thay vì để nó trong một trang web, chúng ta có thể tập trung vào một hàm PL/SQL. 2.4.3 NHẬN XÉT Như ở trên đã trình bày các cách biểu diễn cây trong cơ sở dữ liệu quan hệ. Cho dù các CSDL quan hệ lớn hiện tại như Oracle hay SQL-Server đều có các hỗ trợ cho dạng cấu trúc dữ liệu cây tổng quát, nhưng việc sử dụng các dạng biểu diễn riêng cho từng trường hợp cụ thể là cần thiết. Mô hình con trỏ (hay danh sách kề) đơn giản, tuy nhiên các thao tác tìm kiếm lại chậm. Mô hình tập lồng nhau có tốc độ tìm kiếm nhanh, tuy nhiên thêm/xóa gặp nhiều vấn đề. Dạng biểu diễn dùng định danh phả hệ được đưa ra thảo luận vì nó kế thừa được ưu điểm của cả hai mô hình trên, tuy nhiên việc cài đặt cụ thể lại khá phức tạp. Chúng tôi chọn mô hình tập lồng nhau cho việc biểu diễn ontology vì đây là dạng dữ liệu ít khi phải thay đổi hay cập nhật, trong khi đòi hỏi rất nhiều ở khâu tìm kiếm. Đề tài: ”Phát triển một Hệ thống S.E Hỗ trợ Tìm kiếm Thông tin, thuộc lãnh vực CNTT trên Internet qua từ khóa bằng tiếng Việt” Trang 72 2.5 KẾT LUẬN Ontology được lưu trong cơ sở dữ liệu Oracle và được tối ưu hóa cho phép tìm kiếm. Vì vậy, truy vấn cơ sở dữ liệu là rất nhanh, nhưng bù lại việc cập nhật ontology có chi phí lớn. Tuy nhiên cập nhật ontology là việc không thường xuyên làm vì ontology là tri thức ít thay đổi. Chương trình truy vấn được viết bằng Jbuilder, giao diện đơn giản dạng console như sau: Một số vấn đề gặp phải của đề tài: ► Nghiên cứu các phương pháp và kỹ thuật xây dựng ontology phù hợp cho tiếng Việt. ► Việc dịch các thuật ngữ tiếng Anh: đây là hạn chế lớn nhất vì rất nhiều thuật ngữ không có dạng tương đương trong tiếng Việt, hay có mà không được dùng thống nhất. ► Vấn đề dịch còn có một số lỗi. ► Vấn đề biểu diễn dữ liệu trong CSDL còn có thể được cải tiến thêm. Đề tài: ”Phát triển một Hệ thống S.E Hỗ trợ Tìm kiếm Thông tin, thuộc lãnh vực CNTT trên Internet qua từ khóa bằng tiếng Việt” Trang 73 3 PHẦN III: THIẾT KẾ HỆ THỐNG S.E VÀ KẾT QUẢ THỬ NGHIỆM. 3.1 THIẾT KẾ HỆ THỐNG. 3.1.1 Đặt tả Hệ thống: Hệ thống gồm 3 modul Module Web Robot. Chức năng chính là thu thập dữ liệu từ các trang Web trên các Website được viết bằng tiếng Việt. Module ConvertFile. Công việc chính của module này là thống nhất lại toàn bộ dữ liệu trước khi chuyển cho Oracle TEXT thực hiện việc lập Chỉ mục (Index). Việc thống nhất này bao gồm: o Chuyển toàn bộ các định dạng (PDF, DOC, EXCEL...) sang dạng HTML. o Chuyển mã của trang (TCVN3, VNI, Unicode...) sang bảng mã Windows-CP1258 (Unicode tổ hợp). o Lưu dữ liệu vào trong CSDL Oracle để index. Modul Truy vấn 3.1.2 Thiết kế các Chức năng của Hệ thống. 3.1.2.1 Module Web Robot. Gồm các thành phần sau: 3.1.2.1.1 CollectEngine. Đây là thành phần điều khiển quá trình thu thập thông tin từ Internet. Nó sẽ tạo ra các DomainCollector và quản lý việc download. Khi CollectEngine hoàn tất công việc cũng là lúc module này kết thúc. Sơ đồ hoạt động của hệ thống CollectEngine theo Sơ đồ sau: Đề tài: ”Phát triển một Hệ thống S.E Hỗ trợ Tìm kiếm Thông tin, thuộc lãnh vực CNTT trên Internet qua từ khóa bằng tiếng Việt” Trang 74 Khôûi ñoäng CollectEngine Keát thuùc. Xaùc laäp DomainList = Empty Ñoïc töø cô sôû döõ lieäu nhöõng Domain naøo caàn ñöôïc download veà maø chöa ñöôïc download, ñöa nhöõng Domain naøy vaøo DommainList Ngöôïc laïi Taïo ra caùc Domain Collector (robot con), vaø cho caùc robot naøy hoat ñoäng Ñôïi cho taát caû caùc Domain Collector hoaït ñoäng xong. Sau khi hoaït ñoäng xong, caùc robot con naøy seõ ñöôïc huûy ñi. Neáu DomainList Đề tài: ”Phát triển một Hệ thống S.E Hỗ trợ Tìm kiếm Thông tin, thuộc lãnh vực CNTT trên Internet qua từ khóa bằng tiếng Việt” Trang 75 Mô tả công việc đọc DomainList từ cơ sở dữ liệu (từ sơ đồ trên): 3.1.2.1.2 DomainCollector. Có nhiệm vụ thu thập tất cả các trang thông tin bên trong một domain về. Đầu vào : tên domain mà hệ thống cần thu thập về. Hoạt động : DomainCollector lấy danh sách tất cả các trang web đã được đánh dấu thuộc về domain nhưng chưa lấy về. Kế tiếp, DomainCollector sẽ tạo ra các DataCollector và cho các DataCollector này thực hiện việc lấy các trang WEB về. Đầu ra : domain được tải về. Ngoài ra, DomainCollector còn lưu trữ một Collect Engine (là robot cha của nó) để thực hiện việc giao tiếp. Sơ đồ hoạt động của DomainCollector: Đề tài: ”Phát triển một Hệ thống S.E Hỗ trợ Tìm kiếm Thông tin, thuộc lãnh vực CNTT trên Internet qua từ khóa bằng tiếng Việt” Trang 76 Mô tả công việc tải toàn bộ domain có tên DomainName về. Baét ñaàu thöïc hieän. Ñoïc töø cô sôû döõ lieäu taát caû nhöõng ñòa chæ web thuoäc DomainName caàn ñöôïc download veà nhöng chöa down load. Ñöa taát caû nhöõng ñòa chæ naøy vaøo AddressList Kieåm tra xem Address List coù roãng hay khoâng ? Neáu roãng. Caäp nhaät thoâng tin cuûa Domain naøy vaøo cô sôû döõ lieäu Keát thuùc hoaït ñoäng Neáu khoâng roãng. Taïo ra caùc DataCollector (robot con cuûa Domain Collector) vaø cho caùc robot con naøy hoaït ñoäng. Ñôïi cho caùc robot con naøy thöïc hieän xong. Sau khi thöïc hieän xong, caùc robot con seõ ñöôïc xoùa. Đề tài: ”Phát triển một Hệ thống S.E Hỗ trợ Tìm kiếm Thông tin, thuộc lãnh vực CNTT trên Internet qua từ khóa bằng tiếng Việt” Trang 77 Mô tả công việc đọc AddressList từ cơ sở dữ liệu : 3.1.2.1.3 DataCollector. Bộ thu thập thông tin (các trang WEB).Mục tiêu của DataCollector là thu nhận thông tin từ Internet về, sau đó sẽ lưu trữ chúng xuống cơ sở dữ liệu, đồng thời cũng ghi những dữ liệu này xuống hệ thống file. Đầu vào : địa chỉ trang WEB cần thu thập. Hoạt động : Đầu tiên, DataCollector sẽ tạo một kết nối đến domain của trang WEB, sau đó kiểm tra tình trạng của kết nối này. Nếu kết nối ở tình trạng tốt, DataCollector sẽ lấy các thông số về trang web như : ContentLength, LastModified và ContentType. Nếu ContentType thuộc một trong các loại sau: application/pdf,application/vnd.ms- excel,application/msword, application/msexcel, application/ms-powerpoint, application/postscript, text/rtf, text/html thì mới lấy về. Sau khi lấy về , thì ghi trang web này xuống hệ thống Tập tin. Đầu ra : Trang WEB được lấy về. DataCollector bao gồm các thành phần sau: URL : địa chỉ trang web mà DataCollector cần lấy về. DataBuffer : là vùng đệm chứa nội dung của trang web khi được download về. ContentLength : độ lớn của trang web. LastModified : ngày cập nhật cuối cùng của trang web. Location : vị trí trên file system mà nội dung trang web sẽ được ghi xuống. Taïo moät boä ñoïc DBReader. DBReader seõ laáy trong baûng DownloadedData nhöõng URL naøo coù Status = 0 (töùc laø ñaõ tìm thaáy ñòa chæ naøy Ñöa nhöõng ñòa chæ naøy vaøo Address List vaø huûy Đề tài: ”Phát triển một Hệ thống S.E Hỗ trợ Tìm kiếm Thông tin, thuộc lãnh vực CNTT trên Internet qua từ khóa bằng tiếng Việt” Trang 78 DomainCollector : là robot cha của nó, dùng để thực hiện việc giao tiếp trong khi hoạt động. Sô ñoà hoaït ñoäng cuûa DataCollector: Khôûi ñoäng Data Neáu roãng Neáu khoâng Kieåm tra AddressList trong DomainCollector (cha cuûa noù) ã Keát thuùc hoaït ñoäng cuûa Data Laáy phaàn töû ñaàu tieân trong AddressList vaø xoùa phaàn töû naøy khoûi Ñöa phaàn töû naøy vaøo URL Thöïc hieän vieäc taûi trang taøi lieäu coù ñòa chæ URL veà. Đề tài: ”Phát triển một Hệ thống S.E Hỗ trợ Tìm kiếm Thông tin, thuộc lãnh vực CNTT trên Internet qua từ khóa bằng tiếng Việt” Trang 79 Moâ taû coâng vieäc taûi trang taøi lieäu veà. Baét ñaàu hoaït ñoäng Thöïc hieän vieäc keát noái tôùi trang web. Neáu keát noái khoâng thaønh Xoaù trang web khoûi cô sôû döõ lieäu. Keát thuùc hoaït ñoäng. Neáu keát noái thaønh Laáy caùc thoâng tin nhö ContentLength, LastModified, Kieåm tra Content Type coù thuoäc caùc daïng file : text/html, word, rtf, Neáu Neáu ñuùng. Laáy noäi dung trang web veà vaø ghi xuoáng file. Taïo moät HtmlParser. Roài goïi parser naøy phaân tích noäi dung trang web. Keát quaû traû veà cuûa parser naøy laø moät danh saùch Caäp nhaät noäi dung trang web trong cô sôû döõ lieäu. Goïi Domain Collector (robot cha cuûa noù) thöïc hieän vieäc coäng danh saùch lieân keát naøy vaøo cô Đề tài: ”Phát triển một Hệ thống S.E Hỗ trợ Tìm kiếm Thông tin, thuộc lãnh vực CNTT trên Internet qua từ khóa bằng tiếng Việt” Trang 80 Moâ taû vieäc Caäp nhaät noäi dung trang web : Taïo moät boä ghi DBWriter. DBWriter seõ caäp nhaät nhöõng thoâng tin veà Location, … cuûa trang web xuoáng baûng DownloadedData. Ñoàng thôøi caäp nhaät tình traïng Status cuûa trang web thaønh 1 (nghóa laø trang web ñaõ ñöôïc taûi veà moät caùch hoaøn taát). Huûy DBWriter. Đề tài: ”Phát triển một Hệ thống S.E Hỗ trợ Tìm kiếm Thông tin, thuộc lãnh vực CNTT trên Internet qua từ khóa bằng tiếng Việt” Trang 81 Moâ taû coâng vieäc Domain Collector coäng danh saùch caùc lieân keát vaøo cô sôû döõ lieäu: Baét ñaàu hoaït ñoäng. Kieåm tra xem Neáu Keát thuùc. Neáu khoâng roãng. Laáy lieân keát ñaàu tieân vaø xoaù noù Kieåm tra xem lieân keát naøy coù thuoäc domain hieän taïi maø Domain Collect ñang xöû lyù hay khoâng ? Ghi lieân keát naøy vaøo cô sôû döõ lieäu. Neáu roãng Neáu phaûi Laáy Domain maø lieân keát naøy thuoäc veà. Kieåm tra xem trang domain naøy ñaõ coù trong cô sôû döõ lieäu chöa ?(töùc laø coù trong baûng Domain chöa ) Neáu coù roài Neáu chöa coù Ghi Domain naøy vaøo baûng Domain vaø cho tình traïng cuûa noù Status = 0. (chöùc laø chöa download). Ñoàng thôøi , ghi lieân keát naøy vaøo baûng DownloadedData vaø cho noù thuoäc Domain vöøa roài vaø Status cuûa noù cuõng baèng 0. (töùc laø chöa ñöôïc download). Đề tài: ”Phát triển một Hệ thống S.E Hỗ trợ Tìm kiếm Thông tin, thuộc lãnh vực CNTT trên Internet qua từ khóa bằng tiếng Việt” Trang 82 3.1.2.2 Module ConvertFile Toàn bộ công việc của module này được mô tả qua sơ đồ sau: Công đoạn chuyển định dạng. Dữ liệu lấy về có thể ở nhiều định dạng, điều này có thể gây khó khăn trong việc index và chuyển mã. Do đó, mục đích của công đoạn này là chuyển tất cả các định dạng về dạng HTML. Sử dụng công nghệ “INSO filter” để lọc tài liệu. Công đoạn chuyển mã. Vấn đề ngôn ngữ luôn là vấn đề khó khăn trong việc phát triển các ứng dụng. Riêng đối với tiếng Việt điều này lại càng phức tạp. Tính cho đến nay, tiếng Việt có khoảng 9 bảng mã, bao gồm : TCVN3, VIQR, VNI Windows, VISCII, VPS, BK HMC1, BK HCM2, VietwareX, Vietware F. Cho đến khi Unicode ra đời, thống nhất bảng mã của các ngôn ngữ. Tuy vậy, các tài liệu hiện nay lại ở rất nhiều bảng mã khác nhau. Điều này gây ra rất nhiều khó khăn trong việc index tài liệu. Chính vì vậy, trước khi index, các tài liệu phải được chuyển về một bảng mã chung để có thể index được. Do Oracle hỗ trợ Unicode tổ hợp, và bản thân unicode tổ hợp có rất nhiều lợi điểm như dễ dàng xử lý, kích thước lưu trữ tài liệu nhỏ... nên chúng tôi quyết định sử dụng unicode tổ hợp trong việc lưu trữ và xử lý ngôn ngữ. Input:DL a WebRobot Chuyển định dạng Chuyển bảng mã Lưu các thông tin vào CSDL Lưu nội dung vào đĩa cứng INSO Filter Technology Vietnamse Converter Output: Oracle Text Đề tài: ”Phát triển một Hệ thống S.E Hỗ trợ Tìm kiếm Thông tin, thuộc lãnh vực CNTT trên Internet qua từ khóa bằng tiếng Việt” Trang 83 Khó khăn lớn nhất trong vấn đề chuyển bảng mã chính là làm sao nhận được bảng mã của tài liệu. Một tài liệu được lưu trữ dưới dạng VNI có thể rất giống với VietwareX, hay một tài liệu lưu trữ dưới dạng TCVN3 lại rất giống với VPS. Một vấn đề kế tiếp chính là chuyển bảng mã sang Windows-1258. Sau khi thu thập các bảng mã và khảo sát để tìm ra những điểm khác biệt, chúng tôi đề ra một thuật giải Heuristic để giải quyết vấn đề này. Theo thống kê của chúng tôi, thuật giải này chỉ đúng với khoảng trên 95% trong việc chuyển đổi, tuy nhiên theo chúng tôi, sai số 5% có thể chấp nhận được. 3.1.3 Thuật giải nhận dạng bảng mã • Các đặc trưng của bảng mã: Đặc trưng đầu tiên dùng để nhận biết văn bản là unicode. Một văn bản là unicode nếu 2 byte đầu của văn bản là FFFEh hoặc FEFFh. Đặc trưng thứ hai của bảng mã là số byte lưu trữ ký tự trong bảng mã. Trong một bảng mã, một ký tự có thể được lưu 1 byte, 2 bytes, 3 bytes, hay có khi là 4 bytes, hoặc biến động. Sau đây là bảng thống kê các bảng mã và số byte lưu trữ ký tự : Bảng mã Số byte TCVN3 1 byte VPS 1 byte VISCII 1 byte BK HCM1 1 byte Vietware-F 1 byte VNI Windows 2 bytes BK HCM2 2 bytes Vietware-X 2 bytes Windows-1258 2 bytes UTF-8 Biến động Đề tài: ”Phát triển một Hệ thống S.E Hỗ trợ Tìm kiếm Thông tin, thuộc lãnh vực CNTT trên Internet qua từ khóa bằng tiếng Việt” Trang 84 Đặc trưng thứ ba, quan trọng nhất, để nhận biết bảng mã chính là sự ánh xạ khác nhau của ký tự. Ví dụ : chữ “” trong bảng mã TCVN3 có giá trị 162, còn trong bảng mã VPS có giá trị là 194. Đa số các ký tự trong các bảng mã khác nhau sẽ có ánh xạ khác nhau, tuy nhiên có một số ký tự khác nhau của các bảng mã khác nhau lại có cùng một giá trị ánh xạ (ví dụ : chữ ‘oả’ có giá trị trong bảng mã unicode là E16F, và mã này sẽ trùng với chữ ‘ỗ’ trong bảng mã VNI Windows…) . Số lượng những ký tự như vậy, tuy không nhiều nhưng sẽ gây ra sự nhập nhằng trong việc nhận dạng bảng mã. Để khử sự nhập nhằng này,chúng tôi sử dụng một Heristic sau. • Heuristic để khử nhập nhằng bảng mã: “Khi có sự nhập nhằng về bảng mã của ký tự, ký tự sẽ thuộc về bảng mã của ký tự trước đó”. Chúng ta có thể thấy rằng, có rất ít văn bản sử dụng nhiều bảng mã cùng một lúc. Do đó, heuristic này sẽ cho phép chọn những bảng mã có nhiều ký tự thuộc về bảng mã đó với I vọng rằng : ký tự này sẽ thuộc về bảng mã giống như những ký tự trước đó. Tất nhiên với heuristic này, độ chính xác sẽ không thể là 100%, nhưng do hầu hết các văn bản đều sử dụng một bảng mã trong toàn bộ văn bản, nên độ chính xác, theo thống kê của chúng tôi là khoảng >95%. • Thuật giải nhận dạng bảng mã: B1 : Với mỗi bảng mã, làm công việc từ B2, B5. B2 : Đọc một ký tự C ứng với bảng mã. B3 : Nếu đây C là ký tự Western thì qua B6. B4 : Nếu C là ký tự hợp lệ và số byte đọc được >= 1, qua bước 6. B5 : Nếu phát hiện sự nhập nhằng, lấy bảng mã trước rồi ánh xạ C. B6 : Lưu lại bảng mã phát hiện được. B7 : Đưa ký tự C vào kết quả. Quay lại bước 1. Đề tài: ”Phát triển một Hệ thống S.E Hỗ trợ Tìm kiếm Thông tin, thuộc lãnh vực CNTT trên Internet qua từ khóa bằng tiếng Việt” Trang 85 • Thực hiện việc chuyển mã: Sau khi đã xác định được bảng mã, chúng ta đã có thể thực hiện việc chuyển mã. Công việc chuyển đổi bảng mã bao gồm chuyển đổi các ký tự và chuyển tag META, tag FONT của HTML. Công việc chuyển tag đòi hỏi phải có 1 parser đơn giản. Ghép nối hai công đoạn chuyển định dạng và chuyển bảng mã. ở module robot, thông tin được lưu trữ trong bảng DOWNLOADEDDATA. Bảng này có thuộc tính STATUS cho biết trang này đã được chuẩn (chuyển định dạng, chuyển bảng mã) hay chưa. Do đó module này chỉ xử lý những tài liệu có STATUS = 0, sau đó đưa dữ liệu này vào bảng INDEXEDDATA để chuẩn bị thực hiện việc index, sau đó cập nhật lại thuộc tính STATUS trong bảng DOWNLOADEDDATA. Đề tài: ”Phát triển một Hệ thống S.E Hỗ trợ Tìm kiếm Thông tin, thuộc lãnh vực CNTT trên Internet qua từ khóa bằng tiếng Việt” Trang 86 3.2 CÀI ĐẶT HỆ THỐNG. 3.2.1 Tổ chức Các Giao diệnModule WebRobot. Gồm các màn hình sau : Màn hình chính : Nút Start để bắt đầu (Start) chạy hoặc chạy tiếp (Resume). Nút Pause để tạm ngưng hoạt động của WebRobot. Chọn Domain | Domain Monitor, sẽ xuất hiện màn hình giám sát các domain hiện thời : Đề tài: ”Phát triển một Hệ thống S.E Hỗ trợ Tìm kiếm Thông tin, thuộc lãnh vực CNTT trên Internet qua từ khóa bằng tiếng Việt” Trang 87 Các Màn hình tạo, thao tác trên Domain List, thu thập thông tin: Nút Add Domain để thêm một Domain mới vào danh sách các domain mà web robot đã tìm thấy. Nút Delete Domain để xoá Domain đó ra khỏi Domain mà WebRobot đã tìm thấy, tức là WebRobot không còn nhận biết đến sự tồn tại của Domain này. Nút OK để thoát khỏi màn hình giám sát các Domain. Nếu ta chọn các Domain bên trong danh sách, và nhấn chuột phải, một context menu sẽ hiện lên : Đề tài: ”Phát triển một Hệ thống S.E Hỗ trợ Tìm kiếm Thông tin, thuộc lãnh vực CNTT trên Internet qua từ khóa bằng tiếng Việt” Trang 88 Chọn mục chọn Maintain của Menu : tức là ta cho WebRobot bảo trì lại những Domain này nhằm mục đích thu thập thêm các thông tin mới của Domain này. Chọn mục chọn Reset của Menu : tức là ta cho WebRobot xoá hết tất cả những thông tin đã được tải về và thực hiện lại quá trình tải các trang web của domain này này. Chọn mục chọn Delete của Menu: tức là ta cho WebRobot xoá Domain này khỏi danh sách các Domain mà WebRobot nhận biết. Khi ta click đúp vào một domain trong danh sách các Domain trên màn hình Domain Monitor, sẽ xuất hiện màn hình sau : Đề tài: ”Phát triển một Hệ thống S.E Hỗ trợ Tìm kiếm Thông tin, thuộc lãnh vực CNTT trên Internet qua từ khóa bằng tiếng Việt” Trang 89 Trong màn hình này cho ta nhập các thông tin về Domain mà mình đã chọn ở bước trước. Nếu ta nhấn Save, tức là ta chấp nhận những giá trị mà ta vừa nhập vào màn hình. Nếu ta nhấn Cancel, tức là ta không chấp nhận những giá trị mà ta vừa nhập vào màn hình. Nếu ta nhấn Reset Domain, tức là ta cho WebRobot xoá hết tất cả những thông tin đã được tải về và thực hiện lại quá trình tải các trang web của domain này này. Nếu ta nhấn Maintain, tức là ta cho WebRobot bảo trì lại những Domain này nhằm mục đích thu thập thêm các thông tin mới của Domain này. Trở lại màn hình chính, nếu ta chọn Options|Set Connection Configuration : thì màn hình sau sẽ hiện lên cho ta thay đổi các thông số kết nối CSDL: Đề tài: ”Phát triển một Hệ thống S.E Hỗ trợ Tìm kiếm Thông tin, thuộc lãnh vực CNTT trên Internet qua từ khóa bằng tiếng Việt” Trang 90 Thay đổi cấu hình Hệ thống ta chọn Options | Configuration : thì màn hình sau sẽ hiện lên : Đề tài: ”Phát triển một Hệ thống S.E Hỗ trợ Tìm kiếm Thông tin, thuộc lãnh vực CNTT trên Internet qua từ khóa bằng tiếng Việt” Trang 91 cho ta thay đổi các thông số về hoạt động của WebRobot: ƒ File system Location : vị trí lưu các trang web được tải về. ƒ Domain Thread count : số DomainCollector cùng lúc hoạt động. ƒ Data Thread per Domain : Số DataCollector cùng hoạt động tìm kiếm một Domain. ƒ Maximum File size download : kích thước tối đa của trang web mà ta tải về. ƒ Domain List size: kích thước hàng đợi Domain List khi webrobot hoạt động. ƒ Address List size: kích thước hàng đợi Address List khi webrobot hoạt động. Đề tài: ”Phát triển một Hệ thống S.E Hỗ trợ Tìm kiếm Thông tin, thuộc lãnh vực CNTT trên Internet qua từ khóa bằng tiếng Việt” Trang 92 3.2.1.1 Module ConvertFile: 1) Màn hình chính : Để thực hiện việc chuyển đổi tập tin (file), phải thực hiện các thao tác sau • Nhấn nút Connect : kết nối với CSDL (xem phần hướng dẫn “Màn hình kết nối CSDL”. • Sau khi thực hiện việc kết nối, hiệu chỉnh tùy chọn cho thích hợp (xem phần hướng dẫn “Màn hình tùy chọn thời gian” • Nhấn nút Run để bắt đầu việc chuyển đổi tập tin. • Trong quá trình chuyển đổi, trạng thái của chương trình được xuất ra trong cửa sổ nhật ký. Nhấn nút Clear log để xóa nhật ký. • Trong quá trình chuyển đổi, có thể nhấn nút Stop để dừng việc chuyển đổi, sau đó có thể nhất nút Run để tiếp tục việc chuyển đổi. • Sau khi thực hiện xong việc chuyển đổi, có thể nhấn nút Disconnect để chấm dứt kết nối với CSDL. Kết nối với CSDL Ngắt kết nối ứng dụng bắt đầu hoạt động Dừng ứng dụng Tùy chọn về thời gian kiểm tra Cửa sổ log Xóa nội dung cửa sổ log Thoát chương trình Đề tài: ”Phát triển một Hệ thống S.E Hỗ trợ Tìm kiếm Thông tin, thuộc lãnh vực CNTT trên Internet qua từ khóa bằng tiếng Việt” Trang 93 2) Màn hình kết nối với cơ sở dữ liệu: Để thực hiện việc kết nối vối cơ sở dữ liệu, phải thực hiện các thao tác sau: • Nhấn nút Connect trong màn hình chính (xem phần hướng dẫn “Màn hình chính”) • Trong màn hình kết nối, nhập tên tài khoản (User) và mật khẩu (Password). • Nhập tên của máy chủ muốn kết nối (server). • Nhấn nút OK để thực hiện kết nối, nhấn nút Cancel để đóng màn hình. 3) Màn hình tùy chọn thời gian: Để hiệu chỉnh tùy chọn, có thể làm các thao tác sau: • Nhấn vào hộp kiểm (checkbox) “Manually check” để xác định chế độ kiểm tra tự động hay thủ công (manual). • Check vào “Manually check” có nghĩa là thực hiện chế độ kiểm tra thủ công, mỗi lần kiểm tra phải nhất nút “Start” trong màn hình chính. Tên người dùng Mật khẩu Tên database Lượng thời gian tự động kiểm tra Kiểm tra tự động hay không Đề tài: ”Phát triển một Hệ thống S.E Hỗ trợ Tìm kiếm Thông tin, thuộc lãnh vực CNTT trên Internet qua từ khóa bằng tiếng Việt” Trang 94 • Không check vào “Manually check” có nghĩa là thực hiện chế độ kiểm tra tự động, nhập số giây giữa mỗi lần kiểm tra vào ô “Auto check after”. Lưu ý đơn vị tính bằng giây. 3.2.1.2 Module truy vấn: Màn hình Truy vấn: Để thực hiện việc truy vần, có thể làm các thao tác sau: • Nhập từ khóa muốn tìm vào ô “Từ khóa”, rồi nhấn phím ENTER. VD : “windows”. • Lưu ý có thể nhập các toán tử and, or hoặc nháy kép để tìm chính xác. VD : “windows and (network or sound)” • Bên dưới màn hình chính là kết quả với địa chỉ và phần tóm tắt kèm • Nhấn vào các địa chỉ để xem tài liệu trên Internet. ô nhập câu truy vấn Số lương tài liệu tìm thấy URL của tài liệu Vị trí cache Nội dung tóm tắt Kiểu gõ tiếng Việt Trang hiện thời/Tổng số Đề tài: ”Phát triển một Hệ thống S.E Hỗ trợ Tìm kiếm Thông tin, thuộc lãnh vực CNTT trên Internet qua từ khóa bằng tiếng Việt” Trang 95 3.3 Kết quả thử nghiệm. Hệ thống S.E này đã được thử nghiệm, kết quả bước đầu như sau: • Module WEBROBOT: Việc thu thập và phân tích các trang Web đã được thử nghiệm trên hơn 500 miền khác nhau. Tổng số trang Web tải về trên 80000 trang. Tỷ lệ thành công của WebRobot vào khoảng 96%. • Module ConvertFile: o Số lượng tài liệu chuyển đổi : 22495 tài liệu (HTML, Tàiliệu Word (.doc), PDF) o Tổng thời gian : 30 phút o Số lượng lỗi : 90 • Module Truy vấn: o Hỗ trợ bộ gõ tích hợp sẵn hay bộ gõ rời. o Hỗ trợ truy vấn local tại máy chủ hay trực tiếp qua các URL o Khi truy vấn module này tìm luôn nhưng trang có từ gần nghĩa. Để tìm kiếm ta gõ URL vào trình duyệt, hiện module truy vấn đã thử nghiệm trên 3 trình duyệt và đều chạy tốt. Ba trình duyệt đó là: Internet Explorer FireFox Avant Sau đây là giao diện của trang tìm kiếm : Đề tài: ”Phát triển một Hệ thống S.E Hỗ trợ Tìm kiếm Thông tin, thuộc lãnh vực CNTT trên Internet qua từ khóa bằng tiếng Việt” Trang 96 Trang tìm kiếm Muốn tìm kiếm các trang có chứa từ khóa bảo trì ta gõ vào ô Từ khóa chữ ”Bảo trì” và nhấn vào nút tìm kiếm hay nhấn enter, kết quả như sau: Ghi chú: Trang tìm kiếm hỗ trợ cả bộ gõ tích hợp sẵn hay bộ gõ rời. Đề tài: ”Phát triển một Hệ thống S.E Hỗ trợ Tìm kiếm Thông tin, thuộc lãnh vực CNTT trên Internet qua từ khóa bằng tiếng Việt” Trang 97 Trang trên liệt kê kết quả tìm kiếm là các trang có chứa từ khóa cần tìm kiếm ”Bảo trì” mà module WebRobot đã thu thập về và các từ gần nghĩa với từ ”Bảo trì” như sửa chữa, cập nhật, thay đổi, làm mới, chỉnh sửa và cuối cùng là ”tìm tất cả”. Click vào hyperlink để xem các trang kết quả thông qua URL trực tiếp đến server chứa web gốc hoặc click vào link ”Có sẵn trên máy chủ” để xem offline trang tìm kiếm mà module WebRobot đã thu thập về. Có 818 trang có chứa từ khóa bảo trì. Có 23 trang có chứa từ khóa sửa chữa. Đề tài: ”Phát triển một Hệ thống S.E Hỗ trợ Tìm kiếm Thông tin, thuộc lãnh vực CNTT trên Internet qua từ khóa bằng tiếng Việt” Trang 98 Trang sau là kết quả sau khi click vào hyperlink ”tìm tất cả”. Có 59.987 trang chứa các từ khóa bảo trì, sửa chữa, cập nhật, thay đổi, làm mới, chỉnh sửa. Đề tài: ”Phát triển một Hệ thống S.E Hỗ trợ Tìm kiếm Thông tin, thuộc lãnh vực CNTT trên Internet qua từ khóa bằng tiếng Việt” Trang 99 Đề tài: ”Phát triển một Hệ thống S.E Hỗ trợ Tìm kiếm Thông tin, thuộc lãnh vực CNTT trên Internet qua từ khóa bằng tiếng Việt” Trang 100 KẾT LUẬN. So với mục tiêu ban đầu đề ra, nhóm nghiên cứu đề tài đã thực hiện hòan chỉnh nội dung nghiên cứu, xây dựng được một từ điễn ngữ nghĩa về lãnh vực công nghệ thông tin, thu thập từ Internet gần 80 Gigabytes dữ liệu, và đã thếit kế được một Search Engine hỗ trợ và đáp ứng nhu cầu tìm kiếm thông tin từ InterNET trong lãnh vực công nghệ thông tin, theo từ khóa tiếng Việt có hỗ trợ thêm các từ gần nghĩa. So với các Search Engine tiếng việt khác đã có, kể cả GOOGLE (hiện nay cũng đã hỗ trợ tiếng Việt, nhưng chỉ cho từ khóa đơn, và đối với cụm từ, (coi như là từ đơn và có sử dụng tóan tử OR), Search Engine mà đề tài xây dựng có vượt trội hơn là tìm thêm những từ gần nghĩa, và Dữ liệu co 1thể được thu thập từ Internet (24/24 giờ), được lưu trữ trên Server tại chỗ, và Index định kỳ, nên việc tìm kiếm thông tin có khả năng sẽ nhanh hơn. Tuy đây chỉ là kết quả bước đầu, nhưng đã đáp ứng nhu cầu tìm kiếm thong tin và có thể phát triển, mở rộng cho nhiều lãnh vực ứng dụng khác. Đề tài: ”Phát triển một Hệ thống S.E Hỗ trợ Tìm kiếm Thông tin, thuộc lãnh vực CNTT trên Internet qua từ khóa bằng tiếng Việt” Trang 101 PHỤ LỤC PHỤ LỤC 1. BẢNG TÓM TẮT ĐẶC TRƯNG CỦA MỘT SỐ S.E NƯỚC NGOÀI. (Trích từ tài liệu thống kê của Infopeople Project, cập nhật ngày 29/01/2003) S.E Cơ sở d ữ li ệu Toán tử Logic Khả năng tìm kiếm Hỗn hợp Google www.google.com Hỗ trợ tìm kiếm nâng cao. Hệ thống danh mục theo đề mục, mở (Subject, Open Directory) Toàn bộ văn bản của các trang Web, PDF, MS.Office, PostScript, Lotus WordPerfect, … AND (mặc định) O. Dùng * để rút gọn (thay thế từ trong cụm từ). Dùng “ ” tìm cụm t ừ Tìm theo vùng Tìm các trang liên quan Hỗ trợ kiểm tra chính tả. Tìm hình ảnh. TIn tóm tắt. Tìm kiếm theo nhiều ngôn ngữ khác nhau. AllTheWeb www. allTheWeb. com Hỗ trợ tìm kiếm nâng cao. Không có Hệ thống danh mục theo đề mục Toàn bộ văn bản của các trang Web, PDF, MS.Office, PostScript, Lotus WordPerfect, … AND (mặc định) OR, ANDNOT, RANK Không rút gọn, Dùng “ ” tìm cụm từ Tìm theo vùng. Tìm kiếm mở rộng: hình ảnh và Video. Đề tài: ”Phát triển một Hệ thống S.E Hỗ trợ Tìm kiếm Thông tin, thuộc lãnh vực CNTT trên Internet qua từ khóa bằng tiếng Việt” Trang 102 AltaVista www.altavista. com Hỗ trợ tìm kiếm nâng cao (rất tốt) Hệ thống danh mục theo đề mục, mở Subject, Open Directory) Toàn bộ văn bản của các trang Web. AND (mặc định) OR. Dùng “ ” tìm cụm từ . Dùng * để rút gọn. Phân biệt chữ Hoa, chữ thường. Tự động xác định cụm từ và kiểm tra chính tả. Tìm hình ảnh, âm thanh, Video và tin tức. Tìm kiếm theo nhiều ngôn ngữ khác nhau. Teoma teoma. com Hỗ trợ tìm kiếm nâng cao. Phân loạI dựa trên # tiêu đề cụ thể của các trang liên kết Toàn bộ văn bản của các trang Web. AND (mặc định) Dùng “”để tìm các từ thông dụng. Không rút gọn Dùng “ ” tìm cụm từ . Tìm kiếm theo các giớI hạn như ngày, ngôn ngữ, vị trí, độ sâu liên kết của trang WEB. Có thể gom nhóm các kết quả. Đề tài: ”Phát triển một Hệ thống S.E Hỗ trợ Tìm kiếm Thông tin, thuộc lãnh vực CNTT trên Internet qua từ khóa bằng tiếng Việt” Trang 103 PHỤ LỤC 2. BẢNG TÓM TẮT ĐẶC TRƯNG MỘT SỐ META-S E NƯỚC NGOÀI Meta-S. E Cơ sở dữ liệu Toán tử Logic Khả năng tìm kiếm Hỗn hợp Ixquick ixquick.com Searches AltaVista, Ask Jeeves/Teoma, MSN, Yahoo & more. Dùng tất cả các toán tử tìm kiếm mà các công cụ tìm kiếm sử dụng. Hỗ trợ tìm kiếm tin tức, file MP3, file ảnh Đặc trưng: tập hợp và phân hạng các kết quả, hạn chế sự trùng lắp thông tin Vivisimo vivisimo.com Searches AltaVista, MSN, Lycos, BBC, & more. (Select in Advanced Search). AND (mặc định), OR, - dùng để loại trừ. Hỗ trợ tìm kiếm theo chủ đề, như: tin tức, kinh doanh, kỹ thuật, thể thao. Thực hiện gom nhóm các kết quả. Hoạt động hiệu quả trong tìm kiếm các sự kiện thời sự, phổ biến. Ask Jeeves www.ask.com Also has Ask Jeeves for Kids. www.ajkids.com Đáp ứng hàng triệu các yêu cầu từ các site ước lượng. Chỉ dùng ngôn ngữ tự nhiên, không dùng các toán tử. Dùng dấu nháy kép để tìm kiếm cụm từ trong Teoma. Hoạt động hiệu quả đối với các yêu cầu đơn giản. Đề tài: ”Phát triển một Hệ thống S.E Hỗ trợ Tìm kiếm Thông tin, thuộc lãnh vực CNTT trên Internet qua từ khóa bằng tiếng Việt” Trang 104 PHỤ LỤC 3. BẢNG TÓM TẮT MỘT SỐ HỆ THỐNG DANH MỤC (SUBJECT DIRECTORIES) Hệ thống danh mục Cơ sở dữ liệu Toán tử Logic Khả năng tìm kiếm Hỗn hợp Librarians' Index to the Internet lii.org Advanced Search. Tài nguyên hữu ích cho người dùng thư viện, thủ thư thực hiện ước lượng và đánh giá. (khoảng 10K). AND (mặc định), OR, NOT, và ( ). Dùng nháy kép để tìm cụm từ. Tự động Stems automatically (can turn off) Dùng * để rút gọn Tìm kiếm nâng cao theo: chủ đề, tiêu đề, mô tả, URL, tác giả, nhà xuất bản. Entries Categorized: Directories Databases Specific Resources Tìm các trang theo chủ đề, tiêu đề, … Yahoo www.yahoo.com Mặc định sẽ tìm kiếm bằng Google khi tìm trên Yahoo không có kết quả. Advanced Search. Xem xét các trang web (khoảng 2M) + yêu cầu. Dùng nháy kép để tìm cụm từ. Dùng * để rút gọn Tìm kiếm theo lĩnh vực: t:tìm tiêu đề; u:tìm theo URL Tin tức: hàng ngày Chứng khoán: v.v. Thể thao: tính điểm, v.v. Trình bày nội dung sơ lược cho Maps, Weather Ratings Encyclopedia Britannica www.britannica.com Chủ đề & phân vùng riêng Yahoos - Kids (Yahooligans), Japan, SF Bay, v.v.. - loại trừ Dùng nháy kép để tìm cụm từ. Dùng * để rút gọn. Hỗ trợ tìm Merriam Webster Dictionary và Thesaurus. Sử dụng chính tả theo kiểu Anh. Đề tài: ”Phát triển một Hệ thống S.E Hỗ trợ Tìm kiếm Thông tin, thuộc lãnh vực CNTT trên Internet qua từ khóa bằng tiếng Việt” Trang 105 PHỤ LỤC 4. BẢNG TÓM TẮT ĐẶC TRƯNG CỦA MỘT SỐ S.E TRONG NƯỚC. S.E Cơ sở d ữ li ệu Toán tử Logic Khả năng tìm kiếm Hỗn hợp NetNam www.pan.vietnam. Com Toàn bộ văn bản của các trang Web. Dùng “”để tìm các từ thông dụng. Dùng “ ” tìm cụm từ . Phân biệt chữ Hoa và thường. Sử dụng từ khóa để lọc các Tìm kiếm. VinaSeek www.vinaseek. Com Toàn bộ văn bản của các trang Web. Dùng “”để tìm các từ thông dụng. Dùng “ ” tìm cụm từ . Phân biệt chữ Hoa và thường. Sử dụng từ khóa để lọc các Tìm kiếm. Đề tài: ”Phát triển một Hệ thống S.E Hỗ trợ Tìm kiếm Thông tin, thuộc lãnh vực CNTT trên Internet qua từ khóa bằng tiếng Việt” Trang 106 PHỤ LỤC 5. QUAN HỆ GIỮA ĐỘ CHÍNH XÁC & ĐỘ GỌI LẠI. Mật độ thông tin giảm theo chiều hướng về phía bên phải. Còn các phương thức tối ưu nhất ở về phía bên trái. Các lỗi loại 1 biểu diễn các kết quả không nhận được mà đúng ra phải nhận được theo độ đo recall Các lỗi loại 2 biểu diễn các kết quả nhận được mà đúng ra là không phải kết quả nếu xét theo độ đo precision Xét trong không gian web thì những kết quả tìm kiếm có được chỉ là một phần rất nhỏ trong vô số các tài liệu tương thích với nó. Đề tài: ”Phát triển một Hệ thống S.E Hỗ trợ Tìm kiếm Thông tin, thuộc lãnh vực CNTT trên Internet qua từ khóa bằng tiếng Việt” Trang 107 PHỤ LỤC 6. THỐNG KÊ VỀ PHÂN HẠNG CỦA CÁC DOMAIN Cập nhật ngày 08/7/2003. Các con số trong bảng sau theo mỗi cột thể hiện vị trí phân hạng của các domain dựa trên các từ khoá (tiêu chí đánh giá) bên trái Activity Google Sites Overture Top Bid Yahoo Dir Yahoo Index Google MSN AOL Web Teoma Inktomi dmoz Dir Lycos Alta Vista All The Web Hot Bot Ask Jeeves IWon website promotion 11051 2150000 - - 25 26 - - - 193 - - - - 193 - 26 S.E optimization 7909 794000 - - 1 1 56 1 15 4 - 54 - 54 4 15 1 S.E ranking 5092 702000 - - 1 1 - 1 2 2 - 2 - 2 2 2 1 S..E placement 3414 540000 - - 18 18 - - - 36 - 39 - 39 36 - 18 S.E positioning 2804 390000 - - 6 7 62 7 1 17 - 5 - 5 17 1 7 S.E marketing 2261 1650000 - - 10 10 100 10 17 8 - 6 - 6 8 17 10 web site optimization 2304 1110000 - - 3 3 - 3 39 3 - 3 - 3 3 39 3 Đề tài: ”Phát triển một Hệ thống S.E Hỗ trợ Tìm kiếm Thông tin, thuộc lãnh vực CNTT trên Internet qua từ khóa bằng tiếng Việt” Trang 108 web site ranking 2294 1540000 - - 6 6 15 7 4 15 - 1 - 1 15 4 6 S.E promotion 1247 939000 - - 1 1 103 1 - 2 - 34 - 34 2 - 1 keyword ranking 341 396000 - - 7 7 - 7 1 6 - - - - 6 1 7 S.E opt. tools 256 339000 - - 1 1 21 1 4 1 - 1 - 1 1 4 1 S.E results 138 2190000 - - 4 4 12 3 - 8 - 12 - 12 8 - 4 S.E ranking tips 127 141000 - - 1 1 2 1 6 3 - 1 - 1 3 6 1 S.E advice 126 1100000 - - 2 2 - 2 1 2 - 1 - 3 2 1 2 S.E relationship chart 124 61300 - - 1 1 - 1 17 1 1 17 - 17 1 17 1 Bruce Clay 105 400000 - - 1 1 1 1 1 1 1 1 - 1 1 1 1 bruceclay 77 1880 - - 1 1 1 1 1 1 1 1 - 1 1 1 1 Đề tài: ”Phát triển một Hệ thống S.E Hỗ trợ Tìm kiếm Thông tin, thuộc lãnh vực CNTT trên Internet qua từ khóa bằng tiếng Việt” Trang 109 seo code of ethics 73 8040 - - 1 1 - 1 9 1 - 1 - 2 1 9 1 web promotion advice 71 835000 - - 1 1 7 1 1 8 - 1 - 1 8 1 1 Top-10 Count: - 17 17 4 17 11 15 3 12 - 12 15 11 17 Top-20 Count: - 1 1 2 - 3 2 - 2 - 2 2 3 1 Top-30 Count: - 1 1 1 - - - - - - - - - 1 Top-40 Count: - - - - - 1 1 - 2 - 2 1 1 - Top-50 Count: - - - - - - - - - - - - - - Count: 0 19 19 11 17 15 19 3 17 0 17 19 15 19 Hoaït ñoäng cuûa SE ñöôïc ñaùnh giaù döïa treân caùc truy vaán haøng ngaøy cho moãi töø khoaù treân taát caû caùc SE. Cô hoäi : 266, toång soá = 1-5: 120 * 1-10: 151 * 11-20: 19 * 21-30: 4 * 31-40: 8 * 41-50: 0 Tyû leä phaàn traêm = Top 5: 45.1% * Top 10: 56.8% * Top 20: 63.9% * Top 30: 65.4% * Top 40: 68.4% * Top 50: 68.4% SE Traffic VectorTM = 928 (theoretical visitors per day from only the 08/07/2003 rankings) Đề tài: ”Phát triển một Hệ thống S.E Hỗ trợ Tìm kiếm Thông tin, thuộc lãnh vực CNTT trên Internet qua từ khóa bằng tiếng Việt” Trang 110 PHỤ LỤC 7. SƠ ĐỒ QUAN HỆ S.E Đề tài: ”Phát triển một Hệ thống S.E Hỗ trợ Tìm kiếm Thông tin, thuộc lãnh vực CNTT trên Internet qua từ khóa bằng tiếng Việt” Trang 111 PHỤ LỤC 8: CÁC Mà NGỮ NGHĨA CỦA LDOCE Ký hiệu Mô tả A Animal B Female Animal C Concrete D Male Animal E Solid or Liquid (not gas): S + L F Female Human G Gas H Human I Inanimate Concrete J Movable Solid K Male Animal or Human = D + M L Liquid M Male Human N Not Movable Solid O Animal or Human = A + H P Plant Q Animate R Female = B + F S Solid T Abstract U Collective Animal or Human = (Collective + O) V Plant or Animal = (P + A) W Inanimate Concrete or Abstract = (T + I) X Abstract or Human = (T + H) Y Abstract or Animate = (T + H) Z Unmarked 1 Human or Solid = (H + S) 2 Abstract or Solid = (T + S) 4 Abstract Physical 5 Organic Material 6 Liquid or Abstract = (L + T) 7 Gas or Liquid = (G + L) Đề tài: ”Phát triển một Hệ thống S.E Hỗ trợ Tìm kiếm Thông tin, thuộc lãnh vực CNTT trên Internet qua từ khóa bằng tiếng Việt” Trang 112 PHỤ LỤC 9. TỔNG QUAN VỀ CÔNG NGHỆ ORACLE TEXT ĐỂ PHÁT TRIỂN S.E. 1. Giôùi thieäu Toång quaùt veà Oracle TEXT. Oracle TEXT laø công nghệ do Oracle hỗ trợ, ứng dụng vào hệ thống tìm kiếm với phương pháp lập chỉ mục tự động. Oracle Text là một công cụ giúp người dùng có thể xây dựng một Ứng dụng Truy vấn (dạng Tài liệu HTML, XML, tài liệu thuần text, hay tài liệu Microsoft Word) hay Phân loại tài liệu (dạng Tài liệu XML, HTML hay các Tập tin thuần text). Oracle Text cung cấp việc lập chỉ mục, tìm kiếm theo các từ khóa và chủ đề, và các cách trình bày tài liệu được truy vấn. Oracle TEXT hỗ trợ Tìm kiếm theo chủ đề, với Ngôn ngữ sử dụng trong tài liệu là tiếng Anh hay tiếng Pháp (sử dụng toán tử ABOUT). Ngoài ra, có thể sử dụng chức năng này với toán tử ABOUT trong các ngôn ngữ khác ngoài tiếng Anh và Pháp bằng cách sử dụng một cơ sở tri thức của ngôn ngữ đó. Để có thêm các chức năng mở rộng như trình bày văn bản và duy tu từ điển đồng nghĩa, có thể sử dụng các gói Oracle Text PL/SQL. Để xây dựng một ứng dụng truy vấn, người dùng phải có : • Một bảng đã có tài liệu • Một chỉ mục Oracle Text Oracle Text cho phép tạo ra ba loại chỉ mục. Điều này phụ thuộc vào ứng dụng của người dùng và nguồn tài liệu. Người dùng sử dụng câu lệnh CREATE INDEX để tạo ra các loại chỉ mục Oracle Text này, theo Bảng Mô tả sau: Loại chỉ mục Loại Ứng dụng Toán tử truy vấn CONTEXT Truy xuất Tài liệu. CONTAINS CXTCAT Truy xuất Tài liệu, với mục đích là để cải tiến hiệu suất câu truy vấn hỗn hợp. CATSEARCH CTXRULE Phân loại tài liệu. MATCHES 2. Engine lập chỉ mục: Để truy vấn tập các tài liệu của người dùng, người dùng trước hết phải lập chỉ mục cột tài liệu có liên quan của bảng tài liệu. Quá trình lập chỉ mục sẽ phân tích tài liệu thành các token thông thường chính là các từ. Quá trình này sẽ tạo ra loại chỉ mục CONTEXT, loại chỉ mục ghi nhận mỗi token và các tài liệu có chứa token đó. Loại chỉ mục nghịch đảo như vậy cho phép truy vấn trên các từ và các cụm từ. Đề tài: ”Phát triển một Hệ thống S.E Hỗ trợ Tìm kiếm Thông tin, thuộc lãnh vực CNTT trên Internet qua từ khóa bằng tiếng Việt” Trang 113 Cấu trúc tổng quát của chỉ mục Oracle Text CONTEXT là một chỉ mục nghịch đảo trong đó mỗi token chứa danh sách các tài liệu (các hàng) có chứa token đó. Ví dụ, sau một thao tác lập chỉ mục ban đầu, từ 'CAT' có thể có một mục từ như sau : CAT DOC1 DOC3 DOC5 Điều này có nghĩa là từ CAT có trong hàng chứa tài liệu một, ba và năm. Hình trên mô tả một bảng dữ liệu trong Oracle9i cùng với chỉ mục Oracle Text của nó. Quá trình lập chỉ mục của Oracle Text : Người dùng khởi tạo quá trình lập chỉ mục với câu lệnh CREATE INDEX. Mục đích là tạo ra một chỉ mục Oracle Text gồm các token theo các tham số và các tham chiếu người dùng đã chỉ định. Các tham chiếu và tham số đó có thể là: Đối tượng Mô tả Datastore Tài liệu của người dùng được lưu trữ như thế nào ? Filter (bộ lọc) Tài liệu có thể chuyển đổi tài liệu thành text thuần bằng cách nào ? Lexer (bộ từ vựng) Ngôn ngữ nào được dùng để lập chỉ mục ? Wordlist Có mở rộng cho các câu truy vấn mờ và câu truy vấn từ liên quan ? Storage Dữ liệu lập chỉ mục được lưu trữ như thế nào ? Stoplist Những từ và những chủ đề nào không được lập chỉ mục ? Nhóm thành phần Các phần của tài liệu được định nghĩa như thế nào ? Đề tài: ”Phát triển một Hệ thống S.E Hỗ trợ Tìm kiếm Thông tin, thuộc lãnh vực CNTT trên Internet qua từ khóa bằng tiếng Việt” Trang 114 Ví dụ câu lệnh sau tạo ra một chỉ mục CONTEXT có tên myindex trên cột text của bảng docs CREATE INDEX myindex ON docs(text) INDEXTYPE IS CTXSYS.CONTEXT; Sử dụng các mệnh đề tham số trong câu lệnh CREATE INDEX, người dùng có thể cá nhân hóa chỉ mục CONTEXT. Trong mệnh đề tham số người dùng có thể chỉ ra nơi dữ liệu được lưu trữ, chỉ ra cách người dùng muốn lọc tài liệu để lập chỉ mục, và chỉ ra các phần của tài liệu có được tạo ra hay không. Ví dụ : Để lập chỉ mục tập hợp các file HTML đã được nạp vào trong cột dữ liệu có tên htmlfile, người dùng phát ra câu lệnh CREATE INDEX chỉ ra tham số nơi lưu trữ, bộ lọc và các nhóm thành phần của tài liêu như sau : CREATE INDEX myindex ON doc(htmlfile) INDEXTYPE IS ctxsys.context PARAMETERS ('datastore ctxsys.default_datastore filter ctxsys.null_filter section group ctxsys.html_section_group'); 3. Duy tu các chỉ mục : Duy tu các chỉ mục cần thiết sau khi ứng dụng của người dùng thêm vào, cập nhật hay xóa các tài liệu trong bảng tài liệu. Nếu bảng tài liệu của người dùng là tĩnh nghĩa là không có cập nhật, thêm vào hay xóa tài liệu sau lần lập chỉ mục đầu tiên, người dùng không cần duy tu chỉ mục. Tuy nhiên nếu người dùng thực hiện các thao tác DML (thêm vào, cập nhật, xóa) trên bảng dữ liệu, người dùng phải cập nhật chỉ mục của họ. Người dùng có thể đồng bộ chỉ mục bằng tay với CTX_DDL.SYNC_INDEX. Ví dụ sau đồng bộ chỉ mục myindex với 2 mb bộ nhớ : begin ctx_ddl.sync_index('myindex', '2M'); end; Nếu người dùng đồng bộ chỉ mục thường xuyên, họ có thể xem xét việc tối ưu hóa chỉ mục để giảm sự phân mảnh và xóa những dữ liệu cũ. 4. Giới thiệu công nghệ “INSO filter” của Oracle Text: Oracle Text sử dụng công nghệ lọc tài liệu do tập đoàn Chicago cấp phép. Công nghệ này cho phép bạn index hầu hết tất cả các loại tài liệu. Đề tài: ”Phát triển một Hệ thống S.E Hỗ trợ Tìm kiếm Thông tin, thuộc lãnh vực CNTT trên Internet qua từ khóa bằng tiếng Việt” Trang 115 Công nghệ này cũng cho phép chuyển đổi những tài liệu sang dạng HTML thông qua gói CTX_DOC. Để thực hiện việc chuyển đổi, công nghệ này sử dụng những thư viện và dữ liệu của tập đoàn Inso và Adobe. • Sử dụng công nghệ “INSO filter” để lọc tài liệu: Để sử dụng “INSO filter”, chúng ta sử dụng hàm IFILTER của gói CTX_DOC. Hàm này đòi tham số đầu vào là kiểu nhị phân (BLOB), sau đó lọc dữ liệu và đưa ra dưới dạng văn bản. Cú pháp : CTX_DOC.IFILTER(data IN BLOB, text IN OUT NOCOPY CLOB); Để gọi hàm này ta sử dụng OO4O để kết nối với Oracle và thực hiện lời gọi hàm. 5. Giới thiệu OO4O (Oracle Object for OLE): OO4O là một sản phẩm được thiết kế cho việc kết nối với CSDL của Oracle với bất kỳ một ngôn ngữ lập trình nào mà có hỗ trợ Microsoft COM Automation và công nghệ ActiveX, bao gồm Visual Basic, Visual C++, ASP,.. OO4O bao gồm những lớp phần mềm sau: ƒ OO4O “In-Process” Automation Server. ƒ Oracle Data Control. ƒ Thư viện OO4O cho C++. Đề tài: ”Phát triển một Hệ thống S.E Hỗ trợ Tìm kiếm Thông tin, thuộc lãnh vực CNTT trên Internet qua từ khóa bằng tiếng Việt” Trang 116 PHỤ LỤC 10. SƠ LƯỢC VỀ THƯ VIỆN VNCONVERT: Thư viện này được mở rộng từ thư viện mã nguồn mở của Vietnamse Encoding Converter Library. Thư viện này bao gồm các bảng mã, và các lớp đọc ký tự của các bảng mã dùng để chuyển bảng mã. Tuy nhiên, thư viện này không cung cấo việc nhận dạng bảng mã, và chúng tôi đã mở rộng phiên bản này với các hàm nhận dạng bảng mã. Thư viện này bao gồm các lớp sau: Tên lớp Ý nghĩa XXXCharset (XXX sẽ có các giá trị sau: SingleByte – Bảng mã một byte; DoubleByte - Bảng mã 2 byte (VNI) UnicoideCharset - Bảng mã Unicode UnicodeCompCharset – Bảng mã Unicode tổ hợp UnicodeUTF8 - Bảng mã UTF-8 ) Lớp đọc, ghi các thông tin ứng với một bảng mã Thư viện này có các hàm toàn cục sau: Tên hàm Ý nghĩa VnFileConvert Chuyển đổi file bảng mã với charset biết trước genDetectAndConvert Chuyển đổi bảng mã 2 file với charset chưa biết Sơ lược classes của VnConv: Unikey hỗ trợ các lớp xử lý bảng mã bao gồm những lớp XXXCharset. Những lớp này đều kế thừa từ VnCharset với 4 hàm quan trọng : o startInput : chuẩn bị cho việc đọc dữ liệu o startOutput : chuẩn bị cho việc xuất dữ liệu o nextInput : là hàm đọc ký tự kế tiếp ứng với bảng mã đó. Đây là hàm quan trọng nhất, tất cả những thao tác quan trọng sẽ trong hàm này. o putChar : là hàm xuất ký tự ứng với bảng mã đó. Lưu ý : hàm này đòi hỏi tham số VnStdChar. Ký tự này được tính bằng cách cộng tương đối với VnStdCharOffset (=0x10000). Sơ lược kiểu dữ liệu của VnConv : VnConv hỗ trợ khá nhiều bảng mã. Các bảng mã này được khai trong các mảng hằng : SingleByteTables, DoubleByteTables… trong file data.h, data.cpp. Trật tự của mảng này như sau : Đề tài: ”Phát triển một Hệ thống S.E Hỗ trợ Tìm kiếm Thông tin, thuộc lãnh vực CNTT trên Internet qua từ khóa bằng tiếng Việt” Trang 117 o Từ trái sang phải : theo thứ tự dấu : a, á, à, ả …. o Từ trên xuống dưới : theo thứ tự a..z o 4 dòng cuối là các ký tự Western, dùng để hiển thị các ký tự chuẩn trong Windows-1252. Khi chuyển đổi sẽ không chuyển đổi ký các tự này. - Ngoài ra, mảng CharsetIdMap cũng khá quan trọng, đây chính là bảng index các tên gọi bảng mã trong UniKey. Sơ lược những hàm quan trọng của VN: - Hàm quan trọng nhất trong VnConv là hàm VnFileConvert(). Hàm này sẽ đọc file và gọi hàm VnFileStreamConvert(). Hàm này tiếp tục gọi hàm VnConvert. Đây chính là hàm quan trọng nhất. - Hàm VnConvert() sẽ nhận bảng mã input, output, buffer rồi gọi hàm genConvert(). Hàm genConvert() sẽ gọi hàm nextInput() ứng với bảng mã tương ứng rồi gọi hàm putChar() ứng với bảng mã output. Đề tài: ”Phát triển một Hệ thống S.E Hỗ trợ Tìm kiếm Thông tin, thuộc lãnh vực CNTT trên Internet qua từ khóa bằng tiếng Việt” Trang 118 TÀI LIỆU THAM KHẢO. TIẾNG VIỆT. [01]. Nguyễn Thiện Giáp. Từ và nhận diện từ Tiếng Việt. NXB Giáo dục Hà Nội, 1996. [02]. Nguyễn Kim Thản . Nghiên cứu ngữ pháp Tiếng Việt. NXB Giáo Dục, 1997. [03]. Nguyễn Tài Cẩn. Ngữ Pháp tiếng Việt. NXB Đại học Quốc gia Hà Nội, 1998. [04]. Huỳnh Thụy Bảo Trân. Nghiên cứu một số Mô hình Xây dựng Thử nghiệm một EARCH ENGINE Tiếng Việt, Luận văn Thạc sĩ CNTT, ĐHKHTN, ĐHQG-HCM, 2002. [05]. Trương Mỹ Dung, Đỗ Hoàng Cường, Xây dựng và Thiết kế một Hệ thống Search Engine hỗ trợ tìm kiếm theo từ khóa tiếng Việt, Tạp chí Phát triển khoa học công nghệ, ĐHQG-HCM, Vol.7, 4&5 2004, p. 83-88. [06]. Do Phuc (2006), Research on the application of the frequent sets and association rules to the Vietnamese document semantic classification, Journal of Science and Technology Development, VNU-HCM, Vol 9, n# 2, pp 23-32, 2006. TIẾNG ANH. [07]. Lenat D, R.V Guha, Build Large Knowledge-based Systems.CVC Project Addison Wesley,1990 [08]. Uschold Mike, Grunminger Moralee: ONTOLOGIES: Principles, methods and Applications, university of Edinburgh, AIAI, 1996 [09]. Borgo S, N. Guarini: Using A Large Linguistic Ontology for Internet-based Retrieval of Object-Oriented Components, In Proc of Seke’967. Madrid 1997 [10]. Kindo T, Yhisida: Adaptive Personal Information Filtering System that Organizes Personal Profiles Automatically, IJCAI, 1997, Japan . [11]. Ng H I, “Automatic Induction of Chinese WordNet”, 1997 [12]. Guarino N: Formal Ontology and Information System. In Proc of IOS, 1998, Italy. [13]. Farreres X., Rigau G., and Rodnguez H..; “Using WordNet for building WordNets”. Proceedings of COLING-ACL 1998. Workshop on Usage of WordNet in Natural Language Processing Systems. [14]. Theilmann W.K. Rothermal, Domain Experts for Information Retrieval in the Word WideWeb, In Proc CIA’98, Newyork, 1998. Đề tài: ”Phát triển một Hệ thống S.E Hỗ trợ Tìm kiếm Thông tin, thuộc lãnh vực CNTT trên Internet qua từ khóa bằng tiếng Việt” Trang 119 [15]. Guarino N, Masolo: OntoSeek:Using Large Linguistic Ontologies for Accessing On-Line Yellow Pages and Product Catalogs, IEEE, May, 1999, pp 70-80. [16]. Shari Landes, Claudia Leacock, and Randee I.Tengi (1999). Building semantic concordances. WordNet : an electronic lexical database. [17]. Seungwoo Lee and Geunbae Lee. “Unsupervised Noun Sense Disambiguafion Using Local Context and Co-occurrence”. 2000 Journal of Korean Information Science Society. [18]. Wu-Chenggang, Jiao, Shi Zhongzhi, Onthology based Information Retrieval, Chinese Academy of Science, 2000 [19]. The Anotomy of a large scale search engine. Google 2003. [20]. Lawrence Page, Sergey Brin, Rajeev Motwani, Terry Winograd. The PageRank Citation ranking: Bringing oder to the Web. Manuscrip in progress. [21]. Truong My Dung, “Report Project Mitani 1: Vietnamese Search Engine”, 12/2003,VNU-HCMC [22]. Trương Mỹ Dung, Multilingual Ontology-Based Upgrading Extensions Of An Oracle Text-Based Search Engine, Kỹ yếu Hội thảo FAIR 2005. [23]. Truong My Dung, Nguyen Dinh Ngoc, “ONTOLOGY OPTIMISATION: PROBLEMATICS & METHODOLOGY, WITH A FIRST STEP OF FORMALISM”, Progress in Informatics, No.IEEE, 87-95, 2005. [24]. Do Phuc (2006), Document classification using graph model, frequent subgraphs and Galois lattice, In Proceedings (Addedum) of the 4th IEEE (international conference on computer science research, innovation and revision for the future, RIVF’06, pp173-176. CÁC TRANG WEB. [25]. [26]. [27]. [28]. [29]. [30]. www.encanto.com [31]. [32]. [33]. U.S. Institute of Museum và Library Services của Library Services và Technology Act, State Librarian. [34]. [35]. [36]. [37]. [38]. [39]. [40]. [41]. [42]. www.yahoo.com

Các file đính kèm theo tài liệu này:

  • pdfPhát triển một Hệ thống SE Hỗ trợ Tìm kiếm Thông tin, thuộc lãnh vực CNTT trên Internet qua từ khóa bằng tiếng Việt.pdf