国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

自然語言理解-從規則到深度學習

CntChen / 3680人閱讀

摘要:本文詳細討論了自然語言理解的難點,并進一步針對自然語言理解的兩個核心問題,詳細介紹了規則方法和深度學習的應用。引言自然語言理解是人工智能的核心難題之一,也是目前智能語音交互和人機對話的核心難題。

摘要:自然語言理解是人工智能的核心難題之一,也是目前智能語音交互和人機對話的核心難題。之前寫過一篇文章自然語言理解,介紹了當時NLU的系統方案,感興趣的可以再翻一番,里面介紹過的一些內容不再贅述。本文詳細討論了自然語言理解的難點,并進一步針對自然語言理解的兩個核心問題,詳細介紹了規則方法和深度學習的應用。

引言


自然語言理解是人工智能的核心難題之一,也是目前智能語音交互和人機對話的核心難題。維基百科有如下描述[1]:

Natural language understanding (NLU) is a subtopic of natural language
processing in artificial intelligence that deals with machine reading
comprehension. NLU is considered an AI-hard problem.

對于AI-hard的解釋如下:

In the field of artificial intelligence, the most difficult problems
are informally known as AI-complete or AI-hard, implying that the
difficulty of these computational problems is equivalent to that of
solving the central artificial intelligence problem—making computers
as intelligent as people, or strong AI.

簡言之,什么時候自然語言能被機器很好的理解了,strong AI也就實現了~~

之前寫過一篇文章自然語言理解,介紹了當時NLU的系統實現方案,感興趣的可以再翻一番,里面介紹過的一些內容不再贅述。那篇文章寫于2015年底,過去一年多,技術進展非常快,我們的算法也進行了大量升級,核心模塊全部升級到深度學習方案。本文主要結合NUI平臺中自然語言理解的具體實現,詳細的、系統的介紹意圖分類和屬性抽取兩個核心算法。如下圖所示,第一個框中是意圖分類,第二個框中是屬性抽取。

對于整個NUI平臺的介紹可以參考孫健/千訣寫的從“連接”到“交互”—阿里巴巴智能對話交互實踐及思考。

自然語言理解的難點


為什么自然語言理解很難?本質原因是語言本身的復雜性。自然語言尤其是智能語音交互中的自然語言,有如下的5個難點:

一. 語言的多樣性

一方面,自然語言不完全是有規律的,有一定規律,也有很多例外;另一方面,自然語言是可以組合的,字到詞,詞到短語,短語到從句、句子,句子到篇章,這種組合性使得語言可以表達復雜的意思。以上兩方面共同導致了語言的多樣性,即同一個意思可以有多種不同的表達方式,比如:

我要聽大王叫我來巡山

給我播大王叫我來巡山

我想聽歌大王叫我來巡山

放首大王叫我來巡山

給唱一首大王叫我來巡山

放音樂大王叫我來巡山

放首歌大王叫我來巡山

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

二. 語言的歧義性

在缺少語境約束的情況下,語言有很大的歧義性,比如:

我要去拉薩

(1)火車票?

(2)飛機票?

(3)音樂?

(4)還是查找景點?

三. 語言的魯棒性

語言在輸入的過程中,尤其是通過語音識別轉錄過來的文本,會存在多字、少字、錯字、噪音等等問題,比如:

錯字

(1)大王叫我來新山

多字

(2)大王叫讓我來巡山

少字

(3)大王叫我巡山

別稱

(4)熊大熊二(指熊出沒)

不連貫

(5)我要看那個恩花千骨

噪音

(6)全家只有大王叫我去巡山咯

四. 語言的知識依賴

語言是對世界的符號化描述,語言天然連接著世界知識,比如:

大鴨梨

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

七天

(2)除了表示時間,還可以表示酒店名

總參

(3)除了表示總參謀部,還可以表示餐廳名

天氣預報

(4)還是一首歌名

晚安

(5)這也是一首歌名

五. 語言的上下文

上下文的概念包括很多內容,比如:

對話上下文

設備上下文

應用上下文

用戶畫像

...

U:買張火車票

A:請問你要去哪里?

U:寧夏

這里的寧夏是指地理上的寧夏自治區

U:來首歌聽

A:請問你想聽什么歌?

U:寧夏

這里的寧夏是指歌曲寧夏

意圖分類的實現方法

意圖分類是一種文本分類。主要的方法有:

基于規則(rule-based)

(1)CFG

(2)JSGF

(3)……

傳統機器學習方法

(1)SVM

(2)ME

(3)……

深度學習方法

(1)CNN

(2)RNN/LSTM

(3)……

3.1 基于規則的方法

這里重點介紹基于CFG的方法[2],該方法最早出現于CMU Phoenix System中,以下是一個飛機票領域的示例:

按照上面的文法,對于“從北京去杭州的飛機票”,可以展成如下的樹:

3.2 基于傳統統計的方法

我們在第一版的系統中,采用的基于SVM的方法,在特征工程上做了很多工作。第二版中切換到深度學習模型后,效果有很大提升,此處略過,直接介紹深度學習方法。

3.3 基于深度學習的方法

深度學習有兩種典型的網絡結構:

CNN(卷積神經網絡)

RNN(循環神經網絡)

基于這兩種基本的網絡結構,又可以衍生出多種變形。我們實驗了以下幾種典型的網絡結構:

CNN [3]

LSTM [4]

RCNN [5]

C-LSTM [6]

從實驗結果來看,簡單的CNN的效果最好,其網絡結構如下:

單純的CNN分類效果無法超越復雜特征工程的SVM分類器,尤其是在像音樂、視頻等大量依賴世界知識的領域中。比如怎么把如下的世界知識融入到網絡中去:

這背后更大的背景是,深度學習在取得巨大成功后,慢慢開始顯露出瓶頸,比如如何表示知識、存儲知識,如何推理等。其中一個探索方向就是試圖把聯結主義和符號主義進行融合。純粹的基于聯結主義的神經網絡的輸入是distributed representation,把基于符號主義的symbolic representation融合到網絡中,可以大大提高效果,比如:

屬性抽取的實現方法


屬性抽取問題可以抽象為一個序列標注問題,如下例:

基于規則(rule-based)

(1)Lexicon-based

(2)CFG

(3)JSGF

(4)……

傳統機器學習方法

(1)HMM

(2)CRF

(3)……

深度學習方法

(1)RNN/LSTM

(2)……

4.1 基于規則的方法

這里主要介紹基于JSGF(JSpeech Grammar Format)的方法:

JSGF is a BNF-style, platform-independent, and vendor-independent textual representation of grammars for use in speech recognition.

其基本的符號及其含義如下:

比如對于如下的示例:

可以展開成圖:

對于“幫我打開空調”,其在圖中的匹配路徑如下:

匹配到這條路徑后,可以根據標簽,把“空調”抽取到device這個屬性槽上。

4.2 基于傳統統計的方法

經典算法為CRF,略過。

4.3 基于深度學習的方.

用于序列標注的深度學習模型主要有[7]:

RNN

LSTM

Bi-LSTM

Bi-LSTM-Viterbi

Bi-LSTM-CRF

也有一些多任務聯合訓練的模型,比如[8]、[9]。

在我們的系統中,采用的是Bi-LSTM-CRF模型:

同樣的,在input上,將distributed representation和symbolic representation做了融合。

小結


在實際的系統中,基于規則的方法和基于深度學習的方法并存。基于規則的方法主要用來快速解決問題,比如一些需要快速干預的BUG;基于深度學習的方法是系統的核心。

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/45556.html

相關文章

發表評論

0條評論

CntChen

|高級講師

TA的文章

閱讀更多
最新活動
閱讀需要支付1元查看
<