一、nlp
nlpnl
p中的一維隨機變數x
xx的概率分布統計方法:
假設我們的語料庫為乙個字串:str
=『ab
caab
a』
str = 『abcaaba』
str=『a
bcaa
ba』那麼x
xx的可能取值為:x=a
,x=b
,x=c
x=a,x=b,x=c
x=a,x=
b,x=
c我們假設有乙個滑動視窗,視窗的大小為1個字母(在不同任務中可以為字母、單詞、片語等粒度)。
每當滑動到乙個字母時,判斷該字母在不在詞表中(詞表即為隨機變數x可能的取值),如果在詞表中,說明滑動視窗之前遍歷過該字母,那麼將該字母出現的次數+1,如果不在詞表中,那麼將該字母出現次數置為1(在滑動視窗中首次出現),當遍歷完整個語料,我們會得到頻率表:
x xxa
aabbbc
cccou
nt
count
count4442
221
11記錄的wor
d—su
mword_—sum
word—
sum即為視窗滑動的次數,視窗大小為1時等於len
(str
)=
7len(str) = 7
len(st
r)=7
那麼歸一化後的概率分布為
x xxa
aabbbc
cccou
nt
count
count4774
27
721771
偽**如下:
word_sum = 0
word_freq = dict()
for index in range(len(str)):
if str[index] in word_freq.keys():
word_freq[str[index]] = word_freq[str[index]] + 1
else:
word_freq[str[index]] = 1
word_sum = word_sum + 1
word_probs = dict()
for key in word_freq.keys():
word_probs[key] = word_freq[key] / word_sum
二、nlp中的高維隨機變數聯合概率分布統計方法(以二維隨機變數x,y
x,yx,
y聯合分布為例):
仍然假設我們的語料庫為乙個字串:str
=『ab
caab
a』
str = 『abcaaba』
str=『a
bcaa
ba』那麼x,y
x,yx,
y的可能取值為x
xx的可能取值構成的集合和y
yy的可能取值構成的集合的笛卡爾積,兩者可能的取值的集合都是詞彙表裡面的字母,即。
現在我們的滑動視窗大小為2,即每一次滑動後視窗內都包含兩個字母(x=
x,y=
y)
(x=x,y=y)
(x=x,y
=y),我們查詢頻率統計表中x=x
,y=y
x=x,y=y
x=x,y=
y的的位置對應的值,將其+1操作(開始都初始化為0)。遍歷完整個語料得到頻率表:
x yxy
xya aab
bbccca
aa1112
22000b
bb1110
00111c
cc1110
000
00記錄視窗滑動次數為6,那麼歸一化後的概率分布為:
x yxy
xya aab
bbccca
aa1661
26
62000b
bb1661
00016
61ccc1
66100
000
0同理,三維隨機變數x,y
,z
x,y,z
x,y,
z的聯合概率分布為乙個三維張量,以此類推按照上述方法統計概率分布。
有了聯合概率分布,我們就可以計算條件概率分布和邊緣概率分布。
自然語言處理中語料庫的理解
語料庫中存放的是在語言實際使用中真實出現過的語言材料 語料庫是以電子計算機為載體承載語言知識的基礎資源 真實語料需要經過加工 分析和處理 才能成為有用的資源。語料庫 corpus,複數corpora 指經科學取樣和加工的大規模電子文字庫。借助計算機分析工具,研究者可開展相關的語言理論及應用研究 確定...
NLP 大資料之行,始於足下 談談語料庫知多少
2016年7月20日13 47 51 大資料之行,始於足下 談談語料庫知多少。大多數學者普遍認為 語言學的研究必須基於語言事實的基礎,必須詳盡的大量的占有材料,才有可能在理論上得出比較可靠的結論。語料庫語言學 傳統語言材料的蒐集整理和加工完全以手工進行,費時費力,直到計算機出現並隨之計算能力強大之後...
關於語料庫中OOV未登入詞的處理方式
在word2vec訓練出來的詞向量語料庫中,對oov問題是無法解決的,載入模型 wvmodel gensim.models.word2vec.load r e pycharmproject new word2vectest model wiki corpus.bin remove out of vo...