1. Trang chủ
  2. » Luận Văn - Báo Cáo

Xây dựng search engine

14 254 0

Đ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

Thông tin cơ bản

Định dạng
Số trang 14
Dung lượng 291,76 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ Nguyễn Hoàng Trung XÂY DỰNG SEARCH ENGINE LUẬN VĂN THẠC SĨ Hà Nội – 2009... ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ Nguyễn

Trang 1

ĐẠI HỌC QUỐC GIA HÀ NỘI

TRƯỜNG ĐẠI HỌC CÔNG NGHỆ

Nguyễn Hoàng Trung

XÂY DỰNG SEARCH ENGINE

LUẬN VĂN THẠC SĨ

Hà Nội – 2009

Trang 3

ĐẠI HỌC QUỐC GIA HÀ NỘI

TRƯỜNG ĐẠI HỌC CÔNG NGHỆ

Nguyễn Hoàng Trung

XÂY DỰNG SEARCH ENGINE

Ngành: Công nghệ thông tin Chuyên ngành: Công nghệ phần mềm

Mã số: 60 48 10

LUẬN VĂN THẠC SĨ

NGƯỜI HƯỚNG DẪN KHOA HỌC

Hà Nội – 2009

Trang 4

LỜI CAM ĐOAN

Tôi xin cam đoan đây là công trình nghiên cứu của bản thân Các số liệu, kết quả trình bày trong luận văn này là trung thực Những tư liệu được sử dụng trong luận văn

có nguồn gốc và trích dẫn rõ ràng, đầy đủ

Học viên

Nguyễn Hoàng Trung

Trang 5

LỜI CẢM ƠN

Trước hết, tôi xin được nói lời cảm ơn đến gia đình hai bên nội ngoại đã động viên tôi rất nhiều trong suốt thời gian học tập và nghiên cứu

Tôi xin được gửi lời cảm ơn tới bộ môn Công nghệ phần mềm, khoa Công nghệ thông tin trường Đại học Công nghệ - Đại Học Quốc Gia Hà nội đã tạo điều kiện cho tôi thực hiện đề tài này Tôi xin được cảm ơn TS Nguyễn Tuệ, người đã trực tiếp hướng dẫn tôi hoàn thành đề tài này

Tôi cũng xin được gửi lời cảm ơn tới Công ty NAiSCorp, những người đồng đội, đồng chí đã chiến đấu cùng tôi vì một mục tiêu mang tri thức đến với người Việt Tôi cũng xin được gửi lời cảm ơn tới bạn bè tôi, những người đã giúp đỡ tôi rất nhiều Mặc dù có nhiều cố gắng nhưng do đề tài này quá lớn nên chắc chắn luận văn này còn có nhiều thiếu sót Tôi rất mong nhận được những ý kiến đóng góp quý báu của những độc giả quan tâm Mọi góp ý xin gửi về trungnh@socbay.com

Tác giả

Nguyễn Hoàng Trung

Trang 6

MỤC LỤC

MỞ ĐẦU GIỚI THIỆU LUẬN VĂN 8

1.MỤCĐÍCH 8

2.LÝDOLỰACHỌNĐỀTÀI 8

3.BỐCỤCLUẬNVĂN E RROR ! B OOKMARK NOT DEFINED CHƯƠNG 1 LÝ THUYẾT CHUNG VỀ SEARCH ENGINE ERROR! BOOKMARK NOT DEFINED.

1.1 TỔNGQUANVỀMẠNGINTERNETVÀSEARCHENGINE E RROR ! B OOKMARK NOT DEFINED

1.2 CÁCMÔHÌNHKIẾNTRÚCCỦASEARCHENGINE E RROR ! B OOKMARK NOT DEFINED

1.2.1 Mô hình kiến trúc chung Error! Bookmark not defined.

1.2.2 Mô hình agent Error! Bookmark not defined.

1.3 PHÂNLOẠISEARCHENGINE E RROR ! B OOKMARK NOT DEFINED

1.4 INFORMATIONRETRIEVALVÀSEARCHENGINE E RROR ! B OOKMARK NOT DEFINED

1.4.1 Định nghĩa và khái niệm Error! Bookmark not defined.

1.4.2 Kiến trúc của một hệ IR Error! Bookmark not defined.

1.4.3 Các độ đo (metrics) Error! Bookmark not defined.

1.4.4 Chỉ mục ngược (inverted index) trong tìm kiếm Error! Bookmark not defined.

1.4.5 Các mô hình IR trong tìm kiếm và đánh giá kết quả Error! Bookmark not defined.

1.4.6 Từ dừng Error! Bookmark not defined.

1.4.7 Stemming Error! Bookmark not defined.

1.5 WEBCRAWLER E RROR ! B OOKMARK NOT DEFINED

1.5.1 Giới thiệu Error! Bookmark not defined.

1.5.2 Các chiến lược lựa chọn trang Web trong quá trình crawl Error! Bookmark not defined.

1.5.3 Tăng tốc độ crawl và crawl song song Error! Bookmark not defined.

1.5.4 Làm tươi trang Web (pages refresh) Error! Bookmark not defined.

1.6 LƯUTRỮDỮLIỆU E RROR ! B OOKMARK NOT DEFINED

1.6.1 Giới thiệu Error! Bookmark not defined.

1.6.2 Khó khăn và thách thức Error! Bookmark not defined.

1.6.3 Lưu trữ phân tán (distributed repository) Error! Bookmark not defined.

1.7 XÂYDỰNGCHỈMỤCTỪ E RROR ! B OOKMARK NOT DEFINED

1.7.1 Giới thiệu Error! Bookmark not defined.

1.7.2 Chỉ mục ngược trong Search engine Error! Bookmark not defined.

1.7.3 Khó khăn, thách thức Error! Bookmark not defined.

1.7.4 Index partitioning Error! Bookmark not defined.

1.8 TÌMKIẾM E RROR ! B OOKMARK NOT DEFINED

1.9 XẾPHẠNGKẾTQUẢTÌMKIẾM E RROR ! B OOKMARK NOT DEFINED

1.9.1 PageRank Error! Bookmark not defined.

1.9.2 HITS Error! Bookmark not defined.

1.9.3 Một số kỹ thuật dựa liên kết khác Error! Bookmark not defined.

CHƯƠNG 2 KHẢO SÁT MỘT SỐ SEARCH ENGINE ERROR! BOOKMARK NOT DEFINED.

2.1 SEARCHENGINEMÃMỞLUCENE E RROR ! B OOKMARK NOT DEFINED

2.1.1 Giới thiệu Lucene Error! Bookmark not defined.

2.1.2 Các phiên bản ngôn ngữ khác của Lucene Error! Bookmark not defined.

2.1.3 Vòng đời kiến trúc phần mềm Lucene Error! Bookmark not defined.

2.1.4 Sơ đồ phụ thuộc của Lucene.Net Error! Bookmark not defined.

2.1.5 Các lớp của Lucene.Net Error! Bookmark not defined.

2.2 TIẾNGVIỆTTRONGXÂYDỰNGCÔNGCỤTÌMKIẾM E RROR ! B OOKMARK NOT DEFINED

2.2.1 Đặc điểm của ngữ âm và âm vị Error! Bookmark not defined.

2.2.2 Đặc trưng về từ pháp và hình thái Error! Bookmark not defined.

2.2.3 Đặc trưng về ngữ pháp Error! Bookmark not defined.

2.2.4 Sự phức tạp trong mã hoá tiếng Việt Error! Bookmark not defined.

2.2.5 Unicode và chuẩn hoá cách mã hoá tiếng Việt Error! Bookmark not defined.

2.3 KHẢOSÁTCÁCCÔNGCỤTÌMKIẾMTIẾNGVIỆTHIỆNNAY E RROR ! B OOKMARK NOT DEFINED

2.3.1 Search Engine Google Error! Bookmark not defined.

2.3.2 Search Engine Xalo (www.Xalo.vn) Error! Bookmark not defined.

2.3.3 Search Engine Baamboo (www.Baamboo.com.vn) Error! Bookmark not defined.

Trang 7

2.3.4 Search Engine Socbay(www.Socbay.com) Error! Bookmark not defined.

2.4 ĐÁNHGIÁVỀCÁCCÔNGCỤTÌMKIẾMTIẾNGVIỆT E RROR ! B OOKMARK NOT DEFINED CHƯƠNG 3 XÂY DỰNG CÔNG CỤ MP3 SEARCH ERROR! BOOKMARK NOT DEFINED.

3.1 CRAWLERCHOTÌMKIẾMMP3 E RROR ! B OOKMARK NOT DEFINED

3.1.1 Các vấn đề đặt ra với crawler Error! Bookmark not defined.

3.1.2 Các chiến lược lựa chọn trang Mp3 trong quá trình crawl Error! Bookmark not defined.

3.1.3 Tăng tốc độ crawl và crawl song song Error! Bookmark not defined.

3.1.4 Làm tươi trang Mp3 (pages refresh) Error! Bookmark not defined.

3.1.5 Kho lưu trữ cho tìm kiếm MP3 Error! Bookmark not defined.

3.1.6 Đánh chỉ mục cho tìm kiếm MP3 Error! Bookmark not defined.

3.1.7 Chỉ mục trong từ điển âm nhạc Error! Bookmark not defined.

3.1.8 Chỉ mục ngược trong từ điển âm nhạc Error! Bookmark not defined.

3.1.9 Khó khăn, thách thức của việc đánh chỉ mục Error! Bookmark not defined.

3.2 TÌMKIẾMMP3 E RROR ! B OOKMARK NOT DEFINED

3.2.1 Phân tích truy vấn Error! Bookmark not defined.

3.2.2 Tìm kiếm Error! Bookmark not defined.

3.2.3 Xếp hạng cho MP3 Error! Bookmark not defined.

3.2.4 Giao diện của MP3 Error! Bookmark not defined.

3.2.5 Đánh giá phần mềm tìm kiếm MP3 Error! Bookmark not defined.

PHẦN KẾT LUẬN ERROR! BOOKMARK NOT DEFINED.

1 NHỮNGĐÓNGGÓPCỦALUẬNVĂN E RROR ! B OOKMARK NOT DEFINED

2 HƯỚNGPHÁTTRIỂNCỦAĐỀTÀI E RROR ! B OOKMARK NOT DEFINED TÀI LIỆU THAM KHẢO 9

Tiếng Việt 9 Tiếng Anh 9

PHỤ LỤC ERROR! BOOKMARK NOT DEFINED.

PHỤLỤCA.KIẾNTRÚCGOOGLE E RROR ! B OOKMARK NOT DEFINED

PHỤLỤCB.CÁCKHÁINIỆMVỀSEARCHENGINE E RROR ! B OOKMARK NOT DEFINED

PHỤLỤCC.THUẬTTOÁNVUNĐỐNGHEAPSORTCHOTÌMKIẾM E RROR ! B OOKMARK NOT DEFINED

PHỤLỤCD.BẢNGMÃHOÁCHỮCÁITIẾNGVIỆT E RROR ! B OOKMARK NOT DEFINED CHỈ MỤC TỪ ERROR! BOOKMARK NOT DEFINED.

Trang 8

DANH MỤC HÌNH VẼ

Hình 1 Mô hình kiến trúc chung của Search engine[14] Error! Bookmark not

defined.

Hình 2 Kiến trúc agent của Search engine Error! Bookmark not defined Hình 3 Mô hình đơn giản của một hệ IR Error! Bookmark not defined Hình 4 Mô hình đánh chỉ mục của hệ IR[14] Error! Bookmark not defined Hình 5 Mô hình truy vấn của hệ IR[14] Error! Bookmark not defined Hình 6 Minh họa precision/recall Error! Bookmark not defined Hình 7 Ví dụ cấu trúc của chỉ mục ngược Error! Bookmark not defined Hình 8 Giải thuật xây dựng chỉ mục ngược (1) Error! Bookmark not defined Hình 9 Giải thuật xây dựng chỉ mục ngược đầy đủ (2) Error! Bookmark not

defined.

Hình 10 Ví dụ đơn giản về VSM Error! Bookmark not defined Hình 11 Chuẩn hóa độ dài của tài liệu Error! Bookmark not defined Hình 12 Mô phỏng tìm kiếm theo chiều rộng Error! Bookmark not defined Hình 13 Mô phỏng tìm kiếm theo chiều sâu Error! Bookmark not defined Hình 14 Kiến trúc chung của crawler song song Error! Bookmark not defined Hình 15 Tập gồm hai trang Web với tốc độ thay đổi khác nhau Error!

Bookmark not defined.

Hình 16 WebBase repository architecture Error! Bookmark not defined Hình 17 PageRank đơn giản và PageRank có sửa đổi (d=0.8) Error! Bookmark

not defined.

Hình 18 Ví dụ giải thuật HITS Error! Bookmark not defined Hình 19 Vòng đời của Lucene Error! Bookmark not defined Hình 20 Sơ đồ phụ thuộc của Lucene với môi trường Error! Bookmark not

defined.

Hình 21 Biểu đồ phần trăm mã code cho module Lucene Error! Bookmark not

defined.

Hình 22 Sơ đồ phụ thuộc module của Lucene Error! Bookmark not defined Hình 23: Mô hình tách từ khóa từ văn bản thô Error! Bookmark not defined Hình 24 Kiến trúc Google Error! Bookmark not defined.

Trang 9

DANH MỤC BẢNG BIỂU

Bảng 1 Giải thuật xử lý truy vấn dạng AND Error! Bookmark not defined.

Bảng 2 Tổng kết hiệu năng của các phương pháp tổ chức lưu trữ vật lý Web

Error! Bookmark not defined Bảng 3 Tách term từ tài liệu Error! Bookmark not defined Bảng 4 Sắp xếp lại các term Error! Bookmark not defined Bảng 5 Thành lập từ điển và file postings Error! Bookmark not defined Bảng 6 Ví dụ về tìm kiếm AND trong mô hình Boolean Error! Bookmark not

defined.

Bảng 7 Danh sách phụ thuộc Module của Lucene Error! Bookmark not

defined.

Bảng 8 Kết quả test từ trên các công cụ Error! Bookmark not defined Bảng 9 Cấu trúc các trường của MP3 Error! Bookmark not defined Bảng 10 Tách term từ tài liệu Error! Bookmark not defined Bảng 11 Danh sách các term theo id văn bản Error! Bookmark not defined Bảng 12 Danh sách từ theo văn bản và tần số xuất hiện Error! Bookmark not

defined.

Bảng 13 Danh sách từ và thông tin về từ theo văn bản và tần số xuất hiệnError!

Bookmark not defined.

Bảng 14 Thuật toán Merge 2 danh sách đơn giản Error! Bookmark not

defined.

Bảng 15 Danh sách các trường được Rank Error! Bookmark not defined Bảng 16 Mã hoá chữ cái tiếng Việt bằng các bộ mã khác nhau Error!

Bookmark not defined.

Trang 10

DANH MỤC CÁC TỪ VIẾT TẮT

Viết tắt Cụm từ xuất phát

BVSM Binary Vector Space Model

CGI Common Gateway Iinterface

DR Data Retrieval

FTP File Transfer Protocol

HITS Hypertext Induced Topic Search

HTML Hyper Text Markup Language

HTTP Hyper Text Transfer Protocol

HTTPS HTTP Secure

IDF Inverse Document Frequency

IR Information Retrieval

NNTP Network News Transport Protocol

QAM Question Answer Machine

REP Robot Exclution Protocol

SC Similarity Coefficency

TCVN3 Tiêu chuẩn Việt Nam 3

URL Uniform Resource Locator

UTF Unicode Transformation Format

VIQR VIetnamese Quoted-Readable

VISCII VIetnamese Standard Code for Information Interchange VPS Vietnamese Profestional Society

VSM Vector Space Model

Trang 11

MỞ ĐẦU GIỚI THIỆU LUẬN VĂN

1 MỤC ĐÍCH

Search Engine là một khái niệm dùng để chỉ chương trình tìm kiếm các tài liệu (thuộc các dạng khác nhau: text, video, MP3…) thoả mãn một số điều kiện nào đó mà ta gọi là truy vấn (query) của người dùng Tuy nhiên, khái niệm Search Engine từ lâu đã được gắn với việc tìm kiếm tài liệu dạng text (Document Search) trên mạng Internet và trên máy tính cá nhân (Desktop Search)

Trong giai đoạn mà các nhu cầu tìm kiếm thông tin trên mạng Internet cũng như tìm kiếm tài liệu tiếng Việt nói chung đang được quan tâm, đề tài này được phát triển với mục đích chính là mô tả các thành phần chung của một hệ tìm kiếm và xây dựng một Engine tìm kiếm MP3 trên Internet Engine này phải giải quyết được các vấn đề tìm kiếm trong tiếng Việt

2 LÝ DO LỰA CHỌN ĐỀ TÀI

Cùng với sự phát triển của Internet, lượng thông tin trên mạng ngày càng nhiều Thậm chí, người ta ước tính sự tăng trưởng ấy là theo cấp số nhân Theo một nghiên cứu thì cứ khoảng 5 năm, trí tuệ nhân loại lại tăng lên gấp đôi Với lượng thông tin khổng lồ trên mạng như hiện nay, Search Engine thực sự là một “công cụ” tối cần thiết cho người dùng Internet khai thác, tìm kiếm thông tin Khái niệm về Search Engine đã có từ khá sớm và trên thế giới đã có rất nhiều nghiên cứu về Search Engine và các vấn đề liên quan,

đặc biệt là lĩnh vực truy xuất thông tin, (Information Retrieval - IR) sẽ được trình bày

trong tài liệu này Một trong những nghiên cứu đó là nghiên cứu của trường đại học

Standford, Mỹ về Search Engine mà kết quả của nó là Google, một trong số các Search

Engine hàng đầu hiện nay

Để xây dựng một Search Engine cần phải biết rất nhiều vấn đề lý thuyết liên quan, trong đó có các lý thuyết về mạng máy tính, ngôn ngữ, lý thuyết về IR, cấu trúc dữ liệu

và giải thuật, cơ sở dữ liệu, tối ưu hóa, tính toán song song, xử lý phân tán… Đề tài Search Engine là một trong những đề tài nghiên cứu mang tính lý thuyết cũng như thực tế cao Vì thế, đã có khá nhiều nghiên cứu trong và ngoài nước về Search Engine

Tình hình nghiên cứu ở nước ngoài: Có khá nhiều công ty và tổ chức nghiên cứu

về Search, nổi bật nhất là 3 công ty Google, Yahoo và Micrsoft Các sản phẩm mã

Trang 12

TÀI LIỆU THAM KHẢO

Tiếng Việt

1 Nguyễn Tài Cẩn (1998), Ngữ pháp tiếng Việt (Tiếng - Từ ghép - Đoản Ngữ),

NXB Đại học Quốc gia Hà Nội

2.Nguyễn Thiện Giáp, Phân loại các ngôn ngữ theo quan hệ loại hình,

http://ngonngu.net/index.php?p=234

3.NgonNgu.Net, Cụm từ cố định, http://ngonngu.net/index.php?p=187

4 Tcxdvn.xaydung.gov.vn, Tiêu chuẩn xây dựng Việt nam

http://tcxdvn.xaydung.gov.vn/TCXDVN/TCXDVN.NSF/da73105996deacc04725 70d5005b7a6a/5873b41ce9e8fb63472570c4004da72e?OpenDocument

5 Wikipedia.Org, Loại hình ngôn ngữ,

http://vi.wikipedia.org/wiki/Lo%E1%BA%A1i_h%C3%ACnh_ng%C3%B4n_ng

%E1%BB%AF

6 Wikipedia.Org, Lucene, http://vi.wikipedia.org/wiki/ Lucene

7 Wikipedia.Org, Unicode, http://vi.wikipedia.org/wiki/Unicode

Tiếng Anh

8 Anthony Scime, Web mining: applications and techniques

http://books.google.com.vn/books?id=TDhPMs3adw0C&pg=PA53&lpg=PA53&d

q=%22Forward+link+count%22&source=bl&ots=r0_utue0fg&sig=PNBIsNl-K-

qlGM2wLfDaGAc4ytI&hl=vi&ei=jiUxS_apKZy-swOwypS7BA&sa=X&oi=book_result&ct=result&resnum=1&ved=0CAgQ6AEwAA#v

=onepage&q=%22Forward%20link%20count%22&f=false

9 Junghoo Cho, Garcia-Molina, H and Page, L (1998), Efficient Crawling

Through URL Ordering, http://ilpubs.stanford.edu:8090/347/

10 Junghoo Cho, Hector Garcia-Molina (2002), Parallel Crawlers,

http://rose.cs.ucla.edu/~cho/papers/cho-parallel.pdf

http://www.focuseek.com/manuals/User/beginners.html

12 Marc Najork, Janet L Wiener(2001), Breadth-first Search crawling yields

high-quality pages, http://www10.org/cdrom/papers/208/

Trang 13

13 Grossman, Frieder, Goharian(2002),

http://docs.google.com/viewer?a=v&q=cache:ww20te0h39sJ:www.eng.auburn.ed

u/~gilbert/Comp7120/Concept-50/IR-Building-Inverted-Index.pdf+building+an+invert+index&hl=vi&gl=vn&pid=bl&srcid=ADGEESi_uMDxtr hmQJCylHryuRCoTFL3fFP7Ngf2dvBVEhpr3bVS53Z6dNUg628zf

14 Prasad Pingali, Jagadeesh Jagarlamudi, Vasudeva Varma, WebKhoj: Indian language IR from Multiple Character Encodings,

http://www2006.org/programme/files/xhtml/5503/fp5503-pingali/fp5503-pingali-xhtml.html

14 Red-gate.com, NET Reflector,

http://www.red-gate.com/products/reflector/index.htm

15 Sahilthaker (2008), Information Retrieval & Search - Basic IR Models ,

http://blogs.msdn.com/spt/archive/2008/03/05/information-retrieval-Search-basic-ir-models.aspx

16 Wikipedia.Org, BackLink, http://en.wikipedia.org/wiki/BackLink

17 Wikipedia.Org, Distributed web crawling,

http://en.wikipedia.org/wiki/ Distributed web crawling

18 Wikipedia.Org, HITS algorithm, http://en.wikipedia.org/wiki/HITS algorithm

19 Wikipedia.Org, Hubs and Authorities,

http://en.wikipedia.org/wiki/Hubs and Authorities

20 Wikipedia.Org, Information retrieval,

http://en.wikipedia.org/wiki/Information retrieval

22 Wikipedia.Org, Lucene, http://en.wikipedia.org/wiki/ Lucene

23 Wikipedia.Org, PageRank, http://en.wikipedia.org/wiki/PageRank

24 Wikipedia.Org, Stemming, http://en.wikipedia.org/wiki/Stemming

25 Wikipedia.Org, Search engine indexing,

http://en.wikipedia.org/wiki/ Search engine indexing

26 Wikipedia.Org, Tf–idf, http://en.wikipedia.org/wiki/Tf–idf

Ngày đăng: 15/12/2016, 15:24

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w