简介:

欢迎来到本篇文章!今天我们将讨论一个新的自然语言处理任务——英文短文识别。具体而言,即通过分析输入的英文文本来判断其是比较消极的还是比较积极的。

展示:

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:英文文本识别的更多相关文章

  1. Java高级项目实战02:客户关系管理系统CRM系统模块分析与介绍

    本文承接上一篇:Java高级项目实战之CRM系统01:CRM系统概念和分类.企业项目开发流程 先来CRM系统结构图: 每个模块作用介绍如下: 1.营销管理 营销机会管理:针对企业中客户的质询需求所建立 ...

  2. 项目实战02:nginx 反向代理负载均衡、动静分离和缓存的实现

    目录 实验一:实现反向代理负载均衡且动静分离 1.环境准备: 2.下载编译安装tengine 3.设置代理服务器的配置文件 4.启动tengine服务 5.开启后端的web服务 6.测试 实验二:ng ...

  3. 项目实战02:LVS 实现负载均衡

    目录 实现基于LVS负载均衡集群的电商网站架构 实战一:LVS的NAT模式实现负载均衡 实战二:LVS的DR 模式实现负载均衡 实战三:实现80.443端口都可访问服务,且LVS实现持久连接 实验四: ...

  4. 项目实战02:LNMP的搭建、nginx的ssl加密、身份验证的实现

    目录 实战一:搭建lnmp及类小米等商业网站的实现 1.安装包,开启服务 2.修改nginx的配置文件 3.修改php-fpm的配置文件 4.运行mysql ,创建一会网页需要的库 5.把事先找好的小 ...

  5. C++ Qt 项目实战(一)之文本编辑器

    文本编辑器例图 项目开发环境 系统版本:windows10 QT 版本: 5.9.9 开发语言:C++ 已实现功能 文件操作:新建,打开,保存,另存为,打印,退出 编辑操作:复制,粘贴,剪切,查找,替 ...

  6. JAVAEE——SSH项目实战02:客户列表和BaseDao封装

    作者: kent鹏 转载请注明出处: http://www.cnblogs.com/xieyupeng/p/7129152.html 该项目在SSH三大框架整合基础上进行开发:http://www.c ...

  7. 【SSH网上商城项目实战02】基本增删查改、Service和Action的抽取以及使用注解替换xml

    转自:https://blog.csdn.net/eson_15/article/details/51297698 上一节我们搭建好了Struts2.Hibernate和Spring的开发环境,并成功 ...

  8. React Native商城项目实战02 - 主要框架部分(tabBar)

    1.安装插件,cd到项目根目录下执行: $ npm i react-native-tab-navigator --save 2.主框架文件Main.js /** * 主页面 */ import Rea ...

  9. 【Robot Framework 项目实战 02】SeleniumLibrary Web UI 自动化

    前言 SeleniumLibrary 是针对 Robot Framework 开发的 Selenium 库.它也 Robot Framework 下面最流程的库之一.主要用于编写 Web UI 自动化 ...

  10. 【Robot Framework 项目实战 02】使用脚本生成统一格式的RF关键字

    背景 在微服务化的调用环境下,测试数据及接口依赖的维护是一个问题,因为依赖的接口和数据可能不在同一个服务下,而这相关的多个服务往往是不同人员来测试的. 因此为了节省沟通成本,避免关键字的重复冗余.所以 ...

随机推荐

  1. API技术的使用场景

    ​ 互联网的发展和普及,API技术也变得越来越重要.API是应用程序接口,它是一种连接不同应用程序或系统之间数据交换和通信的方式.API技术不仅提高了不同应用程序之间的互操作性,还加速了应用程序的开发 ...

  2. 应用程序通过 Envoy 代理和 Jaeger 进行分布式追踪 —— Ingress Controller + Http服务 + Grpc服务(三)

    1.概述 在<应用程序通过 Envoy 代理和 Jaeger 进行分布式追踪(一)>这篇博文中,我们详细介绍了单个应用程序通过 Envoy 和 Jaeger 实现链路追踪的过程.通过这个示 ...

  3. 代码随想录算法训练营第二十八天| 93.复原IP地址 78.子集 90.子集II

      93.复原IP地址 卡哥建议:本期本来是很有难度的,不过 大家做完 分割回文串 之后,本题就容易很多了 题目链接/文章讲解:https://programmercarl.com/0093.%E5% ...

  4. 万字长文深度解读Java线程池,硬核源码分析

    前言 本文将深入分析Java线程池的源码,包括线程池的创建.任务提交.工作线程的执行和线程池的关闭等过程.通过对线程池源码的解析,我们能够更好地理解线程池的原理和机制,为我们在实际开发中合理使用线程池 ...

  5. LDA主题模型讲解及代码Python实现

    目录 1. LDA主题模型详解 1.1 Beta/Dirichlet 分布的一个性质 1.2 LDA-math-MCMC 1.2.1 重要理解 1.3 Gibbs Sampling 2. 所需工具库 ...

  6. MySQL系列3:缓冲池Buffer Pool的设计思想

    1. 回顾 上一篇我们主要讲了InnoDB的存储引擎,其中主要的一个组件就是缓存池Buffer Pool,缓存了磁盘的真实数据,然后基于缓存做增删改查操作,同时配合了后续的redo log.刷磁盘等机 ...

  7. Oracle字符串函数-Translate()总结

    Oracle的Translate(expr,from_string,to_string)是字符串操作函数,实现from_string,to_string字符的一 一替换 1)典型示例: select ...

  8. 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 ...

  9. PPT太大发不出去?教你三个PPT压缩方法,200M的PPT变15M

    相信有很多小伙伴在工作的时候,都会制作不少的PPT,而我们也知道很多PPT在制作完成以后,体积就会变得非常大,在发送给别人的时候总是会受到限制,是有点难搞了. 别担心,今天小编将告诉大家三个简单的方法 ...

  10. oracle RAC redhat

    RAC比较严格,如果操作系统不纯净,容易失败: 装备第一台VM:chkconfig sendmail offchkconfig iptables offchkconfig ip6talbes offs ...