TF-IDF (від англ. TF — term frequency, IDF — inverse document frequency) — статистичний показник, що використовується для оцінки важливості слів у контексті документа, що є частиною колекції документів чи корпусу. Вага (значимість) слова пропорційна кількості вживань цього слова у документі, і обернено пропорційна частоті вживання слова у інших документах колекції.
Показник TF-IDF використовується в задачах аналізу текстів та інформаційного пошуку. Його можна застосовувати як один з критеріїв релевантності документа до пошукового запиту, а також при розрахунку міри спорідненості документів при кластеризації.
Найпростішу (функцію ранжування) можна визначити як суму TF-IDF кожного терміну в запиті. Більшість просунутих функцій ранжування ґрунтуються на цій простій моделі.
Формула
TF (term frequency — частота слова) — відношення числа входжень обраного слова до загальної кількості слів документа. Таким чином, оцінюється важливість слова в межах обраного документа. Термін був введений Карен Спарк Джонс.
,
де є число входжень слова в документ, а в знаменнику — загальна кількість слів в документі.
IDF (inverse document frequency — обернена частота документа) — інверсія частоти, з якою слово зустрічається в документах колекції. Використання IDF зменшує вагу широковживаних слів.
,
де
- |D| — кількість документів колекції;
— кількість документів, в яких зустрічається слово
(коли
).
Вибір основи логарифма у формулі не має значення, адже зміна основи призведе до зміни ваги кожного слова на постійний множник, тобто вагове співвідношення залишиться незмінним.
Іншими словами, показник TF-IDF це добуток двох множників: TF та IDF.
Більшу вагу TF-IDF отримають слова з високою частотою появи в межах документа та низькою частотою вживання в інших документах колекції.
Застосування в моделі векторного простору
Міра TF-IDF часто використовується для подання документів колекції у вигляді числових векторів, що відображають важливість використання кожного слова з деякого набору слів (кількість слів набору визначає розмірність вектора) в кожному документі. Подібна модель називається (векторною моделлю) і дає можливість порівнювати тексти, порівнюючи їх представляють вектора в певний метриці (евклідова відстань, (косинусна міра), (манхеттенська відстань), відстань Чебишова та інші), тобто виконувати кластерний аналіз.
Приклад
Формулу TF-IDF як правило застосовують до нормалізованих документів, в яких слова приведені до основи. Досягти такої форми дозволяють алгоритми (стемінгу).
Текст 1 | Текст 2 | Текст 3 | |
Початковий варіант | Дніпро — третя за довжиною й площею басейну річка Європи, має найдовше русло в межах України. Довжина Дніпра 2201 км. Дніпро — типова рівнинна річка з повільною й спокійною течією. | Вчора у Горішніх Плавнях з Дніпра рятувальники дістали тіло місцевого мешканця. Як повідомили в управлінні з питань надзвичайних ситуацій, чоловік зник безвісти ще у лютому. | Продається будинок поблизу річки Ятрань (Черкаська область): сад з городом, колодязь, асфальтоване подвір'я, гараж, господарське приміщення. Біля будинку знаходиться водна свердловина. |
Після стемінгу | дніпр трет за довжин й площ басейн річк європ має найдовш русл в меж україн довжин дніпр 2201 км дніпр типов рівнин річк з повільн й спокійн течі | вчора у горішн плавн з дніпр рятувальн діста тіл місцев мешканц як повідом в управлін з питан надзвичайн ситуаці чолові зник безвіст ще у лют | прода будин поблиз річк ятран черкас облас сад з город колодяз асфальт подвір гараж господарс приміщен біля будин знаход вод свердловин |
К-ть слів в документі | 28 | 24 | 21 |
Слова, що зустрічаються 3 рази | дніпр; TF = 3/28 = 0,1071 | x | x |
Слова, що зустрічаються 2 рази | й, річк; TF = 2/28 = 0,0714 | з, у; TF = 2/24 = 0,0833 | будин; TF = 2/21 = 0,0952 |
Слова, що зустрічаються 1 раз | TF = 1/28 = 0,0357 | TF = 1/24 = 0,0417 | TF = 1/21 = 0,0476 |
Тепер спробуємо визначити значення IDF для найпоширеніших слів:
Слово | К-ть текстів, що містять слово | IDF |
з | 3 | log(3/3) = 0 |
Дніпро | 2 | log(3/2) = 0,1761 |
Річка | 2 | log(3/2) = 0,1761 |
Будинок | 1 | log(3/1) = 0,4771 |
Залишається лише визначити TF-IDF для поширених слів у розрізі документів:
TF-IDF | Текст 1 | Текст 2 | Текст 3 |
Будинок | x | x | 0,0952 * 0,4771 = 0,0454 |
Дніпро | 0,1071 * 0,1761 = 0,0189 | 0,0417 * 0,1761 = 0,0073 | х |
з | 0,0357 * 0 = 0 | 0,0833 * 0 = 0 | 0,0476 * 0 = 0 |
Річка | 0,0714 * 0,1761 = 0,0126 | х | 0,0476 * 0,1761 = 0,0084 |
З цього прикладу можна зробити такі висновки:
- Слову «Дніпро» найбільше відповідає текст 1, хоча у тексті 2 воно теж фігурує;
- Слову «Будинок» відповідає лише текст 3;
- Слово «Річка» має відношення до 1 та 3 тексту, але 1 співвідноситься точніше. Цікаво, що у тексті 2 теж згадується річка, але за назвою, тому розрахунок TF-IDF цього не помічає;
- Прийменник «з» присутній у кожному документі колекції, а тому незважаючи на значення TF має найнижчі показники TF-IDF.
Див. також
- Вкладання слів
- (Розходження Кульбака — Лейблера)
- (Латентно-семантичний аналіз)
- (Взаємна інформація)
- PageRank
- (Векторна модель)
Примітки
Література
- Jones K. S. A statistical interpretation of term specificity and its application in retrieval // Journal of Documentation : журнал. — MCB University : MCB University Press, 2004. — Т. 60, № 5. — С. 493-502.
Вікіпедія, Українська, Україна, книга, книги, бібліотека, стаття, читати, завантажити, безкоштовно, безкоштовно завантажити, mp3, відео, mp4, 3gp, jpg, jpeg, gif, png, малюнок, музика, пісня, фільм, книга, гра, ігри, мобільний, телефон, android, ios, apple, мобільний телефон, samsung, iphone, xiomi, xiaomi, redmi, honor, oppo, nokia, sonya, mi, ПК, web, Інтернет