#pragma once #include #include #include #include class TextProcessor { public: TextProcessor(); ~TextProcessor() = default; // Nạp bảng từ điển symbols.json bool load_symbols(const std::string& symbols_json_path); // Chuẩn hóa văn bản Tiếng Việt (ký tự đặc biệt, ngoặc, khoảng trắng) std::string clean_text(const std::string& text) const; // Chuyển văn bản đã chuẩn hóa thành chuỗi token ID kèm intersperse 0 std::vector text_to_sequence(const std::string& text) const; // Tách văn bản dài thành danh sách các câu độc lập std::vector split_sentences(const std::string& text) const; const std::unordered_map& get_symbol_map() const { return symbol_to_id_; } private: std::unordered_map symbol_to_id_; std::unordered_map symbol_replace_map_; };