我有一个非常大的字典,其中包含元组作为键和它们的值。这个字典应该表示一个邻接矩阵,其中包含单词共现向量,例如'work'与'experience'共现16次,'work'与'services'共现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,但我找不到任何关于这样的方法的文档。
提前致谢,
Ron