File size: 3,718 Bytes
54ccdcb
 
83b4881
 
54ccdcb
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
83b4881
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
#!/usr/bin/env bash
# -*- coding: utf-8 -*-
# Скрипт для быстрого запуска системы анализа токенизации.
# Автоматически устанавливает зависимости и запускает веб-интерфейс.

echo "🚀 Запуск системы анализа токенизации"
echo "====================================="

# Проверяем наличие Python
if ! command -v python3 &> /dev/null; then
    echo "❌ Python3 не найден. Установите Python 3.8+ и повторите попытку."
    exit 1
fi

# Проверяем версию Python
python_version=$(python3 -c 'import sys; print(".".join(map(str, sys.version_info[:2])))')
required_version="3.8"

if [ "$(printf '%s\n' "$required_version" "$python_version" | sort -V | head -n1)" != "$required_version" ]; then
    echo "❌ Требуется Python 3.8+, найден $python_version"
    exit 1
fi

echo "✅ Python $python_version найден"

# Создаем виртуальное окружение (опционально)
if [ "$1" = "--venv" ]; then
    echo "📦 Создание виртуального окружения..."
    python3 -m venv venv
    source venv/bin/activate
    echo "✅ Виртуальное окружение активировано"
fi

# Устанавливаем зависимости
echo "📥 Установка зависимостей..."
pip install -r requirements.txt

if [ $? -eq 0 ]; then
    echo "✅ Зависимости установлены успешно"
else
    echo "❌ Ошибка при установке зависимостей"
    exit 1
fi

# Проверяем наличие данных
if [ ! -f "data/raw_corpus.jsonl" ]; then
    echo "📊 Корпус не найден. Запускаем сбор данных..."
    python src/scrapers.py --auto --out data/raw_corpus.jsonl --min_words 50000 --max_articles 1000
    
    if [ $? -eq 0 ]; then
        echo "✅ Корпус собран успешно"
    else
        echo "⚠️ Ошибка при сборе корпуса, но продолжаем с демо-данными"
    fi
else
    echo "✅ Корпус найден"
fi

# Создаем необходимые директории
mkdir -p results models notebooks

echo ""
echo "🎯 Выберите режим запуска:"
echo "1) Веб-интерфейс (Streamlit)"
echo "2) Демонстрация функционала"
echo "3) Сбор дополнительных данных"
echo "4) Обучение подсловных моделей"
echo ""

read -p "Введите номер (1-4): " choice

case $choice in
    1)
        echo "🌐 Запуск веб-интерфейса..."
        echo "Приложение будет доступно по адресу: http://localhost:8501"
        streamlit run src/streamlit_app.py
        ;;
    2)
        echo "🎭 Запуск демонстрации..."
        python demo.py
        ;;
    3)
        echo "📊 Сбор дополнительных данных..."
        python src/scrapers.py --auto --out data/raw_corpus.jsonl --min_words 100000 --max_articles 2000
        ;;
    4)
        echo "🤖 Обучение подсловных моделей..."
        python src/train_subword.py
        ;;
    *)
        echo "❌ Неверный выбор. Запускаем веб-интерфейс по умолчанию..."
        streamlit run src/streamlit_app.py
        ;;
esac

echo ""
echo "✅ Работа завершена!"
echo "📖 Документация: README.md"
echo "📋 Отчет: FINAL_REPORT.md"