問題タブ [recommendation-engine]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
5 に答える
577 参照

php - 「関連する質問」エンジンを構築するには?

私たちのより大きなサイトの 1 つには、ユーザーがウェブサイトの所有者に質問を送信できるセクションがあり、その質問は彼のスタッフによって個人的に評価されます。同じ質問が頻繁に表示される場合は、この特定の質問を FAQ に追加できます。

類似の質問が 1 日に何十件も寄せられるのを防ぐために、このサイトの「関連する質問」と同様の機能を提供したいと考えています (スタック オーバーフロー)。

この種の機能を構築するには、どのような方法がありますか? どうにかして質問を評価し、よくある質問の質問と比較する必要があることはわかっていますが、この比較はどのように機能しますか? キーワードは抽出されますか。

このサイトは LAMP スタック上に構築されているため、これらの技術が利用可能であることは言及する価値があるかもしれません.

ありがとう!

0 投票する
2 に答える
2530 参照

search - ドキュメント類似性検索システムを効率的に実装するにはどうすればよいですか?

タグのセットで記述されたアイテムの「類似アイテム」システムをどのように実装しますか?

私のデータベースには、Article、ArticleTag、および Tag という 3 つのテーブルがあります。各記事は、多対多の関係を介して多数のタグに関連付けられています。記事ごとに、「この記事が好きなら、これらも好きになる」システムを実装するために、最も類似した 5 つの記事を見つけたいと考えています。

私はコサインの類似性に精通し ており、そのアルゴリズムを使用すると非常にうまく機能します。しかし、それは遅くする方法です。記事ごとに、すべての記事を反復処理し、記事のペアのコサイン類似度を計算してから、類似度が最も高い 5 つの記事を選択する必要があります。

200,000 件の記事と 30,000 件のタグを使用すると、1 つの記事の類似記事を計算するのに 30 分かかります。したがって、コサイン類似度とほぼ同じくらい良い結果を生成するが、リアルタイムで実行でき、毎回ドキュメント コーパス全体を反復処理する必要がない別のアルゴリズムが必要です。

多分誰かがこれに対する既製の解決策を提案できますか? 私が調べた検索エンジンのほとんどは、ドキュメントの類似性検索を有効にしていません。

0 投票する
10 に答える
379 参照

c - Cの世界からスクリプト言語を探しています

私はC-Java-C#の世界から来ました...括弧はVIP市民であり、タイプはすべての人に愛されていました:)

繰り返しのタスクを自動化し、複雑なフレームを変換し、入力ファイルを注文し、プログラムによるリクエストをサーバーに送信するために、コードを開発する必要がある場合があります。

しかし、Pythonのようないくつかの言語で同じものを書くのがどれほど簡単であるのか疑問に思うことがあります...またはこれらのDoItSimple言語:)-すべての点で。

では、この種のタスクにはどの言語を使用する必要がありますか?

事前にどうもありがとうございました!

0 投票する
3 に答える
3772 参照

graphics - Lua2DグラフィックスライブラリのLove2Dの代替

理想的には以下をサポートするLove2Dグラフィックス/ゲームライブラリの代替品を探しています。

  • 簡単なプリミティブレンダリング(ポイント、ライン、2Dポリゴンなど)
  • 画像を読み込んで描画する機能
  • 基本的なテキストレンダリング(よりフル機能の何かがいいでしょうが)

他に何かありますか?

0 投票する
4 に答える
241 参照

architecture - How to avoid crazy naming conventions?

Is it common to name an assembly one name, name a folder inside of the assembly another and then start to carry those names into the classes inside of those folders? For example:

Or to carry this futher, even methods such as this:

To me this seems to grow more and more confusing as you work on a project longer and start to add additional assemblies and methods. Is there a better way to work with this?

Any feedback would be welcomed.

0 投票する
3 に答える
2585 参照

database - アプリのようなソーシャルネットワーク用にリレーショナルデータベースまたは非リレーショナルデータベースを選択する必要があります

アプリケーション用のデータベースを選択中です。私はMySQLを最も長い間使用していますが、現在のアプリケーションではパフォーマンスとスケーラビリティが重要であり、MySQLには制限があることを知っており、Key-Valueストア、列ベースのDB、ドキュメントベースのDBなどについて多くのことを聞いています。 。私は調べました:

  • カサンドラ
  • MongoDB
  • Redis
  • CouchDB

それらはすべて、MySQLなどのリレーショナルDBよりも高速であるように見えます(または主張しています)。
私はRubyonRailsを使用していますが、上記すべてのクライアントがあるので、問題はないはずです。

私のデータモデルは、ほとんどの場合、写真、ビデオ、投稿などのさまざまなアイテムに関連するユーザーオブジェクト(豊富なプロファイルと設定)を中心とした単純なものであり、それぞれに1つ以上のタグがあります。

これらのデータベースが新しいという事実は、オンラインでそれらのための多くのリソースがないようです。さらに、それらは構造的に異なるため、後で切り替えるのは簡単ではありません。

優れたパフォーマンスと拡張性を備えた、私のアプリケーションに最も適していると思われるDBについてのご意見をお聞かせください。ありがとう、

タム

0 投票する
3 に答える
329 参照

algorithm - タグに基づいてユーザーにコンテンツを推奨するためのアルゴリズム

ユーザーとコンテンツオブジェクトの類似性を計算することで、コンテンツオブジェクトをユーザーに推奨できる優れたアルゴリズムを探しています。それを計算するために、コンテンツオブジェクトタグ(メタデータ)とユーザーの関心データがあります。

ユーザーの関心については、次の2つの方法で知ることができます。

  1. 明示的に彼に尋ねる:特定のコンテンツアイテムを評価するように彼に求めます。アイテムのコレクションを最低のお気に入りから最高のお気に入りにランク付けします。
  2. 暗黙の方法:ユーザーが時間の経過とともにアクセスするコンテンツの種類を観察することによって学習します。両方を少し実装したいと思います。

いくつかの良いアプローチの分析を示すいくつかの記事や論文を提案してください。

0 投票する
2 に答える
6829 参照

artificial-intelligence - ニューラルネットワークレコメンデーションエンジン

レコメンデーションエンジンの目的でニューラルネットワークをどのように設計しますか。各ユーザーには独自のネットワークが必要だと思いますが、データベース内のアイテムを推奨するための入力と出力をどのように設計しますか。良いチュートリアルか何かがありますか?

編集:私はネットワークをどのように設計するかをもっと考えていました。入力ニューロンの数と出力ニューロンがデータベース内のレコードを指す方法のように。6つの出力ニューロンを言い、それを整数(0〜63のいずれか)に変換します。これがデータベース内のレコードのIDです。それは人々がそれをする方法ですか?

0 投票する
1 に答える
342 参照

filtering - 協調フィルタリングと協調品質フィルタリングの違いは何ですか?

私は現在、Collaborative Quality Filtering を検討していますが、Collaborative Filtering と Collaborative Quality Filtering の違いは何ですか? どちらもまったく同じもの(同じものの異なる名前)のように私には思えます。それらには個別の定義または何かがありますか?

Google で「Collaborative Quality Filtering」を検索しようとしましたが、56 件の結果しか返されませんでした。

あなたの助けに感謝します。

0 投票する
4 に答える
4542 参照

python - 協調フィルタリング:パーソナライズされていないアイテム間の類似性

私は、Amazonの「Xを表示/購入した顧客はYとZも表示/購入した」という方針に沿って、商品間の類似性を計算しようとしています。私が見たすべての例と参照は、ランク付けされたアイテムのアイテムの類似性を計算するため、ユーザーとユーザーの類似性を見つけるため、または現在のユーザーの履歴に基づいて推奨アイテムを見つけるためのものです。現在のユーザーの好みを考慮に入れる前に、ターゲットを絞らないアプローチから始めたいと思います。

Amazon.comの推奨事項に関するホワイトペーパーを見ると、オフラインの商品と商品の類似性について次のロジックを使用しています。

正しく理解できれば、「I1とI2の類似性を計算する」までに、単一の値I1(外側のループ)と組み合わせて購入したアイテム(I2)のリストがあります。

この計算はどのように実行されますか?

もう1つのアイデアは、これを考えすぎて、必要以上に難しくしているということです。I1と組み合わせて購入したI2の数についてトップnのクエリを実行するだけで十分でしょうか。

このアプローチが正しいかどうかについての提案にも感謝します。私の製品データベースには、いつでも約15万のアイテムがあります。私が見た読み物の大部分は、ユーザーとアイテムの類似性、さらにはユーザーとユーザーの類似性を示しているので、代わりにそのルートを探す必要があります。

私は過去に類似性アルゴリズムを使用しましたが、それらには常にランクまたはスコアが含まれていました。これが機能する唯一の方法は、購入/購入していない場合に0/1のスコアを付ける顧客と製品のマトリックスを作成することだと思います。購入履歴とアイテムサイズを考えると、これは非常に大きくなる可能性があります。

編集:Pythonをタグとしてリストしましたが、できればOracle PL / SQLを使用して、ロジックをデータベース内に保持したいと思います。