基本的には、kNNアルゴリズムを使用して料理ブックアプリの検索推奨エンジンのようなものを構築したいと考えています。ユーザーは、「鶏」、「鶏の胸」、「鶏肉」、「骨なしの鶏」などのようなものを入力すると、それらの推奨は「鶏」になるという考えがあります。私は多かれ少なかれkNNのバージョンを実装しましたが、問題は距離を測定することです。私の最初の選択はLevenstein距離でしたが、問題は入力に複数の単語を入れることが可能であるということです。現時点では、単語単位でLevensteinの距離を計算して平均を取っていますが、これはまだ完全な解決策ではありません。誰かが何か良いことを示唆してくれることを望んでいた。私はデータセットが非常に珍しいことを認識しています。だから、私のデータセットにあるものに多く依存することになります。ここでkNNが不要で、文字列を比較すればいいかもしれないと思うのですが、あなたは正しいかもしれませんが、まだそれらを比較する別の方法が必要です。アルゴリズムは「鶏肉」と「七面鳥の肉」を正確に区別し、入力(スペル)の小さな間違いを許すことができるということです。明らかに、正確である必要はありません。おそらく重要な点のもう1つは、ユーザーの入力を何らかの形で分類しなければならないということです。それ以外の場合は使用できません。したがって、ユーザーが分類できないものを入力した場合、ユーザーは再度試行することが期待されます(アルゴリズムが最終的に提案を見つけ、それほど迷惑にならないことが期待されます)。cookbook-appリコメンデーションエンジンのkNN実装の文字列距離関数
0
A
答えて
0
文字の距離ではなく、意味的な距離が必要なようです。これは挑戦的ですが、一見を見てくださいhttps://en.wikipedia.org/wiki/Word2vec
関連する問題
- 1. 距離行列の実装
- 2. 距離変換の実装
- 3. ユークリッド距離Pythonの実装
- 4. Levenshteinフレーズの距離/文字列マッチングアルゴリズム
- 5. TensorFlow:目的関数としてスピアマン距離を実装する
- 6. SQL関数と距離の間の距離が最も近い
- 7. 配列の距離尺度。文字列の編集
- 8. 2つの文字列間の距離を計算する
- 9. 編集距離が2の文字列のハッシュ技法
- 10. 文字列編集距離アルゴリズムの混乱
- 11. Oracle検証機能12c - 文字列の距離
- 12. SSEで複数の文字列へのハミング距離を計算する
- 13. 距離の2乗と距離の実際のメリット
- 14. カスタム距離ルビを使った1次元文字列クラスタリング
- 15. MALLET:crfベースの編集距離の実装方法は?
- 16. TensorFlowでのKNN実装に関する問題
- 17. 最も効果的な距離関数
- 18. newick文字列形式の距離行列を系統樹に変換する
- 19. 文字列のセットとの編集距離が最も短い最短文字列
- 20. 距離ベクトルアルゴリズムの数値
- 21. セグメンテーションフォールト - ベクトル文字列 - マルチマップの実装
- 22. C++ 11 constexpr文字列の実装
- 23. 文字列検索アルゴリズムの実装
- 24. xsl文字列の分離
- 25. 与えられたハミング距離内のすべての文字列を生成
- 26. Rubyで2つの文字列間の距離を測定しますか?
- 27. 多くの連続した文字列間の距離を計算する
- 28. GJK距離アルゴリズムを実装できません
- 29. IOS経由で長距離ピアツーピアデータ交換を実装する
- 30. PHPで文字列をlevenshteinの距離に一致させる方法
恐ろしいですが、興味をそそるように見えます!ありがとうございました! –