0
雷鋒網(wǎng) AI 科技評(píng)論按,近日,斯坦福大學(xué)發(fā)布了一款用于 NLP 的 Python 官方庫(kù),這個(gè)庫(kù)可以適用于多種語(yǔ)言,其地址是:https://stanfordnlp.github.io/stanfordnlp/,github 資源如下:
這是 Stanford 官方發(fā)布的 NLP 庫(kù),詳細(xì)信息請(qǐng)?jiān)L問(wèn):https://stanfordnlp.github.io/stanfordnlp/
說(shuō)明
如果在研究中使用了他們的神經(jīng)管道,可以參考他們的 CoNLL 2018 共享任務(wù)系統(tǒng)描述文件:
@inproceedings{qi2018universal,
address = {Brussels, Belgium},
author = {Qi, Peng and Dozat, Timothy and Zhang, Yuhao and Manning, Christopher D.},
booktitle = {Proceedings of the {CoNLL} 2018 Shared Task: Multilingual Parsing from Raw Text to Universal Dependencies},
month = {October},
pages = {160--170},
publisher = {Association for Computational Linguistics},
title = {Universal Dependency Parsing from Scratch},
url = {https://nlp.stanford.edu/pubs/qi2018universal.pdf},
year = {2018}
}
但是,這個(gè)版本和 Stanford 大學(xué)的 CoNLL 2018 共享任務(wù)系統(tǒng)不一樣。在這里,標(biāo)記解析器、詞性還原器、形態(tài)學(xué)特性和多詞術(shù)語(yǔ)系統(tǒng)是共享任務(wù)代碼系統(tǒng)的一個(gè)簡(jiǎn)潔版本,但是作為對(duì)比,還使用了 Tim Dozat 的 Tensorflow 版本的標(biāo)記器和解析器。PyTorch 中大體上對(duì)這個(gè)版本的代碼進(jìn)行了復(fù)制,盡管與原始版本有一些不同。雷鋒網(wǎng)
啟動(dòng)
StanfordNLP 支持 Python3.6 及其以上版本。最好的辦法是從 PyPI 安裝 StanfordNLP,如果已經(jīng)安裝了 pip,那么只需要運(yùn)行:
pip install stanfordnlp
這也有助于解決 StanfordNLP 的所有依賴(lài),例如對(duì) PyTorch 1.0.0 或者更高版本的依賴(lài)。
還有一個(gè)辦法,是從 github 存儲(chǔ)庫(kù)的源代碼安裝,這可以使基于 StanfordNLP 的開(kāi)發(fā)和模型訓(xùn)練具有更大的靈活性。雷鋒網(wǎng)
git clone git@github.com:stanfordnlp/stanfordnlp.git
cd stanfordnlp
pip install -e .
運(yùn)行 StanfordNLP
從神經(jīng)管道開(kāi)始
要運(yùn)行第一個(gè) StanfordNLP 管道,只需在 python 交互式解釋器中執(zhí)行以下步驟:
>>> import stanfordnlp
>>> stanfordnlp.download('en') # This downloads the English models for the neural pipeline
>>> nlp = stanfordnlp.Pipeline() # This sets up a default neural pipeline in English
>>> doc = nlp("Barack Obama was born in Hawaii. He was elected president in 2008.")
>>> doc.sentences[0].print_dependencies()
最后一個(gè)命令將打印輸入字符串(或文檔,如 StanfordNLP 所示)中第一個(gè)句子中的單詞,以及該句子中單詞的索引,以及單詞之間的依賴(lài)關(guān)系。輸出應(yīng)如下所示:
('Barack', '4', 'nsubj:pass')
('Obama', '1', 'flat')
('was', '4', 'aux:pass')
('born', '0', 'root')
('in', '6', 'case')
('Hawaii', '4', 'obl')
('.', '4', 'punct')
訪問(wèn) Java Stanford CoreNLP 服務(wù)器
除了神經(jīng)管道之外,這個(gè)項(xiàng)目還包括一個(gè)用 Python 代碼訪問(wèn) Java Stanford CaleNLP 服務(wù)器的官方類(lèi)。
有幾個(gè)初始設(shè)置步驟:
下載 Stanford CoreNLP 和需要使用的語(yǔ)言的模型;
將模型原型放在分發(fā)文件夾中;
告訴 python 代碼 Stanford CoreNLP 的位置:export corenlp_home=/path/to/stanford-corenlp-full-2018-10-05
我們提供了另一個(gè)演示腳本,演示如何使用 corenlp 客戶(hù)機(jī)并從中提取各種注釋。
神經(jīng)管道訓(xùn)練模型
目前,CoNLL 2018 共享任務(wù)中的所有 treebanks 模型都是公開(kāi)的,下載和使用這些模型的說(shuō)明:https://stanfordnlp.github.io/stanfordnlp/installation_download.html#models-for-human-languages
訓(xùn)練你自己的神經(jīng)管道
這個(gè)庫(kù)中的所有神經(jīng)模塊都可以使用自己的 CoNLL-U 格式數(shù)據(jù)進(jìn)行訓(xùn)練。目前,并不支持通過(guò)管道接口進(jìn)行模型訓(xùn)練。因此,如果要訓(xùn)練你自己的模型,你需要克隆這個(gè) git 存儲(chǔ)庫(kù)并從源代碼進(jìn)行設(shè)置。
via:https://github.com/stanfordnlp/stanfordnlp
雷峰網(wǎng)版權(quán)文章,未經(jīng)授權(quán)禁止轉(zhuǎn)載。詳情見(jiàn)轉(zhuǎn)載須知。