Инструмент для предобработки текстовых файлов перед обучением векторных представлений слов GloVe.
- Поддержка многоязычных текстов (русский, английский, европейские языки, турецкий)
- Специальная обработка старославянских и старорусских текстов
- Параллельная обработка gz-архивов
- Очистка текста с сохранением:
- Букв (включая специфические символы разных языков)
- Цифр
- Пробелов
- Эффективная потоковая запись результатов
- Мониторинг прогресса обработки
- Гибкая конфигурация через YAML-файлы
go install github.com/terratensor/text2glove/cmd/text2glove@latest
Обработка любых текстов:
text2glove --input ./data --output output.txt --workers 8 --cleaner_mode all
Обработка современных текстов:
text2glove --input ./data --output output.txt --workers 8 --cleaner_mode modern
Обработка старославянских текстов:
text2glove --input ./old_texts --output output.txt --cleaner_mode old_slavonic
Пример файла config.yaml
:
input: "./data" # Директория с файлами .gz
output: "./output.txt" # Выходной файл
workers: 8 # Количество рабочих процессов
buffer_size: 1048576 # Размер буфера записи (1MB)
cleaner:
mode: "old_slavonic" # Режим очистки: modern|old_slavonic|all
normalize: true # Нормализация Unicode
Запуск с конфигурационным файлом:
text2glove --config config.yaml
Запуск с параметрами:
gtext2glove --input ./data --output out.txt
Пример ожидаемого вывода:
Processing: [=====================> ] 85.3% | Speed: 142,305.8 KB/s | Lines: 1,284,567
=== Processing completed ===
Time: 12m45s
Lines: 14,201,558
Data: 12.4 GB
Speed: 152,304.2 KB/s
- modern - современные языки:
- Русский (включая ё)
- Английский и основные европейские языки
- Турецкий
- old_slavonic - старославянские тексты:
- Все современные символы
- Старославянская кириллица (ѣ, ѵ, ѳ и др.)
- Поддержка Unicode-диапазонов
- all - все Unicode-символы:
- Для специализированных задач
git clone https://github.com/terratensor/text2glove
cd text2glove
make build
Собранный бинарный файл будет доступен в bin/text2glove
Для современных текстов:
bin/text2glove --input ./old_texts --output output.txt --cleaner_mode modern
Современный русский:
"Привет, мир!" → "привет мир"
Для обработки старославянских текстов:
bin/text2glove --input ./old_texts --output output.txt --cleaner_mode old_slavonic
Старославянский:
"Цѣрь града сего" → "цѣрь града сего"
Смешанный текст:
"Сіе есть modern text" → "сіе есть modern text"
Для всех символов Unicode:
bin/text2glove --input ./multilingual --output output.txt --cleaner_mode all
PR и предложения приветствуются! Пожалуйста:
- Создайте issue для обсуждения изменений
- Опишите предлагаемую функциональность
- Убедитесь, что код проходит все тесты
MIT License. Подробнее см. в файле LICENSE.