Видео проигрыватель загружается.Воспроизвести видеоВоспроизвестиБез звукаТекущее время 0:00/Продолжительность 3:24Загрузка: 0.00%0:00Тип потока ОНЛАЙНSeek to live, currently behind liveОНЛАЙНОставшееся время -3:24 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%Стиль края текстаНичегоПоднятыйПониженныйОдинаковыйТеньШрифтПропорциональный без засечекМоноширинный без засечекПропорциональный с засечкамиМоноширинный с засечкамиСлучайныйПисьменныйМалые прописныеСбросить сбросить все найстройки по умолчаниюГотовоЗакрыть модальное окноКонец диалогового окна.
Следующий шаг — это загрузить наш датасет. Наш датасет состоит из двух частей — из обучающей выборки и тестовой. Давайте посмотрим на размеры этих выборок и выведем какой-нибудь один пример. Видим, что у нас примерно 18 тысяч текстов суммарно, из них примерно две трети содержатся в обучающей выборке, а треть в — тестовой. Сейчас на экране выделен текст первого примера из обучающей выборки. Как вы видите, длина текста — это несколько предложений плюс какая-то мета-информация. Классы в этом датасете обозначаются числами от 0 до 19. Пример на экране имеет метку "7". Хорошо, датасет загрузили, теперь нам нужно преобразовать сырые тексты в признаки. В результате подготовки признаков мы получим две прямоугольные матрицы, строки которых соответствуют текстам, а столбцы — признакам. Две матрицы — потому, что две подвыборки — обучающая и тестовая. Первый шаг почти для всех задач обработки текстов — это токенизация. Токенизация — это разбиение исходного текста на базовые лексические элементы, токены. В нашем семинаре для токенизации мы используем функцию, которая реализована в нашей библиотечке — она называется "tokenize_corpus". Давайте посмотрим, что же она делает. Вот она — функция "tokenize_corpus", она принимает на вход список текстов (список строк), а также функцию, которая будет принимать одну строку и возвращать список токенов. Собственно, токенизация корпуса заключается в том, что мы последовательно токенизируем каждый текст. В этом семинаре для токенизации текста мы будем использовать функцию, реализованную чуть выше, которая называется "tokenize_text_simple rejects". Идея этой функции заключается в том, что мы, с помощью регулярного выражения, описываем всё возможное множество токенов, которое нас интересует, а затем оставляем только более-менее длинные токены. По умолчанию задана минимальная длина токена: 4. Для описания множества допустимых токенов мы используем выделенное на экране регулярное выражение. Это регулярное выражение срабатывает на непрерывных последовательностях букв или цифр. Таким образом, знаки препинания, пробелы, специальные символы мы полностью игнорируем. Нас интересуют только непрерывные последовательности букв и цифр. Это регулярное выражение уж очень простое для реальной жизни, но для задач нашего курса — вполне достаточно. Вполне возможно что и в некоторых реальных проектах такого токенизатора вам будет вполне достаточно. Итак, в результате токенизации первого текста из обучающей выборки мы получаем следующий список токенов. После токенизации у нас остались только последовательности, состоящие из букв и цифр.

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