Showing
1 changed file
with
43 additions
and
0 deletions
model/app.py
0 → 100644
| 1 | +from flask import Flask, redirect, url_for, request | ||
| 2 | +from gensim.models.doc2vec import Doc2Vec | ||
| 3 | +from konlpy.tag import Mecab | ||
| 4 | +import json | ||
| 5 | +import sys | ||
| 6 | + | ||
| 7 | +model = Doc2Vec.load("doc2vec.model") | ||
| 8 | + | ||
| 9 | + | ||
| 10 | +app = Flask(__name__) | ||
| 11 | + | ||
| 12 | + | ||
| 13 | +@app.route('/analyze', methods=['POST']) | ||
| 14 | +def sendreq(): | ||
| 15 | + try: | ||
| 16 | + data = request.data.decode('utf-8').replace("'", '"') | ||
| 17 | + datadic = json.loads(data) | ||
| 18 | + sentence1 = datadic["sentence1"] | ||
| 19 | + sentence2 = datadic["sentence2"] | ||
| 20 | + token1 = parsetoken(sentence1) | ||
| 21 | + token2 = parsetoken(sentence2) | ||
| 22 | + num_similar = model.n_similarity(token1, token2) | ||
| 23 | + return json.dumps({"result": str(num_similar)}) | ||
| 24 | + except: | ||
| 25 | + return json.dumps({"result": -1}) | ||
| 26 | + | ||
| 27 | + | ||
| 28 | +def parsetoken(sentence): | ||
| 29 | + mecab = Mecab() | ||
| 30 | + lst = [] | ||
| 31 | + tags = mecab.pos(sentence) | ||
| 32 | + for tag in tags: | ||
| 33 | + try: | ||
| 34 | + model["/".join(tag)] | ||
| 35 | + lst.append("/".join(tag)) | ||
| 36 | + except: | ||
| 37 | + null | ||
| 38 | + # resdata = dict(zip(range(1, len(lst) + 1), lst)) | ||
| 39 | + return lst | ||
| 40 | + | ||
| 41 | + | ||
| 42 | +if __name__ == "__main__": | ||
| 43 | + app.run() |
-
Please register or login to post a comment