flask搭建后端实现 lstm+crf的命名实体识别网站
2021/10/11 23:16:49
本文主要是介绍flask搭建后端实现 lstm+crf的命名实体识别网站,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
本教程将教各位如下知识:
1 自己搭建pytorch框架进行 lstm+crf的训练预测。
2 使用flask框架简单的开发一个后端软件
3 进行部署 在线网页版进行识别
首先是一个视频的演示:flask 搭建命名实体识别网站进行地域实体识别_哔哩哔哩_bilibili
关于lstm+crf的原理请看:个人工作平台
然后是lstm + crf代码部分:GitHub - qi-dian-b/Named-entity-recognition: 命名实体识别 lstm+crf
然后是后端开发的项目部分:
app.py
from flask import Flask, request, jsonify, request, abort,render_template,request import io import sys import pickle import json app = Flask(__name__) # 先访问到这个页面 第一次 提交结果后访问到 index1.html @app.route('/index') def index(): return render_template("index.html") @app.route('/index1', methods=['POST']) def index1(): data = request.form['Name'] print("----") print(data) line=list(data) s_ceshi=[] for i in line: s_ceshi.append(vocab2id[i]) while len(s_ceshi)< 577 : s_ceshi.append(4465) with torch.no_grad(): optimizer.zero_grad() train_x=torch.tensor(s_ceshi).reshape(1,577).to(device) train_y=torch.randint(0,4,[577]).reshape(1,577).to(device) mask = torch.logical_not(torch.eq(train_x, torch.tensor(4465))) targets_pred_without_pad,crf_loss= model(train_x,train_y,mask) pre_label=[] for i in targets_pred_without_pad[0]: pre_label.append(label2id[i]) return render_template('index1.html', data=line,pre_label=pre_label) # 启动服务 app.run(host='0.0.0.0',debug=True) # http://192.168.136.205:5000/index # curl http://192.168.136.205:5000/index
目录结构:
index.html
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>地名实体命名识别测试网站</title> </head> <body> <h1>实体命名识别测试网站</h1> <p>注释:['O', 'B-PER', 'I-PER', 'B-ORG', 'I-ORG', 'B-LOC', 'I-LOC']</p> <p>注释:['其他', '人名', '人名', '地名', '地名', '机构名 ', '机构名 ']</p> <h1>测试用例</h1> <p>法国队5月25日去摩洛哥,参加在卡萨布兰卡举行的哈桑二世巡回赛。</p> <p>意大利队在与媒体接触中,回避了这个问题,只是在巴乔如何踢进点球上做文章,大讲上一次在美国与巴西决赛时怎么踢失,这次怎么踢进。</p> <p>国务委员兼国务院秘书长王忠禹今天在中南海会见了以日本经济同友会中国委员会委员长荒木浩为团长的日本经济同友会第三次访华团主要成员。</p> <form action = "http://192.168.136.205:5000/index1" method = "POST"> <p>请输入一句话<input type = "text" name = "Name" /></p> <p><input type = "submit" value = "提交" /></p> </form> </body> </html>
这篇关于flask搭建后端实现 lstm+crf的命名实体识别网站的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-23增量更新怎么做?-icode9专业技术文章分享
- 2024-11-23压缩包加密方案有哪些?-icode9专业技术文章分享
- 2024-11-23用shell怎么写一个开机时自动同步远程仓库的代码?-icode9专业技术文章分享
- 2024-11-23webman可以同步自己的仓库吗?-icode9专业技术文章分享
- 2024-11-23在 Webman 中怎么判断是否有某命令进程正在运行?-icode9专业技术文章分享
- 2024-11-23如何重置new Swiper?-icode9专业技术文章分享
- 2024-11-23oss直传有什么好处?-icode9专业技术文章分享
- 2024-11-23如何将oss直传封装成一个组件在其他页面调用时都可以使用?-icode9专业技术文章分享
- 2024-11-23怎么使用laravel 11在代码里获取路由列表?-icode9专业技术文章分享
- 2024-11-22怎么实现ansible playbook 备份代码中命名包含时间戳功能?-icode9专业技术文章分享