我正在使用spaCy来标记行列表中的命名实体。我目前的代码是:
from spacy.en import English
parser = English()
for item in datalist:
#parse the item (sentence)
parsed = parser(unicode(item))
# tag the lines
ents = list(parsed.ents)
# write to outfile
for entity in ents:
outfile.write(str(itemnumber) + '\t' + ' '.join(t.orth_ for t in entity) + '\n')
spaCy的工作正常,但不知何故,在某些情况下,在outfile中添加了一个额外的空行,如下所示:
...
165 it
165 it
165 it greater andre
166 6 12 14
166 solidarity paristoferguson
167 77
167 shooting deaths
167 cops
167 circumstances
...
当换行前的东西是数字时,有时会添加这些空白行,但并非总是如此。
我尝试将标记行写入字符串,然后执行re.sub('\ n \ n','\ n',字符串),但问题仍然存在。
编辑:添加.strip()到解析器解决了它:
parsed = parser(unicode(item))