model.py - 52AnTIMateria812/YouBook812Bot GitHub Wiki
Основные компоненты:
- Инициализация и загрузка модели
def __init__(self):
self.books_df = None
self.tfidf_matrix = None
self.vectorizer = None
self.model_path = 'data/model.joblib'
self.load_or_create_model()
- Создает необходимые атрибуты
- Загружает существующую модель или создает новую
- Создание модели
def create_model(self):
# Загрузка данных
self.books_df = pd.read_csv('data/books.csv')
# Создание TF-IDF матрицы
self.vectorizer = TfidfVectorizer(...)
self.tfidf_matrix = self.vectorizer.fit_transform(self.books_df['content'])
- Загружает данные из CSV
- Создает TF-IDF матрицу для анализа текста
- Сохраняет модель для повторного использования
- Методы рекомендаций
get_recommendations()
- рекомендации на основе похожести книг
get_recommendations_by_genre()
- рекомендации по жанру
get_recommendations_by_author()
- рекомендации по автору
get_user_recommendations()
- персонализированные рекомендации
- Вспомогательные методы
get_all_genres()
- получение списка жанров
get_all_authors()
- получение списка авторов
get_book_info()
- получение информации о книге