【发布时间】:2015-03-18 10:12:49
【问题描述】:
我有已知职位的主列表,并正在寻找从搜索词中提取相同职位的方法。例如:
搜索职位:高级数字营销专家
提取到:高级数字营销
搜索职位:零售店内销售助理;全职
提取到:零售销售助理
所以我尝试提取有助于清理搜索查询的参数。
1) db 中 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
我的输出:高级软件工程师
任何人都有类似项目的经验或进一步改进的想法?
【问题讨论】:
-
不太清楚我是否理解。您是否假设查询始终是您的主列表中某些条目的超集?
-
@Thomas 不,它可能根本不是超集。示例:搜索的职位:纽约的全职 Java 开发人员 提取到:Java 开发人员 在数据库中,我没有任何职位名称会包含“纽约”一词,因此它们很容易被删除。
-
您是否考虑过使用诸如 lucene 或 elasticsearch 之类的全文搜索引擎?它可能比数据库更好
-
@bedrin 感谢您的建议。我们会尝试一下。
-
你最后是怎么解决的?
标签: java nlp extraction data-analysis summarization