📜
Нейронные сети и обработка текста
  • Содержание курса
  • Введение
    • Естественный язык и текст
    • Особенности обработки естественных языков
    • Лингвистический анализ
    • Извлечение признаков
    • Прикладные задачи обработки текста
  • Векторная модель текста и классификация длинных текстов
    • Векторная модель текста и TF-IDF
    • Создаём нейросеть для работы с текстом
    • Теоретические задачи: Векторная модель текста
    • Семинар: классификация новостных текстов
  • Базовые нейросетевые методы работы с текстами
    • Общий алгоритм работы с текстами с помощью нейросетей
    • Дистрибутивная семантика и векторные представления слов
    • Семинар: рецепты еды и Word2Vec на PyTorch
    • Теоретические вопросы: Дистрибутивная семантика
    • Основные виды нейросетевых моделей для обработки текстов
    • Свёрточные нейросети для обработки текстов
    • Семинар: POS-тэггинг свёрточными нейросетями
    • Теоретические вопросы: Свёрточные нейросети в обработке текстов
  • Языковые модели и генерация текста
    • Untitled
  • Преобразование последовательностей
    • Untitled
  • Transfer learning, адаптация моделей
    • Untitled
  • Финальное соревнование на kaggle и заключение
    • Untitled
Powered by GitBook
On this page
  • Метод мешка слов
  • Баланс частотности и информативности
  • Алгоритм взвешивания признаков по TF-IDF

Was this helpful?

  1. Векторная модель текста и классификация длинных текстов

Векторная модель текста и TF-IDF

PreviousПрикладные задачи обработки текстаNextСоздаём нейросеть для работы с текстом

Last updated 5 years ago

Was this helpful?

Почему для задачи тематической классификации предлоги, союзы и местоимения практически бесполезны?

Пусть в некотором языке есть N=3N=3N=3 слова - А, Б и В. Их ранги - 1, 2 и 3 (нумерация рангов начинается с 1). Найдите вероятности встретить каждое из этих слов в тексте при условии, что относительные частоты слов распределены по Ципфу с s=2s = 2s=2.

Представьте ответ в форме трёх чисел P(А)P(Б)P(В)P(А) P(Б) P(В)P(А)P(Б)P(В), разделённых пробелом, с точкой . в качестве десятичного разделителя, например, 0.1 0.2 0.3. Ответ округлите до не менее чем двух знаков после запятой.

Отметьте верные утверждения про TF-IDF и закон Ципфа.

Под значимостью в вариантах ответа понимается потенциальная полезность для задач тематической классификации - баланс частотности и специфичности.

Метод мешка слов

В разреженных векторных моделях словам даётся вес.

В самом простом случае вес = кол-во употреблений слова в документе.

  • Вес слова зависит от длины текста

  • Предлоги и союзы — самые "значимые" слова

Вес = кол-во употреблений слова в документе, делённое на длину документа

nwi=wi∑jwj2nw_i = \frac {w_i} { \sqrt { \sum_j w_j^2 } }nwi​=∑j​wj2​​wi​​
  • Предлоги и союзы — самые "значимые" слова

Если отсортировать слова по убыванию частоты их употребления, получим следующий график:

Плотность распределения Ципфа:

f(rank;s,N)=1Z(s,N)ranksf(rank; s, N) = \frac {1} {Z(s, N) rank^s} f(rank;s,N)=Z(s,N)ranks1​

rankrankrank — порядковый номер слова после сортировки по убыванию частоты,

sss — коэффициент скорости убывания вероятности,

NNN — количество слов,

Z(s,N)=∑i=1Ni−sZ(s, N) = \sum^N_{i=1}i^{-s}Z(s,N)=∑i=1N​i−s — нормализационная константа

  • Частотных слов мало и они неинормативны

  • Редких слов много, они информативны, но на них сложно опираться

Баланс частотности и информативности

  • Чаще встречается в документе - более характерен для этого документа

  • Реже встречается в корпусе - более информативен

TFTFTF — term frequency — значимость слова в рамках документа:

TF(w,d)=WordCount(w,d)Length(d)TF(w, d) = \frac {WordCount(w, d)} {Length(d)}TF(w,d)=Length(d)WordCount(w,d)​

где WordCount(w,d)WordCount(w, d) WordCount(w,d) — кол-во употреблений слова www в документе ddd, Length(d)Length(d)Length(d) — длина документа d в словах.

IDFIDFIDF — inverse document frequency — специфичность слова:

IDF(w,c)=Size(c)DocCount(w,c)IDF(w, c) = \frac {Size(c)} {DocCount(w, c)}IDF(w,c)=DocCount(w,c)Size(c)​

где DocCount(w,c)DocCount(w, c)DocCount(w,c) — кол-во документов в коллекции ccc, в которых встречается слово www, а Size(c)Size(c)Size(c) — размер коллекции в документах.

Алгоритм взвешивания признаков по TF-IDF

  1. Применить нормализацию текста (стемминг или лемматизацию), выделить базовые элементы

  2. Построить частотный словарь DocCount(w,c)DocCount(w, c)DocCount(w,c)для всех www

  3. Проредить слова по частоте

  4. Для каждого документа ddd:

    1. Для каждого слова www из документа www найти WordCount(w,d)WordCount(w, d)WordCount(w,d)

      • Записать результирующий вектор в позицию www значение TF−IDF(w,d,c)=TF(w,d)IDF(w,c)TF-IDF(w, d, c) = TF(w, d)IDF(w,c)TF−IDF(w,d,c)=TF(w,d)IDF(w,c)

    2. Записать вектор документа в таблицу признаков документов коллекции