日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

自然语言处理库——NLTK

發(fā)布時間:2025/3/21 编程问答 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 自然语言处理库——NLTK 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

? ? ? ? NLTK(www.nltk.org)是在處理預(yù)料庫、分類文本、分析語言結(jié)構(gòu)等多項操作中最長遇到的包。其收集的大量公開數(shù)據(jù)集、模型上提供了全面、易用的接口,涵蓋了分詞、詞性標注(Part-Of-Speech tag, POS-tag)、命名實體識別(Named Entity Recognition, NER)、句法分析(Syntactic Parse)等各項 NLP 領(lǐng)域的功能。

目錄

?1. 分詞

(1)句子切分(斷句)

(2)單詞切分(分詞)

2. 處理切詞

(1)移除標點符號

(2)移除停用詞

3. 詞匯規(guī)范化(Lexicon Normalization)

(1)詞形還原(lemmatization)

(2)詞干提取(stem)

4. 詞性標注

5. 獲取近義詞


NLTK模塊及功能介紹:


?1. 分詞

? ? ? ? 文本是由段落(Paragraph)構(gòu)成的,段落是由句子(Sentence)構(gòu)成的,句子是由單詞構(gòu)成的。切詞是文本分析的第一步,它把文本段落分解為較小的實體(如單詞或句子),每一個實體叫做一個Token,Token是構(gòu)成句子(sentence?)的單詞、是段落(paragraph)的句子。NLTK能夠?qū)崿F(xiàn)句子切分和單詞切分兩種功能。

(1)句子切分(斷句)

? ? ? ?句子切分是指把段落切分成句子:

from nltk.tokenize import sent_tokenizetext="""Hello Mr. Smith, how are you doing today? The weather is great, and city is awesome.The sky is pinkish-blue. You shouldn't eat cardboard"""tokenized_text=sent_tokenize(text)print(tokenized_text)''' 結(jié)果:['Hello Mr. Smith, how are you doing today?', 'The weather is great, and city is awesome.The sky is pinkish-blue.', "You shouldn't eat cardboard"] '''

(2)單詞切分(分詞)

? ? 單詞切分是把句子切分成單詞

import nltksent = "I am almost dead this time"token = nltk.word_tokenize(sent)結(jié)果:token['I','am','almost','dead','this','time']

2. 處理切詞

對切詞的處理,需要移除標點符號和移除停用詞和詞匯規(guī)范化。

(1)移除標點符號

? ? ? ?對每個切詞調(diào)用該函數(shù),移除字符串中的標點符號,string.punctuation包含了所有的標點符號,從切詞中把這些標點符號替換為空格。

# 方式一 import strings = 'abc.' s = s.translate(str.maketrans(string.punctuation, " "*len(string.punctuation))) # abc# 方式二 english_punctuations = [',', '.', ':', ';', '?', '(', ')', '[', ']', '&', '!', '*', '@', '#', '$', '%'] text_list = [word for word in text_list if word not in english_punctuations]

(2)移除停用詞

? ? ? ?停用詞(stopword)是文本中的噪音單詞,沒有任何意義,常用的英語停用詞,例如:is, am, are, this, a, an, the。NLTK的語料庫中有一個停用詞,用戶必須從切詞列表中把停用詞去掉。

nltk.download('stopwords') # Downloading package stopwords to C:\Users\Administrator\AppData\Roaming\nltk_data...Unzipping corpora\stopwords.zip.from nltk.corpus import stopwords stop_words = stopwords.words("english")text="""Hello Mr. Smith, how are you doing today? The weather is great, and city is awesome."""word_tokens = nltk.tokenize.word_tokenize(text.strip()) filtered_word = [w for w in word_tokens if not w in stop_words]''' word_tokens:['Hello', 'Mr.', 'Smith', ',', 'how', 'are', 'you', 'doing', 'today', '?','The', 'weather', 'is', 'great', ',', 'and', 'city', 'is', 'awesome', '.'] filtered_word:['Hello', 'Mr.', 'Smith', ',', 'today', '?', 'The', 'weather', 'great', ',', 'city', 'awesome', '.'] '''

3. 詞匯規(guī)范化(Lexicon Normalization)

詞匯規(guī)范化是指把詞的各種派生形式轉(zhuǎn)換為詞根,在NLTK中存在兩種抽取詞干的方法porter和wordnet。

(1)詞形還原(lemmatization)

? ? ?利用上下文語境和詞性來確定相關(guān)單詞的變化形式,根據(jù)詞性來獲取相關(guān)的詞根,也叫l(wèi)emma,結(jié)果是真實的單詞。

(2)詞干提取(stem)

? ? ?從單詞中刪除詞綴并返回詞干,可能不是真正的單詞。

from nltk.stem.wordnet import WordNetLemmatizer # from nltk.stem import WordNetLemmatizer lem = WordNetLemmatizer() # 詞形還原from nltk.stem.porter import PorterStemmer # from nltk.stem import PorterStemmer stem = PorterStemmer() # 詞干提取word = "flying" print("Lemmatized Word:",lem.lemmatize(word,"v")) print("Stemmed Word:",stem.stem(word))''' Lemmatized Word: fly Stemmed Word: fli '''

4. 詞性標注

? ? ? 詞性(POS)標記的主要目標是識別給定單詞的語法組,POS標記查找句子內(nèi)的關(guān)系,并為該單詞分配相應(yīng)的標簽。

sent = "Albert Einstein was born in Ulm, Germany in 1879." tokens = nltk.word_tokenize(sent)tags = nltk.pos_tag(tokens)''' [('Albert', 'NNP'), ('Einstein', 'NNP'), ('was', 'VBD'), ('born', 'VBN'), ('in', 'IN'), ('Ulm', 'NNP'), (',', ','), ('Germany', 'NNP'), ('in', 'IN'), ('1879', 'CD'), ('.', '.')] '''

5. 獲取近義詞

? ? 查看一個單詞的同義詞集用synsets(); 它有一個參數(shù)pos,可以指定查找的詞性。WordNet接口是面向語義的英語詞典,類似于傳統(tǒng)字典。它是NLTK語料庫的一部分。

import nltk nltk.download('wordnet') # Downloading package wordnet to C:\Users\Administrator\AppData\Roaming\nltk_data...Unzipping corpora\wordnet.zip.from nltk.corpus import wordnetword = wordnet.synsets('spectacular') print(word) # [Synset('spectacular.n.01'), Synset('dramatic.s.02'), Synset('spectacular.s.02'), Synset('outstanding.s.02')]print(word[0].definition()) print(word[1].definition()) print(word[2].definition()) print(word[3].definition())''' a lavishly produced performance sensational in appearance or thrilling in effect characteristic of spectacles or drama having a quality that thrusts itself into attention '''

?

總結(jié)

以上是生活随笔為你收集整理的自然语言处理库——NLTK的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 久久毛片视频 | 91丝袜呻吟高潮美腿白嫩 | 91 在线观看 | 亚洲成肉网| 欧美日韩小说 | 黑人精品无码一区二区三区 | 日韩成人在线视频 | 美女100%无挡 | 青娱乐久久 | 男男h黄动漫啪啪无遮挡软件 | 国产一区二区影院 | 国产伦精品一区二区三区视频我 | 男人天堂成人网 | 91高清视频 | ass大乳尤物肉体pics | 久草热线 | 欧美性生交xxxxx久久久缅北 | av体验区| 亚洲av无码乱码国产麻豆 | 熟妇高潮精品一区二区三区 | 国产午夜无码精品免费看奶水 | 麻豆影片 | 亚洲911精品成人18网站 | 国产99久久九九精品无码免费 | 亚洲女人视频 | 北条麻妃av在线 | 日韩毛片免费观看 | 中国a一片一级一片 | 蜜桃视频免费网站 | 丁香激情综合 | 91麻豆成人 | 国产在线观看精品 | 九色91丨porny丨丝袜 | 一级片免费视频 | 久久精品一区二区 | 亚洲综合91 | 最新国产在线 | 91福利网| 午夜激情啪啪 | 日韩av无码中文字幕 | 成人精品久久久 | 91av视频在线免费观看 | 亚洲视频自拍偷拍 | 欧亚一区二区 | 国产在线黄色 | 亚洲一区二区在线免费 | 香蕉茄子视频 | 公侵犯一区二区三区四区中文字幕 | 国产精品久久久久影院 | 制服丝袜手机在线 | 美女扒开尿口让男人桶 | 视频一区二区国产 | 最新不卡av | 123超碰 | 亚洲综合社区 | 久久精品午夜 | 中出亚洲 | 婷婷成人av | 丰满肥臀噗嗤啊x99av | 我要看一级片 | 国产精品视屏 | 久久久久精 | 99精品视频免费版的特色功能 | 波多野结衣精品在线 | 成年人免费网站在线观看 | 丰满少妇被猛烈进入高清播放 | 伊人久久久久久久久久久 | www.777含羞草 | 看片一区二区 | 亚洲熟女一区 | 日本在线第一页 | 色播在线 | 精品小视频在线观看 | 久久香蕉国产 | 五月丁香久久婷婷 | 国产一区二区在线免费观看 | 国产欧美日韩三级 | 麻豆视频免费版 | 亚洲dvd| 黑帮大佬和我的三百六十五天 | 少妇人妻偷人精品无码视频新浪 | 红桃视频一区二区三区免费 | 欧美日韩999 | 成人福利视频在线 | 国产xxx视频 | 日韩av中文在线观看 | 91精品国产91久久久久久 | 美女精品 | 狠狠97| 久久精品久久99 | fc2成人免费视频 | 午夜精品一区二区在线观看 | 国产精品二区一区 | 久久久青草| 日韩一区二区三区四区五区六区 | 亚洲另类网站 | 30一40一50女人毛片 | 日韩av色 | 五月婷婷六月天 |