一、數值之間相似度的計算
求才者在發佈工作訊息的時候,可能在待遇的部份會註明面議、
依公司規定、給予一個待遇數值、或給予一個待遇範圍。同樣的,求 職者也可能提出相同的要求,供需之間的要求可能不相同。因此,兩
個數值之間也可以計算相似度。假設求才者願意提供的待遇為$N1,
求職者希望的待遇為$N2。以求才者的角度而言,當求才者所提供的 待遇大於等於應徵者的要求時,也就是當$N1 大於等於$N2 時的相似 度為 1。如果求職者所要求的待遇逐漸大於求才者所提供的待遇時,
其相似度會逐漸下降。基於相似度不小於 0 的概念,當兩者的差距 大於某一個門檻值時,相似度就變成 0 而不再下降。門檻值的計算可 以設定一個最大的偏移比例 (maximum deviation fraction),並且利用
$N1 乘以該偏移比例。因此,數值相似度的計算公式為:
$ThreshHold=$N1*$MaxDevFraction // 計算門檻值 Similaritynumeric=1-($N2 - $N1)/ $ThreshHold //計算數值相似度 如果雇主或應徵者所提出的待遇是一個範圍時,只要先求出待遇範圍 的平均值,再以相同的方式計算相似度。表 5-10 所示是數值逐漸增 加,而相似度逐漸下降的演算法。
表 5-10 數值遞增相似度遞減的演算法
Algorithm DecreasedSimilarityUpward($N1,$N2) { if ($N1==null || $N2==null) return 1.0;
if ($N1 >= $N2) return 1.0;
$this->ThreshHold=$N1 * $this->MaxDevFraction;
if (($N2-$N1) >= $this->ThreshHold) return 0.0;
return 1-($N2 - $N1) / $this->ThreshHold;
}
資料來源:本研究
表 5-10 的相似度會在$N2 大於$N1 時逐漸下降,在另一方面,
工作年資的相似度正好相反,當應徵者的工作年資大於等於雇主所要 求的年資時,相似度為 1。當應徵者的年資小於所要求的年資時,其 相似度會逐漸下降,直到所設定的門檻值為止。因此,也可以設計一 個類似的演算法 Algorithm DecreasedSimilarityDownward 來計算相似 度,也就是數值遞減時相似度遞減的演算法,如表 5-11 所示。
表 5-11 數值遞減相似度遞減的演算法
Algorithm DecreasedSimilarityDownward($N1,$N2) {
if ($N1==null || $N2==null) return 1.0; // 其中一個為空值 if ($N2 >= $N1) return 1.0;
$this->ThreshHold=$N1 * $this->MaxDevFraction;
if (($N1-$N2) >= $this->ThreshHold) return 0.0;
return 1-($N1 - $N2) / $this->ThreshHold;
}
資料來源:本研究
二、職務名稱之間相似度的計算
以職務名稱來查詢可能造成使用者的困擾,已於本章第一節第二 小節中陳述,不單是因為職務名稱欠缺完全標準化的根據,還可能因 為個人使用習慣的不同影響到查詢的結果。何況許多的職務的名稱雖 然不同,但是所需要的技能內涵卻很接近。因此,職務名稱之間也可 以計算相似度,這種相似度的計算以里程碑式相似度較為適合,只要 根據本研究所建立的職務名稱本體,採用里程碑式相似度的計算方 式,就可以算出兩個職務名稱之間的相似度。
三、發展綜合式工作媒合系統
綜合式工作媒合系統的介面如圖 5-8 所示,包括四種相似度的計 算:職務名稱之間的相似度、工作經驗之間的相似度、待遇之間的相 似度、與技能之間的相似度。
圖 5-8 綜合式工作媒合系統的介面 (資料來源:本研究)
職務名稱之間的相似度以職務名稱本體作為基礎,採用里程碑式 相似度。工作經驗之間的相似度與待遇的相似度採用數值相似度,但 兩者的計算方式不同,當應徵者工作經驗的年資小於雇主要求的年資 時,相似度逐漸下降,因此,採用數值遞減相似度遞減的演算法。反 之,當應徵者要求的薪資高於雇主的提供時,相似度逐漸下降,因此,
採用數值遞增相似度遞減的演算法。在技能部份的相似度,係以資訊 能力本體作為基礎,採用里程碑式相似度。除此之外,介面上還允許 使用者輸入額外的數個技能,技能與技能之間以逗點隔開。每一個輸 入的技能經過搜尋之後,如果不存在本體之中,這些技能會被記錄在 一個檔案之中,可以作為加入資訊能力本體的依據。