Problem: Ich arbeite mit einem Tokenizer für Text Mining und möchte die Länge der Zeichenfolgen in meinen Eingabedaten begrenzen. Der folgende Code behält die gesamte Zeichenfolge bei, wenn das Wort enthalten ist.Wörter nach Schlüsselwort in Zeichenfolge speichern R
#create data frame with data
dd <- data.frame(
text = c("hello how are you doing thank
you for helping me with this
problem","junk","junk"), stringsAsFactors = F)
#keep string that only include term "how"
dd <- filter(dd, grepl('how', text))
Frage: Wie kann ich den Code ändern, um nur N Wörter nach den Schlüsselwörtern zu halten.
z.B.
wenn N = 1, dann würde dd sind: wie sind
wenn N = 2 dann würde dd sind: Wie geht es Ihnen
wenn N = 3 dann würde dd sind: wie geht es dir
...
I-Code benötigen, das funktionieren würde, wenn ich auch zusätzliche Wörter in Frieds enthalten:
Nicht wirklich ein regex Guru aber dies kann Ihnen helfen: https://regex101.com/r/95g7yT/1 – digEmAll
Was erwarten Sie als Ergebnis zu sehen Wenn Sie spezifizieren Sie zwei Begriffe, "wie" und "mit" und N = 3 zum Beispiel? Was ist, wenn der Abstand zwischen den beiden Begriffen weniger als 3 Wörter beträgt, wie wenn wir "Hallo" und "Ist" gewählt hätten? –
1 - Mit zwei Begriffen "wie" ODER "mit" und N = 3 möchte ich erzeugen: "Wie geht es Ihnen mit diesem Problem?". Die Ergebnisse für den zweiten Ausdruck "mit" würden nur Wörter bis zum Ende der Zeichenfolge beibehalten. 2 - Wenn die Begriffe "Hallo" und "sind", würde ich gerne behalten: "Hallo, wie geht es dir danken", wenn das möglich ist. – BEMR