Юлий ВасильевОбработка естественного языка. Python и spaCy на практике
Python и spaCy помогут вам быстро и легко создавать NLP-приложения: чат-боты, сценарии для сокращения текста или инструменты принятия заказов. Вы научитесь использовать spaCy для интеллектуального анализа текста, определять синтаксические связи между словами, идентифицировать части речи, а также определять категории для имен собственных. Ваши приложения даже смогут поддерживать беседу, создавая собственные вопросы на основе разговора. Вы научитесь: • Работать с векторами слов, чтобы находить синонимы (глава 5). • Выявлять закономерности в данных с помощью displaCy — встроенного средства визуализации библиотеки spaCy (глава 7). • Автоматически извлекать ключевые слова из пользовательского ввода и сохранять их в реляционной базе данных (глава 9). • Развертывать приложения на примере чат-бота для взаимодействия с пользователями (глава 11).
Прочитав эту книгу, вы можете сами расширить приведенные в ней сценарии, чтобы обрабатывать разнообразные варианты ввода и создавать приложения профессионального уровня.
Названия моделей создаются по следующему принципу: lang_type_genre_size. Lang обозначает язык. Type указывает на возможности модели (например, core означает, что речь идет об универсальной модели, имеющей словарь, синтаксис, сущности и векторы). Genre указывает на тип текстов, которые лежали в основе обучения данной модели: web («Википедия» или подобные ресурсы) или news (новостные статьи). Size обозначает размер модели: lg — большая, md — средняя и sm — маленькая. Чем больше модель, тем больше дискового пространства ей нужно.
Обычно узлы в нейронной сети сгруппированы по слоям: имеются входной и выходной слои, а между ними — один скрытый слой или более. Каждый узел в слое (за исключением выходного слоя) соединяется с каждым узлом из следующего слоя, и каждому соединению соответствует весовой коэффициент. Во время процесса обучения алгоритм подбирает веса таким образом, чтобы минимизировать ошибку предсказаний