Thuật toán pagerank cơ sở toán học của công cụ tìm kiếm google Thuật toán pagerank cơ sở toán học của công cụ tìm kiếm google Thuật toán pagerank cơ sở toán học của công cụ tìm kiếm google Thuật toán pagerank cơ sở toán học của công cụ tìm kiếm google Thuật toán pagerank cơ sở toán học của công cụ tìm kiếm google Thuật toán pagerank cơ sở toán học của công cụ tìm kiếm google Thuật toán pagerank cơ sở toán học của công cụ tìm kiếm google Thuật toán pagerank cơ sở toán học của công cụ tìm kiếm google
Trang 1THUẬT TOÁN PAGERANK
CƠ SỞ TOÁN HỌC CỦA CÔNG CỤ TÌM KIẾM GOOGLE
LUẬN VĂN THẠC SĨ KHOA HỌC
Trang 2BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI
-
ĐỖ CHÍ CƯỜNG
THUẬT TOÁN PAGERANK
CƠ SỞ TOÁN HỌC CỦA CÔNG CỤ TÌM KIẾM GOOGLE
Chuyên ngành: Toán ứng dụng
LUẬN VĂN THẠC SĨ KHOA HỌC
TOÁN ỨNG DỤNG
NGƯỜI HƯỚNG DẪN KHOA HỌC:
1 PGS TSKH NGUYỄN THIỆU HUY
Hà Nội – Năm 2019
Trang 3LỜI CAM ĐOAN
Tôi, Đỗ Chí Cường, cam đoan rằng luận văn thạc sĩ với tiêu đề “thuật toán
pagerank – cơ sở toán học của công cụ tìm kiếm google” là công trình
nghiên cứu khoa học của riêng tôi Tôi xin xác nhận rằng:
• Luận văn này được thực hiện chủ yếu trong chương trình Thạc sĩ Khoa học Toán ứng dụng tại Viện Toán ứng dụng và Tin học, Đại học Bách Khoa Hà Nội
• Bất kỳ nội dung nào của luận văn này được sử dụng trong bất kỳ tài liệu nào khác đã được nêu rõ ràng
• Tất cả các tài liệu được sử dụng để tham khảo đã được trích dẫn đầy đủ
• Mọi sự giúp đỡ trong quá trình thực hiện luận văn đều đã được ghi nhận và cảm ơn
Trang 4LỜI CẢM ƠN
Lời đầu tiên, tác giả xin bày tỏ lòng biết ơn chân thành và sâu sắc nhấttới PGS TSKH Nguyễn Thiệu Huy, người đã tận tình hướng dẫn,giúp đỡ và động viên tác giả trong suốt quá trình thực hiện luận văn này
Tác giả xin trân trọng cảm ơn Viện Toán ứng dụng và Tin học, ViệnĐào tạo Sau đại học, Đại học Bách Khoa Hà Nội đã tạo mọi điều kiện thuậnlợi cho tác giả trong quá trình học tập và nghiên cứu Xin cảm ơn các thầy
cô, các bạn sinh viên, học viên cao học của Viện Toán ứng dụng và Tin học
đã giúp đỡ, trao đổi cùng tác giả những kiến thức và kinh nghiệm quý báu
để giúp cho luận văn này được hoàn thiện hơn
Cuối cùng, tác giả xin kính tặng những người thân yêu nhất của mìnhniềm hạnh phúc và vinh dự to lớn này!
Trang 5Mục lục
Lời cam đoan
Danh sách hình vẽ
1 Tổng quan về khai phá dữ liệu và cơ sở toán học thuật toán
1.1 Khai phá dữ liệu 4
1.2 Tổng quan thuật toán PageRank 6
1.3 Các khái niệm cơ bản trong đại số tuyến tính 8
1.4 Lý thuyết đồ thị 12
1.4.1 Định nghĩa đồ thị 12
1.4.2 Các phương pháp biểu diễn đồ thị trên máy tính 13
Trang 62.1 Thuật toán PageRank cơ bản 16
2.1.1 Công thức toán học của thuật toán PageRank cơ bản 17 2.2 Người di chuyển ngẫu nhiên 19
2.2.1 Vấn đề mắc kẹt tại một trang 19
2.2.2 Vấn đề mắc kẹt tại một đồ thị con 20
2.2.3 Lựa chọn α 21
2.3 Tính toán giá trị PageRank 22
2.4 Sử dụng phương pháp lũy thừa để tính PageRank 22
3 Thuật toán TextRank 24 3.1 Tư tưởng thuật toán 24
3.2 Biểu diễn tập văn bản bằng đồ thị 25
3.3 Mô hình TextRank 26
3.3.1 Mô hình với đồ thị vô hướng 27
3.3.2 Mô hình với đồ thị có trọng số 28
3.4 Trích rút từ khóa bằng TextRank 29
3.5 Tóm tắt văn bản bằng TextRank 32
4 Thuật toán Hit-Hub 35 4.1 Ý tưởng 35
Trang 74.2 Nội dung thuật toán 37
Trang 8Danh sách hình vẽ
1.1 Mô hình liên kết trong thuật toán PageRank [6] 7
1.2 Đơn đồ thị vô hướng [11] 12
1.3 Đơn đồ thị có hướng [11] 13
1.4 Đồ thị vô hướng [9] 14
1.5 Đồ thị có hướng [9] 14
1.6 Đồ thị vô hướng [10] 15
2.1 Đồ thị web mô phỏng hiện tượng mắc kẹt [8] 20
3.1 Đường cong hội tụ cho: đồ thị có hướng/vô hướng, có trọng số/không trọng số, 250 đỉnh, 250 cạnh [2] 27
3.2 Xây dựng đồ thị mẫu để trích xuất cụm từ khóa từ bản tóm tắt [2] 31
3.3 Xây dựng đồ thị mẫu để trích xuất câu từ một bài báo Tóm tắt thủ công và tóm tắt sau khi sử dụng TextRank [2] 33
3.4 Đồ thị trọng số liên kết từ 34
Trang 94.1 Trang hubs và authorities [4] 37
4.2 ap bằng tổng hi với i là các nút trỏ tới p [4] 38
4.3 hp bằng tổng ai với i là các nut được p trỏ đến [4] 39
4.4 Đồ thị web đơn giản với 3 trang web [4] 40
Trang 10Nội dung trình bày trong luận văn gồm 4 chương:
• Chương 1: Giới thiệu các kiến thức tổng quan về khai phá dữ liệu vàthuật toán PageRank, chủ yếu giới thiệu về vai trò, lịch sử, tinh thầncủa thuật toán và một số kiến thức về đồ thị, là nền tảng của thuậttoán
• Chương 2: Trình bày chi tiết về thuật toán PageRank, mô hình người
di chuyển ngẫu nhiên, các trường hợp xảy ra trong mô hình và phươngpháp xử lý tương ứng Chương này cũng trình bày về cách tính trịriêng, vector riêng và phương pháp lặp để tính toán giá trị PageRank
• Chương 3: Trình bày về thuật toán TextRank, một ứng dụng mạnh
mẽ của tư tưởng thuật toán PageRank trong xử lý ngôn ngữ tự nhiên,giúp giải quyết nhiều bài toán quan trọng
• Chương 4: Khái quát về thuật toán Hit-Hub và ứng dụng
Trang 11Luận văn được hoàn thành trong chương trình Thạc sĩ Khoa học Toán tintại Viện Toán ứng dụng và Tin học, Đại học Bách Khoa Hà Nội , dưới sựhướng dẫn của PGS TSKH Nguyễn Thiệu Huy.
Mặc dù đã được hoàn thành với nhiều cố gắng nhưng do hạn chế vềthời gian và kinh nghiệm, luận văn này không thể tránh khỏi những sai sót.Tác giả rất mong nhận được những ý kiến đóng góp quý báu từ thầy cô vàcác bạn học viên để luận văn được hoàn thiện hơn nữa
Trang 12Chương 1
Tổng quan về khai phá dữ liệu và cơ sở toán học
thuật toán Pagerank
Thời đại công nghệ hiện nay dữ liệu được trao đổi và lưu trữ ngày càngtăng Hạ tầng lưu trữ dữ liệu cũng thay đổi từ các thiết bị lưu trữ cá nhânnhư ổ cứng, usb đến hạ tầng lưu trữ trực tuyến trên internet Khối lượng
dữ liệu lưu trữ và trao đổi trên internet đang gia tăng với tốc độ vô cùnglớn Người ta ước đoán rằng lượng thông tin trao đổi trên toàn cầu tănggấp đôi sau mỗi hai năm, do đó mà lượng thông tin tăng theo cấp số mũ.Đây là một lượng thông tin khổng lồ, lượng tri thức được tích lũy của toànnhân loại Điều này đặt ra nhu cầu thiết yếu cho việc khai thác khối lượngtri thức này phục vụ cho khoa học, kỹ thuật và kinh tế Tuy nhiên việc khaithác được những tri thức này không dễ dàng, tình trạng giàu về dữ liệu,nghèo về thông tin xảy ra phổ biến Đây là một thách thức và cũng là động
Trang 13lực vô cùng lớn để thúc đẩy phát triển các công nghệ và kỹ thuật phân tích
và trích lọc tri thức từ các nguồn dữ liệu khổng lồ, đưa ra cách khai tháchiệu quả nguồn tri thức này
Định nghĩa 1.1 Khai phá dữ liệu là một tập hợp các kỹ thuật được sử dụng
để tự động khai thác và tìm ra các mối liên hệ lẫn nhau của dữ liệu trongmột tập hợp dữ liệu khổng lồ và phức tạp, đồng thời cũng tìm ra các mẫutiềm ẩn trong tập dữ liệu đó
Khai phá dữ liệu là một bước trong bảy bước của quá trình khám phátri thức (Knowledge discovery in Database - KDD), là một quá trình baogồm các bước:
1 Làm sạch dữ liệu (data cleaning and preproccessing)
2 Tích hợp dữ liệu (data integration)
3 Trích chọn dữ liệu (data selection)
4 Chuyển đổi dữ liệu
5 Khai phá dữ liệu (data mining)
6 Ước lượng mẫu (knowledge evaluation)
7 Biểu diễn tri thức (knowledge presentation)
Các phương pháp khai thác dữ liệu bao gồm:
• Phân loại (Classification): Là phương pháp dự báo, cho phép phân loạimột đối tượng vào một lớp hoặc một số lớp cho trước
• Hồi quy (Regression): Là phương pháp tìm kiếm một hàm số biểu diễntri thức, cho phép ánh xạ một điểm dữ liệu đến một biến thực có thể
dự báo được
Trang 14• Phân cụm (Clustering): Là một phương pháp chia nhỏ dữ liệu thànhnhững nhóm nhỏ có các đặc điểm chung và có thể phân biệt giữa cácnhóm với nhau.
• Tổng hợp (Summarization): Là phương pháp mô tả cho phép đưa ramột hình thức biểu diễn đặc trưng cho một tập hợp dữ liệu
• Mô hình ràng buộc (Dependency modeling): Là phương pháp đưa ramột mô hình cục bộ biểu diễn sự ràng buộc có ý nghĩa giữa các biến
và các giá trị đặc trưng của tập dữ liệu
• Nhận diện sự thay đổi (Change and Deviation Detection): Tìm kiếmnhững sự thay đổi có ý nghĩa nhất trong tập dữ liệu
PageRank là thuật toán phân tích mối liên hệ giữa các trang web, đượcLarry Page và Sergey Brin phát triển ở đại học Stanford vào những năm
1996 như là một phần của dự án phát triển một công cụ tìm kiếm mới.Sergey Brin đưa ra ý tưởng về việc sắp xếp thông tin trên các trang webbằng cách phân tích độ tín nhiệm của liên kết giữa các trang web: Một trangweb có thứ hạng cao hơn thì sẽ có nhiều liên kết tới nó hơn Rajeev Motwani
và Terry Winograd cùng với Page và Brin, trong bài báo đầu tiên về dự ánnày, đã giới thiệu RageRank và nguyên mẫu đầu tiên của công cụ tìm kiếmGoogle, khởi đầu cho sự phát triển của công cụ tìm kiếm thịnh hành nhấtthế giới này
Thuật toán PageRank đưa ra một phân phối xác suất được sử dụng
để biểu diễn xác suất xuất hiện của trang web sẽ được điều hướng khi mộtngười dùng truy cập vào một liên kết bất kỳ PageRank có thể được tínhtoán cho một tập hợp các tài liệu ở bất kỳ kích thước nào Quá trình tínhtoán PageRank yêu cầu một số lần lặp trên toàn bộ tập dữ liệu để tính toán
Trang 15xấp xỉ được giá trị PageRank chính xác nhất, theo nghĩa gần nhất với giátrị đúng trên lý thuyết quả nó Một xác suất được biểu diễn bằng một sốtrong khoảng từ 0 đến 1 Một xác suất 0.5 đối với một trang B nào đó trong
đồ thị web thể hiện rằng khi một người dùng hiện tại đang ở trang A thìxác suất họ chuyển sang trang B là 0.5
Hình 1.1: Mô hình liên kết trong thuật toán PageRank [6]
Thuật toán toán học PageRanks đối với một hệ thống liên kết đơn giản
sẽ được hiển thị tỷ lệ bằng % Trang C có một PageRank cao hơn so vớitrang E, mặc dù có ít liên kết (links) đến trang C; chỉ có một link duy nhấtdẫn tới C từ một trang quan trọng và chính vì thế mà C có giá trị cao Nếunhư một người lướt web bắt đầu từ một trang bất kỳ thì có 85% xác suấtchọn một link ngẫu nhiên trên trang mà họ đang xem, và 15% họ sẽ chọnchuyển sang một trang web bất kỳ từ toàn bộ hệ thống các liên kết Ngườidùng sẽ truy cập vào trang E với xác suất 8.1% (Xác suất 15% truy cậptới một trang bất kỳ tương ứng với yếu tố damping là 85%.) Nếu không cóyếu tố damping, người dùng cuối cùng cũng sẽ kết thúc quá trình lướt webtại trang A, B, hoặc C, và các trang khác sẽ có PageRank bằng 0 Nếu nhưtính cả yếu tố damping, trang A vẫn liên kết đến tất cả các trang trong hệ
Trang 16thống, mặc dù chỉ có 1 liên kết trỏ đi.
Thuật toán PageRank có nhiều ứng dụng quan trọng trong thực tế.Một trong số đó là nền tảng toán học của các máy tìm kiếm hàng đầu hiệnnay như cỗ máy tìm kiếm của Google Ngoài ra, PageRank còn được pháttriển thành TextRank, một thuật toán quan trọng của xử lý ngôn ngữ tựnhiên, hỗ trợ mạnh mẽ cho việc tóm tắt hoặc trích rút thông tin trong vănbản Thuật toán PageRank cải tiến, Hit-Hub có vai trò rất quan trọng trongnền tảng web hiện đại
tính
Đại số tuyến tính là một ngành toán học nghiên cứu về không gian vector,
hệ phương trình tuyến tính và các phép biến đổi tuyến tính giữa chúng.Đại số tuyến tính được sử dụng nhiều trong toán học, như trong đại sốđại cương, giải tích hàm, hình học giải tích, v.v để giải các bài toán nhưphép quay trong không gian, nội suy bình phương nhỏ nhất, nghiệm của hệphương trình vi phân, tìm đường tròn qua ba điểm v.v Nó cũng có vô vànứng dụng trong khoa học tự nhiên (vật lý, công nghệ ) và khoa học xã hội(kinh tế ), vì các mô hình phi tuyến tính hay gặp trong tự nhiên và xã hộithường có thể xấp xỉ bằng mô hình tuyến tính
Định nghĩa 1.2 Một ma trận được gọi là ma trận dương nếu tất cả cácphần tử của ma trận là các số dương (>0)
Một ma trận được gọi là ma trận không âm nếu tất cả các phần tửcủa ma trận không âm (≥ 0)
Ma trận không âm mà có tổng các phần tử trên mỗi cột bằng 1 thì đượcgọi là ma trận cột xác suất
Trang 17Ma trận M được gọi là ma trận nguyên thủy nếu tồn tại số nguyên
k sao cho Mk là một ma trận dương
Định nghĩa 1.3 Cho ma trận vuông cấp n
λ gọi là trị riêng của ma trận A nếu det(A − λI) = 0
x 6= 0 gọi là vector riêng ứng với trị riêng λ nếu (A − λI)x = 0
Ta đi tìm trị riêng và vector riêng của ma trận M
Gọi λ là trị riêng của M , giải phương trình đặc trưng:
×
λ + 12
Trang 181 2
1 2 1
3
1 2
1 2 2
3
1 2
1 2
(M − λI)v = 0
|N − λI| = 0
⇔
0 − λ 2
1 1 − λ
... thuật tốn Vì vậy, việc chọn lựa cấu trúc liệu để biểu diễn đồthị phụ thuộc vào tình cụ thể (bài toán thuật toán cụ thể).Trong mục xét số phương pháp sử dụng
để biểu diễn đồ thị máy tính,... trữ đồ thị thực thuật toán khác với đồ thị máytính cần phải tìm cấu trúc liệu thích hợp để mơ tả đồ thị Việcchọn cấu trúc liệu để biểu diễn đồ thị có tác động lớn đến hiệuquả thuật tốn Vì vậy,... hình phía sau thuật toán PageRank "Bước ngẫu nhiên",tức mơ hình giả định người thực truy cập ngẫu nhiên Web.Tại trạng thái ổn định, trang có tỉ lệ chọn (được tới) riêngbiệt PageRank tính