5

ユーザーのアクション (Google 検索、クリック、明示的に Web ページを評価することもできます) に基づいてユーザーに Web ページを推奨する推奨システムを構築しようとしています。Google ニュースのやり方を理解するために、特定のトピックに関するウェブのニュース記事を表示します。技術的にはクラスタリングですが、私の目的は似ています。ユーザーのアクションに基づいたコンテンツ ベースのレコメンデーションになります。

だから私の質問は:

  1. どうすればインターネットをトロールして、関連する Web ページを見つけることができますか?
  2. そして、ウェブページからデータを抽出するためにどのアルゴリズムを使用すればよいですか?それを行う唯一の方法は、テキスト分析と単語の頻度ですか?
  3. 最後に、この問題に最適なプラットフォームはどれか。Apache mahout について聞いたことがありますが、再利用可能なアルゴリズムがいくつか付属していますが、ぴったりだと思いますか?
4

2 に答える 2

9

Thomas Jungblutが言ったように、あなたの質問についていくつかの本を書くことができます;-)私はあなたに簡単なポインタのリストを与えるようにします-しかし、すぐに使える既製の解決策がないことに注意してください...

  1. インターネットのクロール:Python用のScrapy、Java用のcrawler4jとHeritrix、Perl用のWWW :: Robotなど、これを行うためのツールキットはたくさんあります。Webページから実際のコンテンツを抽出するには、ボイラーパイプを参照してください。

    http://scrapy.org/

    http://crawler.archive.org/

    http://code.google.com/p/crawler4j/

    https://metacpan.org/module/WWW :: Robot

    http://code.google.com/p/boilerpipe/

  2. まず第一に、多くの場合、コンテンツベースのアプローチの代わりに協調フィルタリングを使用できます。しかし、特にロングテールで十分なカバレッジが必要な場合は、テキストを分析する方法はありません。注目すべきことの1つは、LDAなどのトピックモデリングです。いくつかのLDAアプローチは、Mallet、Apache Mahout、およびVowpalWabbitに実装されています。索引付け、検索、およびテキスト処理については、Luceneを参照してください。それは素晴らしい、成熟したソフトウェアです。

    http://mallet.cs.umass.edu/

    http://mahout.apache.org/

    http://hunch.net/~vw/

    http://lucene.apache.org/

  3. LDA(上記を参照)、クラスタリング、テキスト処理なども含まれるApache Mahoutの他に、協調フィルタリングに焦点を当てたい場合は、Javaで実装されているLensKitやMyMediaLite(免責事項:I主な作成者です)、C#で実装されていますが、Javaポートもあります。

    http://lenskit.grouplens.org/

    http://ismll.de/mymedialite

    https://github.com/jcnewell/MyMediaLiteJava

于 2012-10-10T21:00:54.260 に答える
4

これはよく読むべきです: Google ニュースのパーソナライゼーション: スケーラブルなオンライン協調フィルタリング

コンテンツ ベースのレコメンデーションではなく、協調フィルタリングに焦点を当てていますが、スケーラビリティ、アイテム チャーン、アルゴリズム、システム セットアップ、評価などの非常に興味深い点に触れています。

Mahout には非常に優れた協調フィルタリング手法があります。これは、ユーザーの動作 (クリック、読み取りなど) を使用すると説明されているものであり、rescorer クラスを使用していくつかのコンテンツ ベースを導入できます。

Myrrixも参照してください。これは、ある意味で Mahout のテイスト (推奨事項) 部分の進化形です。さらに、rescorer クラスを使用して、協調フィルタリングの上にコンテンツ ベースのロジックを適用することもできます。

Mahout に興味がある場合は、Mahout in Action ブックから始めるのが最適です。

于 2012-10-08T11:16:19.333 に答える