🔤 Андрей Карпыты недавно опубликовал краткое и наглядное объяснение того, что такое "токены" для языковых моделей (и почему токен != слово).

🐍Само объяснение с демонстрацией на Python лежит в Colab.

Слово - это, скорее всего, то, о чем вы подумали, - самая простая форма или единица языка в понимании человека. В предложении «Мне нравятся кошки» есть три слова - «мне», «нравятся» и «кошки». Мы можем считать слова первичными строительными блоками языка; фундаментальными частями языка, которым нас учат с самого раннего возраста.

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

Существует множество различных токенизаторов, которые реализуют разные подходы. Самые известные - в NLTK (Natural Language Toolkit), Spacy, токенизатор BERT и Keras. Какой выбрать - зависит от конкретного случая. В среднем на один токен приходится примерно 0,75 слова, но между токенизаторами могут быть существенные различия

🍩 Поддержать канал 🫶

repost

191

input message

напишите коммент

еще контент в этом сообществе

еще контент в этом соообществе

войдите, чтобы увидеть

и подписаться на интересных профи

в приложении больше возможностей

пока в веб-версии есть не всё — мы вовсю работаем над ней

сетка — cоциальная сеть для нетворкинга от hh.ru

пересекайтесь с теми, кто повлияет на ваш профессиональный путь