Over 10 years we help companies reach their financial and branding goals. Engitech is a values-driven technology agency dedicated.

Gallery

Contacts

411 University St, Seattle, USA

+1 -800-456-478-23

Technology 資訊科技
技術文:如何用 NLP 從數據中找到改善招聘廣告效果的方法

Technology:如何用 NLP 從數據中找到改善招聘廣告效果的方法

預計閱讀時間︰5 分鐘

招聘 IT 人才是一件困難的事。根據多年的經驗,刊登一個招聘廣告往往只會收到少量的求職信。不論是在香港還是台灣的情況也是一樣。身邊認識的 IT 界老闆們也遇著相同的情況。看來要吸引在 IT 界的人才,需要花多一點心思。

收集數據

FIMMICK 在台灣 104 人力銀行刊登招聘廣告的初期也遇到應徵者少的問題。那時我們想要改善這個情況。在研究過後,發現到一條傳回 JSON 數據的 API。裡面的訊息很豐富:

其中的 applyCnt 值很吸引,那是代表廣告有多少人申請過。公司在新店區,地點算是偏僻的區域,原本以為這個是求職量少的原因。可是,從 applyCnt 看新店區的其他工作,同樣是「前端工程師」,別人的有 25 人申請;我們只得 3 人。有趣的是別人提供的工資是 NT$32000-$60000;我們卻是 NT$40000-$60000,絕對不比別人少。大家可能認為別家是大公司吧,然而她只是一般的小公司。在客觀條件也差不多的情況下,看來是廣告中的內容不夠吸引。為了証明這一點,我們再拿其他 applyCnt 大於 10 的記錄來對比,發現這些廣告都是以要點形式寫成,並且不多於 6 點。按照這個發現把招聘廣告修改後,收到 12 份申請。雖然未能像別人一樣超過 20 份申請,效果的確有所提升。

最近 FIMMICK 在招聘「Analyst Programmer」,有了台灣經驗,我們希望能在香港的 JobsDB 上應用。不過,她沒有像 104 的 API,也沒有開放申請數字,於是我們嘗試另一種方法:我們假設廣告內容是最影響申請的因素,在沒有申請數字的情況下,決定從所有相同職位的廣告內容中,找出最多公司選用的片語,看看能否對撰寫招聘廣告有所幫助。那麼,內容是怎樣得來?既然沒有 JSON,那就只能在網頁代碼中擷取回來。

分析

最後方的數字是頁數。如此的話,只要編寫一個迴圈程序,把頁數加進去就能下載相關頁面內容。得到的 HTML 碼中不難發現廣告內容是以 JSON 形式儲存。因此,可以利用 Regular Expression 或 substring 方法把 JSON 內容裁剪出來並放入 $jsonText,然後進行解釋:

				
					$textArray = array();
$json = json_decode($jsonText, true);
$jobArray = $json[“result”][“jobs”];
foreach ($jobArray as $jobDictionary)  {
    $sellingPoints = $jobDictionary[“sellingPoints”];
    $textArray = array_merge($textArray, $sellingPoints);
}
				
			

現在,所有賣點文字一行一行地儲存在 $textArray。把它們變成一條長字串,輸入到「結巴分詞」(https://github.com/fxsjy/jieba) 中便能得到結果。以下程式是列出首 30 個最高分的片語:

				
					require_once(“./vendor/autoload.php”);

use Fukuball\Jieba\Jieba;
use Fukuball\Jieba\Finalseg;
use Fukuball\Jieba\JiebaAnalyse;

Jieba::init();
Finalseg::init();
JiebaAnalyse::init();

$content = implode(” “, $textArray);
$wordDictionary = JiebaAnalyse::extractTags($content, 30);
var_dump($wordDictionary);

require_once(“./vendor/autoload.php”);

use Fukuball\Jieba\Jieba;
use Fukuball\Jieba\Finalseg;
use Fukuball\Jieba\JiebaAnalyse;

Jieba::init();
Finalseg::init();
JiebaAnalyse::init();

$content = implode(” “, $textArray);
$wordDictionary = JiebaAnalyse::extractTags($content, 30);
var_dump($wordDictionary);
				
			

得到的結果是:

				
					“Analyst Programmer” Result:
Array(
   [development] => 0.35149594095426
   [experience] => 0.30983716276709
   [work] => 0.28119675276341
   [system] => 0.25255634275973
   [java] => 0.24734899548633
   [years] => 0.1484093972918
   [web] => 0.14059837638171
   [days] => 0.13669286592666
   [good] => 0.13018368183491
   [working] => 0.12888184501656
   [application] => 0.12888184501656
   [.net] => 0.11456164001472
   [computer] => 0.11195796637802
   [c#] => 0.11065612955968
   [programmer] => 0.11065612955968
   [degree] => 0.10805245592298
   [sql] => 0.10805245592298
   [science] => 0.10675061910463
   [project] => 0.10284510864958
   [day] => 0.095034087739486
   [analyst] => 0.092430414102788
   [attractive] => 0.087223066829391
   [package] => 0.083317556374344
   [design] => 0.078110209100947
   [javascript] => 0.075506535464249
   [career] => 0.072902861827551
   [diploma] => 0.070299188190853
   [oracle] => 0.068997351372504
   [programming] => 0.067695514554154
   [software] => 0.067695514554154
)
				
			

想像得出內容大多是學歷在 Diploma 以上,有多年工佢經驗,從事網頁應用的開發,開及平台為 .Net,語言為 Java 及 C#。

總結

利用數據分析能改善招聘廣告內容的吸引度。它雖然未必能大幅度提升效能,但卻是一個不錯的選擇。對於初學者而言,是一個學習應用 NLP 的入門例子。把它加以改善,應用在不同的場合,便能提升編程投術,增強競爭力。FIMMICK 目前在香港及台灣招聘編程人才,有興趣的讀者不妨過來了解一下。

希望以上內容對你有幫助!你對 digital marketing 有疑問嗎?歡迎到 FacebookInstagram inbox 我們!我們會盡力解答你的問題。如果你對我們的服務感興趣,歡迎與我們聯絡

相關服務

相關文章