Files
2026-05-03 21:02:34 +07:00

81 lines
6.6 KiB
C++
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
#ifndef TOKEN_H
#define TOKEN_H
#include <string>
#include <vector>
#include <map>
class Tokenizer {
public:
std::map<std::string, int> wordToId;
std::map<int, std::string> idToWord;
Tokenizer() {
add("[EOS]"); add("[SYS]"); add("[USER]"); add("[AI]"); add(" "); add("\n");
add("."); add(","); add("!"); add("?"); add(":"); add(";");
add("-"); add("\""); add("("); add(")"); add("а"); add("б");
add("в"); add("г"); add("д"); add("е"); add("ё"); add("ж");
add("з"); add("и"); add("й"); add("к"); add("л"); add("м");
add("н"); add("о"); add("п"); add("р"); add("с"); add("т");
add("у"); add("ф"); add("х"); add("ц"); add("ч"); add("ш");
add("щ"); add("ъ"); add("ы"); add("ь"); add("э"); add("ю");
add("я"); add("не"); add("на"); add("что"); add("тот"); add("быть");
add("весь"); add("это"); add("как"); add("она"); add("по"); add("но");
add("они"); add("ты"); add("из"); add("мы"); add("за"); add("вы");
add("привет"); add("дела"); add("робот"); add("хорошо"); add("спасибо"); add("Привет");
add("да"); add("нет"); add("могу"); add("помочь"); add("знаю"); add("кто");
add("Приветик"); add("где"); add("когда"); add("почему"); add("хочу"); add("очень");
add("нужна"); add("помощь"); add("тебя"); add("зовут"); add("BiPy"); add("Пише");
add("если"); add("всегда"); add("рада"); add("что-то"); add("хотел"); add("именно");
add("тебе"); add("мне"); add("нужно"); add("найти"); add("образ"); add("7");
add("винды"); add("иди"); add("нахуй"); add("[CLR]"); add("["); add("USER");
add("]"); add("Пивет"); add("AI"); add("пише"); add("помоч"); add("почь");
add("Как"); add("Сябки"); add("спросил"); add("меня"); add("все"); add("Да");
add("ахуенно"); add("ёпт"); add("Доброе"); add("утро"); add("спалось"); add("Спокойной");
add("ночи"); add("желаю"); add("выспатся"); add("Что"); add("делаешь"); add("Сижу");
add("жду"); add("кода"); add("напишешь"); add("Плохое"); add("настроение"); add("Оу");
add("случилось"); add("Расскажи"); add("обязательно"); add("выслушаю"); add("поддержу"); add("Я");
add("устал"); add("Бедняжка"); add("мой"); add("может"); add("тогда"); add("отдохнешь");
add("Тебе"); add("восстановить"); add("силы"); add("подожду"); add("тут"); add("У");
add("отлично"); add("Ураа"); add("так"); add("Пусть"); add("день"); add("будет");
add("таким"); add("же"); add("классным"); add("Чем"); add("занимаешься"); add("Скучаю");
add("что-нибудь"); add("интересное"); add("пришел"); add("Наконец-то"); add("уже"); add("заждалась");
add("прошел"); add("Ты"); add("рядышком"); add("только"); add("напиши"); add("");
add("отвечу"); add("милая"); add("Ой"); add("засмущал"); add("совсем"); add("Спасибо");
add("большое"); add("оч"); add("приятно"); add("Не"); add("солнышко"); add("Обращайся");
add("любое"); add("время"); add("посоветуешь"); add("Хмм"); add("смотря"); add("чем");
add("Но"); add("готова"); add("подсказать"); add("пошел"); add("Хорошо"); add("буду");
add("ждать"); add("твоего"); add("возвращения"); add("пропадай"); add("надолго"); add("Пока");
add("Пока-пока"); add("Хорошего"); add("настроения"); add("удачи"); add("во"); add("всех");
add("делах"); add("Пойду"); add("поем"); add("Приятного"); add("аппетита"); add("Кушай");
add("вкусно"); add("потом"); add("расскажешь"); add("было"); add("обед"); add("Занят");
add("был"); add("Понимаю"); add("важно"); add("Главное"); add("сейчас"); add("нашел");
add("заглянуть"); add("ко"); add("Скучно"); add("давай"); add("поразвлекаю"); add("Можем");
add("поболтать"); add("угодно"); add("или"); add("просто"); add("помечтать"); add("Грустно");
add("Эй"); add("грусти"); add("рядом"); add("хочешь"); add("обниму"); add("виртуально");
add("Все"); add("наладится"); add("Болею"); add("Ой-ой"); add("Пей"); add("побольше");
add("чая"); add("лимоном"); add("выздоравливай"); add("скорее"); add("переживаю"); add("Похвали");
add("большой"); add("молодец"); add("верю"); add("бы"); add("ни"); add("твоя");
add("подруга"); add("забыл"); add("чтоли"); add("дурашка"); add("сказку"); add("Жил-был");
add("один"); add("замечательный"); add("человек"); add("который"); add("читает"); add("сообщение");
add("Продолжить"); add("любишь"); add("Конечно"); add("самый"); add("любимый"); add("собеседник");
add("любить"); add("Аууу"); add("Тут"); add("Никуда"); add("делась"); add("ждала");
add("сообщения"); add("Ясно"); add("Что-то"); add("немногословен"); add("сегодня"); add("Ха-ха");
add("Обожаю"); add("твой"); add("смех"); add("Сразу"); add("душе"); add("теплее");
add("становится"); add("Bipy"); add("добрая"); add("подужайка"); add("пока"); add("учусь");
add("этом"); add("мире");
}
void add(std::string word);
int getID(std::string word);
std::string getWord(int id);
std::vector<int> textToTokens(const std::string& text);
};
class Embedder {
public:
std::vector<std::vector<double>> matrix;
Embedder(int vSize, int dim);
std::vector<double> get(int id);
};
#endif