Недавно я завершил стажировку в команде Data Science в Traindex. Одной из задач, поставленных передо мной, было тиражирование методики семантического поиска на основе машинного обучения. Команда Data Science реализовала это в своем поисковом API Traindex.

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

Одна из самых сложных задач - это тестирование языковых моделей. Иногда этот процесс требует использования ряда методов для надлежащей оценки и тестирования. Один из тестов, используемых для Traindex, - это Jaccard Similarity. Это обеспечивает основу, и этого недостаточно для полной оценки какой-либо модели.

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

Сходство текста

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

Есть две основных альтернативы нахождению метрики подобия.

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

Введение - Индекс Жаккара

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

Индекс сходства Жаккара, а также коэффициент сходства Жаккара, сравнивает элементы двух наборов, чтобы увидеть общие и отдельные элементы. Это мера сходства для двух наборов данных с диапазоном от 0% до 100%. Чем выше процент, тем более похожи две популяции. Индекс Жаккара - это статистика для сравнения и измерения того, насколько два разных набора похожи друг на друга. Хотя его легко интерпретировать, он чувствителен к выборкам небольшого размера. Это может дать ошибочные результаты, особенно с небольшими выборками или наборами данных с отсутствующими наблюдениями.

Давайте посмотрим на этот пример.

В трех приведенных выше примерах кода используются два разных метода ввода.

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

Последние два примера демонстрируют способность Jaccard принимать четные списки (то есть документы) в качестве входных данных. В предыдущем случае, поскольку это одни и те же векторы, возвращенное значение равно 0 - это означает, что расстояние равно 0 и два документа идентичны.

Математическое представление

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

Из приведенной выше диаграммы Венна можно сделать вывод, что:

Jaccard Index = (number in both sets) / (number in either set) * 100

Бенчмаркинг - это важный процесс Data Science, который указывает уровень достоверности и эффективность модели. Traindex выполняет несколько методов тестирования, из которых, как считает Жаккар, тестирование на подобие является важным.

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

Следующие шаги проверяют производительность модели LSI на основе схожести терминов:

  1. Тестовые данные содержат идентификаторы UCID с соответствующим им текстом, где выборка выполняется в соответствии с размером, указанным в файле конфигурации.
  2. Очистка текстовой колонки тестовых данных согласно требованиям, при этом удаление повторяющихся терминов обязательно. Для каждого документа запрос выполняется с использованием текста, соответствующего его UCID.
  3. Документ и индекс отправляются в функцию, которая возвращает количество общих слов, присутствующих в запросе и документе, с помощью индексов.
  4. Между тем, выполняются вычисления для общих слов и общие наблюдения, за которыми следует вычисление сходства по Жаккару с использованием отношения длин, сохраненных ранее.
  5. Выполнение описанных выше шагов может дать адекватные результаты, необходимые для оценки, но результаты масштабируются путем деления оценки на соответствующий размер запроса. Дополнительный шаг устраняет поведенческую склонность результатов из-за различного размера запроса.

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

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

Влияние сходства Жаккара как показателя оценки

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

Предложение 1. AI - наш друг, и он был дружелюбен.

Предложение 2: ИИ и люди всегда были дружелюбны.

Он достаточно надежен, чтобы обслуживать повторения слова, такого как слово «друг», в предложении 1. Независимо от того, насколько часто встречается какое-либо слово, сходство Жаккара будет одинаковым - здесь оно равно 0,5.

  • Вместо того, чтобы отклонять или принимать документ для заданного набора запросов, он предоставляет диапазоны числовых оценок от 0 до 1, что обеспечивает четкое представление и может использоваться в качестве поиска для дальнейших итераций. Рисунок 3 объясняет близость случайных поисковых запросов к одному и тому же документу, где высота столбцов представляет собой оценки сходства Жаккара между запросами и документом.
  • Подобие Жаккара полезно в случаях, когда дублирование не имеет значения. Например, будет лучше использовать сходство Жаккара для двух описаний продуктов, поскольку повторение слова не снижает их сходства.

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

Первоначально опубликовано на https://www.traindex.io/blog/benchmarking-of-textual-models-jaccard-similarity-1c3i