freebase使用什么算法来匹配名称?

sta*_*ord 2 search freebase string-search

我正在尝试使用他们的四维转储构建本地版本的freebase搜索API.我想知道他们用什么算法来匹配名字?例如,如果你去freebase.com并输入"徒步旅行",你会得到

  • "Apo徒步旅行社"
  • "徒步旅行"
  • "远足格鲁吉亚"
  • "远足弗吉尼亚州的国家森林"
  • "爬山径"

Tom*_*ris 7

哇,很多猜测!我希望我不会因为没有猜测而过多地混淆水域.

自动完成框基本上由Freebase Suggest提供支持,Freebase SuggestFreebase Search服务提供支持.由搜索服务索引用于匹配的字符串包括:1)名称,2)给定语言中的所有别名,3)来自相关维基百科文章的链接锚文本和4)标识符(由Freebase称为密钥),其包括事物像维基百科文章标题(和重定向).

各种事物的加权/提升情况尚未公布,但你可以通过与它一起玩来获得感觉.正如您从API中看到的那样,还可以按类型和其他标准进行过滤/加权,这可以根据上下文发挥作用.例如,如果您要将一个记录标签添加到相册中,那么键入为记录标签的主题相对于不是的事物会得到提升(但您仍然可以使用其他类型的内容来允许用例您的目标主题尚未应用适当类型的位置).

这样,您可以深入了解其服务的工作原理,但为什么不构建一个能够满足需求的搜索服务,因为您从头开始呢?

顺便说一句,谷歌之前的Metaweb搜索实施基于Lucene的顶部,所以你肯定会比用它作为起点更糟糕.您可以阅读邮件列表存档中的一些详细信息