Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> การเขียนโปรแกรม

PageRank Algorithm ใน Web Mining คืออะไร? หลักการและการคำนวณ


PageRank เป็นวิธีสำหรับการจัดอันดับ (Rating) หน้าเว็บ (Web Pages) อย่าง客观和機械 (Objectively and Mechanically) โดยให้ความสนใจกับความสนใจของมนุษย์ (Human Interest) Web Search Engines ต้องจัดการกับ Clients และ Pages ที่ไม่มีประสบการณ์ (Inexperienced) ที่จัดการกับบริการจัดอันดับแบบดั้งเดิม (Conventional Ranking Services) บางวิธีการประเมินที่นับคุณลักษณะที่ซ้ำได้ (Replicable Natures) ของ Web Pages ไม่ได้รับภูมิคุ้มกัน (Unimmunized) ต่อการจัดการ (Manipulation)

ภารกิจคือการใช้ประโยชน์จากโครงสร้าง Hyperlink ของเว็บ เพื่อสร้าง Global Importance Ranking ของทุกหน้าเว็บ การจัดอันดับนี้เรียกว่า PageRank

กลไกของเว็บขึ้นอยู่กับ Graph ที่มีประมาณ 150 ล้านโหนด (Web Pages) และ 1.7 พันล้าน Edge (Hyperlinks) หาก Web Pages A และ B ลิงก์ไปยัง Page C A และ B เรียกว่า Backlinks ของ C โดยทั่วไป หน้าที่มีลิงก์มาก (Highly Linked Pages) สำคัญกว่า ดังนั้นจึงมี Backlinks มากกว่า และ Backlinks ที่สำคัญน้อยกว่าจำนวน

ตัวอย่าง หน้าเว็บที่มี Backlink เดียวจาก Yahoo ต้องจัดอันดับสูงกว่าหน้าที่มี Backlinks หลายตัวจากไซต์ไม่รู้จักหรือส่วนตัว หน้าเว็บมี Rank สูง หากผลรวมของ Ranks ของ Backlinks ของมันใหญ่เกินไป

PageRank แบบง่าย (Simplified Version)

ให้ u, v เป็น Web Pages ดังนั้น ให้ Bu เป็นกลุ่มหน้าที่ชี้ไป u อีกทั้ง ให้ Nv เป็นจำนวนลิงก์จาก v ให้ c < 1 เป็นปัจจัยสำหรับ Normalization สามารถอธิบาย Ranking R แบบง่าย ซึ่งเป็นการตีความ PageRank ที่ง่ายขึ้น:

$$\mathrm{R(u)\:=\:c\displaystyle\sum\limits_{u\in{Bu}}\frac{R(v)}{N_v}}$$

Rank ของหน้าถูกแบ่งระหว่าง Forward Connections อย่างเท่าเทียม เพื่อมีส่วนร่วมกับ Ranks ของหน้าที่พวกเขาชี้ไปด้วย สมการนี้เป็น Recursive แต่มีปัญหากับฟังก์ชันที่ง่ายเกินไปนี้

ถ้าสอง Web Pages ชี้ไปยังกันและกัน แต่ไม่มีหน้าอื่นชี้ไปยังหนึ่งในนั้น Loop จะเกิดขึ้นระหว่าง Iteration Loop นี้จะสะสม Rank แต่จะไม่แชร์ Rank ใดๆ บẫยี้ที่สร้างโดย Loops ใน Graph ที่ไม่มี Out-edges เรียกว่า Rank Sinks

Page Rank Algorithm เริ่มต้นด้วยการแปลงทุก URL จากฐานข้อมูลเป็นตัวเลข ขั้นตอนต่อไปคือจัดเก็บแต่ละ Hyperlink ในฐานข้อมูลโดยใช้ Integer IDs เพื่อระบุ Web Pages Iteration เริ่มต้นหลังจากจัดเรียง Link Structure โดย Parent ID และลบ Dangling Links

Best Initial Assignment ต้องเลือกเพื่อเร่ง Convergence Weights จาก Current Time Step ถูกเก็บใน Memory และ Previous Weights เข้าถึงบน Disk ใน Linear Time หลังจาก Weights Converged แล้ว Dangling Connections ถูกแทรกกลับ และ Rankings ถูกคำนวณใหม่ การคำนวณทำงานได้ดี แต่สามารถทำให้เร็วขึ้นโดยการผ่อนคลาย Convergence Criteria และใช้ Optimization Approaches ที่มีประสิทธิภาพมากขึ้น