.. _chap_nlp_pretrain: Обработка естественного языка: Предобучение =========================================== Люди нуждаются в общении. Из этой базовой потребности человеческого существования ежедневно генерируется огромное количество текстовой информации. Учитывая обилие текстов в социальных сетях, мессенджерах, электронной почте, отзывах на товары, новостных статьях, научных публикациях и книгах, становится жизненно важным научить компьютеры понимать их, чтобы оказывать помощь или принимать решения на основе человеческого языка. **Обработка естественного языка** изучает взаимодействие между компьютерами и людьми с использованием естественных языков. На практике очень распространено применение методов обработки естественного языка для обработки и анализа текстовых данных (естественного языка человека), таких как языковые модели в :numref:`sec_language-model` и модели машинного перевода в :numref:`sec_machine_translation`. Чтобы понять текст, можно начать с изучения его представлений. Используя существующие текстовые последовательности из больших корпусов, *самообучение* широко применяется для предварительного обучения текстовых представлений, например, путем предсказания скрытой части текста на основе окружающего контекста. Таким образом, модели обучаются на основе *огромных* объёмов текстовых данных без *дорогостоящих* усилий по разметке! Как мы увидим в этой главе, при рассмотрении каждого слова или подслова в качестве отдельного токена представление каждого токена может быть предобучено с помощью word2vec, GloVe или моделей эмбеддингов подслов на больших корпусах. После предобучения представление каждого токена может быть вектором, однако оно остается неизменным независимо от контекста. Например, векторное представление слова «bank» одинаково как в фразе «go to the bank to deposit some money», так и в фразе «go to the bank to sit down». Таким образом, многие более современные модели предобучения адаптируют представление одного и того же токена к различным контекстам. Среди них — BERT, гораздо более глубокая модель самообучения, основанная на кодировщике трансформера. В этой главе мы сосредоточимся на том, как предобучать такие представления для текста, как показано на рисунке :numref:`fig_nlp-map-pretrain`. .. _fig_nlp-map-pretrain: .. figure:: ../img/nlp-map-pretrain.svg Предобученные текстовые представления можно подавать на вход различным архитектурам глубокого обучения для решения разных задач обработки естественного языка. В этой главе основное внимание уделяется предобучению текстовых представлений на этапе upstream. Чтобы увидеть общую картину, :numref:`fig_nlp-map-pretrain` показывает, что предварительно обученные текстовые представления можно подавать в различные архитектуры глубокого обучения для различных задач обработки естественного языка. Мы рассмотрим их в :numref:`chap_nlp_app`. .. toctree:: :maxdepth: 2 word2vec approx-training word-embedding-dataset word2vec-pretraining glove subword-embedding similarity-analogy bert bert-dataset bert-pretraining