
איך באמת עובד הדירוג של Hacker News: ניקוד, מחלוקת וקנסות
ניתוח של קן שיריף מ-2013 עקב ימים אחדים אחרי העמוד הראשי של Hacker News ומצא שהנוסחה המפורסמת נכונה בעיקרה, אבל מערכת קנסות נסתרת מעצבת את הדירוג הרבה יותר מאשר ההצבעות לבדן.
ניתוח שפרסם קן שיריף ב-2013 עדיין מצוטט בכל פעם שמשתמשי Hacker News תוהים מדוע כתבה נעלמה לפתע מהעמוד הראשי. שיריף סרק את הדפים /news ו-/news2 בכל דקה במשך כמה ימים, תוך שמירה על ההנחיה של האתר — לא יותר משני דפים בדקה — פרסר את ה-HTML עם Beautiful Soup והציג את התוצאות בגרפים ב-matplotlib.
ניקוד ולולאת הדירוג מחדש
הנוסחה המפורסמת, שנלקחה מגרסה זמינה של קוד שרת ה-Arc, מדרגת כתבה לפי מספר ההצבעות, גילה בדקות וסדרת מכפילים: הכבידה היא 1.8, בסיס הזמן 120 דקות, וישנם מקדמים נפרדים לכתבות בלי כתובת, לפוסטים קלים ולבדיחות. משום שלגיל חזקה גבוהה מזו של ההצבעות, כל ניקוד שואף בסופו של דבר לאפס — ולכן שום דבר לא נשאר זמן רב בעמוד הראשי.
הדירוג אינו מחושב מחדש לכל הכתבות בכל ביקור. כתבה מדורגת מחדש כשהיא מקבלת הצבעה ועוברת למקומה המתאים, ושאר הרשימה נשארת כפי שהיא. בנוסף, כל 30 שניות נבחרת באקראי כתבה מתוך 50 המובילות ומדורגת מחדש, והדפים עשויים להישמר במטמון עד 90 שניות. כתבה שהפסיקה לאסוף הצבעות עשויה אפוא להישאר במקום הלא נכון במשך דקות.
מערכת הקנסות
הקוד שפורסם התברר כמדויק בעיקרו, אבל המערכת האמיתית מחילה קנסות רבים בהרבה ממה שמשתמשים מניחים. כ-20% מהכתבות בעמוד הראשון נקנסו, ובעמוד השני 38%. באותה תקופה כל כתבה עם NSA בכותרת קיבלה קנס אוטומטי של 0.4; המחבר בדק מילים כמו awesome, bitcoin ו-bubble ולא מצא השפעה דומה. גם דומיינים רבים נשאו קנס אוטומטי של 0.25 עד 0.8, ובהם github.com, medium.com, reddit.com, youtube.com, arstechnica.com ו-theguardian.com. שיריף מזכיר את התאוריה שלפיה מקורות פופולריים מקבלים הגשות מקבילות והצבעות עודפות, וקנסות דומיין אוטומטיים מאזנים זאת.
בפועל מקדם הקנס קשה: 0.4 שקול לכך שכל הצבעה נחשבת ל-0.3 הצבעות, כלומר הכתבה נופלת מהר ב-66% מהרגיל; מקדם 0.1 פירושו שכל הצבעה נחשבת ל-0.05.
הקנס הבולט ביותר הוא המחלוקת. בקוד שפורסם הפעיל contro-factor קנס כשהיו יותר מ-20 תגובות ומספר התגובות עלה על מספר ההצבעות, והקטין את הניקוד בריבוע היחס בין ההצבעות לתגובות. בפועל שיריף ראה אותו פועל ב-40 תגובות, והוא חושד שהחזקה היא 3. ההשפעה מיידית: פוסט במקום ה-5 צנח למקום ה-22 ברגע שהגיע ל-40 תגובות, ואחר נעלם לגמרי מ-60 המובילות.
מה זה אומר
העמוד הראשי אינו מריטוקרטיה טהורה של הצבעות: במקום הראשון נמצא לעתים קרובות מאמר שלא היה בעל הניקוד הגבוה ביותר, ורשימת הכתבות שנקנסו ביום אחד הייתה ארוכה מהצפוי. המאמר של שיריף עצמו נקנס ב-0.2 דקות אחרי שהגיע לעמוד הראשי; בלי הקנס, לדבריו, הוא היה מגיע למקום החמישי. מאוחר יותר נאמר לו שמזהה טבעות ההצבעה הופעל בטעות. המסקנה פשוטה: אם לכתבה יש יותר תגובות מהצבעות, תגובה נוספת עשויה לחסל אותה כליל.
SiTech — פיתוח אתרים בכוח ה-AI
אנחנו בונים אתרים מהירים ומודרניים ומשלבים AI בתהליכי עבודה אמיתיים. יש לכם פרויקט או שאלה? נשמח לעזור.