редакции Выбор
Какие Python-библиотеки мы используем в работе над искусственным интеллектом
Практически каждый, кто погружается в тему Искусственного интеллекта, неизбежно сталкивается с Питоном. Питон стал настоящим AI-хабом, позволяющим относительно легко пользоваться множеством существующих методов и моделей.
Мы не канал для программистов, да и о Питоне много чего написано, так что для нас эта тема не была в центре внимания. Тем не менее различные библиотеки регулярно всплывали в наших постах. И мы решили собрать в одном посте информацию об основных библиотеках Питона, используемых для работы с Искусственным интеллектом. Только о тех, которые сами используем.
Сначала библиотеки, полезные для сбора и обработки данных:
- Beautiful Soup. Очень удобная и простая библиотека для веб-скрэйпинга. Во многих случаях веб-скрэйпинг — единственный доступный вариант поиска данных для машинного обучения и в таком случае Суп очень пригодится.
- Pandas. Этой статистической библиотеке посвящаются даже целые каналы. Она действительно включает в себя массу возможностей, быстра (большая часть кода написана на C, на медленном Питоне тонкая оболочка) и относительно проста в использовании. Пандас очень хорошо соединяется с библиотеками для AI — многие из них допускают прямое использование объектов Пандас для обучения.
- NLTK («Natural Language Toolkit»). Как следует из названия, обширная библиотека различных языковых методов. Позволяет выполнять первичную обработку текстов для обучения («preprocessing») — токенизацию, стемминг, лемматизацию, определение части речи, и.т.д., а также решать многие другие задачи. У NLTK есть конкурент — библиотека SpaCy. В большой части функционалы двух библиотек совпадают. На тему их различий и сравнения производительности много чего написано, заинтересованные читатели могут легко найти информацию.
Теперь собственно AI-библиотеки:
- Sklearn («scikit-learn»). Классическая библиотека, содержащая большое количество методов машинного обучения. Фактически является стандартом для всего, что не является «глубоким обучением». Кроме собственно методов обучения есть много чего еще — векторизация, встроенные методы первичной обработки, анализа результатов.
- Tensorflow. Стандарт глубокого обучения. Мы подробно писали о данной библиотеке. Сам Tensorflow в первую очередь отличается возможностью быстрых матричных вычислений, что критично для скорости глубокого обучения. Библиотека Keras, которая позволяет создавать и обучать нейронные сети, сейчас фактически является частью Tensorflow.
- Gensim. Специализированная библиотека для машинного обучения в области обработки естественного языка. Содержит большое количество предобученных моделей. Как обычно, проста в использовании.
- Bert. Могучий трансформер разработанный Google, позволяющий во многих случаях получить высокую точность с минимальной адаптацией к специфике языковой задачи. Для использования Bert скорей всего придется установить несколько дополнительных библиотек. Но это совсем небольшая цена за возможности, которые дает модель!
- В заключение хочется обратится к не-программистам. Освоить Питон правда не очень сложно, намного проще, чем возможно вы себе представляете. Так что если кого-то гложет тайное желание создать собственный AI, да или просто написать первый код в своей жизни не сдерживайте себя! Тем более, качественных курсов Питона полно, на самых разных площадках (Coursera, Codecademy, Udemy, Яндекс. Академия и масса других).
Читайте также:
Конструктор стартапов: как четыре энтузиаста автоматизируют работу над продуктом
Как небольшая компания из России помогает армии США, Google и UEFA моделировать реальный мир