首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >基于相似性的排序技巧

基于相似性的排序技巧
EN

Data Science用户
提问于 2016-04-20 16:02:20
回答 1查看 263关注 0票数 3

我需要根据人类技能和输入技能的相似程度对他们的技能进行排名。所以,如果我输入“荷兰语”,我想要这样的列表:

代码语言:javascript
复制
0.97 Dutch
0.86 Dutch lessons
0.55 Frisian
0.50 Flemish
0.27 German language

我有一个大约4500名人类技能的数据库(从“C语言编程”到“烤杏仁蛋糕”),有600个手工分类。我已经可以找到相应的文章关于BabelNet和拉领域,类别和相关术语。

使用来自BabelNet的数据的示例技巧:

代码语言:javascript
复制
name:"photography"
categories:
  0:"Photography"
  1:"French_inventions"
  2:"Optics"
  3:"1822_introductions"
manualCategory:"art & music"
domains:
   ART_ARCHITECTURE_AND_ARCHAEOLOGY:1
compounds:
  0:"digital_photography"
  1:"landscape_photography"
  2:"photographic_developing"
  3:"motion_photography"
  4:"nature_photography"
  ...
  48:"photographic_plates"
otherForms:
  0:"still_photography"
  1:"photo"
  2:"photos"
  3:"photographed"
  4:"photographers"
  ...
  20:"Photographer"

你能给我建议一下方法吗?或者至少要朝正确的方向前进?

EN

回答 1

Data Science用户

回答已采纳

发布于 2016-06-30 02:19:23

很晚了,但我很惊讶这个问题没有得到更多的答复。“余弦相似”是一种很好的尝试技巧,尽管简单地让用户用硬字符串搜索,然后按受欢迎程度排序也不是那么糟糕(例如,“荷兰语”带来了包含“荷兰语”的所有内容,尽管我会放弃中文字的比赛,所以“球”不会返回“足球”,而是会返回“舞厅舞蹈”)。

我想说的是,在任何方法中,一个主要的问题将是重复以前用户输入的(非标准化的)技能,而这些技能并不完全标准化。您也可以尝试用搜索时替换不同同义词的版本替换候选技能,例如,如果大部分内容来自欧洲人,“足球教练”也可以作为“足球教练”存储。

有时极端精确可能不是最好的目标,尽管.您可能希望鼓励用户探索他们从来不知道的新技能!不知道你需要什么..。

不管你做什么,都值得建立一套半手工制作的查询和相关结果测试集,这样你就可以看到性能是否糟糕(Google的精确性和搜索结果的召回)。

票数 2
EN
页面原文内容由Data Science提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://datascience.stackexchange.com/questions/11322

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档