(二)簡單的NLP例項

2021-08-20 06:11:41 字數 1661 閱讀 2388

1、情感分析

1)資料:

s1=』this is a good book』

s2=』this is a awesome book』

s3=』this is a bad book』

s4=』this is a terrible book』

2)把資料處理成向量:(不關心單詞出現的順序)

統計上面文件出現過的所有單詞有』this、is 、a 、good 、awesome、 bad、 terrible、 book』共8個;

句子例如:s1=[1 1 1 1 0 0 0 1]表示awesome、 bad、 terrible沒出現,其他單詞都出現,句子長度為所有單詞總數8。

3)分別給句子s1、s2、s3、s4貼上lable作為訓練集,然後用ml方法訓練

2、文字相似度

weyou

hework

are103

0111

0201

1010

100

simi

lari

ty=c

os(θ

)=a⋅

b∥a∥

∥b∥ sim

ilar

ity=

cos(

θ)=a

⋅b‖a

‖‖b‖

3、文字分類

1)tf-idf概念

tf: 即term frequency, 用來衡量⼀個term在⽂檔中出現得有多頻繁

tf(t) = (t出現在⽂檔中的次數) / (⽂檔中的term總數)

idf: inverse document frequency, 衡量⼀個term有多重要。

idf(t) = log_e(⽂檔總數 / 含有t的⽂檔總數).

tf-idf = tf * idf

2)tf-idf例項

⼀個⽂檔有100個單詞,其中單詞baby出現了3次;且一共有10m的⽂檔, baby出現在其中的1000個⽂檔中。

那麼, tf

(bab

y)=(

3/100)

=0.03

t f(

baby

)=(3

/100)=

0.03

idf(bab

y)=l

og(10

,000

,000/1

,000)=

4 idf

(bab

y)=l

og(10

,000

,000/1

,000)=

4tf−

idf(

baby

)=tf

(bab

y)∗i

df(b

aby)

=0.03∗4

=0.12

t f−

idf(

baby

)=tf

(bab

y)∗i

df(b

aby)

=0.03∗4

=0.12

3)nltk實現tf-idf

NLP 簡單統計

1 變數名必須以字母開頭,可以包含數字和下劃線,名稱是區分大小寫的,變數名不能遊空格,可以 用下劃線 把單詞分開 2 利用freqdist尋找文字中最常見的50個詞 第89行 計算whale出現的次數 累積頻率圖 計算文字中每個詞的長度 fdist.keys 只有20個不同的元素 說明只有20種不同...

NLP入門例項推薦(Tensorflow實現)

mnist nn mnist cnn text classification cnn 專案 tensorflow例項 cnn處理句子相似度 multi perspective sentence similarity modeling with convolutional neural network...

NLP 二 編輯距離

編輯距離,又稱levenshtein距離,是指兩個字串之間,由乙個轉成另乙個所需的最少編輯操作次數。許可的編輯操作包括將乙個字元替換成另乙個字元,插入乙個字元,刪除乙個字元。例如將kitten一字轉成sitting sitten k s sittin e i sitting g 俄羅斯科學家leve...