Spaces:
Sleeping
Sleeping
File size: 1,313 Bytes
bf5fb5f |
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 |
# =================================
# Fichier: interfaces/vectorizer.py
# =================================
from abc import ABC, abstractmethod
from typing import Union
import cupy as cp
import cudf
from scipy.sparse import csr_matrix
class Vectorizer(ABC):
"""
Interface pour la classe responsable de la vectorisation du texte.
Permet de convertir une série de textes en représentations
numériques (matrice sparse ou dense).
"""
@abstractmethod
def fit_transform(self,
texts: cudf.Series) -> Union[cp.ndarray, csr_matrix]:
"""
Ajuste la vectorisation sur les textes de la série 'texts'
puis renvoie la matrice vectorisée associée.
:param texts: Série cudf contenant des chaînes de caractères.
:return: Matrice vectorisée (cupy.ndarray ou scipy.sparse.csr_matrix).
"""
pass
@abstractmethod
def transform(self, texts: cudf.Series) -> Union[cp.ndarray, csr_matrix]:
"""
Applique la vectorisation déjà apprise à une nouvelle série de textes
pour produire la matrice vectorisée.
:param texts: Série cudf contenant des chaînes de caractères.
:return: Matrice vectorisée (cupy.ndarray ou scipy.sparse.csr_matrix).
"""
pass
|