Ich versuche zum Beispiel, Strings über das Programmieren mit anderen Strings über das Programmieren, Strings über die Physik mit anderen Strings über die Physik usw. für eine breite Palette von Themen zu gruppieren. Trotz des krassen theoretischen sprachlichen Aspekts des Problems möchte ich dies tatsächlich mit Programmierung / Software tun.
Der Überblick: Wie würde ich bei einer großen Anzahl von Zeichenfolgen vorgehen, um sie nach semantischen Themen zu gruppieren?
Die besondere Anwendung: Ich habe ~ 200.000 Trivia-Fragen, die ich in allgemeine Gruppierungen einteilen möchte (Autos, Computer, Politik, Kanada, Essen, Barack Obama usw.).
Was ich mir angesehen habe: Wikipedia hat eine Liste von Toolkits für die Verarbeitung natürlicher Sprache (vorausgesetzt, ich versuche tatsächlich, NLP zu nennen), also habe ich mir einige angesehen, aber keine scheint etwas Ähnliches zu meinen Bedürfnissen zu tun.
Anmerkungen: Es wurde darauf hingewiesen, dass hierfür zusätzliche Kenntnisse erforderlich sind (z. B. ein Porsche als Auto, C ++ als Programmiersprache). Ich gehe dann davon aus, dass Trainingsdaten benötigt werden, aber wenn ich nur die Liste der Fragen und Antworten habe, wie kann ich Trainingsdaten generieren? Und wie verwende ich dann Trainingsdaten?
Weitere Hinweise: Wenn die aktuelle Formatierung meiner Fragen und Antworten hilft (obwohl es wie JSON aussieht, handelt es sich im Grunde genommen um eine Rohtextdatei):
// row 1: is metadata
// row 2: is a very specific kind of "category"
// row 3: is the question
// row 4: is the answer
{
15343
A MUSICAL PASTICHE
Of classical music's "three B's", he was the one born in Hamburg in 1833
Johannes Brahms
}
Bevor jedoch jemand darauf hinweist, dass es bereits eine Kategorie gibt, beachten Sie, dass es ~ 200.000 Fragen und Antworten wie diese und im Grunde ebenso viele "Kategorien" gibt. Ich versuche, diese in breitere Gruppen wie die oben aufgeführten zu gruppieren. Auch diese Formatierung kann für alle Fragen sehr einfach geändert werden, ich mache es programmgesteuert.
Und noch mehr Anmerkungen: Ich weiß eigentlich nicht, wie viele Kategorien ich brauche (mindestens 10-20), weil ich nicht alle Fragen selbst durchgelesen habe. Ich hatte teilweise erwartet, dass die endliche Zahl während der Kategorisierung irgendwie bestimmt wird. In jedem Fall kann ich immer manuell eine Reihe von Kategorien erstellen.