轻量级NLP工具Trankit开源,中文处理更精准,超越斯坦福Stanza,内存占用小45%

梦晨 发自 凹非寺
量子位 报道 | 公众号 QbitAI

最新轻量级多语言NLP工具集Trankit发布1.0版本,来自俄勒冈大学。

基于Transformer,性能已超越之前的热门同类项目斯坦福Stanza

Trankit支持多达56种语言,除了简体和繁体中文以外,还支持文言文

先来看一组Trankit与Stanza对文言文进行依存句法分析的结果。

可以看到,Stanza错误的将“有朋自远方来”中的“有”和“来”两个动词判断成并列关系

在简体中文的词性标注任务上,Trankit对“自从”一词处理也更好。

与Stanza一样,Trankit也是基于Pytorch用原生Python实现,对广大Python用户非常友好。

Trankit在多语言NLP多项任务上的性能超越Stanza。

在英语分词上的得分比Stanza高9.36%。在中文依存句法分析的UAS和LAS指标上分别高出14.50%和15.0%

Trankit在GPU加持下加速更多,且占用内存更小,作为一个轻量级NLP工具集更适合普通人使用。

简单易用

Trankit的使用也非常简单,安装只要pip install就完事了。

pip install trankit

不过需要注意的是,Trankit使用了Tokenizer库,需要先安装Rust。

初始化一个预训练Pipeline:

from trankit import Pipeline

# initialize a multilingual pipeline
p = Pipeline(lang='english', gpu=True, cache_dir='./cache')

开启auto模式,可以自动检测语言:

from trankit import Pipeline

p = Pipeline('auto')

# Tokenizing an English input
en_output = p.tokenize('''I figured I would put it out there anyways.''') 

# POS, Morphological tagging and Dependency parsing a French input
fr_output = p.posdep('''On pourra toujours parler à propos d'Averroès de "décentrement du Sujet".''')

使用自定义标注数据自己训练Pipeline也很方便:

from trankit import TPipeline

tp = TPipeline(training_config={
    'task': 'tokenize',
    'save_dir': './saved_model',
    'train_txt_fpath': './train.txt',
    'train_conllu_fpath': './train.conllu',
    'dev_txt_fpath': './dev.txt',
    'dev_conllu_fpath': './dev.conllu'
    }
)

trainer.train()

统一的多语言Transformer

Trankit将各种语言分别训练的Pipelines整合到一起共享一个多语言预训练Transformer。

然后为每种语言创建了一组适配器(Adapters)作为传统的预训练模型“微调(Fine-tuning)”方法的替代,并对不同的NLP任务设置权重。

在训练中,共享的预训练Transformer是固定的,只有适配器和任务特定权重被更新。

在推理时,根据输入文本的语言和当前的活动组件,寻找相应的适配器和特定任务权重。

这种机制不仅解决了内存问题,还大大缩短了训练时间

Trankit团队在实验中对比了另外两种实现方法。

一种是把所有语言的数据集中到一起训练一个巨大的Pipeline。另一种是使用Trankit的方法但把适配器去掉。

在各项NLP任务中,Trankit这种“即插即用”的适配器方法表现最好。

团队表示,未来计划通过研究不同的预训练Transformer(如mBERT和XLM-Robertalarge)来改进Trankit。

还考虑为更多语言提供实体识别,以及支持更多的NLP任务。

Github仓库:
https://github.com/nlp-uoregon/trankit

在线Demo:
http://nlp.uoregon.edu/trankit

相关论文:
https://arxiv.org/pdf/2101.03289.pdf

本文系网易新闻•网易号特色内容激励计划签约账号【量子位】原创内容,未经账号授权,禁止随意转载。

推荐阅读

最硬的AI计算召唤最强的智,昇腾射出一支产业「穿云箭」

专治“炼丹侠”各种不服:1分钟就能搞个AI应用

竞拍AI教父Hinton

加入AI社群,拓展你的AI行业人脉

量子位「AI社群」招募中!欢迎AI从业者、关注AI行业的小伙伴们扫码加入,与50000+名好友共同关注人工智能行业发展&技术进展

一键三连「分享」、「点赞」和「在看」

科技前沿进展日日相见~

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值