скудная разреженная матрица: индекс вне диапазона - PullRequest
0 голосов
/ 04 ноября 2019

Я хочу запустить textrank для большого корпуса (только мой dev dev использует 17K предложений)

Поэтому я использовал scipy dok_matrix. Однако при назначении первого значения моей разреженной матрице (т. Е. similarity_matrix[1][0]) я получаю следующую ошибку, несмотря на то, что в отладке pycharm вижу, что мой dok_matrix имеет размер 17K на 17k.

IndexError: row index (1) out of range

Что я сделал не так?

 def _score_generator(self, sentences, sentence_vectors):
    sentence_count = len(sentences)
    similarity_matrix = dok_matrix((sentence_count, sentence_count), dtype=np.float32)
    for i in range(len(sentences)):
        for j in range(len(sentences)):
            if i != j:
                similarity_matrix[i][j] = cosine_similarity(sentence_vectors[i].reshape(1, 100), sentence_vectors[j].reshape(1, 100))[0, 0]


    nx_graph = nx.from_scipy_sparse_matrix(similarity_matrix)
    scores = nx.pagerank(nx_graph)
    return scores

1 Ответ

0 голосов
/ 04 ноября 2019

просто: similarity_matrix[i,j] Я оставлю это здесь, на случай, если кто-то в конечном итоге совершит ту же ошибку, что и я

...