Gin*_*ino 7 python nlp removing-whitespace spacy
我正在为我正在训练的 NER 模型预处理一些文本,并且我经常遇到这个角色。这个字符不会被删除strip()
:
>>> 'Hello world!\u200b'.strip()
'Hello world!\u200b'
Run Code Online (Sandbox Code Playgroud)
它不被视为正则表达式的空格:
>>> re.sub('\s+', ' ', "hello\u200bworld!")
'hello\u200bworld!'
Run Code Online (Sandbox Code Playgroud)
并且 spaCy 的标记器不会在其上拆分标记:
>>> [t.text for t in nlp("hello\u200bworld!")]
['hello\u200bworld', '!']
Run Code Online (Sandbox Code Playgroud)
那么,我应该如何处理呢?我可以简单地替换它,但是我不想为这个角色做一个特例,而是替换所有具有相似特征的角色。
谢谢。
小智 5
正如您所提到的,\u200b
(零宽度空格)和\u200c
(零宽度非连接符)等字符不被视为空格字符。因此,您不能使用可用于空格字符的技术来省略此类字符。您可能已经注意到,唯一的方法是将此类字符视为特殊情况。