Практический кейс: как применять ML и GPT для поиска дубликатов в базе данных. bm25.. bm25. gpt.. bm25. gpt. llm.. bm25. gpt. llm. ml.. bm25. gpt. llm. ml. бд.. bm25. gpt. llm. ml. бд. дубликаты.. bm25. gpt. llm. ml. бд. дубликаты. консалтинг.. bm25. gpt. llm. ml. бд. дубликаты. консалтинг. консалтинг в it.

Привет! Я Давид Акопян, занимаюсь интеграциями ML, GPT и консалтингом. Сейчас работаю тимлидом продуктовой аналитики в Авито

Ранее был опыт в:

  • EY операционном консалтинге в сфере ретейла. Консультировал такие компании как Магнит, Детский Мир, Аскона, МВидео, НЛМК;

  • E-groccery-стартапе;

  • был тимлидом аналитики обычной и экспресс-доставки Яндекс.Маркета;  

  • а еще пробовал себя в различных проектах во фрилансе.

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

В этой статье хочу поделиться опытом успешного консалтингового проекта по интеграции ML и GPT для интернет-магазина на Shopify с целью уменьшения количества дубликатов в базе данных клиента.

Практический кейс: как применять ML и GPT для поиска дубликатов в базе данных - 1

Материал подготовлен на основе моего выступления в качестве контрибьютера для YNDX Family – это неофициальное сообщество нынешних и бывших сотрудников Яндекса. У ребят есть закрытая база знаний, где профессионалы делятся своим опытом. Полная запись моего выступления также доступна в этой базе. Присоединяйся к коммьюнити, если ты тоже выпускник-яндексоид! :)

Что внутри статьи:

Описание кейса

Какие существующие алгоритмы могут помочь в решении задачи?

Почему алгоритм BM25 лучше всего подошел для задачи клиента?

Почему не стали использовать модель GPT?

Сравнение результатов BM25 и GPT

Шесть правил успеха консалтингового проекта

Как определить стоимость проекта

Вывод

Итак, поехали!

Описание кейса

Заказчик: Быстро растущая компания из Дубая, занимается стройматериалами и сотрудничает с большим количеством поставщиков.

Боль клиента: У компании стремительно растет база данных (БД), и коды SKU заполняются разными поставщиками, что может привести к появлению множества дубликатов в будущем. Клиент хочет внедрить автоматизированную систему распознавания дубликатов в базе данных.

Формализованная техническая задача: В результате анализа кейса были выделены следующие задачи:

  1. провести первичный анализ БД для оценки количества: дубликатов записей и вариаций одного товара с целью объединения их в одну карточку с сохранением спецификаций;

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

Критерии точности работы модели:

  1. доля ошибок первого рода (ложная тревога) не должны превышать 10%, то есть модель не должна ошибочно помечать запись как дубликат в более чем 10% случаев;

  2. доля ошибок второго рода (недостаточная бдительность) не должны превышать 5%, то есть модель должна пропускать не более 5% случаев, когда дубликат остается нераспознанным.

Какие существующие алгоритмы могут помочь в решении задачи клиента?

BM25

BM25 (Best Match 25) – это вероятностный алгоритм ранжирования, применяемый для оценки релевантности документов поисковому запросу. Он широко используется в поисковых системах и системах управления информацией. BM25 оценивает вероятность релевантности документа запросу, основываясь на частоте терминов запроса в документе и статистических характеристиках коллекции документов.

Расстояние Левенштейна

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

Косинусная близость

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

Евклидово расстояние

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

Почему алгоритм BM25 лучше всего подошел для задачи клиента?

Алгоритм BM25 был выбран по следующим причинам:

  • алгоритм отдает приоритет более редким словам, что позволяет улучшить точность поиска. Пример: Для запроса «Гайка Rixton 25мм» наиболее релевантной будет запись «Гайка Rixton 2.5см», а не «Гайка Asims 25мм», так как бренд Rixton встречается реже;

  • алгоритм можно улучшить, добавив поля, такие как «бренд», «размер» и другие характеристики. Это позволяет модели извлекать из артикула нужные данные (например, название бренда и размер) и искать по ним более эффективно.

Почему модель GPT не подошла для задачи?

В тестовом режиме мы применили модель GPT для решения задачи клиента, но были выявлены следующие сложности:

  • высокий риск увеличения стоимости использования модели GPT;

  • увеличение количества товаров и записей усложняет процесс обработки и
    сравнения;

  • изменения в базе данных могут привести к необходимости адаптации модели;

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

Сравнение результатов при использовании BM25 и GPT

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

С какими сложностями столкнулись?

  • проведение ручной валидации результатов внедрения модели;

  • найти недорогих программистов для интеграции с 1С.

Шесть простых правил для успеха консалтиногового проекта

  1. всегда пиши максимально детальное техническое задание и утверждай его с клиентом в начале проекта;

  2. всегда пиши детальное саммари после каждой встречи с клиентом;

  3. всегда оформляй контракт с клиентом;

  4. всегда проси предоплату и согласовывай этапы оплаты проекта;

  5. всегда договаривайся о критериях приемки (когда это возможно);

  6. всегда закладывайте риски в стоимость проекта.

Как определить стоимость консалтингового проекта?

Есть три способа определить стоимость проекта:

ROI (Возврат на инвестиции)

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

Конкуренты

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

Себестоимость

Этот метод рассчитывает стоимость проекта на основе всех понесенных затрат, включая материалы и оплату труда. Установление цены основывается на необходимости покрыть эти расходы и обеспечить прибыль.

Вывод

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

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

Спасибо вам за уделенное статье время! Буду рад ответить на вопросы и обсудить ваш опыт в комментариях к статье.

Автор: d_akopian

Источник

Rambler's Top100