mirror of
https://github.com/explosion/spaCy.git
synced 2024-11-14 13:47:13 +03:00
33 lines
821 B
Python
33 lines
821 B
Python
|
import codecs
|
||
|
import plac
|
||
|
|
||
|
from spacy.en import English
|
||
|
|
||
|
|
||
|
def main(text_loc):
|
||
|
with codecs.open(text_loc, 'r', 'utf8') as file_:
|
||
|
text = file_.read()
|
||
|
NLU = English()
|
||
|
for paragraph in text.split('\n\n'):
|
||
|
tokens = NLU(paragraph)
|
||
|
|
||
|
ent_starts = {}
|
||
|
ent_ends = {}
|
||
|
for span in tokens.ents:
|
||
|
ent_starts[span.start] = span.label_
|
||
|
ent_ends[span.end] = span.label_
|
||
|
|
||
|
output = []
|
||
|
for token in tokens:
|
||
|
if token.i in ent_starts:
|
||
|
output.append('<%s>' % ent_starts[token.i])
|
||
|
output.append(token.orth_)
|
||
|
if (token.i+1) in ent_ends:
|
||
|
output.append('</%s>' % ent_ends[token.i+1])
|
||
|
output.append('\n\n')
|
||
|
print ' '.join(output)
|
||
|
|
||
|
|
||
|
if __name__ == '__main__':
|
||
|
plac.call(main)
|