日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪(fǎng)問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

【算法竞赛学习】学术前沿趋势-作者信息关联

發(fā)布時(shí)間:2023/12/15 编程问答 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【算法竞赛学习】学术前沿趋势-作者信息关联 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

任務(wù)5:作者信息關(guān)聯(lián)

5.1 任務(wù)說(shuō)明

  • 學(xué)習(xí)主題:作者關(guān)聯(lián)(數(shù)據(jù)建模任務(wù)),對(duì)論文作者關(guān)系進(jìn)行建模,統(tǒng)計(jì)最常出現(xiàn)的作者關(guān)系;
  • 學(xué)習(xí)內(nèi)容:構(gòu)建作者關(guān)系圖,挖掘作者關(guān)系
  • 學(xué)習(xí)成果:論文作者知識(shí)圖譜、圖關(guān)系挖掘

5.2 數(shù)據(jù)處理步驟

將作者列表進(jìn)行處理,并完成統(tǒng)計(jì)。具體步驟如下:

  • 將論文第一作者與其他作者(論文非第一作者)構(gòu)建圖;
  • 使用圖算法統(tǒng)計(jì)圖中作者與其他作者的聯(lián)系;

5.3 社交網(wǎng)絡(luò)分析

圖是復(fù)雜網(wǎng)絡(luò)研究中的一個(gè)重要概念。Graph是用點(diǎn)線(xiàn)來(lái)刻畫(huà)離散事物集合中的每對(duì)事物間以某種方式相聯(lián)系的數(shù)學(xué)模型。Graph在現(xiàn)實(shí)世界中隨處可見(jiàn),如交通運(yùn)輸圖、旅游圖、流程圖等。利用圖可以描述現(xiàn)實(shí)生活中的許多事物,如用點(diǎn)可以表示交叉口,點(diǎn)之間的連線(xiàn)表示路徑,這樣就可以輕而易舉的描繪出一個(gè)交通運(yùn)輸網(wǎng)絡(luò)。

5.3.1 圖類(lèi)型

  • 無(wú)向圖,忽略了兩節(jié)點(diǎn)間邊的方向。

  • 指有向圖,考慮了邊的有向性。

  • 多重?zé)o向圖,即兩個(gè)結(jié)點(diǎn)之間的邊數(shù)多于一條,又允許頂點(diǎn)通過(guò)同一條邊和自己關(guān)聯(lián)。

5.3.2 圖統(tǒng)計(jì)指標(biāo)

  • 度:是指和該節(jié)點(diǎn)相關(guān)聯(lián)的邊的條數(shù),又稱(chēng)關(guān)聯(lián)度。對(duì)于有向圖,節(jié)點(diǎn)的入度 是指進(jìn)入該節(jié)點(diǎn)的邊的條數(shù);節(jié)點(diǎn)的出度是指從該節(jié)點(diǎn)出發(fā)的邊的條數(shù);

  • 迪杰斯特拉路徑:.從一個(gè)源點(diǎn)到其它各點(diǎn)的最短路徑,可使用迪杰斯特拉算法來(lái)求最短路徑;

  • 連通圖:在一個(gè)無(wú)向圖 G 中,若從頂點(diǎn)i到頂點(diǎn)j有路徑相連,則稱(chēng)i和j是連通的。如果 G 是有向圖,那么連接i和j的路徑中所有的邊都必須同向。如果圖中任意兩點(diǎn)都是連通的,那么圖被稱(chēng)作連通圖。如果此圖是有向圖,則稱(chēng)為強(qiáng)連通圖。

對(duì)于其他圖算法,可以在networkx和igraph兩個(gè)庫(kù)中找到。

5.4 具體代碼以及講解

首先讀取我們想要的數(shù)據(jù):

data = [] #初始化 #使用with語(yǔ)句優(yōu)勢(shì):1.自動(dòng)關(guān)閉文件句柄;2.自動(dòng)顯示(處理)文件讀取數(shù)據(jù)異常 with open("arxiv-metadata-oai-snapshot.json", 'r') as f: for idx, line in enumerate(f): d = json.loads(line)d = {'authors_parsed': d['authors_parsed']}data.append(d)data = pd.DataFrame(data) #將list變?yōu)閐ataframe格式,方便使用pandas進(jìn)行分析

創(chuàng)建作者鏈接的無(wú)向圖:

import networkx as nx # 創(chuàng)建無(wú)向圖 G = nx.Graph()# 只用五篇論文進(jìn)行構(gòu)建 for row in data.iloc[:5].itertuples():authors = row[1]authors = [' '.join(x[:-1]) for x in authors]# 第一個(gè)作者 與 其他作者鏈接for author in authors[1:]:G.add_edge(authors[0],author) # 添加節(jié)點(diǎn)2,3并鏈接23節(jié)點(diǎn)

將作者關(guān)系圖進(jìn)行繪制:

nx.draw(G, with_labels=True)

得到作者之間的距離:

try:print(nx.dijkstra_path(G, 'Balázs C.', 'Ziambaras Eleni')) except:print('No path')

如果我們500片論文構(gòu)建圖,則可以得到更加完整作者關(guān)系,并選擇最大聯(lián)通子圖進(jìn)行繪制,折線(xiàn)圖為子圖節(jié)點(diǎn)度值。

# 計(jì)算論文關(guān)系中有多少個(gè)聯(lián)通子圖 print(len(nx.communicability(G)))plt.loglog(degree_sequence, "b-", marker="o") plt.title("Degree rank plot") plt.ylabel("degree") plt.xlabel("rank")# draw graph in inset plt.axes([0.45, 0.45, 0.45, 0.45]) Gcc = G.subgraph(sorted(nx.connected_components(G), key=len, reverse=True)[0])pos = nx.spring_layout(Gcc) plt.axis("off") nx.draw_networkx_nodes(Gcc, pos, node_size=20) nx.draw_networkx_edges(Gcc, pos, alpha=0.4) plt.show()

總結(jié)

以上是生活随笔為你收集整理的【算法竞赛学习】学术前沿趋势-作者信息关联的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。