PythonTalk
30.07
🔤 Андрей Карпыты недавно опубликовал краткое и наглядное объяснение того, что такое "токены" для языковых моделей (и почему токен != слово).
🐍Само объяснение с демонстрацией на Python лежит в Colab.
Слово - это, скорее всего, то, о чем вы подумали, - самая простая форма или единица языка в понимании человека. В предложении «Мне нравятся кошки» есть три слова - «мне», «нравятся» и «кошки». Мы можем считать слова первичными строительными блоками языка; фундаментальными частями языка, которым нас учат с самого раннего возраста.
С токенами дело обстоит немного сложнее. Токенизация - это процесс преобразования фрагментов языка в биты данных, пригодные для использования в программе, а токенизатор - это алгоритм или функция, которая выполняет этот процесс, то есть берет язык и преобразует его в эти пригодные для использования биты данных. Таким образом, токен - это единица текста, которая намеренно сегментируется для эффективной обработки большой языковой моделью. Этими единицами могут быть слова или любые другие подмножества языка - части слов, сочетания слов или знаки препинания.
Существует множество различных токенизаторов, которые реализуют разные подходы. Самые известные - в NLTK (Natural Language Toolkit), Spacy, токенизатор BERT и Keras. Какой выбрать - зависит от конкретного случая. В среднем на один токен приходится примерно 0,75 слова, но между токенизаторами могут быть существенные различия
еще контент в этом сообществе
еще контент в этом соообществе
PythonTalk
30.07
войдите, чтобы увидеть
и подписаться на интересных профи