暢談自然語言處理——初識NLP
一、引言
最近,一個名為ChatGPT的模型將計算機領域震撼,它以對話的方式進行交互,對話形式使 ChatGPT 能夠回答后續(xù)問題、承認錯誤、挑戰(zhàn)不正確的前提并拒絕不適當?shù)恼埱?。使人們感受到了人工智能越來越接近人類智能?/p>
作為目前人工智能領域最前沿的研究成果之一,
ChatGPT的實現(xiàn)與自然語言處理—NLP技術息息相關。
二、NLP技術的定義分類
自然語言處理(Natural Language Processing)簡稱NLP,是人工智能的一個重要領域,NLP技術通過讓計算機模擬人類語言的交際過程,使計算機理解和運用人類社會的各種語言,實現(xiàn)人機間的自然語言交流,從而代替人的部分腦力勞動,包括:查閱資料、解答問題、翻譯等
我們使用自然語言時,需要經(jīng)過哪些步驟呢?
很明顯是先聽,再理解,之后思考,最后說這四個步驟。計算機進行自然語言處理時也遵循這四個步驟。
按著四個步驟分為四種技術,分別為語音識別、自然語言理解、自然語言生成和語言合成。
其中自然語言理解和自然語言生成是NLP技術中最核心、最熱門也是最復雜和最有趣的技術研究方向。
三、三個發(fā)展階段
說完了NLP技術的定義與分類
接下來我們聊一聊NLP算法的三個發(fā)展階段
在NLP發(fā)展初期,計算機的運算速度很慢,科學家們只能通過總結規(guī)律來判斷自然語言的意圖,用預先準備好的知識來實現(xiàn)自然自然語言理解。因此出現(xiàn)了專家系統(tǒng)等基于規(guī)則的NLP算法
1、基于規(guī)則的算法
在NLP發(fā)展初期,計算機的運算速度很慢,科學家們只能通過總結規(guī)律來判斷自然語言的意圖,用預先準備好的知識來實現(xiàn)自然自然語言理解。
最初的智能語音遙控系統(tǒng)結構長這樣
當用戶對智能助手說出:好熱啊,能幫我打開空調嗎?
那么滿足了起始詞、命令和結束詞后就會執(zhí)行相應的程序來幫用戶打開空調啦。
但如果句子很長的話,構建的語法樹就會很大,很復雜。且用規(guī)則處理法在多義性很難處理,因為多義詞嚴重依賴上下文語境。但科學家們很快就解決了這個難題,在1970年以后統(tǒng)計語言學家的出現(xiàn)使得NLP重獲新生
2、基于統(tǒng)計的NLP算法
基于統(tǒng)計的NLP算法是一種以基于語料庫的統(tǒng)計分析為基礎的經(jīng)驗主義方法。曾廣泛應用于翻譯、語音識別、智能客服、專家系統(tǒng)中。
基于統(tǒng)計的NLP最初是為了解決語言識別問題,常見的語言識別流程很簡單,從聲音到句子,一般有五個步驟
1、把音波數(shù)據(jù)分成幀
2、把幀識別成狀態(tài)
3、把狀態(tài)組合成音素
4、把音素轉換成字
5、把字組合成句子
有了音素如何拼出合理的句子呢?如“WO3ZAI4SHANG4HAI3”是表示“我在上海”呢?還是“我載尚?!蹦??
判斷一個句子是否合理,就要通過一系列算法,例如
馬爾科夫算法來判斷這個句子在人類正常語言中出現(xiàn)的概率
設S為句子,句子是由漢字組成的,所以我們用
w
1
,
w
2
,
…
,
w
n
w_1,w_2,\dots,w_n
w1?,w2?,…,wn?
表示有序的漢字列表?!拔以谏虾!本涂梢员硎緸?br>
w
1
=
我
,
w
2
=
在
,
w
3
=
上
,
w
4
=
海
w_1=我,w_2=在,w_3=上,w_4=海
w1?=我,w2?=在,w3?=上,w4?=海
我們用P()表示概率,設“我在上?!睘镾,那么P(S)就是這句話在人類對話中可能出現(xiàn)的概率。
隨后把P(S)中的每個字按照概率論公式進行展開,
(讀作:“在S的條件下w1的概率”乘以“在w1的條件下w2的概率”…)
P
(
S
)
=
P
(
w
1
∣
<
S
>
)
?
P
(
w
2
∣
w
1
)
?
P
(
w
3
∣
w
1
,
w
2
)
?
?
?
?
P
(
w
n
∣
w
1
,
w
2
,
…
,
w
n
?
1
)
P(S) = P(w_1|<S>)·P(w_2|w_1)·P(w_3|w_1,w_2)····P(w_n|w_1,w_2,\dots,w_{n-1})
P(S)=P(w1?∣<S>)?P(w2?∣w1?)?P(w3?∣w1?,w2?)????P(wn?∣w1?,w2?,…,wn?1?)
S這個句子出現(xiàn)的概率等于每一個字出現(xiàn)的條件概率的乘積。
以“我在上?!睘槔?,我們可以列出下面的公式:
P
(
S
)
=
P
(
w
1
∣
<
S
>
)
?
P
(
w
2
∣
w
1
)
?
P
(
w
3
∣
w
1
,
w
2
)
?
P
(
w
4
∣
w
1
,
w
2
,
w
3
)
P(S) = P(w_1|<S>)·P(w_2|w_1)·P(w_3|w_1,w_2)·P(w_4|w_1,w_2,w_3)
P(S)=P(w1?∣<S>)?P(w2?∣w1?)?P(w3?∣w1?,w2?)?P(w4?∣w1?,w2?,w3?)
其中P(w1|<S>)
是第一個字“我”出現(xiàn)在句首的概率。
P(w2|w1)
是已知第一個字是“我”的前提下,第二個字“在”出現(xiàn)的概率
同理P(w3|w1,w2)
是已知第一個字是“我”,且第二個字是“在”的前提下,第三個字“上”出現(xiàn)的概率。
為了解決計算概率時指數(shù)爆炸的難題,馬爾科夫算法將
上述式子簡化為二元模型
P
(
S
)
=
P
(
w
1
∣
<
S
>
)
?
P
(
w
2
∣
w
1
)
?
P
(
w
3
∣
w
2
)
?
P
(
w
4
∣
w
3
)
P(S) = P(w_1|<S>)·P(w_2|w_1)·P(w_3|w_2)·P(w_4|w_3)
P(S)=P(w1?∣<S>)?P(w2?∣w1?)?P(w3?∣w2?)?P(w4?∣w3?)
化成——》
P
(
w
n
∣
w
n
?
1
)
=
P
(
w
n
?
1
,
w
n
)
P
(
w
n
?
1
)
P(w_n|w_{n-1}) = \frac{P(w_{n-1},w_n)}{P(w_{n-1})}
P(wn?∣wn?1?)=P(wn?1?)P(wn?1?,wn?)?
所以只要求出
P
(
w
n
∣
w
n
?
1
,
w
i
)
和
P
(
w
n
?
1
)
,即可求出
P
(
w
n
∣
w
n
?
1
)
了
P(w_n|w_{n-1},w_i)和P(w_{n-1}),即可求出P(w_n|w_{n-1})了
P(wn?∣wn?1?,wi?)和P(wn?1?),即可求出P(wn?∣wn?1?)了
但這時需要借助語料庫了,語料庫的大小和能力成正相關(數(shù)據(jù)量和復雜度圖)
假設語料庫有2000億條內容,
“我在”于語料庫中出現(xiàn)了1000萬次,那么
P
(
w
1
∣
w
2
)
=
1000
萬
2000
億
=
0.00005
P(w_1|w_2)=\frac{1000萬}{2000億}=0.00005
P(w1?∣w2?)=2000億1000萬?=0.00005
就是1000萬除以2000億,等于0.00005
P
(
w
n
?
1
)
=
2
億
2000
億
=
0.00001
P(w_{n-1})=\frac{2億}{2000億}=0.00001
P(wn?1?)=2000億2億?=0.00001
“我”于語料庫出現(xiàn)了2億次,那么P(wn-1)就是2億除以2000億,等于0.001
因此可以求得
‘我在’出現(xiàn)的條件下‘我’出現(xiàn)的概率為
P
(
w
n
∣
w
n
?
1
)
=
P
(
w
n
?
1
,
w
n
)
P
(
w
n
?
1
)
=
0.00005
0.001
=
0.05
P(w_n|w_{n-1}) = \frac{P(w_{n-1},w_n)}{P(w_{n-1})}= \frac{0.00005}{0.001}= 0.05
P(wn?∣wn?1?)=P(wn?1?)P(wn?1?,wn?)?=0.0010.00005?=0.05
以此類推,最后選取組合概率最高的詞,計算概率后,“我在上?!北取拔逸d尚?!钡目赡苄愿摺S纱司涂梢詼蚀_地識別語音啦。
但這個算法也存在這問題,即數(shù)據(jù)稀疏問題。由于語料庫不能覆蓋所有詞語,在計算時會出現(xiàn)大多數(shù)的數(shù)值缺失,數(shù)據(jù)越稀疏結果越不準確。為了解決這個問題,在2003年研究者嘗試用神經(jīng)網(wǎng)絡來研究語言模型。
3、基于深度學習的NLP算法
伴隨著計算處理能力的提升,深度學習有了較快的發(fā)展。
在2003年這個想法被提出后,2011年羅南·科洛伯特等人用一個簡單的深度學習模型在命名實體識別(NER)、**詞性標注(POS tagging)**等NLP任務中取得SOTA(技術發(fā)展最新水平)成績(畫:No.1)
2013年,以Word2vec為代表的詞向量模型開始普及,此外基于深度學習的研究經(jīng)歷了CNN、RNN、Transformer等特征提取器。
2019年至2020年,谷歌公司的BERT模型、OpenAI的GPT-3模型在很多指標上超越了人類。
2023年3月14日基于GPT-4的Chat-GPT的回答準確性不僅大幅提高,還具備更高水平的識圖能力,且能夠生成歌詞、創(chuàng)意文本,實現(xiàn)風格變化。
深度學習經(jīng)過幾十年的發(fā)展,深度學習的成功秘訣有以下三點
(1)海量數(shù)據(jù)(big data)
(2)深度神經(jīng)網(wǎng)絡模型
(3)大規(guī)模并行計算
Chat-GPT離不開這三個要素,當然也離不開科研人員的辛勤付出。
結語
我還為大家準備了相關習題和資料以便課后學習,謝謝大家。文章來源:http://www.zghlxwxcb.cn/news/detail-427670.html
http://nlp.aitianhai.top/#/Nlp文章來源地址http://www.zghlxwxcb.cn/news/detail-427670.html
到了這里,關于暢談自然語言處理——初識NLP技術的文章就介紹完了。如果您還想了解更多內容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網(wǎng)!