4

我已经阅读了很多文章,提供了一些关于 Facebook 如何实现他们的 Graph Search 的背景信息。所有这些似乎只是浏览了他们正在使用的解析器的实际实现细节。

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

从该页面:

我们结合了各种解析技术来构建子字符串解析器:假设用户输入,比如“friends New York”,并且我们已经定义了系统可以处理的所有潜在页面标题的综合集合。然后,我们的解析器可以准确地生成包含用户输入的 Graph Search 标题,包括诸如“住在纽约的朋友”和“访问过纽约的朋友”之类的内容。如果我们能找到一种方法来为 Graph Search typeahead 对这些建议的标题进行适当的排名,我们将有一个良好的开端。

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

任何链接也将不胜感激。

4

1 回答 1

1

我正在考虑实现类似的东西..想在这里问Q,发现这已经被问过了..

这是我一直在想的开始-

  1. 假设 facebook 搜索引擎“知道”底层数据存储(一个复杂的图形)。所以搜索引擎理解“朋友”、“亲戚”等关系的关键词,而不是把它们当作英语中的一个微不足道的词。

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

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

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

这是我开始着手的一种广泛的方法。唯一的瓶颈是第 4 点。因为我对 NLP 没有太多经验。

于 2013-08-26T09:04:47.193 回答