-
Notifications
You must be signed in to change notification settings - Fork 0
/
spacytest.py
33 lines (30 loc) · 855 Bytes
/
spacytest.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
import spacy
import json
import websockets
import asyncio
import sys
PORT=12672
print("STARTING...")
sys.stdout.flush()
nlp = spacy.load("en_core_web_md")
print("SPACY OK")
sys.stdout.flush()
# open a websocket
async def spacify(websocket, path):
while True:
query=str(await websocket.recv())
datae=nlp(query)
data = [{
'text':token.text,
'lemma': token.lemma_,
'pos':token.pos_,
'tag':token.tag_,
'dep':token.dep_,
'shape':token.shape_,
'is_alpha':token.is_alpha,
'is_stop':token.is_stop
} for token in datae]
await websocket.send(json.dumps(data))
start_server = websockets.serve(spacify, "localhost", 12672)
asyncio.get_event_loop().run_until_complete(start_server)
asyncio.get_event_loop().run_forever()