2011-12-30 6 views
1

例として次のリンクを参照してください:http://www.yelp.com/biz/chef-yu-new-yorkYelpはどのようにして「レビューハイライト」セクションを作成しますか?

「レビューハイライト」セクションでは、ユーザーから提出されたレビューに基づいて強調表示されている3つのフレーズ(スパイシーなチキン、ハッピーアワー、ランチスペシャル)があります。明らかに、これらは最も頻繁に出現したフレーズ、またはしばしば出現する最も長いフレーズ、または他の論理である。

彼らの公式の説明はこれである:彼らのレビューで

、Yelpersはたくさん下記のリンクフレーズを述べました。 これは古くからある一般的なフレーズではなく、 私たちのYelp Robotsがユニークで良い、迅速な方法であると判断したものです このビジネスを説明してください。いずれかのフレーズをクリックすると、それに言及している のすべてのレビューが表示されます。

私の質問は、これらのデータポイントを得るためにテキスト入力をマイニングするために何を使用したかです。それは、Lempel Ziv、またはマップのいくつかの種類に基づいていくつかのアルゴリズムを削減ですか?私はCSの専攻ではなかったので、おそらくここで何か根本的なものが欠けているでしょう。いくつかの助けや理論などが好きです。

ありがとう!

答えて

0

Lempel-Zivはデータ圧縮アルゴリズムであり、map-reduceはデータ処理の手法です。前者はおそらく関与しておらず、後者は一般的には有用ですがここでは関係ありません。 Yelpののコードの詳細を知らなくても

は、それは確かに言うことは不可能だが、彼らの「レビューのハイライトは、」単純なものを、その後、このビジネスのためのレビューに表示されるすべての語句を集計表示に基づいている可能性が高い思われますこのビジネスのレビューでは他のビジネスよりも一般的です。自然言語処理のいくらかは、名詞句を確実に選択するために関与する可能性があります。

+0

それはそれは私には面白いです「すべての語句を集計」ということです。フレーズの長さや複雑さが変わっているので、多分LZのバリエーションを使って辞書を作ってから、最も長かったり最も使われている3つのフレーズを出力していたと思いました。おそらく彼らはそれを他の方法で達成するでしょう。どのようなアイデアを使用することができますか?ツール、テクノロジー、またはアルゴリズムに賢明? – Nuby

1

Yelpが使用している正確なアルゴリズムについての洞察はありませんが、これは自然言語処理の一般的な問題です。基本的に最も関連性の高いコロケーションhttp://en.wikipedia.org/wiki/Collocation)を抽出します。

これを行う簡単な方法は、のnグラムのリストを抽出して、最も高いPMI(ポイントごとの相互情報)を抽出することです。このSO質問はPythonとNLTKライブラリを使用してこれを実行する方法について説明します。

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

関連する問題