spaCy和文本清理,摆脱&#39; <br/>&#39;

时间:2017-12-01 18:28:32

标签: python scikit-learn nlp spacy

我正在使用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标签之类的东西,却找不到任何东西。有谁知道我能做什么?

1 个答案:

答案 0 :(得分:1)

您可以使用正则表达式:

import re

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

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

cleaned_text.append(cleantext)

注意:如果您的文字包含任何'&lt;'字符(<br />标签除外),此方法无效

希望这有帮助!