Разбиение по пробелам и его ограничения
Где наивное разбиение даёт сбой
«Разбиение по пробелам и его ограничения» — бесплатный урок NLP Academy на CoddyKit. Это урок 2 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения NLP Academy, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс NLP Academy содержит 4 уроков всего.
Самый простой токенизатор
Проще всего выполнять токенизацию, разделяя текст по пробелам. Метод split() в Python делает именно это без какой-либо настройки. ✂️
text = "I love cats"
print(text.split()) # ['I', 'love', 'cats']Как работает split()
Вызванный без аргументов, split() разделяет текст по любой последовательности пробельных символов: пробелам, табуляции или переводам строк. Пустые промежутки автоматически игнорируются.
Иногда этого достаточно
Для чистых простых предложений разделение по пробельным символам выполняется быстро и даёт достаточно хороший результат. Это хороший первый шаг во время изучения основ.
Знаки препинания приклеиваются
Вот первая проблема: знаки препинания приклеиваются к словам. Разбиение cats! даёт cats! как один токен, а не нужное Вам чистое слово cats.
print("I love cats!".split()) # ['I', 'love', 'cats!']Одно слово, разные токены
Теперь cats и cats! считаются двумя разными токенами. Подсчёты слов разделяются, незаметно искажая все последующие измерения.
Сокращения нарушают разбиение
Разбиение по пробельным символам оставляет don't одним фрагментом. Оно не видит скрытое not внутри, поэтому отрицание полностью теряется.
Дефисы сбивают его с толку
Такое слово, как state-of-the-art, остаётся одним слитным токеном. Иногда это правильно, но split() не даёт Вам выбора.
Нет пробела — нет разделения
Многие языки, например китайский, пишутся без пробелов между словами. В таком случае разделение по пробельным символам полностью не работает и возвращает один огромный токен.
Регистр всё ещё мешает
Одно лишь разделение сохраняет Cats и cats раздельно из-за заглавной буквы. Разбиение по пробельным символам вовсе не выполняет нормализацию за Вас.
Почему это важно
Все эти недостатки накапливаются. Неаккуратные токены приводят к неправильным подсчётам, а неправильные подсчёты — к более слабой модели в дальнейшем конвейере.
Следующий шаг
Разбиение по пробельным символам — отличный учебный пример, но плохое окончательное решение. В реальных проектах используют полноценный токенизатор, обрабатывающий такие крайние случаи.
Быстрая проверка
Найдите недостаток наивного разбиения.
Итоги
Разбиение по пробельным символам с помощью split() простое и быстрое, но оно приклеивает знаки препинания, пропускает сокращения и не работает без пробелов. Отлично для обучения, но недостаточно для готового решения.
Изучай Python с ИИ-репетитором — бесплатно
Пиши и запускай код прямо в браузере, получай мгновенную помощь от ИИ-репетитора 24/7 и продолжи учиться на сайте или в приложении.
- Курсы
- 30
- Уроки
- 120
Часто задаваемые вопросы
Урок «Разбиение по пробелам и его ограничения» бесплатный?
Да — полный текст урока «Разбиение по пробелам и его ограничения» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс NLP Academy, подпишись на CoddyKit PRO. Курс NLP Academy содержит 4 уроков всего.
Чему я научусь в уроке «Разбиение по пробелам и его ограничения»?
Где наивное разбиение даёт сбой Ты практикуешь NLP Academy с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.
Нужен ли мне опыт, чтобы начать NLP Academy?
Предыдущий опыт не требуется. NLP Academy на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 2 из 4.
Сколько времени занимает урок «Разбиение по пробелам и его ограничения»?
Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.
Можно ли писать и запускать код в этом уроке NLP Academy?
Да. Каждый урок NLP Academy включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.
Все уроки этого курса
- Что на самом деле представляет собой токен
- Разбиение по пробелам и его ограничения
- Основы сегментации предложений
- Токенизация с помощью NLTK