model.py - 52AnTIMateria812/YouBook812Bot GitHub Wiki

Основные компоненты:

  1. Инициализация и загрузка модели
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()
  • Создает необходимые атрибуты
  • Загружает существующую модель или создает новую
  1. Создание модели
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 матрицу для анализа текста
  • Сохраняет модель для повторного использования
  1. Методы рекомендаций
  • get_recommendations() - рекомендации на основе похожести книг
  • get_recommendations_by_genre() - рекомендации по жанру
  • get_recommendations_by_author() - рекомендации по автору
  • get_user_recommendations() - персонализированные рекомендации
  1. Вспомогательные методы
  • get_all_genres() - получение списка жанров
  • get_all_authors() - получение списка авторов
  • get_book_info() - получение информации о книге