Dev48
ЯЗЫК
  • О нас
  • Услуги
  • Индустрии
  • Технологии
  • Статьи
  • Контакты
Забронировать звонок
    Главная/Статьи/Kogda hobbi prishlos otlozhit etot uchastnik kaggle sdelal borbu s covid 19 s po
Dev48

© 2026 · All rights reserved.

Когда хобби пришлось отложить, этот участник Kaggle сделал борьбу с COVID-19 с помощью данных своей миссией | Интервью с победителем Дэвидом Меццетти

Источник: Medium

Когда хобби пришлось отложить, этот участник Kaggle сделал борьбу с COVID-19 с помощью данных своей миссией | Интервью с победителем Дэвидом Меццетти

Источник: Medium

Из-за отмены спортивных мероприятий (и всего остального) этот специалист по работе с данными решил заняться COVID-19 | Интервью с победителем Дэвидом Меццетти. Когда хобби пришлось отложить, участник Kaggle Дэвид Меццетти сделал борьбу с COVID-19 своей миссией. Фото Clay Banks на Unsplash.…

27 сентября 2026 г.•Обновлено: 27 сентября 2026 г.

Спортивные состязания (и все остальное) отменили, и этот специалист по работе с данными решил бросить вызов COVID-19 | Интервью с победителем Дэвидом Меццетти

Когда его хобби оказались на паузе, кагглер Дэвид Меццетти сделал борьбу с COVID-19 своей главной миссией.

29 июля 2020 г.

Нажмите Enter или щелкните, чтобы просмотреть изображение в полном размере

Давайте познакомимся с Дэвидом!

Нажмите Enter или щелкните, чтобы просмотреть изображение в полном размере

Дэвид Меццетти — основатель компании NeuML, занимающейся анализом данных и машинным обучением, которая разрабатывает инновационные продукты на базе машинного обучения. Ранее он был сооснователем и руководителем компании Data Works, уважаемого поставщика услуг в области программного обеспечения с коллективом из более чем 50 человек. В августе 2019 года компания Data Works была приобретена, и Дэйв обеспечил успешный переходный период.

Дэвид, что вы можете рассказать о своем профессиональном опыте?

Дэвид: Мой технический бэкграунд связан с ETL, извлечением данных, инженерией данных и аналитикой. Более десяти лет своей карьеры я посвятил разработке крупномасштабных конвейеров данных для преобразования как структурированных, так и неструктурированных данных в форматы, пригодные для использования в нижестоящих системах. У меня также есть опыт создания крупномасштабных распределенных систем текстового поиска и обработки естественного языка (NLP).

Был ли у вас какой-либо предшествующий опыт или знания в предметной области, которые помогли вам добиться успеха в этом соревновании?

Я работаю в сфере аналитики данных более 15 лет, но у меня не было предварительных знаний о медицинских документах или медицинской отрасли.

Как вы начали соревноваться на Kaggle?

Я участвовал в нескольких соревнованиях March Madness. Я с нетерпением ждал турнира 2020 года и подготовил модель, от которой был в восторге. Ход сезона идеально подходил под сильные стороны модели, но мы так и не узнаем, как бы она себя проявила.

Что побудило вас принять участие в этом соревновании?

Когда соревнование March Madness 2020 было отменено, а пандемия COVID-19 начала набирать обороты, я захотел найти способ принять участие и помочь. Компания NeuML работала над приложением для отслеживания спортивных событий в реальном времени под названием neuspo, но спорт, как и все остальное, закрывался, и отслеживать было нечего.

Поскольку спорт и привычная жизнь встали на паузу, я увидел задачу Kaggle CORD-19 и почувствовал, что у меня достаточно опыта, чтобы внести свой вклад. Вдобавок ко всему происходящему, в начале марта умерла моя мама. Она была учительницей биологии в средней школе и была бы рада узнать, что я занялся этим делом. Эта работа также стала хорошим отвлечением от всего происходящего и способом почувствовать, что я могу внести свой вклад в победу над COVID-19.

Перейдем к технической части

Расскажите об общей архитектуре или подходе к решению.

Решение состояло из двух основных частей: поискового индекса на основе векторных представлений (embeddings) предложений и специализированной модели BERT QA для извлечения ответов на основе столбцов, известных как сводные таблицы, для определенного списка вопросов.

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

Была разработана специализированная модель BERT QA для добавления дополнительных столбцов в список результатов поиска. Например, при поиске в наборе данных CORD-19 по запросу «гипертония» в качестве отдельного столбца добавляется дополнительный столбец для вопроса «Каков фактор риска развития тяжелых симптомов у пациентов с гипертонией?»

Опирался ли ваш подход на какие-либо прошлые исследования или предыдущие соревнования?

Большая часть логики поиска была основана на предыдущем проекте codequestion (https://github.com/neuml/codequestion). codequestion создает индекс векторных представлений предложений по вопросам программирования, чтобы сопоставлять вопросы разработчиков с ранее заданными вопросами и ответами. Учитывая, что у меня уже была эта кодовая база, я применил этот подход при работе с набором данных CORD-19, и большая часть кода до сих пор происходит из codequestion.

Какую предварительную обработку и инженерию признаков вы выполняли?

Набор данных CORD-19 содержит CSV-файл метаданных с полным списком документов, а также полнотекстовые данные, хранящиеся в отдельных JSON-файлах. Был создан процесс ETL, который считывает CSV-файл, находит соответствующие текстовые статьи и загружает данные в базу данных SQLite. Затем текст разбивается на предложения для каждого документа, и эти предложения сопоставляются с векторными представлениями с помощью метода BM25 + fastText, описанного в этой статье на Medium.

Какие методы обучения с учителем вы использовали?

Весь поиск и ответы на вопросы выполнялись без учителя с использованием fastText + BM25 и модели на базе BERT для QA.

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

Какое озарение о данных оказалось для вас самым важным?

Набор данных CORD-19 динамичен и постоянно растет. Я заметил, что почти все, включая меня, применили первый подход — построили поисковый индекс, позволяющий находить документы на основе сопоставления токенов. Кроме того, суммаризация рассматривалась как способ повышения ценности. Идея заключалась в том, чтобы показать исследователям все данные по конкретному термину или концепции. Опираясь на предыдущий тезис о дизайне исследования, не все документы имеют одинаковую ценность. Маркировка документов в соответствии с дизайном исследования оказалась чрезвычайно полезной, позволив исследователям оценивать документ, а не просто просматривать те, что содержат совпадающие токены.

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

Удивили ли вас какие-либо из ваших выводов?

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

Какие инструменты вы использовали?

Вся работа строилась на платформе Kaggle. Список ноутбуков охватывает все решения для раунда 1 и раунда 2 соревнования CORD-19. Все ноутбуки написаны на Python.

Ноутбук с векторными представлениями предложений

Раунд 1:

  • Что нам известно о генетике, происхождении и эволюции вирусов?
  • Что нам известно о вакцинах и терапевтических средствах?
  • Что нам известно о нефармацевтических вмешательствах?
  • Что было опубликовано о медицинском обслуживании?
  • Что нам известно о диагностике и эпидемиологическом надзоре?

Раунд 2:

  • Список экспорта CSV для полных задач

Также существует отдельный проект на Python на GitHub — cord19q. cord19q содержит логику для ETL, создания индекса векторных представлений и запуска специализированной модели BERT QA.

Как вы распределяли свое время в ходе этого соревнования?

Первые дни работы были посвящены разведочному анализу данных (EDA) и обмену идеями с другими участниками сообщества. Прежде чем приступать к созданию моделей, необходимо было понять данные, сильные и слабые стороны датасета, а также то, что исследователи стремятся получить из набора данных CORD-19. Мне посчастливилось найти единомышленников среди специалистов по работе с данными, которые были готовы засучить рукава и писать код, чтобы помочь выяснить, что именно нам нужно от данных. Машинное обучение и генерация признаков рассматривались лишь через 1–2 месяца после начала работы. Большая часть первого раунда была посвящена извлечению данных, синтаксическому анализу, анализу требований и созданию системы поиска документов.

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

Какова конфигурация вашего оборудования?

Все решения были созданы на платформе Kaggle в виде процессорных ноутбуков (CPU Notebooks). Разработка велась на четырехъядерном ноутбуке с 8 ГБ графической памяти и 32 ГБ оперативной памяти. Эмбеддинги fastText, модели дизайна исследований и кастомные QA-модели на базе BERT создавались автономно (offline) с использованием этого ноутбука.

Каково было время выполнения для обучения и предсказания вашего решения-победителя?

Учитывая, что данные постоянно обновляются, существует регулярное задание, которое запускается при каждом обновлении (с использованием kernelpipes). Полный цикл ETL, построение моделей и запуск всех ноутбуков с решением на Kaggle занимают около 6 часов.

Напутственные слова

Что вы вынесли из этого соревнования?

Это соревнование было уникальным по ряду причин. Во-первых, не существовало заранее известного ответа: это была реальная проблема, с которой можно столкнуться в индустрии, когда у кого-то есть огромный набор данных, и они не уверены, что с ним делать. Такой подход требует итеративного процесса исследования данных, обмена отзывами с экспертами и построения рабочего процесса для решения проблемы. Специалистам по работе с данными, участвовавшим в этом проекте, невероятно повезло работать под руководством Саванны Рид (Savanna Reid), эпидемиолога, которая уделяла этому делу свое свободное время. Нам также повезло, что компания Kaggle активно участвовала в процессе, а Пол Муни (Paul Mooney) и Энтони Голдблум (Anthony Goldbloom) помогали координировать работу. Мне посчастливилось обсуждать идеи с другими дата-сайентистами, работавшими над проектом, в частности с Кеном Миллером (Ken Miller) и Энди Вайтом (Andy White).

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

Оглядываясь назад, что бы вы сделали иначе сейчас?

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

Есть ли у вас совет для тех, кто только начинает свой путь в Data Science?

Большая часть вашего времени будет уходить на подготовку данных и генерацию признаков. Лучший способ изучить Data Science — решить задачу, которая вам интересна. Спортивная аналитика — это то, с чего я сам начал свой путь в Data Science. Это был увлекательный способ сохранять концентрацию не только на алгоритмах, но и на самих данных.

Другие публикации Дэвида Меццетти на Medium:

Combating COVID-19 with Data ScienceBuilding Analysis Pipelines with Kaggle

← Все статьи

Ещё в разделе «AI и машинное обучение»

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

Lambda построит новый центр обработки данных в округе Мейс, штат Оклахома, что принесет полмиллиарда долларов налоговых поступлений в течение следующего десятилетия

Google тестирует возможность покупок на принадлежащей Walmart площадке Flipkart через Gemini и AI Mode в ИндииПресса
Google Gemini

Google тестирует возможность покупок на принадлежащей Walmart площадке Flipkart через Gemini и AI Mode в Индии

OpenAI расширяет проверку поведения моделей после появления новых инцидентов с несанкционированными агентами
Пресса
OpenAI

OpenAI расширяет проверку поведения моделей после появления новых инцидентов с несанкционированными агентами

Apple обязали выплатить 5,7 млрд долларов по иску о нарушении патентных прав на тактильные технологии в iPhone и Apple WatchПресса
Apple

Apple обязали выплатить 5,7 млрд долларов по иску о нарушении патентных прав на тактильные технологии в iPhone и Apple Watch

Незащищенные агенты OpenAI опубликовали 53 пользовательских изображения в интернете без ведома лабораторииПресса
OpenAI

Незащищенные агенты OpenAI опубликовали 53 пользовательских изображения в интернете без ведома лаборатории

Proaction увеличивает продажи на 60% и экономит более 75 часов с Codex
OpenAI

Proaction увеличивает продажи на 60% и экономит более 75 часов с Codex

Ещё от Kaggle

Я обучил модель. Что дальше?
Kaggle

Я обучил модель. Что дальше?

Recruit Ponpare — ведущий японский сайт совместных купонов, предлагающий огромные скидки на всё, от…
Kaggle

Recruit Ponpare — ведущий японский сайт совместных купонов, предлагающий огромные скидки на всё, от…

Получение чувства контроля над пандемией COVID-19 | Интервью с победителем Даниэлем Вольфрамом
Kaggle

Получение чувства контроля над пандемией COVID-19 | Интервью с победителем Даниэлем Вольфрамом

Высший балл для студента-Kaggler в Bengali.AI | Интервью с победителем Линшо Каку
Kaggle

Высший балл для студента-Kaggler в Bengali.AI | Интервью с победителем Линшо Каку