Share This
Связаться со мной
Крути в низ
Categories
//📕 ТОП-10 книг по обработке естественного языка: от новичка до профессионала

📕 ТОП-10 книг по обработке естественного языка: от новичка до профессионала

Актуальные книги на русском и английском по обработке данных на естественных языках: теория и практика NLP, анализ тональности, диалоговые системы, генерация текста и машинный перевод. Обсудить

top 10 knig po obrabotke estestvennogo jazyka ot novichka do professionala 839f8c5 - 📕 ТОП-10 книг по обработке естественного языка: от новичка до профессионала

Обработка естественного языка (natural language processing, NLP) – область computer science, находящаяся на стыке искусственного интеллекта и математической лингвистики. В практическом отношении NLP занимается созданием удобных форм взаимодействия компьютера и человека – чтобы компьютер мог понять, что мы от него хотим, просто сказав ему это.

Пример алгоритма NLP, к которому мы обращаемся ежедневно – информационный поиск. Когда мы что-то вводим в поисковую строку Google или Яндекс, модель преобразует строку в представления в виде дискретных структур: тензоров, векторов, деревьев и графов. Родственные системы анализируют эмоциональную окраску текста, вычленить факты, главную мысль и т.д. Да и не только анализируют текст, но и генерирут его, например, в чат-ботах. Или переводят речь с одного языка на другой.

Примечание Если вас интересует, что такое обработка естественного языка, как в ней разобраться и как начать его использовать, начните с этой статьи.

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

NLP для новичков

Лейн, Хапке, Ховард. Обработка естественного языка в действии (2020)

top 10 knig po obrabotke estestvennogo jazyka ot novichka do professionala f0ef453 - 📕 ТОП-10 книг по обработке естественного языка: от новичка до профессионала

Пятисотстраничное пособие Natural Language Processing in Action переведено и выпущено в 2020 г. издательством Питер. Основной акцент сделан на популярных теперь нейросетевых подходах. Авторы успели захватить и популярный теперь механизм внимания, использующийся для моделей генерации текста. Кроме общих вопросов обработки естественного языка рассмотрены задачи выделения именованных сущностей и создания диалоговых систем.

Преимущества

  • Большое количество примеров кода на Python и доходчивых пояснений.
  • Рассматриваются и традиционные модели, и последние достижения области.

Недостатки

  • Вопрос распараллеливания вычислений рассмотрен слишком поверхностно.

Риз. Обработка естественного языка на Java (2016)

top 10 knig po obrabotke estestvennogo jazyka ot novichka do professionala 5061587 - 📕 ТОП-10 книг по обработке естественного языка: от новичка до профессионала

Риз. Обработка естественного языка на Java

Описаны простые токенизаторы Java, прикладные программные интерфейсы NLP, использование библиотек NLP API для поиска именованных объектов, определения частей речи, классификации документов, нахождения взаимосвязей.

Преимущества

  • Редкий пример книги о реализации NLP-систем с помощью Java.
  • Структурированное представление информации с многочисленными листингами.

Недостатки

  • Сравнительно небольшой объем книги (264 с.) и узкий круг рассматриваемых тем.

Обработка естественного языка в контексте Data Science фреймворков

Ганегедара. Обработка естественного языка с TensorFlow (2020)

top 10 knig po obrabotke estestvennogo jazyka ot novichka do professionala ddfcbca - 📕 ТОП-10 книг по обработке естественного языка: от новичка до профессионала

Ганегедара. Обработка естественного языка с TensorFlow

TensorFlow – фреймворк глубокого обуче­ния, разработанный и поддерживаемый компанией Google. В книге описаны методы решения задач NLP с помощью функций TensorFlow для создания нейронных сетей; стратегии обработки больших объемов данных и представления слов для использования в приложениях глубокого обучения; технологии улучшенной классификации предложений и генерации текста при помощи сверточных и рекуррентных нейросетей; их применение для решения комплексной задачи генерации текста; принципы машинного перевода; тенденции области.

Оригинал написан в 2018 г., переведено и издано ДМК Пресс в 2020 г.

Преимущества

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

Недостатки

  • В силу специфики книги общим вопросам NLP уделено меньшее внимание, чем в приведенных выше изданиях.

Макмахан, Рао. Знакомство с PyTorch (2020)

top 10 knig po obrabotke estestvennogo jazyka ot novichka do professionala a47a252 - 📕 ТОП-10 книг по обработке естественного языка: от новичка до профессионала

Макмахан, Рао. Знакомство с PyTorch: глубокое обучение при обработке естественного языка

Книга Макмахана и Рао посвящена не менее популярному фреймворку глубокого обучения на основе Python – PyTorch, разработанного компанией Facebook. Этот фреймворк существенно более интегрирован с Python и позволяет во многих случаях обходиться стандартной библиотекой языка.

Преимущества

  • Многочисленные примеры работы с PyTorch, выложены на GitHub.
  • Подробные объяснения работы и назначения отрывков кода.
  • Каждая глава снабжена иллюстрациями с переведенным текстом и библиографией.

Недостатки

  • Книга в большей мере предназначена для новичков, только знакомящихся с PyTorch на примере NLP, и поэтому местами слишком многословна.
  • В коде встречаются незначительные опечатки (во всяком случае в переводной версии).

Примечание Если вы давно хотели побробовать поработать с PyTorch, да руки не доходили, начните со статьи Генеративно-состязательная нейросеть: ваша первая GAN-модель на PyTorch.

Bird, Klein, Loper. Natural Language Processing with Python

top 10 knig po obrabotke estestvennogo jazyka ot novichka do professionala b6e10bc - 📕 ТОП-10 книг по обработке естественного языка: от новичка до профессионала

Bird, Klein, Loper. Natural Language Processing with Python (free pdf)

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

Преимущества

  • NLTK является одной из самых известных библиотек для работы с NLP на Python, и книга в полной мере раскрывает классические задачи, с которыми сталкиваются аналитики языковых данных и компьютерные лингвисты.
  • Доходчивое изложение с многочисленными примерами и упражнениями для самоконтроля.

Недостатки

  • После выхода бумажной книги в O’Reilly (2009 г.) прошло много времени. Примеры кода в вебе адаптированы для третьей ветки Python и актуальной версии NLTK. Однако в остальном структура книги не менялась, поэтому последних достижений в области NLP в ней не раскрыты.

Alex Tomas. Natural Language Processing with Spark NLP (2020)

top 10 knig po obrabotke estestvennogo jazyka ot novichka do professionala 735de6b - 📕 ТОП-10 книг по обработке естественного языка: от новичка до профессионала

Alex Tomas. Natural Language Processing with Spark NLP

Apache Spark – фреймворк с открытым исходным кодом для реализации распределённой обработки Big Data. Spark NLP – интерфейс для применения Apache Spark к задачам обработки больших массивов текстовых данных. Взаимодействие со Spark NLP показано на примере Python-библиотеки PySpark. В первой части книги дается введение в работу со Spark, во второй – основные строительные блоки, а в третьей и четвертой – практические приложения и крупные системы на основе Spark NLP.

Преимущества

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

Недостатки

  • Главы 17-19 совсем короткие, и дают слишком общее представление, для конкретики не хватает примеров.

Продвинутый уровень

Гольдберг. Нейросетевые методы в обработке естественного языка (2019)

top 10 knig po obrabotke estestvennogo jazyka ot novichka do professionala 742349e - 📕 ТОП-10 книг по обработке естественного языка: от новичка до профессионала

Гольдберг. Нейросетевые методы в обработке естественного языка

Классическое руководство по применению нейросетевых моделей в обработке данных естественного языка. Перевод на русский язык выпущен ДМК Пресс в 2019 г. по изданию 2017 г. Книга разделена на четыре части: 1) классификация с учителем и нейронные сети прямого распространения, 2) работа с данными естественного языка, 3) специализированные архитектуры нейронных сетей, 4) дополнительные темы. Для прочтения желательны базовые знания линейной алгебры и соответствующей математической нотации.

Преимущества

  • Строгий подход к изложению материала со ссылками на оригинальные научные публикации.
  • Емкое, не «раздутое» описание ключевых концепций.

Недостатки

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

Jurafsky, Martin. Speech and Language Processing (2020)

Своеобразная библия NLP – регулярно обновляемая онлайн-книга исследователей в области NLP и компьютерной лингвистики Дэна Журафски (Стэнфорд) и Джеймса Мартина (университет Колорадо).

Преимущества

  • Широкий круг рассматриваемых тем со ссылками на первоисточники и краткой историей развития вопроса.
  • Емкое представление материала.
  • Некоторые главы сопровождаются упражнениями для самоконтроля.

Недостатки

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

Rothman. Transformers for Natural Language Processing (2021)

top 10 knig po obrabotke estestvennogo jazyka ot novichka do professionala 8cfb222 - 📕 ТОП-10 книг по обработке естественного языка: от новичка до профессионала

Rothman. Transformers for Natural Language Processing

Книга профессора Сорбонны Дениса Ротмана посвящена исключительно одной теме – семейству моделей, встряхнувших в конце десятых годов область NLP – моделям, основанным на механизме внимания и архитектуре Transformer. Если у вас есть опыт в NLP и вы хотите на практике разобраться в текущем state-of-the-art, книга Ротмана станет отличным выбором.

Преимущества

  • На множестве примеров кода Python рассмотрено обучение моделей (и их вариаций) BERT, GLUE, GPT-2 на GPU, в том числе и задачи генерации текста.

Недостатки

  • Местами код превалирует над пояснениями – желательно иметь общее представление о машинном обучении, уметь работать с Jupyter и Data Science библиотеками.

Примечание О возможностях моделей-трансформеров читайте в нашей статье Автодополнение длиной в тысячу слов. Что известно о нейросетевой модели GPT-3.

Vajjala и др. Practical Natural Language Processing (2020)

top 10 knig po obrabotke estestvennogo jazyka ot novichka do professionala 5d8003c - 📕 ТОП-10 книг по обработке естественного языка: от новичка до профессионала

Vajjala, Majumder, Gupta, Surana. Practical Natural Language Processing

Книга разделена на четыре части: введение, основы, приложения, пайплайны. В качестве языка программирования применяется Python. Большое внимание уделено использованию современных моделей NLP и созданию пайплайна проекта машинного обучения – от получения данных на входе до требуемого результата.

Преимущества

  • Структурированное изложение, многочисленные цветные иллюстрации, ссылки на дополнительную литературу.
  • Нацеленность на практическое применение и создание коммерческого продукта, множество примеров приложений NLP.

***

Чтобы оставаться в курсе анализа данных и новых книг мы рекомендуем подписаться на телеграм-каналы Библиотека Data Scientist’а (@dsproglib) и Книги для программиста (@progbook).

  • 38 views
  • 0 Comment

Leave a Reply

Ваш адрес email не будет опубликован. Обязательные поля помечены *

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

Связаться со мной
Close