Tf–idf

tf–idf, קיצור של term frequency–inverse document frequency, בעברית: תדירות מונח (tf) - תדירות מסמכים הופכית (idf), הוא מונח מתחום למידת המכונה, שמשמעותו נתון מספרי שנועד לשקף כמה חשובה מילה למסמך המצוי באוסף מסמכים או בקורפוס (מקור המכיל סטים גדולים ומאורגנים של טקסט). הנתון משמש לעיתים קרובות בתחומי אחזור מידע, כריית טקסט ומידול משתמשים.

ערך ה-tf–idf גדל באופן יחסי במספר הפעמים שמילה מופיעה במסמך, ומתקזז במספר המסמכים בקורפוס המכילים את המילה, מה שעוזר להתאים את העובדה שמילים מסוימות מופיעות בתדירות גבוהה יותר באופן כללי. כך למשל, המילה "לא" צפויה להופיע פעמים רבות במסמך, אך חשיבותה נמוכה מאחר שהיא מצויה בתדירות גבוהה בכלל המסמכים. לעומת זאת, כאשר מילה כמו "גנרטור" מופיעה פעמים רבות במסמך, היא ככל הנראה בעלת חשיבות גבוהה במסמך, בין היתר מאחר שתדירותה בטקסטים באופן כללי אינה במיוחד גבוהה.

סקר שנערך בשנת 2015 הראה כי 83% ממערכות ממליצים מבוססות טקסט בספריות דיגיטליות משתמשות ב-tf–idf.

גרסאות של tf–idf משמשות לעיתים קרובות על ידי מנועי חיפוש ככלי מרכזי בניקוד ובדירוג הרלוונטיות של מסמך בהינתן שאילתת משתמש (כמה המסמך רלוונטי לבקשה שהמשתמש הזין במנוע החיפוש, למשל בשורת החיפוש בגוגל). שימושים מרכזיים נוספים ל-tf–idf הם סינון מילות עצירה, סיכום טקסטים וסיווג מסמכים (קלסיפיקציה).

הסבר

תדירות מונח (tf - term frequency) 
נניח שיש לנו קבוצה של מסמכי טקסט בעברית, וברצוננו לדרג אותם לפי רלוונטיות לשאילתא "אבטיח ללא גרעינים". דרך פשוטה להתחיל היא על ידי ביטול מסמכים שאינם מכילים את כל שלושת המילים "אבטיח", "ללא" ו-"גרעינים", אך עדיין ייוותרו בידינו מסמכים רבים. כדי להבדיל ביניהם, נרצה לספור את מספר הפעמים שכל מונח מופיע בכל מסמך, ונתון זה נקרא תדירות המונח (term frequency). עם זאת, כאשר אנו ניצבים בפני מסמכים בעלי אורך שונה, נרצה למדוד תדירות זו באחוזים מכלל המילים במסמך, ולא בנתון מספרי יבש.

תדירות מסמכים הופכית (idf - Inverse document frequency) 
מכיוון שהמונח "ללא" נפוץ כל כך, תדירות המונחים כפי שתוארה לעיל, עלולה להדגיש באופן שגוי מסמכים שבמקרה משתמשים במילה "ללא" לעיתים קרובות יותר, מבלי לתת מספיק משקל למונחים המשמעותיים יותר "אבטיח" ו"גרעינים". המונח "ללא" אינו מילת מפתח טובה להבחין בין מסמכים ומונחים רלוונטיים ולא רלוונטיים, בניגוד למילים הפחות נפוצות "אבטיח" ו"גרעינים". לפיכך, יש לשלב את גורם תדירות מסמכים הופכית (Inverse document frequency) אשר מקטין את משקלם של מונחים המופיעים בתדירות גבוהה מאוד במסמכים שברשותנו, ומגדיל את משקלם של מונחים המופיעים לעיתים רחוקות.

השימוש במילה "הופכית" מתייחס לכך שחשיבות המילה היא הופכית למספר המסמכים בהם המילה מופיעה.

הן tf והן idf למעשה מהווים גורמי משקל לחשיבות מונח מסוים. tf גבוה מעלה את משקל החשיבות של המונח, ו-idf גבוה מקטין את משקל החשיבות.

הגדרות וחישובים מתמטיים 
הגדרת ה-tf–idf היא שילוב של שני הסטטיסטים שצוינו לעיל, תדירות מונחים ותדירות מסמכים-הופכית. ישנן דרכים שונות לקביעת הערכים המדויקים של הסטטיסטים האמורים. הגדרה נוספת ל-tf-idf היא נוסחה שמטרתה להגדיר את חשיבותה של מילת מפתח או ביטוי בתוך מסמך או דף אינטרנט.

תדירות מונח 
תדירות מונח, היא התדירות היחסית של מונח  בתוך מסמך :

  ,

כאשר  היא הספירה הגולמית של מונח במסמך, כלומר, מספר הפעמים שמונח  מופיע במסמך . המכנה הוא המספר הכולל של מונחים במסמך  (ספירת כל מופע של אותו מונח בנפרד). ישנן דרכים נוספות אחרות המגדירות נתון זה, אך האמורה לעיל היא העיקרית והבסיסית ביותר.

תדירות מסמכים הופכית 
תדירות מסמכים הופכית היא מדד לכמות המידע שהמילה מספקת, כלומר אם היא נפוצה או נדירה בכל המסמכים. המדד הוא השבר ההפוך בקנה מידה לוגריתמי של המסמכים שמכיל את המילה, ומושג על ידי חלוקת המספר הכולל של המסמכים (למשל, המספר 3 בקורפוס שמונה שלושה מסמכים בלבד) במספר המסמכים המכילים את המונח, ולאחר מכן לקיחת הלוגריתם של אותה מנה:

 

כאשר:
 : המספר הכולל של מסמכים בקורפוס 
 : מספר המסמכים שבהם המונח  מופיע (כלומר,  ). אם המונח לא נמצא בקורפוס, הדבר יוביל לחלוקה באפס. לכן מקובל להתאים את המכנה ל .

תדירות מונח – תדירות מסמכים הופכית (tf-idf) 
לאחר שחישבנו כל גורם בנפרד, השילוב של השניים, tf–idf מחושב כ:

 

משקל גבוה ב-tf–idf מגיע על ידי תדירות מונח גבוהה (במסמך הנתון) ותדירות מסמכים נמוכה של המונח בכל אוסף המסמכים; לכן המשקולות נוטות לסנן מונחים נפוצים. מכיוון שהיחס בתוך הפונקציה הלוגריתמית של תדירות המסמכים ההופכית תמיד גדול או שווה ל-1, הערך של תדירות המסמכים ההופכית (ובהתאמה של tf–idf) גדול או שווה ל-0. ככל שמונח מופיע במסמכים נוספים, היחס בתוך הלוגריתם מתקרב ל-1, ומקרב את ה-idf ואת tf–idf ל-0.

דוגמה 

נניח שיש לנו טבלאות ספירת מונחים של קורפוס המורכב משני מסמכים בלבד, כפי שהם מופיעים בטבלאות המוצגות בצד שמאל.

החישוב של tf–idf עבור המונח "this" מתבצעת באופן הבא:

בצורתו הגולמית, tf הוא רק התדירות של "this" עבור כל מסמך. בכל מסמך מופיעה המילה "this" פעם אחת; אבל ככל שלמסמך 2 יש יותר מילים (יש לשים לב שמילים מסוימות נספרות פעמיים), התדירות היחסית של אותו מונח קטנה יותר.

 
 

idf הוא קבוע לכל קורפוס, ומהווה את היחס בין המסמכים הכוללים את המילה "this". במקרה זה, יש לנו קורפוס של שני מסמכים וכולם כוללים את המילה "this".

 

אז tf–idf הוא אפס עבור המילה "this", מה שמרמז שהמילה אינה אינפורמטיבית במיוחד מאחר שהיא מופיעה בכל המסמכים.

 
 

המילה "example" מעניינת יותר - היא מופיעה שלוש פעמים, אבל רק במסמך השני:

 
 
 

ולבסוף,

ראו גם 
 כריית טקסט

הערות שוליים 

למידת מכונה