Update SpaCy server python script
This commit is contained in:
parent
bbbcf93ca6
commit
48672c979e
|
|
@ -1,6 +1,7 @@
|
|||
from bottle import route, run, request
|
||||
from spacy.tokenizer import Tokenizer
|
||||
from spacy.pipeline import EntityRecognizer
|
||||
from spacy.pipeline import TextCategorizer
|
||||
import spacy
|
||||
|
||||
nlp = spacy.load('en')
|
||||
|
|
@ -19,7 +20,7 @@ def tokenize():
|
|||
print(token)
|
||||
list.append({'text': token.text, 'offset': token.idx})
|
||||
return {'tokens': list}
|
||||
|
||||
|
||||
@route('/featurize')
|
||||
def tokenize():
|
||||
doc = nlp(request.query.text)
|
||||
|
|
@ -29,7 +30,7 @@ def tokenize():
|
|||
print(vec)
|
||||
list.append(str(vec.real))
|
||||
return {'vectors': list}
|
||||
|
||||
|
||||
@route('/entitize')
|
||||
def entitize():
|
||||
doc = nlp(request.query.text)
|
||||
|
|
@ -38,6 +39,54 @@ def entitize():
|
|||
for entity in doc.ents:
|
||||
print(entity)
|
||||
list.append(entity)
|
||||
return {'entities': list}
|
||||
|
||||
run(host='0.0.0.0', port=5005, debug=True)
|
||||
return {'entities': list}
|
||||
|
||||
@route('/textcategorizer', method='POST')
|
||||
def textcategorizer():
|
||||
texts = request.json["Texts"]
|
||||
golds = request.json["Golds"]
|
||||
labels = request.json["Labels"]
|
||||
print(labels)
|
||||
train_data = []
|
||||
for index in range(len(texts)):
|
||||
tuple =(texts[index], golds[index])
|
||||
train_data.append(tuple)
|
||||
|
||||
print("training data body is: {0}".format(train_data))
|
||||
textcat = nlp.create_pipe('textcat')
|
||||
nlp.add_pipe(textcat, last=True)
|
||||
for label in labels:
|
||||
textcat.add_label(label)
|
||||
optimizer = nlp.begin_training()
|
||||
for itn in range(2):
|
||||
for doc, gold in train_data:
|
||||
nlp.update([doc], [gold], sgd=optimizer)
|
||||
|
||||
textcat.to_disk('./textcat_try')
|
||||
|
||||
|
||||
|
||||
return {'ModelName':'textcat_try'}
|
||||
|
||||
@route('/predict')
|
||||
def predict():
|
||||
textcat = TextCategorizer(nlp.vocab)
|
||||
textcat.from_disk('./textcat_try')
|
||||
|
||||
nlp.add_pipe(textcat, last=True)
|
||||
|
||||
doc = nlp(request.query.text)
|
||||
|
||||
#scores = textcat.predict([request.query.text])
|
||||
#print(scores)
|
||||
|
||||
list = []
|
||||
for label, confidence in doc.cats:
|
||||
print(label)
|
||||
list.append({'Label': label, 'Confidence': confidence})
|
||||
|
||||
print (list)
|
||||
|
||||
return {'Labels': list}
|
||||
|
||||
run(host='0.0.0.0', port=5005, debug=True)
|
||||
|
|
|
|||
Loading…
Reference in a new issue