Luận văn: Nghiên cứu xây dựng máy tìm kiếm chuyên ngành Hệ thống thông tin

Luận văn thạc sĩ trình bày chi tiết quá trình xây dựng một máy tìm kiếm, từ thu thập dữ liệu (crawler), lập chỉ mục đến thuật toán xếp hạng.

Trường đại học

Học viện Kỹ thuật Quân sự

Chuyên ngành

Hệ thống thông tin

Người đăng

Ẩn danh

Thể loại

Luận văn thạc sĩ

2014

66
1
0

Phí lưu trữ

30 Point

Tóm tắt

I. Tổng quan về nghiên cứu xây dựng máy tìm kiếm từ A Z

Việc nghiên cứu xây dựng máy tìm kiếm là một chủ đề cốt lõi trong lĩnh vực Công nghệ thông tin, đặc biệt trong các luận văn thạc sĩ CNTT. Đề tài này không chỉ mang ý nghĩa học thuật sâu sắc mà còn có tính ứng dụng thực tiễn cao, mô phỏng lại cách các công cụ tìm kiếm hàng đầu như Google hay Bing hoạt động. Một hệ thống tìm kiếm thông tin (Information Retrieval system) hoàn chỉnh bao gồm ba thành phần chính: bộ thu thập dữ liệu (Crawler), bộ đánh chỉ mục (Indexer), và bộ xử lý truy vấn (Query Processor). Luận văn của tác giả Phùng Duy Vũ (2014) đã tập trung nghiên cứu và triển khai một công cụ tìm kiếm thử nghiệm, làm rõ các kỹ thuật nền tảng. Nghiên cứu này bắt đầu từ việc khám phá không gian World Wide Web, phân tích các chiến lược thu thập URL, và đi sâu vào các phương pháp đánh chỉ mục hiệu quả. Mục tiêu cuối cùng là xây dựng một ứng dụng có khả năng tiếp nhận truy vấn từ người dùng và trả về kết quả phù hợp nhất, dựa trên các thuật toán xếp hạng đã được nghiên cứu. Quá trình này đòi hỏi sự kết hợp giữa lý thuyết về truy hồi thông tin và kỹ năng lập trình thực tế, sử dụng các công nghệ như PHP và MySQL để hiện thực hóa ý tưởng. Đây là một báo cáo khoa học điển hình, cung cấp cái nhìn toàn diện về kiến trúc và nguyên lý vận hành của một máy tìm kiếm cơ bản, tạo nền tảng vững chắc cho các nghiên cứu cải tiến thuật toán tìm kiếm trong tương lai.

1.1. Khái niệm và kiến trúc cơ bản của hệ thống tìm kiếm thông tin

Một hệ thống tìm kiếm thông tin là một chương trình máy tính được thiết kế để lưu trữ, quản lý và truy xuất thông tin từ một kho dữ liệu lớn. Theo luận văn, kiến trúc của một máy tìm kiếm tiêu chuẩn được cấu thành từ ba bộ phận chính. Thứ nhất là Bộ thu thập thông tin (còn gọi là Web Crawler hay Spider), có nhiệm vụ tự động duyệt qua các trang web để thu thập dữ liệu. Thứ hai là Bộ lập chỉ mục (Indexer), thực hiện phân tích dữ liệu thô thu thập được, bóc tách các thuật ngữ quan trọng và xây dựng một cấu trúc dữ liệu tối ưu cho việc tra cứu, điển hình là chỉ mục ngược (inverted index). Cuối cùng là Bộ tìm kiếm thông tin (Searcher), có nhiệm vụ tiếp nhận truy vấn của người dùng, xử lý và so khớp với chỉ mục để tìm ra các tài liệu liên quan, sau đó sắp xếp chúng theo một thứ tự ưu tiên bằng thuật toán xếp hạng.

1.2. Tính cấp thiết của việc nghiên cứu máy tìm kiếm hiện nay

Trong bối cảnh bùng nổ thông tin, việc tìm kiếm và chắt lọc kiến thức cần thiết từ Internet trở thành một thách thức lớn. Các công cụ như Google đã chứng minh vai trò không thể thiếu của máy tìm kiếm trong đời sống số. Vì vậy, việc nghiên cứu xây dựng máy tìm kiếm không bao giờ là thừa. Nó không chỉ giúp hiểu sâu hơn về công nghệ Information Retrieval mà còn mở ra cơ hội ứng dụng trong nhiều lĩnh vực khác như tìm kiếm nội bộ cho doanh nghiệp, hệ thống thư viện số, hay các nền tảng thương mại điện tử. Việc tự xây dựng một công cụ tìm kiếm cho phép tùy chỉnh các thuật toán xếp hạng để phù hợp với nhu cầu đặc thù, tăng cường khả năng kiểm soát dữ liệu và bảo mật. Đây là lý do chính khiến đề tài này luôn giữ được sức hút trong cộng đồng nghiên cứu và là lựa chọn phổ biến cho các luận văn thạc sĩ CNTT.

II. Thách thức cốt lõi khi xây dựng một máy tìm kiếm hiệu quả

Xây dựng một máy tìm kiếm không chỉ đơn thuần là viết mã lệnh, mà là đối mặt với hàng loạt thách thức kỹ thuật phức tạp. Thách thức đầu tiên và lớn nhất là quy mô của World Wide Web. Việc thu thập dữ liệu từ hàng tỷ trang web đòi hỏi một Web Crawler mạnh mẽ, có khả năng hoạt động bền bỉ, xử lý các bẫy lặp (spider traps) và quản lý tài nguyên hệ thống một cách thông minh. Thách thức thứ hai nằm ở việc xử lý ngôn ngữ tự nhiên, đặc biệt là tiếng Việt. Quá trình tiền xử lý văn bản, bao gồm tách từ (tokenization)loại bỏ stopword, với tiếng Việt phức tạp hơn nhiều so với tiếng Anh do không có ranh giới từ rõ ràng. Việc xây dựng một cấu trúc chỉ mục ngược hiệu quả cho lượng dữ liệu khổng lồ cũng là một bài toán khó, đòi hỏi tối ưu cả về không gian lưu trữ và tốc độ truy vấn. Cuối cùng, thách thức quan trọng nhất là làm sao để hiểu được ý định của người dùng và trả về kết quả tìm kiếm chính xác. Điều này phụ thuộc hoàn toàn vào chất lượng của thuật toán xếp hạng, một lĩnh vực đòi hỏi sự cải tiến thuật toán tìm kiếm liên tục, từ các mô hình cổ điển như TF-IDF đến các phương pháp hiện đại hơn dựa trên học máy trong tìm kiếm.

2.1. Bài toán thu thập dữ liệu web và xử lý bẫy lặp spider trap

Quá trình thu thập dữ liệu là bước khởi đầu nhưng đầy gian nan. Một spider phải có khả năng duyệt qua hàng triệu URL một cách hiệu quả. Luận văn đã chỉ ra các chiến lược duyệt web như tìm kiếm theo chiều sâu và chiều rộng. Tuy nhiên, một trong những vấn đề lớn nhất là "bẫy nhện" (spider trap), là các tình huống mà crawler bị rơi vào một vòng lặp vô tận do cấu trúc URL được tạo ra động hoặc các liên kết trỏ vòng lẫn nhau. Để giải quyết, cần có các cơ chế kiểm tra URL đã duyệt, giới hạn độ sâu thu thập, và sử dụng các thuật toán phát hiện chu trình. Hơn nữa, việc thu thập phải tuân thủ tệp robots.txt và tránh gây quá tải cho máy chủ của trang web mục tiêu, đòi hỏi một cơ chế điều phối và kiểm soát tốc độ truy cập hợp lý.

2.2. Vấn đề xử lý ngôn ngữ và đánh chỉ mục cho tiếng Việt

Việc đánh chỉ mục cho văn bản tiếng Việt đặt ra những thách thức riêng. Khác với tiếng Anh, tiếng Việt là ngôn ngữ đơn lập, và việc tách từ (tokenization) không thể chỉ dựa vào khoảng trắng. Ví dụ, "sinh học" là một từ có nghĩa, nhưng nếu tách thành "sinh" và "học" thì ngữ nghĩa sẽ thay đổi. Luận văn đề xuất giải pháp sử dụng từ điển tiếng Việt để xác định các cụm từ có nghĩa (từ ghép 2, 3 âm tiết). Sau khi tách từ, bước loại bỏ stopword (các từ phổ biến nhưng ít mang ý nghĩa như "là", "của", "thì") và stemming (đưa từ về dạng gốc) cũng cần được thực hiện để giảm nhiễu và tăng độ chính xác cho chỉ mục. Việc xây dựng một bộ từ điển và các quy tắc xử lý riêng cho tiếng Việt là yêu cầu bắt buộc để công cụ tìm kiếm hoạt động hiệu quả.

III. Phương pháp thu thập dữ liệu và xây dựng chỉ mục ngược

Để giải quyết các thách thức đã nêu, phương pháp nghiên cứu trong luận văn tập trung vào việc xây dựng hai thành phần nền tảng: trình thu thập web và bộ đánh chỉ mục. Trình thu thập web, hay Web Crawler, được thiết kế để bắt đầu từ một danh sách các URL hạt giống (seed URLs) và mở rộng ra toàn bộ trang web. Luận văn đã thử nghiệm các chiến lược thu thập khác nhau, trong đó chiến lược duyệt theo chiều sâu được áp dụng trong ứng dụng thử nghiệm. Dữ liệu thu thập được sau đó sẽ trải qua giai đoạn tiền xử lý văn bản. Giai đoạn này bao gồm việc loại bỏ các thẻ HTML, các ký tự đặc biệt, và chuẩn hóa văn bản. Sau đó, quá trình tách từ (tokenization) được thực hiện để phân tách văn bản thành các đơn vị từ vựng (tokens). Các từ vô nghĩa (stopwords) sẽ bị loại bỏ để giảm kích thước chỉ mục. Trọng tâm của giai đoạn này là xây dựng cấu trúc chỉ mục ngược (inverted index). Đây là một cấu trúc dữ liệu ánh xạ từ mỗi từ khóa đến danh sách các tài liệu chứa từ khóa đó, cùng với các thông tin bổ sung như tần suất xuất hiện. Cấu trúc này cho phép hệ thống truy vấn và lấy ra danh sách tài liệu liên quan một cách cực kỳ nhanh chóng, là xương sống của mọi hệ thống tìm kiếm thông tin hiện đại.

3.1. Kỹ thuật hoạt động của Web Crawler và các chiến lược duyệt

Một Web Crawler (Spider) hoạt động theo một chu trình cơ bản: bắt đầu với một URL, tải nội dung trang, phân tích và trích xuất tất cả các siêu liên kết (hyperlinks) có trong trang đó, sau đó thêm các liên kết mới vào một hàng đợi (frontier) để tiếp tục duyệt. Luận văn đã phân tích ba chiến lược chính: tìm kiếm theo chiều sâu (Depth-First Search), chiều rộng (Breadth-First Search) và ngẫu nhiên. Mỗi chiến lược có ưu và nhược điểm riêng. Chẳng hạn, tìm kiếm theo chiều sâu có thể nhanh chóng đi sâu vào một trang web nhưng dễ bị sa vào các nhánh dài vô tận, trong khi tìm kiếm theo chiều rộng khám phá trang web một cách tuần tự theo từng cấp độ, đảm bảo tính toàn diện hơn nhưng tốn nhiều bộ nhớ hơn. Lựa chọn chiến lược phù hợp phụ thuộc vào mục tiêu của việc thu thập dữ liệu.

3.2. Quy trình xây dựng chỉ mục ngược Inverted Index

Xây dựng chỉ mục ngược là bước quan trọng nhất sau khi thu thập dữ liệu. Quy trình này bắt đầu bằng việc phân tích từng tài liệu. Nội dung văn bản được làm sạch và tách thành các từ (tokens). Mỗi từ sau đó được chuẩn hóa (ví dụ: chuyển thành chữ thường). Sau đó, hệ thống xây dựng một danh sách từ vựng (dictionary) chứa tất cả các từ duy nhất trong toàn bộ kho tài liệu. Với mỗi từ trong từ vựng, một danh sách đăng (postings list) được tạo ra, ghi lại ID của tất cả các tài liệu chứa từ đó. Cấu trúc này, bao gồm từ vựng và danh sách đăng, chính là inverted index. Nó cho phép hệ thống trả lời truy vấn "tài liệu nào chứa từ X?" một cách tức thì, thay vì phải quét qua toàn bộ các tài liệu mỗi khi có truy vấn, qua đó tối ưu hóa tốc độ cho việc xử lý truy vấn.

IV. Bí quyết xếp hạng kết quả với thuật toán TF IDF và PageRank

Việc tìm ra các tài liệu liên quan là chưa đủ, một máy tìm kiếm phải xếp hạng chúng theo mức độ phù hợp. Đây là nhiệm vụ của thuật toán xếp hạng (ranking algorithm). Luận văn đã trình bày hai thuật toán kinh điển. PageRank, do Google phát triển, là một thuật toán đánh giá tầm quan trọng của một trang web dựa trên cấu trúc liên kết của web. Ý tưởng cốt lõi là một trang web được coi là quan trọng nếu nó được nhiều trang quan trọng khác trỏ đến. Tuy nhiên, việc tính toán PageRank đòi hỏi phân tích toàn bộ đồ thị web, rất phức tạp để triển khai ở quy mô nhỏ. Do đó, luận văn đã lựa chọn TF-IDF (Term Frequency-Inverse Document Frequency) làm thuật toán chính. TF-IDF là một phương pháp thống kê dùng để đánh giá tầm quan trọng của một từ trong một tài liệu cụ thể, đặt trong bối cảnh của toàn bộ kho tài liệu. Nó hoạt động dựa trên nguyên tắc: một từ càng quan trọng nếu nó xuất hiện nhiều lần trong tài liệu đó (TF) nhưng lại hiếm gặp trong các tài liệu khác (IDF). Sử dụng mô hình không gian vector, mỗi tài liệu và truy vấn được biểu diễn dưới dạng một vector có trọng số là TF-IDF, và độ tương đồng giữa chúng được tính toán để xếp hạng kết quả. Đây là một phương pháp hiệu quả và là nền tảng của nhiều hệ thống tìm kiếm thông tin.

4.1. Phân tích mô hình không gian vector và thuật toán TF IDF

Thuật toán TF-IDF hoạt động trong khuôn khổ của mô hình không gian vector. Trong mô hình này, mỗi tài liệu được coi là một vector trong không gian nhiều chiều, mỗi chiều tương ứng với một từ trong từ vựng. Giá trị của mỗi thành phần trong vector chính là trọng số TF-IDF của từ tương ứng. Trọng số này được tính bằng tích của hai đại lượng: Term Frequency (TF - tần suất xuất hiện của từ trong tài liệu) và Inverse Document Frequency (IDF - tần suất nghịch đảo của tài liệu, đo lường mức độ hiếm của từ trong toàn bộ tập dữ liệu). Công thức idf = log(N/n) (với N là tổng số tài liệu, n là số tài liệu chứa từ) giúp tăng trọng số cho các từ khóa đặc trưng và giảm trọng số cho các từ phổ biến. Khi có một truy vấn, nó cũng được chuyển thành một vector, và độ phù hợp được xác định bằng cách tính độ tương đồng cosin giữa vector truy vấn và vector của từng tài liệu.

4.2. Vai trò của PageRank và các thuật toán xếp hạng liên kết

Trong khi TF-IDFBM25 tập trung vào sự liên quan về nội dung, PageRank lại đánh giá dựa trên uy tín và thẩm quyền, phân tích cấu trúc liên kết giữa các trang web. PageRank hoạt động dựa trên giả định rằng một liên kết từ trang A đến trang B được coi là một "phiếu bầu" của A cho B. Tuy nhiên, không phải phiếu bầu nào cũng có giá trị như nhau. Một phiếu bầu từ một trang uy tín (có PageRank cao) sẽ có trọng số lớn hơn. Mặc dù luận văn không triển khai PageRank do độ phức tạp, việc tìm hiểu nó là rất quan trọng để có cái nhìn toàn diện về các thuật toán xếp hạng. Các hệ thống tìm kiếm hiện đại thường kết hợp cả hai yếu tố: sự liên quan về nội dung (content-based) và uy tín dựa trên liên kết (link-based) để đưa ra kết quả cuối cùng.

V. Ứng dụng thực tiễn từ luận văn xây dựng máy tìm kiếm

Lý thuyết sẽ trở nên vô nghĩa nếu không được áp dụng vào thực tiễn. Chương 2 và 3 của luận văn tập trung vào việc xây dựng ứng dụng máy tìm kiếm thử nghiệm. Hệ thống được phát triển bằng ngôn ngữ lập trình PHP, kết hợp với hệ quản trị cơ sở dữ liệu MySQL để lưu trữ dữ liệu. Các thư viện mã nguồn mở như simple_html_dom.php được sử dụng để hỗ trợ việc bóc tách nội dung HTML. Kiến trúc cơ sở dữ liệu được thiết kế cẩn thận với các bảng để lưu trữ domains, urls, từ khóa (words) và ma trận trọng số TF-IDF. Quá trình thực nghiệm được tiến hành bằng cách thu thập dữ liệu từ một trang tin tức cụ thể (vnexpress.net). Kết quả cho thấy hệ thống có khả năng thu thập hàng nghìn URL, thực hiện tiền xử lý văn bản, đánh chỉ mục và trả về kết quả tìm kiếm dựa trên truy vấn của người dùng. Mặc dù đây là một mô hình thử nghiệm, nó đã chứng minh tính khả thi của các phương pháp nghiên cứu đã đề ra. Việc đánh giá hiệu năng máy tìm kiếm dựa trên các chỉ số như precision and recall là bước tiếp theo cần thực hiện để hoàn thiện hệ thống.

5.1. Thiết kế cơ sở dữ liệu và công nghệ sử dụng PHP MySQL

Để lưu trữ và quản lý dữ liệu hiệu quả, luận văn đã thiết kế một cơ sở dữ liệu quan hệ sử dụng MySQL. Cấu trúc bao gồm các bảng chính: domains (lưu các tên miền gốc), urls (lưu thông tin chi tiết từng URL như tiêu đề, nội dung, và cờ trạng thái xử lý), words (lưu từ vựng và trọng số IDF của mỗi từ), và words_urls (lưu ma trận vector TF, thể hiện mối quan hệ giữa từ và tài liệu). Ngôn ngữ PHP được chọn vì tính phổ biến, dễ học và có hệ sinh thái thư viện phong phú, rất phù hợp cho việc phát triển các ứng dụng web. Sự kết hợp giữa PHP và MySQL tạo thành một nền tảng vững chắc và tiết kiệm chi phí để xây dựng một công cụ tìm kiếm quy mô nhỏ đến trung bình.

5.2. Kết quả thực nghiệm và hướng đánh giá hiệu năng hệ thống

Thực nghiệm cho thấy ứng dụng đã thu thập và xử lý thành công một lượng lớn URL từ trang vnexpress.net. Hệ thống có thể nhận một câu truy vấn, ví dụ "thần đồng tin học", và trả về danh sách các bài viết liên quan, sắp xếp theo độ tương đồng tính bằng thuật toán TF-IDF. Tuy nhiên, để có một đánh giá hiệu năng máy tìm kiếm một cách khoa học, cần sử dụng các độ đo tiêu chuẩn trong lĩnh vực Information Retrieval. Hai độ đo phổ biến nhất là Precision (Độ chính xác - tỷ lệ các tài liệu trả về thực sự có liên quan) và Recall (Độ phủ - tỷ lệ các tài liệu liên quan trong toàn bộ cơ sở dữ liệu được tìm thấy). Việc đo lường và cải thiện hai chỉ số này là mục tiêu quan trọng cho các nghiên cứu phát triển tiếp theo.

VI. Hướng phát triển tương lai cho hệ thống tìm kiếm thông tin

Luận văn nghiên cứu xây dựng máy tìm kiếm năm 2014 đã đặt một nền móng vững chắc dựa trên các kỹ thuật cổ điển. Tuy nhiên, lĩnh vực tìm kiếm thông tin đã có những bước tiến vượt bậc. Hướng phát triển tương lai không thể không nhắc đến tìm kiếm ngữ nghĩa (semantic search), một phương pháp nhằm hiểu ý định và ngữ cảnh đằng sau truy vấn của người dùng, thay vì chỉ khớp từ khóa một cách máy móc. Điều này đòi hỏi áp dụng các kỹ thuật xử lý ngôn ngữ tự nhiên (NLP) tiên tiến và xây dựng các đồ thị tri thức (Knowledge Graphs). Một hướng đi quan trọng khác là tích hợp học máy trong tìm kiếm (Machine Learning in Search), hay còn gọi là Learning to Rank (LTR). Các mô hình LTR có thể tự động học hỏi từ dữ liệu hành vi người dùng (như lượt nhấp chuột) để tối ưu hóa thuật toán xếp hạng, tạo ra kết quả phù hợp hơn với từng cá nhân. Ngoài ra, việc sử dụng các công nghệ tìm kiếm mã nguồn mở mạnh mẽ như Elasticsearch, Apache Solr, hay Apache Lucene thay vì xây dựng từ đầu sẽ giúp tăng tốc độ phát triển và tận dụng được các tính năng nâng cao đã được cộng đồng kiểm chứng và tối ưu.

6.1. Tích hợp học máy và tìm kiếm ngữ nghĩa Semantic Search

Tương lai của tìm kiếm nằm ở việc hiểu được "ý nghĩa" chứ không chỉ là "từ khóa". Tìm kiếm ngữ nghĩa là một bước nhảy vọt so với tìm kiếm truyền thống. Thay vì đối sánh chuỗi ký tự, nó phân tích mối quan hệ giữa các thực thể và khái niệm. Ví dụ, khi người dùng tìm "thủ đô của Pháp", hệ thống hiểu rằng họ đang tìm "Paris" ngay cả khi từ "Paris" không xuất hiện trong truy vấn. Để làm được điều này, cần có sự hỗ trợ của học máy trong tìm kiếm, sử dụng các mô hình như Word2Vec hay BERT để biểu diễn từ và câu dưới dạng vector ngữ nghĩa, cho phép so sánh ý nghĩa thay vì chỉ là bề mặt con chữ. Đây là hướng đi tất yếu để cải tiến thuật toán tìm kiếm và mang lại trải nghiệm thông minh hơn cho người dùng.

6.2. Xu hướng sử dụng các nền tảng mã nguồn mở như Elasticsearch

Việc tự xây dựng mọi thành phần của máy tìm kiếm từ đầu như trong luận văn là một bài tập học thuật tuyệt vời, nhưng trong thực tế, các giải pháp mã nguồn mở như Elasticsearch hay Apache Solr mang lại hiệu quả vượt trội. Các nền tảng này, được xây dựng dựa trên thư viện cốt lõi Apache Lucene, cung cấp một bộ công cụ hoàn chỉnh cho việc đánh chỉ mục, phân tích văn bản, xử lý truy vấn và xếp hạng. Chúng có khả năng mở rộng cao, chịu tải tốt và được hỗ trợ bởi một cộng đồng lớn. Việc sử dụng Elasticsearch cho phép các nhà phát triển tập trung vào việc cải tiến thuật toán tìm kiếm ở tầng logic và xây dựng các tính năng giá trị gia tăng, thay vì phải lo lắng về các vấn đề hạ tầng phức tạp.

04/10/2025

Trích đoạn nội dung tài liệu

BỘ GIÁO DỤC VÀ ĐÀO TẠO BỘ QUỐC PHÒNG HỌC VIỆN KỸ THUẬT QUÂN SỰ PHÙNG DUY VŨ NGHIÊN CỨU XÂY DỰNG MÁY TÌM KIẾM Chuyên ngành: Hệ thống thông tin LUẬN VĂN THẠC SĨ KỸ THUẬT Hà Nội - Năm 2014 BỘ GIÁO DỤC VÀ ĐÀO TẠO BỘ QUỐC PHÒNG HỌC VIỆN KỸ THUẬT QUÂN SỰ PHÙNG DUY VŨ NGHIÊN CỨU XÂY DỰNG MÁY TÌM KIẾM Chuyên ngành: Hệ thống thông tin Mã số: 60 48 01 04 LUẬN VĂN THẠC SĨ KỸ THUẬT Hà Nội - Năm 2014 CÔNG TRÌNH ĐƢỢC HOÀN THÀNH TẠI HỌC VIỆN KỸTHUẬT QUÂN SỰ Cán bộ hƣớng dẫn chính: TS Phạm Văn Việt Cán bộ chấm phản biện 1:. Cán bộ chấm phản biện 2:. Luận văn thạc sĩ đƣợc bảo vệ tại: HỘI ĐỒNG CHẤM LUẬN VĂN THẠC SĨ HỌC VIỆN KỸTHUẬT QUÂN SỰ Ngày. năm 2014 Tôi xin cam đoan: Những kết quả nghiên cứu đƣợc trình bày trong luận văn là hoàn toàn trung thực, của tôi, không vi phạm bất cứ điều gì trong luật sở hữu trí tuệ và pháp luật Việt Nam.

Nếu sai tôi hoàn toàn chịu trách nhiệm trƣớc pháp luật. TÁC GIẢ LUẬN VĂN Phùng Duy Vũ MỤC LỤC Trang Trang phụ bìa. Bản cam đoan. Danh mục các từ viết tắt.

Danh mục hình ảnh. 1 Chƣơng 1 TÌM HIỂU CÁC KIẾN THỨC TỔNG QUAN 1. Tìm hiểu về máy tìm kiếm. World Wide Web.

Thế giới Web rộng lớn nhƣ thế nào ?. Máy tìm kiếm – Search Engine. Các bộ phận cấu thành Search Engine. Bộ thu thập thông tin.

Các chiến lƣợc thu thập URL [3,tr1062-1064]. Chiến thuật tìm kiếm theo chiều sâu. Chiến lƣợc thu thập dữ liệu theo chiều rộng. Chiến thuật tìm kiếm theo ngẫu nhiên.

Bộ lập chỉ mục - index. Các bƣớc lập chỉ mục. Xác định mục từ quan trọng. Tính trọng số của mục từ.

Cấu trúc của chỉ mục đảo. Lập chỉ mục cho Tiếng Việt dựa vào từ điển Tiếng Việt. Bộ tìm kiếm thông tin. Thuật toán Pagerank[2].

Thuật toán tf-idf [4,tr116-137]. Tổng kết chƣơng 1. 21 Chƣơng 2 XÂY DỰNG ỨNG DỤNG MÁY TÌM KIẾM 2. Phần mềm hỗ trợ.

Thiết kế CSDL của máy tìm kiếm. Bảng words_urls. Sơ đồ quan hệ các bảng trong CSDL. Các câu lệnh dùng để tạo kết nối đến CSDL.

Một số lệnh thao tác cơ bản của MySQL. Ngôn ngữ lập trình web PHP. Thƣ viện mã nguồn mở simple_html_dom. Cấu trúc tổ chức của máy tìm kiếm.

Trình thu thập web - Crawler. Lập chỉ mục index. Thuật toán tìm kiếm tf-idf. Tổng kết chƣơng 2.

44 Chƣơng 3 THỰC NGHIỆM 3. Mô tả ứng dụng máy tìm kiếm. Kết quả đạt đƣợc .Tổng kết chƣơng 3. 51 KẾT LUẬN VÀ KHUYẾN NGHỊ 1.

53 TÀI LIỆU THAM KHẢO. 55 Tóm tắt luận văn Họ và tên học viên: Phùng Duy Vũ Chuyên ngành: Hệ thống thông tinKhóa 24 Cán bộ hƣớng dẫn: TS Phạm Văn Việt Tên đề tài: Nghiên cứu xây dựng máy tìm kiếm. Tóm tắt: nghiên cứu phƣơng pháp thu thập các url từ một web tin tức, phƣơng pháp duyệt url, phƣơng pháp lập index cho nội dung url và phƣơng pháp sắp xếp kết quả tìm kiếm để trả về kết quả mà ngƣời dùng muốn tìm. DANH MỤC CÁC TỪ VIẾT TẮT STT KÝ HIỆU VIẾT TẮT NGHĨA CỦA KÝ HIỆU VIẾT TẮT 1 CSDL Cơ sở dữ liệu 2 FIFO First In First Out là vào trƣớc ra trƣớc 3 HTML HyperText Markup Language là ngôn ngữ đánh dấu siêu văn bản 4 HTTP Hypertext Transfer Protocol là giao thức truyền tải siêu văn bản 5 PHP Hypertext Preprocessor là ngôn ngữ lập trình web 6 URL Uniform Resource Locator là địa chỉ web 7 WWW World Wide Web DANH MỤC HÌNH ẢNH Trang Hình 1.

1 - Logo WWW đƣợc tạo bởi Robert Cailliau năm 1990. 2 - Cơ chế hoạt động của Search Engine. 3 - Vòng thu thập web cơ bản. 4 - Cấu trúc bảng nghịch đảo.

5 - Kết quả tính toán từ 1 trang web của Pagerank. 1 - Sơ đồ quan hệ của các bảng trong máy tìm kiếm. 2 - Cấu trúc của ứng dụng máy tìm kiếm chụp từ phpDesigner. 3 - Một phần mã crawl_site() chụp từ PhpDesigner.

4 - Ảnh đƣợc cắt từ trang vnexpress.net từ trình duyệt. 5 - Ảnh chỉ rõ các mã chứa phần text cần lấy. 6 - Đoạn mã gán thẻ cần lấy chụp từ PhpDesigner. 7 - Đoạn mã lấy thông tin chụp từ PhpDesigner.

8 - Đoạn mã tạo từ khóa có 2 từ chụp từ PhpDesigner. 9 - Đoạn code tính cosSim chụp từ màn hình PhpDesigner. 1 - Danh sách link lấy đƣợc từ link đầu tiên vnexpress. 2 - Danh sách link thu đƣợc trong 90 phút.

3 - 1000 link đã đƣợc duyệt trong 90 phút. 4 - Các từ khóa thu thập từ nội dung của 1 link. 5 - Danh sách từ khóa thu thập đƣợc. 6 - Kết quả tìm kiếm từ câu truy vấn “thần đồng tin học” .Tính cấp thiết của đề tài Trong thời đại mà mỗi ngày, có không biết bao nhiêu là thông tin mới đƣợc tạo ra khắp mọi nơi trên thế giới, các thông tin nhƣ: kinh tế, khoa học, kỹ thuật, tài chính,… ai cũng muốn khi lƣớt web, thì chỉ cần 1 cú click là có đƣợc các thông tin mà mình cần, có rất nhiều cỗ máy tìm kiếm trên thế giới làm đƣợc điều đó, nhƣ là : Google, yahoo, bing,… Lĩnh vực tìm kiếm thật sự là mảnh đất màu mỡ, việc Google trở thành 1 công ty hàng đầu trên thế giới là nhờ vào cỗ máy tìm kiếm của mình đã chứng mình điều đó, nên việc nghiên cứu về lĩnh vực tìm kiếm không bao giờ là dƣ thừa.

Làm thế nào để cung cấp thông tin cho ngƣời dùng? Làm thế nào để lƣu trữ các thông tin đó? Làm thế nào để hiểu đƣợc ngƣời dùng muốn tìm kiếm điều gì? Làm thế nào để tạo ra một máy tìm kiếm? … Rất nhiều câu hỏi đƣợc đặt ra khi nghĩ về lĩnh vực này và vì vậy tôi chọn đề tài : “NGHIÊN CỨU XÂY DỰNG MÁY TÌM KIẾM” làm đề tài luận văn tốt nghiệp cao học của mình.Tình hình nghiên cứu Nghiên cứu về lĩnh vực tìm kiếm hiện nay cũng khá là nhiều, nhƣng viết ứng dụng máy tìm kiếm là chƣa nhiều. Hiện nay, có một số tác giả đã và đang nghiên cứu về lĩnh vực tìm kiếm gồm các luận án, luận văn thạc sĩ, một số ít bài báo đƣợc công bố. Về luận văn có các công trình sau: 2 Nguyễn Quang Huy công bố năm 2010 tại Học viện Công nghệ Bƣu chính Viễn thông, với nội dung: Nghiên cứu search engine và các thuật toán đối sánh mẫu cho hệ thống tìm kiếm thông tin trên mạng. Dƣơng Đình Thiện công bố năm 2012 tại Đại học Đà Nẵng, với nội dung: Nghiên cứu các kỹ thuật xây dựng bộ tìm kiếm.

Nguyễn Huy Kiên công bố năm 2012 tại Học viện Công Nghệ Bƣu chính Viễn Thông, với nội dung: Nghiên cứu về khai phá dữ liệu web và ứng dụng xây dựng website tích hợp thông tin. Về bài báo có các công trình sau: Huỳnh Đức Việt, Võ Duy Thanh, Võ Trung Hùng công bố năm 2010 trên Tạp chí khoa học và công nghệ, Đại học Đà Nẵng số 4 với tiêu đề “Nghiên cứu ứng dụng mã nguồn mở Lucene để xây dựng phần mềm tìm kiếm thông tin trên văn bản”. Nhƣ vậy, đề tài “NGHIÊN CỨU XÂY DỰNG MÁY TÌM KIẾM” là hoàn toàn mới, không trùng với các đề tài nghiên cứu trƣớc đó.Mục tiêu của đề tài Nghiên cứu các phƣơng phápvà kỹ thuật xây dựng máy tìm kiếm. Từ đó, xây dựng một ứng dụng thử nghiệm về máy tìm kiếm để làm cơ sở cho những nghiên cứu tiếp theo.Phƣơng pháp nghiên cứu Nghiên cứu tổng quan: các phƣơng pháp thu thập thông tin trên web, nghiên cứu phƣơng pháp lƣu trữ, quản lí CSDL, phƣơng pháp lập chỉ mục, thuật toán tìm kiếm của máy tìm kiếm.

Thử nghiệm: thử nghiệm các phƣơng pháp thu thập, lƣu trữ và tìm kiếm thông tin trên website http://vnexpress. Phân tích : phân tích các điểm mạnh điểm yếu của từng phƣơng pháp, nhằm tìm ra phƣơng án hiệu quả nhất. 3 Đánh giá: đánh giá máy tìm kiếm đƣợc xây dựng.Nội dung nghiên cứu Nghiên cứu thuật toán thu thập thông tin. Nghiên cứu thuật toán tìm kiếm theo chiều sâu, chiều rộng, ngẫu nhiên.

Nghiên cứu phƣơng pháp xây dựng index, xử lý từ khóa, cách thức lƣu trữ từ khóa. Nghiên cứu thuật toán sắp xếp kết quả tìm kiếm.Ý nghĩa của đề tài Thông qua đề tài, tôi muốn đóng góp một phần nghiên cứu của mình vào lĩnh vực tìm kiếm, hi vọng rằng từ đó, có thể ứng dụng vào những lĩnh vực khác trong cuộc sống.Cấu trúc luận văn Ngoài lời giới thiệu tham khảo, phụ lục thì luận văn nghiên cứu gồm 3 chƣơng: CHƢƠNG 1: TÌM HIỂU CÁC KIẾN THỨC TỔNG QUAN. CHƢƠNG 2: XÂY DỰNG ỨNG DỤNG MÁY TÌM KIẾM. CHƢƠNG 3 : THỰC NGHIỆM Do những hiểu biết của bản thân còn hạn chế, nên bài viết của tôi còn nhiều thiếu sót, rất mong nhận đƣợc sự đóng góp ý kiến của Quý Thầy Cô và những ngƣời quan tâm đến đề tài này.

Tôi xin chân thành cảm ơn. 4 Chƣơng 1 TÌM HIỂU CÁC KIẾN THỨC TỔNG QUAN 1. Tìm hiểu về máy tìm kiếm 1. World Wide Web Hình 1.

1 - Logo WWW đƣợc tạo bởi Robert Cailliau năm 1990 World Wide Web, gọi tắt là Web hoặc WWW, mạng lƣới toàn cầu là một không gian thông tin toàn cầu mà mọi ngƣời có thể truy nhập (đọc và viết) qua các máy tính nối mạng Internet. Thuật ngữ này thƣờng đƣợc hiểu nhầm là từ đồng nghĩa với chính thuật ngữ Internet. Nhƣng Web thật ra chỉ là một trong các dịch vụ chạy trên Internet, chẳng hạn nhƣ thƣ điện tử. Web đƣợc phát minh và đƣa vào sử dụng vào khoảng năm 1990, 1991 bởi viện sĩ Viện Hàn lâm Anh Tim Berners-Lee và Robert Cailliau (Bỉ) tại CERN, Geneva, Thụy Sĩ.

Các tài liệu trên World Wide Web đƣợc lƣu trữ trong một hệ thống siêu văn bản (hypertext), đặt tại các máy tính trong mạng Internet. Ngƣời dùng phải sử dụng một chƣơng trình đƣợc gọi là trình duyệt web (web browser) để xem siêu văn bản. Chƣơng trình này sẽ nhận thông tin tại ô địa chỉ (address) do ngƣời sử dụng yêu cầu (thông tin trong ô địa chỉ đƣợc gọi là tên miền 5 (domain name), rồi sau đó chƣơng trình sẽ tự động gửi thông tin đế máy chủ (web server) và hiển thị trên màn hình máy tính của ngƣời xem. Ngƣời dùng có thể theo các liên kết siêu văn bản (hyperlink) trên mỗi trang web để nối với các tài liêu khác hoặc gửi thông tin phản hồi theo máy chủ trong một quá trình tƣơng tác.

Nội dung được bảo vệ bản quyền — Tải xuống đầy đủ