NLP项目实战02:英文文本识别
简介:
欢迎来到本篇文章!今天我们将讨论一个新的自然语言处理任务——英文短文识别。具体而言,即通过分析输入的英文文本来判断其是比较消极的还是比较积极的。
展示:
1、项目界面
如下所示是项目启动后用户使用使用界面

2、布局介绍
首先可以看到用户使用界面上存在这么几个部分:
2.1、最左边的功能栏
2.2、最上面的添加识别文本的输入框
2.3、一个start model按钮
2.3、Test & Result
2.4、Wordcloud
2.5、WordFrequency

3、功能介绍

3.1、最左边的功能栏
这部分暂时没有功能接入,可以根据个人需求进行功能接入
3.2、最上面的添加识别文本的输入框
在这里输入需要模型进行识别的文本,这里需要注意,由于本项目是关于英文文本识别的,所以这里输入的文本需要是英文才可以。如果输入的是其他语言的文本,可能模型没有办法进行识别,或者说会出现识别出错的情况。此外由于是英文文本识别,所以用户使用界面,我也全用英文写的
3.3、一个start model按钮
当我们输入好了文本以后,我们就可以点击这个Start model进行文本的识别了
3.3、Test & Result
当模型识别以后,用户界面会将识别结果进行展示,Test & Result的结果TaoTao这里使用的图表的形式展示的,图表有两个属性,一个是Positive还有一个是Negative,其中Positive表示输入的识别文本是积极的一类,而Negative则表示消极
3.4、Wordcloud
这里属于词云的范畴了,也就是说这里会给我们输入的文本进行统计,并给数据以词云的方式展示出来。单个词在文本中出现的次数多,则词云的字体就越大。相反当单个单词在文本中出现的次数越少,则词云的字体就越小
3.5、WordFrequency
这里统计的是输入文本中每一个单词出现的单词频率。
详细的界面效果如下所示

4、项目设计思路
本项目的实现思路如下流程图所示:

这里的model采用的是深度学习中比较基础的全连接网络实现的。
数据使用的是开源数据数据集IMDB,然后用户界面采用的是Flask结合着echarts实现的。可以看到数据和模型算法都是比较容易实现的。所以我建议大家还是需要多多练习实践,只有实践,才可以对代码有更加深刻的理解。
5、运行环境介绍
环境:windows+anaconda
主要的python库如下:
Flask 3.0.0
torch 1.8.2+cu102
torchaudio 0.8.2
torchdata 0.7.1
torchtext 0.9.2
torchvision 0.9.2+cu102
说明:运行本项目cpu版本的torch也是可以运行的,但是建议使用GPU进行
6、运行项目:
首先在项目目录下打开cmd,然后输入:python model.py
当然了,你也可以在pycharm中直接run
等待项目启动就可以了。项目启动可能会慢一点,这是由于代码需要加载数据集和模型,但是之后的使用还是比较快的,包括模型的识别速度。

之后,在terminal中会有一个url,如下所示:
http://127.0.0.1:5000/
我们给这个url输入到网页中回车,就可以访问了

之后正常使用就可以了
最后说明:
由于笔者能力有限,所以在描述的过程中难免会有不准确的地方,还请多多包含!
更多NLP和CV文章以及完整代码请到"陶陶name"获取。
NLP项目实战02:英文文本识别的更多相关文章
- Java高级项目实战02:客户关系管理系统CRM系统模块分析与介绍
本文承接上一篇:Java高级项目实战之CRM系统01:CRM系统概念和分类.企业项目开发流程 先来CRM系统结构图: 每个模块作用介绍如下: 1.营销管理 营销机会管理:针对企业中客户的质询需求所建立 ...
- 项目实战02:nginx 反向代理负载均衡、动静分离和缓存的实现
目录 实验一:实现反向代理负载均衡且动静分离 1.环境准备: 2.下载编译安装tengine 3.设置代理服务器的配置文件 4.启动tengine服务 5.开启后端的web服务 6.测试 实验二:ng ...
- 项目实战02:LVS 实现负载均衡
目录 实现基于LVS负载均衡集群的电商网站架构 实战一:LVS的NAT模式实现负载均衡 实战二:LVS的DR 模式实现负载均衡 实战三:实现80.443端口都可访问服务,且LVS实现持久连接 实验四: ...
- 项目实战02:LNMP的搭建、nginx的ssl加密、身份验证的实现
目录 实战一:搭建lnmp及类小米等商业网站的实现 1.安装包,开启服务 2.修改nginx的配置文件 3.修改php-fpm的配置文件 4.运行mysql ,创建一会网页需要的库 5.把事先找好的小 ...
- C++ Qt 项目实战(一)之文本编辑器
文本编辑器例图 项目开发环境 系统版本:windows10 QT 版本: 5.9.9 开发语言:C++ 已实现功能 文件操作:新建,打开,保存,另存为,打印,退出 编辑操作:复制,粘贴,剪切,查找,替 ...
- JAVAEE——SSH项目实战02:客户列表和BaseDao封装
作者: kent鹏 转载请注明出处: http://www.cnblogs.com/xieyupeng/p/7129152.html 该项目在SSH三大框架整合基础上进行开发:http://www.c ...
- 【SSH网上商城项目实战02】基本增删查改、Service和Action的抽取以及使用注解替换xml
转自:https://blog.csdn.net/eson_15/article/details/51297698 上一节我们搭建好了Struts2.Hibernate和Spring的开发环境,并成功 ...
- React Native商城项目实战02 - 主要框架部分(tabBar)
1.安装插件,cd到项目根目录下执行: $ npm i react-native-tab-navigator --save 2.主框架文件Main.js /** * 主页面 */ import Rea ...
- 【Robot Framework 项目实战 02】SeleniumLibrary Web UI 自动化
前言 SeleniumLibrary 是针对 Robot Framework 开发的 Selenium 库.它也 Robot Framework 下面最流程的库之一.主要用于编写 Web UI 自动化 ...
- 【Robot Framework 项目实战 02】使用脚本生成统一格式的RF关键字
背景 在微服务化的调用环境下,测试数据及接口依赖的维护是一个问题,因为依赖的接口和数据可能不在同一个服务下,而这相关的多个服务往往是不同人员来测试的. 因此为了节省沟通成本,避免关键字的重复冗余.所以 ...
随机推荐
- API技术的使用场景
互联网的发展和普及,API技术也变得越来越重要.API是应用程序接口,它是一种连接不同应用程序或系统之间数据交换和通信的方式.API技术不仅提高了不同应用程序之间的互操作性,还加速了应用程序的开发 ...
- 应用程序通过 Envoy 代理和 Jaeger 进行分布式追踪 —— Ingress Controller + Http服务 + Grpc服务(三)
1.概述 在<应用程序通过 Envoy 代理和 Jaeger 进行分布式追踪(一)>这篇博文中,我们详细介绍了单个应用程序通过 Envoy 和 Jaeger 实现链路追踪的过程.通过这个示 ...
- 代码随想录算法训练营第二十八天| 93.复原IP地址 78.子集 90.子集II
93.复原IP地址 卡哥建议:本期本来是很有难度的,不过 大家做完 分割回文串 之后,本题就容易很多了 题目链接/文章讲解:https://programmercarl.com/0093.%E5% ...
- 万字长文深度解读Java线程池,硬核源码分析
前言 本文将深入分析Java线程池的源码,包括线程池的创建.任务提交.工作线程的执行和线程池的关闭等过程.通过对线程池源码的解析,我们能够更好地理解线程池的原理和机制,为我们在实际开发中合理使用线程池 ...
- LDA主题模型讲解及代码Python实现
目录 1. LDA主题模型详解 1.1 Beta/Dirichlet 分布的一个性质 1.2 LDA-math-MCMC 1.2.1 重要理解 1.3 Gibbs Sampling 2. 所需工具库 ...
- MySQL系列3:缓冲池Buffer Pool的设计思想
1. 回顾 上一篇我们主要讲了InnoDB的存储引擎,其中主要的一个组件就是缓存池Buffer Pool,缓存了磁盘的真实数据,然后基于缓存做增删改查操作,同时配合了后续的redo log.刷磁盘等机 ...
- Oracle字符串函数-Translate()总结
Oracle的Translate(expr,from_string,to_string)是字符串操作函数,实现from_string,to_string字符的一 一替换 1)典型示例: select ...
- Django框架——Web应用、基于SOCKET写一个web应用、 手撸简单web框架、http协议、Web框架(手撸自己的Web框架)、django简介以及简单使用
文章目录 1 Web应用 一 Web应用程序是什么 1.1 Web应用程序的优点 1.2 Web应用程序的缺点 1.3 B/S架构优点 二 基于SOCKET写一个web应用 2.1 main.py 2 ...
- PPT太大发不出去?教你三个PPT压缩方法,200M的PPT变15M
相信有很多小伙伴在工作的时候,都会制作不少的PPT,而我们也知道很多PPT在制作完成以后,体积就会变得非常大,在发送给别人的时候总是会受到限制,是有点难搞了. 别担心,今天小编将告诉大家三个简单的方法 ...
- oracle RAC redhat
RAC比较严格,如果操作系统不纯净,容易失败: 装备第一台VM:chkconfig sendmail offchkconfig iptables offchkconfig ip6talbes offs ...