PythonStandfordNLP库怎么用
这篇文章主要讲解了“Python StandfordNLP库怎么用”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Python StandfordNLP库怎么用”吧!
专注于为中小企业提供做网站、成都做网站服务,电脑端+手机端+微信端的三站合一,更高效的管理,为中小企业陕西免费做网站提供优质的服务。我们立足成都,凝聚了一批互联网行业人才,有力地推动了数千家企业的稳健成长,帮助中小企业通过网站建设实现规模扩充和转变。
版本特性
新版的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() # 查看结果
感谢各位的阅读,以上就是“Python StandfordNLP库怎么用”的内容了,经过本文的学习后,相信大家对Python StandfordNLP库怎么用这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是创新互联,小编将为大家推送更多相关知识点的文章,欢迎关注!
当前名称:PythonStandfordNLP库怎么用
文章来源:http://azwzsj.com/article/jippij.html