Видео проигрыватель загружается.Воспроизвести видеоВоспроизвестиБез звукаТекущее время 0:00/Продолжительность 4:20Загрузка: 0.00%0:00Тип потока ОНЛАЙНSeek to live, currently behind liveОНЛАЙНОставшееся время -4:20 1xСкорость воспроизведения2x1.75x1.5x1.25x1x, выбрано0.75x0.5xГлавыГлавыОписанияОтключить описания, выбраноСубтитрынастройки субтитров, откроется диалог настройки субтитровСубтитры выкл., выбраноЗвуковая дорожкаPicture-in-PictureПолноэкранный режимThis is a modal window.Начало диалоговго окна. Кнопка Escape закроет или отменит окноТекстColorБелыйЧерныйКрасныйЗеленыйСинийЖелтыйПурпурныйГолубойTransparencyПрозрачностьПолупрозрачныйФонColorЧерныйБелыйКрасныйЗеленыйСинийЖелтыйПурпурныйГолубойTransparencyПрозрачностьПолупрозрачныйПрозрачныйОкноColorЧерныйБелыйКрасныйЗеленыйСинийЖелтыйПурпурныйГолубойTransparencyПрозрачныйПолупрозрачныйПрозрачностьРазмер шрифта50%75%100%125%150%175%200%300%400%Стиль края текстаНичегоПоднятыйПониженныйОдинаковыйТеньШрифтПропорциональный без засечекМоноширинный без засечекПропорциональный с засечкамиМоноширинный с засечкамиСлучайныйПисьменныйМалые прописныеСбросить сбросить все найстройки по умолчаниюГотовоЗакрыть модальное окноКонец диалогового окна.
Всем привет! Сегодня мы поговорим об одной из фундаментальных задач в обработке текстов: моделировании языка. Эта задача, в некотором смысле, особенная, потому что с ней связаны недавние революционные изменения в области обработки текстов — а именно, существенное улучшение качества решения задач и демократизация этой области. Благодаря тому, что веса предобученных моделей выложены в интернете и код доступен, любой может улучшить свои результаты, просто подключив одну из доступных моделей. Ну что ж, поехали! На вход поступает токенизированный текст. Мы будем рассматривать такой текст как "сэмпл" из некоторого неизвестного распределения. В русскоязычной литературе это ещё называют "реализации случайной величины". Мы строим модель, которая должна уметь, для заданного фрагмента текста, оценивать вероятность встретить такой фрагмент в настоящем тексте. Другими словами, модель предсказывает, насколько данный фрагмент похож на настоящий текст, или — насколько он правдоподобен. В общем виде, такая задача не является уникальной именно для автоматической обработки текстов. Это одна из основных задач от мат.статистики, она называется "оценка плотности распределения". В контексте машинного обучения это является одной из возможных постановок задач обучения без учителя. Если у нас есть вычислимая оценка плотности распределения, то мы можем сэмплировать из этого распределения — то есть, в нашем случае, мы можем генерировать тексты с помощью языковых моделей. Ну, и зачем нам это всё надо? Одно из самых очевидных применений таких моделей — это проверка и коррекция ошибок в текстовых редакторах.[1] Пользователь набирает текст, мы оцениваем правдоподобие этого текста с помощью нашей модели, находим слова, более всего снижающие правдоподобие текста, и подсвечиваем их как возможное место, где есть ошибка. Для примерно такой же цели, языковые модели применяются ещё в распознавании речи, то есть в преобразовании аудиозаписи голоса в текст, и в машинном переводе. В таких задачах решение часто строится из двух шагов. Первый шаг переводит данные из одного домена в другой — например, из аудио в текст, а другой шаг работает только во втором домене и исправляет ошибки, допущенные на первом шаге. Например, если мы слышим "let it be", то у нас есть два похожих варианта написания (похожих по звучанию, конечно). Вот, как раз, языковая модель и должна выбрать, какой из этих двух вариантов более правдоподобен с точки зрения языка. Для обучения моделей для распознавания речи или для перевода требуется параллельный корпус, то есть датасет из пар: аудио и результирующий текст или пар предложений на двух языках. Объёмы таких корпусов относительно небольшие, особенно в сравнении с общим количеством документов в интернете. Модель, обученная без учителя только на одном домене, знает про этот домен гораздо больше, чем модель с учителем, но обученная на небольшом корпусе. Надо научиться эффективно делать обучение без учителя. В последнее время одно из наиболее активных направлений работы в области нейросетей — перенос знаний или перенос навыков. Англоязычный термин: transfer learning. Мы можем обучить большую модель на большом корпусе — предпочтительно, без учителя (если можем, конечно). А потом — использовать небольшой корпус, предназначенный для одной конкретной задачи, чтобы "донастроить" полученную большую модель именно под эту задачу. Языковые модели — это основа переноса навыков в обработке текстов. Это как нейросети, обученные на ImageNet, если проводить аналогию с областью компьютерного зрения.
[1] https://habr.com/ru/post/108831/

К сожалению, у нас пока нет статистики ответов на данный вопрос, но мы работаем над этим.