BotSharp/BotSharp.Core/Engines/SpaCy/server.py

45 lines
1 KiB
Python
Raw Normal View History

2018-06-13 22:17:35 +00:00
from bottle import route, run, request
from spacy.tokenizer import Tokenizer
from spacy.pipeline import EntityRecognizer
import spacy
nlp = spacy.load('en')
tokenizer = Tokenizer(nlp.vocab)
ner = EntityRecognizer(nlp.vocab)
@route('/load')
def load():
pass
@route('/tokenize')
def tokenize():
tokens = tokenizer(request.query.text)
list = []
for token in tokens:
print(token)
list.append({'text': token.text, 'offset': token.idx})
return {'tokens': list}
@route('/featurize')
def tokenize():
doc = nlp(request.query.text)
list = []
print(doc.vector.size)
for vec in doc.vector:
print(vec)
list.append(str(vec.real))
return {'vectors': list}
@route('/entitize')
def entitize():
doc = nlp(request.query.text)
entities = ner(doc)
print(entities)
list = []
print(doc.ents.size)
for entity in entities:
print(entity)
list.append(entity)
return {'entities': list}
run(host='0.0.0.0', port=5005, debug=True)