**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 היא **נוסחה שמטרתה להגדיר את חשיבותה של מילת מפתח או ביטוי בתוך מסמך או דף אינטרנט**.

### תדירות מונח

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

{\displaystyle \mathrm {tf} (t,d)={\frac {f\_{t,d}}{\sum \_{t'\in d}{f\_{t',d}}}}} ,
כאשר *f**t*,*d* היא *הספירה הגולמית* של מונח במסמך, כלומר, מספר הפעמים שמונח t מופיע במסמך d. המכנה הוא המספר הכולל של מונחים במסמך *d* (ספירת כל מופע של אותו מונח בנפרד). ישנן דרכים נוספות אחרות המגדירות נתון זה, אך האמורה לעיל היא העיקרית והבסיסית ביותר.

### תדירות מסמכים הופכית

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

{\displaystyle \mathrm {idf} (t,D)=\log {\frac {N}{|\{d\in D:t\in d\}|}}}
כאשר:

* {\displaystyle N}: המספר הכולל של מסמכים בקורפוס {\displaystyle N={|D|}}
* {\displaystyle |\{d\in D:t\in d\}|}: מספר המסמכים שבהם המונח {\displaystyle t} מופיע (כלומר, {\displaystyle \mathrm {tf} (t,d)\neq 0} ). אם המונח לא נמצא בקורפוס, הדבר יוביל לחלוקה באפס. לכן מקובל להתאים את המכנה ל {\displaystyle 1+|\{d\in D:t\in d\}|}.

### תדירות מונח – תדירות מסמכים הופכית (tf-idf)

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

{\displaystyle \mathrm {tfidf} (t,d,D)=\mathrm {tf} (t,d)\cdot \mathrm {idf} (t,D)}
משקל גבוה ב-tf–idf מגיע על ידי תדירות מונח גבוהה (במסמך הנתון) ותדירות מסמכים נמוכה של המונח בכל אוסף המסמכים; לכן המשקולות נוטות לסנן מונחים נפוצים. מכיוון שהיחס בתוך הפונקציה הלוגריתמית של תדירות המסמכים ההופכית תמיד גדול או שווה ל-1, הערך של תדירות המסמכים ההופכית (ובהתאמה של tf–idf) גדול או שווה ל-0. ככל שמונח מופיע במסמכים נוספים, היחס בתוך הלוגריתם מתקרב ל-1, ומקרב את ה-idf ואת tf–idf ל-0.

דוגמה
-----

מסמך 2| מונח | תדירות |
| --- | --- |
| this | 1 |
| is | 1 |
| another | 2 |
| example | 3 |

מסמך 1| מונח | תדירות |
| --- | --- |
| this | 1 |
| is | 1 |
| a | 2 |
| sample | 1 |

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

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

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

{\displaystyle \mathrm {tf} ({\mathsf {''this''}},d\_{1})={\frac {1}{5}}=0.2}
{\displaystyle \mathrm {tf} ({\mathsf {''this''}},d\_{2})={\frac {1}{7}}\approx 0.14}
idf הוא קבוע לכל קורפוס, ומהווה את היחס בין המסמכים הכוללים את המילה "this". במקרה זה, יש לנו קורפוס של שני מסמכים וכולם כוללים את המילה "this".

{\displaystyle \mathrm {idf} ({\mathsf {''this''}},D)=\log \left({\frac {2}{2}}\right)=0}
אז tf–idf הוא אפס עבור המילה "this", מה שמרמז שהמילה אינה אינפורמטיבית במיוחד מאחר שהיא מופיעה בכל המסמכים.

{\displaystyle \mathrm {tfidf} ({\mathsf {''this''}},d\_{1},D)=0.2\times 0=0}
{\displaystyle \mathrm {tfidf} ({\mathsf {''this''}},d\_{2},D)=0.14\times 0=0}
המילה "example" מעניינת יותר - היא מופיעה שלוש פעמים, אבל רק במסמך השני:

{\displaystyle \mathrm {tf} ({\mathsf {''example''}},d\_{1})={\frac {0}{5}}=0}
{\displaystyle \mathrm {tf} ({\mathsf {''example''}},d\_{2})={\frac {3}{7}}\approx 0.429}
{\displaystyle \mathrm {idf} ({\mathsf {''example''}},D)=\log \left({\frac {2}{1}}\right)=0.301}
ולבסוף,

{\displaystyle \mathrm {tfidf} ({\mathsf {''example''}},d\_{1},D)=\mathrm {tf} ({\mathsf {''example''}},d\_{1})\times \mathrm {idf} ({\mathsf {''example''}},D)=0\times 0.301=0}
{\displaystyle \mathrm {tfidf} ({\mathsf {''example''}},d\_{2},D)=\mathrm {tf} ({\mathsf {''example''}},d\_{2})\times \mathrm {idf} ({\mathsf {''example''}},D)=0.429\times 0.301\approx 0.129}

ראו גם
------

* כריית טקסט

הערות שוליים
------------

1. ↑  Rajaraman, A.; Ullman, J.D. (2011). "Data Mining" (PDF). *Mining of Massive Datasets*. pp. 1–17. doi:10.1017/CBO9781139058452.002. ISBN 978-1-139-05845-2.
2. ↑  Breitinger, Corinna; Gipp, Bela; Langer, Stefan (2015-07-26). "Research-paper recommender systems: a literature survey". *International Journal on Digital Libraries* (באנגלית). **17** (4): 305–338. doi:10.1007/s00799-015-0156-0. ISSN 1432-5012.
3. ↑  Spärck Jones, K. (1972). "A Statistical Interpretation of Term Specificity and Its Application in Retrieval". *Journal of Documentation*. **28**: 11–21. CiteSeerX 10.1.1.115.8343. doi:10.1108/eb026526.

| בינה מלאכותית |
| --- |
| כללי | מבחן טיורינג • היסטוריה של הבינה המלאכותית • ציר הזמן של בינה מלאכותית • התקדמות הבינה המלאכותית (אנ') • AI-שלמות מערכת מומחה • אסדרת בינה מלאכותית (אנ') • בינה מלאכותית צרה • בינה חישובית • הסברתיות בינה מלאכותית • הפרדוקס של מורבק • סוכן תבוני • אתיקה של בינה מלאכותית |  |
| תחומים | עיבוד שפה טבעית • ראייה ממוחשבת • בינה מלאכותית יוצרת • אומנות בינה מלאכותית |
| סוגי למידת מכונה | מערכת לומדת • למידה מונחית • למידה בלתי מונחית • למידה עמוקה • למידת חיזוק • סיווג בייסיאני נאיבי • רשת בייסיאנית |
| אלגוריתמי למידת מכונה קלאסית | פרספטרון • עץ החלטה • מכונת וקטורים תומכים • Bag of words • אלגוריתם k-מרכזים • אלגוריתם מיקסום התוחלת • הורדת ממד • אלגוריתם שכן קרוב • Q-learning •‏ T-SNE •‏ Tf–idf • חיזוק גרדיאנט |
| למידה עמוקה | רשת עצבית מלאכותית • רשת זרימה קדימה • רשת עצבית רקורסיבית • טרנספורמר • Attention •‏ GAN |
| עיבוד שפה טבעית | מודל שפה • שיכון מילים (אנ') • בלשנות חישובית • תרגום מכונה • חילוץ מידע (אנ') • ניתוח סנטימנט • זיהוי חלקי דיבר (אנ') • מערכת זיהוי דיבור • זיהוי ישויות • כריית טקסט • תיוג תפקידים סמנטי • Word2vec • מודל שפה גדול • GPT •‏ BERT (אנ') • מודל Bag-of-words (אנ') • יצירת טקסט בשפה טבעית (אנ') • מילת עצירה • ניתוח מחרוזות • Stemming (אנ') • למטיזציה (אנ') |
| יישומים לבינה מלאכותית (אנ') | צ'אטבוט • זיהוי דובר • זיהוי עצמים • זיהוי תבניות • עוזר וירטואלי • זיהוי תווים אופטי • מחולל תמונות (הזיות (אנ')) |
| מערכות בינה מלאכותית | אלייזה • ChatGPT •‏ DALL-E •‏ Midjourney •‏ Gemini •‏ Perplexity •‏ GitHub Copilot • דיפ־פייק • סירי • Google Assistant • אמזון אלכסה |
| סוגיות בטיחות בינה מלאכותית (אנ') | סכנה קיומית מבינה מלאכותית כללית • בינה מלאכותית חזקה • יישור בינה מלאכותית (אנ') • בקרת יכולות בינה מלאכותית (אנ') • השתלטות בינה מלאכותית (אנ') • בינה מלאכותית ידידותית (אנ') • התכנסות אינסטרומנטלית (אנ') • סינגולריות טכנולוגית |
| ספריות בשימוש נרחב | TensorFlow •‏ PyTorch •‏ Torch •‏ Hugging Face •‏ Keras •‏ spaCy (אנ') •‏ Caffe |
| לקטגוריית הבינה המלאכותית |