【发布时间】:2017-12-05 08:46:08
【问题描述】:
我正在为我正在训练的 NER 模型预处理一些文本,我经常遇到这个角色。这个字符不会被strip()删除:
>>> 'Hello world!\u200b'.strip()
'Hello world!\u200b'
它不被视为正则表达式的空格:
>>> re.sub('\s+', ' ', "hello\u200bworld!")
'hello\u200bworld!'
并且 spaCy 的标记器不会在其上拆分标记:
>>> [t.text for t in nlp("hello\u200bworld!")]
['hello\u200bworld', '!']
那么,我该如何处理呢?我可以简单地替换它,但是我不想为这个字符做一个特殊的情况,而是替换所有具有相似特征的字符。
谢谢。
【问题讨论】:
-
该字符的定义表明它具体 不是 空格或空白字符。 fileformat.info/info/unicode/char/200B/index.htm 如果人们不正确地使用它,那么它并没有很好地定义到底该怎么做。这就是你的 NLP ...
-
没错,但我正在预处理的一些文本是使用 Apache Tika 从 PDF 中提取的。
标签: python nlp removing-whitespace spacy