Yelp如何创建“评论亮点”部分?

时间:2011-12-30 00:03:01

标签: web-services algorithm search text yelp

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

在“评论精华”一节中,根据用户提交的评论突出显示3个短语(辣鸡丁,欢乐时光,午餐特价)。显然,这些是最常出现的短语,或经常出现的最长短语,或其他一些逻辑。

他们的官方解释如下:

  

在他们的评论中,Yelpers提到了很多下面的链接短语。   这些不是任何古老的常用短语,它们也是那些   我们的Yelp机器人已经确定了独特而优秀,快捷的方法   描述这项业务。单击任何短语即可查看所有短语   提到它的评论。

我的问题是,他们用什么来挖掘文本输入来获取这些数据点?是基于Lempel Ziv的某种算法,还是某种地图减少?我不是CS专业,所以可能在这里遗漏了一些基础。会喜欢一些帮助,理论等等。

谢谢!

2 个答案:

答案 0 :(得分: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

答案 1 :(得分:0)

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

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