В чём разница между токеном, словом и предложением?

Разница между токеном, словом и предложением проявляется в уровне абстракции и в том, как текст обрабатывается человеком и машиной. В рамках обработки естественного языка (NLP) и лингвистики эти термины имеют конкретные определения и служат для различных целей — от синтаксического анализа до представления текста в виде, пригодном для машинного обучения.

1. Слово

Слово — это минимальная самостоятельная лексическая единица языка, обладающая значением. В лингвистике слово определяется как элемент языка, который может выступать в речи и быть осмысленным без зависимости от других элементов.

Примеры слов:

  • "дерево"

  • "читаю"

  • "машинное"

  • "непонятный"

Особенности:

  • Слово может быть простым (дом), сложным (автосервис), словосочетанием (поезда дальнего следования — в речи воспринимается как единое понятие).

  • В языках с флексией (русский, немецкий) слово может изменяться по падежам, числам, родам, временам и пр.

  • Разделение на слова — не всегда тривиально (особенно в китайском и японском, где слова не отделяются пробелами).

2. Предложение

Предложение — это грамматически оформленная единица речи, выражающая законченную мысль. Оно состоит из одного или нескольких слов, объединённых синтаксическими связями и интонацией.

Примеры:

  • "Машинное обучение развивается очень быстро."

  • "Погода хорошая."

  • "Что ты делаешь?"

Характеристики предложения:

  • Содержит подлежащее и сказуемое (в большинстве случаев)

  • Может быть простым или сложным (с несколькими частями)

  • Является единицей анализа на уровне дискурса и логики

  • В NLP используется для:

    • Сегментации текста (sentence segmentation)

    • Анализа отношений между частями текста (coreference resolution, summarization)

Разделение на предложения — не всегда очевидно:

  • "Я позвонил маме. Она не ответила."

  • "Он сказал: «Я скоро приду»."
    — Здесь кавычки и двоеточие требуют особой логики парсинга.

3. Токен

Токен — это минимальная единица текста, определённая в рамках конкретного процесса токенизации. В зависимости от того, как устроен токенизатор, токеном может быть:

  • целое слово

  • часть слова (субтокен)

  • символ (буква, цифра, эмодзи)

  • пунктуационный знак

  • даже байт или Unicode-символ

Таким образом, токен — это машинно-интерпретируемая единица текста, а не лингвистическая.

Примеры:

Текст:
"Машинное обучение — это круто!"

Токенизация по словам:

 \["Машинное", "обучение", "—", "это", "круто", "!"\]

Токенизация BPE (Byte Pair Encoding):

 \["Маш", "ин", "ное", "об", "учение", "—", "это", "кру", "то", "!"\]

Токенизация по символам:

 \["М", "а", "ш", "и", "н", "н", "о", "е", " ", "о", "б", "у", "ч", "е", "н", "и", "е", " ", "—", " ", "э", "т", "о", " ", "к", "р", "у", "т", "о", "!"\]

4. Сравнение: слово vs токен

Характеристика Слово Токен
Понимание Лингвистическое, человекопонятное Формальное, машинное
--- --- ---
Может быть частью слова Нет Да (в subword-токенизации)
--- --- ---
Обязательно содержит смысл Да Не всегда (например, "##ing")
--- --- ---
Стандарт Нет чёткого Зависит от токенизатора
--- --- ---
Языкозависимость Да (морфология, синтаксис) Часто язык-агностичный
--- --- ---

Пример:

Слово: "unhappiness"

Токены в WordPiece: ["un", "##happiness"]
Токены в BPE: ["un", "hap", "pi", "ness"]
Токены по символам: ["u", "n", "h", "a", "p", "p", "i", "n", "e", "s", "s"]

5. Сравнение: предложение vs токен

Характеристика Предложение Токен
Размер Множественные слова Минимальная единица
--- --- ---
Зависит от грамматики Да Нет
--- --- ---
Единица смысла Да Часто — нет
--- --- ---
Используется для Разбора текста, логики Моделирования входов в ML-моделях
--- --- ---

6. Роль в NLP

Слова:

  • Используются в классических NLP (TF-IDF, BoW)

  • Привязаны к смыслу

  • Неустойчивы к морфологическим изменениям

Предложения:

  • Используются в анализе отношений

  • Служат единицами в резюмировании, QA, машинном переводе

  • Отражают дискурс и контекст

Токены:

  • Обязательны для входа в модели (BERT, GPT и др.)

  • Могут включать субтокены, emoji, коды

  • Формируют числовые представления: input_ids, attention_mask и т.д.

7. Пример: один и тот же текст на всех уровнях

Текст:
"Я люблю машинное обучение."

Уровень Результат
Предложение ["Я люблю машинное обучение."]
--- ---
Слова ["Я", "люблю", "машинное", "обучение"]
--- ---
Word токены ["Я", "люблю", "машинное", "обучение", "."]
--- ---
Subword токены (BPE) ["Я", "лю", "блю", "маш", "инное", "об", "учение", "."]
--- ---
Символы ["Я", " ", "л", "ю", "б", "л", "ю", " ", ..., "."]
--- ---

8. Дополнительные замечания

  • В нейронных сетях токенизация влияет на то, как обрабатывается длина последовательности: 1 предложение может быть превращено в 10–50 токенов в зависимости от модели.

  • В переводе и QA предложенческая сегментация помогает упростить работу моделей.

  • В анализе текста (тональность, классификация) важна токенизация, чтобы не потерять смысла при обрезке длинных предложений.

Таким образом, токен — это вычислительная единица для NLP-моделей, слово — лингвистическая единица с самостоятельным значением, а предложение — законченная мысль в тексте. Они используются на разных этапах анализа и по-разному трактуются в зависимости от задач.