tft每日頭條

 > 生活

 > 關鍵詞檢索的好處

關鍵詞檢索的好處

生活 更新时间:2024-08-12 21:17:27

用VOSviewer嘗試CNKI中文文獻關鍵詞共現(keyword co-occurence)分析時,你可能會踩到一個大坑。本文幫助你繞開這個坑,或是從坑裡爬出來。

關鍵詞檢索的好處(如何用VOSviewer分析CNKI關鍵詞共現)1

疑惑

在《如何用VOSviewer分析CNKI數據?》一文中,我們提到了如何用VOSviewer可視化分析CNKI文獻。

依照文中的步驟,我們從CNKI下載并導出《圖書情報知識》期刊2016年全年文獻數據,通過Endnote作為中轉,最終導出了VOSviewer可以讀取的RIS文件。

我把這個幾經輾轉得來的RIS文件存放到了這裡,你可以直接下載使用。

利用該數據文件,我們用VOSviewer分析合作者(Co-authorship),做出了這張圖。

關鍵詞檢索的好處(如何用VOSviewer分析CNKI關鍵詞共現)2

有的讀者很興奮,立即打算用同樣的方法,做CNKI中文文獻的關鍵詞共現分析(keyword co-occurence)。

很快,他們就遇到了問題。因為用樣例數據,雖然可以做出分析結果圖,卻是這個樣子的:

關鍵詞檢索的好處(如何用VOSviewer分析CNKI關鍵詞共現)3

圖裡面隻有關鍵詞,沒有任何關鍵詞之間的連接。這叫什麼共現分析?!

有讀者很沮喪地把這幅圖發給了我。問我這是否意味着,VOSviewer不能勝任中文文獻的關鍵詞共現分析?

當然不是。

VOSviewer做的是統計和可視化。對于它來說,中文和英文關鍵詞沒有本質區别。隻要來源數據處理得當,分析的結果都應該是正确的。

那麼問題究竟出在哪裡呢?

原因

我們用樣例數據,重新走一遍流程。複現讀者遇到的困境。

VOSviewer主界面裡,我們選擇File -> map -> create,新建一個分析圖。

第一個對話框問我們映射方式。

關鍵詞檢索的好處(如何用VOSviewer分析CNKI關鍵詞共現)4

我們從中選擇第二項。

然後新彈出的對話框會詢問分析源文件的格式。

關鍵詞檢索的好處(如何用VOSviewer分析CNKI關鍵詞共現)5

我們選擇RIS。

關鍵詞檢索的好處(如何用VOSviewer分析CNKI關鍵詞共現)6

下面的對話框,詢問分析類型。默認是合作者分析(Co-authorship)。

關鍵詞檢索的好處(如何用VOSviewer分析CNKI關鍵詞共現)7

我們選擇關鍵詞共現分析(Co-occurence)。

關鍵詞檢索的好處(如何用VOSviewer分析CNKI關鍵詞共現)8

然後VOSviewer詢問我們阈值的選擇。

關鍵詞檢索的好處(如何用VOSviewer分析CNKI關鍵詞共現)9

注意默認的阈值為3,可是這樣隻有3個關鍵詞滿足阈值。最終的圖上如果隻有3個節點,就太稀疏了。于是我們降低阈值到1。

關鍵詞檢索的好處(如何用VOSviewer分析CNKI關鍵詞共現)10

VOSviewer提示我們,通過阈值過濾的關鍵詞有83個。

關鍵詞檢索的好處(如何用VOSviewer分析CNKI關鍵詞共現)11

我們選擇下一步。這時可以看到全部關鍵詞列表。

關鍵詞檢索的好處(如何用VOSviewer分析CNKI關鍵詞共現)12

我們可以從中選擇或者反選關鍵詞做分析。

但是此處别着急進行下一步。我們看到了非常奇異的現象。

注意圖中列表的最後一列,是連接強度,也就是這一行的關鍵詞與其他關鍵詞共同出現的總次數。默認從大到小排列,可是所有的關鍵詞共現次數居然都是0次

難怪我們點擊下一步的時候,會出現關鍵詞節點間,全無鍊接。

關鍵詞檢索的好處(如何用VOSviewer分析CNKI關鍵詞共現)13

為什麼關鍵詞同時出現次數分析值都是0呢?難道每篇論文隻有1個關鍵詞?關鍵詞之間從來沒有同時出現過?

這不符合常識。

我們發表期刊論文或者寫畢業論文時,一般情況關鍵詞至少也要列出3個吧。

帶着這樣的疑惑,我們就要檢查一下RIS源文件了。

關鍵詞檢索的好處(如何用VOSviewer分析CNKI關鍵詞共現)14

以其中的第一篇《信息素養的曆史與實踐之旅》為例,我們看到關鍵詞一共有3個,分别為“信息素養”、“行動素養”和“行動素養聯盟”。

如何識别它們是關鍵詞呢?

因為前面有個KW -前綴作為标志。

然而問題來了,我們看到作者信息部分,每個作者名字前,都有AU -前綴。

AU - G.Zurkowski, Paul

AU - V.Kelly, Jeffrey

AU - 劉千卉

AU - 程璐

可是關鍵詞這裡,除了第一個有KW -前綴,其他都沒有。

KW - 信息素養

行動素養

行動素養聯盟

會不會是因為這個緣故,導緻合作者分析鍊接正常,而關鍵詞共現分析鍊接消失呢?

我們做個實驗,驗證一下咱們的猜測。

實驗的方法很簡單。我們把第一篇文獻的另外兩個關鍵詞之前,都加上KW -前綴。其他文獻的關鍵詞不做任何處理。

修改後的RIS文件,就成了這樣子:

關鍵詞檢索的好處(如何用VOSviewer分析CNKI關鍵詞共現)15

我們回到VOSviewer,重新分析。前面的步驟和上一節完全一緻。直至最後一步。

關鍵詞檢索的好處(如何用VOSviewer分析CNKI關鍵詞共現)16

我們非常明顯地對比出,關鍵詞總鍊接強度(Total Link Strength)一項發生了變化,有幾個關鍵詞,不再是0了。

發生改變的這幾個關鍵詞,恰恰是剛才添加過前綴的那幾個。

關鍵詞檢索的好處(如何用VOSviewer分析CNKI關鍵詞共現)17

這個簡單的實驗,驗證了我們的猜測。

并不是VOSviewr的處理能力有缺失,而是中文文獻元數據,經由Endnote導出為RIS格式的時候有纰漏,導緻多關鍵詞的前綴沒有全部正确添加。

效率

問題找到了。

下面我們該怎麼辦?

很簡單,把所有關鍵詞的前綴都添上就好了啊。

你可能立即覺得天旋地轉。

把前綴都添上?說得輕巧!

樣例數據裡,文獻有數十篇。一篇篇找關鍵詞,添加前綴,雖然會做個頭暈腦漲,但畢竟還有個盼頭兒。

問題是,要分析的文獻有好幾千篇。都添完的時候,是不是下學期都該開學了?

也沒那麼誇張了。

想想愚公移山,精衛填海……先賢的精神力量還不夠給你以感召嗎?

關鍵詞檢索的好處(如何用VOSviewer分析CNKI關鍵詞共現)18

精神固然要有,但效率也是要追求的。

我們當然不能一條條手動查找關鍵詞并添加前綴,那樣效率太低。我們要用工具來自動化解決這個問題。

好消息是,工具我已經幫你編寫好了。

下面我詳細告訴你,該怎麼使用。

工具

我幫你編寫的工具,是個Python腳本。

我們需要安裝Python運行環境Anaconda,來使用這個腳本。

請到這個網址 下載最新版的Anaconda。下拉頁面,找到下載位置。根據你目前使用的系統,網站會自動推薦給你适合的版本下載。我使用的是macOS,下載文件格式為pkg。

關鍵詞檢索的好處(如何用VOSviewer分析CNKI關鍵詞共現)19

下載頁面區左側是Python 3.6版,右側是2.7版。請選擇2.7版本。

雙擊下載後的pkg文件,根據中文提示一步步安裝即可。

關鍵詞檢索的好處(如何用VOSviewer分析CNKI關鍵詞共現)20

安裝好Anaconda後,我們來下載腳本。

我把腳本存儲在了Github項目裡。請從這個位置下載壓縮包。

下載後解壓到本地,這個目錄就是咱們的演示目錄。

關鍵詞檢索的好處(如何用VOSviewer分析CNKI關鍵詞共現)21

請進入終端(macOS或者Linux),用cd命令進入到這個目錄。如果你用的是Windows,請運行Anaconda Prompt程序,并進入該目錄。

關鍵詞檢索的好處(如何用VOSviewer分析CNKI關鍵詞共現)22

下面,請執行以下命令。

python ris-add-kw-prefix.py tsqbzs.ris

如果你要嘗試處理自己的RIS文件,請把它拷貝到這個演示目錄裡面,然後把上面命令語句中最後部分(文件名)改成你自己的RIS文件。

執行後,你會發現目錄下多了一個文件,叫做output.ris。

關鍵詞檢索的好處(如何用VOSviewer分析CNKI關鍵詞共現)23

我們打開這個新生成的RIS文件。

關鍵詞檢索的好處(如何用VOSviewer分析CNKI關鍵詞共現)24

可以看到,所有的未加前綴的關鍵詞,都已經自動添加了前綴。

我們嘗試将這個output.ris輸入到VOSviewer,這次的分析結果列表如下:

關鍵詞檢索的好處(如何用VOSviewer分析CNKI關鍵詞共現)25

這時候再看關鍵詞鍊接數量,就合理多了。

利用這個分析結果來可視化,你會看到以下生成的圖形:

關鍵詞檢索的好處(如何用VOSviewer分析CNKI關鍵詞共現)26

在這個樣例中,我們隻有幾十篇文獻。利用腳本處理前綴,顯得有些大炮轟蚊子。

但如果你需要處理幾千、幾萬篇文獻的記錄信息,用這個腳本也一樣可以瞬間完成操作。效率的差别就體現得淋漓盡緻了。

好了,到這裡為止,你已經了解如何利用咱們編寫的工具,對Endnote導出的中文文獻做關鍵詞處理,在VOSviewer中正确分析關鍵詞共現了。

目标達成。

如果你對原理和技術細節不感興趣,下面就可以跳到小結部分了。

如果你還沒走,我來猜猜你在想什麼。

這麼高效的處理方法,是不是令你感覺不可思議?

老師你的工具至少有300行語句吧?

沒有。

其實程序從頭到尾,隻有20多行。

關鍵詞檢索的好處(如何用VOSviewer分析CNKI關鍵詞共現)27

而其中的核心部分,隻有3行。

老師動用了什麼黑魔法?!

魔法

我當然不會魔法。

我們使用的,是計算機最簡單的能力——根據指令,重複執行枯燥勞動。

從第一行開始,依次檢查每一行的文字。如果該行不是空行,而且其中不包含前綴連接符号“-”,那麼我們就将其當成未加前綴的關鍵詞。

我們讓計算機在這行文字的最前面,加上KW -前綴。

就是這麼簡單,一點也不炫酷。

但是計算機怎麼理解“不是空行”、“不包含符号‘-’”呢?

請看我們Python文件中的核心函數代碼。

def add_kw_prefix(data): regex = r"^([^\-\s] ?)\s $" subst = "KW - \\1" newdata = re.sub(regex, subst, data, 0, re.MULTILINE) return newdata

我們用到的工具,叫做正則表達式(regular expression),簡稱re。

關鍵詞檢索的好處(如何用VOSviewer分析CNKI關鍵詞共現)28

它是計算機處理文本模式的一種經典工具。

我們之前談到機器學習的時候,曾經說過。機器學習模型,是人不知道怎麼描述規則的時候,讓計算機自己學。

而正則表達式,則恰恰相反,是人類可以很準确地描述規則時,為機器定義的模式。

正确定義模式後,計算機就會檢查文本中是否包含這種模式,并且做出對應的處理。

正則表達式的功能非常強大,不過學起來需要花一番功夫。

如果你對正則表達式感興趣,希望自己也能操縱計算機程序,對文本精确地做出模式識别與處理,可以參考DataCamp上的這篇教程來學習。

關鍵詞檢索的好處(如何用VOSviewer分析CNKI關鍵詞共現)29

小結

通過本文,希望你已經了解了以下内容:

  1. VOSviewer可以正确處理中文文獻的關鍵詞共現分析;

  2. CNKI文獻元數據經由Endnote導出成RIS時,關鍵詞處理有瑕疵,需要添加對應前綴;

  3. 你可以利用我提供的Python腳本,來快速完成前綴添加工作;

  4. 正則表達式的使用,可以有效提升大規模文本模式匹配與處理操作的效率。

讨論

用本文的方法,你做出了正确的CNKI文獻關鍵詞共現分析了嗎?在此之前,你是如何處理關鍵詞共現分析的?有沒有什麼更加簡便高效的方法?歡迎留言,把你的經驗和思考分享給大家,我們一起交流讨論。

如果你對我的文章感興趣,歡迎點贊,并且關注我的專欄,以便收到後續作品更新通知。

如果本文可能對你身邊的親友有幫助,也歡迎你把本文通過微博或朋友圈分享給他們。讓他們一起參與到我們的讨論中來。

,

更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!

查看全部

相关生活资讯推荐

热门生活资讯推荐

网友关注

Copyright 2023-2024 - www.tftnews.com All Rights Reserved