Модель TF*IDF
Некоторые слова могут встречаться почти во всех документах некоторой коллекции и, соответственно, оказывать малое влияние на принадлежность документа к той или иной категории, а значит не быть ключевыми для этого документа. Для понижения значимости слов, которые встречаются почти во всех документах, вводят инверсную частоту термина IDF (inverse document frequency) — это логарифм отношения числа всех документов D к числу документов d, содержащих некоторое слово.
Значение этого параметра тем меньше, чем чаще слово
встречается в документах коллекции. Таким образом, для слов, которые встречаются в большом числе документов, IDF будет близок к нулю (если слово встречается во всех документах IDF равен нулю), что помогает выделить важные слова.
Параметр TF (term frequency) — это отношение числа раз которое некоторое слово встретилось в документе, к общему числу слов в документе п. Нормализация длиной документа нужна для того, чтобы уравнять в правах короткие и длинные документы.
Коэффициент TF*IDF равен произведению TF и IDF, при этом TF играет роль повышающего множителя, IDF— понижающего. Тогда весовыми параметрами векторной модели некоторого документа можно принять коэффициенты TF*1DF входящих в него слов. Для того чтобы веса находились в интервале (0, 1), а векторы документов имели равную длину, значения TF*IDF обычно нормализуются.
Отметим, что эта формула оценивает значимость термина только с точки зрения частоты вхождения в документ, тем самым не учитывая порядок следования терминов в документе и их синтаксическую роль; другими словами, семантика документа сводится к лексической семантике входящих в него терминов, а композиционная семантика не рассматривается.
Ключевыми в данном случае будут являться слова набравший наибольший вес. Слова с малым весом, вообще можно не учитывать при классификации.
Проиллюстрируем на простом примере.
Пусть коллекция состоит из 3 документов.
- 1. Мама мыла мылом Машу.
- 2. Мама мыла, мыла раму.
- 3. В магазине купила мама мыло.
Вид словаря тогда будет следующим:
Слово |
Всего |
Встретилось в документах (d) IDF |
|
Мама |
3 |
3 |
0 |
мыть |
3 |
2 |
0,18 |
мыло |
2 |
2 |
0,18 |
Маша |
1 |
> 1 |
0,47 |
рама |
1 |
> 1 |
0,47 |
магазин |
1 |
0,47 |
|
купить |
1 |
> 1 |
0,47 |
Вид векторов:
1 документ |
2 документ |
3 документ |
||||||
Слово |
TF |
TF*IDF |
Слово |
TF |
TF*IDF |
Слово |
TF*IDF |
|
Маша |
0,25 |
0,12 |
рама |
0,25 |
0,11 |
магазин |
0,25 |
0,12 |
мыло |
0,25 |
0,05 |
мыть |
0,5 |
0,09 |
купить |
0,25 |
0,12 |
мыть |
0,25 |
0,05 |
мама |
0,25 |
0 |
мыло |
0,25 |
0,05 |
мама |
0,25 |
0 |
мама |
0,25 |
0 |
Влияние Т77 видно во втором векторе. Так как слово «мыть» встреча-
49
ется 2 раза, он выше, чем у остальных слов. Однако из-за того, что это слово встречается и в других документах, у него ниже параметр IDF, поэтому его общий вес в векторе будет ниже, чем у слова «рама». Так влияет параметр IDF.
Слово «мама» же вообще можно не учитывать в векторном представлении. Так как оно встречается во всех предложениях коллекции, его значение TF*IDF всегда будет равно нулю.
Заметим, что все слова примера мы приводим к нормальной форме (лемматизируем).
Однако у метода TF*1DF есть существенный недостаток: при построении вектора не учитывается порядок слов, контекст, то есть важная семантическая составляющая текста.
Таким образом, данную коллекцию документов можно описать матрицей частот
Номер Номер доку- слова мента |
|
|
|
|
|
|
1 |
0,05 |
0,05 |
0,12 |
|||
2 |
0,09 |
0,11 |
||||
3 |
0,05 |
0,12 |
0,12 |
Дальше обычно частоты нормируются так, чтобы сумма квадратов по строке (т. е. по документу) равнялась единице. Тогда окончательно получаем представление документов в виде векторов: