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

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

開(kāi)始使用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ī)范化為詞干形式(詞干提取和詞形還原),以及如何清理文檔以準(zhǔn)備進(jìn)一步分析。

讓我們開(kāi)始吧!

核心要點(diǎn)

  • Python 的自然語(yǔ)言處理 (NLP) 包括將文本分解成詞元,將單詞規(guī)范化為詞干形式,以及清理文檔以準(zhǔn)備進(jìn)一步分析。我們將使用 Python 的 NLTK 庫(kù)來(lái)執(zhí)行這些操作。
  • 將單詞轉(zhuǎn)換為詞干形式的兩種技術(shù)是詞干提取和詞形還原。詞干提取是一種簡(jiǎn)單的算法,它去除單詞的詞綴;而詞形還原則根據(jù)文本的上下文和詞匯表將單詞規(guī)范化。
  • 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 操作。撰寫(xiě)本教程時(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ò)采用更復(fù)雜的方法來(lái)解決,該方法是在給定的上下文中查找單詞的詞干形式。這個(gè)過(guò)程稱為詞形還原。詞形還原根據(jù)文本的上下文和詞匯表將單詞規(guī)范化。在 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)樵撍惴ǜ鼜?fù)雜。

讓我們檢查如何以編程方式確定 .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”開(kāi)頭,所有動(dòng)詞的標(biāo)簽都以“V”開(kāi)頭。我們可以在 .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ě)。這樣,如果停用詞出現(xiàn)在句首并大寫(xiě),我們?nèi)匀豢梢圆东@它:

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

此示例的輸出如下:

nltk.download('averaged_perceptron_tagger')

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

單詞頻率分布

現(xiàn)在您已經(jīng)熟悉了 NLP 中的基本清理技術(shù),讓我們嘗試查找文本中單詞的頻率。在本練習(xí)中,我們將使用童話故事《老鼠、鳥(niǎo)和香腸》的文本,該文本可在古騰堡項(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è)最常見(jiàn)的術(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)更復(fù)雜的任務(wù)是實(shí)現(xiàn)情感分析模型以確定任何文本背后的情感。

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

關(guān)于使用 Python 進(jìn)行自然語(yǔ)言處理的常見(jiàn)問(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í)世界中的常見(jiàn)應(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)行分類。

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

本站聲明
本文內(nèi)容由網(wǎng)友自發(fā)貢獻(xiàn),版權(quán)歸原作者所有,本站不承擔(dān)相應(yīng)法律責(zé)任。如您發(fā)現(xiàn)有涉嫌抄襲侵權(quán)的內(nèi)容,請(qǐng)聯(lián)系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脫衣機(jī)

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集成開(kāi)發(fā)環(huán)境

Dreamweaver CS6

Dreamweaver CS6

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

SublimeText3 Mac版

SublimeText3 Mac版

神級(jí)代碼編輯軟件(SublimeText3)

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

在一個(gè)在線信任不可談判的世界中,SSL證書(shū)對(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)交易。 為了

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

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

由于新的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)。

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

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

威脅AI聊天機(jī)器人,它將撒謊,作弊和'讓您死”以阻止您,并警告 威脅AI聊天機(jī)器人,它將撒謊,作弊和'讓您死”以阻止您,并警告 Jul 04, 2025 am 12:40 AM

根據(jù)一項(xiàng)新的研究,人工智能(AI)模型在模型的目標(biāo)和用戶決定之間發(fā)生沖突時(shí)可能會(huì)威脅和勒索人類。

See all articles