這篇文章主要講解了“Python StandfordNLP庫怎么用”,文中的講解內(nèi)容簡單清晰,易于學(xué)習(xí)與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學(xué)習(xí)“Python StandfordNLP庫怎么用”吧!
專注于為中小企業(yè)提供做網(wǎng)站、成都做網(wǎng)站服務(wù),電腦端+手機(jī)端+微信端的三站合一,更高效的管理,為中小企業(yè)陜西免費(fèi)做網(wǎng)站提供優(yōu)質(zhì)的服務(wù)。我們立足成都,凝聚了一批互聯(lián)網(wǎng)行業(yè)人才,有力地推動了數(shù)千家企業(yè)的穩(wěn)健成長,幫助中小企業(yè)通過網(wǎng)站建設(shè)實現(xiàn)規(guī)模擴(kuò)充和轉(zhuǎn)變。
新版的StandfordNLP包含以下特性:
純python庫,沒有什么設(shè)置項,pip install后直接可用
擁有自然語言處理所需的幾乎所有方法
包含預(yù)訓(xùn)練模型,支持73個樹庫中的53種語言
與斯坦福CoreNLP無縫聯(lián)動
斯坦福NLP團(tuán)隊出品,質(zhì)量有保證
pip install stanfordnlp
>>> import stanfordnlp >>> stanfordnlp.download('en') # 這會下載英語的神經(jīng)網(wǎng)絡(luò)模型 >>> nlp = stanfordnlp.Pipeline() # 獲取一個默認(rèn)的英語語言處理流程 >>> 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')
>>> import stanfordnlp >>> stanfordnlp.download('zh') # 下載中文模型 >>> nlp = stanfordnlp.Pipeline(lang='zh') # 中文語言處理流程 >>> doc = nlp("達(dá)沃斯世界經(jīng)濟(jì)論壇是每年全球政商界領(lǐng)袖聚在一起的年度盛事。") >>> doc.sentences[0].print_tokens() # 打印token 達(dá)沃斯 達(dá)沃斯 PROPN 世界 世界 NOUN 經(jīng)濟(jì) 經(jīng)濟(jì) NOUN 論壇 論壇 NOUN 是 是 AUX 每年 每年 DET 全球 全球 NOUN 政 政 PART 商界 商界 NOUN 領(lǐng)袖 領(lǐng)袖 NOUN 聚 聚 VERB 在 在 VERB 一起 一起 NOUN 的 的 PART 年度 年度 NOUN 盛事 盛事 NOUN 。 。 PUNCT >>> doc.sentences[0].print_dependencies() # 打印依存分析樹 ('達(dá)沃斯', '4', 'nmod') ('世界', '4', 'nmod') ('經(jīng)濟(jì)', '4', 'nmod') ('論壇', '16', 'nsubj') ('是', '16', 'cop') ('每年', '10', 'nmod') ('全球', '10', 'nmod') ('政', '9', 'case:pref') ('商界', '10', 'nmod') ('領(lǐng)袖', '11', 'nsubj') ('聚', '16', 'acl:relcl') ('在', '11', 'mark') ('一起', '11', 'obj') ('的', '11', 'mark:relcl') ('年度', '16', 'nmod') ('盛事', '0', 'root') ('。', '16', 'punct')
在StandfordNLP里,Pipline配置了StandfordNLP怎么處理數(shù)據(jù),比如英文的默認(rèn)是Token,Lemma等,而中文的是分詞,Token等。完整的Pipline配置見下圖:
import stanfordnlpconfig = { 'processors': 'tokenize,mwt,pos,lemma,depparse', # 配置調(diào)用該P(yáng)ipline需要用到的模型, lang': 'fr', # 配置該P(yáng)ipline所處理的目標(biāo)語言 # 配置用到的模型,及其模型路徑,注意,這里的模型都是PyTorch的 # 你也可以自己訓(xùn)練自己的模型 '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) # 根據(jù)配置初始化Pipline doc = nlp("Van Gogh grandit au sein d'une famille de l'ancienne bourgeoisie.") # 將Pipline運(yùn)用到句子上 doc.sentences[0].print_tokens() # 查看結(jié)果
感謝各位的閱讀,以上就是“Python StandfordNLP庫怎么用”的內(nèi)容了,經(jīng)過本文的學(xué)習(xí)后,相信大家對Python StandfordNLP庫怎么用這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是創(chuàng)新互聯(lián),小編將為大家推送更多相關(guān)知識點的文章,歡迎關(guān)注!