新聞中心
如何使用NLP庫解析python中的文本
譯文 精選
作者: 陳峻 2022-11-08 11:49:09
云計(jì)算
云原生 針對在Python中解析文本的需求,本文介紹了使用Google Colab的強(qiáng)大云服務(wù)功能,使用Transformer庫去完成繁重的任務(wù),以及選用各種在線解析工具的各種模式。

讓客戶滿意是我們工作的目標(biāo),不斷超越客戶的期望值來自于我們對這個(gè)行業(yè)的熱愛。我們立志把好的技術(shù)通過有效、簡單的方式提供給客戶,將通過不懈努力成為客戶在信息化領(lǐng)域值得信任、有價(jià)值的長期合作伙伴,公司提供的服務(wù)項(xiàng)目有:申請域名、雅安服務(wù)器托管、營銷軟件、網(wǎng)站建設(shè)、旬陽網(wǎng)站維護(hù)、網(wǎng)站推廣。
譯者 | 陳峻
審校 | 孫淑娟
Python是一種強(qiáng)大的面向?qū)ο蟮木幊蹋╫bject-oriented programming,OOP)語言,在人工智能領(lǐng)域有著廣泛的用途。正是鑒于其實(shí)用性,以Google為首的大型科技公司,已經(jīng)對其開發(fā)了Tensorflow等代碼庫,幫助人們利用強(qiáng)大的機(jī)器學(xué)習(xí)算法與模型,來實(shí)現(xiàn)各種應(yīng)用目的,其中不乏各種“手語”解析器、摩托車頭盔檢測器、以及各種物品識(shí)別器。
而NLP(natural language processing,自然語言處理)是所有與理解和操縱自然語言相關(guān)的人工智能活動(dòng)的總稱。在Python中,就有一種被稱為Transformers的機(jī)器學(xué)習(xí)模型,可被用于獲取文本,并將文本分解為不同的組件,進(jìn)而識(shí)別出其中的重要部分。接下來,我們就來討論一下作為深度學(xué)習(xí)模型的Transformer,是如何解析文本的。
一、如何使用Transformer庫在Python中解析文本?
在開始之前,先需要擁有一個(gè)Google帳戶。為了省去在自己的計(jì)算機(jī)上安裝Python、其依賴項(xiàng)、以及IDE(integrated development environment,集成開發(fā)環(huán)境)的麻煩,我們使用免費(fèi)的云服務(wù)環(huán)境-Google Colab筆記本,以便與不同的人使用Python進(jìn)行協(xié)作。同時(shí),由于AI代碼庫本身體量較大,并且具有較多的依賴項(xiàng),因此云端環(huán)境的使用,可以有效地節(jié)省它們對于硬盤空間的占用。
1.安裝所需的庫
首先,我們需要安裝如下四個(gè)代碼庫。打開Colab筆記本,并在第一個(gè)代碼單元格中輸入以下內(nèi)容:
!pip install transformers
!pip install torch
!pip install sentencepiece
!pip install newspaper3k
在繼續(xù)之前,讓我們稍微了解一下這些命令。如你所知:
- “Transformers”是可被用于解析文本的深度學(xué)習(xí)模型。
- “Torch”提供了深度學(xué)習(xí)的算法。
- “Sentencepeice”可被用于“標(biāo)記化”(組件分解)文本。
- “Newspaper3k”是一個(gè)網(wǎng)絡(luò)抓取庫,可用于從互聯(lián)網(wǎng)導(dǎo)入文章(文字內(nèi)容)。
此時(shí),你的屏幕會(huì)顯示如下內(nèi)容:
2.導(dǎo)入文章
為了導(dǎo)入文章,你必須提供其對應(yīng)的URL。接著,你需要輸入如下命令,來下載并解析文章,以便我們稍后對其進(jìn)行進(jìn)一步的標(biāo)記。
在完成后,我們將進(jìn)入第3步。
3.標(biāo)記文章
我們需要從轉(zhuǎn)換庫中,導(dǎo)入自動(dòng)分詞器,然后使用T5模型(T5是一種機(jī)器學(xué)習(xí)模型),可用于文本到文本(text-to-text)的轉(zhuǎn)換(在此我們可用于解析),進(jìn)而生成解析的文本。下圖展示了需要為此效果輸入的代碼。
4.解析文章
為了解析這篇文章,你需要?jiǎng)?chuàng)建一個(gè)特定的函數(shù)。此函數(shù)能夠接受已標(biāo)記的文章,并且單獨(dú)解析每個(gè)句子。然后,在輸出之前,它會(huì)將各個(gè)句子重新連接到一起。
下圖展示了已解析文本的輸出:
你可以手動(dòng)將其復(fù)制到文本文件中,以增強(qiáng)可讀性。
這便是使用NLP庫解析Python中文本的一種方式。不過,這是一種相當(dāng)復(fù)雜且繁瑣的方式,尤其是對于那些不熟悉AI和Python的人來說,更是如此。此時(shí),你一定會(huì)想到,是否有一些在線解析工具,來達(dá)到該目的呢?
二、可用于在線解析的免費(fèi)工具
1.Prepostseo
Prepostseo提供了可用于各種目的且非常實(shí)用的解析工具。由于可以被免費(fèi)使用,因此你無需注冊任何類型的帳戶,即可流暢地開始使用它。
使用該工具時(shí),你可以免費(fèi)地采用如下三種模式:
- 簡單模式
- 高級模式
- 流暢模式
其中,在簡單模式下,該工具只會(huì)進(jìn)行一些簡單的同義化,即:多個(gè)詞會(huì)被一些同義詞所代替。
而高級模式改變的不僅僅是單詞和解析的結(jié)果。如果你不喜歡其默認(rèn)給出的結(jié)果,則可以查看它的可修改之處,并用其他的同義詞替換它。
流利模式不僅會(huì)改變單詞,而且會(huì)改變短語、句子結(jié)構(gòu)、以及語氣。但是,它并不提供編輯輸出的選項(xiàng)。
可見,流暢模式和高級模式是更為有效的模式。若想導(dǎo)入定制的內(nèi)容,你可以上傳待解析的文檔,或者直接將文本復(fù)制粘貼到輸入字段中,并在解析過程完成后,再下載其輸出。
該工具的唯一缺點(diǎn)是會(huì)有廣告在其網(wǎng)頁上。
2.Linguix
Linguix是另一個(gè)無需注冊即可使用的免費(fèi)解析器。由于其網(wǎng)頁上并沒有任何廣告,因此它對于用戶來說十分友好。
雖然Linguix沒能提供多種模式,但是當(dāng)你在解析一個(gè)句子時(shí),會(huì)得到多個(gè)建議,而非僅僅一條。鑒于所有建議都有可能對給定的文本產(chǎn)生不同更改,你可以選擇其中最適合的一個(gè)。
該工具的操作方法比較簡單,你只需要在輸入框中寫入待解析的文本,然后以突出顯示的方式選擇它,便可逐句獲得相應(yīng)的彈出建議。
該工具的唯一缺點(diǎn)是:你一次只能解析五個(gè)句子。
3.Paraphraser
Paraphraser.io也是一個(gè)擁有許多內(nèi)容優(yōu)化工具的在線工具包。顧名思義,它主要針對的是解析領(lǐng)域。
該工具同樣無需注冊便可被免費(fèi)使用。不過,與前面提到的Prepostseo類似,你在使用過程中,也可能會(huì)被其廣告所困擾。目前,它提供了兩種免費(fèi)模式:標(biāo)準(zhǔn)模式和流暢模式。其中,標(biāo)準(zhǔn)模式只會(huì)使用同義詞去替換部分單詞,并保持整體句子的結(jié)構(gòu)不變。而流利模式除了會(huì)替換單詞和短語,還會(huì)改變句子的結(jié)構(gòu),進(jìn)而讓文本更具有可讀性。
除了廣告,該工具的另一個(gè)缺點(diǎn)是:你一次性最多只能解析500個(gè)單詞。
三、小結(jié)
綜上所述,在使用NLP庫解析Python中的文本時(shí),我們完全可以利用人工智能和深度學(xué)習(xí)的各種模型,來實(shí)現(xiàn)轉(zhuǎn)換。你既可以使用Google Colab的強(qiáng)大云服務(wù)功能,使用Transformer庫來完成此類繁重的任務(wù);又可以選用各種在線解析工具的各種模式,以不同的方式重寫文本。而且,此類工具大多是免費(fèi)且無需注冊。
名稱欄目:如何使用NLP庫解析Python中的文本
文章轉(zhuǎn)載:http://m.fisionsoft.com.cn/article/djdhdjj.html


咨詢
建站咨詢
