81 lines
6.6 KiB
C++
81 lines
6.6 KiB
C++
#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 |