Wie man gemeinsame Sätze in einem großen Teil von Text findet
-
20-09-2019 - |
Frage
Ich arbeite gerade an einem Projekt, in dem ich die häufigsten Sätze in einem riesigen Text aussuchen muss. Zum Beispiel haben wir drei Sätze wie Folgendes:
- Der Hund sprang über die Frau.
- Der Hund sprang in das Auto.
- Der Hund sprang Die Treppe hoch.
Aus dem obigen Beispiel würde ich extrahieren wollen "Der Hund sprang"Da es sich um die häufigste Phrase im Text handelt. Zuerst dachte ich:" Oh, lasst uns einen gerichteten Diagramm [mit wiederholten Knoten] verwenden ":"
Regie Graph http://img.skitch.com/20091218-81ii2femnfgfipd9jtdg32m74f.png
BEARBEITEN: Entschuldigung, ich habe einen Fehler gemacht, als ich dieses Diagramm "über", "in" und "up" machte, sollte alle auf "The" zurückkehren.
Ich würde eine Zählung dessen beibehalten, wie oft ein Wort in jedem Knotenobjekt aufgetreten ist ("das" würde 6; "Hund" und "springen", 3; usw.), aber trotz vielen anderen Problemen kam der Hauptproblem auf Wir fügen ein paar weitere Beispiele hinzu (bitte ignorieren Sie die schlechte Grammatik :-)):
- Hund sprang auf und ab.
- Der Hund sprang, als wäre noch nie zuvor ein Hund gesprungen.
- Hund sprang glücklich.
Wir haben jetzt ein Problem seitdem "Hund"würde einen neuen Stammknoten starten (auf der gleichen Ebene wie" das ") und wir würden uns nicht identifizieren"Hund sprang"Da jetzt der häufigste Satz ist. Jetzt denke ich, dass ich vielleicht ein ungerichteter Diagramm verwenden könnte, um die Beziehungen zwischen all den Wörtern abzubilden und schließlich die gängigen Sätze auszusuchen, aber ich bin mir nicht sicher, wie dies funktionieren wird. Wenn Sie das wichtige Reihenfolge zwischen den Wörtern verlieren.
Hat jemand allgemeine Ideen, wie man gemeinsame Phrasen in einem großen Teil von Text identifiziert und welche Datenstruktur ich verwenden würde.
Danke, Ben
Lösung
Schauen Sie sich diese verwandte Frage an: Welche Techniken/Tools gibt es, um häufige Phrasen in Textbrocken zu entdecken? Auch im Zusammenhang mit Das am längsten häufige Substringproblem.
Ich habe das schon einmal gepostet, aber ich benutze R Für alle meine Datenminenaufgaben und diese Art von Analyse sind gut geeignet. Insbesondere schauen Sie sich das an tm
Paket. Hier sind einige relevante Links:
- Papier über das Paket im Journal of Statistical Computing: http://www.jstatsoft.org/v25/i05/paper. Das Papier enthält ein schönes Beispiel für eine Analyse der R-Devel-Mailingliste (https://stat.ethz.ch/pipermail/r-devel/) Newsgroup -Postings aus dem Jahr 2006.
- Paket -Homepage: http://cran.r-project.org/web/packages/tm/index.html
- Schauen Sie sich die Einführungsvignette an: http://cran.r-project.org/web/packages/tm/vignettes/tm.pdf
Im Allgemeinen gibt es eine große Anzahl von Textabbaupaketen Über die natürliche Sprachverarbeitungsansicht auf Kran.