1. Trang chủ
  2. » Công Nghệ Thông Tin

đề tài đề tài tìm hiểu cấu trúc hệ thống tìm kiếm thông tin google hiện tại và các kỹ thuật xử lý tron

20 1K 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 20
Dung lượng 337,45 KB

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

Nội dung

Tuy Google phổ biến như vậy, nhưng có lẽ ít ai biết hết được cả 22 dịch vụ mà Google Search cung cấp như: tra từ đồng nghĩa, dự báo thời tiết, múi giờ, bản đồ, máy tính, dịch thuật… Có l

Trang 1

TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI VIỆN CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG

-BÁO CÁO BÀI TẬP LỚN Môn: Xử lí ngôn ngữ tự nhiên

Đề tài : Tìm hiểu cấu trúc hệ thống tìm kiếm thông tin Google hiện tại và các

kỹ thuật xử lý trong tìm kiếm thông tin của Google Giáo viên hướng dẫn: PGS TS Lê Thanh Hương

Sinh viên thực hiện:Nhóm 29

Trang 2

Mục Lục

Mở Đầu: 3

I.GIỚI THIỆU CÔNG CỤ TÌM KIẾM 4

1 Công cụ tìm kiếm là gì? 4

2.Các bộ phận cấu thành hệ thống search engine 4

2.1.Bộ thu thập thông tin 4

2.2.Bộ lập chỉ mục 4

2.3.Bộ tìm kiếm thông tin 5

3 Nguyên tắc hoạt động của công cụ tìm kiếm: 5

II.Kiến trúc Google: 6

1 Web crawler: 7

2 Indexing: 8

3.PAGERANK 9

3.1 Ranking là gì? 9

3.2 Các kỹ thuật sử dụng trong ranking 9

3.3.PageRank: 13

3.4 Google Panda Algorithm 16

4 Searching 18

4.1 Quy trình xử lý truy vấn của search engine: 18

4.2 Quá trình tìm kiếm 18

4.3 Hiệu năng tìm kiếm 19

Tài liệu tham khảo: 20

Mở Đầu:

Trang 3

Có lẽ cộng đồng mạng không ai là không biết tới công cụ tìm kiếm Google Với thị phần 84% lượng người sử dụng trên Internet, Google là website, là cỗ máy có nhiều người sử dụng nhất thế giới Mức độ phổ biến của Google còn lên tới mức

từ điển tiếng Anh phải bổ sung thêm 1 động từ “google” với hàm ý “hãy tìm trên Internet qua Google”

Google được phát triển trên ý tưởng tìm kiếm web của hai Nghiên cứu sinh tại đại học Stanford danh tiếng (Mỹ) là Larry Page và Sergey Brin năm 1997 Ý tưởng ban đầu xuất phát từ Page khi anh nghiên cứu các liên kết (links) giữa các website

và hướng tới một công cụ có thể tìm kiếm web dựa trên mối liên kết này Page và Brin sau đó phát triển công trình khoa học này trong nội bộ đại học Stanford trước khi biến Google thành một cỗ máy thực sự để phục vụ xã hội lớn như ngày nay Tuy Google phổ biến như vậy, nhưng có lẽ ít ai biết hết được cả 22 dịch vụ mà Google Search cung cấp như: tra từ đồng nghĩa, dự báo thời tiết, múi giờ, bản đồ, máy tính, dịch thuật… Có lẽ vì mọi người sử dụng công cụ tìm kiếm này với mục đích chính là tìm kiếm web và ảnh, họ đã quá hài lòng với kết quả và gần như không quan tâm lắm tới các dịch vụ khác nữa Google Search mỗi ngày nhận hàng trăm triệu yêu cầu tìm kiếm trên khắp thế giới và nó trả về hàng tỷ kết quả tìm kiếm cho người dùng Google Search đã “địa phương hóa” tới mức mỗi quốc gia đều có một công cụ tìm kiếm Google nội địa riêng cho ngôn ngữ của họ

Trang 4

I.GIỚI THIỆU CÔNG CỤ TÌM KIẾM

1 Công cụ tìm kiếm là gì?

Công cụ tìm kiếm(Search Engine) là một hệ thống thu thập thông tin đượcthiết kế

để giúp cho việc tìm kiếm thông tinlưu trữ trên một hệ thống máy tính

2.Các bộ phận cấu thành hệ thống search engine

2.1.Bộ thu thập thông tin

Robot là một chương trình tự động duyệt qua các cấu trúc siêu liên kết để thu thập tài liệu & một cách đệ quy nó nhận về tất cả tài liệu có liên kết với tài liệu này

Robot được biết đến dưới nhiều tên gọi khác nhau : spider, web wanderer hoặc web worm,… Những tên gọi này đôi khi gây nhầm lẫn, như từ ‘spider’, ‘wanderer’ làm người ta nghĩ rằng robot tự nó di chuyển và 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 và thu thập thông tin từ các site theo đúng giao thức web Những trình duyệt thông thường không được xem là robot do thiếu tính chủ động, chúng chỉ duyệt web khi có sự tác động của con người

2.2.Bộ lập chỉ mục

Hệ thống lập chỉ mục hay còn gọi là hệ thống phân tích và xử lý dữ liệu, thực hiện việc phân tích, trích chọn những thông tin cần thiết (thường là các từ đơn , từ ghép , cụm từ quan trọng) từ những dữ liệu mà robot thu thập được và tổ chức thành cơ sở dữ liệu riêng để có thể tìm kiếm trên đó một cách nhanh chóng, hiệu quả Hệ thống chỉ mục là danh sách các từ khoá, chỉ rõ các từ khoá nào xuất hiện ở trang nào, địa chỉ nào

Trang 5

2.3.Bộ tìm kiếm thông tin

Bộ tìm kiếm thông tin là một thành phần xử lý các truy vấn từ phía người sử dụng (user), tiếp nhận các yêu cầu tìm kiếm (câu truy vấn query),phân tích từ, tìm kiếm trong Cơ sở dữ liệu chỉ mục, so khớp các từ khóa, lấy về kết quả phù hợp, sau

đó trả lại những kết quả đó cho người sử dụng thông qua giao diện GUI

Nói chung, bộ tìm kiếm thông tin hoạt động độc lập với các thành phần khác, song lại phụ thuộc với nhau về mặt dữ liệu

3 Nguyên tắc hoạt động của công cụ tìm kiếm:

Một công cụ tìm kiếm được gọi là thành công nếu nó thỏa mãn được 3 điềukiện:

- Cho phép tìm kiếm trong một tập hợp lớn các trang web.

- Đưa ra kết quảgần với mong muốn của người sử dụng nhất.

- Tốc độ tìm kiếm chấp nhận được.

Để đạt được các mục đích trên, các công cụ tìm kiếm hiện đại đều tiến hànhlần lượt theo bốn bước: web crawler, indexing, rank page và searching

Sau đây ta sẽ nghiên cứu hệ thống tìm kiếm Google

Trang 6

II.Kiến trúc Google:

Tổng quan toàn bộ hệ thống làm việc của Google có thể được biểu diễn như hình dưới:

Trang 7

Qui Trình Tìm Kiếm

1 Web crawler:

Web crawler là bộ phận chịu trách nhiệm download các trang web và lưu trữ chúng dưới dạng nén ởtrong kho dữliệu Mục đích thiết kếcủa web crawler là làm cho nó download được số lượng trang web nhiều nhất trong khả năng đáp ứng của tài nguyên mạng và tốc độ, khả năng lưu trữ của máy

Tất cả các công cụ tìm kiếm đều dựa trên mô hình web crawler như hình1.2a Một Webcrawler sẽ sử dụng hai hàng đợi để quản lý các URL, đó là URLsToVisit (URL sẽ tới) và VisitedURLs (URL đã tới) Hàng đợiVisitedURLchứa danh sách các trang đã được download Danh sách này rất quan trọng đối vớicác crawler để tránh việc download một trang nhiều lần Trong khi đó hàng đợi URLsToVisit chứa danh sách các trang sẽ được download Nội dung ban đầu của hàng đợi URLsToVisit được gọi là seed list (danhsách hạt giống) Danh sách này sẽ ngày càng mở rộng theo thời gian Trước khi crawler chạy lần đầu tiên, danh sách URLs hạt giống này sẽ được khởi tạo một cách thủ công hoặc có thể được lấy từ một số nguồn khác Danh sách khởi tạo này lúc đầu có thể là một tập các web site bất kỳ, hoặc có thể là một tập các web site có chủ đề nhất định do người khởi tạo quyết

Trang 8

định.Web crawler hoạt động dưới dạng các vòng lặp nối tiếp nhau Một vòng lặp sẽ bắt đầu với việc lấy một URL từ hàng đợi URLsToVisit, tiếp đó webcrawler

sẽ download trang web tương ứng với URL đó, lưu trữ trang web đó vào trong kho

và đẩy URL đó vào trong hàng đợi VisitedURLs Trong mỗi vòng lặp, webcrawler

sẽ trích tất cả các link mà trang web vừa được lấy về, chuyển nó từ dạng link tương đối sang dạng link tuyệt đối, rồi kiểm tra ở hàng đợi VisitedURLs xem các trang này đã được download về chưa Nếu URL nào đã được download về rồi, nó sẽ bỏ qua URL đó còn nếu chưa được download, nó sẽ chuyển URL đó vào hàng đợi URLsToVisit.Quá trình này sẽ được lặp đi lặp lại cho đến khi nào hàng đợi URLsToVisit rỗng hoặc nó được dừng lại một cách có mục đích bởi người điều khiển Nếu việc lấy về một URL thất bại, crawler sẽ chuyển URL đó ngược lại vào hàng đợi URLsToVisit đểthử lại lần sau Nếu như việc lấy một URL thất bại trong nhiều lần, crawler sẽ bỏ qua nóvì rất có thể webserver chứa URL đó đã không còn hoạt động nữa.Theo cách này, một crawler có thể lấy về một số lượng lớn các trang web chỉ từ một lượng rất nhỏ URL trong danh sách khởi tạo (seed list) Để có thể hiểu kỹ hơn về web crawler, ta sẽ tìm hiểu những thiết kế và những rủi ro tiềm ẩn

có thể gặp phải trong việc cài đặt và điều hành một webcrawler mức độ lớn

2 Indexing:

Khối Indexer được dùng để xây dựng và bảo trì các chỉ mục phục vụ cho các truy vấn Khối Indexer xây dựng 3 chỉ mục cơ bản: chỉ mục offset (offset index),chỉ mục text (text index) và chỉ mục link/graph (link/graph index) Offset index ghi nhận vị trí vật lý của mỗi trang web trong cơ sở dữ liệu, nơi mà lưu trữ các trang web đã được nén.Chỉ mục này cho phép truy xuất ngẫu nhiên tới 1 web cho phép trong cơ sở dữ liệu Text index cho phép truy vấn hướng nội dung, sử dụng các chỉmục ngược để sung cấp tìm kiếm theo từ khóa trong cơ sở dữ liệu Cuối cùng, link index cung cấp truy vấn hướng liên kết (VD: Gọi đến tập các trang

mà trang X trỏ tới ).Sử dụng 3 chỉ mục cơ sở này và các trang web, khối Phân Tích

sẽ xây dựng lên các chỉ mục gốc khác nhau Ví dụ, sử dụng chỉ mục liên kết và các thuật toán lặp PageRank, khối phân tích sẽ tính toán và lưu trữ PageRank của mỗi trang trong cơ sở dữ liệu ( chỉ mục PageRank ).Tương tự, bằng cách kết hợp thông tin liên kết và nội dung của trang web,khối phân tích có thể xây dựng một chỉ mục tương tự mà ánh xạ mỗi trang tới 1 tậpcác trang tương tự

Trang 9

Thiết kế chiến lược

Ảnh hưởng to lớn bởi số lượng khổng lồ các trang Web trên mạng, chúng

ta phải thiết kế một lược đồ xây dựng và cấu trúc biểu diễn mới cho rất nhiều chỉ mụcđược sử dụng Thiết kế này có các đặc điểm sau:

-Chỉ mục được xây dựng song song và phân tán.Do kích cỡ khổng lồ của mạng

không cho phép thực hiện trực tiếp lược đồ xây dựng chỉ mục tuần tự đơn giản mà áp dụng rất tốt cho các tập hợp dữ liệu vừa và nhỏ ( khoảng vài triệu văn bản hoặc hình ảnh của vài nghìn node ) Cách thực hiện song song và phân tán các tính toán tích kiệm lớn chi phí và thời gian thực hiện.

- Nén và bộ đệm của cấu trúc chỉ mục Nhiều chỉ mục trên mạng quá đồ sộđể có

thể chứa trong bộ nhớ chính Vì vậy, chỉ mục được nén và lưu đệm là giải pháp nhằm giảm thiểu thời gian truy cập các chỉ mục.

- Định danh trang đặc tả chỉ mục.Điều này cấn thiết cho mỗi cấu trúc chỉ mục để

tận dụng các định danh đặc tả chỉ mục của chính nó để giảm thiểuthời gian truy nhập và kích cỡ chỉ mục.

Chỉ mục văn bản ( Text index)

Để cung cấp dịch vụ hướng văn bản cơ sở, chúng ta xây dựng các chỉ mục ngược thông qua tập các trang web trong cơ sở dữ liệu Kích cỡ của cơ sở dữ liệucác trang web lưu trữ và sự cần thiết của việc thu thập định kì và xây dựng lại chỉ mục yêu cầu chúng ta xây dựng một lược đồ xây dựng chỉ mục tin cậy và hiệu quả cao.Việc xây dựng các chỉ mục ngược tăng tối đa tốc độ và khối lượng xử lý index cho hệ thống Do đó các hệ thống hiện nay đều sử dụng phương pháp này để tiết kiệm tài nguyên

3.PAGERANK

3.1 Ranking là gì?

Trong lĩnh vực tìm kiếm, ranking là kỹ thuật đánh giá giá trị từng kết quả trong tập trả về mỗi khi người dùng truy vấn Bằng cách thức cho điểm, danh sách kết quả sẽ được sắp xếp theo thứ tự trước sau tương ứng với số điểm

Với việc bùng nổ dữ liệu trên internet, việc đánh giá xem một trang web nào

là chất lượng với một từ khóa thực sự khó khăn Do đó tầm quan trọng của ranking trong tìm kiếm ngày càng cao Nó đòi hỏi phải kết hợp nhiều thuật toán để cho ra được kết quả tốt nhất mà người dùng mong muốn

3.2 Các kỹ thuật sử dụng trong ranking

Google cho biết họ sử dụng kết quả của hơn 200 phương pháp khác nhau để đánh giá toàn thể cấu trúc Web và xác định những trang nào là quan trọng nhất

Trang 10

Sau đây là một số thuật toán cơ bản trong Ranking:

a Đánh giá bằng thống kê.

Thuật toán dựa vào những yếu tố sau để cho điểm một từ khoá trong một trang Web:

 Số lần xuất hiện của từ khoá trong bài viết Ví dụ: từ "Việt Nam" xuất hiện hai lần trong bài viết A và 3 lần trong bài viết B Như vậy bài viết B sẽ có điểm cao hơn khi truy vấn bằng từ khoá "Việt Nam"

 Tỉ lệ tần suất xuất hiện từ khoá với độ dài của bài viết Ví dụ: từ khoá "Việt Nam" xuất hiện hai lần trong bài viết A và 3 lần trong bài viết B Nhưng nếu bài viết A dài 1 trang và bài viết B dài 2 trang thì trong trường hợp này, bài viết A sẽ có điểm số cao hơn bài viết B ứng với từ khóa "Việt Nam"

Thuật toán chỉ mang tính chất thống kê và tương đối Trong một môi trường thực, không phải bất cứ bài viết nào có sự xuất hiện và tần suất xuất hiện cao của từ khoá cũng là thứ mà người tìm kiếm cần Rất nhiều trang có từ khoá xuất hiện cao thực chất chỉ là nội dung rác

b.Đánh giá theo địa chỉ của trang.

Đây là một cách đánh giá độ quan trọng của từ khóa với mỗi trang Web và thường có trọng số khá cao Thay vì từ khóa nằm trong bài viết thì nó lại nằm trong đường dẫn URL hay tên miền của trang Web (domain name)

c Đánh giá bằng từ khoá quan trọng.

Web Page là tài liệu có định dạng hiển thị Thông dụng nhất là chuẩn HTML Dựa vào cấu trúc định dạng đó, thuật toán cho điểm cao hơn với từ khóa nằm trong các thẻ đặc biệt Cách thông thường nhất mà Search Engine hay áp dụng chính là cho điểm cao với từ khoá nằm trong anchor text(liên kết), các thẻ tiêu đề, meta keyword, H1, H2, H3, H4, H5, H6 hoặc từ khoá được in đậm, viết hoa

Chúng ta đã biết một bài văn thường bao gồm ba phần: mở bài, thân bài và kết luận Trong đó, phần mở bài gần như một tóm tắt hoặc giới thiệu nội dung cho

cả bài viết Nếu chúng ta xác định được đâu là mở bài và cho điểm cao hơn với những từ khóa nằm trong đó thì kết quả search chính xác hơn rất nhiều Mặt khác, với một từ "Việt Nam", nếu xuất hiện ở đầu bài viết, giữa hay cuối bài viết thì nó cũng có những trọng lượng khác nhau

Trang 11

Trong một bài viết, các từ khóa có độ quan trọng khác nhau còn tùy thuộc vào vị trí hoặc ngữ cảnh Ví dụ, các danh từ riêng sẽ ít xuất hiện hơn trong một bài viết nhưng nó mang lại thông tin nhất định cho bài viết Chẳng hạn, nếu ta thấy từ

"Việt Nam", ta biết ngay bài viết sẽ nói vấn đề gì đó về Việt Nam Nhưng với từ

"làm việc", chúng ta không thể đưa ra kết luận gì bởi đây là một động từ chung chung Các danh từ thường có độ quan trọng hơn động từ, tính từ và trạng từ là thành phần kém quan trọng nhất Ngoài ra, từ viết tắt, từ đồng nghĩa sẽ giúp nội dung có điểm đánh giá cao hơn Ví dụ, bài viết chứa cả cụm từ "Hà Nội" và

"Thăng Long" sẽ có điểm cao hơn so với bài viết chỉ chứa từ "Hà Nội" Trường hợp khác, bài viết chứa cả cụm từ "công nghệ thông tin" và "cntt" sẽ có điểm cao hơn bài viết chỉ chứa cụm từ "công nghệ thông tin" Kết hợp với từ điển, phân tích ngữ nghĩa sẽ giúp phân tích sâu hơn về cấu trúc, tóm tắt hay gạn lọc lại những ý chính của bài viết

d.Đánh giá bởi các từ gần nhau.

Thuật toán cho phép tính toán độ gần nhau giữa các từ khoá Các Search Engine cho phép người tìm kiếm chỉ định độ gần nhau của các từ bằng câu lệnh tìm kiếm dạng "ca sỹ mỹ tâm" Lệnh search này sẽ trả về tập bài viết có các từ

"ca", "sỹ", "mỹ", "tâm" và khoảng cách giữa các từ thường không quá năm từ Đây

là thuật toán khá hay và tương đối dễ cài đặt Thuật toán này có thể kết hợp với các phương thức phân tích cao cấp để xác định vấn đề quan trọng trong bài viết nhằm tăng điểm cao hơn cho các câu hoặc cụm từ giá trị trong nội dung

e Đánh giá theo ngày tháng.

Thông thường, người tìm kiếm có xu hướng tìm kiếm những vấn đề hay sự kiện mới xảy ra Chẳng hạn, với từ khoá "Ronaldo", người ta sẽ quan tâm đến những vấn đề như Ronaldo gần đây cặp kè với ai, đá cho đội nào hay mức lương bao nhiêu? Phương thức ranking này là dễ, rẻ nhất và khá hiệu quả Nếu ta quan sát kết quả Google ở nhiều thời điểm khác nhau với một từ khóa ta sẽ thấy thứ hạng trả về của kết quả thay đổi Nhưng phương thức xác định thời gian của nội dung không hề đơn giản Nếu chỉ căn cứ vào thời gian Crawler (máy quét) lấy về thì không chính xác tuyệt đối Ví dụ, một bài viết xuất hiện trên trang Web A đã lâu nhưng được trang Web B copy lại nội dung Như vậy, thời gian mà Crawler lấy về chỉ mang tính tương đối Trường hợp khác, bài viết đề cập tới chiến tranh Việt

Ngày đăng: 23/10/2014, 23:26

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