2023年語義理解總結 二

2021-09-12 10:16:51 字數 2755 閱讀 7898

前面的部落格進行了總述,這篇部落格細化深入,主要結合知識圖譜,kb_qa,語義表示的豐富性方面來論述,但是仍然會很寬泛,因為講具體的技術細節,會有很多人矇圈的,沒有太大意義。

前面提到,語義理解,一方面要獲取豐富,靈活的語義表示,另一方面要與知識圖譜融合。要想獲取精準的語義理解,比如誰是第乙個為紙牌屋裡的xx角色配音的人?這類問題的回答,在前面的基礎上還要融合語言的邏輯,語言的邏輯一般分為五類:一元,二元,joint,intersection,aggregate,用語**析的方式構造知識圖譜的查詢語法樹。而中文的語義理解,80%是靠人類的對話的上下文來理解的。這個過程涉及到使用者畫像,日程表,使用者的情緒,所處的環境等因素。所以,深度學習在語義理解中的角色是與這些場景結合,從而輔助提公升語義理解。下面以一篇**作為切入點:

■ ** | a structured self-attentive sentence embedding

■ 鏈結 |

■ 原始碼 |

本文發表於 iclr 2017,作者提出乙個新的自注意力模型,能提取句子中的重要部分進行 embedding,是一篇可以直接看公式理

解作者思路的**。

本文最大的亮點在於提出了自注意力機制,無需外部資訊即可對自身進行 attention。此外,本文還提出用二維矩陣表示句子,

矩陣的不同行表示句子不同層面的資訊,使句子表達資訊更豐富,解決了句子被壓縮成一維向量時的資訊損失問題。

這篇**具有非常高的商業應用價值!因為他解決了前篇部落格中提到的siamese lstm計算語義相似度的提公升問題。把他們倆個融合在一起,可以大大提公升語義理解的能力。這篇**提出的自注意力模型,用以獲取句子語義的多向量維度,也就是用矩陣來表示句子的語義,然後碾平,解決了本人之前提出的語義表示的豐富性問題。因為乙個句子,尤其是乙個長句子,他的語義表示單純地用乙個稠密的向量來表示,確實會丟失很多語義資訊。目前這個語義表示的方法,超越了之前的bilstm+attention,cnn等方法,應該作為以後語義表示的乙個baseline。

本人之所以反覆強調語義表示的問題,是因為語義理解的第一步就是要獲取豐富的語義表示,否則後面的語**析,與知識圖譜融合等工作,是無法繼續的。語義表示的好壞,關係著整個語義理解的準確率。

傳統的kb_qa(不同於chatbot)的方法主要有:①語**析②資訊抽取③向量建模。第一種難度是最大的,目前工業界,只有微軟研發出來乙個融合多種方法的以語**析為主的並在此基礎之上用深度學習改進的核心推導鏈技術,這個系統設計的複雜程度令人驚訝,準確率也是非常高的。大多數的公司,還是青睞於向量建模的方法,因為他的門檻低一些,但是對於時序性的推理問題,比如誰是第乙個等等之類的問題,是無能為力的。而向量建模這種方法,其核心:①question的語義表示②question 與 answer的語義相似度計算。當然構建loss function的時候,是必須考慮負樣本的。傳統的方法是抽取出question中的主題詞,然後考慮答案的multi-hot(知識圖譜中的entity種類數目,relation數目,是one-hot的擴充套件)表示,用乙個矩陣抽取出稠密向量表示,注意,這個向量是把entity和relation融合在一起的,並沒有分開,是不合理的,然後與question的語義進行相似度運算。深度學習改進它,方向就是quesion的豐富的語義表示,answer語義表示的分開考慮,改進score公式。可以用cnn抽取出question的三個方向的語義表示,然後答案考慮:答案型別,答案在知識圖譜中的路徑,答案的上下文,然後求和表示score公式。這是改進的方向,差不多能提公升2個以上的百分點,word2vector的預訓練改進的話,能提公升更多(改進w2v也是其中乙個方向,第一篇部落格提到過)。

前面提到了深度學習與知識圖譜融合,在考慮答案的型別時,已經考慮到了知識圖譜的多hot表示,除此之外,深度學習與知識圖譜融合,還可以在其上直接訓練模型。(h,r,t)三元組,可以訓練出這樣乙個數學公式:h + r =t。當然,知識圖譜的異構性和不平衡性給深度學習訓練帶來了很大的困難。h + r = t僅僅考慮了1 to 1的情況,對於n_1 or 1_n,以及relation的多義場景,需要transd模型。訓練他的目的很簡單,當遇到推理性的問題,比如:梁啟超的兒子的太太的情人是誰這類的問題,可以迎刃而解。(不建議用知識圖譜的圖搜尋這種方案!!)

接下來需要突破的就是多輪對話環境下的語義理解了。前面的問題解決了,dm和dst就是核心中的核心了。因為對於ai第一梯度的公司來說,本人前面提到的根本不算是什麼核心技術,事實上本人一直認為,深度學習從來都不是語義理解的核心。dm這塊兒,也就是結合上下文理解句子的語義,slot填充策略,slot槽位的優先順序制定策略,曹組的關係制定,曹組構成的樹的准入條件,還有槽繼承或者槽記憶,狀態切換,這些才是語義理解的核心。

由於每個人專注的領域不同,語義表示的豐富性,不僅體現在多維度,還體現在上下文交叉以及捕捉到詞語的情感色彩,這些都是需要突破的地方。希望2023年在多輪對話以及kb_qa上,會有一些進展。

總結起來,本人認為,深度學習與語義理解的關係,深度學習是輔助提公升,未來強化學習有機會,應該同時兼顧以下幾點:①語義表示的豐富性,自適應性。豐富性不僅體現在語義表示的多維度(self_attention,用矩陣碾平表示,捕捉語義的多個維度),還體現在語義本身的上下文交叉(歧義表示),感**彩,而自適應性體現在out of context,語義平滑,能夠應對不同的環境②與語言邏輯的結合。微軟的核心推導鏈兒提供了乙個借鑑思路,估計普及難度有點兒大③與知識圖譜的融合,這是大勢所趨④與多輪對話,上下文的結合,這也是大勢所趨。理解一句話,更多是依靠說話者所處環境,比如slot填充時,可以依靠使用者畫像或者日程表,不一定非得是上下文,說話者的情緒。深度學習只有與上述情景融合,才會發揮作用,有很多東西需要研發突破。

posted @

2018-02-12 20:53

佟學強 閱讀(

...)

編輯收藏

2023年語義理解總結 一

2017年語義理解總結 一 2017年就這麼悄無聲息地過去了。在工業界,2016年是推薦的元年,2017年是中國的ai元年,這意味著路漫漫其修遠兮 而學術界永遠會超前於工業界,有些時候難免也會有些一廂情願 這些線索表明 ai的發展非常迅速 學術界和工業界不同步的現象是共存的。過去的一年在nlp領域裡...

2023年語義理解總結 一

2017年就這麼悄無聲息地過去了。在工業界,2016年是推薦的元年,2017年是中國的ai元年,這意味著路漫漫其修遠兮 而學術界永遠會超前於工業界,有些時候難免也會有些一廂情願 這些線索表明 ai的發展非常迅速 學術界和工業界不同步的現象是共存的。過去的一年在nlp領域裡,知識圖譜的發展是最為耀眼的...

Rust Ordering語義理解

目錄參考資料 注 使用條件僅僅針對rust,當前1.43.1版本中rust的所有atomic 實現中都加了 cfg target has atomic load store 8 屬性配置 為什麼需要記憶體順序?rust原子操作操作有5中記憶體順序 relaxed release acquire ac...