摘要:近年來,隨著我國網(wǎng)絡(luò)信息技術(shù)的快速發(fā)展,個(gè)性化推薦系統(tǒng)的應(yīng)用范圍也越來越廣,為人們的工作和生活也帶來了很多的便捷。許多公司都開始在網(wǎng)上發(fā)布招聘信息,人們也在網(wǎng)絡(luò)上發(fā)布各種各樣的求職信息,招聘求職的信息出現(xiàn)了大幅度增長,單一的崗位搜索功能已經(jīng)沒有辦法滿足招聘公司和求職者多元化的需求。該文對于崗位平臺(tái)推薦系統(tǒng)進(jìn)行深入分析,針對傳統(tǒng)職位推薦系統(tǒng)中存在的問題,引入全新的過濾推薦技術(shù),設(shè)計(jì)出個(gè)性化崗位推薦系統(tǒng),以供借鑒。
關(guān)鍵詞:Hadoop崗位推薦系統(tǒng)系統(tǒng)架構(gòu)系統(tǒng)設(shè)計(jì)
中圖分類號(hào):TP311.1文獻(xiàn)標(biāo)識(shí)碼:A? ? ? ? 文章編號(hào):1672-3791(2022)07(a)-0000-00
在互聯(lián)網(wǎng)背景下,應(yīng)用系統(tǒng)的規(guī)模也越來越大,給人們的生活帶來了比較大的改變。但是也面臨著一定的矛盾,比如信息量暴增但是人們的選擇能力是有限的,求職者如何從各種各樣的招聘網(wǎng)站中,找到合適的工作崗位招聘信息,這也成為了崗位推薦系統(tǒng)研究的主要方向,這不僅能傳遞出企業(yè)的價(jià)值,獲得了更多的收益,而且在一定程度上也為求職者提供了捷徑,實(shí)現(xiàn)雙贏共贏的目的。
1崗位推薦系統(tǒng)的概述
在個(gè)性化時(shí)代背景下,推薦系統(tǒng)也逐漸成為了整個(gè)系統(tǒng)的重要組成部分,不再是一個(gè)簡單的后臺(tái)邏輯或者是函數(shù)調(diào)用,從廣義上來說,推薦系統(tǒng)屬于數(shù)據(jù)挖掘范疇,推薦服務(wù)系統(tǒng)也依賴一些科學(xué)的推薦算法和大量的學(xué)習(xí)數(shù)據(jù)。崗位推薦系統(tǒng)是一個(gè)特殊的數(shù)據(jù)挖掘系統(tǒng),主要由數(shù)據(jù)收集、離線數(shù)據(jù)處理、實(shí)時(shí)在線推薦三個(gè)部分組成。
如今,就業(yè)的壓力越來越大,求職者想要找到一份合適的工作很困難,因此個(gè)性化的崗位推薦系統(tǒng)顯得更加重要,將大數(shù)據(jù)挖掘和分析技術(shù)引入招聘網(wǎng)站,使得招聘和求職能夠更加簡單、高效。要想設(shè)計(jì)出個(gè)性化崗位推薦系統(tǒng),必須要完成以下目標(biāo):(1)首先一定要保障用戶的隱私,收集相關(guān)客戶的真實(shí)需求以及期望達(dá)到什么目的信息,在此基礎(chǔ)上進(jìn)行個(gè)性化推薦。(2)不僅要保障用戶的正常使用,而且還要處理海量的行為日志數(shù)據(jù),深入了解用戶的興趣愛好,為在線實(shí)時(shí)推薦提供良好的信息數(shù)據(jù)支撐。(3)可以根據(jù)用戶的實(shí)際行為來分析具體的需求,給用戶推薦合適的崗位和應(yīng)聘者[ ]。
2崗位推薦系統(tǒng)的架構(gòu)
基于Hadoop平臺(tái)設(shè)計(jì)的崗位推薦系統(tǒng)的整體架構(gòu)主要分為4大模塊:首先是數(shù)據(jù)采集與傳輸,通過JS來收集求職者的行為數(shù)據(jù),將歷史行為數(shù)據(jù)都上傳到日志中,利用日志采集系統(tǒng)Flume來讀取用戶的個(gè)人行為日志,將讀取到的信息傳輸?shù)終afka中,進(jìn)行相關(guān)的離線數(shù)據(jù)分析計(jì)算工作。其次是實(shí)時(shí)計(jì)算操作,主要功能是在線推薦,求職者可以從系統(tǒng)Kafka中讀取相關(guān)的數(shù)據(jù),再利用Stom來計(jì)算相關(guān)的數(shù)據(jù),然后對運(yùn)算出來的結(jié)果進(jìn)行深入分析處理,主要通過Hadoop平臺(tái),將所獲得的數(shù)據(jù)存入數(shù)據(jù)庫,然后根據(jù)軟件分析的用戶職位特征存入數(shù)據(jù)庫。最后是對外數(shù)據(jù)服務(wù),主要是根據(jù)用戶提供的實(shí)際信息,將用戶與崗位信息聯(lián)系起來,為用戶推薦與其相匹配的崗位[ ]。
求職用戶的日志技術(shù)不僅包括用戶信息、教育學(xué)習(xí)經(jīng)歷、期望薪資等,通過對這些數(shù)據(jù)的分析來得到一個(gè)用戶匹配職位的大致范圍,包括感興趣的職位、不感興趣的職位等,再將用戶職位特征數(shù)據(jù)存入數(shù)據(jù)庫。崗位推薦系統(tǒng)主要是為企業(yè)和求職者提供個(gè)性化的服務(wù),具體來說,(1)可以根據(jù)客戶是否注冊來分為已注冊用戶和游客用戶,如果是已注冊用戶就可以根據(jù)用戶的歷史瀏覽來推算用戶的求職意向;對于游客客戶來說,可以將其個(gè)人注冊信息,包括教育經(jīng)歷、工作經(jīng)驗(yàn)、期待薪資等作為求職意向。(2)內(nèi)容過濾,在獲取求職者的求職意向信息后,從職位庫中篩選出適合求職者求職意向的職位作為第一推薦。(3)人口統(tǒng)計(jì)推薦,收集各個(gè)候選職業(yè)和求職者信息,將求職者的求職意向和崗位要求來計(jì)算相似度,將相似度前10的工作崗位推薦給求職者,完成第二次推薦任務(wù)。(4)協(xié)同推薦,求職者看到系統(tǒng)的職位推薦后,瀏覽自己感興趣的崗位,然后向企業(yè)投遞自己的建立,當(dāng)求職者看到一個(gè)自己感興趣的崗位時(shí),就可以一鍵向公司投遞自己的簡歷,系統(tǒng)會(huì)自動(dòng)記錄用戶的這一行為,主動(dòng)為用戶尋求相似度大于或者等于1%的崗位,計(jì)算相關(guān)候選職位的邏輯回歸分?jǐn)?shù),找出合適的崗位,推薦給求職者,完成第三次推薦任務(wù)。
崗位推薦系統(tǒng)主要包括數(shù)據(jù)收集、離線數(shù)據(jù)處理以及在線實(shí)時(shí)推薦三個(gè)系統(tǒng),再結(jié)合具體的求職網(wǎng)站制定一套完整的流程,每一個(gè)系統(tǒng)都有各自獨(dú)立的功能,又相互依賴。本系統(tǒng)的功能模塊包主要包括公共基礎(chǔ)庫、數(shù)據(jù)操作路、MapReduce算法庫、用戶行為收集接口程序等[ ]。
3崗位推薦系統(tǒng)的設(shè)計(jì)
3.1用戶–職位模型設(shè)計(jì)
在個(gè)性化崗位推薦系統(tǒng)中,用戶模型的設(shè)計(jì)是核心,對于推薦系統(tǒng)的準(zhǔn)確率和有效性有著極其重要的影響。因此對于個(gè)性化崗位推薦系統(tǒng)來說,構(gòu)建用戶模型尤為重要,我們可以知道,求職者職位特征主要包括基礎(chǔ)信息和行為信息,其中基礎(chǔ)信息主要有求職者的教育經(jīng)歷以及工作經(jīng)驗(yàn)等,行為特點(diǎn)主要包括求職者關(guān)注過哪些工作崗位、向哪些工作崗位投遞過自己的簡歷,根據(jù)這些信息生成相關(guān)的求職日志記錄。首先是求職者模型,根據(jù)求職者在系統(tǒng)上的記錄可以將求職者的意向分為原來的求職意向和全新的意向,如果求職者的求職方向發(fā)生了一定的變化后,可以在自己的崗位簡介頁面修改自己的信息,將修改后的現(xiàn)象作為新的求職意向,根據(jù)新信息為其推薦合適的工作崗位。對于首次登錄會(huì)話的求職者,根據(jù)人口統(tǒng)計(jì)學(xué)技術(shù)為求職者提供合適的工作崗位,如果求職者申請職位后觸發(fā)的推薦請求,根據(jù)協(xié)同推薦技術(shù)為求職者推薦合適的工作崗位。
3.2數(shù)據(jù)收集模塊設(shè)計(jì)
數(shù)據(jù)收集模塊是構(gòu)建用戶興趣模型、實(shí)現(xiàn)職位推薦系統(tǒng)的基礎(chǔ),來收集各類求職網(wǎng)站用戶的行為數(shù)據(jù),分為線上Flume挖掘求職用戶行為數(shù)據(jù)和離線上傳信息數(shù)據(jù)到HDFS系統(tǒng),將收集到的JSON數(shù)據(jù)庫存在Kafka中,用戶的行為日志也會(huì)自覺同步到HDFS中。具體包括以下幾個(gè)步驟:Apache Server將求職用戶的行為數(shù)據(jù)記錄在日志中,主要包括用戶注冊信息、瀏覽崗位信息、申請崗位信息等,然后由Fulme系統(tǒng)采集實(shí)時(shí)數(shù)據(jù),將其保存在Kafka中,將LocalLogFile里的文件上傳到HDFS系統(tǒng)中[ ]。然后實(shí)時(shí)處理用戶的行為數(shù)據(jù),將所有的數(shù)據(jù)進(jìn)行有效的離線計(jì)算。
日志的讀取和傳輸主要是通過Source和Sink組件來完成的,兩者之間通過Channel來實(shí)現(xiàn)交互的目的。日志讀取的流程如下:創(chuàng)建日志文件目錄,將新建或者未讀取的日志文件放到待讀取隊(duì)伍中,按時(shí)間順序由遠(yuǎn)到近的順序進(jìn)行排列,而且在讀取日志的時(shí)候,會(huì)自動(dòng)將日志轉(zhuǎn)成JSON的格式,為后續(xù)的數(shù)據(jù)處理工作奠定一個(gè)良好的基礎(chǔ)。到用戶讀取完日之后,系統(tǒng)會(huì)自動(dòng)將JSON格式的數(shù)據(jù)保存在Channel中,用戶可以讀取下一條數(shù)據(jù)。然后再利用KafkaSink組件來實(shí)時(shí)傳輸數(shù)據(jù)信息,當(dāng)Kafka檢測到新數(shù)據(jù)的時(shí)候,系統(tǒng)會(huì)自動(dòng)初始化Producer組件,根據(jù)userld值對于數(shù)據(jù)信息進(jìn)行篩選分類,方便在計(jì)算用戶會(huì)話,能夠按照時(shí)間順序進(jìn)行排列。
數(shù)據(jù)收集模塊主要有兩個(gè)接口,一個(gè)是數(shù)據(jù)讀取接口,需要設(shè)計(jì)Apache日志類、日志返回結(jié)果值類、實(shí)時(shí)時(shí)間讀取類等,另外一個(gè)是數(shù)據(jù)傳輸接口,需要設(shè)計(jì)行為數(shù)據(jù)緩存類、Json工具類等。數(shù)據(jù)收集功能交互的步驟如下:Apache Server收集用戶的數(shù)據(jù)信息,將其記錄在LocalLogFile中,再由DirectoryTailSource來實(shí)時(shí)監(jiān)控和關(guān)注LocalLogFile中數(shù)據(jù)信息,將所有的數(shù)據(jù)信息保存在Channel中,由KafkaSink讀取數(shù)據(jù)信息儲(chǔ)存在Kafka中,還有不經(jīng)過處理的文件不會(huì)上傳到HDFS中。數(shù)據(jù)收集功能的組件主要有實(shí)時(shí)事件讀取、數(shù)據(jù)分區(qū)、日志分析等[ ]。
3.3離線數(shù)據(jù)處理模塊設(shè)計(jì)
該系統(tǒng)的數(shù)據(jù)離線系統(tǒng)處理模塊實(shí)在Hadoop平臺(tái)上實(shí)現(xiàn)的,Hadoop是目前最受關(guān)注的分布式框架之一,其主要包括MapReduce和HdFS等,數(shù)據(jù)處理模塊是崗位推薦系統(tǒng)在線實(shí)時(shí)推薦服務(wù)重要的數(shù)據(jù)支撐,外部通過計(jì)算請求并讀取數(shù)據(jù)收集信息,內(nèi)部通過計(jì)算接口將各類算法模型運(yùn)行在Hadoop平臺(tái)上,再由MapReduce和HdFS進(jìn)行數(shù)據(jù)的分析與計(jì)算,將計(jì)算出來的數(shù)據(jù)儲(chǔ)存在數(shù)據(jù)庫里。該系統(tǒng)運(yùn)行算法的實(shí)質(zhì)是分布式框架Hadoop平臺(tái),求職者的行為以日志的形式儲(chǔ)存在HDFS上,在經(jīng)過PigLatin進(jìn)行清洗儲(chǔ)存在Hive里,隨后再利用MapReduce程序來處理相關(guān)的數(shù)據(jù),分析用戶模型,將職位模型儲(chǔ)存在HBase中,為后續(xù)的職位推薦奠定一個(gè)良好的基礎(chǔ)[ ]。還有離線數(shù)據(jù)處理模塊處理的步驟主要包括預(yù)處理和用戶職位模型,以收集到的用戶行為數(shù)據(jù)為基礎(chǔ),利用特定的算法來計(jì)算出求職用戶的特征。首先,數(shù)據(jù)處理模塊接口收到計(jì)算請求之后,會(huì)將計(jì)算請求移交給總控模塊,然后總控模塊會(huì)根據(jù)計(jì)算請求向用戶模型管理管理模塊獲得相關(guān)的算法后,將任務(wù)提交到Hadoop集群上,由專門的程序來讀取數(shù)據(jù),MapReduce的任務(wù)也正式開始運(yùn)行,當(dāng)MapReduce計(jì)算完成后,成功返回初始界面,整合計(jì)算流程也隨之結(jié)束。離線數(shù)據(jù)處理的功能組件主要包括日志清洗、會(huì)話計(jì)算、興趣度計(jì)算等。
3.4在線實(shí)時(shí)推薦模塊設(shè)計(jì)
該系統(tǒng)的在線實(shí)時(shí)推薦模塊借助于Storm平臺(tái),Storm是一個(gè)分布式實(shí)時(shí)計(jì)算機(jī)數(shù)據(jù)處理系統(tǒng),能夠?qū)η舐氂脩舻膶?shí)時(shí)行為進(jìn)行有效的分析,結(jié)合求職用戶離線計(jì)算的數(shù)據(jù)信息,為用戶推薦符合求職意向的崗位。在線實(shí)時(shí)推薦模塊主要包括控制器和工作器,控制器是Storm中的一個(gè)Tooology,專門負(fù)責(zé)求職用戶的數(shù)據(jù)信息,再將數(shù)據(jù)信息的內(nèi)容進(jìn)行分類,給工作器分配不同的任務(wù),主要功能在于實(shí)時(shí)接收、實(shí)時(shí)管理求職用戶的行為數(shù)據(jù),當(dāng)行為管理器檢測到新用戶的時(shí)候,系統(tǒng)會(huì)自覺分配相關(guān)的推薦任務(wù),由另一個(gè)程序負(fù)責(zé)給用戶反饋信息。工作器是Storm的很多個(gè)Bolt組成的程序,主要負(fù)責(zé)分析求職者的行為數(shù)據(jù),再結(jié)合離線數(shù)據(jù)處理模塊,選擇合適的推薦策略為求職者提供一個(gè)合適的工作崗位,由控制器來反饋求職者的數(shù)據(jù)信息,主要功能包括分析求職者的實(shí)時(shí)行為、人口統(tǒng)計(jì)學(xué)、協(xié)同推薦技術(shù)來過濾崗位信息,并隨時(shí)更新崗位數(shù)據(jù)庫信息??刂破鞯闹饕δ茴愑兄骺刂祁?、實(shí)時(shí)數(shù)據(jù)接受類、日志類等、工作器的主要功能類有實(shí)時(shí)計(jì)算推薦類、候選職位操作類、模型推薦類等,在線實(shí)時(shí)推薦功能交互步驟如下:首先RecommendationTpoplogy啟動(dòng)程序來接受用戶行為數(shù)據(jù),TransManagerBolt將未處理的用戶行為數(shù)據(jù)添加到數(shù)據(jù)處理隊(duì)列,再由RealTimeMainBolt對用戶的行為數(shù)據(jù)進(jìn)行分析,通過getRecList方法來獲取職位推薦表,再通過RecommendationDao對用戶行為日志數(shù)據(jù)按照特定的推薦策略來更新崗位推薦列表,推薦完成后,返回初始頁面等待新任務(wù)[ ]。在線實(shí)時(shí)推薦功能組件主要有主控件(RecommendationTpoplogy)、實(shí)時(shí)數(shù)據(jù)接受件(ApacheLogSpout)、用戶行為屬性(UserBehavior)等。
3.5數(shù)據(jù)庫設(shè)計(jì)
系統(tǒng)的需要儲(chǔ)存的數(shù)據(jù)比較多,崗位推薦中需要設(shè)計(jì)數(shù)據(jù)庫,因此數(shù)據(jù)庫設(shè)計(jì)分為HBase和Hive的表結(jié)構(gòu)設(shè)計(jì),需要分享的信息主要有用戶信息、職位信息等,比如將職位瀏覽記錄儲(chǔ)存在Hive數(shù)據(jù)庫,剩下的信息數(shù)據(jù)儲(chǔ)存在HBase數(shù)據(jù)庫中,用戶的職位信息主要包括瀏覽崗位的時(shí)間、崗位的類型、期望薪資等,求職者瀏覽職位的信息主要包括職位性質(zhì)、工作經(jīng)驗(yàn)、年齡,性別等這類數(shù)據(jù)儲(chǔ)存在Hive數(shù)據(jù)庫中;求職者興趣度表主要包括工作年限、期望月薪等;用戶推薦表包括日期、職位等信息被儲(chǔ)存在Hbase數(shù)據(jù)庫中。
4結(jié)語
綜上所述,在大數(shù)據(jù)時(shí)代背景下,求職者通過網(wǎng)站來獲取崗位信息的頻率越來越高,人才信息和崗位信息出現(xiàn)爆炸式增長的現(xiàn)象,從Hadoop平臺(tái)的角度出發(fā)來設(shè)計(jì)崗位推薦系統(tǒng),能夠讓求職者從海量的招聘信息中找到合適的工作,給求職者帶來更多的便捷,而且崗位推薦系統(tǒng)的運(yùn)行也能夠更加高效、便捷。
參考文獻(xiàn)
[1] 曹佳.基于文本語義相似度的企業(yè)招聘系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[D].曲阜:曲阜師范大學(xué),2020.
[2] 陸佳雯,武頻,雷志丹,等.基于廣義Choquet積分的職位推薦算法[J].計(jì)算機(jī)工程與設(shè)計(jì),2021,42(1):206-211.
[3] 李文海,許舒人.基于Hadoop的電子商務(wù)推薦系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J].計(jì)算機(jī)工程與設(shè)計(jì),2014,35(1):130-136,143.
[4] 陳軍.基于大數(shù)據(jù)的ZQ就業(yè)推薦平臺(tái)設(shè)計(jì)及運(yùn)維管理機(jī)制研究[D].廣東:廣東工業(yè)大學(xué),2018.
[5] 顧軍林,劉瑋瑋,陳冠宇.基于Hadoop平臺(tái)的崗位推薦系統(tǒng)設(shè)計(jì)[J].現(xiàn)代電子技術(shù),2019,42(20):123-127.
[6] 王杰.基于Hadoop的農(nóng)業(yè)種植信息推薦系統(tǒng)的構(gòu)建與研究[D]. 鄭州:華北水利水電大學(xué), 2020
[7] 韋美峰.Hadoop平臺(tái)下主題搜索引擎的設(shè)計(jì)與實(shí)現(xiàn)[D].西安:西安電子科技大學(xué),2018
基金項(xiàng)目:廣西中青年課題《基于大數(shù)據(jù)的高校就業(yè)決策系統(tǒng)的設(shè)計(jì)與開發(fā)》(項(xiàng)目編號(hào):2021KY1461)。
作者簡介:溫曉宇(1981—),男,碩士,講師,研究方向?yàn)橛?jì)算機(jī)網(wǎng)絡(luò)應(yīng)用,大數(shù)據(jù)開發(fā)、移動(dòng)應(yīng)用開發(fā)等。