Dies ist genau das gleiche Problem, mit dem Twitter kämpft. Sie könnten einen Job dort beenden, wenn Sie das knacken;)
Auf ernster Anmerkung, die zurückkommt, könnte man einige grobe Maßnahmen (d. H. Heuristisch basiert) verwenden, um so etwas zu tun, aber es hat einen großen Fehlerprozentsatz. Wie Delnan im Kommentar sagte.
NLP ist eine sichere Wette. Beachten Sie, dass die Verwendung von NLP auch einen Fehler% hat, aber es ist viel genauer als jede Heuristik, die Sie verwenden würden. Wenn Sie Python verwenden, würde ich dieses Toolkit empfehlen, ich benutze es hin und wieder - NLP.
Für andere Sprachen bin ich sicher, dass es Pakete gibt, die Ihnen in dieser Hinsicht helfen werden.
UPDATE1: Wenn Sie eine Möglichkeit für die Benutzer haben, ihre Nachrichten zu markieren (wie Stackoverflow tut), könnten Sie dieses Problem umgehen NLP. Dann könnten Sie einfach den Schnittpunkt der Tags der beiden Nachrichten nehmen, um zu sehen, ob es eine Gemeinsamkeit gibt & schlagen einige Top-Artikel für die gemeinsamen Elemente vor.
Aber es gibt andere Probleme, mit denen Sie umgehen müssen - machen Sie Tags obligatorisch, und Sie müssen sicher sein, dass die Benutzer tatsächlich korrekte Tags usw. eingeben ... Aber das vereinfacht Ihr Problem sehr.
UPDATE2:. Als Q aktualisiert wurde - Da Sie bestimmte Keywords/Phrasen haben nur die Sie interessieren Dies vereinfacht Art davon. Sie müssten jeden Ihrer Nachricht erhalten, teilen Sie es in Wörter, dann stem jedes Wort. Nach dem Abstempeln überschneiden Sie diese Menge mit der Menge der Schlüsselwörter, die Sie haben. Du bekommst ein Set (S1). Mach dasselbe mit der zweiten Nachricht, du bekommst eine Menge (S2). Schnitt S1, S2. Wenn Sie etwas finden, ist es üblich, Bingo! Ein Thema ist häufig zwischen message1, message2. sonst nichts.
Wenn Sie nicht gerade einen (wirklich guten) Parser für natürliche Sprache erstellen wollen, werden Sie am Ende mit etwas konfrontiert, das zufällig einige schlaue Vorschläge macht und den Benutzer sonst nur mit Unsinn belästigt. – delnan
Die Wörter/Phrasen, mit denen ich Leute verlinken möchte, stammen aus einer festen Liste mit bestimmten Schlüsselwörtern. Daher brauche ich keinen Parser für natürliche Sprache. Habe das ursprünglich nicht wirklich deutlich gemacht! – Freddie