【NLP】pyhanlp flask
Flask NLP
2023-09-11 14:17:09 时间
D:\ProgramData\Anaconda3\Lib\site-packages\pyhanlp\__init__.py 加入
WordVectorModel = LazyLoadingJClass('com.hankcs.hanlp.mining.word2vec.WordVectorModel')
# coding=utf-8 from flask import Flask from flask import request from flask import jsonify from flask import make_response,Response from flask_cors import CORS from pyhanlp import * port = 9999 app = Flask(__name__) CORS(app, supports_credentials=True) @app.route('/') def index(): str = "Hello, AI Server!" print(str) return str # 成功请求 def successResp(data): return jsonify(code=0, message="success", data=data) # 错误请求 def errorResp(msg): return jsonify(code=-1, message=msg) # 分词服务 @app.route('/NLPWordSplit', methods=['POST']) def NLPWordSplit(): Article = request.form.get('Article') print(Article) if Article == None or Article == "" : rst = make_response(errorResp("请输入正确的数据!")) rst.headers['Access-Control-Allow-Origin'] = '*' return rst word = "" for term in HanLP.segment(Article): curWord = str(term.word) if len(curWord) != 0: word = word + " " + curWord print(word) return getResult(word) # 词向量服务 @app.route('/NLPWordNearest', methods=['POST']) def NLPWordNearest(): Word = request.form.get('Word') print(Word) if Word == None or Word == "" : rst = make_response(errorResp("请输入正确的数据!")) rst.headers['Access-Control-Allow-Origin'] = '*' return rst try: # WordVectorModel = LazyLoadingJClass('com.hankcs.hanlp.mining.word2vec.WordVectorModel') # print(WordVectorModel) # MODEL_FILE_NAME = r"E:\Model.txt" # # 初始化模型 # word2vec = WordVectorModel(MODEL_FILE_NAME) # print(word2vec) if word2vec != None: print("相关词分析") word = word2vec.nearest(Word) print(word) data = "" for x in word: if data == "": data = str(x).replace("=",":") else: data = data + "," + str(x).replace("=",":") print(data) word = "{" + data + "}" # word = json.dumps(word) # word = ','.join(word) print(word) return getResult(word) else: rst = make_response(errorResp("单词分析错误!")) rst.headers['Access-Control-Allow-Origin'] = '*' return rst except Exception as e: print("Exception:",e) finally: print("OK") def getResult(word): if word != "": # 如果成功返回预测结果 rst = make_response(successResp(word)) rst.headers['Access-Control-Allow-Origin'] = '*' return rst else: # 如果失败返回错误信息 rst = make_response(errorResp(word)) rst.headers['Access-Control-Allow-Origin'] = '*' return rst word2vec = None if __name__ == '__main__': # if not jpype.isThreadAttachedToJVM(): # jpype.attachThreadToJVM() # WordVectorModel = jpype.JClass("com.hankcs.hanlp.mining.word2vec.WordVectorModel") # print(WordVectorModel) MODEL_FILE_NAME = r"E:\Model.txt" # 初始化模型 word2vec = WordVectorModel(MODEL_FILE_NAME) print("port:" + str(port)) app.run(debug = True,host = '0.0.0.0',port = port, threaded = True)
相关文章
- flask设置配置文件的四钟方式
- flask源码走读
- Flask-Script Manager
- 关于flask线程安全的简单研究
- flask中Flask()和Blueprint() flask中的g、add_url_rule、send_from_directory、static_url_path、static_folder的用法
- Python的Flask框架应用调用Redis队列数据的方法
- flask中的url_for
- flask框架-Flask-SQLAlchemy
- flask框架-蓝图,在flask中使用蓝图将路由分开写在不同文件
- 利用 Flask 动态展示 Pyecharts 图表数据的几种方法
- Python Flask框架学习27:flask微框架
- Python Flask框架学习21:Flask SQLite
- Python Flask框架学习15:Flask 重定向和错误
- SQLAlchemy基本使用(Flask中)
- NLP模型笔记2022-18:GCN/GNN模型在nlp中的使用【论文+源码】
- NLP模型笔记2022-10:nlp句法分析模型评价标准UAS/LAS
- 深入浅出Flask(51):flask_sqlalchemy的增删查改
- 深入浅出Flask(48):flask_sqlalchemy的创建表
- 深入浅出Flask(46):flask_sqlalchemy的简单关系
- Flask-SQLAlchemy配置
- Flask app.config 的配置
- Flask 的整体流程
- Flask的多app应用,多线程如何体现
- Flask的flask-sqlalchemy
- 描述怎样通过flask+redis+sqlalchemy等工具,开发restful api
- Flask 实现简单的图片上传工具