У меня есть текстовое тело с 5 документами, каждый документ разделяется между собой/n. Я хочу предоставить идентификатор каждому слову в документе и рассчитать его соответствующую оценку tfidf
. к примеру, предположим, что у нас есть текстовый корпус под названием «corpus.txt» следующим образом: -преобразование текстового документа в текстовый документ с помощью словаря vocabulary_id и соответствующего tfidf
«Стек над потоком текста векторизации scikit питон SciPy разреженный ЦСР» при расчете tfidf с использованием
mylist =list("corpus.text")
vectorizer= CountVectorizer
x_counts = vectorizer_train.fit_transform(mylist)
tfidf_transformer = TfidfTransformer()
x_tfidf = tfidf_transformer.fit_transform(x_counts)
выход
(0,12) 0.1234 #for 1st document
(1,8) 0.3456 #for 2nd document
(1,4) 0.8976
(2,15) 0.6754 #for third document
(2,14) 0.2389
(2,3) 0.7823
(3,11) 0.9897 #for fourth document
(3,13) 0.8213
(3,5) 0.7722
(3,6) 0.2211
(4,7) 0.1100 # for fifth document
(4,10) 0.6690
(4,2) 0.0912
(4,9) 0.2345
(4,1) 0.1234
я преобразовал эту scipy.sparse.csr
матрицу в список списков, чтобы удалить идентификатор документа, а также к eeping только vocabulary_id и его соответствующий tfidf
счета с помощью:
m = x_tfidf.tocoo()
mydata = {k: v for k, v in zip(m.col, m.data)}
key_val_pairs = [str(k) + ":" + str(v) for k, v in mydata.items()]
, но проблема в том, что я получаю выход, где vocabulary_id и его соответствующая tfidf
оценки расположена в возрастающем порядке и без каких-либо ссылок на документ.
Например, для приведенного выше корпуса мой выходной ток (I сбросили в текстовый файл с помощью JSON) выглядит следующим образом:
1:0.1234
2:0.0912
3:0.7823
4:0.8976
5:0.7722
6:0.2211
7:0.1100
8:0.3456
9:0.2345
10:0.6690
11:0.9897
12:0.1234
13:0.8213
14:0.2389
15:0.6754
тогда я бы хочу, чтобы мой текстовый файл, чтобы быть как выглядит следующим образом:
12:0.1234
8:0.3456 4:0.8976
15:0.1234 14:0.2389 3:0.7823
11:0.9897 13:0.8213 5:0.7722 6:0.2211
7:0.1100 10:0.6690 2:0.0912 9:0.2345 1:0.1234
любая идея как это сделать?
I ответили на ваш вопрос, надеюсь, он будет Ты! –