02 NLTK 分句 分詞 詞幹提取 詞型還原

2022-08-31 04:57:09 字數 2570 閱讀 6734

nltk 分句、分詞、詞幹提取、詞型還原

print("

**********案例1:分句、分詞***************")

import

nltk.tokenize as tk

doc ="

are you curious about tokenization?

""let's see how it works! "\

"we need to analyze a couple of sentences ""

with punctuations to see it in action.

"print

(doc)

#按句拆分:tk.sent_tokenize(doc)

#問:tk.sent_tokenize()為何能識別出到**是一句?

#答:1、看首字母是大寫 ;2、結尾有標點符號

tokens =tk.sent_tokenize(doc)

for i,token in

enumerate(tokens):

print("

%2d" % (i+1),token)

print("

-----------------------------")

#按詞拆分:tk.word_tokenize(doc)

tokens =tk.word_tokenize(doc)

for i,token in

enumerate(tokens):

print("

%2d" % (i+1),token)

#按詞和標點拆分:tk.wordpuncttokenizer().tokenize(doc)

tokenizer=tk.wordpuncttokenizer()

tokens =tokenizer.tokenize(doc)

for i,token in

enumerate(tokens):

print("

%2d" % (i+1),token)

print("

**********===案例2:詞幹提取、詞型還原***************====

")

#匯入下面三種詞幹提取器進行對比

import

nltk.stem.porter as pt

import

nltk.stem.lancaster as lc

import

nltk.stem.snowball as sb

#匯入nltk.stem用來詞型還原

import

nltk.stem as ns

words = ['

table

', '

probably

', '

wolves

', '

playing',

'is', '

dog', '

the', '

beaches

', '

grounded',

'dreamt

', '

envision']

print

(words)

print("

----------詞幹提取-------------")

#在名詞和動詞中,除了與數和時態有關的成分以外的核心成分。

#詞幹並不一定是合法的單詞

pt_stemmer = pt.porterstemmer() #

波特詞幹提取器

lc_stemmer = lc.lancasterstemmer() #

蘭卡斯詞幹提取器

sb_stemmer = sb.snowballstemmer("

english

")#思諾博詞幹提取器

for word in

words:

pt_stem =pt_stemmer.stem(word)

lc_stem =lc_stemmer.stem(word)

sb_stem =sb_stemmer.stem(word)

print("

%8s %8s %8s %8s

" %(word,pt_stem,lc_stem,sb_stem))

print("

----------詞型還原器---------------")

#詞型還原:複數名詞->單數名詞 ;分詞->動詞原型

#單詞原型一定是合法的單詞

lemmatizer =ns.wordnetlemmatizer()

for word in

words:

#將名詞還原為單數形式

n_lemma = lemmatizer.lemmatize(word, pos='n'

)

#將動詞還原為原型形式

v_lemma = lemmatizer.lemmatize(word, pos='v'

)

print('

%8s %8s %8s

' % (word, n_lemma, v_lemma))

NLTK在去停用詞 分詞 分句以及詞性標註的使用

因為實習的緣故,所以有機會接觸到了自然語言處理的一些方面。這裡主要總結一下在python環境下進行自然語言處理的相關包和可能會出現的相關錯誤,目前接觸的都比較 low,但是還是想要記錄下來。nltk是 python 下處理語言的主要工具包,可以實現去除停用詞 詞性標註以及分詞和分句等。安裝nltk,...

02 分支結構

bool資料型別 bool資料型別,是 一種表 示 非真即假的資料型別,布林型別的變數只有 yes和no兩個值。yes表 示表示式結果為真,no表 示表示式結果為假 bool a yes 在c預言中,認為非0即為真.分 語句中,經常使 用bool值做判斷,判斷執 行if語句還是else語句 迴圈結構...

二分答案0 2

0.2 目錄例題講解 二分答案是對答案用二分的方式進行列舉,通過縮小範圍逐步逼近答案,是一種高效的列舉方式,主要有二分小數及二分整數兩種.通常體現為 最 值最 在實際做題時不一定嚴格二分,三分甚至更多分都可以.在二分時,要注意r的範圍,如果過大,會引起不必要的時間消耗.一般不用理論最大值,即整數最大...