【问题标题】:How does Yelp create the "Review Highlights" section?Yelp 如何创建“Review Highlights”部分?
【发布时间】:2011-12-30 00:03:01
【问题描述】:

以以下链接为例:http://www.yelp.com/biz/chef-yu-new-york

在名为“评论亮点”的部分中,根据用户提交的评论突出显示了 3 个短语(辣鸡丁、欢乐时光、特色午餐)。显然,这些是出现频率最高的词组,或出现频率最长的词组,或其他一些逻辑。

他们的官方解释是这样的:

在他们的评论中,Yelpers 经常提到下面的链接短语。 这些不是任何古老的常用短语,它们也是那些 我们的 Yelp 机器人已经确定了独特且良好、快速的方法 描述这个业务。单击任何短语以查看所有 提及它的评论。

我的问题是,他们用什么来挖掘文本输入来获取这些数据点?是基于 Lempel Ziv 的某种算法,还是某种 map reduce?我不是 CS 专业的,所以可能在这里缺少一些基础知识。希望得到一些帮助、理论等。

谢谢!

【问题讨论】:

    标签: web-services algorithm search text yelp


    【解决方案1】:

    我对 Yelp 使用的确切算法没有任何见解,但这是自然语言处理中的常见问题。本质上,您希望提取最相关的搭配 (http://en.wikipedia.org/wiki/Collocation)。

    一个简单的方法是提取具有最高 PMI(逐点互信息)的 n-gram 列表。这个 SO 问题解释了如何使用 Python 和 nltk 库来做到这一点:

    How to extract common / significant phrases from a series of text entries

    【讨论】:

      【解决方案2】:

      Lempel-Ziv 是一种数据压缩算法,map-reduce 是一种数据处理技术。前者可能不涉及,后者通常有用但在这里不相关。

      在不知道 Yelp 代码的详细信息的情况下,无法肯定地说,但似乎可能他们的“评论亮点”只是基于对该业务的评论中出现的所有短语的列表,然后显示在此商家的评论中比其他商家更常见的评论。可能会涉及到一定数量的自然语言处理,以确保它能够挑选出名词短语。

      【讨论】:

      • 我感兴趣的是“将所有短语制成表格”。我认为由于短语的长度和复杂性不同,也许他们使用 LZ 的一些变体来创建字典,然后输出 3 个最长或最常用的短语。也许他们以其他方式实现它。关于他们可以使用什么的任何想法?工具、技术还是算法?
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-04-21
      • 2011-07-19
      • 2017-12-17
      • 1970-01-01
      • 2020-10-30
      • 1970-01-01
      相关资源
      最近更新 更多