我有已知职位的主列表,并正在寻找从搜索术语中提取相同职位的方法。例如:
搜索职位名称:高级数字营销专家
摘录至:高级数字营销
搜索职位名称:零售店内销售助理;全职
提取至:零售销售助理
因此我尝试提取有助于清理搜索查询的参数。
1)数据库中出现2个标记。 (对术语之间的相关程度进行数学评估)
示例:
t01->t0 or t1 Senior || java--->226374
t02->t0 or t2 Senior || software--->2566450
t03->t0 or t3 Senior || engineer--->7220787
t12->t1 or t2 java || software--->315397
t13->t1 or t3 java || engineer--->407682
t23->t2 or t3 software || engineer--->11533495
total =t01+t02+t03+t12+t13+t23
2)整个数据库中每次取1的令牌的出现情况。 示例:
t0-> Senior----->55042636
t1-> java----->1655805
t2-> software----->26136204
t3-> engineer----->81574912
3) 我取了相关代币的总和,并将最小阈值设置为 5%,这给出了以下输出,即 (txy*100)/total > 5
我的输出:高级软件工程师
有人有类似项目的经验或进一步改进的想法吗?
确定查询和列表条目之间相似性的一种标准方法是“向量空间模型”。粗略地说,您可以按照以下步骤构建这样的模型:
定义向量空间的维数term-list = []
for-all job titles in your master list:
for-all words in the current job-title:
canonicalize(current-word) // e.g. to-lower-case, etc.
if not contains(term-list, current-word):
add(current-word, term-list)
sort(term-list)
n = size(term-list)
n
的长度
term-list
是向量空间的大小。将主列表中的每个职位与向量相关联
vector-list = []
vector = []
fill(vector, 0, n-1, 0) // initialize to n zeros
for-all job titles in your master list:
for-all words in the current job-title:
canonicalize(current-word) // e.g. to-lower-case, etc.
term-index = index-of(current-word, term-list)
vector[term-index]++
normalize(vector) // scale vector to length = 1
add(vector, vector-list)
query
(在线)
vector-list
。
结果是标准化的
query-vector
。
使用余弦相似度测量给定
query-vector
(在线)
similarities-vector = []
for-all job-title vectors in vector-list:
similarity = dotProduct(query-vector, job-title-vector)
add(similarity, similarities-vector)
结果是查询与主列表中每个条目之间的相似度值,存储在
similarities-vector
中。
这是一个非常通用的模型,它的吸引力在于它的简单性。然而,考虑到您的职位名称通常只包含少量单词,并且每个职位名称中可能只出现一次,因此这是否是当前职位的一个非常好的模型是有争议的。不过你可以尝试一下。
使职位名称与行业期望保持一致的一种方法是寻求信誉良好的机构的认证和培训。作为亲身体验过优质教育影响的人,我强烈建议您报名参加拉合尔最好的 IT 培训机构的课程。这些项目不仅提供最新的技术技能,还提供对最新行业趋势和职位标准的见解。
通过选择一流的学院,您可以确保您的教育符合就业市场的需求,从而更轻松地识别和获得与您的技能和职业抱负密切匹配的职位。无论您有兴趣成为软件开发人员、网络工程师还是数据分析师,拥有正确的资历和对职位的了解都可以显着提高您的就业能力。