API / Tool zur Suche nach unstrukturiertem Text?

708
Sridhar-Sarnobat

Ich möchte eine Konzeptkarte aus unstrukturiertem Text erstellen. Zum Beispiel

Desired input: find "/" -name "*.txt" Desired output: concepts-graph.dot 

Mit anderen Worten, ich möchte meine Textdateien extrahieren und eine Art strukturierte Darstellung von Schlüsselwörtern / Begriffen erstellen. Locker ein Google-Textanalysator eines Armen.

Gibt es ein Open Source-Tool / eine API, die Beziehungen zwischen Begriffen in einer Klartextdatei finden kann?

1
Sridihar, Wir versuchen, [Grafiken] in [Diagramme] per http://meta.superuser.com/questions/6841/should-charts-and-graphs-tags-be-merged zusammenzuführen. Kenster vor 9 Jahren 0
hmmm, deshalb können hier weder "Graph" noch "Chart" verwendet werden. Und es gibt kein Tag wie "gerichteter azyklischer Graph" Sridhar-Sarnobat vor 9 Jahren 0

1 Antwort auf die Frage

1
Soz

Es gibt viele Werkzeuge, mit denen Sie bauen könnten:

Was Schlüsselwörter angeht, gibt es grundlegende Tools wie Porter-Stemmers, die in den meisten Programmiersprachen verfügbar sind, und viele weitere Optionen für bestimmte Sprachen.

Zum Beispiel gibt es NLTK (Natural Language Toolkit) - ein Python-Textklassifizierungssystem -, das Sie zum Beispiel für das Tag-of-Speech-Tagging verwenden können ( http://nltk.org/ ).

Außerdem gibt es verschiedene Text-Mining-Pakete, die Sie beispielsweise in R: http://tm.r-forge.r-project.org/ verwenden können (siehe auch folgende Folien: http://www.zinkov.com/posts) /2010-10-21-slides_from_larug/tm_slides.pdf ).

Wenn Sie einen genaueren Überblick über die Art der Textanalyse geben können, die Sie sich vorstellen, wäre es einfacher, bestimmte Pakete vorzuschlagen, die möglicherweise relevant sind.

Danke für die Antwort Soz. Grundsätzlich enthält meine todo.txt viele URL + Titel-Paare von besuchten Websites (ich speichere sie alle, bevor ich bei jeder Sitzung mein Browserfenster schließe). Ich möchte eine bildliche Darstellung der von mir verbrachten Zeit in Form eines Spinnendiagramms (oder einer Grafik) erhalten. Der Graph könnte also Pfade enthalten wie: (1) root -> nosql -> cassandra (2) root -> nosql -> neo4j (3) root -> fußball -> brasilianische Spieler -> Ronaldo Also anstatt stundenlang durchzulesen TXT-Datei, ich kann nur ein Diagramm betrachten und nützliche Inhalte daraus extrahieren. Sridhar-Sarnobat vor 11 Jahren 0
Verstanden. Nun, in dieser Art von Fällen (maßgeschneiderte Datensätze) habe ich die Erfahrung gemacht, dass der einfachste Weg ist, Ihren Favoriten aus Perl, Python oder einer anderen ähnlichen Sprache auszuwählen und direkt eine Punktdatei zu erstellen. In Bezug auf Punktdateien: Ich empfehle das Schlüsselwort 'strict', wenn Sie den Graphen deklarieren, um doppelte Pfade zu entfernen, und versuchen Sie edge [penwidth = 0.2] oder so, um die Zeilen ausreichend hell zu halten. In Bezug auf das Titel-Parsing kann das Markieren von Wortteilen dazu beitragen, wahrscheinlich relevante Kandidatentermine hervorzuheben. Soz vor 11 Jahren 0
Ich denke, das ist alles, was ich theoretisch brauche. Der schwierige Teil ist das Finden eines einfach zu verwendenden Pakets. Ich versuchte Maui und Jate, gab aber beide auf. Sridhar-Sarnobat vor 11 Jahren 0