tft每日頭條

 > 科技

 > nlp自然語言處理算法

nlp自然語言處理算法

科技 更新时间:2024-06-30 13:21:40

nlp自然語言處理算法(一文看懂自然語言理解-NLU)1

自然語言理解(NLU)跟 NLP 是什麼關系?為什麼說它是人工智能領域裡一個難點?NLU 的發展史曆史和目前最現金的方法是什麼?

本文将解答上面的問題,帶你全面了解自然語言理解(NLU)。

什麼是自然語言理解(NLU)?

大家最常聽到的是 NLP,而 自然語言理解(NLU) 則是 NLP 的一部分:

nlp自然語言處理算法(一文看懂自然語言理解-NLU)2

什麼是自然語言?

自然語言就是大家平時在生活中常用的表達方式,大家平時說的「講人話」就是這個意思。

自然語言:我背有點駝(非自然語言:我的背部呈彎曲狀)

自然語言:寶寶的經紀人睡了寶寶的寶寶

自然語言理解就是希望機器像人一樣,具備正常人的語言理解能力,由于自然語言在理解上有很多難點(下面詳細說明),所以 NLU 是至今還遠不如人類的表現。

nlp自然語言處理算法(一文看懂自然語言理解-NLU)3

下面用一個具體的案例來深度說明一下自然語言理解(NLU):

對話系統這個事情在2015年開始突然火起來了,主要是因為一個技術的普及:機器學習特别是深度學習帶來的語音識别和NLU(自然語言理解)——主要解決的是識别人講的話。

這個技術的普及讓很多團隊都掌握了一組關鍵技能:意圖識别和實體提取

這意味着什麼?我們來看一個例子。

在生活中,如果想要訂機票,人們會有很多種自然的表達:

“訂機票”;

“有去上海的航班麼?”;

“看看航班,下周二出發去紐約的”;

“要出差,幫我查下機票”;

等等等等

可以說“自然的表達” 有無窮多的組合(自然語言)都是在代表 “訂機票” 這個意圖的。而聽到這些表達的人,可以準确理解這些表達指的是“訂機票”這件事。

而要理解這麼多種不同的表達,對機器是個挑戰。在過去,機器隻能處理“結構化的數據”(比如關鍵詞),也就是說如果要聽懂人在講什麼,必須要用戶輸入精确的指令。

所以,無論你說“我要出差”還是“幫我看看去北京的航班”,隻要這些字裡面沒有包含提前設定好的關鍵詞“訂機票”,系統都無法處理。而且,隻要出現了關鍵詞,比如“我要退訂機票”裡也有這三個字,也會被處理成用戶想要訂機票。

nlp自然語言處理算法(一文看懂自然語言理解-NLU)4

自然語言理解這個技能出現後,可以讓機器從各種自然語言的表達中,區分出來,哪些話歸屬于這個意圖;而那些表達不是歸于這一類的,而不再依賴那麼死闆的關鍵詞。比如經過訓練後,機器能夠識别“幫我推薦一家附近的餐廳”,就不屬于“訂機票”這個意圖的表達。

并且,通過訓練,機器還能夠在句子當中自動提取出來“上海”,這兩個字指的是目的地這個概念(即實體);“下周二”指的是出發時間。

這樣一來,看上去“機器就能聽懂人話啦!”。

nlp自然語言處理算法(一文看懂自然語言理解-NLU)5

自然語言理解(NLU)的應用

幾乎所有跟文字語言和語音相關的應用都會用到 NLU,下面舉一些具體的例子。

nlp自然語言處理算法(一文看懂自然語言理解-NLU)6

機器翻譯

基于規則的翻譯效果經常不太好,所以如果想提升翻譯的效果,必須建立在對内容的理解之上。

如果是不理解上下文,就會出現下面的笑話:

I like apple, it’s so fast!

我喜歡「蘋果」,它很快!

機器客服

如果想實現問答,就要建立在多輪對話的理解基礎之上,自然語言理解是必備的能力。

下面的例子對于機器來說就很難理解:

“有什麼可以幫您?”

“你好,我想投訴”

“請問投訴的車牌号是多少?”

“xxxxxx”

“請問是什麼問題?”

“我剛上車,那個态度惡劣的哥譚市民就沖我發火”

機器很容易理解為:那個态度惡劣/的/哥譚/市民/就沖我發火

智能音箱

智能音箱中,NLU 也是重要的一個環節。很多語音交互都是很短的短語,音箱不但需要能否識别用戶在說什麼話,更要理解用戶的意圖。

“我冷了”

機器:幫您把空調調高1度

用戶并沒有提到空調,但是機器需要知道用戶的意圖——空調有點冷,需要把溫度調高。

自然語言理解(NLU)的難點

下面先列舉一些機器不容易理解的案例:

  1. 校長說衣服上除了校徽别别别的
  2. 過幾天天天天氣不好
  3. 看見西門吹雪點上了燈,葉孤城冷笑着說:“我也想吹吹吹雪吹過的燈”,然後就吹滅了燈。
  4. 今天多得謝遜出手相救,在這裡我想真心感謝“謝謝謝遜大俠出手”
  5. 滅霸把美隊按在地上一邊摩擦一邊給他洗腦,被打殘的鋼鐵俠說:滅霸爸爸叭叭叭叭兒的在那叭叭啥呢
  6. 姑姑你估估我鼓鼓的口袋裡有多少谷和菇!!
  7. “你看到王剛了嗎”“王剛剛剛剛走”
  8. 張傑陪倆女兒跳格子:俏俏我們不要跳跳跳跳過的格子啦

nlp自然語言處理算法(一文看懂自然語言理解-NLU)7

那麼對于機器來說,NLU 難點大緻可以歸為5類:

難點1:語言的多樣性

自然語言沒有什麼通用的規律,你總能找到很多例外的情況。

另外,自然語言的組合方式非常靈活,字、詞、短語、句子、段落…不同的組合可以表達出很多的含義。例如:

我要聽大王叫我來巡山

給我播大王叫我來巡山

我想聽歌大王叫我來巡山

放首大王叫我來巡山

給唱一首大王叫我來巡山

放音樂大王叫我來巡山

放首歌大王叫我來巡山

給大爺來首大王叫我來巡山

難點2:語言的歧義性

如果不聯系上下文,缺少環境的約束,語言有很大的歧義性。例如:

我要去拉薩

  • 需要火車票?
  • 需要飛機票?
  • 想聽音樂?
  • 還是想查找景點?

難點3:語言的魯棒性

自然語言在輸入的過程中,尤其是通過語音識别獲得的文本,會存在多字、少字、錯字、噪音等問題。例如:

大王叫我來新山

大王叫讓我來巡山

大王叫我巡山

難點4:語言的知識依賴

語言是對世界的符号化描述,語言天然連接着世界知識,例如:

大鴨梨

除了表示水果,還可以表示餐廳名

7天

可以表示時間,也可以表示酒店名

晚安

有一首歌也叫《晚安》

難點5:語言的上下文

上下文的概念包括很多種:對話的上下文、設備的上下文、應用的上下文、用戶畫像…

U:買張火車票

A:請問你要去哪裡?

U:甯夏

U:來首歌聽

A:請問你想聽什麼歌?

U:甯夏

NLU 的實現方式

自然語言理解跟整個人工智能的發展曆史類似,一共經曆了3次疊代:

  1. 基于規則的方法
  2. 基于統計的方法
  3. 基于深度學習的方法

nlp自然語言處理算法(一文看懂自然語言理解-NLU)8

最早大家通過總結規律來判斷自然語言的意圖,常見的方法有:CFG、JSGF等。

後來出現了基于統計學的 NLU 方式,常見的方法有:SVM、ME等。

随着深度學習的爆發,CNN、RNN、LSTM 都成為了最新的”統治者”。

到了2019年,BERT 和 GPT-2 的表現震驚了業界,他們都是用了 Transformer,下面将重點介紹 Transformer,因為他是目前「最先進」的方法。

nlp自然語言處理算法(一文看懂自然語言理解-NLU)9

Transformer 和 CNN / RNN 的比較

Transformer 的原理比較複雜,這裡就不詳細說明了,感興趣的朋友可以查看下面的文章,講的很詳細:

《BERT大火卻不懂Transformer?讀這一篇就夠了》

下面将摘取一部分《why Self-Attention?A Targeted Evaluation of Neural Machine Translation Architectures》裡的數據,直觀的讓大家看出來3者的比較。

語義特征提取能力

nlp自然語言處理算法(一文看懂自然語言理解-NLU)10

從語義特征提取能力來說,目前實驗支持如下結論:Transformer在這方面的能力非常顯著地超過RNN和CNN(在考察語義類能力的任務WSD中,Transformer超過RNN和CNN大約4-8個絕對百分點),RNN和CNN兩者能力差不太多。

長距離特征捕獲能力

nlp自然語言處理算法(一文看懂自然語言理解-NLU)11

原生CNN特征抽取器在這方面極為顯著地弱于RNN和Transformer,Transformer微弱優于RNN模型(尤其在主語謂語距離小于13時),能力由強到弱排序為Transformer>RNN>>CNN; 但在比較遠的距離上(主語謂語距離大于13),RNN微弱優于Transformer,所以綜合看,可以認為Transformer和RNN在這方面能力差不太多,而CNN則顯著弱于前兩者。

任務綜合特征抽取能力

nlp自然語言處理算法(一文看懂自然語言理解-NLU)12

Transformer綜合能力要明顯強于RNN和CNN(你要知道,技術發展到現在階段,BLEU絕對值提升1個點是很難的事情),而RNN和CNN看上去表現基本相當,貌似CNN表現略好一些。

并行計算能力及運算效率

nlp自然語言處理算法(一文看懂自然語言理解-NLU)13

Transformer Base最快,CNN次之,再次Transformer Big,最慢的是RNN。RNN比前兩者慢了3倍到幾十倍之間。

關于 Transformer ,推薦幾篇優秀的文章給大家,讓大家有一個更綜合的了解:

《放棄幻想,全面擁抱Transformer:自然語言處理三大特征抽取器(CNN/RNN/TF)比較》

《從Word Embedding到Bert模型—自然語言處理中的預訓練技術發展史》

《效果驚人的GPT 2.0模型:它告訴了我們什麼》

,

更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!

查看全部

相关科技资讯推荐

热门科技资讯推荐

网友关注

Copyright 2023-2024 - www.tftnews.com All Rights Reserved