|
|
|
|
|
|
|
|
|
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 |
|
|