Закажи экспресс-аудит своего дела онлайн всего за 199 ₽
и получи рекомендации по улучшению - Жми сюда !

От TF-IDF к трансформерам: реализация четырех поколений семантического поиска

Поиск на основе правил, классическое машинное обучение, эмбеддинги и тонко настроенные трансформеры в Python

Делиться

1d683f54ab9d2414fb2312d8fa3bd4fa
Изображение создано Теофано Митса с помощью ChatGPT.

«Красота спасёт мир» — Фёдор Достоевский

А. Введение

Семантический поиск не появился в одночасье. Сегодняшние системы, основанные на трансформерах, могут казаться почти волшебными, способными улавливать контекст и даже тонкие взаимосвязи между идеями. Но на самом деле истоки современных систем семантического поиска были постепенными. До появления эмбеддингов, трансформеров и больших языковых моделей исследователи использовали сопоставление ключевых слов, векторы TF–IDF и традиционные методы машинного обучения для анализа текста.

Многие из этих ранних идей так и не исчезли окончательно. На самом деле, современные системы до сих пор строятся на концепциях, разработанных десятилетия назад. Эта область развивалась слой за слоем, каждое поколение решало одни проблемы, одновременно выявляя новые.

Важно понимать, что эволюция имеет большое значение. В машинном обучении, как и в науке в целом, знание нашего прошлого часто помогает нам понять, куда мы движемся. История семантического поиска — это также история важного сдвига в самом искусственном интеллекте: от прозрачных, разработанных человеком систем к все более интеллектуальным моделям, чьи внутренние рассуждения гораздо сложнее интерпретировать. Таким образом, мы переходим от явных правил поиска и вручную разработанных признаков к системам, способным изучать абстрактные представления смысла непосредственно из данных.

В этой статье мы рассмотрим эту последовательность на конкретном примере: сравним рецензию студента на произведение искусства с рецензиями экспертов на ту же картину. Вместо того чтобы сразу переходить к встраиванию данных и трансформерам, мы построим последовательность все более сложных систем поиска, изучив как их сильные стороны, так и ограничения.

Мы рассмотрим четыре основных этапа в эволюции семантического поиска:

  • Метод 1 — Функции поиска, созданные вручную + TF–IDF
    Прозрачная система ранжирования, сочетающая косинусное сходство TF–IDF с интерпретируемыми признаками, такими как совпадение ключевых слов, нормализация длины критических замечаний и взвешивание по давности публикации.
  • Метод 2 — Классическое машинное обучение для семантического ранжирования
    Использование векторов признаков TF–IDF в сочетании с моделями контролируемого обучения, такими как логистическая регрессия, для изучения поведения ранжирования на основе размеченных примеров.
  • Метод 3 — Семантический поиск на основе встраивания
    Замена разреженных лексических представлений плотными семантическими векторными представлениями, сгенерированными с помощью Sentence Transformers.
  • Метод 4 — Тонкая настройка трансформатора
    Тонкая настройка предварительно обученных архитектур трансформеров, таких как BERT, для непосредственного моделирования семантических связей между критическими замечаниями.

На рисунке 1 ниже показана эволюция методов семантического поиска.

ebd9ea87fd3053d67848d08c6f757e26
Рисунок 1. Эволюция методов семантического поиска.

В итоге мы создадим все более совершенные конвейеры семантического поиска. Кроме того, мы получим представление о том, как развивалась сама область исследований, то есть от систем, в значительной степени основанных на разработанных человеком признаках, до моделей, которые изучают смысл непосредственно из данных.

Б. Данные

Чтобы сосредоточиться на семантическом поиске, а не на разработке наборов данных, мы будем использовать небольшой синтетический набор данных, содержащий рецензии на произведения искусства. Этот набор данных был специально разработан для имитации реалистичных различий в лексике, стиле письма, интерпретации и глубине анализа среди критиков, обсуждающих одну и ту же картину.

Каждый отзыв содержит как метаданные, так и текст в свободной форме. Наша задача в данной статье — сравнить отзыв нового студента с отзывами экспертов на ту же картину и определить семантическое сходство, используя постепенно усложняющиеся методы поиска.

Структура каждой рецензии представлена с помощью простого класса данных Python:

 @dataclass class Critique: critique_id: str painting_id: str critic_name: str title: str text: str published_at: datetime

В приведенном выше текстовом поле содержится основная информация для анализа, используемая для семантического анализа, а такие поля, как painting_id, critic_name и published_at, предоставляют метаданные, которые могут использоваться для фильтрации, группировки или ранжирования в экспериментах.

Типичный критический отзыв может выглядеть так:

 Critique( critique_id="c102", painting_id="starry_night", critic_name="Dr. Elaine Foster", title="Emotion Through Motion", text=""" Van Gogh transforms the night sky into a structure that seems alive. The swirling brushstrokes generate tension on the soul while the exaggerated brightness of the stars creates a dreamlike atmosphere. """, published_at=datetime(2021, 5, 12) )

Несмотря на то, что набор данных является синтетическим, он достаточно богат, чтобы продемонстрировать основные идеи, лежащие в основе систем семантического поиска — от простого сходства на основе ключевых слов до трансформерных представлений смысла.

Обратите внимание, что код для всех четырех методов доступен на Github. Точный путь к нему указан в конце статьи.

C. Методы

C.1 Метод 1 — Поиск на основе правил и ранжирование TF–IDF

Начнем с одного из наиболее классических и поддающихся интерпретации подходов к семантическому поиску: сочетание ранжирования TF–IDF с небольшим набором вручную разработанных признаков поиска. Хотя этот подход прост по сравнению с современными системами глубокого обучения, он отражает многие основные идеи, лежащие в основе поиска документов и оценки сходства. На данном этапе система не «понимает» язык по-настоящему. Вместо этого она выявляет закономерности в употреблении слов и сочетает их с эвристиками оценки, разработанными вручную.

В основе метода лежит TF–IDF (частота терминов – обратная частота документов), классический метод преобразования текста в числовые векторы. TF–IDF повышает значимость слов, которые часто встречаются в документе, но остаются относительно редкими в более обширной коллекции. Такие распространенные слова, как «the» или «painting», получают очень небольшой вес, в то время как более характерные термины, такие как «композиция», «контраст» или «символизм», становятся более влиятельными.

После применения векторизатора TF–IDF к экспертным отзывам система создает разреженную матрицу «документ-терм», которая хранится в self.matrix. Каждая строка соответствует отзыву, каждый столбец соответствует изученному термину или фразе, а числовые значения представляют собой веса TF–IDF.

После векторизации критических замечаний для измерения сходства документов можно использовать косинусное сходство. Косинусное сходство измеряет угол между двумя векторами в многомерном пространстве. Когда два критических замечания используют схожую лексику в схожих пропорциях, они создают векторы, направленные в схожие стороны, и, следовательно, получают более высокие оценки сходства.

Однако на практике одной лишь схожести TF–IDF часто недостаточно. Две рецензии могут описывать схожие художественные идеи совершенно разными словами, в то время как другие могут казаться искусственно похожими просто потому, что используют общую техническую терминологию. Для повышения качества поиска мы объединяем схожесть TF–IDF с несколькими дополнительными эвристическими признаками.

Эвристическая система оценки включает в себя:

  • Перекрытие ключевых слов — показатель, отражающий количество общих важных слов в разных рецензиях.
  • Нормализация длины — поощряет критические работы, содержащие содержательные описания, не отдавая предпочтение чрезмерно длинным текстам.
  • Метод взвешивания по новизне — мягко отдает предпочтение более новым критическим работам, используя экспоненциальное временное затухание.

Итоговый рейтинговый балл вычисляется следующим образом:

score=1.2∗tfidf_similarity+0.6∗keyword_overlap+0.2∗length_norm+0.15∗recencyscore=1.2*tfidf_similarity+0.6*keyword_overlap+0.2*length_norm+0.15*recency (Уравнение 1)

Значения каждого параметра намеренно ограничены диапазоном от 0 до 1. Мы по-прежнему применяем обрезку в качестве простой проверки безопасности:

 np.clip(value, 0.0, 1.0)

В нашем случае обрезка работает хорошо, потому что характеристики уже имеют естественные границы. Однако в более крупных производственных системах для характеристик с более широкими числовыми диапазонами, таких как статистика популярности или количество цитирований, обычно требуется нормализация.

Функция нормализации длины поощряет критические замечания, содержащие достаточно подробное описание. Если целевая длина составляет 250 слов, оценка будет следующей:

length_norm=min⁡(word_count250,1)length_norm = minleft(frac{word_count}{250}, 1right) (Уравнение 2)

Например, рецензия объемом 125 слов получает оценку 0,5. Рецензии объемом 250 слов и более получают максимальную оценку 1,0.

Функция отображения новых отзывов отдает предпочтение более свежим рецензиям, но при этом позволяет сохранять актуальность и более старых обзоров:

актуальность = 0,5(возраст_дней/половина_дней_жизни) актуальность = 0,5^{left(frac{возраст_дней/половина_дней_жизни}right)} (Уравнение 3)

Исходя из периода полураспада, составляющего приблизительно 10 лет:

  • Рецензия, написанная сегодня, получает оценку, близкую к 1,0.
  • Рецензия, написанная 10 лет назад, получает примерно 0,5 балла.
  • Рецензия, написанная 20 лет назад, получает примерно 0,25 балла.

Это создает плавное ощущение «новости», аналогичное стратегиям, исторически используемым в поисковых системах и системах рекомендаций.

Одно из главных преимуществ этого подхода — это интерпретируемость. Каждый этап процесса ранжирования виден и понятен. Мы можем точно определить, почему одна рецензия заняла более высокое место, чем другая, просто изучив вклад каждой характеристики.

Для проверки метода мы создаём небольшой синтетический набор данных экспертных отзывов, обсуждающих одну и ту же картину. Затем мы отправляем новый отзыв студента и просим систему найти наиболее похожие экспертные анализы. Новый отзыв студента выглядит следующим образом:

 student_critique_text = """ The painting creates a quiet emotional atmosphere, yet very powerful. The soft light and restrained color palette make the central figure feel isolated yet dignified. The background does not compete with the subject; instead, it deepens the mood of reflection and stillness. Overall, the work feels intimate, psychological, and carefully composed. """

В конце программа вычисляет показатель сходства между отзывами студентов и отзывами экспертов, как показано в таблице 1 ниже.

НАЗВАНИЕ КРИТИКИ ИМЯ ЭКСПЕРТА СЧЕТ
Свет и тишина Эксперт А 0,531
Психологический интерьер Эксперт Д 0,297
Повествование и жест Эксперт Е 0,224
Цвет и поверхность Эксперт Б 0,212
Исторический символизм Эксперт С 0,096
Таблица 1. Рейтинг экспертных оценок в соответствии с показателем их сходства со студенческой оценкой.

Рейтинг вполне логичен. В студенческих отзывах акцент делался на мягком освещении, сдержанности эмоций и психологической атмосфере. Эти темы во многом совпадают с терминологией, использованной в двух экспертных отзывах, озаглавленных соответственно «Свет и тишина» и «Психологический интерьер». Отзывы, сосредоточенные в основном на символизме, технике письма или исторической интерпретации, получили более низкие оценки, поскольку имели меньше лексических и эвристических сходств.

В то же время уже становятся очевидными ограничения метода TF–IDF. Этот метод в основном улавливает поверхностные лексические закономерности, а не более глубокий семантический смысл. Например, такие фразы, как «драматическое использование света» и «сильные эффекты светотени», могут относиться к очень похожим художественным идеям, имея при этом лишь несколько общих слов. Классические системы поиска часто испытывают трудности в таких ситуациях, поскольку они в значительной степени зависят от лексического совпадения.

Эти ограничения стимулируют следующий этап в эволюции семантического поиска: модели машинного обучения, которые изучают поведение ранжирования непосредственно на основе данных, а не полагаются в основном на правила оценки, разработанные вручную.

C.2 Метод 2 — Классическое машинное обучение с использованием признаков TF-IDF

Следующий эволюционный шаг в семантическом поиске заменяет правила оценки, разработанные вручную, контролируемым машинным обучением. Вместо того чтобы явно определять, какое значение придавать сходству TF-IDF, совпадению ключевых слов или другим эвристическим признакам, мы позволяем модели изучать полезные закономерности непосредственно на основе размеченных примеров.

Для этого метода мы используем другой набор рецензий на картины, отличающийся от того, что был представлен в предыдущем методе. В этом наборе данных некоторые рецензии помечены как «экспертные», а другие — как анализы более начального или любительского уровня. Вместо ранжирования рецензий по сходству, цель здесь состоит в том, чтобы обучить классификатор, который может предсказать, похожа ли рецензия на экспертный анализ.

Как и прежде, первым делом мы используем векторизацию TF-IDF. Каждая критика преобразуется в многомерный числовой вектор, значения которого представляют важность слов и фраз в коллекции документов. Однако вместо прямого сравнения векторов с использованием косинусного сходства, мы передаем эти признаки TF-IDF в модель контролируемого обучения, такую как логистическая регрессия.

Логистическая регрессия — один из классических методов машинного обучения для классификации. Вместо использования правил, разработанных вручную, модель изучает закономерности непосредственно на примерах. Она определяет, какие слова и стили письма чаще встречаются в отзывах экспертов, а затем использует эти закономерности для автоматической оценки новых отзывов. Это важное изменение, поскольку система теперь обучается на основе данных, а не полагается на правила, созданные вручную.

Приведённый фрагмент кода демонстрирует конвейер обработки данных, состоящий из TfIdfVectorizer и логистической регрессии.

 model = Pipeline([ ("tfidf", TfidfVectorizer( ngram_range=(1, 2), lowercase=True, min_df=1, stop_words="english" )), ("classifier", LogisticRegression()) ])

После обучения модель может проанализировать новый отзыв студента и выдать два результата:

  • прогнозируемая метка класса
  • Вероятностный показатель, указывающий на то, насколько вероятно, что критика будет соответствовать мнению эксперта.

Вероятность, близкая к 1, указывает на сильное сходство с экспертными отзывами, тогда как вероятность, близкая к 0, предполагает более начальный уровень написания. По умолчанию вероятности, равные или превышающие 0,5, присваивается метка 1 («подобно эксперту»), а вероятности ниже 0,5 — метка 0. Наш новый отзыв получил метку 1 и имел вероятность 0,672.

Одним из наиболее интересных аспектов логистической регрессии является интерпретируемость. Поскольку модель обучается числовым коэффициентам для каждой характеристики TF-IDF, мы можем напрямую исследовать, какие слова и фразы влияют на решения о классификации.

В этом эксперименте классификатор присвоил более высокие веса таким терминам, как «расположение», «эмоциональный», «глубина», «психологический», «интенсивность» и «тень». При чтении самих рецензий этот результат кажется вполне логичным, поскольку эти выражения обычно встречаются в рецензиях экспертов, которые более подробно обсуждают структуру, символизм, интерпретацию или пространственную организацию. Для сравнения, фразы типа «красивый», «ищу художника» и «думаю» получили меньшие веса. Эти фразы чаще встречаются в рецензиях новичков, которые фокусируются на общих впечатлениях, а не на детальном анализе. После обучения мы можем изучить полученные коэффициенты и увидеть, какие слова повлияли на прогнозы.

ОСОБЕННОСТЬ КОЭФФИЦИЕНТ ЛОГИСТИЧЕСКОЙ РЕГРЕССИИ
эмоциональный 0.150719
размещение 0.148277
глубина 0.146912
контраст 0.146912

В то же время, следует проявлять осторожность и не преувеличивать то, что делает модель. Модель на самом деле не интерпретирует произведение искусства и не оценивает его символику так, как это сделал бы эксперт-человек. Она лишь выявляет закономерности в языке, используемом в критических отзывах. Если эксперты постоянно используют такие термины, как «глубина» и «психологическое напряжение», модель учится тому, что эти закономерности коррелируют с уровнем мастерства, присущим экспертам в написании текстов.

Это ограничение становится более очевидным, когда две критические оценки выражают схожие идеи, используя совершенно разные формулировки. Логистическая регрессия работает лучше всего, когда схожие идеи выражены схожими словами. Если словарь слишком сильно меняется, модель может упустить связь между критическими оценками. Эта проблема привела исследователей к использованию методов, основанных на встраивании, которые пытаются уловить смысл, а не просто сопоставить слова.

C.3 Метод 3 — Семантический поиск на основе встраивания

Следующий важный шаг в семантическом поиске выходит за рамки TF–IDF и простого подсчета слов. Вместо представления текста в виде частоты слов, современные системы используют плотные семантические вложения, генерируемые языковыми моделями на основе трансформеров.

На этом этапе система начинает выходить за рамки простого словарного запаса и фиксировать подлинный смысл. Две критики могут использовать совершенно разные формулировки для описания художественной идеи, и тем не менее их всё равно будут воспринимать как схожие.

Для создания векторных представлений мы используем модель Sentence Transformer из экосистемы Hugging Face. Sentence Transformer преобразует целые предложения или документы в плотные числовые векторы. Эти векторы предназначены для того, чтобы отразить смысл текста и взаимосвязи между различными фрагментами текста.

Например, такие фразы, как:

  • «Драматичное использование света»
  • «тщательное освещение»
  • «сильные эффекты светотени»

Они выглядят совершенно по-разному, но выражают тесно связанные художественные идеи. В отличие от TF-IDF, модели встраивания часто могут распознавать эти семантические связи. В отличие от модели логистической регрессии из метода 2, модель встраивания не присваивает явные коэффициенты отдельным словам, таким как «контраст» или «психологический». Вместо этого семантическая информация распределяется по многим измерениям пространства встраивания. Это затрудняет прямую интерпретацию представлений, но также делает их гораздо более гибкими с семантической точки зрения.

Для Метода 3 мы предлагаем новый набор критических замечаний, предназначенных для поиска семантического сходства на более глубоком уровне. Некоторые критические замечания используют высокотехнический язык, в то время как другие описывают схожие художественные идеи более естественным или косвенным образом. Это создает более сложную задачу поиска, поскольку критические замечания могут выражать связанные понятия, не имея при этом многих общих ключевых слов.

После генерации векторных представлений для всех критических замечаний мы вычисляем косинусное сходство непосредственно в пространстве векторных представлений. Каждое векторное представление критического замечания, сгенерированное Sentence Transformer, представляется в виде плотного числового вектора размером 384 измерения, соответствующего количеству изученных признаков.

Сходство вычисляется двумя способами: (а) между всеми отзывами студентов и всеми отзывами экспертов, (б) между отзывами студентов и центроидом эксперта (таблица 2). Этот вектор центроида вычисляется путем усреднения соответствующих компонентов всех векторных представлений отзывов экспертов. Таким образом, полученный центроид также содержит 384 измерения. Концептуально этот центроид представляет собой приблизительный семантический «центр» отзывов экспертов и может использоваться для измерения того, насколько точно отзыв студента соответствует отзыву эксперта в пространстве векторных представлений.

СТУДЕНЧЕСКАЯ РЕЦЕНЗИЯ (ИМЯ И НАЗВАНИЕ) ЭКСПЕРТНАЯ ОЦЕНКА СХОДСТВА С ЦЕНТРОИДОМ
S1-Драма через свет и отклик 0,802
S4 — Эмоциональная реакция 0,618
Попытка формального анализа S5 0,765
S6-Общее впечатление 0,75
S7-Символическая интерпретация 0,73
Таблица 2. Оценка сходства с экспертом.

Для понимания пространства вложений мы также визуализируем вложения с помощью метода главных компонент (PCA) (рисунок 2). PCA сводит многомерность вложений к двумерной, сохраняя при этом большую часть их семантического значения.

d122b4c78783964c28ed222a6bcc4e7b
Рисунок 2.

Диаграмма главных компонент (PCA) выявляет несколько интересных взаимосвязей. Рецензия студента S1 расположена близко к рецензиям экспертов E1 и E2. Это логично, поскольку в них обсуждаются схожие идеи, такие как свет, тень, настроение и драматический смысл.

Рецензия студента S7 также близка к рецензии эксперта E3. В обеих рецензиях обсуждаются символизм, эмоции и более глубокий смысл картины. Хотя они используют разные слова, они выражают схожие идеи.

Диаграмма главных компонент (PCA) также показывает, что отзывы студентов и экспертов не образуют идеально изолированных кластеров. Некоторые отзывы студентов оказываются на удивление близкими к отзывам экспертов, особенно когда они касаются схожих художественных концепций. В то же время более слабые или общие отзывы, как правило, располагаются дальше от экспертной области пространства вложений.

Оценки сходства с экспертами (таблица 2) также согласуются с графиком PCA. S1 имеет наивысший балл (0,802) и выглядит близким к экспертным оценкам E1 и E2. Это говорит о том, что S1 наиболее похож на экспертные оценки. S5 (0,765) и S6 (0,75) также имеют довольно высокие баллы. На графике они выглядят близкими друг к другу и несколько близкими к экспертным оценкам.

S7 имеет умеренную оценку (0,73), но очень близка к E3. В обеих рецензиях обсуждаются символизм, эмоции и более глубокий смысл. S4 имеет самую низкую оценку (0,618). В сюжете она также кажется дальше от оценок экспертов. Эта рецензия больше фокусируется на личных чувствах, чем на детальном художественном анализе.

На данном этапе, несмотря на переход от простого сопоставления ключевых слов к пониманию смысла, векторные представления остаются неизменными. На следующем этапе вводятся трансформерные модели, способные корректировать свое понимание в зависимости от окружающего контекста.

C.4 Метод 4 – Модели трансформаторов с точной настройкой

На заключительном этапе используются доработанные модели трансформеров. В методе 3 мы использовали Sentence Transformer для сравнения критических замечаний на основе семантического сходства. Здесь мы делаем шаг дальше, обучая модель непосредственно на размеченных критических замечаниях экспертов и новичков.

В частности, мы дообучаем предварительно подготовленную модель DistilBERT из библиотеки Hugging Face Transformers. DistilBERT — это уменьшенная и более быстрая версия BERT. Она была обучена для изучения многих тех же языковых шаблонов, что и оригинальная модель BERT, но с использованием меньшего количества параметров. DistilBERT был создан с помощью процесса, известного как дистилляция знаний. Несмотря на то, что она легче и проще в обучении, она по-прежнему очень хорошо справляется со многими задачами обработки естественного языка.

В нашем методе 4, вместо изучения языка с нуля, модель (DistilBert) начинает с знаний, полученных из больших объемов текста, а затем адаптируется к нашей задаче критики-классификации. Этот процесс называется трансферным обучением. Трансформеры также используют механизмы внимания, которые помогают модели понимать взаимосвязи между словами в предложении.

Процесс обучения включает в себя:

  • преобразование критических замечаний в входные данные, совместимые с трансформерами.
  • тонкая настройка предварительно обученной модели на основе размеченных критических замечаний
  • генерация вероятностей классов для каждой критики

Давайте обсудим фрагмент кода из метода 4, показанный ниже.

 #Load Tokenizer model_checkpoint = "distilbert-base-uncased" tokenizer = AutoTokenizer.from_pretrained( model_checkpoint ) #Tokenize Text def tokenize_function(example): return tokenizer( example["text"], truncation=True, padding="max_length", max_length=128 ) tokenized_dataset = dataset.map(tokenize_function)

Созданный с помощью AutoTokenizer.from_pretrained() токенизатор используется внутри tokenize_function() строкой tokenizer(example["text"], ...) .

В НЛП на основе трансформеров токенизатор — это не просто токенизатор. Он выполняет сразу несколько этапов предварительной обработки:

  • оно разбивает текст на токены
  • преобразует токены в числовые идентификаторы токенов, используя словарь модели.
  • добавляет специальные жетоны трансформатора
  • усекает длинные последовательности
  • дополняет более короткие последовательности до фиксированной длины
  • Создает маски внимания. Полученное числовое представление впоследствии используется моделью трансформера в качестве входных данных для обучения и прогнозирования.

Аргумент truncation=True гарантирует, что очень длинные фрагменты текста будут обрезаны до максимальной длины. Аргумент padding="max_length" дополняет более короткие фрагменты текста нулями, так что все входные последовательности имеют одинаковую фиксированную длину (128 токенов). Наконец, dataset.map(tokenize_function) применяет этот процесс токенизации к каждому примеру в наборе данных, создавая готовый к использованию в качестве трансформера набор данных для обучения.

В отличие от подхода, основанного на встраивании, используемого в методе 3, этот метод выполняет явную контролируемую классификацию. Для каждой критики модель предсказывает оба варианта:

  • метка класса
  • показатель достоверности для каждого класса

Например, рассмотрим следующую критику:

«Расположение фигур и умелое использование теней создают психологическое напряжение и символическую двусмысленность на протяжении всей композиции».

На первый взгляд, эта критика звучит довольно изысканно, поскольку в ней используется сложный художественный язык, например:

  • «психологическое напряжение»
  • «символическая двусмысленность»
  • «композиция»

Более простой метод, такой как TF–IDF, может высоко оценивать эти ключевые слова, поскольку они часто встречаются в экспертных рецензиях. Другими словами, TF–IDF в основном обращает внимание на то, что рецензия содержит важную лексику, связанную с анализом произведений искусства.

Однако модель трансформера выходит за рамки отдельных ключевых слов. Она анализирует, как идеи связаны между собой в предложении и демонстрирует ли критика более глубокую аргументацию. Хотя в критике используются сложные термины, анализ краток и несколько обобщён. В ней обсуждаются психологическое напряжение и символизм, но они не объясняются подробно. По сравнению с экспертными критическими работами, аргументация менее развита.

После 100 эпох тонкой настройки трансформер правильно классифицировал критику как относящуюся к уровню новичка:

 Predicted label: 0 Confidence: 0.685 Probability novice-like: 0.685 Probability expert-like: 0.315

Интересно отметить, что, когда модель обучалась всего 30 эпох, та же самая критика была классифицирована как экспертная. Это говорит о том, что на ранних этапах обучения модель, возможно, больше полагалась на сложную лексику. Дополнительное обучение помогло ей сделать больший акцент на более широких контекстуальных и аналитических закономерностях, а не только на ключевых словах.

Важно отметить одну из главных проблем тонкой настройки трансформеров: для их работы обычно требуется большой объем обучающих данных. Наш образовательный набор данных содержит лишь небольшое количество критических замечаний. Поскольку модели трансформеров содержат миллионы обучаемых параметров, для надежной обобщающей способности им, как правило, требуются гораздо большие наборы данных.

По мере продолжения обучения на протяжении многих эпох модель становится все более уверенной в своих прогнозах. Однако при небольшом наборе данных часть этой уверенности может отражать запоминание стилистических паттернов, наблюдавшихся во время обучения, а не подлинное понимание языка. Это явление известно как переобучение и особенно часто встречается, когда большие трансформерные модели обучаются на ограниченном объеме данных.

Этот пример демонстрирует как сильные, так и слабые стороны моделей-трансформеров. Они способны улавливать смысл, выходящий за рамки простого сопоставления ключевых слов, но при этом могут проявлять чрезмерную уверенность при недостатке обучающих данных.

Этот заключительный этап завершает следующий этап:

  • прозрачная эвристическая оценка
  • классическое машинное обучение
  • семантические вложения
  • контекстное понимание языка на основе трансформеров

Вместе эти четыре метода иллюстрируют более широкую эволюцию семантического поиска и современной обработки естественного языка: от признаков, разработанных вручную, к все более сложным, основанным на машинном обучении представлениям смысла и контекста.

Д. Обсуждение

В данной статье описаны четыре метода, демонстрирующие эволюцию семантического поиска от простого сопоставления ключевых слов до контекстного понимания языка.

Первый метод, TF-IDF с оценкой на основе правил, был простым и легко интерпретируемым. Мы легко могли понять, почему одна критика получила более высокую оценку, чем другая. Однако этот метод сильно зависел от точного использования слов и часто упускал из виду более глубокий смысл.

Второй метод использовал логистическую регрессию на основе признаков TF-IDF. Вместо ручного определения правил модель обучалась на основе размеченных рецензий. Изучив полученные коэффициенты, мы можем увидеть, какие слова чаще встречаются в рецензиях экспертов, а какие — в рецензиях новичков. Логистическая регрессия изучает эти закономерности на основе векторных представлений слов TF-IDF. Как мы уже обсуждали, модель не до конца понимает контекст или смысл. Тем не менее, она может показывать удивительно хорошие результаты, когда определенные слова или фразы сильно коррелируют с конкретными стилями письма.

Третий метод предусматривал использование векторных представлений с помощью преобразователей предложений. Это стало существенным изменением, поскольку теперь критические замечания можно было сравнивать на основе семантического значения, а не точной лексики. Критические замечания, обсуждающие схожие художественные идеи, часто располагались близко друг к другу в пространстве векторных представлений, даже при использовании разных формулировок.

Важное наблюдение, сделанное с помощью Метода 3, заключается в том, что качество критики не всегда однозначно. Некоторые студенческие отзывы казались семантически близкими к отзывам экспертов, несмотря на то, что они по-прежнему были помечены как отзывы новичков. В этом методе Sentence Transformer действует в основном как предварительно обученная модель семантического встраивания. Мы не переобучаем сам трансформер. Вместо этого каждый отзыв преобразуется в плотный семантический вектор, а сходство измеряется с помощью косинусного сходства в пространстве встраивания.

Наконец, в Методе 4 мы представили доработанную модель трансформера. Эта модель обеспечивает контекстное понимание языка с помощью DistilBERT. И Метод 2, и Метод 4 являются подходами к обучению с учителем, поскольку они обучаются на размеченных примерах. Однако они обучаются совершенно по-разному. Логистическая регрессия работает с фиксированными признаками TF-IDF, вычисленными на основе частоты слов и фраз. С другой стороны, трансформеры обучаются контекстным представлениям, анализируя взаимосвязи между словами, структурой предложения и значением.

Важное различие заключается в том, что, хотя и метод 3, и метод 4 используют архитектуры трансформеров, они применяют их по-разному. В методе 3 трансформер используется в основном как предварительно обученный генератор эмбеддингов для семантического сходства. В методе 4 сам трансформер дообучается непосредственно на размеченном наборе данных с критическими отзывами. Во время обучения модель обновляет свои внутренние веса, чтобы научиться отличать отзывы экспертов от отзывов новичков. Вместо того чтобы служить в основном экстрактором признаков, сам трансформер становится классификатором. Это представляет собой важный концептуальный сдвиг от сопоставления семантического сходства к контролируемому обучению, специфичному для конкретной задачи.

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

В целом, мы последовательно рассмотрели различные методы, что показывает, что разные модели НЛП представляют смысл по-разному. В частности, TF-IDF фокусируется в основном на важных словах, модели встраивания — на семантическом сходстве, а трансформеры пытаются понять язык через контекст и связи между словами.

Е. Заключение

В этой статье мы рассмотрели четыре практических подхода к семантическому поиску, начиная от классического поиска TF-IDF и заканчивая современными трансформерными моделями. На примере рецензий на картины, написанные студентами и экспертами, мы изучили, как различные методы обработки естественного языка представляют язык и измеряют сходство.

Эксперименты показали, что каждый метод имеет свои сильные и слабые стороны. Классические методы остаются простыми, быстрыми и легко интерпретируемыми. Модели встраивания эффективно улавливают семантическое сходство даже при небольших наборах данных. Трансформеры обеспечивают более глубокое контекстное понимание, но обычно требуют большего количества размеченных данных для надежного обобщения.

Одно из важнейших наблюдений заключалось в том, что семантическое понимание существует в континууме. Некоторые студенческие отзывы были похожи на отзывы экспертов, даже если они не соответствовали полностью экспертному уровню.

Современные системы обработки естественного языка (NLP) все лучше понимают смысл, контекст и взаимосвязи между идеями. Однако главная цель остается прежней: помочь машинам лучше понимать человеческий язык.

Код описанных выше методов можно найти по адресу:

https://github.com/theomitsa/Semantic-Search-Evolution

Синтетические данные (критика) можно найти внутри кода.

Примечание: Все рисунки и графики созданы автором.

Спасибо за прочтение!

Доктор Теофано Мица. Посмотреть все материалы от доктора Теофано Мица.

Источник: towardsdatascience.com

✅ Найденные теги: Idf, новости, От, Поколений, Реализация, Трансформерам, Четырех

Добавить комментарий