メッセージからインテリジェンスを獲得するためのアルゴリズムの選択
-
08-10-2019 - |
質問
私がやろうとしているのは、仲間から送信されたメッセージと送信するメッセージを比較することにより、人々に「インテリジェント」な提案を生成するために実装できるアルゴリズムを見つけることです。
たとえば、人AはOBJ1について話している人Bにメッセージを送信します。人cがOBJ1について人dにメッセージを送信した場合、彼らは同じことについて話していることに気付くでしょう、そして、人が人に話しかけることを提案するかもしれません。
私は、人々が共通している言及を把握するために統計を収集することを実装しましたが、これを分析するためにどのアルゴリズムを使用するかはわかりません。
助言がありますか? (これが十分に理にかなっていることを願っています)
解決
を見てみましょう クラスタリングアルゴリズム
と k-means また k-nearest Neighbors クイックスタートのために
あなたが持っているデータはどれくらいですか?より良いほど。この問題には多くのアプローチがあります。たとえば、すべてのユーザーがある程度互いに似ていることを考えてみることができ、あなたがしたいことは、各ユーザーに対して最も類似したものを見つけることです。あなたが達成したいことについていくつかの情報を提供してください。
他のヒント
これは、Twitterが戦っているのとまったく同じ問題です。あなたがこれをクラックすると、あなたはそこで仕事に終わるかもしれません;)
真剣に戻ってくると、このようなことをするためにいくつかの粗い尺度(つまり、ヒューリスティックベース)を使用できますが、大きなエラー率があります。デルナンがコメントで言ったように。
NLPは確実な賭けです。 NLPの使用にもエラー%がありますが、使用するヒューリスティックよりもはるかに正確であることに注意してください。あなたがPythonを使用している場合、私はこのツールキットを提案します、私はそれを時々使用します - NLP.
他の言語については、この点で役立つパッケージがあると確信しています。
更新1: ユーザーがメッセージをタグ付けする方法がある場合(StackoverFlowがそうであるように)、NLPを除いてこの問題にアプローチすることができます。次に、両方のメッセージのタグの交差点を取り、共通性があるかどうかを確認し、一般的なアイテムのトップアイテムを提案することができます。
しかし、対処しなければならない他の問題があります - タグを必須にします。さらに、ユーザーが実際に正しいタグなどを入力していることを確認する必要がありますが、それでもこれにより問題が大幅に簡素化されます。
update2: Qが更新されているため、興味のある特定のキーワード/フレーズのみがあるため、これが簡素化されます。あなたはあなたのメッセージのそれぞれを取得し、それを言葉に分割する必要があります、そしてそれから 幹 各単語。ステミング後、このセットとあなたが持っているキーワードのセットと交差します。セット(S1)を取得します。 2番目のメッセージでも同じことを行い、セット(S2)を取得します。 S1、S2を交差させます。何かが一般的であると見つけたら、ビンゴ! Message1、message2の間でいくつかのテーマが一般的です。それ以外は何もありません。