У меня есть очень большой словарь, содержащий кортежи в качестве ключей и их значений. Предполагается, что этот словарь представляет собой матрицу смежности с векторами совпадения слов, например, «работа» встречается с «опытом» 16 раз, а «работа» появляется с «услугами» 15 раз. Является ли этот метод предпочтительным или нет, это другой вопрос (с огромным объемом данных, которые у меня есть, вложенные словари стали кошмаром для обхода), но это просто то, что у меня есть прямо сейчас.
Frequency:{
('work', 'experience'): 16,
('work', 'services'): 25,
('must', 'services'): 15,
('data', 'services'): 10,
...
...}
Благодаря предыдущему сообщению я смог создать простую бинарную матрицу смежности с помощью NetworkX, просто используя эту методологию:
A=Frequency.keys()
networkx.Graph(A)
Тогда это был отличный результат, но мой вопрос заключается в том, что мне нужно сделать, чтобы преобразовать частоту в матрицу смежности, используя ее значение совместной встречаемости в качестве значения в матрице, чтобы результат выглядел примерно так: :
array([[ 0., 16., 25., 0.],
[ 16., 0., 1., 0.],
[ 25., 1., 0., 1.],
[ 10., 0., 0., 0.]
...)
Прошу прощения, если это похоже на предыдущие сообщения, но я просто не могу найти правильный способ преобразования этих кортежей в матрицу, которую я могу использовать в NetworkX. Я предполагаю, что буду использовать numpy, но я не могу найти документацию для такого метода.
Заранее спасибо,
Рон