您将如何编写类似于Facebook Graph Search的Parser

时间:2013-01-24 10:36:59

标签: facebook algorithm parsing search

我已经阅读了不少文章,介绍了Facebook如何实现图谱搜索的背景信息。所有这些似乎都只是浏览了他们正在使用的解析器的实际实现细节。

例如https://www.facebook.com/notes/facebook-engineering/under-the-hood-building-graph-search-beta/10151240856103920

从该页面开始:

  

我们结合了各种解析技术来构建子字符串解析器:   假设一个用户输入,例如,"朋友纽约"我们有   定义了我们所有潜在页面标题的综合集   系统可以处理。然后我们的解析器可以生成完全图形   搜索包含用户输入的标题,包括类似的内容   "住在纽约的朋友"和访问过New的朋友   纽约"如果我们能找到一种方法来适当地对那些建议进行排名   图搜索输出标题的标题,我们将有一个良好的开端。

我真的很想学习用来解决这个问题的方法。使用什么算法/技术来编写这样的系统?

任何链接都会非常感激。

1 个答案:

答案 0 :(得分:1)

我正在考虑实施类似的东西......想在这里询问问题,并发现这已经问过......

以下是我一直在考虑的问题 -

  1. 假设facebook搜索引擎“知道”底层数据存储(复杂图形)。所以搜索引擎理解“朋友”,“亲戚”等关键词以及其他类似关系,并不会将它们视为英语中的琐碎词语。

  2. 在这种情况下,一个好主意可能是将用户输入(使用客户端javascript)解析为JSON并将其发送到搜索引擎..一些好处..解析可以完成在客户端,通过不发送不需要的数据来节省网络带宽,解析输入的服务器端处理因为JSON更好.. ..

  3. 让我们调用这个JSON fbJSON ..因为除了是一个JSON ..它遵循某种格式..你可以为你的格式创建一个规范..这样发送到搜索引擎的JSON必然包含一些信息..这可以让生活更轻松..就像我们有geoJSON等..

  4. 使用NLP程序将用户输入解析为fbJSON [我仍然要考虑这个]

  5. 这是我开始实施的一个广泛的方法..唯一的瓶颈是第4点。因为我对NLP没有太多经验..