On suppose une liste de listes avec des chaînes comme ci-dessousGénération d'une matrice creuse donné une liste des listes avec des chaînes
docs = [["hello", "world", "hello"], ["goodbye", "cruel"]]
Comment fait-on pour créer une matrice creuse où chaque ligne représente une sous-liste de la liste ci-dessus et chaque colonne représente une chaîne de jetons comme "cruel" dans la sous-liste.
J'ai regardé les docs scipy here et quelques autres messages de stackoverflow, mais, celui-ci n'est pas clair pour moi.
row_idx = 0
col_idx = 0
rows = []
cols = []
vals = []
for doc in tokens_list:
col_idx = 0
for token in doc:
rows.append(row_idx)
cols.append(col_idx)
col_idx = col_idx + 1
vals.append(1)
row_idx = row_idx + 1
X = csr_matrix((vals, (rows, cols)))
J'ai essayé quelque chose comme ci-dessus, mais j'ai le sentiment que ce n'est pas juste et je ne peux pas se rapporter aux exemples dans la documentation scipy.
Quelle est la sortie attendue? – Divakar
Avez-vous à le faire avec des listes? C'est extrêmement agréable, simple et direct avec les dictionnaires! – agaidis
@Divakar L'entrée réelle est [['isn', 't', 'ceci', 'film', 'génial'], ['horrible', 'horrible', 'film']] avec la sortie attendue je crois étant [[1, 0, 1, 1, 1, 1], [0, 2, 0, 1, 0, 0]]. – Sanchayan