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