2015-03-02 54 views
1

我使用OpenRefine將一些Twitter元數據格式化爲由Gephi讀取的邊緣列表。 如果我想研究用戶提及的關聯或用戶標籤關聯,它很容易工作。 但是現在我想研究協同標籤,因此在推文中標籤多頻繁地出現。Twitter與OpenRefine共同標籤

要做到這一點OpenRefine(我不知道很好)是有點棘手,我需要一些幫助。 我的數據是在csv中,有兩列:用戶的用戶名,鳴叫中使用的逗號分隔的標籤串。 使用OpenRefine獲取用戶標籤邊界列表我使用hashtags列上的「Split multi valued cells」,然後在用戶列上使用「Fill down」(非常簡單)。 我不知道如何獲得hashtag-hashtag邊界列表。我可以在hashtags列上使用「Split multi valued cells」來獲取推文中提到的每個hashtag的新行。但是,如何「填充」這些行以獲得hashtag-hashtag共現的所有組合?

例子:

數據:

User   Hashtags 
Dario  Data mining, R, OpenRefine 

期望的結果:

Hashtag 1 Hashtag 2 

Data mining R 
Data mining OpenRefine 
R   OpenRefine 

回答

0

這裏是我的建議。

讓我們用你的例子:

User   Hashtags 
Dario  Data mining, R, OpenRefine 

1°/使用所謂的 「分離的多值單元列」 的列#標籤

功能你應該得到的東西,如:

User   Hashtags 
Dario  Data mining 
      R 
      OpenRefine 

2°/在Hashtags列上嘗試此轉換:

if((row.record.cells["Hashtags"].value[-1])==value,value+","+(row.record.cells["Hashtags"].value[0]),value+","+(row.record.cells["Hashtags"].value[-1])) 

3°)根據「,」分隔符將列分成列。

它適用於我。

編輯:

該解決方案產生重複的條目,可以這樣容易去除:

  • 加入多值單元,採用|分隔符(例如)。

你喜歡的東西

1. 

Dario 

Data mining,Prout|R,Prout|OpenRefine,Prout|Prout,Data mining 

2. 

Essai 

Data mining,R|R,Data mining 
  • 然後拆分單元格的基礎上分隔欄|

  • 最後,刪除第一個hashtag列。

1

也張貼在OpenRefine谷歌組:

我想你可以用foreach和forRange的組合做到這一點。在包含逗號分隔主題標籤的單元格上嘗試以下轉換:

forEachIndex(value.split(「,」),i,v,forRange(i + 1,value.split(「,」)。length() ,1,j,v.trim()+「,」+ value.split(「,」)[j] .trim())。join(「|」))。join(「|」)

這應該產生一個管道分隔的獨特組合列表。然後你可以使用'分割多值單元格'