史丹佛NLP團隊釋出最新自然語言處理Python庫
https://blog.csdn.net/weixin_42137700/article/details/86777031
史丹佛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
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29829936/viewspace-2600342/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 自然語言處理NLP(四)自然語言處理
- 自然語言處理(NLP)概述自然語言處理
- 史丹佛自然語言處理習題課1——緒論自然語言處理
- 自然語言處理(NLP)系列(一)——自然語言理解(NLU)自然語言處理
- 自然語言處理(NLP)簡介 | NLP課程自然語言處理
- Python自然語言處理實戰(1):NLP基礎Python自然語言處理
- 自然語言處理NLP快速入門自然語言處理
- Pytorch系列:(六)自然語言處理NLPPyTorch自然語言處理
- 自然語言處理歷史史詩:NLP的正規化演變與Python全實現自然語言處理Python
- 2023nlp影片教程大全 NLP自然語言處理教程 自然語言處理NLP從入門到專案實戰自然語言處理
- 自然語言處理NLP(6)——詞法分析自然語言處理詞法分析
- 自然語言處理(NLP)路線圖 - kdnuggets自然語言處理
- 史丹佛自然語言處理習題課2---softmax函式詳解自然語言處理函式
- 中文和英文NLP自然語言處理異同點分析自然語言處理
- NLP自然語言處理中的hanlp分詞例項自然語言處理HanLP分詞
- 如何將Python自然語言處理速度提升100倍:用spaCy/Cython加速NLPPython自然語言處理
- NLP神經語言學的12條假設(不是自然語言處理哪個NLP哈)自然語言處理
- 《NLP漢語自然語言處理原理與實踐》學習四自然語言處理
- 精通Python自然語言處理 2 :統計語言建模Python自然語言處理
- 「NLP」一文彙總自然語言處理主要研究方向自然語言處理
- 精通Python自然語言處理 1 :字串操作Python自然語言處理字串
- 自然語言(NLP)發展史及相關體系
- 自然語言處理(NLP)- 一個英文拼寫糾錯系統自然語言處理
- 自然語言處理NLP(8)——句法分析b:完全句法分析自然語言處理
- Pytext 簡介——Facebook 基於 PyTorch 的自然語言處理 (NLP) 框架PyTorch自然語言處理框架
- HanLP 自然語言處理 for nodejsHanLP自然語言處理NodeJS
- 精通Python自然語言處理 3 :形態學Python自然語言處理
- hanlp自然語言處理包的基本使用--pythonHanLP自然語言處理Python
- 《Python自然語言處理實戰》連結表Python自然語言處理
- 自然語言處理 NLP 基本概念大全,讓非技術也能看懂 NLP自然語言處理
- 自然語言處理NLP(7)——句法分析a:Chomsky(喬姆斯基)形式文法自然語言處理
- Python自然語言處理工具Python自然語言處理
- NLP漢語自然語言處理入門基礎知識自然語言處理
- 如何用Python處理自然語言?(Spacy與Word Embedding)Python
- [譯] 自然語言處理真是有趣!自然語言處理
- 自然語言處理:分詞方法自然語言處理分詞
- NLP 與 NLU:從語言理解到語言處理
- 什麼是NLP,NLP主要有什麼用,為什麼要學自然語言處理?自然語言處理