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

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

Где-то я читала, что если ты встречаешь какой-то вопрос дважды, то возможно хорошая идея - написать об этом в блог. Следуя этому правилу и желанию сохранить в будущем немного времени, вот мой ответ на стандартный вопрос: "Я изучал *такую-то* науку и мне интересно NLP (Natural Language Processing - обработка естественного языка), как мне начать его изучать?"

 

Перед тем, как вы начнёте, хочу заметить, что приведённый ниже список скорее всего является неполным и служит лишь отправной точкой. Для лучшего ориентирования в потоке информации также приведены краткое описание и оценка сложности. Рекомендуется иметь базовые навыки программирования (например, на Python).

Онлайн курсы

Библиотеки и открытые ресурсы

  • spaCy (websiteblog) - Python; новая открытая библиотека с превосходными примерами, API документацией и демо-приложениями.
  • Natural Language Toolkit (NLTK) (websitebook)Python; практическое введение в программирование для NLP, в основном используемое для обучения.
  • Stanford CoreNLP (website) - Java; высококачественный инструментарий для анализа.

Блоги

Книги

Другие источники

Что вы можете сделать сами?

  • Создайте определитель частей речи с использованием скрытой Марковской модели.
  • Используйте алгоритм Кока — Янгера — Касами для распознавания контекстно-свободных грамматик.
  • Проанализируйте семантическое сходство между двумя словами в тексте.
  • Попробуйте использовать Наивный байесовский классификатор, чтобы фильтровать спам.
  • Используйте систему проверки правописания, основанную на алгоритме вычисления расстояния редактирования.
  • Изучите тематическое моделирование с использованием латентного размещения Дирихле

Автор: Melanie Tosik

Обработка естественного языка: другие материалы по теме

Основы машинного обучения за неделю

 

МЕРОПРИЯТИЯ

Комментарии

ВАКАНСИИ

Добавить вакансию
Разработчик С#
от 200000 RUB до 400000 RUB
Senior Java Developer
Москва, по итогам собеседования

ЛУЧШИЕ СТАТЬИ ПО ТЕМЕ