自然语言处理python库_斯坦福NLP团队发布最新自然语言处理Python库

斯坦福NLP团队,于1月29日发布了新版的自然语言处理Python库:StandfordNLP,不同于以前java系的CoreNLP, 这次的项目是一个全新Python库,内部基于PyTorch 1.0。小编刚刷完文档,个人觉得,这是目前最值得学习的自然语言处理算法库了!现在分享给大家。

版本特性

新版的StandfordNLP包含以下特性:

纯python库,没有什么设置项,pip install后直接可用

拥有自然语言处理所需的几乎所有方法

包含预训练模型,支持73个树库中的53种语言

与斯坦福CoreNLP无缝联动

斯坦福NLP团队出品,质量有保证

安装

pip install stanfordnlp

使用

>>> import stanfordnlp

>>> stanfordnlp.download('en') # 这会下载英语的神经网络模型

>>> nlp = stanfordnlp.Pipeline() # 获取一个默认的英语语言处理流程

>>> doc = nlp("Barack Obama was born in Hawaii. He was elected president in 2008.")

>>> doc.sentences[0].print_dependencies()

('Barack', '4', 'nsubj:pass')

('Obama', '1', 'flat')

('was', '4', 'aux:pass')

('born', '0', 'root')

('in', '6', 'case')

('Hawaii', '4', 'obl')

('.', '4', 'punct')

中文demo

>>> import stanfordnlp

>>> stanfordnlp.download('zh') # 下载中文模型

>>> nlp = stanfordnlp.Pipeline(lang='zh') # 中文语言处理流程

>>> doc = nlp("達沃斯世界經濟論壇是每年全球政商界領袖聚在一起的年度盛事。")

>>> doc.sentences[0].print_tokens() # 打印token

達沃斯 達沃斯 PROPN

世界 世界 NOUN

經濟 經濟 NOUN

論壇 論壇 NOUN

是 是 AUX

每年 每年 DET

全球 全球 NOUN

政 政 PART

商界 商界 NOUN

領袖 領袖 NOUN

聚 聚 VERB

在 在 VERB

一起 一起 NOUN

的 的 PART

年度 年度 NOUN

盛事 盛事 NOUN

。 。 PUNCT

>>> doc.sentences[0].print_dependencies() # 打印依存分析树

('達沃斯', '4', 'nmod')

('世界', '4', 'nmod')

('經濟', '4', 'nmod')

('論壇', '16', 'nsubj')

('是', '16', 'cop')

('每年', '10', 'nmod')

('全球', '10', 'nmod')

('政', '9', 'case:pref')

('商界', '10', 'nmod')

('領袖', '11', 'nsubj')

('聚', '16', 'acl:relcl')

('在', '11', 'mark')

('一起', '11', 'obj')

('的', '11', 'mark:relcl')

('年度', '16', 'nmod')

('盛事', '0', 'root')

('。', '16', 'punct')

Pipeline的配置

在StandfordNLP里,Pipline配置了StandfordNLP怎么处理数据,比如英文的默认是Token,Lemma等,而中文的是分词,Token等。完整的Pipline配置见下图:

import stanfordnlpconfig = {

'processors': 'tokenize,mwt,pos,lemma,depparse', # 配置调用该Pipline需要用到的模型,

lang': 'fr', # 配置该Pipline所处理的目标语言

# 配置用到的模型,及其模型路径,注意,这里的模型都是PyTorch的

# 你也可以自己训练自己的模型

'tokenize_model_path': './fr_gsd_models/fr_gsd_tokenizer.pt',

'mwt_model_path': './fr_gsd_models/fr_gsd_mwt_expander.pt',

'pos_model_path': './fr_gsd_models/fr_gsd_tagger.pt',

'pos_pretrain_path': './fr_gsd_models/fr_gsd.pretrain.pt',

'lemma_model_path': './fr_gsd_models/fr_gsd_lemmatizer.pt',

'depparse_model_path': './fr_gsd_models/fr_gsd_parser.pt',

'depparse_pretrain_path': './fr_gsd_models/fr_gsd.pretrain.pt'

}

nlp = stanfordnlp.Pipeline(**config) # 根据配置初始化Pipline

doc = nlp("Van Gogh grandit au sein d'une famille de l'ancienne bourgeoisie.") # 将Pipline运用到句子上

doc.sentences[0].print_tokens() # 查看结果

更多信息,请访问该库的github地址:

https://github.com/stanfordnlp/stanfordnlp

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值