您好,登錄后才能下訂單哦!
本篇內容主要講解“python如何實現自然語言處理”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“python如何實現自然語言處理”吧!
自然語言是指人類相互交流的語言,而自然語言處理是將數據以可理解的形式進行預處理,使計算機能夠理解的一種方法。簡單地說,自然語言處理(NLP)是幫助計算機用自己的語言與人類交流的過程。
自然語言處理是最廣泛的研究領域之一。許多大公司在這個領域投資很大。NLP為公司提供了機會,讓他們能夠根據消費者的情緒和文本很好地了解他們。NLP的一些最佳用例是檢測假電子郵件、對假新聞進行分類、情感分析、預測你的下一個單詞、自動更正、聊天機器人、個人助理等等。
解決任何NLP任務前要知道的7個術語
標記:它是將整個文本分割成小標記的過程。占卜是根據句子和單詞兩個基礎來完成的。
text = "Hello there, how are you doing today? The weather is great today. python is awsome"
##sentece tokenize (Separated by sentence)
['Hello there, how are you doing today?', 'The weather is great today.', 'python is awsome']
##word tokenizer (Separated by words)
['Hello', 'there', ',', 'how', 'are', 'you', 'doing', 'today', '?', 'The', 'weather', 'is', 'great', 'today', '.','python', 'is', 'awsome']
停止詞:一般來說,這些詞不會給句子增加太多的意義。在NLP中,我們刪除了所有的停止詞,因為它們對分析數據不重要。英語中總共有179個停止詞。
詞干提取:它是通過去掉后綴和前綴將一個單詞還原為詞根的過程。
詞形還原:它的工作原理與詞干法相同,但關鍵的區別是它返回一個有意義的單詞。主要是開發聊天機器人、問答機器人、文本預測等。
WordNet:它是英語語言名詞、動詞、形容詞和副詞的詞匯數據庫或詞典,這些詞被分組為專門為自然語言處理設計的集合。
詞性標注:它是將一個句子轉換為一個元組列表的過程。每個元組都有一個形式(單詞、標記)。這里的標簽表示該單詞是名詞、形容詞還是動詞等等。
text = 'An sincerity so extremity he additions.'
--------------------------------
('An', 'DT'), ('sincerity', 'NN'), ('so', 'RB'), ('extremity', 'NN'), ('he', 'PRP'), ('additions', 'VBZ')]
詞袋:它是一個將文本轉換成某種數字表示的過程。比如獨熱編碼等。
sent1 = he is a good boy
sent2 = she is a good girl
|
|
girl good boy
sent1 0 1 1
sent2 1 0 1
現在,讓我們回到我們的主題,看看可以幫助您輕松預處理數據的庫。
毫無疑問,它是自然語言處理最好和使用最多的庫之一。NLTK是自然語言工具包的縮寫。由Steven Bird 和Edward Loper開發的。它帶有許多內置的模塊,用于標記化、詞元化、詞干化、解析、分塊和詞性標記。它提供超過50個語料庫和詞匯資源。
安裝:pip install nltk
讓我們使用NLTK對給定的文本執行預處理
import nltk
#nltk.download('punkt')
from nltk.tokenize import word_tokenize
from nltk.corpus import stopwords
from nltk.stem import PorterStemmer
import re
ps = PorterStemmer()
text = 'Hello there,how are you doing today? I am Learning Python.'
text = re.sub("[^a-zA-Z0-9]"," ",text)
text = word_tokenize(text)
text_with_no_stopwords = [ps.stem(word) for word in text if word not in stopwords.words('english')]
text = " ".join(text_with_no_stopwords)
text
-----------------------------------------------OUTPUT------------------------------------
'hello today I learn python'
Textblob是一個簡化的文本處理庫。它提供了一個簡單的API,用于執行常見的NLP任務,如詞性標記、情感分析、分類、翻譯等。
安裝:pip install textblob
這是python中最好用的自然語言處理庫之一,它是用cpython編寫的。它提供了一些預訓練的統計模型,并支持多達49種以上的語言進行標記化。它以卷積神經網絡為特征,用于標記、解析和命名實體識別。
安裝:pip install spacy
import spacy
nlp = spacy.load('en_core_web_sm')
text = "I am Learning Python Nowdays"
text2 = nlp(text)
for token in text2:
print(token,token.idx)
------------------------------OUTPUT-----------------------
I 0
am 2
Learning 5
Python 14
Nowdays 21
它是一個Python庫,專門用于識別兩個文檔之間的語義相似性。它使用向量空間建模和主題建模工具包來尋找文檔之間的相似之處。它是設計用來處理大型文本語料庫的算法。
安裝:pip install gensim
Stanford CoreNLP的目標是簡化對一段文本應用不同語言工具的過程。這個庫運行速度非常快,并且在開發中工作得很好。
安裝:pip install stanford-corenlp
到此,相信大家對“python如何實現自然語言處理”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。