Обработка естественного языка (natural language processing, NLP) – область computer science, находящаяся на стыке искусственного интеллекта и математической лингвистики. В практическом отношении NLP занимается созданием удобных форм взаимодействия компьютера и человека – чтобы компьютер мог понять, что мы от него хотим, просто сказав ему это.
Пример алгоритма NLP, к которому мы обращаемся ежедневно – информационный поиск. Когда мы что-то вводим в поисковую строку Google или Яндекс, модель преобразует строку в представления в виде дискретных структур: тензоров, векторов, деревьев и графов. Родственные системы анализируют эмоциональную окраску текста, вычленить факты, главную мысль и т.д. Да и не только анализируют текст, но и генерирут его, например, в чат-ботах. Или переводят речь с одного языка на другой.
Примечание
Если вас интересует, что такое обработка естественного языка, как в ней разобраться и как начать его использовать, начните с этой статьи.
В приведенной подборке мы собрали десятку актуальных книг, изданных преимущественно в последние два-три года. Стоит оговориться, что большинство изданий в качестве основного естественного языка подразумевает английский, однако многие подходы переносимы, – пусть и с оговорками – на другие языки, включая русский.
https://rabota.dev/javascript:void 0;
Пятисотстраничное пособие Natural Language Processing in Action переведено и выпущено в 2020 г. издательством Питер. Основной акцент сделан на популярных теперь нейросетевых подходах. Авторы успели захватить и популярный теперь механизм внимания, использующийся для моделей генерации текста. Кроме общих вопросов обработки естественного языка рассмотрены задачи выделения именованных сущностей и создания диалоговых систем.
Преимущества
Риз. Обработка естественного языка на Java
Описаны простые токенизаторы Java, прикладные программные интерфейсы NLP, использование библиотек NLP API для поиска именованных объектов, определения частей речи, классификации документов, нахождения взаимосвязей.
Преимущества
Ганегедара. Обработка естественного языка с TensorFlow
TensorFlow – фреймворк глубокого обучения, разработанный и поддерживаемый компанией Google. В книге описаны методы решения задач NLP с помощью функций TensorFlow для создания нейронных сетей; стратегии обработки больших объемов данных и представления слов для использования в приложениях глубокого обучения; технологии улучшенной классификации предложений и генерации текста при помощи сверточных и рекуррентных нейросетей; их применение для решения комплексной задачи генерации текста; принципы машинного перевода; тенденции области.
Оригинал написан в 2018 г., переведено и издано ДМК Пресс в 2020 г.
Преимущества
Макмахан, Рао. Знакомство с PyTorch: глубокое обучение при обработке естественного языка
Книга Макмахана и Рао посвящена не менее популярному фреймворку глубокого обучения на основе Python – PyTorch, разработанного компанией Facebook. Этот фреймворк существенно более интегрирован с Python и позволяет во многих случаях обходиться стандартной библиотекой языка.
Преимущества
Если вы давно хотели побробовать поработать с PyTorch, да руки не доходили, начните со статьи Генеративно-состязательная нейросеть: ваша первая GAN-модель на PyTorch.
Bird, Klein, Loper. Natural Language Processing with Python (free pdf)
NLTK – пакет библиотек и программ для символьной и статистической обработки естественного языка, написанных на Python. NLTK сопровождается обширной документацией, включая общедоступную книгу с объяснением основных концепций NLP.
Преимущества
Alex Tomas. Natural Language Processing with Spark NLP
Apache Spark – фреймворк с открытым исходным кодом для реализации распределённой обработки Big Data. Spark NLP – интерфейс для применения Apache Spark к задачам обработки больших массивов текстовых данных. Взаимодействие со Spark NLP показано на примере Python-библиотеки PySpark. В первой части книги дается введение в работу со Spark, во второй – основные строительные блоки, а в третьей и четвертой – практические приложения и крупные системы на основе Spark NLP.
Преимущества
Гольдберг. Нейросетевые методы в обработке естественного языка
Классическое руководство по применению нейросетевых моделей в обработке данных естественного языка. Перевод на русский язык выпущен ДМК Пресс в 2019 г. по изданию 2017 г. Книга разделена на четыре части: 1) классификация с учителем и нейронные сети прямого распространения, 2) работа с данными естественного языка, 3) специализированные архитектуры нейронных сетей, 4) дополнительные темы. Для прочтения желательны базовые знания линейной алгебры и соответствующей математической нотации.
Преимущества
Преимущества
Rothman. Transformers for Natural Language Processing
Книга профессора Сорбонны Дениса Ротмана посвящена исключительно одной теме – семейству моделей, встряхнувших в конце десятых годов область NLP – моделям, основанным на механизме внимания и архитектуре Transformer. Если у вас есть опыт в NLP и вы хотите на практике разобраться в текущем state-of-the-art, книга Ротмана станет отличным выбором.
Преимущества
О возможностях моделей-трансформеров читайте в нашей статье Автодополнение длиной в тысячу слов. Что известно о нейросетевой модели GPT-3.
Vajjala, Majumder, Gupta, Surana. Practical Natural Language Processing
Книга разделена на четыре части: введение, основы, приложения, пайплайны. В качестве языка программирования применяется Python. Большое внимание уделено использованию современных моделей NLP и созданию пайплайна проекта машинного обучения – от получения данных на входе до требуемого результата.
Преимущества
Источник статьи: https://proglib.io/p/top-10-knig-po...azyka-ot-novichka-do-professionala-2021-03-24
Пример алгоритма NLP, к которому мы обращаемся ежедневно – информационный поиск. Когда мы что-то вводим в поисковую строку Google или Яндекс, модель преобразует строку в представления в виде дискретных структур: тензоров, векторов, деревьев и графов. Родственные системы анализируют эмоциональную окраску текста, вычленить факты, главную мысль и т.д. Да и не только анализируют текст, но и генерирут его, например, в чат-ботах. Или переводят речь с одного языка на другой.
Примечание
Если вас интересует, что такое обработка естественного языка, как в ней разобраться и как начать его использовать, начните с этой статьи.
В приведенной подборке мы собрали десятку актуальных книг, изданных преимущественно в последние два-три года. Стоит оговориться, что большинство изданий в качестве основного естественного языка подразумевает английский, однако многие подходы переносимы, – пусть и с оговорками – на другие языки, включая русский.
NLP для новичков
Лейн, Хапке, Ховард. Обработка естественного языка в действии (2020)

https://rabota.dev/javascript:void 0;
Пятисотстраничное пособие Natural Language Processing in Action переведено и выпущено в 2020 г. издательством Питер. Основной акцент сделан на популярных теперь нейросетевых подходах. Авторы успели захватить и популярный теперь механизм внимания, использующийся для моделей генерации текста. Кроме общих вопросов обработки естественного языка рассмотрены задачи выделения именованных сущностей и создания диалоговых систем.
Преимущества
- Большое количество примеров кода на Python и доходчивых пояснений.
- Рассматриваются и традиционные модели, и последние достижения области.
- Вопрос распараллеливания вычислений рассмотрен слишком поверхностно.
Риз. Обработка естественного языка на Java (2016)

Риз. Обработка естественного языка на Java
Описаны простые токенизаторы Java, прикладные программные интерфейсы NLP, использование библиотек NLP API для поиска именованных объектов, определения частей речи, классификации документов, нахождения взаимосвязей.
Преимущества
- Редкий пример книги о реализации NLP-систем с помощью Java.
- Структурированное представление информации с многочисленными листингами.
- Сравнительно небольшой объем книги (264 с.) и узкий круг рассматриваемых тем.
Обработка естественного языка в контексте Data Science фреймворков
Ганегедара. Обработка естественного языка с TensorFlow (2020)

Ганегедара. Обработка естественного языка с TensorFlow
TensorFlow – фреймворк глубокого обучения, разработанный и поддерживаемый компанией Google. В книге описаны методы решения задач NLP с помощью функций TensorFlow для создания нейронных сетей; стратегии обработки больших объемов данных и представления слов для использования в приложениях глубокого обучения; технологии улучшенной классификации предложений и генерации текста при помощи сверточных и рекуррентных нейросетей; их применение для решения комплексной задачи генерации текста; принципы машинного перевода; тенденции области.
Оригинал написан в 2018 г., переведено и издано ДМК Пресс в 2020 г.
Преимущества
- Большое количество переведенных иллюстраций и примеров кода на Python.
- Наглядное представление материала, без излишнего формализма, но с приведением расчетных формул, математические основы вынесены в приложение.
- Внимательное отношение к оценке результатов машинного обучения.
- В силу специфики книги общим вопросам NLP уделено меньшее внимание, чем в приведенных выше изданиях.
Макмахан, Рао. Знакомство с PyTorch (2020)

Макмахан, Рао. Знакомство с PyTorch: глубокое обучение при обработке естественного языка
Книга Макмахана и Рао посвящена не менее популярному фреймворку глубокого обучения на основе Python – PyTorch, разработанного компанией Facebook. Этот фреймворк существенно более интегрирован с Python и позволяет во многих случаях обходиться стандартной библиотекой языка.
Преимущества
- Многочисленные примеры работы с PyTorch, выложены на GitHub.
- Подробные объяснения работы и назначения отрывков кода.
- Каждая глава снабжена иллюстрациями с переведенным текстом и библиографией.
- Книга в большей мере предназначена для новичков, только знакомящихся с PyTorch на примере NLP, и поэтому местами слишком многословна.
- В коде встречаются незначительные опечатки (во всяком случае в переводной версии).
Если вы давно хотели побробовать поработать с PyTorch, да руки не доходили, начните со статьи Генеративно-состязательная нейросеть: ваша первая GAN-модель на PyTorch.
Bird, Klein, Loper. Natural Language Processing with Python

NLTK – пакет библиотек и программ для символьной и статистической обработки естественного языка, написанных на Python. NLTK сопровождается обширной документацией, включая общедоступную книгу с объяснением основных концепций NLP.
Преимущества
- NLTK является одной из самых известных библиотек для работы с NLP на Python, и книга в полной мере раскрывает классические задачи, с которыми сталкиваются аналитики языковых данных и компьютерные лингвисты.
- Доходчивое изложение с многочисленными примерами и упражнениями для самоконтроля.
- После выхода бумажной книги в O'Reilly (2009 г.) прошло много времени. Примеры кода в вебе адаптированы для третьей ветки Python и актуальной версии NLTK. Однако в остальном структура книги не менялась, поэтому последних достижений в области NLP в ней не раскрыты.
Alex Tomas. Natural Language Processing with Spark NLP (2020)

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)

Гольдберг. Нейросетевые методы в обработке естественного языка
Классическое руководство по применению нейросетевых моделей в обработке данных естественного языка. Перевод на русский язык выпущен ДМК Пресс в 2019 г. по изданию 2017 г. Книга разделена на четыре части: 1) классификация с учителем и нейронные сети прямого распространения, 2) работа с данными естественного языка, 3) специализированные архитектуры нейронных сетей, 4) дополнительные темы. Для прочтения желательны базовые знания линейной алгебры и соответствующей математической нотации.
Преимущества
- Строгий подход к изложению материала со ссылками на оригинальные научные публикации.
- Емкое, не «раздутое» описание ключевых концепций.
- Первая часть дает введение в методологию машинного обучения. Рассмотрение NLP начинается только со второй главы. Но таков подход к изложению материала – кто знаком с машинным обучением, может эту главу пропустить.
- Не рассматриваются аннотирование данных и метрики для оценки качества работы алгоритмов.
Jurafsky, Martin. Speech and Language Processing (2020)
Своеобразная библия NLP – регулярно обновляемая онлайн-книга исследователей в области NLP и компьютерной лингвистики Дэна Журафски (Стэнфорд) и Джеймса Мартина (университет Колорадо).Преимущества
- Широкий круг рассматриваемых тем со ссылками на первоисточники и краткой историей развития вопроса.
- Емкое представление материала.
- Некоторые главы сопровождаются упражнениями для самоконтроля.
- В плане кода книга не содержит готовых программных решений. Используется псевдокод или математический подход к описанию моделей. Однако и сама книга носит фундаментальный характер.
Rothman. Transformers for Natural Language Processing (2021)

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)

Vajjala, Majumder, Gupta, Surana. Practical Natural Language Processing
Книга разделена на четыре части: введение, основы, приложения, пайплайны. В качестве языка программирования применяется Python. Большое внимание уделено использованию современных моделей NLP и созданию пайплайна проекта машинного обучения – от получения данных на входе до требуемого результата.
Преимущества
- Структурированное изложение, многочисленные цветные иллюстрации, ссылки на дополнительную литературу.
- Нацеленность на практическое применение и создание коммерческого продукта, множество примеров приложений NLP.
Источник статьи: https://proglib.io/p/top-10-knig-po...azyka-ot-novichka-do-professionala-2021-03-24