【Pytorch神经网络理论篇】 37 常用文本处理工具:spaCy库+torchtext库
在NLP的發(fā)展過程中,人們也開發(fā)了很多非常實用的工具,這些工具可以幫助開發(fā)人員快速地實現(xiàn)自然語言相關(guān)的基礎(chǔ)處理,從而可以更好地將精力用在高層次的語義分析任務(wù)中下面詳細介紹該領(lǐng)域中比較優(yōu)秀的工具。
1 spaCy庫
1.1 簡介
spacy是一個具有工業(yè)級強度的PythonNLP工具包,它可以用來對文本進行斷詞、短句、詞干化、標注詞性、命名實體識別、名詞短語提取、基于詞向量計算詞間相似度等處理。
spaCy庫里大量使用了Cython來提高相關(guān)模塊的性能,因此在業(yè)界應(yīng)用中很有實際價值。
1.2 安裝
1.2.1 安裝spacy本體
pip install spacy# 查看安裝的spacy版本python -m spacy info# 顯示 Location /usr/local/lib/python3.5/dist-packages/spacy Platform Linux-4.15.0-45-generic-x86_64-with-Ubuntu-16.04-xenial Installed models en_core_web_md, en Python version 3.5.2 spaCy version 1.8.01.2.2 安裝語言包(en)
注意下載與自己spacy對應(yīng)版本的en_core_web_sm:
https://github.com/explosion/spacy-models/tags
https://github.com/explosion/spacy-models/releases/download/en_core_web_sm-3.2.0/en_core_web_sm-3.2.0.tar.gz
1.2.3 安裝?en_core_web_sm-3.2.0.tar.gz
pip install en_core_web_sm-3.2.0.tar.gz # en_core_web_xx,xx代表模型大小{sm:小型,md:中型…}1.2.4 增加軟連接
python -m spacy download en1.2.5 成功
2?與PyTorch深度結(jié)合的文本處理庫torchtext
🚀torchtext是一個用于文本預(yù)處理的庫,使用起來也十分簡便。
這是torchtext的github鏈接:https://github.com/pytorch/text
2.1?torchtext庫簡介
torchtext是一個可以與PyTorch深度結(jié)合的文本處理庫。它可以方便地對文本進行預(yù)處理,如截斷補齊、構(gòu)建詞表等。
torchtext對數(shù)據(jù)的處理主要包Field、Dataset和迭代器這3部分。
2.1.1 ?Field
指定要如何處理某個字段,比如指定分詞方法,是否轉(zhuǎn)成小寫,起始字符,結(jié)束字符,補全字符以及詞典等。
2.1.2 ?Dataset
用于加載數(shù)據(jù),torchtext的Dataset是繼承自pytorch的Dataset,提供了一個可以下載壓縮數(shù)據(jù)并解壓的方法(支持.zip, .gz, .tgz)。splits方法可以同時讀取訓練集,驗證集,測試集。TabularDataset可以很方便的讀取CSV, TSV, or JSON格式的文件
2.1.3??迭代器
迭代器:返回模型所需要的、處理后的數(shù)據(jù),主要分為Iterator、Bucketlerator、BPTTIterator這3種。
迭代器的3種類型具體如下。 iterator:標準迭代器。Bucketlerator:相比于標準迭代器,會將類似長度的樣本當作一批來處理。因為在文本處理中經(jīng)常需要將每一批樣本長度補齊為當前批中最長序列的長度,所以當樣本長度差別較大時,使用Bucketlerator可以提高填充效率。除此之外,我們還可以在Field中通過fx_length參數(shù)來對樣本進行截斷補齊操作。BPTTIterator :基于時間的反向傳播(Back-Prepagation Through Time,BPTT)算法的迭代器,一般用于語言模型中。2.2?torchtext庫及其內(nèi)置數(shù)據(jù)集與調(diào)用庫的安裝
為了方便文本處理,torchtext庫又內(nèi)置了一些常用的文本數(shù)據(jù)集,并集成了一些常用的其他文本處理庫。在使用時,可以利用torchtext庫中提供的API進行內(nèi)置數(shù)據(jù)集的下載和其他文本處理庫的間接調(diào)用。
2.2.1 安裝torchtext
pip install torchtext==0.9.02.2.2 查看torchtext庫的內(nèi)置數(shù)據(jù)集
安裝好torchtext庫后,可以在如下路徑中查看torchtext庫的內(nèi)置數(shù)據(jù)集:本地Anaconda的虛擬環(huán)境路徑\Lb\site-packages\txt\datasets\__init__.Py2.2.3 安裝torchtext庫的調(diào)用模塊
安裝torchtext庫的調(diào)用模塊在使用torchtext庫的過程中,如果還要間接使用其他的文本處理庫,則需要額外下載并安裝。
2.3?torchtext庫中的內(nèi)置預(yù)訓練詞向量
torchtext庫中內(nèi)置若干個預(yù)訓練詞向量,可以在模型中直接拿來對本地的權(quán)重進行初始化。
創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎勵來咯,堅持創(chuàng)作打卡瓜分現(xiàn)金大獎總結(jié)
以上是生活随笔為你收集整理的【Pytorch神经网络理论篇】 37 常用文本处理工具:spaCy库+torchtext库的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【Pytorch神经网络实战案例】14
- 下一篇: dbcc dbreindex serve