您好,关于textrank算法中,感觉有点问题,以keywordTextRank为例,
当计算节点k的rank值时,您的代码是
for k, v in self.words.items():
m[k] = 1-self.d
for j in v:
if k == j or len(self.words[j]) == 0:
continue
m[k] += (self.d/len(self.words[j])*self.vertex[j])
if abs(m[k] - self.vertex[k]) > max_diff:
max_diff = abs(m[k] - self.vertex[k])
根据k,v的关系,v中包含的是指向节点k的所有节点集合,如果这样,在内循环中的len(self.words[j]这里算的是节点j的入度,即指向节点j的数量。但实际的textrank算法中,这里应该是节点j的出度,即节点j外链接的数量。请问作者,这里的代码是否有问题?感谢!
您好,关于textrank算法中,感觉有点问题,以keywordTextRank为例, 当计算节点k的rank值时,您的代码是 for k, v in self.words.items(): m[k] = 1-self.d for j in v: if k == j or len(self.words[j]) == 0: continue m[k] += (self.d/len(self.words[j])*self.vertex[j]) if abs(m[k] - self.vertex[k]) > max_diff: max_diff = abs(m[k] - self.vertex[k]) 根据k,v的关系,v中包含的是指向节点k的所有节点集合,如果这样,在内循环中的len(self.words[j]这里算的是节点j的入度,即指向节点j的数量。但实际的textrank算法中,这里应该是节点j的出度,即节点j外链接的数量。请问作者,这里的代码是否有问题?感谢!