You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

计算职位名称与岗位描述关联度得分 求适用的Python或PHP开发库

实现方案推荐

Python实现推荐

  • 轻量关键词匹配场景:用scikit-learn库,通过TF-IDF提取文本特征后计算余弦相似度即可得到关联得分,实现简单运行速度快,完全匹配你的需求。
  • 语义匹配场景(需识别同义表达):用sentence-transformers库,调用预训练模型生成文本语义向量后计算余弦相似度,准确率更高但需要下载预训练模型。

Python示例代码(基于scikit-learn):

from sklearn.feature_extraction.text import TfidfVectorizer
from sklearn.metrics.pairwise import cosine_similarity

# 输入数据
job_titles = ["Teacher English", "Teacher Spanish", "Teacher first grade"]
job_desc = "Teacher Lorem ipsum dolor sit amet, consectetur adipiscing elit. Cras non urna tincidunt, rutrum velit ut, bibendum massa. Duis sed enim nec Teacher magna bibendum aliquet. Duis massa turpis, faucibus placerat viverra nec, imperdiet sed arcu. Pellentesque justo tellus, vehicula vel lacinia sit English amet, sodales ac mauris. Donec iaculis quis augue sed First tempus. Suspendisse potenti. Cras egestas suscipit magna, ut lacinia mauris eleifend quis. Curabitur nisl lorem, pretium nec libero viverra, Teacher maximus vulputate orci. Suspendisse volutpat massa id felis imperdiet tincidunt."

# 初始化TF-IDF工具
tfidf = TfidfVectorizer(stop_words='english')
# 合并所有文本训练特征
all_text = job_titles + [job_desc]
tfidf_matrix = tfidf.fit_transform(all_text)

# 计算每个职位和岗位描述的余弦相似度
desc_vector = tfidf_matrix[-1]
result = []
for idx, title in enumerate(job_titles):
    # 得分放大到0-10区间符合你的示例预期
    score = cosine_similarity(tfidf_matrix[idx], desc_vector)[0][0] * 10
    result.append({
        "job_title": title,
        "score": round(score, 3)
    })

print(result)

PHP实现推荐

  • 推荐用php-ml库,同样支持TF-IDF特征提取和余弦相似度计算,满足PHP场景的开发需求。

PHP示例代码(基于php-ml):

require_once __DIR__ . '/vendor/autoload.php';

use Phpml\FeatureExtraction\TfIdfTransformer;
use Phpml\FeatureExtraction\TokenCountVectorizer;
use Phpml\Tokenization\WhitespaceTokenizer;
use Phpml\Metric\Cosine;

// 输入数据
$jobTitles = ["Teacher English", "Teacher Spanish", "Teacher first grade"];
$jobDesc = "Teacher Lorem ipsum dolor sit amet, consectetur adipiscing elit. Cras non urna tincidunt, rutrum velit ut, bibendum massa. Duis sed enim nec Teacher magna bibendum aliquet. Duis massa turpis, faucibus placerat viverra nec, imperdiet sed arcu. Pellentesque justo tellus, vehicula vel lacinia sit English amet, sodales ac mauris. Donec iaculis quis augue sed First tempus. Suspendisse potenti. Cras egestas suscipit magna, ut lacinia mauris eleifend quis. Curabitur nisl lorem, pretium nec libero viverra, Teacher maximus vulputate orci. Suspendisse volutpat massa id felis imperdiet tincidunt.";

$allText = array_merge($jobTitles, [$jobDesc]);

// 生成词频向量
$vectorizer = new TokenCountVectorizer(new WhitespaceTokenizer());
$vectorizer->fit($allText);
$vectors = $vectorizer->transform($allText);

// 转换为TF-IDF特征
$transformer = new TfIdfTransformer();
$transformer->fit($vectors);
$tfidfVectors = $transformer->transform($vectors);

$descVector = end($tfidfVectors);
$result = [];
foreach ($jobTitles as $idx => $title) {
    $similarity = 1 - Cosine::distance($tfidfVectors[$idx], $descVector);
    $score = round($similarity * 10, 3);
    $result[] = [
        'job_title' => $title,
        'score' => $score
    ];
}

print_r($result);

内容的提问来源于stack exchange,提问作者Niels van der Veen

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.01 07:39:03