def venueNet_feature():
# output: compute the author centrialy for each venue
# venue centrality dict
CSpaper = pickle.load(open(cspath+"CSvenuePaper","rb")) # all papers in CS venues
CSvenue_paper = pickle.load(open(cspath+"CSvenue_paper","rb")) #data type, dict, key, value: list
Citations = pickle.load(open(cspath+"Citations","rb"))
CSPV = pickle.load( open(cspath+"CSvenuePaper_Venue","rb")) #data type, dict, key, value: list
nodeSet = set()
edgeSet = set()
for key,val in CSvenue_paper.iteritems():
nodeSet.add(key)
temp = defaultdict(int)
for p in val:
for citing in Citations[p]:
if citing in CSpaper:
temp[(CSPV[citing],key)] +=1
edges = [(key[0],key[1],val) for key,val in temp.iteritems()]
edgeSet.update(edges)
g = nx.DiGraph()
g.add_nodes_from(nodeSet)
g.add_weighted_edges_from(edgeSet)
pr = defaultdict(int)
for node in g.nodes():
pr[node]=1
#DG.add_weighted_edges_from([(1,2,0.5), (3,1,0.75)])
#pr = nx.pagerank(g)
#page rank is time-consuming, replace this in real atmosphere
pickle.dump(pr,open(cspath+"venue_cen","wb"))
print 'venueNet_feature finish'
评论列表
文章目录