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

如何将列内相似职位名称替换为同组出现频次最高的对应名称

职位名称相似变体统一替换解决方案

实现思路

整体核心逻辑分4步,你已经完成相似度计算和频次统计,可以直接跳过第二步:

  • 预处理职位名称:先统一标准化所有职位文本,全转小写/大写、去除前后空格、无意义的特殊字符、纯数字后缀,消除格式类无意义差异。如果需要保留junior/senior、职级编号这类区分属性,可以单独拆成独立字段后续再拼接,避免聚类时把不同职级的同类职位误归为一组。
  • 相似度计算:你已经完成该步骤可直接跳过。未计算的场景下,短文本优先选编辑距离(Levenshtein)、Jaccard词集相似度,需要语义匹配的场景可以用Sentence-BERT生成职位向量再算余弦相似度。
  • 相似职位聚类:有两种可选方案,按需调整:
    1. 阈值匹配法:直接设定相似度阈值(建议先试0.8-0.9区间的数值),两个职位相似度超过阈值就归为同一组,注意处理链式匹配的问题(A和B匹配、B和C匹配,要把A/B/C都归为同一组)。
    2. 密度聚类法:用DBSCAN算法,基于你已经算好的相似度矩阵做聚类,不需要提前指定类别数,自动把相似度符合要求的职位聚为同一个簇,孤立的低相似度职位单独成簇即可。
  • 统一替换为高频名称:每个聚类簇内,取该组中出现频次最高的职位名称作为统一标准名,把簇内所有其他变体都替换为该标准名即可。

Python 代码实现示例

import pandas as pd
import numpy as np
from sklearn.cluster import DBSCAN

# 1. 加载数据,你已经有三个核心字段:原始职位名job_title、出现频次count、相似度矩阵
df = pd.read_csv("你的职位数据文件路径.csv")
# 预处理文本
df['clean_title'] = df['job_title'].str.lower().str.replace(r'[^a-zA-Z\u4e00-\u9fa5\s]', '', regex=True).str.strip()

# 2. 加载你已经计算好的相似度矩阵,注意转成距离矩阵(DBSCAN输入为距离值,值越小越相似)
# 示例:假设你的相似度矩阵是n*n的二维数组,值范围0-1,越高越相似
sim_matrix = np.load("你提前算好的相似度矩阵文件路径.npy")
distance_matrix = 1 - sim_matrix

# 3. DBSCAN聚类,eps为距离阈值,对应相似度=1-eps,min_samples是簇内最少样本数,按需调整
clustering = DBSCAN(eps=0.15, min_samples=2, metric='precomputed').fit(distance_matrix)
df['cluster_id'] = clustering.labels_

# 4. 生成每个簇的标准名:取簇内频次最高的职位名
def get_standard_title(group):
    return group.loc[group['count'].idxmax(), 'job_title']

cluster_std_map = df.groupby('cluster_id').apply(get_standard_title).to_dict()
# 离群点(cluster_id=-1)保留原始名称
df['standard_job_title'] = df['cluster_id'].map(
    lambda x: cluster_std_map[x] if x != -1 else df.loc[df['cluster_id'] == x, 'job_title'].values[0]
)

# 导出结果
df.to_csv("标准化后的职位数据.csv", index=False)

调优建议

  • 阈值可以多轮测试调整:比如把eps从0.1到0.2逐次调整,每次输出聚类结果校验是否符合业务预期,找到最优阈值。
  • 可提前配置同义映射词典:比如把developer和engineer、专员和助理这类业务上认可的同义表述提前做映射,能大幅提升聚类准确率。
  • 如果需要保留职级、级别区分:预处理时把senior、junior、一级、二级这类属性单独拆成字段,聚类仅用职位核心名称,生成标准名时再把职级属性拼接回去即可。

内容的提问来源于stack exchange,提问作者skwolvie

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.02 01:18:00