Một số vấn đề liên quan đến Search Engine ứng dụng trong Text : Luận văn ThS. Công nghệ thông tin: 1 01 10

92 12 0
Một số vấn đề liên quan đến Search Engine ứng dụng trong Text : Luận văn ThS. Công nghệ thông tin: 1 01 10

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

2 MỤC LỤC MỤC LỤC BẢNG KÝ HIỆU VIẾT TẮT DANH MỤC CÁC BẢNG DANH MỤC CÁC HÌNH VẼ MỞĐẦU Chươ ng 1: TỔNG QUAN VỀSEARCH ENGINE Đị nh nghĩ a 1.1 Search engine gì? 1.2 Phân loạ i máy tìm kiế m .9 Các bộphậ n cấ u thành hệthống SE 11 2.1 Bộphậ n thu thậ p thông tin – Robot 11 2.2 Bộphậ n lậ p chỉmục – Index 12 2.3 Bộphậ n tìm kiế m thơng tin – SE 12 Bộphậ n thu thập thông tin – ROBOT 13 3.1 Ứng dụng củ a Robot 13 3.2 Robot chỉmục – Robot Indexing .14 Bộphậ n lập chỉmục – INDEX 15 Bộphậ n tìm kiế m thơng tin – SEARCH ENGINE 17 5.1 Các phương thức tìm kiế m .17 5.2 Các chiế n lược tìm kiế m 18 Nguyên lý hoạ t độ ng 20 Chư ơng 2: MỘT SỐSEARCH ENGINE THÔNG DỤNG TRÊN THẾGIỚI VÀ CỦA VIỆT NAM 21 Các SE thông dụng thếgiới 21 Các SE Việ t Nam 22 2.1 Netnam .22 2.2 Vinaseek 29 Xu thếphát triể n SE .30 Mộ t sốSE text 31 4.1 SE toàn vă n SQL server 31 4.2 SE toàn vă n Oracle (Oracle Text) .33 Chươ ng 3: CÁC PHƯƠNG PHÁP LẬP CHỈMỤC, CHỈMỤC 42 Tổng quan vềphương pháp lập chỉmục 42 1.1 Xác đị nh mụ c từquan trọ ng cầ n lậ p chỉmục 42 1.2 Mộ t sốhàm tính trọng sốthuậ t ngữ .43 1.3 Lậ p chỉmụ c tựđộ ng cho tài liệ u 47 Các phương pháp mục 48 2.1 Phương pháp chỉmụ c mả ng tiế p tố(Suffix array) 48 2.2 Phương pháp chỉmụ c tệ pđ ả o (Inverted File) 49 2.3 Phương pháp chỉmụ c tệ p ký sốSFID .54 2.4 So sánh phương pháp chỉmụ c 57 Chươ ng 4: TRIỂN KHAI SE TIẾNG VIỆT TRONG ORACLE TEXT 61 Khó khăn cho việ c lậ p chỉmục tiế ng Việ t 61 Đặc điể m vềtừtrong tiế ng Việ t việ c tách từ 62 2.1 Đặ c điể m vềtừtrong tiế ng Việ t: 62 2.2 Tiế ng: .62 2.3 Từ: 62 2.4 Tách từ 63 2.5 Giả i quyế t vấ nđ ềchính tả .64 2.6 Giả i quyế t vấ nđ ềvềtừcủa tiế ng Việ t 66 2.7 Xửlý vấ n đềsắ p xế p tiế ng Việ t .67 2.8 Xây dựng từđ iể n tiế ng Việ t .68 Triể n khai thửnghiệ m .69 3.1 Đặ t vấ n đề 69 3.2 Xây dựng chương trình 70 3.3 Thiế t kếchi tiế t 75 3.4 Chương trình 83 3.5 Kế t quảthửnghiệ m 88 KẾT LUẬN 90 TÀI LIỆU THAM KHẢO 92 Tiế ng Việ t 92 Tiế ng Anh 92 Website .92 BẢNG KÝ HIỆU VIẾT TẮT Ký hiệ u viế t tắt Tiếng Anh Tiếng Việt SE Search Engine Máy tìm kiế m IF Inverted File Tệ pđ ả o ID Index Chỉmụ c SFID Signature file index Chỉmụ c tệ p ký số IFID Inverted File Index Chỉmụ c tệ p đả o IL Inverted list Danh sách đả o SA Suffix Array Mả ng tiế p tố MSFT Microsoft Full Text Toàn vă n Microsoft SF Signature File Tệ p ký số CSDL Database Cơsởdữliệ u DANH MỤC CÁC BẢNG Bả ng 1.1: Các từkhóa giúp tối ưu câu truy vấ n 19 Bả ng 2.1: Bả ng tóm tắ t tính nă ng củ a SE thông dụ ng thếgiới 22 Bả ng 2.2: Bả ng miêu tảcác từkhoá sửdụ ng việ c tìm kiế m 27 Bả ng 2.3: Ví dụtìm kiế m thơng tin Netnam 29 Bả ng 2.4: Các thành phầ n MSFTESQL .32 Bả ng 2.5: Các thuộ c tính dùng đ ểranking 33 Bả ng 2.6: Các toán tửdùng Oracle Text 38 Bả ng 3.1: Bả ng minh họ a trình xây dựng mả ng tiế p tố 49 Bả ng 3.2: Bả ng danh sách đ iể m truy cậ p mả ng tiế p tố 49 Bả ng 3.3: Vă n bả n mẫ u; mỗ i dòng tài liệ u 50 Bả ng 3.4: IF đố i vớivă n bả n bả ng 3.3 .51 Bả ng 3.5: IF mức từđố i vớivă n bả n bả ng 3.3 52 Bả ng 3.6: Mã hoá chồng lên củ a tài liệ u bả ng 3.3 đố i vớiSF .55 Bả ng 3.7: Bả ng so sánh SA IF .57 Bả ng 4.1: Bả ng mơ tảcác chức nă ng 75 Bả ng 4.2: Bả ng cấ u trúc dữliệ u 76 Bả ng 4.3: Mô tảthủtụ c Myctxhx .77 Bả ng 4.4: Mô tảthủtụ c Cvtr 81 Bả ng 4.5: Mô tảthủtụ c VnNormalize 81 DANH MỤC CÁC HÌNH VẼ Hình 1.1: Giao diệ n máy metacrawler 10 Hình 1.2: Mơ hình xửlý cho hệthố ng lậ p chỉmụ c Hình 1.3: Kiế n trúc chung củ a SE 20 Hình 2.1: Sơđồhệthống SE Netnam 23 Hình 2.2: Kiế n trúc củ a MSFT 31 Hình 2.3: Kiế n trúc củ a Oracle Text 34 Hình 4.1: Cấ u trúc chương trình Thưviệ n số 71 Hình 4.2: Kiế n trúc xây dựng chỉmục Oracle Text đ ối với tiế ng Việ t .73 Hình 4.3: Kiế n trúc hoạ tđ ộng củ a việ c sắ p xế p tiế ng Việ t Hình 4.4: Kiế n trúc hoạ tđ ộng củ a thủtụ c Myctxhx .77 Hình 4.5: Giao diệ n hình n lý dữliệ u Text 85 Hình 4.6: Giao diệ n hình nhậ p dữliệ u Text 85 Hình 4.7: Giao diệ n hình tìm kiế m dữliệ u .86 Hình 4.8: Giao diệ n hình tìm kiế m hình theo nă m .86 Hình 4.9: Giao diệ n hình tìm kiế m hình theo chủđề .87 Hình 4.10: Giao diệ n hình tìm kiế m bỏdấ u 88 Hình 4.11: Giao diệ n hình n lý danh mục từkhóa (Thesaurus) 88 MỞ ĐẦU Mỗ i giây trôi qua thếgiới lạ i xuấ t hiệ n hàng ngàn trang web, hàng triệ u tài liệ u khác Thếgiới Internet ngày khổng lồ, kho tri thức củ a nhân loạ i ngày phát triể n với nhiề u loạ i hình thơng tin khác nhau, dữliệ u hình ả nh, âm hay dữliệ u Text Khi thông tin bùng nổthì nhu cầ u tìm kiế m càng tă ng cao, vậ y ngày có rấ t nhiề u cơng cụhỗtrợcho việ c tìm kiế m xác hiệ u Mộ t sốlượng lớn thông tin ngày ng Text, đ ược lưu ởvă n bả n, trang web, fax, email…Những thông tin quan trọng thườ ng rấ t khó truy cậ p n lý gặ p nhiề u trởngạ i Có rấ t nhiề u loạ i dữliệ u Text khai thác không đ úng mức, thông tin cầ n thiế t khơng tìm thấ y cầ n thiế t hoặ c phả i mấ t rấ t nhiề u công sức Hiệ n hệquả n trịcơsởdữliệ uđ ã hỗtrợrấ t tố t tính nă ng tìm kiế m dữliệ u toàn vă n (full-text) nhưOracle, Microsoft, MySQL, Những tính nă ng hầ u đáp ứng việ c tìm kiế m cho nhiề u nguồn tài liệ u khác nhau, cấ u trúc khác nhau, nhiên công cụnày không thực sựthỏa mãn cho tìm kiế m tiế ng Việ t, cụthểlà vấ nđ ềbả ng mã, ngữpháp đ ặ c trưng riêng củ a tiế ng Việ t Luậ n vă n tậ p trung tìm hiể u hoạ t đ ộng mơ hình máy tìm kiế m (Search engine), mộ t sốtrang tìm kiế m thếgiới Việ t Nam, kỹthuậ t chỉmụ c, đặ c thù việ c tìm kiế m tiế ng Việ t triể n khai thửnghiệ m chức nă ng tìm kiế m toàn vă n Oracle Luậ n vă n gồ m chương: Chương 1: Giới thiệ u tổ ng quan vềSE, thành phầ n cấ u thành củ a mộ t SE Các nguyên lý hoạ tđ ộng, chiế n lược tìm kiế m đ ưa chương hỗ trợcác khái nhiệ m cơbả n cho việ c phát triể n SE Chương 2: Phân tích hiệ n trạ ng sốSE thếgiớ i, SE củ a Việ t Nam xu hướng phát triể n SE thếgiới Tìm hiể u SE Text hệquả n trị cơsởdữliệ u nhưOracle, Microsoft cũ ng đ ược đưa chương Chương 3: Tậ p trung tìm hiể u phương pháp chỉmụ c thông dụ ng Chương đưa tổ ng quan vềcách lậ p chỉmục, chỉmục tựđ ộng Ngồi chương cịn phân tích kỹcác kỹthuậ t chỉmục: mả ng tiế p tố(suffix array), chỉmục tệ p đ ả o (inverted file), chỉmục tệ p ký số(SFID) so sánh phương pháp vớ i Chương 4: Triể n khai thửnghiệ m SE Text CSDL Oracle Chương chỉra khó khă n, đặ c thù việ c chỉmục ngôn ngữtiế ng Việ t Tuy nhiên, đ ể việ c xửlý ngôn ngữtiế ng Việ t thực sựhiệ u quảcầ nđ òi hỏi sựđ ầ u tư, đ óng góp rấ t nhiề u củ a chuyên gia vềngôn ngữhọ c Việ c cài đặ t thửnghiệ m chỉđưa đ ược cách thức giả i quyế t áp dụng sốthửnghiệ m Em xin gửi lời m ơn PGS TS VũĐức Thi, thầ y cô giáo trườ ng Đạ i học Công nghệ , anh chịđồ ng nghiệ p bạ n lớp trang bịkiế n thức có nhiề uđ óng góp q báu giúp em hồn thành luậ n vă n Chương 1: TỔNG QUAN VỀSEARCH ENGINE Đị nh nghĩ a 1.1 Search engine gì? Máy truy tìm hay máy tìm kiế m (search engine), hay gọi với nghĩ a rộng cơng cụtìm kiế m (search tool), ngun thuỷlà phầ n mề m nhằ m tìm trang mạ ng Internet có nội dung theo yêu cầ u ngườ i dùng dựa vào thông tin hiệ n có Trữlượng thơng tin cơng cụtìm kiế m thực chấ t mộ t sởdữliệ u rấ t lớn Việ c tìm tài liệ u sẽdựa từkhóa người dùng gõ vào trảvềmộ t danh mụ c trang Web có chứa từkhóa Từkhóa đượ c hiể u nhưlà tổhợp từcủ a ngôn ngữnhấ t đ ị nh đ ược sắ p xế p hay quan hệvới thông qua biể u thức logic mà cơng cụtìm kiế m hỗtrợ Trong trường hợp mộ t từkhoá bao gồ m nhiề u chữ(hay từ) có thểgọ i tậ p họ p tấ t cảcác chữđó bộtừkhố Cơsởdữliệ u mà máy truy tìm sửdụng thường đượ c bổsung cậ p nhậ t đị nh kì bằ ng cách quét, đ iề u nh, thêm bớt nộ i dung chỉsốhoá lạ i tấ t cảcác trang tìm gặ p Internet Ngày nay, với sốlượng trang Web lên đ ế n hàng tỉ , nên việ c tìm sốtrang có chứa nội dụ ng đ ịi hỏi từkhố có thểlên đ ế n hàng triệ u trang Do đ ó, việ c hiể n thịkế t quảtìm thấ y theo đ úng thứtựquan trọng củ a trang theo mong muốn củ a người dùng mộ t trởngạ i lớn địi hỏi sựchắ t lọc từmáy truy tìm khéo léo vềcách thức đặ t từkhoá từngười dùng máy 1.2 Phân loại máy tìm kiếm Ngày máy truy tìm phát triể n rấ t xa so với ng nguyên thuỷ Có hai cách phân loạ i máy truy tìm 1.2.1 Theo phương thức hoạt động  Kiể u máy nhệ n (spider): Cơsởdữliệ u củ a máy truy tìm đ ược cậ p nhậ t phầ n mề m đặ c biệ t thườ ng gọi "robot", "spider" hay "Webcrawler" Các phầ n mề m sẽtựđộ ng dị tìm phân tích từnhững trang có sẵ n cơsởdữliệ u đểtìm liên kế t (link) từcác trang 10 trởlạ i bổsung dữliệ u cho sau phân tích Phầ n mề m báo cáo vềcác liên kế tđ ã bịđào thả i Từkhố đượ c trích chọ n đểcho SE tìm kiế m bả ng chỉsố.Kế t quảtố t nhấ t sau phân hạ ng sẽđ ược xế pở thứ tự đầ u tiên Trang thông dụ ng nhấ t dùng nguyên tắ c http://www.google.com Hình 1.1: Giao diệ n máy metacrawler  Kiể u máy truy tìm ảo (meta-search engine): Ngày nay, người ta có thểlợ i dụng máy truy tìm sẵ n có đểthiế t kếthành mộ t loạ i máy truy tìm mớigọ i máy truy tìm ả o Nguyên tắ c loạ i máy truy tìm ả o đ ơn giả n Kiể u máy truy tìm ả o khơng có cơsởdữliệ u Khi hoạ t độ ng máy sẽgởi từ khố đế n máy truy tìm khác mộ t cách đ ồng loạ t nhậ n vềtấ t cảcác kế t quảtìm đ ược Nhiệ m vụtiế p theo chỉlà phân tích phân hạ ng lạ i tài liệ u tìm đượ c cho người dùng Ưu điể m củ a loạ i máy truy tìm lợi dụ ng cơsởdữliệ u máy truy tìm khác đ ểtìm nhiề u kế t quảhơn nhanh Nhưng loạ i chỉtồ n tạ i nế u có máy truy tìm ngun thuỷnên gọ i meta Điể n hình loạ i MetaCrawler  Kiể u thưmục đố i tượng (subject directory): Cịn gọi máy truy tìm theo phân lớp (hierarchical search engine) - máy truy tìm phân lớp sẵ n đ ối tượng vào thưmục ngườ i dùng sẽlựa theo kiể u rẽnhánh từtừcho đ ế n tìm trang Web mà muố n Phương thức tìm kiế m phân lớp dễcho người truy cậ p có điể m yế u khơng thểbao gồm hế t mọ i chủđềmà họmuốn kiế m Hơn nữa, sựphân loạ iđ ôi khơng đ ược đ ầ yđ ủvà xác Điể n hình củ a loạ i http://www.yahoo.com  Kiể u cơsởdữliệ u đặ c biệ t (invisible Web): Đặ c điể m củ a loạ i kiể u máy tìm kiể m dữliệ u kiế m khơng thực sựcó từđị a chỉtrang Web cụthểqua máy truy tìm; dữliệ u tồ n tạ i cơsởdữliệ u máy 11 tính hay mạ ng ởđâu đ ó Internet mà trang Web phép sửdụng Đặ c biệ t, trang Web nghiên cứu củ a đ i học hay học việ n http://lii.org, http://www.academicinfo.net http://infomine.ucr.edu đ iể n hình củ a kiể u tìm kiế m CSDL Càng ngày có nhiề u máy truy tìm hỗtrợngườ i dùng qua nhiề u cách  thức khác nên ranh giới phân chia củ a máy truy tìm khơng đ kểmà thay vào hệthố ng máy truy tìm lạ i bao gồ m nhiề u kiể u chức nă ng khác Chẳ ng hạ n nhưhttp://www.yahoo.com khơng cịn đơn thuầ n mộ t máy truy tìm theo kiể u thưmụ c đố i tượng mà bên cạ nh đ ó cũ ng cung cấ p ln cảkiể u máy nhệ n cho người dùng 1.2.2 Theo chức Theo cách phân loạ i tùy theo đ ối tượng tìm kiế m mà có:  Mày tìm kiế mđ ị a chỉtrang Web  Kiế mđ ị a chỉthưđiệ n tử  Kiế m thông tin riêng vềmột ngườ i  Kiế m thông tin vềmột tổchức  Kiế m việ c làm  Kiế m bả nđ [11] Các bộphận cấu thành hệthống SE 2.1 Bộphận thu thập thông tin – Robot Robot mộ t chương trình tựđ ộng duyệ t qua cấ u trúc siêu liên kế t đểthu thậ p tài liệ u mộ t cách đệquy nhậ n vềtấ t cảtài liệ u có liên kế t với tài liệ u Robot biế t đế n nhiề u tên gọ i khác : spider, web wanderer hoặ c web worm,… Những tên gọi đ ôi gây nhầ m lẫ n, nhưtừ‘ spider’ ,‘ wanderer’ làm người ta nghĩrằ ng robot tựnó di chuyể n từ‘ worm’làm người ta liên tưởng đ ế n virus Vềbả n chấ t robot chỉlà mộ t chương trình duyệ t thu thậ p thông tin từ site theo đ úng giao thức web Những trình duyệ t thơng thường khơng xem robot thiế u tính chủđộ ng, chúng chỉduyệ t web có sựtác độ ng người 79 unsigned char *tcvnStr2PreCompoundStr(unsi gned char *tcvn_str, long *res_len, int need_normalize); unsigned char *tcvnStr2CompoundStr(unsigne d char *tcvn_str, long *res_len, int need_normalize); unsigned char *tcvnStr2CanonicalStr(unsigned char *tcvn_str, long *res_len, int need_normalize); int normalize_vni_pair(struct vni_accented_pair *vni_pair); MODE_CANONICAL) , yêu cầ u có chuẩ n hố hay khơng Chuyể n xâu ký tựtừ trảvềxâu ký tựđ ược tcvn sang utf8 chuyể nđ ổi Sốký tự PreCompound chuyể n đổ i Chuyể n xâu ký tựtừ tcvn sang utf8 Compound trảvềxâu ký tựđ ược chuyể nđ ổi Sốký tự chuyể n đổ i Chuyể n xâu ký tựtừ trảvềxâu ký tựđ ược tcvn sang utf8 Canonica chuyể nđ ổi Sốký tự chuyể n đổ i Kiể m tra xem ký tự mã hố Vni có chuẩ n hố hay khơng unsigned char Chuyể n mộtxâu ký tự *vniStr2utf8str(unsigned char Vni sang UTF8 *vni_str, int mode); Mode: MODE_PRECOMPOU ND, MODE_COMPOUND MODE_CANONICAL unsigned char Chuyể n mộtxâu VNI *vniStr2NormalizedUtf8str(unsi sang UTF8 đ ồng thời gned char *vni_str, int mode); chuẩ n hoá unsigned char Chuyể nđ ổi mộ t xâu *dummyStr2utf8str(unsigned chưa đ ị nh ng đ ược char *dummy_str, int mode, int sang UTF8 Tựtìm need_normalize); kiế mđ ị nh ng Có thể chuẩ n hóa xâu kế t void Convert file chưa rõ dummy_txt_file2utf8File(unsign đị nh ng sang UTF8, ed char *s_f_name, unsigned có thểchuẩ n hố char *d_f_name, int mode, int need_normalize); unsigned char Chuyể n mộtxâu chưa *dummyStr2UniStr(unsigned rõ đị nh ng sang char *dummy_str, int mode, int Unicode need_normalize, long *uni_len); void Chuyể n mộtfile chưa dummy_txt_file2UniFile(unsign rõ đị nh ng sang ed char *s_f_name, unsigned Unicode char *d_f_name, int mode, int need_normalize); 80 void txt_file2utf8File(unsigned Chuyể n mộtfile sang char *s_f_name, unsigned char Utf8 *d_f_name, int f_type, int mode, int need_normalize) unsigned char *str2UniStr(unsigned char *input_str, long *res_len, int s_encode, int d_encode, int need_normalize) Chuyể n mộtxâu ký tự sang Unicode void txt_file2uniFile(unsigned Chuyể n mộtfile sang char *s_f_name, unsigned char Unicode *d_f_name, int f_type, int mode, int need_normalize); void n_tcvnFile2utf8File(unsigned char *s_f_name, unsigned char *d_f_name, int mode); void n_tcvnFile2precompoundFile(un signed char *s_f_name, unsigned char *d_f_name); void n_tcvnFile2compoundFile(unsig ned char *s_f_name, unsigned char *d_f_name); void txtFile2BadUtf8File(unsigned char *s_f_name, unsigned char *d_f_name); int is_bad_utf8_file(unsigned char *s_file) int is_bad_utf8_pair(struct Chuyể n mộtfile tcvn sang Unicode s_f_name: file nguồ n d_f_name: file đ ích f_typ: Kiể u mã hóa file nguồn mode: Kiể u mã hố file đ ích need_normalize: có chuẩ n hố hay khơng input_str: xâu vào res_len: Độdài chuyể nđ ượ c s_encode: Kiể u mã hoá xâu vào d_encode: Kiể u mã hoá xâu trảvề need_normalize: có chuẩ n hố hay khơng s_f_name: file nguồ n d_f_name: file đ ích f_type: Kiể u mã hố file nguồn mode: Kiể u mã hố file đ ích need_normalize: có chuẩ n hố hay khơng Mode: kiể u mã hố file đ ích Chuyể n mộtfile sang kiể u mã hoá preCompound Chuyể n mộtfile sang kiể u mã hố Compound Kiể m tra xem mộtfile có đ úng khuân ng Utf8 hay không Nế u không tạ o thêm file Unicode từfile cũcó tên s_file.good Kiể m tra xem mộtcấ u 1: nế u có 81 bad_utf8_pair *utf8_val); void txtFile2BadUtf8File(unsigned char *s_f_name, unsigned char *d_f_name) trúc bad_utf8_pair có 0: Nế u khơng nằ m bả ng cấ u trúc bad_utf8_table hay không Chuyể nđ ổi mộ t file không vớicấ u trúc Utf8 sang Utf8 Bả ng 4.4: Mô tảthủtục Cvtr 3.3.4 Thủtục VnNomalize Thủtụ c thực hiệ n chuẩ n hóa việ c bỏdấ u chuyể n sang unicode UTF8 Normalize2 Normalize Chuẩ n hoá mộ t xâu chuyể n sang UTF8 Sẽcố gắ ng trảvềsốký tự chuẩ n hoá đ ược Chuẩ n hoá mộ t xâu chuyể n sang UTF8 Nế u không đ ượ c trảvềnull Bả ng 4.5: Mô tảthủtục VnNormalize 3.3.1 Hàm xửlý xếp tiếng Việt FUNCTION nls_sort_pre(pin in varchar2) RETURN varchar2 IS Purpose : Sap xep vietnamese sort wih precompound tmp varchar2(32000); c varchar2(3); i number; dau varchar2(10); pa varchar2(10); str varchar2(32000):=ltrim(rtrim(LOWER(pin))); len number:=length(str); BEGIN if str is null then return null; end if; for i in len loop c:=substr(str,i,1); if c not in (',','!',':',';','.','/','\',')','}',']','|','=','-','?') then look for end of word tinh phu am if c in ('à','ả','ã','á','ạ') then pa:='az'; elsif c in ('ă','ằ ','ẳ','ẵ ','ắ ','ặ') then pa:='azz'; elsif c in ('â','ầ ','ẩ','ẫ ','ấ ','ậ') then pa:='azzz'; elsif c in ('è','ẻ ','ẽ','é','ẹ ') then 82 pa:='ez'; elsif c in ('ê','ề ','ể','ễ ','ế ','ệ') then pa:='ee'; pa:='ezz'; elsif c in ('đ') then pa:='dz'; elsif c in ('ì','ỉ ','ĩ ','í','ị ') then pa:='i'; elsif c in ('ị','ỏ','õ','ó','ọ') then pa:='oz'; elsif c in ('ơ','ờ','ở','ỡ','ớ','ợ') then pa:='oo'; pa:='ozz'; elsif c in ('ô','ồ','ổ','ử','ố','ộ') then pa:='ooo'; pa:='ozzz'; elsif c in ('ù','ủ','ũ','ú','ụ') then pa:='uz'; elsif c in ('ư','ừ','ử','ữ','ứ','ự') then pa:='uu'; pa:='uzz'; elsif c in ('ỳ','ỷ ','ỹ','ý','ỵ ') then pa:='y'; elsif c in (' ') then pa:=dau||'aa'; else pa:=c; end if; tmp:=tmp||pa; pa:=''; tinh dau if c in ('à','ằ','ầ','è','ề','ì','ị','ờ','ồ','ù','ừ','ỳ') then dau:='z'; elsif c in ('á','ắ ','ấ','é','ế ','í','ó','ớ','ố','ú','ứ','ý') then dau:='zz'; elsif c in ('ả','ẳ ','ẩ','ẻ ','ể ','ỉ ','ỏ','ở','ổ','ủ','ử','ỷ') then dau:='zzz'; elsif c in ('ã','ẵ ','ẫ','ẽ ','ễ ','ĩ ','õ','ỡ','ử','ũ','ữ','ỹ') then dau:='zzzz'; elsif c in ('ạ','ặ ','ậ','ẹ ','ệ ','ị ','ọ','ợ','ộ','ụ','ự','ỵ') then dau:='zzzzz'; end if; else end of word tmp := tmp||dau||c; dau :=''; end if; end loop; tmp := tmp || dau; return tmp; END; end of pre_sort 83 3.3.2 Tạo mục Oracle 3.3.2.a Tạ o bộlọ c riêng Toàn bộcác chức nă ng củ a Oracle Text đ ược tổchức cấ u trúc (scheme) CTXSYS Trong chương trình thửnghiệ m sẽphả i tạ o bộlọc riêng, cách tạ o: chạ y SQLPLUS kêt nối bằ ng user CTXSYS thực hiệ n exec ctx_ddl.create_preference('CTXSYS.myctxhx_index', 'USER_FILTER'); exec ctx_ddl.set_attribute('CTXSYS.myctxhx_index', 'COMMAND', 'myctxhx.exe'); Hai lệ nh sẽtạ o bộlọc riêng tên myctxhx_index, bộlọc gọi đế n thủtục myctxhx.exe (3.2.6) 3.3.2.b Tạ o chỉmục Sau tạ ođ ược bộlọ c riêng, việ c tạ o chỉmụ c Toàn vă nđ ược thực hiệ n: kế t nối bằ ng user củ a chương trình thực hiệ n câu lệ nh: CREATE INDEX THESIS_DOC_INDEX ON I_DOC(IFILE.SOURCE.LOCALDATA) INDEXTYPE IS CTXSYS.CONTEXT PARAMETERS (' FILTER CTXSYS.MYCTXHX_INDEX STOPLIST CTXSYS.EMPTY_STOPLIST'); Trong câu lệ nh trên, tính nă ng Oracle Text đ ã đượ c sửdụng là:  Kiể u chỉmụ c: CTXSYS.CONTENT – loạ i chỉmục củ a Oracle Text (trình bày ởphầ n 4.2.7)  Tham sốtạ o chỉmuc: o Bộlọ c: myctxhx o Stoplist: khơng dùng 3.4 Chương trình 3.4.1 Chuẩn bịmơi trường  Mơi trườ ng: o Cấ u hình máy cài đặ t: - CPU: Pentium 4: 1500MHZ - RAM: 512 MB 84 - HDD: 40GB  Hệđiề u hành: Windows 2000  Database: Oracle 8i  Cài đ ặ t, thiế t lậ p quyề nđ ểsửdụng chức nă ng Oracle Text: o Cài đ ặ t IIS: Web server o Cài đặ t Oracle interMedia Web Agent dùng lưu trữ, tìm kiế m, n lý dữliệ u audio, video, image Oracle 8i bằ ng Web o Tạ o thưmụ c máy chủđểchứa file upload, ví dục:\temp\ o Tạ o thưmụ o liên kế tđ ế n thưmục oracle gán quyề n đ ọc:   create directory I_DOC_DIR as 'c:\temp' grant read on directory I_DOC_DIR to public User chương trình phả i có quyề n: o CTXAPP o DBA Công cụ phát triể n: Oracle Form developer 6i, C, FontPage, Oracle InterMedia  Dữliệ u: o 11000 tệ p dữliệ u luậ t phủVN ban hành từnă m 1945 Bả ng mã: TCVN o 135 báo vềquả n lý nhân sự, n lý công ty Bả ng mã: Unicode Precompound 85 3.4.2 Giao diện chương trình  Quả n lý dữliệ u: thêm, sửa, xóa dữliệ u (thesis_doc.fmb) Hình 4.5: Giao diệ n hình quản lý dữliệ u Text  Chức nă ng nhậ p dữliệ u vào chương trình (upload.asp) Hình 4.6: Giao diệ n hình nhập dữliệ u Text 86  Màn hình tìm kiế m (search.asp) Hình 4.7: Giao diệ n hình tìm kiế m dữliệ u  Màn hình tìm kiế m theo hình (BrowseSearch.asp) Hình 4.8: Giao diệ n hình tìm kiế m hình theo nă m 87 Hình 4.9: Giao diệ n hình tìm kiế m hình theo chủđề  Màn hình tìm kiế m bỏdấ u 88 Hình 4.10: Giao diệ n hình tìm kiế m bỏdấ u Màn hình quản lý Thesaurus (thesaurus.fmb)Hình 4.11: Giao diệ n hình n lý danh mục từkhóa (Thesaurus) 3.5 Kết quảthửnghiệm 3.5.1 Kết  Thời gian đ ánh chỉmục: 30 phút 89  Thời gian đồ ng bộchỉmục: tùy thuộ c vào sốlượ ng dữliệ uđ ược thêm vào, trung bình phút   Thời gian tìm kiế m: o Một từkhóa: giây o Kế t hợp đ iề u kiệ n: giây Một sốkế t quảcụthể o Từkhóa Kinh tếcó 4653 biể u ghi tìm thấ y, 4640 biể u ghi bãng mã TCVN 13 biể u ghi bả ng mã Unicode PreCompound o Từkhóa Kinh tếAND 2000 có 661 biể u ghi đ ượ c tìm thấ y, 658 biể u ghi mả ng mã TCVN biể u ghi bả ng mã Unicode PreCompound 3.5.2 Đánh giá Chương trình thửnghiệ m đ ược xây dựng đ áp ứng yêu că n bả n mộ t chương trình Thưviệ n số,đó là:  Quả n lý dữliệ u: cậ p nhậ t, sửa, xóa, thêm  Chức nă ng khai thác: tra cứu cơbả n, nâng cao tra cứu theo hình  Đáp ứng mộ t sốtính nă ng că n bả n yêu cầ u chức nă ng tra cứu đ ối vớ i Tiế ng Việ t: o Phầ n thửnghiệ mđ ã đáp ứng việ c tìm kiế m nhiề u bả ng mã: Unicode, TCVN o Hỗtrợtìm kiế m bỏdấ u o Tìm kiế m chủđềliên quan: danh mục từkhóa (thesaurus) o Sắ p xế p tiế ng Việ t theo chuẩ n o Khơng phân biệ t chữhoa/thường o Hỗtrợcác tốn tửđ iề u kiệ n: AND, OR, NOT Chương trình đ ược thiế t kếmở,các chức nă ng xây dựng thành thành phầ n (component) đ ả m bả o dễdàng cho việ c nâng cấ p, tích hợp sửdụng lạ i Chương trình đ ược phát triể n nề n tả ng mạ nh dễtriể n khai vào thực tế 90 KẾT LUẬN Trong khn khổcủ a luậ n vă n tìm hiể u cấ u trúc, mơ hình hoạ t độ ng củ a SE, kỹthuậ t chỉmục, phương pháp chỉmục Kiế n trúc hoạ tđ ộng SE Text củ a hệquả n trịCSDL Microsoft SQL Server, Oracle Enterprise cũ ng đ ược mô tảtrong luậ n vă n Luậ n vă nđ ã thực hiệ nđ ược thửnghiệ m Oracle Text ứng dụng đ ược mộ t phầ n tính nă ng Oracle Text Việ c triể n khai thửnghiệ m SE đ ối với dữliệ u Text tiế ng Việ t đ tđ ược mộ t sốkế t quảcó thểđưa vào triể n khai thực tế Tuy nhiên nhiề u việ c chưa thử nghiệ m nhưvấ n đềtừkhóa, xế p hạ ng (ranking)… Nguyên nhân việ c xửlý tiế ng Việ t, trích chọn từkhóa, vấ n đềngôn ngữcầ n nhiề u sựhỗtrợcủa chuyên gia Tính áp dụ ng thực tếcủa luậ n vă n rấ t cao, phầ n đáp ứng nhu cầ u tìm kiế m, khai thác thơng tin Text nhiề u loạ i hình tài liệ u tiế ng Việ t CSDL toàn vă n Kế t quảđạ t được:  Tìm hiể u tổ ng quan vềSE, mơ hình hoạ t độ ng  Tìm hiể u sốSE tiêu biể u thếgiới Việ t Nam  Tìm hiể u SE Text hai CSDL Oracle Microsoft SQL  Đánh giá, phân tích phương pháp chỉmục, kỹthuậ t chỉmụ c  Xây dựng thửnghiệ m SE dựa Oracle Text đ ốivới dữliệ u tiế ng Việ t, đáp ứng nhu cầ u că n bả n mộ t chương trình Thưviệ n số : o Cho phép tìm kiế m nhiề u bả ng mã: Unicode, TCVN o Hỗtrợtìm kiế m bỏdấ u o Tìm kiế m chủđềliên quan: danh mục từkhóa (thesaurus) o Sắ p xế p tiế ng Việ t theo chuẩ n 91 Đị nh hướng tiế p theo:  Tìm hiể u, nghiên cứu khai thác rộ ng sâu vềcác phương pháp kỹ thuậ t chỉmục  Tìm hiể u thêm mơ hình SE, xu hướng phát triể n củ a SE  Kế t hợp với chuyên gia vềngôn ngữtiế ng Việ t, đưa phương pháp mụ c xế p hạ ng phù hợp vớitiế ng Việ t  Xây dựng tích hợp thêm chương trình xửlý tiế ng Việ tđ ểứng dụ ng vào Oracle Text: xế p hạ ng (Ranking), trích chọ n từkhóa (Lexer) 92 TÀI LIỆU THAM KHẢO Tiếng Việt [1] ĐỗQuang Vinh (2005), Nghiên cứu phương pháp chỉsốhóa tìm kiế m thông tin thưviệ n số, Luậ n án tiế n sỹToán họ c Người hướng dẫ n khoa học : TS Quách Tuấ n Ngọc, PGS Phương Xuân Nhàn [2] Đồ ng thịBích Thủy, HồQuố c Bả o, Ứng dụ ng xửlý ngơn ngữtựnhiên hệtìm kiế m thông tin văn bả n Tiế ng Việ t Khoa Công NghệThông Tin – Đạ i học Khoa họ c TựNhiên Tiếng Anh [3] Gerard Salton, Michael J.McGill (1983), Introduction to Modern Information Retrieval [4] C.J van Rijsbergen, Information Retrieval, Department of Computing Science University of Glasgow [5] Oracle Corp (White paper - 2002), Oracle Text [6] Justin zobel – RMIT, Alistair Moffat , Kotagiri Ramamohanarao, Inverted File Versus Signature Files for Text Indexing - The university of Melbourne [7] Sergey Brin and Lawrence Page (1998), The Anatomy of a Large-Scale Hypertextual Web Search Engine, Computer Science Department, Stanford University, Stanford, CA 94305, USA [8] Arvind Arasu, Junghoo Cho, Hector Garcia-Molina, Andreas Paepcke, and Sriram Raghavan, Searching the Web, Stanford University [9] Oralce Corp (2002), Oracle 9i Data Cartridge Developer’s Guide [10] Dinh Dien, Hoang Kiem, Nguyen Van Toan (2001), Vietnamese words segmentation, Faculty of Information Technology National University of HCM City Website [11] Wikimedia http://en.wikipedia.org/wiki/Searchengine, http://vi.wikipedia.org/wiki/ [12] Google http://www.google.com/technology 93 [13] Yahoo http://www.yahoo.com [14] Search Engine Glossary http://www.cadenza.org/search_engine_terms [15] The library-University of California, Berkeley http://www.lib.berkeley.edu/TeachingLib/Guides/Internet/SearchEngines.html [16] Trang tìm kiế m Ask Http://www.ask.com [17] Trang tìm kiế m Vinaseek http://www.vinaseek.com [18] Trang tìm kiế m Netnam http://www.panvietnam.com [19] Kiế n trúc tìm kiế m tồn vă n củ a Microsoft SQL Server http://msdn2.microsoft.com/en-US/library/ms142541.aspx ... trỏtương ứng với tiế p tốtheo thứ tựtừđ iể n sẽtă ng tốc độtìm kiế m text Vịtrí Tiế p tố Kinh tếvà Cơng ngh? ?thông tin Tếvà công ngh? ?thông tin Và công ngh? ?thông tin 11 Công ngh? ?thông tin 16 Ngh? ?thông. .. (2 ;1) , (4;6)> Inforrmation Inverted Is 10 Retrieval 11 Searching Bảng 3. 5: IF mức từđốivới văn bả n bả ng 3.3 ... Quốc Trong phần tìm kiếm nâng cao Trong phần tìm kiếm nâng cao Hỗtrợ Khơng [12 , 13 , 14 , 15 , 16 ] Bả ng 2. 1: Bảng tóm tắt tính SE thơng dụng thếgiới Các SE Việt Nam 2 .1 Netnam Là n vịthuộ c Việ n Công

Ngày đăng: 23/09/2020, 23:08

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan