Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 17 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
17
Dung lượng
247,36 KB
Nội dung
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 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. Lê Thanh Hương Nhóm sinh viên thực hiện: Ngô Ngọc Đức 20080738 Bùi Tuấn Điệp 20080663 Nguyễn Huy Dưỡng 20080575 Nguyễn Văn Dương 20086082 Nguyễn Văn Kiên 20081453 Hà Nội – 04/2012 Mục Lục 2 A.Mở đầu Trong thời đại ngày nay, thông tin là nhu cầu thiết yếu đối với mọi người trên mọi lĩnh vực. Mỗi phút trôi qua hàng triệu triệu trang web được đẩy lên nhằm làm giàu nguồn tài nguyên vô tận này. Tuy nhiên tồn tại một nghịch lý là dù được ví như thư viện toàn cầu, internet vẫn không thoả mãn nhu cầu thông tin của con người. Xung quanh vấn đề này có nhiều nguyên nhân nhưng quan trọng nhất là sự thông hiểu giữa con người và công cụ tìm kiếm trên mạng – search engine – chưa đạt đến mức có thể giao tiếp tốt với nhau. Nếu ta hiểu cách thức search engine tổ chức thông tin, thực thi một câu truy vấn và đặc trưng của ngôn ngữ mà search engine sẽ tiếp cận thì ta có thể tối ưu hoá cơ hội nhận được các thông tin hữu ích. 3 B.Tổng quan về hệ thống Search Engine I.Các bộ phận cấu thành hệ thống search engine 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.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. 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. 4 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. II.Nguyên lý hoạt động của Search Engine 1.Search Engine điều khiển robot đi thu thập thông tin trên mạng thông qua các siêu liên kết Hyperlink. 2.Robots phát hiện ra website mới, nó gửi tài liệu webpage về cho server chính để tạo CSDL chỉ mục phục vụ cho nhu cầu tìm kiếm thông tin. (*Robots phải liên tục cập nhật dữ liệu trên mạng, mật độ cập nhật phụ thuộc vào từng hệ thống tìm kiếm (Search engine)). 3.Search engine nhận yêu cầu truy vấn từ User, nó sẽ tiến hành phân tích, tìm trong CSDL chỉ mục và trả về những tài liệu thỏa yêu cầu. 5 C.Ranking I.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. II.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. Sau đây là một số thuật toán cơ bản trong Ranking: 1. Đá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. 6 2.Đá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). 3. Đá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. 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. 4.Đá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 7 tìm kiếm dạng "ca sỹ mỹ tâm"~5. 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. 5. Đá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 Nam hay những sự kiện từ thập niên 50 được đăng tải, chúng ta không thể căn cứ vào thời gian cập nhật để xác định thời gian của nội dung. 6. Đánh giá theo độ nổi tiếng của trang. "PageRank của Google đánh giá độ quan trọng của một trang web dựa trên phương pháp xử lí gọi là thuật toán phân tích liên kết (Link Analysis Algorithm). Phương pháp này đánh giá độ quan trọng của một trang Web dựa trên những liên kết trên Internet. Và Google cho biết: "trang nào được chúng tôi đánh giá quan trọng sẽ được ưu tiên hiện trước trong danh sách kết quả tìm kiếm. Chúng tôi luôn tìm cách đánh giá một cách hữu hiệu nhất để tăng chất lượng kết quả tìm kiếm và tạo ra một sản phẩm có ích, và công nghệ PageRank của chúng tôi sử dụng tính cộng đồng trên Internet để xác định độ quan trọng của một trang web." Đây là một phương thức hay và có hiệu quả.Nhưng tại thời điểm hiện nay, số lượng trang web ngày càng bùng nổ theo cấp số nhân Hiện tại, chất lượng Page Rank đã giảm nhiều so với thời kỳ đầu. 8 7. Đánh giá theo truy vấn vùng. Cùng một từ khóa tìm kiếm, kết quả trả về cho người Mỹ sẽ khác với kết quả trả về cho người Việt. Ngoài việc ưu tiên những nội dung tiếng Việt lên đầu, Search Engine còn cần phải loại bỏ các kết quả không phù hợp với văn hóa và xã hội Việt Nam. Tính toàn cầu của Internet cũng cần phải thỏa mãn tính bản địa khi truy vấn đến từ nhiều nơi khác nhau. Local Ranking là phương pháp căn cứ vào dải ip truy cập của người dùng rồi đánh giá lại tập nội dung, cho điểm những kết quả phù hợp hơn với người dùng đến từ nước, vùng, khu vực đó. 8.Đánh giá bởi con người và trình duyệt. Phương pháp thống kê nhờ theo dõi hành vi người dùng để đưa ra đánh giá về chất lượng của một trang Web. Phương thức này chỉ có thể triển khai khi một Search Engine có số lượng người dùng lớn như Google hoặc Yahoo. Một phương pháp khác là nhờ vào kiểm soát trình duyệt (Google và Microsoft).Hiệu quả của phương pháp này rất lớn nếu được triển khai tốt. Tuy nhiên, nó vi phạm đến một số vấn đề riêng tư và bảo mật của người dùng Search Engine. III.PageRank: 1.PageRank là gì? PageRank là một thuật toán được sử dụng trong công cụ tìm kiếm Google, được phát triển tại Đại học Stanford bởi Larry Page và Sergey Brin trong nghiên cứu của họ “The Anatomy of a Large-Scale Hypertextual Web Search Engine”. Thuật toán dựa trên 1 giả thuyết phổ biến trong giới hàn lâm, đó là tầm quan trọng của một bài báo được quyết định bởi số các trích dẫn từ bài báo đó của các bài báo khác. Brin và Page đã đơn giản giả thuyết này để dùng cho trang Web: “Tầm quan trọng của một trang Web được quyết định bởi số lượng các hyperlink trỏ đến nó từ các trang Web khác”. Chỉ số PageRank của một trang web là kết quả bầu chọn của tất cả các trang web khác trên toàn thế giới cho website đó về mức độ quan trọng của trang. Mỗi 1 liên kết ngược là 1 phiếu bầu. Các phiếu bầu này có mức độ ảnh hưởng khác nhau, sự 9 khác nhau đó phụ thuộc vào chất lượng ( hay tính quan trọng ) của mỗi trang đặt liên kết ngược. Một trang được liên kết đến bởi các trang có PageRank cao sẽ nhận được PageRank cao. Nếu 1 trang web không có liên kết nào đến thì sẽ không có phiếu bầu nào. Chỉ số PageRank này cho biết trang web có quan trọng hay không theo cách nhìn nhận của Google. Website nào có chỉ số PageRank cao chứng tỏ website đó có chất lượng cao và quan trọng. Vì thế, khi tìm kiếm, Google sẽ ưu tiên cho các site có PageRank cao. Tất nhiên khi tìm kiếm không phải cứ website có PageRank cao là sẽ được xếp ở trang đầu tiên, điều này còn phụ thuộc vào việc bạn muốn tìm kiếm gì và nhiều yếu tố khác. Google kết hợp PageRank với một số heuristics khác để cho ra kết quả phù hợp nhất. 2.Công thức thuật toán PageRank. Giá trị PageRank của trang P i được tính như sau: 10 [...]... lượng các link đi ra của các trang web trỏ tới ( outgoing links): Càng ít càng tốt Có thể thấy thuật toán PageRank không liên quan gì đến các câu truy vấn tìm kiếm Nó chỉ đơn thuần là một phần của thuật toán xếp hạng của Google Có lẽ cách tốt nhất để xem xét PageRank là coi nó như là 1 yếu tố bổ sung, được xử lý trên các kết quả tìm kiếm của Google sau khi tất cả các tính toán khác đã hoàn tất Thuật... thông tin liên quan là rất cao Do đó các trang web mà người dùng giành nhiều thời gian để đọc và tìm những bài viết trên website sẽ được Google đánh giá cao Tỷ lệ Bounce Rate 15 Thuật toán Google đưa ra là khi một website người dùng thường xuyên truy cập sẽ là website có giá trị Tỷ lệ khách hàng quay trở lại Một cách tuyệt vời để biết được trang web đang có thứ hạng cao trên bảng tìm kiếm của Google. .. thứ hạng của tất cả các trang có nội dung trùng lặp với nội dung trên Thuật toán Panda Google tung ra Google Panda để thay thế cho Google Cafein Nó là tập hợp của các thuật toán phức tạp Với tầm nhìn rõ ràng của Google Panda là loại bỏ những nội dung rác, nội dung copy, loại bỏ những website có thương hiệu kém Google Panda là bộ lọc quan trọng để cải tiến các kết quả tìm kiếm mới của Google Sau đây là... tất Thuật toán tìm kiếm của Google trước tiên sẽ tiến hành tìm kiếm trên các trang mà nó đã đánh chỉ mục, sau đó sẽ tính toán PageRank trên các trang kết quả tìm kiếm để đưa ra danh sách kết quả có sắp xếp cuối cùng 4 PageRank được tính toán như thế nào PageRank có thể được tính toán bằng phương pháp lặp hoặc dùng đại số: a.Phương pháp lặp: Tại t=0 Giả sử phân bố xác suất ban đầu là: 11 Tại mỗi bước,... 5.Kết luận Thuật toán PageRank trên thực tế rất đơn giản Nhưng khi một phép tính đơn giản được thực hiện hàng nghìn ( hoặc hàng tỉ) lần thì thuật toán trở lên rất phức tạp PageRank chỉ là 1 phần trong chiến lược sắp xếp thứ tự kết quả tìm kiếm của Google Nhưng nó là một tiêu chí không thể thiếu trong việc sắp xếp thứ tự dữ liệu 14 IV Google Panda Algorithm Tháng 11-2011 Google chính thức thay đổi thuật... đổi mạnh mẽ của Google Thuật toán Panda có tư tưởng chủ đạo là “ Content is King” Nó loại bỏ hoặc giảm chỉ số xếp hạng của các trang web có nội dung kém chất lượng, sao chép nội dung, và các trang web có nội dung chủ yếu được sưu tập từ các trang khác, tăng chỉ số xếp hạng của các trang có nội dung nguồn chất chất lượng Thuật toán Panda cố gắng xác định nguồn gốc, tác giả của nội dung và tăng thứ hạng... Youtube, Twister… Lượng nội dung gốc trên site hoặc mỗi trang Số lượng các link trỏ đến trang web Số lượng các từ không tự nhiên trên trang Tỷ lệ người dùng kích qua các trang kết quả của Google (cho trang hoặc site) Tỷ lệ nội dung không trung thực (như nhau trên tất cả các trang) Số lượng các quảng cáo trên trang web 16 D Tài liệu tham khảo 1 2 3 4 5 6 7 http://en.wikipedia.org/wiki/PageRank... P1,P2,…,Pn là các trang cần tính PageRank M(Pi) là tập các trang có link trỏ tới trang Pi L(Pj) là số các link đi ra từ trang Pj N là tổng số trang Tham số giảm sóc d có giá trị xấp xỉ 0.85 3.Ý nghĩa thuật toán Trên quan điểm của Search Engine, định nghĩa thuật toán PageRank cho ta thấy có 2 yếu tố ảnh hưởng đến vị trí của trang web trên Google Đó là: • • Số lượng các link đi đến ( incoming links): Thông thường... trong thuật toán Google Panda: “Content is king” Coi trọng dữ liệu mới Coi trọng dữ liệu text.Chính tả và ngữ pháp là quan trọng Tỉ lệ các bài viết có nội dung trùng lặp Điều này có thể áp dụng cho từng trang riêng lẻ, cho cả trang web hoặc cả hai Thời gian khách truy cập trên website Nếu người dùng tìm thấy những nội dung hữu ích và đáp ứng đúng nhu cầu của họ, khả năng họ ở lại trên website để tìm. .. chính là tỷ lệ khách hàng quay trở lại website Google tin rằng chỉ có chất lượng website mới khiến người dùng quay trở lại website thường xuyên hơn Mạng xã hội Mục đích của Google Panda là để giúp chọn lọc ra các website hoạt động thực sự bởi con người chứ không phải máy móc (Auto post) Do đó những mạng xã hội là tiêu chí đánh giá khá quan trọng khi tại đây những yếu tố tương tác rất mạnh chỉ có . Nghệ Thông Tin và Truyền Thông BÁO CÁO BÀI TẬP LỚ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. nào. 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. quan về hệ thống Search Engine I .Các bộ phận cấu thành hệ thống search engine 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