Python StandfordNLP库怎么用

发布时间:2022-01-17 17:25:47 作者:iii
来源:亿速云 阅读:238

这篇文章主要讲解了“Python StandfordNLP库怎么用”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Python StandfordNLP库怎么用”吧!

版本特性

新版的StandfordNLP包含以下特性:


安装

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() # 查看结果

感谢各位的阅读,以上就是“Python StandfordNLP库怎么用”的内容了,经过本文的学习后,相信大家对Python StandfordNLP库怎么用这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是亿速云,小编将为大家推送更多相关知识点的文章,欢迎关注!

推荐阅读:
  1. Python中numpy库怎么用
  2. python中reportgen库怎么用

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

python

上一篇:Django开发与攻防测试是怎样的

下一篇:Java怎么实现创建Zip压缩包并写入文件

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》