Сегодня наш собеседник - Инес Монтани. Инес - соучредитель компании Взрыв. Это компания, которая разработала spaCy, которая является одной из ведущих библиотек НЛП с открытым исходным кодом. Инес и ее команда из Explosion также разработали Prodigy, который представляет собой инструмент аннотации для ИИ, машинного обучения и НЛП.

Инес также является международным спикером. Ей нравится выступать с докладами на нескольких конференциях и любит учить людей. Я имел удовольствие встретиться и поприветствовать Инес на PyCon India 2019. Все подробности ее выступлений и блогов можно найти здесь. Инес разработала бесплатный онлайн-курс Продвинутое НЛП с spaCy, и если вам интересно изучить spaCy (от его основного разработчика), вам обязательно стоит пройти этот курс.

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

Интервью с Инес Монтани, соучредителем Explosion

Саяк: Привет, Инес! Спасибо за интервью. Рад видеть вас здесь сегодня.

Инес: Ура, спасибо, что пригласили меня!

Саяк: Может быть, вы могли бы начать с того, чтобы представиться - чем вы сейчас занимаетесь и каковы ваши обязанности там?

Инес: я соучредитель Explosion, компании-разработчика программного обеспечения, специализирующейся на инструментах разработки для ИИ и НЛП. Мы разрабатываем spaCy, популярную библиотеку с открытым исходным кодом для NLP на Python, и Prodigy, инструмент аннотации с поддержкой сценариев для создания обучающих данных для моделей машинного обучения. Несмотря на то, что я также являюсь основателем и директором компании, я по-прежнему трачу большую часть своего времени на написание кода и разработку наших продуктов, что мне больше всего нравится в своей работе.

Саяк: О, это совершенно потрясающе и, конечно же, отличается от многих! Мне любопытно, как вы заинтересовались обработкой естественного языка. Не хотели бы вы поделиться чем-нибудь об этом?

Инес: Меня всегда интересовал язык, и я всегда интересовался компьютерами. Но мне потребовалось время, чтобы найти способ совместить эти две вещи. Я познакомился со своим соучредителем Мэтью Хоннибалом (который также является основным автором spaCy) в 2014 году, вскоре после того, как он ушел из академии, чтобы написать spaCy. Первым проектом, над которым мы вместе работали, был интерактивный визуализатор синтаксических зависимостей. Я изучал лингвистику (и некоторую компьютерную лингвистику) в рамках своей степени, поэтому концепции, лежащие в основе этого, имели для меня большой смысл, и было захватывающе видеть, что внезапно стало возможным. Это также заставило меня понять, что есть большой потенциал для объединения разных вещей, которыми я был достаточно хорош, чтобы сделать НЛП более мощным и простым в использовании.

Саяк: Потрясающе! Знания в предметной области сразу же применяются! Когда вы начинали работать в этой области, с какими проблемами вы столкнулись? Как вы их преодолели?

Инес: В целом мне повезло. Думаю, одна из проблем, с которыми сталкивается каждый, заключается в том, что есть чему поучиться, но не обязательно в том, как люди романтизируют. Чтобы сделать что-нибудь интересное, вам нужно обойтись без множества произвольных вещей - довольно сложно думать о том, сколько мелочей по упаковке Python я знаю сейчас, сколько об инструментах сборки JavaScript, компиляции расширений C , и так далее. Это может сильно затруднить начало работы.

Саяк: Конечно, я согласен с этим, Инес! Какие из главных проектов вы реализовали в годы становления?

Инес: Когда мне было около 9 лет, у нас появился первый компьютер. Два года спустя я обнаружил, что вы можете создавать HTML-страницы в Microsoft Word, а затем загружать их в Интернет. Все с этого и началось, и я серьезно занялся созданием сайтов. Со временем я напишу весь код вручную и выучил себя PHP, JavaScript и многим другим вещам. Я также была участником онлайн-доски объявлений с группой девушек из всех немецкоязычных стран, и мы делились нашими веб-сайтами и дизайном. Было довольно нормально менять дизайн своего сайта примерно раз в месяц и включать все последние стили, тенденции и методы, которым вы научились. Так вот, чем я занимался в подростковом возрасте. Я до сих пор помню, как сидел в школе и считал часы до выхода, чтобы пойти домой и продолжить работу над своими веб-сайтами. Иногда я до сих пор испытываю это чувство, когда работаю над особенно интересным проектом.

Саяк: Вы действительно любите приключения! Ваш доклад на PyCon India 2019 был озаглавлен Пусть пишут код. Хотели бы вы поделиться тем, что побудило вас выступить на эту тему?

Инес: «Пусть они пишут код» - это наша философия создания инструментов для разработчиков. Люди часто спрашивают нас о том, как создавать библиотеки или почему API-интерфейс spaCy, ориентированный на пользователя, работает именно так. Так что я подумал, что это хорошая тема для основного доклада. Есть несколько надежных правил для разработки инструментов разработчика, потому что все дело в компромиссах, а это значит, что советы по этому поводу могут легко стать расплывчатыми. Но мы много времени думаем над этими вопросами. Суть выступления такова: сделайте свои инструменты программируемыми и позвольте пользователям писать код.

После выступления я увидел комментарий в Твиттере, в котором говорилось что-то вроде «Я никогда не мог понять, почему мне нравится API spaCy, но теперь все ясно!», Что меня очень обрадовало.

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

Инес: поскольку мы не публикуем исследования, «оставаться в курсе» для нас означает несколько иное. Нам необходимо следить как за текущим состоянием исследований, так и за фактическими вариантами использования и проблемами в отрасли. Нам определенно помогает то, что у нас очень тесная связь с нашими пользователями, учитывая, что все мы разработчики.

Самым важным является понимание того, в каком направлении движется сфера деятельности и какие инструменты понадобятся людям. Например, когда мы разрабатывали Prodigy в 2016–2017 годах, наши основные наблюдения заключались в следующем: а) людям по-прежнему будет требоваться хотя бы некоторое количество данных с пользовательскими метками, б) процесс является повторяющимся и непрерывным, а не тем, что можно легко передать на аутсорсинг. , включение аннотаций в процесс разработки и c) улучшится трансферное обучение, поэтому нам не обязательно понадобятся массивные учебные корпуса даже для действительно больших моделей.

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

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

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

Саяк: Спасибо, что поделились этим, Инес. Когда я узнаю что-то новое, я тоже придерживаюсь практического подхода. Но иногда я склонен придерживаться старой закалки и начинать с того, что заставляло меня учиться. Мы увидим новый курс (или даже книгу) в ближайшее время?

Инес: мы начали думать о курсе, более ориентированном на лингвистику, с объяснением более абстрактных понятий через API spaCy. Я думаю, что многие пользователи чувствуют, что им не хватает некоторых базовых знаний, чтобы действительно собрать полные решения из различных частей, и некоторые из них сводятся к лингвистическим концепциям, таким как анализаторы зависимостей, морфологические особенности, кореферентность и т. Д.

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

Саяк: Я с нетерпением жду возможности проверить их, когда они будут выпущены, Инес! Есть какие-нибудь советы новичкам?

Инес: Я ненавижу давать советы, потому что у всех разные ситуации. И все, что я мог сказать, будет звучать банально и банально, например: * ✭˚ ・ ゚ ✧ * ・ ゚ следуй за своей мечтой и не сдавайся * ✭˚ ・ ゚ ✧ * ・ ゚ *. Может быть, мой совет - прислушиваться к советам поменьше?

Саяк: Ха-ха, это было другое! Большое спасибо, Инес, за это интервью и за то, что поделились своими ценными идеями. Я надеюсь, что они будут очень полезны сообществу.

Инес: Спасибо, с удовольствием!

Резюме

Было удивительно узнать о техническом уровне Инес. Она начала в довольно раннем возрасте и построила свой путь довольно странным образом. Сама она разработчик, поэтому при разработке инструментов для разработчиков она немало отстаивает интересы разработчиков. Это редкое качество отличает spaCy и Prodigy от многих существующих сегодня инструментов для искусственного интеллекта и НЛП.

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

Если вы хотите узнать обо мне больше, загляните на мой сайт.