Skip to content

Latest commit

 

History

History

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 

auto_punc

模型名称 auto_punc
类别 文本-标点恢复
网络 Ernie-1.0
数据集 WuDaoCorpora 2.0
是否支持Fine-tuning
模型大小 568MB
最新更新日期 2021-12-24
数据指标 -

一、模型基本信息

模型介绍

Ernie是百度提出的基于知识增强的持续学习语义理解模型,该模型将大数据预训练与多源丰富知识相结合,通过持续学习技术,不断吸收海量文本数据中词汇、结构、语义等方面的知识,实现模型效果不断进化。

"悟道"文本数据集 采用20多种规则从100TB原始网页数据中清洗得出最终数据集,注重隐私数据信息的去除,源头上避免GPT-3存在的隐私泄露风险;包含教育、科技等50+个行业数据标签,可以支持多领域预训练模型的训练。

auto_punc采用了Ernie1.0预训练模型,在WuDaoCorpora 2.0的200G开源文本数据集上进行了标点恢复任务的训练,模型可直接用于预测,对输入的对中文文本自动添加7种标点符号:逗号(,)、句号(。)、感叹号(!)、问号(?)、顿号(、)、冒号(:)和分号(;)。



更多详情请参考

二、安装

三、模型API预测

  • 1、预测代码示例

    import paddlehub as hub
    
    model = hub.Module(
        name='auto_punc',
        version='1.0.0')
    
    texts = [
        '今天的天气真好啊你下午有空吗我想约你一起去逛街',
        '我最喜欢的诗句是先天下之忧而忧后天下之乐而乐',
    ]
    punc_texts = model.add_puncs(texts)
    print(punc_texts)
    # ['我最喜欢的诗句是:先天下之忧而忧,后天下之乐而乐。', '今天的天气真好啊!你下午有空吗?我想约你一起去逛街。']
  • 2、API

    • def add_puncs(
          texts: Union[str, List[str]],
          max_length=256,
          device='cpu'
      )
      • 对输入的中文文本自动添加标点符号。

      • 参数

        • texts:输入的中文文本,可为str或List[str]类型,预测时,中英文和数字以外的字符将会被删除。
        • max_length:模型预测时输入的最大长度,超过时文本会被截断,默认为256。
        • device:预测时使用的设备,默认为�cpu,如需使用gpu预测,请设置为gpu
      • 返回

        • punc_texts:List[str]类型,返回添加标点后的文本列表。

四、服务部署

  • PaddleHub Serving可以部署一个在线的文本标点添加的服务。

  • 第一步:启动PaddleHub Serving

    • $ hub serving start -m auto_punc
    • 这样就完成了一个文本标点添加服务化API的部署,默认端口号为8866。

    • NOTE: 如使用GPU预测,则需要在启动服务之前,请设置CUDA_VISIBLE_DEVICES环境变量,否则不用设置。

  • 第二步:发送预测请求

    • 配置好服务端,以下数行代码即可实现发送预测请求,获取预测结果

    • import requests
      import json
      
      # 输入的中文文本,中英文和数字之外的字符在模型预测前会被删除
      texts = [
          '今天的天气真好啊你下午有空吗我想约你一起去逛街',
          '我最喜欢的诗句是先天下之忧而忧后天下之乐而乐',
      ]
      
      # 以key的方式指定text传入预测方法的时的参数,此例中为"texts"
      data = {"texts": texts}
      
      # 发送post请求,content-type类型应指定json方式,url中的ip地址需改为对应机器的ip
      url = "http://127.0.0.1:8866/predict/auto_punc"
      
      # 指定post请求的headers为application/json方式
      headers = {"Content-Type": "application/json"}
      
      r = requests.post(url=url, headers=headers, data=json.dumps(data))
      print(r.json())

五、更新历史

  • 1.0.0

    初始发布

    $ hub install auto_punc