Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 71 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
71
Dung lượng
1,31 MB
Nội dung
TR NG I H C M THÀNH PH H CHÍ MINH KHOA CÔNG NGH THÔNG TIN BÁO CÁO ÁN MÔN H C tài: Tìm hi u Search Engine xây d ng ng d ng minh ho GVDH: Th y Ninh Xuân H Sinh viên: Lê Nguy n oàn Trí ng - 0851010294 Võ Nguy n Minh Tuân - 0851010308 TP.HCM tháng n m 2012 Tìm hi u v Seach Engine GVHD: Th y Ninh Xuân H L IC M ng N Tr c trình bày n i dung tìm hi u c a đ án mơn h c, chúng em xin dành nh ng dịng đ u tiên đ g i l i cám n chân thành đ n: Th y Ninh Xuân H ng, ng i t n tình h ng d n t o m i u ki n t t nh t cho chúng em su t th i gian th c hi n đ án môn h c Chúng em xin g i l i cám n đ n quý th y cô khoa công ngh thông tin tr ng i h c M TP.HCM t n tình gi ng d y, truy n đ t ki n th c, kinh nghi m quý báu chu n b cho em nh ng ki n th c c n thi t làm c n b n đ tìm hi u m t v n đ cịn m i đ i v i chúng em giúp chúng em t tin đ i m t v i nh ng v n đ m i s có chúng em r i kh i gh nhà tr ng Chúng xin g i l i c m n sâu s c đ n ba m gia đình ln ch m sóc, giáo d c, đ ng viên t o m i u ki n t t nh t su t trình h c t p, tìm hi u đ chúng đ t đ c k t qu hôn Chúng xin c m n b n bè đ ng viên, chia s , giúp đ su t th i gian h c t p tim hi u th c hi n đ án môn h c TP.HCM, tháng n m 2012 Nhóm th c hi n Lê Nguy n ồn Trí Võ Nguy n Minh Tn Lê Nguy n ồn Trí – 0851010294 1/70 Võ Nguy n Minh Tuân - 0851010308 Tìm hi u v Seach Engine GVHD: Th y Ninh Xuân H ng M CL C L I NÓI U 7 PH N A: TÌM HI U LÝ THUY T V T CH C VÀ HO T NG C A SEARCH ENGINE 8 CH NG 1: T NG QUAN V TÌM KI M THƠNG TIN .8 I. Gi i thi u v tìm ki m thông tin 8 1. Khái ni m v công c tìm ki m: 8 2. M t s v n đ vi c tìm ki m thơng tin: 8 3. H tìm ki m thơng tin-Information Retrieval Search 9 II. T ng quan v c a m t h th ng tìm ki m thông tin 9 1. B ph n thu th p thông tin (Spyder/Robot/Web Crawler…): 10 2. B phân l p ch m c (Indexing): 10 3. B ph n giao ti p, so kh p s p x p tài li u tr v 10 III. Nguyên lý ho t đ ng 11 CH NG 2: NH NG V N C A B THU TH P THÔNG TIN 13 I. Tóm t t l c s c a WebCrawler: 13 1. Chu k thu th p d li u c a m t web crawler: 13 2. Web Crawler đ u tiên: 13 II. Các ng d ng c a WebCrawler: 14 1. General Web Search (T o ch m c bao g m ch đ r ng): 14 2. Vertical Web Search (T o ch m c cho ch đ c th ): 14 3. Thu th p đ c tính c a Web (Web Characterization): 14 Lê Nguy n ồn Trí – 0851010294 2/70 Võ Nguy n Minh Tuân - 0851010308 Tìm hi u v Seach Engine GVHD: Th y Ninh Xuân H ng 4. Ánh x trang web (Mirroring-Gi l i b n ho c tái t o trang web): 15 5. Web archival (L u tr n i dung): 15 6. Web Site Anaylysis (Phân tích trang web): 15 III. Ki n trúc c a Web Crawler: 16 IV. Nh ng th c m c liên quan đ n ho t đ ng c a WebCrawler: 16 1. Trong môi tr ng m ng, robot l y thông tin t site V y robot s b t đ u t site ? 17 2. Ai s cung c p đ a ch c a site cho robot ? 17 3. Ch n d li u tài li u đ l p ch m c ? 17 V. Các thu t toán thu thâp d li u: 17 1. Tìm ki m theo chi u sâu: 18 2. Tìm ki m theo chi u r ng: 19 3. Tìm ki m theo ng u nhiên: 19 VI. Nh ng v n đ c n l u ý v web crawler: 20 CH NG 3: NH NG V N C A B PH N L P CH M C 21 I. Khái quát v h th ng l p ch m c 21 II. V n đ tách t t đ ng đ l p ch m c: 21 1. Tách t ti ng Anh 21 2. Tách t ti ng vi t 21 3. Tách t t đ ng ti ng vi t: 22 III. V n đ xác đ nh t ch m c 24 1. V n đ l p ch m c t đ ng ti ng anh 26 2. V n đ l p ch m c t đ ng ti ng vi t: 27 Lê Nguy n ồn Trí – 0851010294 3/70 Võ Nguy n Minh Tuân - 0851010308 Tìm hi u v Seach Engine GVHD: Th y Ninh Xuân H ng IV. V n đ tính tr ng s cho t ch m c 27 1. Cách tính s cho vector ch m c: 27 2. nhi u tín hi u (Signal Noise): 28 3. Giá tr phân bi t t 29 4. T p tin ngh ch đ o tài li u 29 5. T i ph i s d ng t p tin ngh ch đ o? 30 CH NG 4: NH NG V N C A B PH N GIAO TI P, SO KH P VÀ S P X P K T QU TR V 31 I. V n đ giao ti p v i ng i dùng 31 II. V n đ so kh p câu truy v n tài li u 31 1. Thu t tốn khơng gian vector: 31 2. Tìm ki m Boolean 32 3. Thu t toán Boolean m r ng 33 4. Thu t toán xác su t 34 5. Thu t toán PageRank c a Google: 35 III. S p x p tài li u tr v 40 CH NG 5: GI I THI U M T S SEARCH ENGINE THÔNG D NG HI N NAY 41 I. Gi i thi u chung: 41 II. Google 42 III. LYCOS 44 IV. Bùng n c máy tìm ki m ti ng Vi t 45 V. M t s trang web “cây nhà v n” n i b t 48 1. http://socbay.vn/ 48 2. http://xalo.vn/ 48 3. http://baamboo.com/ 49 Lê Nguy n ồn Trí – 0851010294 4/70 Võ Nguy n Minh Tuân - 0851010308 Tìm hi u v Seach Engine GVHD: Th y Ninh Xuân H PH N B: CH NG TRÌNH DEMO SEARCH ENGINE 51 I. Gi i thi u ch II. Mơ hình ch ng ng trình: 51 ng trình: 52 1. Ý NGH A: 52 2. L p FILE: 52 3. L p WORD: 52 4. L p CATALOG: 53 5. T p tin Crawler.aspx: 53 6. T p tin Home.aspx: 53 III. Chi ti t ch ng trình: 53 1. L p FILE: 53 2. L p WORD: 54 3. L p CATALOG: 56 4. Crawler.aspx: 59 4. Xây d ng ph ng th c Search 64 5. Home.aspx 65 IV. K t lu n: 69 1. Khuy t m c a ch 2. u m c a ch ng trình: 69 ng trình: 69 PH N C: CÁC TÀI LI U THAM KH O 70 Lê Nguy n ồn Trí – 0851010294 5/70 Võ Nguy n Minh Tuân - 0851010308 Tìm hi u v Seach Engine GVHD: Th y Ninh Xuân H NH N XÉT C A GIÁO VIÊN H ng NG D N Ngày… tháng… n m 2012 Ký tên Lê Nguy n ồn Trí – 0851010294 6/70 Võ Nguy n Minh Tuân - 0851010308 Tìm hi u v Seach Engine GVHD: Th y Ninh Xuân H L I NÓI ng U Trong th i đ i bùng n thông tin nh hi n nay, thông tin đ c l u tr máy tình ngày nhi u, ng i không th bi t đ c ho c đ c h t t t c n i dung c a trang web đ tìm n i dung c n Do đó, vi c tìm ki m thơng tin xác nhu c u thi t y u đ i v i m i ng i m i l nh v c Internet hi n tr thành m t kho t li u kh ng l mà vi c tìm ki m thông tin kho t li u c n ph i đ c h tr b i cơng c tìm ki m t t Các h th ng tìm ki m thơng tin thơng d ng nh Google search, Yahoo search đáp ng đ c h u h t nhu c u c a m i ng i m t cách r t linh đ ng Ngày nay, h u nh t t c ng i dùng internet đ u bi t đ n nh t m t ho c nhi u nh ng cơng c tìm ki m internet Tuy nhiên khơng ph i c ng bi t đ c t ch c c ng nh cách th c ho t đ ng c a m t Search Engine nh th Do đó, M c tiêu c a đ án tìm hi u cách th c t ch c, ho t đ ng cách cài đ t m t search engine nh th Qua giúp b n hi u cách th c t ch c thông tin, th c thi m t câu truy v n đ c tr ng c a ngôn ng mà search engine ti p c n ta có th t i u hố c h i nh n đ c thông tin h u ích b n có th phát tri n m t Search Engine c a ây m c tiêu c a đ án Trong trình th c hi n đ án, chúng em n l c r t nhi u đ tìm ki m nh ng thơng tin h u ích đ ph c v cho đ án Nh ng vi c chúng em không th tránh kh i nh ng sai sót, mong nh n đ c s thơng c m góp ý t q th y b n Lê Nguy n ồn Trí – 0851010294 7/70 Võ Nguy n Minh Tuân - 0851010308 Tìm hi u v Seach Engine GVHD: Th y Ninh Xuân H ng PH N A: TÌM HI U LÝ THUY T V T CH C VÀ HO T NG C A SEARCH ENGINE CH NG 1: T NG QUAN V TÌM KI M THÔNG TIN I Gi i thi u v tìm ki m thơng tin Khái ni m v cơng c tìm ki m: _ Cơng c tìm ki m(Search Engine) m t h th ng thu th p thông tin đ c thi t k đ giúp cho vi c tìm ki m thơng tin l u tr m t h th ng máy tính Cơng c tìm ki m t i thi u hóa th i gian c n thi t đ tìm ki m thông tin b ng vi c l u tr x lý thông tin theo nhi u cách _ D ng ph bi n nh t c a công c tìm ki m cơng c tìm ki m Web (Web Search Engine) _ vd: Google Search, Yahoo Search, … _ Cơng c tìm ki m cung c p m t giao di n giúp cho ng i dùng có th ch n thơng tin c n tìm có c ch x lý tìm đ c thơng tin t ng ng Thơng tin c n tìm s t ng ng v i m t câu truy v n M t s v n đ vi c tìm ki m thơng tin: _ K t nh ng n m 40, v n đ vi c l u tr thơng tin tìm ki m thông tin thu hút đ c s ý r t l n V i m t l ng thơng tin kh ng l vi c tìm ki m xác nhanh chóng tr nên c n thi t khó kh n h n V i s đ i c a máy tính, r t nhi u ý t ng l n đ c đ a nh m cung c p m t h th ng tìm ki m thơng tin thơng minh xác Tuy nhiên v n đ tìm ki m cho hi u qu v n ch a đ c gi i quy t _ V nguyên t c, vi c l u tr thơng tin đ n gi n Gi s có m t kho ch c tài li u m t ng ì mu n tìm tài li u liên quan đ n yêu c u c a Ng i có th đ c t t c tài li u kho, gi l i tài li u có liên quan b tài li u không liên quan Rõ ràng gi i pháp khơng th c t b i t n r t nhi u th i gian Lê Nguy n oàn Trí – 0851010294 8/70 Võ Nguy n Minh Tuân - 0851010308 Tìm hi u v Seach Engine GVHD: Th y Ninh Xuân H ng _ V i s đ i c a máy vi tình t c đ cao, máy tính có th đ c thay cho ng i đ trích tài li u có liên quan toàn b t p d li u Tuy nhiên v n đ lúc đ xác đ nh đ c tài li u liên qua đ câu h i M c đích c a m t h th ng tìm ki m thơng tin t đ ng truy l c đ c t t c tài li u có liên quan đ n u c u H tìm ki m thơng tin-Information Retrieval Search Sau đ nh ngh a v h th ng tìm ki m thơng tin c a m t s tác gi : _ Salton(1989): “H th ng tìm ki m thơng tin x lý t p tin l u tr nh ng yêu c u v thơng tin, xác đ nh tìm t t p tin nh ng thông tin phù h p v i nh ng yêu c u v thông tin Vi c truy tìm nh ng thơng tin đ c thù ph thu c vào s t ng tác giá tr c a thu c tính đ i v i thông tin đ c l u tr yêu c u v thông tin.” _ Kowalski (1997): “H th ng truy tìm thơng tin m t h th ng có kh n ng l u tr , truy tìm trì thơng tin Thơng tin nh ng tr ng h p có th bao g m v n b n, âm thanh, video nh ng đ i t ng đa ph ng ti n khác.” _ Hi u đ n gi n h th ng tìm ki m thơng tin m t h th ng h tr cho ng i s d ng tìm ki m thơng tin m t cách nhanh chóng d dàng Ng i s d ng có thê đ a vào nh ng câu h i, nh ng yêu c u (d ng ngôn ng t nhiên) h th ng s tìm ki m t p tài li u (d ng ngôn ng t nhiên) đ c l u tr đ tìm nh ng tài li u có liên quan, sau s s p x p tài li u theo m c đ liên quan gi m d n tr v cho ng i dùng II T ng quan v c a m t h th ng tìm ki m thơng tin G m t p tài li u (DOCS) đ c l u tr kho d li u, t p yêu c u (REQS) c a ng i dùng m t s ph ng pháp tính đ t ng quan (SIMILAR) đ xác đ nh tài li u đáp ng cho yêu c u Theo lý thuy t m i liên h gi a câu h i tài li u có th so sánh m t cách tr c ti p Nh ng th c t u khơng th đ c câu h i t p tài li u đ u d ng v n b n, ch có ng i đ c th y đ c m i liên h gi a chúng, nh ng máy móc, khơng th suy lu n nh ng i đ c Chính th đ xác đ nh đ c m i liên h gi a câu h i t p tài li u ph i qua m t b c trung gian Lê Nguy n ồn Trí – 0851010294 9/70 Võ Nguy n Minh Tuân - 0851010308 Tìm hi u v Seach Engine GVHD: Th y Ninh Xuân H ng } public override string ToString() { string temp = ""; foreach (object tempFile in fileCollection.Values) temp += ((File)tempFile).ToString(); return "\tWORD :: " + Text + "\n\t\t" + temp + "\n"; } } L p CATALOG: using System.Collections; using System.IO; using System.Text.RegularExpressions; public class Catalog { // Ds doi tuong Word private Hashtable index; public Catalog() { index = new Hashtable(); } public int Length { get Lê Nguy n oàn Trí – 0851010294 56/70 Võ Nguy n Minh Tuân - 0851010308 Tìm hi u v Seach Engine GVHD: Th y Ninh Xuân H ng { return index.Count; } } // Them cap Word/File vao Catalog (dua no vao index) public bool Add(string word, File inFile, int position) { // xet dieu kien de tu muon them chi duoc index lan // if tu muon them da dc index thi add file tham chieu vao doi tuong Word // Nguoc lai thi them word vao index if (index.ContainsKey(word)) { Word theWord = (Word)index[word]; theWord.Add(inFile, position); } else { Word theWord = new Word(word, inFile, position); index.Add(word, theWord); } return true; } // Tra ve tat ca files co chua tu duoc search (Dau la Hashtable) public Hashtable Search(string searchWord) Lê Nguy n ồn Trí – 0851010294 57/70 Võ Nguy n Minh Tuân - 0851010308 Tìm hi u v Seach Engine GVHD: Th y Ninh Xuân H ng { searchWord = searchWord.Trim('?', '\"', ',', '\'', ';', ':', '.', '(', ')').ToLower(); /// /// If tu co index /// thi dung phuong thuc InFiles cua Word obj tra ve ds file chua tu /// Nguoc lai thi tra ve null /// Hashtable retVal = null; if (index.ContainsKey(searchWord)) { Word theWordMatch = (Word)index[searchWord]; retVal = theWordMatch.InFiles(); } return retVal; } public override string ToString() { string wordlist = ""; return "\nCATALOG :: " + index.Values.Count.ToString() + " words.\n" + wordlist; } } Lê Nguy n ồn Trí – 0851010294 58/70 Võ Nguy n Minh Tuân - 0851010308 Tìm hi u v Seach Engine GVHD: Th y Ninh Xuân H ng Crawler.aspx: _ Nhi m v đ u tiên xây d ng t p tin HTML mà mu n tìm ki m _ Có cách đ tìm t p tin: • Spidering – b t/theo đ (ho c trang web) ng d n (link) tồn b website • Crawling – vi c thu th p d li u s thông qua t p tin, th m c l p ch m c t t c t p tin th m c b ng cách s d ng t p tin h th ng _ ch ng trình chúng em hi n th c ch ng trình theo cách th private void CrawlCatalog(string sRoot, string sPath) { DirectoryInfo m_dir = new DirectoryInfo(sPath); // Tao vong lap lay files foreach (FileInfo fInfo in m_dir.GetFiles(m_filter)) { Response.Write(DateTime.Now.ToString("t") + " " + m_url + sPath.Substring(m_path.Length) + "\\" + fInfo.Name); Response.Flush(); // } // foreach xu ly (danh dau/phan tich) noi dung file // Goi de qui de qua thu muc khac Lê Nguy n oàn Trí – 0851010294 59/70 Võ Nguy n Minh Tuân - 0851010308 Tìm hi u v Seach Engine GVHD: Th y Ninh Xuân H ng foreach(DirectoryInfo d in m_dir.GetDirectories()) { CrawlCatalog(sRoot, sPath + "\\" + d.Name); }// het lap quet folder }// CrawlCatalog Hình 4: Thu th p t p tin – t i v t trang http://www.java2s.com/ _ Q trình th c hi n craw: • L y danh sách t p tin th m c th m c g c (đã hồn thành) • M t p tin đ u tiên đ c n i dung c a • Tìm tiêu đ (Title), mơ t (Description) tính kích th tin HTML ct p • T o đ ng d n URL c a t p tin (khi craw ch ng trình s l y đ ng d n h th ng Vì v y ph i t o đ ng d n URL đ ng i dùng click vào k t qu đ d n đ n trang web đó) • Chu n hóa t (bi n t HOA thành t th Lê Nguy n ồn Trí – 0851010294 60/70 ng) Võ Nguy n Minh Tuân - 0851010308 Tìm hi u v Seach Engine GVHD: Th y Ninh Xuân H • Thêm m i WORD vào CATALOG đ ch a t ng ng d n URL t p tin óng t p tin xét m t p tin ti p theo N u quét h t t p tin th m c qt th m c ti p theo • • Qt cho đ n khơng cịn t p tin _ Có cơng vi c ph i làm: • M t t c t p tin tìm th y - s System.IO d ng khơng gian tên DirectoryInfo m_dir = new DirectoryInfo(sPath); // Tao vong lap lay files foreach (FileInfo fInfo in m_dir.GetFiles(m_filter)) { Response.Write(DateTime.Now.ToString("t") + " " + m_url + sPath.Substring(m_path.Length) + "\\" + fInfo.Name); Response.Flush(); sFileUrl = m_url sPath.Substring(m_path.Length).Replace("\\", "/") fInfo.Name; + "/" + + StreamReader reader = System.IO.File.OpenText(sPath + "\\" + fInfo.Name); // Do noi dung trang web vao sFileContents sFileContents = reader.ReadToEnd(); reader.Close(); • Tìm ki m nh ng ch đ c bi t t p tin (title, description,…) – s d ng không gian tên System.String ho c System.RegularExpressions // - Xu ly the - Lê Nguy n ồn Trí – 0851010294 61/70 Võ Nguy n Minh Tuân - 0851010308 Tìm hi u v Seach Engine GVHD: Th y Ninh Xuân H Match TitleMatch "([^", "<"); sOutPut = sOutPut.Replace("