姚超

摘要:為了更加客觀且全面地了解當下各企業對大數據崗位的職業技能要求,他首先通過網絡爬蟲技術針對前程無憂網站上各個企業所發布與大數據相關的崗位進行信息提取并保存,然后通過分詞技術對提取到的崗位信息進行分詞,最后對分詞后的數據進行統計分析。通過分析,他得到了相對客觀的大數據崗位職業技能需求信息,這為后續地大數據人才培養方案制定提供了更加客觀全面的數據支撐。
關鍵詞:網絡爬蟲;大數據;職業技能;信息抽取;數據分析
中圖分類號:TP319? ? ? ? 文獻標識碼:A
文章編號:1009-3044(2019)27-0001-02
Abstract: In order to be more objective and comprehensive about the understanding of the various enterprises vocational skill requirements for big data posts, firstly, he extracted and saved the information of posts related to big data released by various enterprises` on 51job.com through web crawler technology, and then divided the extracted post information into words by word segmentation technology. Finally, he analyzed the data after word segmentation by statistics. Through the analysis, he obtained relatively objective information about the vocational skill demands of the big data posts, and provided more objective and comprehensive data support for the subsequent formulation of big data talent training plan .
Key words:web crawler; big data; vocational skills; Information Extraction; data analysis
2015年國務院印發的《促進大數據發展的行動綱要》[1]這一重要文件極大地加速了大數據行業及大數據職業教育的發展,同時也促使社會對大數據專業人才需求的激增。2016年,《普通高等學校高等職業教育專業(專科)目錄》增補了“大數據技術與應用專業”[2],2017年高職院校正式以“大數據技術與應用”專業開始招生。截至目前,“大數據技術與應用”專業還沒有畢業生,各高職院校的“大數據技術與應用”專業均處于探索研究階段。為了能夠更加客觀且全面地了解當下各企業對大數據崗位的職業技能要求,從而實現對當前高職院校“大數據技術與應用”專業人才培養方案的修訂與完善,本文將通過網絡爬蟲等技術從前程無憂招聘網站上獲取有關大數據崗位相關信息并做分析。
1 整體設計
為了實現獲取大數據崗位信息并進行分析,本文的功能涉及三個模塊:網絡爬蟲、數據儲存和數據處理與分析。其中網絡爬蟲的實現方案有很多,因為Scrapy框架具體高效和功能強大等特點[3],本文采用Scrapy框架實現網絡爬蟲以獲取的大數據崗位相關信息。由于MongoDB具有高性能、易部署、易使用、存儲數據非常方便等特點[4],本文的數據存儲模塊采用MongoDB來保存獲取到的大數據崗位信息。因為通過爬蟲獲取到的崗位信息數據均是中文文本信息,本文需要對中文文本信息進行分詞處理然后再分析,jieba模塊是目前最好的Python中文分詞組件[5],因此本文采用jieba模塊來對崗位描述的文本信息進行處理并使用pyecharts模塊來對分析的結果進行展示。具體的設計方案如圖1所示。
2 大數據崗位信息獲取與存儲
2.1 網絡爬蟲的設計與實現
1) 明確爬蟲目標。
根據需求,本文將關注的焦點放在前程無憂招聘網站上有關專科學歷的大數據崗位信息。如果只搜索以上信息,將會出現大量與大數據崗位不符合的信息,如:銷售員、電話客服等。為避免此種情況出現,本文將搜索范圍限定在有1-3年工作經歷的招聘崗位上,此時得到的信息將更加符合大數據專業。具體的搜索結果如圖2所示,其中被矩形框標記的內容則是本文所需要的部分信息。在圖2中可以發現其中仍然包含有極少量無效信息,因此本文將在后面的數據處理過程中對這些數據進行更深入地篩選過濾。此外,以上頁面的內容并不能滿足本文用于職業技能分析的要求,還需要將每個崗位的詳細信息提取出來,詳細頁面如圖3所示,其中矩形框標記的內容則是本文所需要的核心信息。
2) 分析待解析的頁面信息。
通過第1步得到兩個待解析的頁面:大數據崗位搜索結果頁面、崗位詳情頁面。這里可以通過瀏覽器所提供的“查看元素”功能來分析整個頁面的文檔結果及要爬取信息在頁面中的位置。通過分析可以得到每個頁面上所要爬取信息如下:搜索結果頁面的職位名、公司名、工作地點、薪資、崗位詳情鏈接、下一頁鏈接等;崗位詳情頁面的職位信息。
2.2 大數據崗位信息儲存
當scrapy獲取到數據后,這些數據將會被傳遞到pipeline中進行下一步處理。本文通過編寫實現pipeline中的process_item(self, item, spider)方法,將傳遞過來的數據通過MongoDB的insert()方法直接寫入MongoDB數據庫中。為了能夠讓數據可以被傳遞到pipeline中,這里需要提前設置好setting.py中的“ITEM_PIPELINES”信息,要確保該參數存在且未被注釋。
3? 大數據崗位信息處理與分析
3.1 數據篩選
在2.1節中已經發現爬取到的數據中還有少量崗位信息為客服和銷售崗,因此在進行數據處理與分析前,要把這些信息從有效數據中過濾掉。這里最直接的思路是在查詢數據庫是將這些數據過濾掉,但是MongoDB數據庫在查詢過濾功能與其他數據庫不同,它所采用的是正則表達式。本文所需要的數據中其崗位名稱不包含“銷售”和“客服”等字符,結合正則表達式相關語法規則設計出符合該功能的正則表達式為“^((?!銷售|客服).)*$”[6]。
3.2 數據處理與分析
常見的數據處理包含:數據錯誤處理、缺失值處理、離群值處理、中文jieba分詞、去停用詞處理等[7]。本文主要采用中文jieba分詞和去停用詞處理兩種數據處理方法。如果不采用去停用詞處理,這里將得到大量與最終要求無關的統計信息,如:優先、熟悉、掌握等。去停用詞處理可以節省存儲空間和提高搜索效率,停用詞專指在處理自然語言數據或文本時自動過濾掉的字或詞[8]。
大數據崗位信息處理完成后,本文采用TF-IDF(term frequency-inverse document frequency)[9]統計方法來對其進行分析,以確定各種計算機專業相關的職業技能在大數據崗位中的重要程度。
3.3 結果展示
通過3.2節中對大數據崗位信息的處理,并使用TF-IDF統計方法進行分析后,為了更加清晰明了地展現分析后的結果,本文采用pyecharts模塊中的柱狀圖Bar來呈現結果,具體如圖4所示。通過該分析結果可以非常明顯看出:對于大數據崗位來說,數據庫、數據分析、Java、MySQL、Linux、Python、Hadoop等是非常重要的職業技能;此外可視化等相關技術、數據結構、網絡爬蟲等職業技能也是較多企業對大數據人才的要求。
4? 結束語
以前,我們要想知道指定崗位所需要的職業技能都是通過調查部分企業來實現的。通過這種方式,我們所得到的結果不全面,有時還會因為企業給出的信息較隨意使得結果不客觀,甚至會出現偏差。本文通過網絡爬蟲技術爬取前程無憂網站上各個企業所發布與大數據相關的崗位進行信息并保存到MongoDB中,同時使用中文jieba分詞、去停用詞處理等對數據進行處理并使用TF-IDF統計方法對處理后的數據進行分析,最后得到了一組相對客觀的大數據崗位職業技能需求信息,這為后續地大數據人才培養方案制定提供了更加客觀全面的數據支撐。
參考文獻:
[1] 中華人民共和國國務院.促進大數據發展行動綱要[Z].北京:中華人民共和國國務院,2015.
[2] 中華人民共和國教育部.《普通高等學校高等職業教育(專科)專業目錄》2016年增補專業[Z].北京:中華人民共和國教育部,2016.
[3] 黑馬程序員.解析Python網絡爬蟲:核心技術、Scrap框架、分布式爬蟲[M].北京:中國鐵道出版社,2018:175-178.
[4] 百度百科.mongodb[DB/OL].[2019-07-10].https://baike.baidu.com/item/mongodb.
[5] Gaius_Yao.簡明jieba中文分詞教程[M/OL].[2019-07-10].https://www.jianshu.com/p/883c2171cdb5.
[6] (美)Goyvaerts Jan, Levithan Steven.正則表達式經典實例[M].郭耀譯.北京:人民郵電出版社,2010:273-304.
[7] 李光明,潘以鋒,周宗萍.基于自然語言處理技術的學生管理論壇文本挖掘與分析[J].智庫時代,2019(29):122+127.
[8] 百度百科.停用詞[DB/OL].[2019-07-10].https://baike.baidu.com/item/停用詞.
[9] 馮勇,屈渤浩,徐紅艷,等.融合TF-IDF和LDA的中文FastText短文本分類方法[J].應用科學學報,2019,37(03):378-388.
【通聯編輯:朱寶貴】