號(hào)稱世界最快句法分析器,Python高級(jí)自然語言處理庫spaCy!
spaCy是Python和Cython中的高級(jí)自然語言處理庫,它建立在***的研究基礎(chǔ)之上,從一開始就設(shè)計(jì)用于實(shí)際產(chǎn)品。spaCy帶有預(yù)先訓(xùn)練的統(tǒng)計(jì)模型和單詞向量,目前支持20多種語言的標(biāo)記。它具有世界上速度最快的句法分析器,用于標(biāo)簽的卷積神經(jīng)網(wǎng)絡(luò)模型,解析和命名實(shí)體識(shí)別以及與深度學(xué)習(xí)整合。它是在MIT許可下發(fā)布的商業(yè)開源軟件。
spaCy項(xiàng)目由@honnibal和@ines維護(hù),雖然無法通過電子郵件提供個(gè)人支持。但開源者相信,如果公開分享,會(huì)讓幫助更有價(jià)值,可以讓更多人從中受益。(Github官方地址:https://github.com/explosion/spaCy#spacy-industrial-strength-nlp)
spaCy的特征:
-
世界上最快的句法分析器
-
實(shí)體命名識(shí)別
-
非破壞性標(biāo)記
-
支持20多種語言
-
預(yù)先訓(xùn)練的統(tǒng)計(jì)模型和單詞向量
-
易于深度學(xué)習(xí)模型的整合
-
一部分語音標(biāo)記
-
標(biāo)簽依賴分析
-
語法驅(qū)動(dòng)的句子分割
-
可視化構(gòu)建語法和NER
-
字符串到哈希映射更便捷
-
導(dǎo)出numpy數(shù)據(jù)數(shù)組
-
有效的二進(jìn)制序列化
-
易于模型打包和部署
-
最快的速度
-
強(qiáng)烈嚴(yán)格的評(píng)估準(zhǔn)確性
安裝spaCy
pip
使用pip,spaCy版本目前僅作為源包提供。
-
pip install spacy
在使用pip時(shí),通常建議在虛擬環(huán)境中安裝軟件包以避免修改系統(tǒng)狀態(tài):
-
venv .envsource .env/bin/activate
-
pip install spacy
conda
通過社區(qū)開發(fā)者的努力,終于重新添加了conda支持?,F(xiàn)在可以通過conda-forge安裝spaCy:
-
conda config --add channels conda-forge
-
conda install spacy
更新spaCy
spaCy的一些更新可能需要下載新的統(tǒng)計(jì)模型,如果正在運(yùn)行spaCy v2.0或更高版本,則可以使用validate命令來檢查安裝的模型是否兼容,如果不兼容,請(qǐng)打印有關(guān)如何更新的詳細(xì)信息:
-
pip install -U spacy
-
spacy validate
如果已經(jīng)訓(xùn)練了自己的模型,請(qǐng)記住,訓(xùn)練和運(yùn)行時(shí)的輸入必須匹配。在更新spaCy之后,建議用新版本重新訓(xùn)練模型。
下載模型
從v1.7.0開始,spaCy的模型可以作為Python包安裝。這意味著它們是應(yīng)用程序的組件,就像任何其他模塊一樣。 可以使用spaCy的下載命令來安裝模型,也可以通過將pip指向路徑或URL來手動(dòng)安裝模型。
加載和使用模型
要加載模型,請(qǐng)?jiān)谀P偷目旖萱溄又惺褂胹pacy.load():
如果已經(jīng)通過pip安裝了一個(gè)模型,也可以直接導(dǎo)入它,然后調(diào)用它的load()方法:
支持舊版本
如果使用的是舊版本(v1.6.0或更低版本),則仍然可以使用python -m spacy.en.download all或python -m spacy.de.download all從spaCy下載并安裝舊模型。.tar.gz存檔也附加到v1.6.0版本,要手動(dòng)下載并安裝模型,請(qǐng)解壓存檔,將包含的目錄放入spacy / data,并通過spacy.load('en')或spacy.load('de')加載模型。
從源代碼編譯
另一種安裝spaCy的方法是克隆它的GitHub倉庫,并從源代碼構(gòu)建它。 如果要更改代碼庫,常見方法是需要確保你有一個(gè)由包含頭文件,編譯器,pip,virtualenv和git的Python發(fā)行版組成的開發(fā)環(huán)境。編譯器部分是最棘手的。,如何做到這一點(diǎn)取決于你的系統(tǒng)。有關(guān)詳細(xì)信息,請(qǐng)參閱Ubuntu,OS X和Windows上的說明。
與通過pip進(jìn)行常規(guī)安裝相比,requirements.txt會(huì)額外安裝Cython等開發(fā)人員依賴項(xiàng)。 有關(guān)更多詳細(xì)信息和說明,請(qǐng)參閱有關(guān)從源代碼編譯spaCy和快速啟動(dòng)小部件的文檔,以獲取適用于您平臺(tái)和Python版本的正確命令,而不是上面的詳細(xì)命令,你也可以使用下面的結(jié)構(gòu)命令,所有命令都假定虛擬環(huán)境位于一個(gè)目錄.env中。如果使用的是其他目錄,則可以通過環(huán)境變量VENV_DIR進(jìn)行更改,例如VENV_DIR =“。custom-env”fab clean make。
Ubuntu
通過apt-get安裝系統(tǒng)級(jí)依賴關(guān)系:
-
sudo apt-get install build-essential python-dev git
macOS / OS X
安裝***版本的XCode,包括所謂的“命令行工具”。 macOS和OS X預(yù)裝了Python和git。
Windows
安裝與用于編譯Python解釋器的版本相匹配的Visual Studio Express或更高版本。官方發(fā)行版是VS 2008(Python 2.7),VS 2010(Python 3.4)和VS 2015(Python 3.5)。
運(yùn)行測(cè)試
spaCy帶有一個(gè)廣泛的測(cè)試套件。 首先,找出spaCy的安裝位置:
-
python -c "import os; import spacy; print(os.path.dirname(spacy.__file__))"
然后在該目錄下運(yùn)行。The flags--vectors,--slow 和--model是可選的,并啟用額外的測(cè)試:
-
#make sure you are using recent pytest version
-
python -m pip install -U pytest
-
python -m pytest <