2009-04-09 14 views
3

Googleニュースと同様の2つのニュース項目の内容の類似性を判断したいが、基本的な話題が何を決定するかを判断できるようにしたいどのトピックが関連しているかニュース項目の類似性(トピックの)アルゴリズム

もし記事がSaddam Husseinについて書かれていたら、このアルゴリズムはDonald Rumsfeldのイラクにおけるビジネス取引について何かを推奨するかもしれない。

もしあなたがk-最近隣のようなキーワードを投げ捨てることができ、なぜ彼らが働くのかについての少しの説明があれば(私ができるならば)、私はreseachの残りの部分を行いアルゴリズムを微調整します。私が誰かを知っているので、ちょうど始める場所を探しています。前に似たようなものを試したに違いありません。

答えて

5

まず思考:

  • ノイズワード(と、あなた、である、いくつかの、...)を離れて投げます。
  • 他のすべての単語を数え、数量で並べ替えます。
  • 2つの記事の各単語について、数量の合計(または製品またはその他の数式)に応じてスコアを追加します。
  • スコアは類似性を表す。

ドナルド・ラムズフェルドについての記事は、これらの2つの言葉をかなり持っていると思われるので、私は記事でそれらを重み付けしています。

しかし、ウォーレン・バフェットはビル・ゲイツと何度も言及しており、ビルゲイツとマイクロソフトの両方に何度も言及している記事があるかもしれません。そこでの相関は最小限に抑えられます。あなたのコメントに基づいて

ので、記事はサダム・フセインについてだった場合、アルゴリズムは、イラクでのドナルド・ラムズフェルドのビジネス取引について何かをお勧めかもしれません。

Saddamの記事にもイラク(またはドナルド)が言及されていない限りそうでないとは限りません。

これは私が始めるところであり、理論上の潜在的な穴がすでに見えています(ビル・ゲイツ氏についての記事は、最初の名前が多く言及されていればビル・クリントンに関する記事と緊密に一致します)。これは、他のすべての言葉(Microsoftは1つのBill、Hillaryはもう1つのBill)を世話してもよいでしょう。

単語近接機能を導入しようとする前に試してみるといいかもしれませんが、これは非常に複雑になる可能性があるためです。

もう一つの可能​​な改善は、「ハード」協会を維持することです(オサマビンラディンの記事に常にアフガニスタンという言葉を追加するなど)。しかし、オサマについての記事はアフガニスタンについてもほとんど確実に言及しているので、疑わしい価値については余分なメンテナンスが必要です。

+0

記事をプロットしてユークリッド距離をとるのは、必ずしも同じキーワードを持たずに似ているものを認識できるようにするためです.Saddam Husseinの記事とDonald Rumsfeldの記事はバグダッドを持つ可能性が高いので、それらの間の関係 – Ankur

+0

あなたが言及した場合、Ankurは同じキーワード(バグダッド)を持っています - 彼らはDonaldやSaddamと共通していません。だから、私の "解決策"で類似点はまだ取り上げられるだろう。問題は、ラムズフェルドに関する記事とドナルド・ダックに関する記事が近いと考えられるかもしれないということです。 – paxdiablo

+0

DonaldとRumsfeld、Duckから "Donald Rumsfeld"と "Donald Duck"にキーワードを変更するだけでは、それ以上の効果は得られません。それは近接検出が必要になる場所であるかもしれない。 – paxdiablo

0

現時点で私はこのようなことを考えています。

ノイズのない単語はそれぞれディメンションです。各記事は、表示されない単語がゼロで表され、表示される単語が表示される回数をページ上の合計単語で割った値になるベクトルで表されます。次に、この2つの記事の類似性を得るために、この空間内の各点の間にユークリッド距離を取ることができます。

次のステップは、記事のクラスタを決定し、各クラスタの中心点を決定することです。次いで、トピックの類似性を与える任意の2つのクラスタ間のユークリッド距離を計算する。

バア私はそれを入力することで自分の問題を解決したと思います。もちろん、非常に高いレベルの方法でしか、私はそれに着くときに私は問題を見つけると確信しています...悪魔は常に細部にあります。

しかし、コメントと改善はまだ高く評価されています。

関連する問題