专栏首页大数据智能实战SentencePiece的中文测试实践

SentencePiece的中文测试实践

许多自然语言处理程序中都用到了谷歌开源的SentencePiece作为词切分的基础工作之一,于是跟踪学习了下。

1、基本介绍

What is SentencePiece?

SentencePiece is a re-implementation of sub-word units, an effective way to alleviate the open vocabulary problems in neural machine translation. SentencePiece supports two segmentation algorithms, byte-pair-encoding (BPE) [Sennrich et al.] and unigram language model [Kudo.]. Here are the high level differences from other implementations.

从上面的介绍可以看出,这是一种词切分技术,可为NMT翻译提供重要支撑。里面提供了两种切词算法,BPE和unigram词模型。

2、安装

安装在官网上提供了两种,一种是python包,另外一种是c++,由于官网只提供英语和日本语的处理,而为了实现中文处理,需要安装C++版本。

安装步骤如下所示,不过由于只需要用到spm_train,因此不需要make install.

% cd /path/to/sentencepiece
% mkdir build
% cd build
% cmake ..
% make -j $(nproc)
% sudo make install
% sudo ldconfig -v

安装效果图如下所示:

3、分词训练

以某部小说的TXT作为导入开始训练,其训练语句如下所示:

ndscai@ndscaigpu01:~/downloads/201907/sentencepiece-master/build/src$ ./spm_train --input=./bingwang.txt --model_prefix=/home/ndscai/downloads/201907/bw

训练完成后,利用python进行调用,其结果呈现如下:

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • NLP笔记:中文分词工具简介

    不同于英文等语言中天然的以空格为分隔的分词方式,中文的分词本身就需要针对语意进行理解,这使得其分词便成为了一个复杂的问题。

    codename_cys
  • 1美元训练BERT,教你如何薅谷歌TPU羊毛 | 附Colab代码

    BERT是谷歌去年推出的NLP模型,一经推出就在各项测试中碾压竞争对手,而且BERT是开源的。只可惜训练BERT的价格实在太高,让人望而却步。

    量子位
  • 如何在双十一给自己送个“陪聊女友”——基于飞桨&Plato搭建多轮对话模型

    【飞桨开发者说】闫冬阳,PPDE飞桨开发者技术专家,北京交通大学系统科学系在读博士。研究方向是基于复杂网络工具的文本处理方法,同时探索与复杂网络结合的深度学习方...

    用户1386409
  • DevOps中的测试实践

    万物皆可pipeline,流程自动化解放生产力。在DevOps的pipeline中,我们发现测试环节也需要一套流水线化的能力,来保证研发流程的大批pipelin...

    WeTest质量开放平台团队
  • DevOps中的测试实践

    ? 导语   万物皆可pipeline,流程自动化解放生产力。在DevOps的pipeline中,我们发现测试环节也需要一套流水线化的能力,来保证研发流程的...

    WeTest质量开放平台团队
  • SOTA又换庄家!谷歌130亿参数多语言模型mT5重磅来袭,101种语言轻松迁移

    前几天,Facebook发了一个百种语言互译的模型M2M-100,这边谷歌着急了,翻译可是我的老本行啊。

    新智元
  • 机器如何认识文本 ?NLP中的Tokenization方法总结

    大家好,我是kaiyuan。前几天在群里讨论,有同学问到了『基于字粒度和词粒度的BERT,效果哪个好?』 这篇文章我们就来深入聊一聊PLM模型『输入粒度』的问题...

    NewBeeNLP
  • JUnit中用于Selenium测试的中实践

    自动化测试通过允许他们自动化重复性的任务来帮助简化软件测试人员的生活,而开源测试自动化框架(如Selenium)使用户能够大规模自动化Web测试体验。但是,如果...

    FunTester
  • 7模型集成:细粒度用户评论情感分析冠军思路及源码

    在本次比赛中,采用了自己开发的一个训练框架,来统一处理TensorFlow和PyTorch的模型。在模型代码应用方面,主要基于中国香港科技大学开源的RNet和M...

    机器学习AI算法工程
  • AI Challenger 2018:细粒度用户评论情感分类冠军思路总结

    2018年8月-12月,由美团点评、创新工场、搜狗、美图联合主办的“AI Challenger 2018全球AI挑战赛”历经三个多月的激烈角逐,冠军团队从来自全...

    美团技术团队
  • Booking.com的A/B测试实践

    大数据文摘
  • GraphQL测试实践

    我们很熟悉以REST实现的API,可以用任何能够发出http 请求的库或者工具来测试REST API。去年随着GraphQL在全球风靡,它也出现在了最近两期的T...

    ThoughtWorks
  • NLP BERT GPT等模型中 tokenizer 类别说明详解

    在使用GPT BERT模型输入词语常常会先进行tokenize ,tokenize具体目标与粒度是什么呢?tokenize也有许多类别及优缺点,这篇文章总结一下...

    大鹅
  • 最佳实践 | 单元测试+回归测试在SRS代码提交中的实践总结

    ? 为了解决SRS WebRTC推流, 转RTMP后音视频时间戳不同步, 导致的后续HLS切片,FLV/RTMP播放音画不同步等问题,我提交了一个PR:htt...

    腾讯云音视频
  • 论文实践学习 - Faster R-CNN 测试

    Faster R-CNN 的 caffe-fast-rcnn 版本没有更新,导致新版的 cudnn 不能使用,Makefile.config 添加 cudnn:...

    AIHGF
  • 精准测试实践

    前段时间接到了一个输入法开关下发的功能,通过精准测试的理念,在测试效率和测试覆盖度上提升较大,在这里分享一下测试过程:

    用户5521279
  • Github项目推荐 | awesome-bert:BERT相关资源大列表

    https://ai.yanxishe.com/page/blogDetail/10050?from=wx

    AI研习社
  • Docker在自动化测试中的实践应用

    Docker作为一个开源的应用容器引擎,设计思想来自于集装箱,集装箱解决了什么问题?在一艘大船上,可以把货物规整的摆放起来。并且各种各样的货物被集装箱标准化了,...

    ITester软件测试小栈
  • K8S 在有赞 PaaS 测试环境中的实践

    有赞 PaaS 团队自17年7月份开始投入测试资源,测试人员的加入意味着与测试相关的一系列东西产生,比如测试环境、测试工程、测试流程等等,这次分享的内容主要与测...

    有赞coder

扫码关注云+社区

领取腾讯云代金券