我正在使用spaCy和python尝试清理sklearn的一些文本。我运行循环:
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))
它工作得很好,但它留在<br /><br />
内部的某些文本中。我认为这将由token.is_punct==False
过滤器取出但不是。我寻找像html标签之类的东西,却找不到任何东西。有谁知道我能做什么?
答案 0 :(得分:1)
您可以使用正则表达式:
import re
# ...
cleaned = [token.lemma_...
clean_regex = re.compile('<.*?>')
cleantext = re.sub(clean_regex, '', ' '.join(cleaned))
cleaned_text.append(cleantext)
注意:如果您的文字包含任何'&lt;'字符(<br />
标签除外),此方法无效
希望这有帮助!