中文字幕在线观看,亚洲а∨天堂久久精品9966,亚洲成a人片在线观看你懂的,亚洲av成人片无码网站,亚洲国产精品无码久久久五月天

自然語(yǔ)言處理背后的數(shù)據(jù)科學(xué)

2019-04-19    來(lái)源:raincent

容器云強(qiáng)勢(shì)上線!快速搭建集群,上萬(wàn)Linux鏡像隨意使用

人類(lèi)交流是能感知到的最迷人的特性之一。作為人類(lèi)的一員,我知道人類(lèi)之間如何互動(dòng)是極其復(fù)雜的。我們經(jīng)常發(fā)送和接收錯(cuò)誤的信息,或者我們的信息會(huì)被他人誤解。每天我們都理所當(dāng)然地認(rèn)為自己有能力向同事和家人傳達(dá)意義。我們用各種各樣的方式交流,包括交談和書(shū)寫(xiě)符號(hào)。人與人之間的交流可以像隔著房間看一眼那么簡(jiǎn)單。斯坦福大學(xué)機(jī)器學(xué)習(xí)教授克里斯•曼寧將溝通描述為“一個(gè)離散的、符號(hào)的、分類(lèi)的信號(hào)系統(tǒng)”。這是什么意思呢?我認(rèn)為是我們的感官,如視覺(jué)、觸覺(jué)、聽(tīng)覺(jué),甚至是嗅覺(jué),使我們能夠交流。這讓我想到了這篇博客的主題:當(dāng)我們把計(jì)算納入考慮范圍時(shí)會(huì)發(fā)生什么?什么是自然語(yǔ)言處理?它是如何工作的?

 

 

自然語(yǔ)言處理 (NLP) 是計(jì)算機(jī)科學(xué)和人工智能領(lǐng)域的一門(mén)學(xué)科。NLP 是人與機(jī)器之間的溝通, 它既能解釋我們的意思, 也能構(gòu)建有效的反應(yīng)。這個(gè)領(lǐng)域已經(jīng)從上世紀(jì)50年代就存在了, 你可能聽(tīng)說(shuō)過(guò)的艾倫圖靈開(kāi)發(fā)的"圖靈測(cè)試" 。圖靈測(cè)試衡量計(jì)算機(jī)對(duì)人類(lèi)書(shū)面問(wèn)題的反饋。如果一個(gè)獨(dú)立的人不能分辨一個(gè)人和一臺(tái)機(jī)器的區(qū)別, 那么計(jì)算系統(tǒng)就會(huì)被評(píng)為智能。從上世紀(jì)50年代以來(lái), 我們?nèi)〉昧碎L(zhǎng)足的進(jìn)步, 數(shù)據(jù)科學(xué)和語(yǔ)言學(xué)領(lǐng)域也取得了很大進(jìn)展。本文的其余部分詳細(xì)介紹了這些算法在自然語(yǔ)言處理領(lǐng)域的一些基本功能,同時(shí)將包含一些使用 Python 的代碼示例。

標(biāo)記化

為了開(kāi)始自然語(yǔ)言處理, 我們將從一些非常簡(jiǎn)單的文本解析開(kāi)始。標(biāo)記化是提取文本流的一個(gè)過(guò)程, 如一個(gè)句子, 并將其分解為其最基本的單詞。例如, 取以下句子:“he red fox jumps over the moon .”每個(gè)單詞都代表一個(gè)標(biāo)記, 其中共有七個(gè)。

使用Python標(biāo)記句子:

myText = ‘The red fox jumps over the moon.’
myLowerText = myText.lower()
myTextList = myLowerText.split()
print(myTextList)
OUTPUT:
[‘the’, ‘red’, ‘fox’, ‘jumps’, ‘over’, ‘the’, ‘moon’]

 

詞性歸類(lèi)

詞性歸類(lèi)用于確定句法功能。在英語(yǔ)中, 詞性的主要部分是: 形容詞、代詞、名詞、動(dòng)詞、副詞、前置詞、連詞和感嘆詞。這是用來(lái)推斷基于它的單詞的意圖。例如, PERMIT 一詞可以是一個(gè)名詞和一個(gè)動(dòng)詞。動(dòng)詞用法:“I permit you to go to the dance.” 名詞用法:“Did you get the permit from the county.”

使用Python分析部分語(yǔ)音 :(使用 NLTK 庫(kù))

您可能需要安裝 NLTK, 它是用于自然語(yǔ)言處理的 Python 庫(kù)。關(guān)于 NLTK 的說(shuō)明: https://www.geeksforgeeks.org/part-speech-tagging-stop-words-using-nltk-python/

import nltk
myText = nltk.word_tokenize(‘the red fox jumps over the moon.’)
print(‘Parts of Speech: ‘, nltk.pos_tag(myText))
OUTPUT:
Parts of Speech: [(‘the’, ‘DT’), (‘red’, ‘JJ’), (‘fox’, ‘NN’), (‘jumps’, ‘NNS’), (‘over’, ‘IN’), (‘the’, ‘DT’), (‘moon’, ‘NN’), (‘.’, ‘.’)]

 

因此, 您可以看到 NLTK 如何將句子分解為各個(gè)標(biāo)記并解釋語(yǔ)音的某些部分, 例如 ("fox"、"NN"):

NN 名詞, 單數(shù) "fox"

停止詞刪除

許多句子和段落中包含的單詞幾乎沒(méi)有意義或價(jià)值。這些詞包括 "a"、"and"、"an"和"the"。移除停止詞是一個(gè)從句子或單詞流中刪除這些單詞的過(guò)程。

使用 Python 和 NLTK 進(jìn)行停止詞刪除: (點(diǎn)擊原文閱讀有關(guān) NLTK 的說(shuō)明)

from nltk.corpus import stopwords
from nltk.tokenize import word_tokenize

example_sent = “a red fox is an animal that is able to jump over the moon.” stop_words = set(stopwords.words(‘english’)) word_tokens = word_tokenize(example_sent) filtered_sentence = [w for w in word_tokens if not w in stop_words] filtered_sentence = [] for w in word_tokens: if w not in stop_words: filtered_sentence.append(w) print(filtered_sentence)

OUTPUT:
[‘red’, ‘fox’, ‘animal’, ‘able’, ‘jump’, ‘moon’, ‘.’]

 

詞干提取

詞干提取是減少單詞噪聲的過(guò)程,也稱(chēng)為詞典歸一化。它減少了詞形變化。例如, "釣魚(yú)" 一詞有一個(gè)詞干 "魚(yú)"。詞干提取是用來(lái)把一個(gè)詞簡(jiǎn)化為它的基本含義。另一個(gè)很好的例子是 "喜歡" 這個(gè)詞, 它是許多詞的詞干, 比如: "likes"、"liked"、"likely"。搜索引擎使用詞干分析就是這個(gè)原因。在許多情況下, 搜索其中一個(gè)詞返回在集合中包含另一個(gè)單詞的文檔可能會(huì)很有用。

要使用 Python 和 NLTK 庫(kù)執(zhí)行詞干提取, 請(qǐng)執(zhí)行以下操作:

from nltk.stem import PorterStemmer
from nltk.tokenize import word_tokenize

ps = PorterStemmer()

for w in words:
print(w, ” : “, ps.stem(w))

OUTPUT:
(‘likes’, ‘ : ‘, u’like’)
(‘likely’, ‘ : ‘, u’like’)
(‘likes’, ‘ : ‘, u’like’)
(‘liking’, ‘ : ‘, u’like’)

words = [“likes”, “likely”, “likes”, “liking”]

 

詞形還原

詞干提取和詞形還原是非常相似的, 因?yàn)樗鼈兡茏屇阏业皆~根。這稱(chēng)為單詞規(guī)范化, 兩者都可以生成相同的輸出結(jié)果。然而, 它們的工作方式卻大不相同。詞干提取試圖將單詞切分而詞形還原給你提供觀察單詞是名詞、動(dòng)詞還是其他詞性。讓我們以單詞 "saw"為例。詞干提取會(huì)返回 "saw", 詞形還原可以返回"see" 或 "saw"。詞形還原通常會(huì)返回一個(gè)可讀的詞, 而詞干提取可能不會(huì)。有關(guān)差異的示例, 請(qǐng)參見(jiàn)下文。雷鋒網(wǎng)雷鋒網(wǎng)雷鋒網(wǎng)(公眾號(hào):雷鋒網(wǎng))

讓我們看一個(gè) Python 示例, 它將詞干提取與詞形還原進(jìn)行了比較:

from nltk.stem import PorterStemmer
# from nltk.tokenize import word_tokenizefrom nltk.stem import WordNetLemmatizer

lemmatizer = WordNetLemmatizer()

ps = PorterStemmer()

words = [“corpora”, “constructing”, “better”, “done”, “worst”, “pony”]

for w in words:
print(w, ” STEMMING : “, ps.stem(w), ” LEMMATIZATION “, lemmatizer.lemmatize(w, pos=‘v’))

OUTPUT:
corpora STEMMING : corpora LEMMATIZATION corpora
constructing STEMMING : construct LEMMATIZATION constructing
better STEMMING : better LEMMATIZATION good
done STEMMING : done LEMMATIZATION done
worst STEMMING : worst LEMMATIZATION bad
pony STEMMING : poni LEMMATIZATION pony

 

總結(jié)

語(yǔ)言學(xué)是對(duì)語(yǔ)言、形態(tài)學(xué)、句法、語(yǔ)音和語(yǔ)義學(xué)的研究。包括數(shù)據(jù)科學(xué)和計(jì)算在內(nèi)的這一領(lǐng)域在過(guò)去60年里已經(jīng)進(jìn)行了爆炸式的發(fā)展。我們剛剛在 NLP 中探索了一些非常簡(jiǎn)單的文本分析功能。Google、Bing 和其他搜索引擎利用這項(xiàng)技術(shù)幫助您在萬(wàn)維網(wǎng)上查找信息。想想看, 讓 Alexa 播放你最喜歡的歌曲或者 Siri 是如何幫助你指路。這都是因?yàn)?NLP。計(jì)算中的自然語(yǔ)言不是噱頭或玩具。NLP是我們生活中無(wú)縫計(jì)算的未來(lái)。

Arcadia Data剛剛發(fā)布了5.0 版, 其中包括我們稱(chēng)之為 Search Based BI的自然語(yǔ)言查詢(xún)功能。它使用了之前描述的一些數(shù)據(jù)科學(xué)和文本分析。查看我們關(guān)于Search Based BI工具的視頻可了解更多信息: SEARCH-BASED BI

原標(biāo)題 :The Data Science Behind Natural Language Processing

作者: John Thuma 翻譯:luyao777

原文鏈接:https://medium.com/dataseries/the-data-science-behind-natural-language-processing-69d6df06a1ff

標(biāo)簽: [db:TAGG]

版權(quán)申明:本站文章部分自網(wǎng)絡(luò),如有侵權(quán),請(qǐng)聯(lián)系:west999com@outlook.com
特別注意:本站所有轉(zhuǎn)載文章言論不代表本站觀點(diǎn)!
本站所提供的圖片等素材,版權(quán)歸原作者所有,如需使用,請(qǐng)與原作者聯(lián)系。

上一篇:賈揚(yáng)清:我對(duì)人工智能方向的一點(diǎn)淺見(jiàn)

下一篇:人工智能離不開(kāi)“人工投喂”數(shù)據(jù),現(xiàn)在中國(guó)約有 100 萬(wàn)人做這事