一,简介与特性
便捷地获取PaddlePaddle生态下的预训练模型,完成模型的管理和一键预测。配合使用Fine-tune API,可以基于大规模预训练模型快速完成迁移学习,让预训练模型能更好地服务于用户特定场景的应用,PaddleHub旨在为开发者提供丰富的、高质量的、直接可用的预训练模型
【模型种类丰富】: 涵盖大模型、CV、NLP、Audio、Video、工业应用主流六大品类的 400+ 预训练模型,全部开源下载,离线可运行
【超低使用门槛】:无需深度学习背景、无需数据与训练过程,可快速使用AI模型
【一键模型快速预测】:通过一行命令行或者极简的Python API实现模型调用,可快速体验模型效果
【一键模型转服务化】:一行命令,搭建深度学习模型API服务化部署能力
【跨平台兼容性】:可运行于Linux、Windows、MacOS等多种操作系统
二,使用场景
图像类(212个)
- 包括图像分类、人脸检测、口罩检测、车辆检测、人脸/人体/手部关键点检测、人像分割、80+语言文本识别、图像超分/上色/动漫化等
文本类(130个)
- 包括中文分词、词性标注与命名实体识别、句法分析、AI写诗/对联/情话/藏头诗、中文的评论情感分析、中文色情文本审核等
语音类(15个)
- ASR语音识别算法,多种算法可选
- TTS语音合成算法,多种算法可选
视频类(8个)
- 包含短视频分类,支持3000+标签种类,可输出TOP-K标签,多种算法可选。
- 感谢CopyRight@PaddleVideo提供预训练模型,训练能力开放,欢迎体验。
举例:输入一段游泳的短视频,算法可以输出"游泳"结果
具体应用场景包括:
OCR文字识别,动物识别, 视频分类,智能影像修复,词法分析,智能生成文本,口罩人脸检测,肺炎CT分析,场景详情见官方链接PaddleHub-源于产业实践的开源深度学习平台
三,安装
环境依赖
-
paddlepaddle >= 2.2.0
-
paddlehub >= 2.2.0
快速安装相关组件
!pip install --upgrade paddlepaddle -i https://mirror.baidu.com/pypi/simple
!pip install --upgrade paddlehub -i https://mirror.baidu.com/pypi/simple
四,实战记录及心得
1.前言:此次记录是基于paddlehub的lac模型进行中文分词识别
2.模型概述:
PaddleHub的lac模型词法分析.识别中文名, PaddleHub Module支持预测 lac:Lexical Analysis of Chinese,是一个联合的词法分析模型,能整体性地完成中文分词、词性标注、专名识别任务
代码展示:
mport paddle
import paddlehub as hub
paddle.enable_static() # 从2.0.0版本开始,Paddle默认开启静态图模式
def identify_person_name(text):
"""
识别姓名
:param text: 语句, str
:return: 姓名, str
"""
try:
"""
选择LAC效果
Lexical Analysis of Chinese,
简称LAC,是一个联合的词法分析模型,能整体性地完成中文分词、词性标注、专名识别任务
"""
lac = hub.Module(name='lac')
"""
PaddleHub的lac模型词法分析.识别中文名, PaddleHub Module支持预测
lac:Lexical Analysis of Chinese,是一个联合的词法分析模型,能整体性地完成中文分词、词性标注、专名识别任务
参数:
text(str or list): 待预测数据,单句预测数据(str类型)或者批量预测(list,每个元素为str
use_gpu(bool): 是否使用GPU预测,如果使用GPU预测,则在预测之前,请设置CUDA_VISIBLE_DEVICES环境变量,否则不用设置
batch_size(int): 批处理大小
return_tag(bool): 预测结果是否需要返回分词标签结果
"""
results = lac.cut(text=[text], return_tag=True)
per_name = [] # 词性为'PER的词语,即人名
for _i, t in enumerate(results[0]['tag']): # 遍历results词性列表
if t == 'PER':
per_name.append(results[0]['word'][_i])
return per_name if per_name else '未识别出人名' # 返回党员姓名
except Exception as e:
return e
开始运行:
print(identify_person_name('钟伟政党组织关系转出回执给张颖'))
运行结果如下:
[2023-01-09 17:58:39,982] [ WARNING] - The _initialize method in HubModule will soon be deprecated, you can use the __init__() to handle the initialization of the object
['钟伟政', '张颖']
根据结果可看出,paddlehub的lac模型精准地识别出了语句中的两个人名,包括第一个在语句中有中文歧义干扰的人名也识别出来了,这是目前开源的中文分词组件中我使用过的最准确的模型算法