Итак, я работаю над дампом в Википедии, чтобы вычислить страницы, содержащие около 5 700 000 страниц. Файлы предварительно обработаны и, следовательно, не находятся в XML.
Они взяты из http://haselgrove.id.au/wikipedia.htm и формат:Как справиться с огромной структурой разреженных матриц с использованием Scipy?
from_page(1): to(12) to(13) to(14)..
from_page(2): to(21) to(22)..
.
.
.
from_page(5,700,000): to(xy) to(xz)
так далее. Так. в основном это конструкция матрицы [5,700,000*5,700,000]
, которая просто сломала бы 4 гигабайта оперативной памяти. Так как, это очень-очень разреженный, что делает его легче хранить, используя scipy.lil.sparse
или scipy.dok.sparse
, теперь мой вопрос:
Как на земле я могу идти о преобразовании файла .txt
с информацией о связи с разреженной матрицей? Прочитайте его и вычислите его как нормальную матрицу N * N, затем преобразуйте ее или что? Я понятия не имею.
Кроме того, ссылки иногда охватывают разные линии, так что будет правильным способом справиться с этим?
например: случайная строка как ..
[
1: 2 3 5 64636 867
2:355 776 2342 676 232
3: 545 64646 234242 55455 141414 454545 43
4234 5545345 2423424545
4:454 6776
]
точно так: нет запятых & нет разделителей.
Любая информация о разреженной конструкции матрицы и обработке данных по линиям будет полезна.
Есть ли способ напрямую построить 'lil_matrix' из списка разреженных строк (каждая строка является списком пар (столбца, значения))? Это похоже на очевидный подход, но, похоже, не поддерживается. – nealmcb