Роль сообществ специалистов по науке о данных в изменении мира

Реальный пример того, как сообщества могут объединиться для решения сложных проблем.

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

  • У них есть отличные идеи для широкой аудитории
  • Они хотят изучать новую технологию
  • Они готовы сотрудничать с другими

Однако у этих «приятных вещей» есть свои оговорки:

  • Общие идеи без знания предметной области трудно реализовать на практике
  • Большинство людей зацикливаются на «изобретении велосипеда», на создании чего-то идеального
  • Они сотрудничают с другими людьми в сфере технологий только из-за их социального пузыря

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

Соревнование

В этом месяце перед тем, как присоединиться к Google, у меня была возможность стать частью разнообразного и растущего сообщества, которому небезразлично, что происходит в мире: Омдена. Я присоединился к их AI Challenge, организованному Институтом мировых ресурсов, чтобы сотрудничать с другими экспертами в своих областях, чтобы решить задачу определения финансовых стимулов для лесовозобновления и восстановления ландшафта. Основное внимание уделялось изучению государственной политики Мексики, Гватемалы, Сальвадора, Перу и Чили.

Работа в этом сообществе дает серьезные преимущества:

  • Краткие, обоснованные требования, разработанные экспертами в предметной области в Omdena и Институте мировых ресурсов, в состав которых входят аналитики государственной политики.
  • Сотрудники, обладающие экспертными знаниями в самых современных областях, таких как обработка естественного языка, веб-парсинг, базы данных и глубокое обучение.
  • Коллабораторы, которые сосредоточены на том, чтобы как можно скорее получить MVP, соблюдая баланс между качеством и инновациями.

Фон

Чтобы решить общую задачу, нам нужно было добиться следующего:

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

Окончательное решение состояло из следующего:

  • Сочетание Scrapy и APIFY как технологий для извлечения более 100 000 документов, связанных с финансовым стимулированием лесовосстановления и восстановления ландшафта для 5 стран.
  • Препроцессор NLP, который использует библиотеки NLTK, Spacy и другие Python для нормализации входных данных.
  • Две полууправляемые модели: выделение сегментов и тематическая модель. Средство выделения сегментов (BETO) принимает статью в качестве входных данных и выводит абзацы-кандидаты, в которых вы можете найти финансовые стимулы. Тематическая модель использует LDA (скрытое распределение Дирихле) для извлечения тем в документе, например, лесовосстановления.
  • Веб-приложение, обслуживаемое через сервер Flask, размещенный в экземпляре AWS EC2

Моя роль

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

Руководитель задачи предварительной обработки

Мне выпала честь руководить группой сотрудников любого уровня подготовки. Эта группа работала над нормализацией документов, извлеченных из Интернета, для использования в наших полууправляемых моделях машинного обучения. Я управлял этими усилиями в основном за счет использования встреч Trello, GitHub, Slack и Zoom.

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

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

Метод

  • Удаление пробелов
  • Извлечение абзаца и токенизация на уровне слова
  • Исправление орфографии с помощью проверки орфографии

Мы просмотрели различные библиотеки для предварительной обработки NLP, такие как Spacy, NLTK и Scikit, и проверили желаемые результаты. Я специально участвовал в предоставлении рекомендаций по используемым инструментам, извлечению абзацев и проверке орфографии.

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

Вывод
Согласованные, нормализованные, чистые текстовые файлы, которые использовались задачей моделирования.

Архитектура прикладного программного обеспечения

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

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

Метод

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

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

Вывод

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

Дополнительная поддержка

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

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

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

Это было бы невозможно без моих коллег и сообщества Омдена, к которому мы теперь принадлежим.

Спасибо за эту возможность!