2017-02-15 2 views
0

Ich versuche, Gefühl Polarität für Film-Review zu extrahieren, so dass aus einem getaggten Text (mit Treetagger) Ich möchte alle die Bi-Gramme extrahieren, welche Tags sind (ADV-VER: pper) oder (VER: pres - ADJ). Im Beispiel unten ist beispielsweise die Liste der extrahierten Ausdrücke wie folgt: bien suivi, est efficace.Phrasen Extraktion mit R

Können Sie bitte etwas Hilfe geben?

danken Ihnen im Voraus

Database <- read.table("exp.txt", header = FALSE) 
Database 



      V1  V2   V3 

1  Toujours  ADV toujours 
2   bien  ADV  bien 
3  suivi VER:pper  suivre 
4   par  PRP  par 
5   mon DET:POS  mon 
6 conseiller  NOM conseiller 
7   Bon  NAM <unknown> 
8  accueil  NOM accueil 
9   ,  PUN   , 
10   ma DET:POS  mon 
11 conseillère  NOM conseiller 
12   est VER:pres  être 
13 efficace  ADJ efficace 
14   et  KON   et 
15   à  PRP   à 
16   l' DET:ART   le 
17  écoute  NOM  écoute 
18   .     
+3

Ich denke, Sie haben etwas wie folgt im Hinterkopf. 'df <- data.frame (a = rep (c (" a "," b "," c "), 3), b = 1: 9)', 'df [df $ a% in% c (" b "," c "),]'. Ich schlage vor, Sie nehmen sich etwas Zeit, um R. zu lernen. – DJJ

+0

@DJJ Ok danke, Sicher werde ich tun :) – Poisson

Antwort

1

Wir dplyr verwenden können, um zu erreichen, was Sie brauchen:

library(dplyr) 

Database %>% 
    mutate(NV1 = lead(V1), NV2 = lead(V2)) %>% 
    filter((V2 == 'ADV' & NV2 == 'VER:pper') | (V2 == 'VER:pres' & NV2 == 'ADJ')) %>% 
    transmute(result = paste(V1, NV1)) 

#  result 
# bien suivi 
# est efficace 

Beachten Sie, dass dies nicht sehr skalierbar ist, wie jede Bedingung geben, die Sie brauchen, aber ist etwas zu starten und kann Ihren Bedürfnissen entsprechen

+0

Es funktioniert, vielen Dank GGamba :) – Poisson

+0

ist es möglich, das Ergebnis in einer Variablen zu speichern? – Poisson

+1

sicher, fügen Sie einfach '-> result' am Ende – GGamba