基于tensorflow2.0的情感分析快速工具

litNlp的Python项目详细描述


996.icuDownloadsDownloadsDownloads

litNlp 简介

litNlp 是基于 Tensorflow 2.0 实现的一个轻量级的深度情感极性推理模型,使用字符级代替词语级进一步提升训练和推理速度,可以实现细粒度的多级别情感极性训练和预测。

TF2 下 GPU 和 CPU 平台都能直接安装运行,是搭建 NLP 分类模型类 baseline 的快速方案。

1. 内置情感分析模型-利用深度模型优化语义建模,使用字符级减少 tokenizer 的大小。
2. 直接提供模型训练,默认 Text-CNN 字符级卷积网络作为 baseline ,自带早停操作,使用少的参数即可开始训练多分类模型。

直接使用 emample/sa_ui.py 进行前端 ui 展示效果

# 安装 streamlit 之后直接运行脚本streamlitrunsa_ui.py

使用方法

  1. pip install litNlp
  2. 模型需要先通过训练,保存在 sa_model 里面,然后就可以批预测,具体的使用见 example 文件内容
fromlitNlp.predictimportSA_Model_Predict# 批处理文本predict_text=['这个我不喜欢','这个我喜欢不']# 初始化并加载模型tokenizer_path='sa_model/tokenizer.pickle'sa_model_path='sa_model/c_cnn_m.h5'model=SA_Model_Predict(tokenizer_path,sa_model_path_m=sa_model_path)sa_score=model.predict(predict_text)print([i[1]foriinsa_score])

参数解释

# 最大句子长度maxlen=100# 最大的tokenizer字典长度max_words=1000# 设置embedding大小embedding_dim=300# 模型的保存位置,后续用于推理sa_model_path_m='sa_model/c_cnn_m.h5'# 离线保存tokenizertokenize_path='sa_model/tokenizer.pickle'# 分类的类别数num_classes=2# train_method : 模型训练方式,默认textcnn,可选:bilstm, grutrain_method='textcnn'

2 个 epoch 的二分类性能

jupyter 加载

情感分析,优化语义的情感推理

pipy code

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java如何让用户决定按钮的特定颜色   java Tomcat jdbc连接池,使用后不释放连接   Java泛型类可分配性   javaactivemq&如何在路由路径中创建依赖关系   java为什么没有接收到操作用户?   windows如何启动使用cmd中预编译DLL的java swing应用程序?   java JFreechart实时组合图,在未收到数据点的情况下呈现step子图表的上一个值   java排序自定义数组列表   java如何从HSLFSlideShow获取文本格式信息   java不能将片段和活动登录结合起来   java是下载位于远程存储服务中的文件的有效方法   java AS:将点数交给GameOverActivity   java如何在textView中将焦点放在新生成文本的顶部?   HashMap中特定于Java存储的类类型   java使用不同的变量类型进行计算   if语句中的Java poll()   检查匹配括号的java字符堆栈没有错误,但也没有任何作用   java Netbeans不断将应用程序部署到错误的服务器