Ich versuche, Apostrophe von einem Korpus zu entfernen, aber nur, wenn sie das erste Zeichen in einem Absatz sind. Ich habe Beiträge über das Finden des ersten Wortes in einem Satz, aber keinen Absatz gesehen.Erstes Wort eines Absatzes extrahieren R
Der Grund, warum ich das versuche, ist, weil ich Text analysiere. Ich möchte alle Interpunktion entfernen, aber Apostrophe und Bindestriche nur in der Mitte der Wörter verlassen. Um das zu starten, habe ich:
Dies entfernt erfolgreich alle Apostrophen außer denen, die auf neuen Zeilen beginnen. Um die auf neue Linien zu entfernen, habe ich versucht:
for(j in seq(docs.test))
{
docs[[j]] <- gsub("\r\'", " ", docs[[j]])
docs[[j]] <- gsub("\n\'", " ", docs[[j]])
docs[[j]] <- gsub("<p>\'", " ", docs[[j]])
docs[[j]] <- gsub("</p>\'", " ", docs[[j]])
}
Im Allgemeinen denke ich, es wäre sinnvoll sein, einen Weg zu finden, das erste Wort eines Absatzes zu extrahieren. Für mein spezifisches Problem versuche ich es nur, um an diese Apostrophe heranzukommen. Ich benutze derzeit die Pakete qdap und tm, aber offen für mehr.
Irgendwelche Ideen?
Vielen Dank!
eine Möglichkeit ist, die [tidytext] (http://tidytextmining.com/intro.html) Rahmen und verwenden Tokenizer zu verwenden: 'Bibliothek (Gutenbergr); Bibliothek (ordentlich); Bibliothek (ordentlicher Text); moby_dick <- gutenberg_download (2489); moby_dick%>% unnest_tokens (Absatz, Text, Token = 'Absätze')%>% group_by (Absatz_n = Zeilennummer())%>% unnest_tokens (Wort, Absatz)%>% slice (1) 'Regex funktioniert auch, obwohl was es sieht so aus, hängt davon ab, wie der Text gespeichert ist. – alistaire
Ich habe Ihren Vorschlag ausprobiert und fullplay = data_frame (Datei = c2name)%>% muate (text = map (Datei, read_lines)) fullplay <- fullplay%>% unest_tokens_ (Wort, Text)%>% mutate_ (linsumber = row_number()) Und ich habe einen Fehler: Fehler in unnest_tokens_ (as.vector (fullplay)): unnest_tokens erwartet, dass alle Spalten von Eingangsatom Vektoren (keine Listen sein) Also habe ich versucht, diese fullplay.new = unlist (fullplay $ text) fullplay.new <- fullplay.new%>% unest_tokens_ (Wort, Text)%>% mutate_ (linenumber = row_number()) Und es ist ein Fehler aufgetreten Fehler in tbl [[input_col]]: ungültiger tiefgestellter Typ 'closure' –
Es ist schwer zu sagen, ohne die Struktur Ihrer Daten sehen zu können, aber wenn Sie ac haben Orpus, wie die Frage schon andeutet, versuchen Sie es mit tidytexts "ordentlichen" Methoden, um sie zu einem data.frame zu zwingen. – alistaire