国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

目錄
核心要點(diǎn)
前提條件
步驟 1:詞元化
步驟 2:將單詞轉(zhuǎn)換為詞幹形式
步驟 3:數(shù)據(jù)清理
單詞頻率分佈
結(jié)論
關(guān)於使用 Python 進(jìn)行自然語(yǔ)言處理的常見問(wèn)題 (FAQ)
自然語(yǔ)言處理 (NLP) 和自然語(yǔ)言理解 (NLU) 的主要區(qū)別是什麼?
如何提高 Python 中 NLP 模型的準(zhǔn)確性?
NLP 在現(xiàn)實(shí)世界中的常見應(yīng)用有哪些?
NLP 中的詞元化是如何工作的?
停用詞在 NLP 中的作用是什麼?
如何在 NLP 中處理多種語(yǔ)言?
NLP 中的詞幹提取和詞形還原是什麼?
如何將 NLP 用於情感分析?
NLP 中的 n 元語(yǔ)法是什麼?
如何將 NLP 用於文本分類?
首頁(yè) 科技週邊 IT業(yè)界 開始使用Python的自然語(yǔ)言處理

開始使用Python的自然語(yǔ)言處理

Feb 10, 2025 am 10:51 AM

Getting Started with Natural Language Processing in Python

當(dāng)今世界,大量數(shù)據(jù)是非結(jié)構(gòu)化的,例如社交媒體評(píng)論、瀏覽歷史和客戶反饋等文本數(shù)據(jù)。面對(duì)海量文本數(shù)據(jù)卻不知從何下手分析? Python 的自然語(yǔ)言處理 (NLP) 技術(shù)可以助您一臂之力!

本教程旨在指導(dǎo)您運(yùn)用 NLP 的核心概念,使用 Python 分析文本數(shù)據(jù)。我們將學(xué)習(xí)如何將文本分解成更小的單元(詞元化),將單詞規(guī)範(fàn)化為詞幹形式(詞幹提取和詞形還原),以及如何清理文檔以準(zhǔn)備進(jìn)一步分析。

讓我們開始吧!

核心要點(diǎn)

  • Python 的自然語(yǔ)言處理 (NLP) 包括將文本分解成詞元,將單詞規(guī)範(fàn)化為詞幹形式,以及清理文檔以準(zhǔn)備進(jìn)一步分析。我們將使用 Python 的 NLTK 庫(kù)來(lái)執(zhí)行這些操作。
  • 將單詞轉(zhuǎn)換為詞幹形式的兩種技術(shù)是詞幹提取和詞形還原。詞幹提取是一種簡(jiǎn)單的算法,它去除單詞的詞綴;而詞形還原則根據(jù)文本的上下文和詞彙表將單詞規(guī)範(fàn)化。
  • NLP 中的數(shù)據(jù)清理包括去除標(biāo)點(diǎn)符號(hào)和停用詞(例如“I”、“a”和“the”等常用詞),因?yàn)檫@些詞在分析文本時(shí)幾乎不提供任何意義。
  • 清理文本後,可以使用 NLTK 的 FreqDist 類查找單詞頻率。這對(duì)於查找文本中常用的術(shù)語(yǔ)非常有用。

前提條件

本教程將使用 Python 的 NLTK 庫(kù)對(duì)文本執(zhí)行所有 NLP 操作。撰寫本教程時(shí),我們使用的是 NLTK 3.4 版本。您可以使用終端上的 pip 命令安裝該庫(kù):

pip install nltk==3.4

要檢查系統(tǒng)中安裝的 NLTK 版本,可以將庫(kù)導(dǎo)入 Python 解釋器並檢查版本:

import nltk
print(nltk.__version__)

在本教程中,為了執(zhí)行 NLTK 中的某些操作,您可能需要下載特定的資源。我們將在需要時(shí)對(duì)每個(gè)資源進(jìn)行描述。

但是,如果您想避免在教程後期逐個(gè)下載資源,可以現(xiàn)在一次性下載所有資源:

python -m nltk.downloader all

步驟 1:詞元化

計(jì)算機(jī)系統(tǒng)無(wú)法自行理解自然語(yǔ)言。處理自然語(yǔ)言的第一步是將原始文本轉(zhuǎn)換為詞元。詞元是具有某種意義的連續(xù)字符的組合。如何將句子分解成詞元取決於您自己。例如,一種簡(jiǎn)單的方法是按空格分割句子以將其分解成單個(gè)單詞。

在 NLTK 庫(kù)中,您可以使用 word_tokenize() 函數(shù)將字符串轉(zhuǎn)換為詞元。但是,您首先需要下載 punkt 資源。在終端中運(yùn)行以下命令:

nltk.download('punkt')

接下來(lái),您需要從 nltk.tokenize 導(dǎo)入 word_tokenize 以使用它:

from nltk.tokenize import word_tokenize
print(word_tokenize("Hi, this is a nice hotel."))

代碼的輸出如下:

pip install nltk==3.4

您會(huì)注意到,word_tokenize 不僅僅是基於空格分割字符串,還會(huì)將標(biāo)點(diǎn)符號(hào)也分離成詞元。保留或去除標(biāo)點(diǎn)符號(hào)取決於您的分析需求。

步驟 2:將單詞轉(zhuǎn)換為詞幹形式

在處理自然語(yǔ)言時(shí),您經(jīng)常會(huì)注意到同一個(gè)單詞存在各種語(yǔ)法形式。例如,“go”、“going”和“gone”都是同一個(gè)動(dòng)詞“go”的不同形式。

雖然您的項(xiàng)目可能需要保留單詞的各種語(yǔ)法形式,但讓我們討論一種將同一個(gè)單詞的不同語(yǔ)法形式轉(zhuǎn)換為其詞幹形式的方法。您可以使用兩種技術(shù)將單詞轉(zhuǎn)換為其詞幹形式。

第一種技術(shù)是詞幹提取。詞幹提取是一種簡(jiǎn)單的算法,它去除單詞的詞綴。 NLTK 中有多種可用的詞幹提取算法。在本教程中,我們將使用 Porter 算法。

我們首先從 nltk.stem.porter 導(dǎo)入 PorterStemmer。接下來(lái),我們將詞幹提取器初始化為 stemmer 變量,然後使用 .stem() 方法查找單詞的詞幹形式:

import nltk
print(nltk.__version__)

上面代碼的輸出是 go。如果您對(duì)上面描述的“go”的其他形式運(yùn)行詞幹提取器,您會(huì)注意到詞幹提取器返回相同的詞幹形式“go”。但是,由於詞幹提取只是一個(gè)基於去除單詞詞綴的簡(jiǎn)單算法,因此當(dāng)單詞在語(yǔ)言中使用頻率較低時(shí),它會(huì)失效。

例如,當(dāng)您嘗試對(duì)單詞“constitutes”使用詞幹提取器時(shí),它會(huì)給出不直觀的結(jié)果:

python -m nltk.downloader all

您會(huì)注意到輸出是“constitut”。

這個(gè)問(wèn)題可以通過(guò)採(cǎi)用更複雜的方法來(lái)解決,該方法是在給定的上下文中查找單詞的詞幹形式。這個(gè)過(guò)程稱為詞形還原。詞形還原根據(jù)文本的上下文和詞彙表將單詞規(guī)範(fàn)化。在 NLTK 中,您可以使用 WordNetLemmatizer 類對(duì)句子進(jìn)行詞形還原。

首先,您需要從 NLTK 下載器在 Python 終端下載 wordnet 資源:

nltk.download('punkt')

下載完成後,您需要導(dǎo)入 WordNetLemmatizer 類並對(duì)其進(jìn)行初始化:

from nltk.tokenize import word_tokenize
print(word_tokenize("Hi, this is a nice hotel."))

要使用詞形還原器,請(qǐng)使用 .lemmatize() 方法。它接受兩個(gè)參數(shù):?jiǎn)卧~和上下文。在我們的示例中,我們將使用“v”作為上下文。在查看 .lemmatize() 方法的輸出後,我們將進(jìn)一步探討上下文:

<code>['Hi', ',', 'this', 'is', 'a', 'nice', 'hotel', '.']</code>

您會(huì)注意到,.lemmatize() 方法正確地將單詞“constitutes”轉(zhuǎn)換為其詞幹形式“constitute”。您還會(huì)注意到,詞形還原比詞幹提取花費(fèi)的時(shí)間更長(zhǎng),因?yàn)樵撍惴ǜ}雜。

讓我們檢查如何以編程方式確定 .lemmatize() 方法的第二個(gè)參數(shù)。 NLTK 有一個(gè) pos_tag() 函數(shù),它有助於確定句子中單詞的上下文。但是,您首先需要通過(guò) NLTK 下載器下載 averaged_perceptron_tagger 資源:

pip install nltk==3.4

接下來(lái),導(dǎo)入 pos_tag() 函數(shù)並在句子上運(yùn)行它:

import nltk
print(nltk.__version__)

您會(huì)注意到,輸出是一個(gè)對(duì)列表。每一對(duì)都包含一個(gè)詞元及其標(biāo)籤,該標(biāo)籤表示詞元在整個(gè)文本中的上下文。請(qǐng)注意,標(biāo)點(diǎn)符號(hào)的標(biāo)籤就是它本身:

python -m nltk.downloader all

如何解碼每個(gè)詞元的上下文?以下是網(wǎng)絡(luò)上所有標(biāo)籤及其相應(yīng)含義的完整列表。請(qǐng)注意,所有名詞的標(biāo)籤都以“N”開頭,所有動(dòng)詞的標(biāo)籤都以“V”開頭。我們可以在 .lemmatize() 方法的第二個(gè)參數(shù)中使用此信息:

nltk.download('punkt')

上面代碼的輸出如下:

from nltk.tokenize import word_tokenize
print(word_tokenize("Hi, this is a nice hotel."))

此輸出符合預(yù)期,“constitutes”和“magistrates”分別轉(zhuǎn)換為“constitute”和“magistrate”。

步驟 3:數(shù)據(jù)清理

準(zhǔn)備數(shù)據(jù)的下一步是清理數(shù)據(jù)並去除任何不會(huì)為您的分析增加意義的內(nèi)容??偟膩?lái)說(shuō),我們將研究如何從分析中去除標(biāo)點(diǎn)符號(hào)和停用詞。

去除標(biāo)點(diǎn)符號(hào)是一項(xiàng)相當(dāng)簡(jiǎn)單的任務(wù)。 string 庫(kù)的 punctuation 對(duì)象包含英語(yǔ)中的所有標(biāo)點(diǎn)符號(hào):

<code>['Hi', ',', 'this', 'is', 'a', 'nice', 'hotel', '.']</code>

此代碼片段的輸出如下:

from nltk.stem.porter import PorterStemmer
stemmer = PorterStemmer()
print(stemmer.stem("going"))

為了從詞元中去除標(biāo)點(diǎn)符號(hào),您可以簡(jiǎn)單地運(yùn)行以下代碼:

print(stemmer.stem("constitutes"))

接下來(lái),我們將重點(diǎn)介紹如何去除停用詞。停用詞是語(yǔ)言中常用的詞,例如“I”、“a”和“the”,在分析文本時(shí),這些詞幾乎不提供任何意義。因此,我們將從分析中去除停用詞。首先,從 NLTK 下載器下載 stopwords 資源:

nltk.download('wordnet')

下載完成後,從 nltk.corpus 導(dǎo)入 stopwords 並使用 words() 方法,其中“english”作為參數(shù)。這是一個(gè)包含英語(yǔ)中 179 個(gè)停用詞的列表:

from nltk.stem.wordnet import WordNetLemmatizer
lem = WordNetLemmatizer()

我們可以將詞形還原示例與本節(jié)中討論的概念結(jié)合起來(lái),創(chuàng)建以下函數(shù) clean_data()。此外,在比較單詞是否屬於停用詞列表的一部分之前,我們將將其轉(zhuǎn)換為小寫。這樣,如果停用詞出現(xiàn)在句首並大寫,我們?nèi)匀豢梢圆东@它:

print(lem.lemmatize('constitutes', 'v'))

此示例的輸出如下:

nltk.download('averaged_perceptron_tagger')

如您所見,標(biāo)點(diǎn)符號(hào)和停用詞已被去除。

單詞頻率分佈

現(xiàn)在您已經(jīng)熟悉了 NLP 中的基本清理技術(shù),讓我們嘗試查找文本中單詞的頻率。在本練習(xí)中,我們將使用童話故事《老鼠、鳥和香腸》的文本,該文本可在古騰堡項(xiàng)目上免費(fèi)獲得。我們將把這個(gè)童話故事的文本存儲(chǔ)在一個(gè)字符串 text 中。

首先,我們對(duì) text 進(jìn)行詞元化,然後使用上面定義的函數(shù) clean_data 對(duì)其進(jìn)行清理:

pip install nltk==3.4

要查找文本中單詞的頻率分佈,可以使用 NLTK 的 FreqDist 類。使用詞元作為參數(shù)初始化該類。然後使用 .most_common() 方法查找常用術(shù)語(yǔ)。在本例中,讓我們嘗試查找前十個(gè)術(shù)語(yǔ):

import nltk
print(nltk.__version__)

以下是這個(gè)童話故事中出現(xiàn)頻率最高的十個(gè)術(shù)語(yǔ):

python -m nltk.downloader all

不出所料,三個(gè)最常見的術(shù)語(yǔ)是童話故事中的三個(gè)主要人物。

在分析文本時(shí),單詞的頻率可能並不重要。通常,NLP 的下一步是生成統(tǒng)計(jì)數(shù)據(jù)——TF-IDF(詞頻-逆文檔頻率)——它表示單詞在一組文檔中的重要性。

結(jié)論

在本教程中,我們初步了解了 Python 中的自然語(yǔ)言處理。我們將文本轉(zhuǎn)換為詞元,將單詞轉(zhuǎn)換為其詞幹形式,最後清理文本以去除任何不會(huì)為分析增加意義的部分。

雖然在本教程中我們研究了簡(jiǎn)單的 NLP 任務(wù),但還有許多其他技術(shù)需要探索。例如,我們可能希望對(duì)文本數(shù)據(jù)執(zhí)行主題建模,其目標(biāo)是查找文本可能討論的共同主題。 NLP 中一項(xiàng)更複雜的任務(wù)是實(shí)現(xiàn)情感分析模型以確定任何文本背後的情感。

有任何意見或問(wèn)題?請(qǐng)隨時(shí)在 Twitter 上聯(lián)繫我。

關(guān)於使用 Python 進(jìn)行自然語(yǔ)言處理的常見問(wèn)題 (FAQ)

自然語(yǔ)言處理 (NLP) 和自然語(yǔ)言理解 (NLU) 的主要區(qū)別是什麼?

自然語(yǔ)言處理 (NLP) 和自然語(yǔ)言理解 (NLU) 是人工智能的兩個(gè)子領(lǐng)域,經(jīng)常被混淆。 NLP 是一種更廣泛的概念,它包含所有用於使用自然語(yǔ)言與計(jì)算機(jī)交互的方法。這包括理解和生成人類語(yǔ)言。另一方面,NLU 是 NLP 的一個(gè)子集,專門處理理解方面。它涉及使用算法以有價(jià)值的方式理解和解釋人類語(yǔ)言。

如何提高 Python 中 NLP 模型的準(zhǔn)確性?

提高 NLP 模型的準(zhǔn)確性涉及多種策略。首先,您可以使用更多訓(xùn)練數(shù)據(jù)。您的模型擁有的學(xué)習(xí)數(shù)據(jù)越多,其性能就越好。其次,考慮使用不同的 NLP 技術(shù)。例如,如果您使用的是詞袋 (BoW),您可能需要嘗試詞頻-逆文檔頻率 (TF-IDF) 或 Word2Vec。最後,微調(diào)模型的參數(shù)也可以帶來(lái)顯著改進(jìn)。

NLP 在現(xiàn)實(shí)世界中的常見應(yīng)用有哪些?

NLP 在現(xiàn)實(shí)世界中具有廣泛的應(yīng)用。這些包括語(yǔ)言翻譯、情感分析、聊天機(jī)器人、Siri 和 Alexa 等語(yǔ)音助手、文本摘要和電子郵件垃圾郵件檢測(cè)。

NLP 中的詞元化是如何工作的?

詞元化是將文本分解成單個(gè)單詞或詞元的過(guò)程。這是 NLP 中的一個(gè)關(guān)鍵步驟,因?yàn)樗试S模型理解和分析文本。在 Python 中,您可以使用 NLTK 庫(kù)的 word_tokenize 函數(shù)來(lái)執(zhí)行詞元化。

停用詞在 NLP 中的作用是什麼?

停用詞是常用詞,在 NLP 的預(yù)處理階段經(jīng)常被過(guò)濾掉,因?yàn)樗鼈儾话嘤幸饬x的信息。示例包括“is”、“the”、“and”等。去除這些詞可以幫助提高 NLP 模型的性能。

如何在 NLP 中處理多種語(yǔ)言?

由於語(yǔ)法、句法和詞彙的差異,在 NLP 中處理多種語(yǔ)言可能具有挑戰(zhàn)性。但是,Python 的 NLTK 庫(kù)支持多種語(yǔ)言。您還可以使用像 langdetect 這樣的語(yǔ)言檢測(cè)庫(kù)來(lái)識(shí)別文本的語(yǔ)言,然後再對(duì)其進(jìn)行處理。

NLP 中的詞幹提取和詞形還原是什麼?

詞幹提取和詞形還原是用於將單詞簡(jiǎn)化為其詞乾或詞根形式的技術(shù)。它們之間的主要區(qū)別在於,詞幹提取經(jīng)常會(huì)創(chuàng)建不存在的單詞,而詞形還原則將單詞簡(jiǎn)化為其語(yǔ)言上正確的詞根形式。

如何將 NLP 用於情感分析?

情感分析涉及確定文本中表達(dá)的情感。這可以使用各種 NLP 技術(shù)來(lái)完成。例如,您可以使用 Python 中的 TextBlob 庫(kù)輕鬆執(zhí)行情感分析。

NLP 中的 n 元語(yǔ)法是什麼?

n 元語(yǔ)法是給定文本或語(yǔ)音樣本中 n 個(gè)連續(xù)項(xiàng)目的連續(xù)序列。它們用於 NLP 來(lái)預(yù)測(cè)序列中的下一個(gè)項(xiàng)目。例如,在二元語(yǔ)法 (n=2) 中,您考慮單詞對(duì)進(jìn)行分析或預(yù)測(cè)。

如何將 NLP 用於文本分類?

文本分類涉及將文本分類到預(yù)定義的類別中。這可以使用各種 NLP 技術(shù)和機(jī)器學(xué)習(xí)算法來(lái)完成。例如,您可以使用詞袋或 TF-IDF 進(jìn)行特徵提取,然後將這些特徵輸入機(jī)器學(xué)習(xí)模型進(jìn)行分類。

以上是開始使用Python的自然語(yǔ)言處理的詳細(xì)內(nèi)容。更多資訊請(qǐng)關(guān)注PHP中文網(wǎng)其他相關(guān)文章!

本網(wǎng)站聲明
本文內(nèi)容由網(wǎng)友自願(yuàn)投稿,版權(quán)歸原作者所有。本站不承擔(dān)相應(yīng)的法律責(zé)任。如發(fā)現(xiàn)涉嫌抄襲或侵權(quán)的內(nèi)容,請(qǐng)聯(lián)絡(luò)admin@php.cn

熱AI工具

Undress AI Tool

Undress AI Tool

免費(fèi)脫衣圖片

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅(qū)動(dòng)的應(yīng)用程序,用於創(chuàng)建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費(fèi)的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費(fèi)的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強(qiáng)大的PHP整合開發(fā)環(huán)境

Dreamweaver CS6

Dreamweaver CS6

視覺(jué)化網(wǎng)頁(yè)開發(fā)工具

SublimeText3 Mac版

SublimeText3 Mac版

神級(jí)程式碼編輯軟體(SublimeText3)

開發(fā)人員的快捷方式到您的Udemy樣平臺(tái) 開發(fā)人員的快捷方式到您的Udemy樣平臺(tái) Jun 17, 2025 pm 04:43 PM

在開發(fā)類似於Udemy的學(xué)習(xí)平臺(tái)時(shí),重點(diǎn)不僅僅是內(nèi)容質(zhì)量。同樣重要的是如何交付內(nèi)容。這是因?yàn)楝F(xiàn)代教育平臺(tái)依賴於媒體,快速且易於消化。

用於購(gòu)買SSL證書的經(jīng)濟(jì)有效的轉(zhuǎn)售商平臺(tái) 用於購(gòu)買SSL證書的經(jīng)濟(jì)有效的轉(zhuǎn)售商平臺(tái) Jun 25, 2025 am 08:28 AM

在一個(gè)在線信任不可談判的世界中,SSL證書對(duì)於每個(gè)網(wǎng)站都至關(guān)重要。 SSL認(rèn)證的市場(chǎng)規(guī)模在2024年價(jià)值56億美元,並且由於電子商務(wù)業(yè)務(wù)的激增而推動(dòng)了強(qiáng)勁的增長(zhǎng)

SaaS的5個(gè)最佳支付門戶:您的最終指南 SaaS的5個(gè)最佳支付門戶:您的最終指南 Jun 29, 2025 am 08:28 AM

付款網(wǎng)關(guān)是付款過(guò)程的關(guān)鍵組成部分,使企業(yè)能夠在線接受付款。它充當(dāng)客戶與商人之間的橋樑,安全地傳輸付款信息並促進(jìn)交易。 為了

由於新的Microsoft AI型號(hào) 由於新的Microsoft AI型號(hào) Jul 05, 2025 am 12:44 AM

一種新的人工智能(AI)模型已經(jīng)證明了比幾個(gè)使用最廣泛使用的全球預(yù)測(cè)系統(tǒng)更快,更精確地預(yù)測(cè)重大天氣事件的能力。該名為Aurora的模型已接受過(guò)培訓(xùn)。

新研究聲稱AI比我們更好地'理解”情緒。特別是在情感上充滿電的情況下 新研究聲稱AI比我們更好地'理解”情緒。特別是在情感上充滿電的情況下 Jul 03, 2025 pm 05:48 PM

在我們認(rèn)為人類始終超越機(jī)器的領(lǐng)域的另一個(gè)挫折中,研究人員現(xiàn)在建議AI比我們更好地理解情感。研究人員發(fā)現(xiàn)人工智能證明了一個(gè)

您的設(shè)備餵養(yǎng)AI助手並收集個(gè)人數(shù)據(jù),即使他們睡著了。這是如何知道您分享的內(nèi)容。 您的設(shè)備餵養(yǎng)AI助手並收集個(gè)人數(shù)據(jù),即使他們睡著了。這是如何知道您分享的內(nèi)容。 Jul 05, 2025 am 01:12 AM

不管喜歡與否,人工智能已成為日常生活的一部分。許多設(shè)備(包括電動(dòng)剃須刀和牙刷)已成為AI驅(qū)動(dòng)的“使用機(jī)器學(xué)習(xí)算法來(lái)跟蹤一個(gè)人的使用方式,Devi的方式

高級(jí)AI型號(hào)的CO&#8322;回答相同問(wèn)題時(shí)的排放量比更常見的LLM 高級(jí)AI型號(hào)的CO&#8322;回答相同問(wèn)題時(shí)的排放量比更常見的LLM Jul 06, 2025 am 12:37 AM

根據(jù)最近的一項(xiàng)研究,我們?cè)噲D使AI模型的功能越精確,其碳排放量就越大 - 某些提示產(chǎn)生的二氧化碳比其他提示高達(dá)50倍。

See all articles