2017-12-01 10 views
0

Ich arbeite mit SpaCy und Python versuchen, etwas Text für sklearn zu reinigen. Ich betreibe die Schleife:spaCy und Text Reinigung, loszuwerden <br /><br />

for text in df.text_all: 
    text = str(text) 
    text = nlp(text) 
    cleaned = [token.lemma_ for token in text if token.is_punct==False and token.is_stop==False] 
    cleaned_text.append(' '.join(cleaned)) 

Und es funktioniert ziemlich gut, aber es lässt in <br /><br /> innerhalb von etwas Text. Ich dachte, das würde durch den token.is_punct==False Filter rausgenommen aber nein. Ich suchte nach etwas wie HTML-Tags, konnte aber nichts finden. Weiß jemand was ich tun kann?

+0

Sie können das Dataset immer außerhalb von Python vorverarbeiten, wie unter dem Befehl cat FILE_NAME | sed -r 's/\
\
// g'> NEW_FILE_NAME –

Antwort

0

können Sie regex verwenden:

import re 

# ... 
cleaned = [token.lemma_... 

clean_regex = re.compile('<.*?>') 
cleantext = re.sub(clean_regex, '', ' '.join(cleaned)) 

cleaned_text.append(cleantext) 

Hinweis: Wenn Ihr Text keine '<' Zeichen (mit Ausnahme der <br /> Tags) enthält, ist diese Methode

hoffe, das hilft nicht

funktionieren!