李 龍 金 鑠 黃 霞
(東北石油大學(xué)計(jì)算機(jī)與信息技術(shù)學(xué)院 大慶 163318)
當(dāng)下畢業(yè)生的就業(yè)存在難度大以及對工作不滿意的問題。畢業(yè)生就業(yè)難主要是因?yàn)樵絹碓蕉嗟漠厴I(yè)生總數(shù)使得應(yīng)屆生之間的就業(yè)壓力逐年增大,以及公司企業(yè)對畢業(yè)生的要求越來越高,使得就業(yè)的門檻逐年增高。由于畢業(yè)生人數(shù)眾多,高校無法精準(zhǔn)地做到對個(gè)人進(jìn)行崗位推薦[1]。為了解決畢業(yè)生就業(yè)推薦的精準(zhǔn)度的問題,設(shè)計(jì)搭建該就業(yè)推薦系統(tǒng),一方面根據(jù)往屆畢業(yè)生個(gè)人信息及就業(yè)意向,進(jìn)行K-Means++聚類[2],同時(shí)對正在求職的畢業(yè)生進(jìn)行用戶畫像,另一方面對招聘信息使用TF-IDF 算法[3~4],對文本進(jìn)行向量化處理,并計(jì)算權(quán)重,從而提取出文本關(guān)鍵詞。選擇適合度TOP-N 的職業(yè)推薦,精確化的推薦可在很大程度上解決就業(yè)信息的極度冗余帶來的繁雜,并對用戶的個(gè)人信息及需求進(jìn)行針對性分析,能夠提升推薦的準(zhǔn)確性[5]。具體推薦流程如圖1、圖2所示。
TF-IDF(Term Frequency/Inverse)算法是一種在信息檢索和數(shù)據(jù)挖掘領(lǐng)域中進(jìn)行檢索詞重要性度量的常用統(tǒng)計(jì)方法[6]。TF-IDF 算法可用來衡量詞語對于一個(gè)語料庫中的一個(gè)文本的重要度。TF-IDF 值由TF(Term Frequency,詞頻)和IDF(Inverse Document Frequency,逆文檔頻率)相乘得出,其公式如下:
上述公式中,count(ω)是關(guān)鍵詞的出現(xiàn)次數(shù),|Di|是文檔中詞的總數(shù),TF代表關(guān)鍵詞在文檔中的出現(xiàn)頻率,TF越高,則反映出這個(gè)詞出現(xiàn)得越頻繁。IDF則反映了一個(gè)詞在文檔中的普通程度,當(dāng)有大量文檔包含一個(gè)詞語的時(shí)候,IDF越低,代表這個(gè)詞越普通[7]。
一個(gè)詞的TF-IDF 值等于這個(gè)詞的TF與IDF的乘積,一個(gè)詞的TF-IDF越大,則代表這個(gè)詞在這個(gè)文章越重要,就越能夠代表這個(gè)文章,對于一個(gè)中文文本,首先進(jìn)行分詞,然后進(jìn)行去停用詞,去掉無意義的助詞,然后對每一個(gè)詞計(jì)算出其TF-IDF值,選擇排在Top-N 的詞,就可得出該文章的關(guān)鍵詞[8]。
使用TF-IDF 算法,對從互聯(lián)網(wǎng)上獲得的招聘信息文本進(jìn)行分析,從而得到每條招聘信息的關(guān)鍵詞,將關(guān)鍵詞在不同行業(yè),不同企業(yè)間的權(quán)重加以比較,并將每條招聘信息的不同關(guān)鍵詞進(jìn)行分類。為了提高就業(yè)推薦的精準(zhǔn)度,對于畢業(yè)生的信息,本文推薦系統(tǒng)使用TF-IDF算法提取招聘網(wǎng)站職位基本信息。根據(jù)TF-IDF 算法的定義,對于招聘信息文檔,先切分出關(guān)鍵詞,將是否包含該關(guān)鍵詞作為新特征,然后對新特征和目標(biāo)變量做假設(shè)實(shí)驗(yàn)。該實(shí)驗(yàn)的結(jié)果展示了某一些關(guān)鍵詞對于一個(gè)文檔的重要程度。
采用聚類算法,對學(xué)生特征之間的距離進(jìn)行計(jì)算,對于往屆學(xué)生的個(gè)人信息,分成幾個(gè)學(xué)生集,對于目標(biāo)學(xué)生,進(jìn)行用戶畫像建模,然后進(jìn)行相似度計(jì)算,從而找到與其最相似的學(xué)生集,并根據(jù)該學(xué)生集的就業(yè)情況對其進(jìn)行就業(yè)推薦[9]。此算法先從客觀上尋找個(gè)人就業(yè)特征相似的鄰集,再從主觀上在特征相似鄰集中尋找就業(yè)觀、就業(yè)興趣相似的往屆生,結(jié)合主客觀兩個(gè)方面判斷學(xué)生相似性,提高尋找最相似學(xué)生的精確度,進(jìn)而也避免了興趣評分?jǐn)?shù)據(jù)的缺乏對就業(yè)推薦質(zhì)量帶來的影響[10]。K-means++公式如下所示:
對樣本集D={x1,x2,…,xm},K-Means++算法需要根據(jù)聚類劃分C={C1,C2,…,Ck},將平方誤差最小化。式中ui是簇Ci的均值向量。
本文選擇使用K-means++算法,本算法是對K-Means算法的改進(jìn),使得初始聚類中心的距離盡量遠(yuǎn)[11~12]。 對往屆畢業(yè)生個(gè)人信息進(jìn)行K-means++聚類,其流程如下所示:
根據(jù)K-Means++算法和TF-IDF 算法,建立就業(yè)推薦系統(tǒng)。主要分為就業(yè)信息抓取、用戶數(shù)據(jù)采集、就業(yè)信息推薦三大模塊[13]。
通過Web爬蟲的方式,從互聯(lián)網(wǎng)上如智聯(lián)招聘等招聘信息網(wǎng)站上爬取就業(yè)信息,并進(jìn)行數(shù)據(jù)預(yù)處理,進(jìn)行數(shù)據(jù)的清洗、去重。采取TF-IDF算法對就業(yè)信息進(jìn)行處理,進(jìn)行文本向量化并計(jì)算權(quán)重,從而獲取到關(guān)鍵詞,形成能夠結(jié)構(gòu)化存儲(chǔ)的數(shù)據(jù),按照信息時(shí)間的先后順序進(jìn)行存儲(chǔ),主要解析的內(nèi)容如下:公司種類、崗位的名稱、各個(gè)崗位職責(zé)、各崗位能力要求、學(xué)歷要求、工作地點(diǎn)、薪資待遇水平等等。爬蟲數(shù)據(jù)使用TF-IDF算法計(jì)算之后進(jìn)行降維的可視化。本實(shí)驗(yàn)爬取4300 多條數(shù)據(jù),把文本向量化,使用TF-IDF算法計(jì)算權(quán)重,并從語料庫中提取權(quán)重最大的為關(guān)鍵詞。爬取的部分?jǐn)?shù)據(jù)展示,計(jì)算權(quán)重并展示Top-8的詞頻如圖3~5所示。
圖3 部分爬取數(shù)據(jù)展示
圖4 詞頻矩陣展示
圖5 關(guān)鍵詞權(quán)重展示
TF-IDF 算法計(jì)算權(quán)重,后進(jìn)行聚類、數(shù)據(jù)降維(TSNE算法)可視化,如圖6所示。
圖6 降維、聚類后職位信息數(shù)據(jù)可視化
針對每條語料,用TF-IDF算法計(jì)算權(quán)重后,得出了不同關(guān)鍵詞可作為它們的主題,并建立詞云圖,其中部分詞云圖如圖7所示。
圖7 部分詞云圖展示
圖8 某高校畢業(yè)生數(shù)據(jù)經(jīng)K-means++算法聚類后效果展示
圖9 實(shí)驗(yàn)方法及流程
用戶數(shù)據(jù)包括兩方面的信息,一方面為用戶的初始注冊信息,如學(xué)歷、學(xué)校、專業(yè)、特長、就業(yè)意向等,另一方面為高校畢業(yè)生近年就業(yè)信息數(shù)據(jù),通過分析往年學(xué)生就業(yè)數(shù)據(jù),使用K-Means++算法聚類,可以根據(jù)注冊用戶的個(gè)人信息,將與其情況相類似的畢業(yè)生的就業(yè)情況進(jìn)行推薦[14]。當(dāng)注冊用戶在推薦系統(tǒng)中產(chǎn)生行為時(shí),如點(diǎn)擊瀏覽某個(gè)就業(yè)信息、收藏某個(gè)就業(yè)信息、申請某個(gè)崗位等,都需要進(jìn)行接口調(diào)用,與后端服務(wù)器產(chǎn)生通信,用戶數(shù)據(jù)采集模塊通過用戶日志,對接口的調(diào)用情況進(jìn)行統(tǒng)計(jì),從而收集用戶的歷史求職行為信息,并存入用戶信息數(shù)據(jù)庫中,用于用戶畫像建模,為推薦算法的運(yùn)行提供數(shù)據(jù)支撐。對往屆學(xué)生的個(gè)人信息進(jìn)行聚類,并根據(jù)個(gè)人信息與行為數(shù)據(jù)建立畢業(yè)生用戶畫像,根據(jù)需求高效的進(jìn)行推薦,是對大數(shù)據(jù)更新層次的一種利用[15]。
本文中從河南某高校近三年的畢業(yè)生就業(yè)信息中心中獲取3000 余條數(shù)據(jù),為避免不同數(shù)據(jù)類型和不同的單位對于距離產(chǎn)生的影響,首先需要把所有數(shù)據(jù)的值全部轉(zhuǎn)換到數(shù)值區(qū)間[0,1]中,本文中選取的學(xué)生特征為編號、性別、專業(yè)、民族、政治面貌、獲獎(jiǎng)情況、學(xué)生干部、外語成績、在校成績。標(biāo)準(zhǔn)化處理之后的數(shù)據(jù)部分如表1所示。
本模塊中在就業(yè)信息的個(gè)性化推薦時(shí)使用的是基于用戶畫像的TF-IDF算法。對于未注冊的游客,則推薦系統(tǒng)中熱門就業(yè)信息;對于新注冊的用戶,根據(jù)其初始注冊時(shí)填寫的個(gè)人信息及就業(yè)意向,通過K-means++聚類算法,尋找與其初始信息相似的用戶,為了預(yù)測新用戶的就業(yè)信息評分并生成初始推薦列表,需要用戶對就業(yè)信息進(jìn)行評價(jià);對于注冊一段時(shí)間的用戶,還需根據(jù)其歷史行為信息,尋找與其行為類似的用戶,向其推薦與他類似的用戶所喜好的就業(yè)信息。先分別利用傳統(tǒng)的TF-IDF 算法將招聘信息文檔中的關(guān)鍵詞轉(zhuǎn)換為詞頻向量矩陣,然后利用K-means++算法對畢業(yè)生基本信息中的詞頻向量進(jìn)行聚類[16],從畢業(yè)生的所屬的學(xué)科分類出發(fā),對招聘信息文檔中的關(guān)鍵詞矩陣進(jìn)行交叉分析,從互聯(lián)網(wǎng)上如智聯(lián)招聘等招聘信息網(wǎng)站上爬取就業(yè)信息,并進(jìn)行數(shù)據(jù)預(yù)處理,進(jìn)行數(shù)據(jù)清洗與去重。采取合適的文本匹配方式對就業(yè)信息進(jìn)行抽取,從而形成能夠結(jié)構(gòu)化存儲(chǔ)的數(shù)據(jù),按照信息時(shí)間的先后順序進(jìn)行存儲(chǔ)。
本文提出的基于K-means++算法和TF-IDF 算法的混合雙向就業(yè)推薦方法能更有效地解決就業(yè)精準(zhǔn)推薦的問題,通過用戶的個(gè)人信息和行為數(shù)據(jù)進(jìn)行用戶畫像,利用K-means++算法,對往屆畢業(yè)生數(shù)據(jù)進(jìn)行聚類,并進(jìn)行相似度計(jì)算,找到最相似的學(xué)生就業(yè)信息集合,根據(jù)他們的就業(yè)情況進(jìn)行參考,系統(tǒng)通過TF-IDF 算法,對就業(yè)信息進(jìn)行處理,得出每個(gè)就業(yè)信息的關(guān)鍵詞,然后尋找與用戶畫像最匹配的就業(yè)信息并向其推薦。通過根據(jù)歷年畢業(yè)生就業(yè)信息和招聘信息進(jìn)行雙向就業(yè)推薦,從而幫助高校畢業(yè)生減少就業(yè)盲目性,提高提高用戶滿意度。