От всей души рекомендую курс по
Natural Language Processing за авторством
Michael Collins. Это лучший курс из тех, что я проходил на Coursera (ладно-ладно, помимо NLP, я прошёл всего один другой курс, но NLP правда выше всяких похвал).
Препода (и примкнувшего к нему
ассистента) можно смело ставить в палату мер и весов в качестве золотого стандарта качества преподавания. Во-первых, почти весь материал у него на сайте сведён в пдфки (это не просто слайды из видеолекций, а статьи неплохого качества, после небольшой обработки можно хоть книжку из них делать). Во-вторых, видеолекции он читает замечательно: разборчиво и связно говорит, приводит понятные примеры, рассказывает про интуицию, стоящую за моделями, и даёт ссылки на статьи и книги, где можно про разбираемую тему узнать больше. Материалов за две последние недели в виде пдфок на сайте всё же не было, и мне пришлось таки посмотреть видео, о чём я, при всей своей лютой ненависти к формату видеолекций, не пожалел. В-третьих (и это меня поразило больше всего), преподаватель активно отвечает на вопросы студентов на форуме, и отвечает не просто развёрнуто, а почти всегда сопровождает ответы ссылками в стиле "посмотрите, эти ребята в своей статье попробовали вот такой подход, а в материалах этой конференции, если интересно, была статья, где сравнивались различные алгоритмы".
В общем и в целом в курсе вас научат различным статистическим моделям, которые применяются при обработке натуральных языков (с упором, к сожалению, на английский). Скрытые марковские модели, (лексикализованные) стохастические контекстно-свободные грамматики, различные модели для машинного перевода (по верхам, но в обзорном курсе сложно развёрнуто обхватить такую большую и сложную тему), лог-линейные модели, глобальные линейные модели, вот это всё.
Помимо теоретических тестов, есть несколько заданий на программирование (нахождение генов в тексте, синтаксический разбор и сопоставление слов для машинного перевода), с которыми, увы, получилось не очень здорово: для получения максимального балла обычно достаточно просто реализовать то, что просят, и стимула улучшать своё решения, пытаясь выбить максимальные полноту/точность, нет. Я, впрочем, компенсировал это тем, что развлекался, экспериментируя с разными ЯП. Первое задание я сделал на Go, второе – на Haskell, третье – на D, а на четвёртом мне как-то надоело (к тому же D оказался на редкость упоротым языком), и я вернулся к старому доброму C++.
Судя по всему, понравилось не мне одному, на форуме курса в тредике с названием "Your experience with the class" больше полусотни отзывов, и практически все – восторженные.
Также на Coursera есть похожий
курс с тем же названием от других (широко известных в узких кругах) преподавателей, где разбираются более базовые вещи. Люди, его проходившие, отзываются в очень позитивном ключе (я на него в своё время записывался, но в силу нехватки времени не продвинулся дальше первого задания).