Ich suche nach Input und Theorie, wie man sich einem lexikalischen Thema nähert.
Angenommen, ich habe eine Sammlung von Zeichenfolgen, die nur ein Satz oder möglicherweise mehrere Sätze sein können. Ich möchte diese Zeichenfolgen analysieren und die wichtigsten Wörter herausreißen, vielleicht mit einer Punktzahl, die angibt, wie wahrscheinlich es ist, dass das Wort wichtig ist.
Schauen wir uns einige Beispiele an, was ich meine.
Beispiel 1:
"Ich will wirklich einen Keurig, aber ich kann mir keinen leisten!"
Dies ist ein sehr einfaches Beispiel, nur ein Satz. Als Mensch kann ich leicht erkennen, dass "Keurig" hier das wichtigste Wort ist. Auch "leisten" ist relativ wichtig, obwohl es eindeutig nicht der Hauptpunkt des Satzes ist. Das Wort "Ich" kommt zweimal vor, ist aber überhaupt nicht wichtig, da es uns keine wirklichen Informationen gibt. Ich könnte erwarten, einen Hash von Wörtern / Partituren wie diesen zu sehen:
"Keurig" => 0.9
"afford" => 0.4
"want" => 0.2
"really" => 0.1
etc...
Beispiel 2:
"Hatte gerade eine der besten Schwimmübungen meines Lebens. Hoffentlich kann ich meine Zeiten im Wettbewerb halten. Wenn ich nur daran gedacht hätte, meine nicht wasserdichte Uhr abzunehmen."
Dieses Beispiel enthält mehrere Sätze, sodass durchgehend wichtigere Wörter vorhanden sind. Ohne die Punktübung aus Beispiel 1 zu wiederholen, würde ich wahrscheinlich erwarten, dass zwei oder drei wirklich wichtige Wörter daraus hervorgehen: "Schwimmen" (oder "Schwimmpraxis"), "Wettkampf" und "Beobachten" (oder "wasserdicht") Uhr "oder" nicht wasserdichte Uhr ", je nachdem, wie mit dem Bindestrich umgegangen wird).
Wie würden Sie bei ein paar Beispielen wie diesem vorgehen, um etwas Ähnliches zu tun? Gibt es bereits vorhandene (Open Source) Bibliotheken oder Algorithmen in der Programmierung, die dies tun?