自然語言處理的語義建模介紹

2021-09-13 12:05:22 字數 3148 閱讀 9800

摘要:本文主要是簡單介紹了自然語言處理( nlp )的語義建模思想。
在本文中,我將簡單介紹自然語言處理(nlp )的語義建模思想。

語義建模(或語義語法)通常與語言建模(或語言語法)相比較,我們現在從二者的定義和對比來理解語義建模。

語義語法和語言語法都定義了理解自然語言句子的形式。語言語法涉及名詞、動詞等語言範疇。另一方面,語義語法是這樣一種語法,它的非終端不是名詞或動詞等一般結構或語言類別,而是人或公司等語義類別。

語言和語義兩種方法在20世紀70年代幾乎同時出現。作為計算語言運動的一部分,語言建模一直備受關注,並且是整個自然語言處理開發的基礎。

語義建模一開始很受歡迎,但由於技術複雜,很快就失敗了。然而,近年來,語義建模經歷了復興,現在它幾乎是google、cortana、siri、alexa等所有商業自然語言處理系統的基礎。

理解語義語法和語言語法之間區別的最簡單方法是看下面的插圖:

在上圖中,上下句子相同,但處理方式不同。下面的部分使用傳統的語言語法進行分析,其中每個單詞都用pos (語音點)標記,如名詞的nn,形容詞的jj,等等。但是,上面的部分使用語義語法進行解析,乙個或多個單詞形成高階語義類別,如日期或地理,而不是對單個單詞進行pos標記。

這當然是語言方法的高度簡化的定義,因為我們忽略了共同參照分析、命名實體解析等。

這種將單個單詞組合成高階語義實體的能力被引入來幫助解決困擾早期nlp系統的乙個關鍵問題——語言歧義。

請看下圖:

儘管兩句的語言特徵基本相同,但語義卻完全不同。僅僅用語言語法來解決這種歧義將需要非常複雜的語境分析——如果甚至在這種語境可用的時候——而且在許多情況下,根本不可能確定地做到這一點。

另一方面,語義語法允許以簡單和完全確定的方式清楚地解決這種歧義。使用構造得當的語義語法,friday和alexy這兩個詞將屬於不同的類別,因此不會導致含義混亂。

請注意,這些詞除了具有相同的pos標籤之外,還具有不同的「命名實體」解析度。然而,在更複雜的現實生活中,名為實體解析的例子被證明遠沒有那麼有效。

讓我們來看一下語義語法的簡單定義。

不管配置的具體語法如何,語法通常被定義為語義實體的集合,其中每個實體至少具有乙個名稱和同義詞列表,通過這些名稱和列表可以識別該實體。

例如,以下是**和使用者實體及其同義詞的簡單定義:

根據這種語法,以下句子將全部分解成相同的兩個語義實體:

4.語義實體序列可以進一步繫結到使用者定義的意圖,以便最終採取行動。這種使用者定義意圖的集合通常構成完整的nlp流水線。

當然,現實生活中的系統支援更複雜的語法定義。同義詞的定義有很多不同的方式,因為同義詞本身有很多不同的型別;語義實體可以有資料型別,並且可以被組織成分層組來幫助短期記憶處理——不幸的是,所有這些都超出了這個部落格所涉及的範圍。你可以在這裡找到這種語法支援的乙個例子。

我們強調了上述語義語法方法的確定性。儘管語言和語義語法應用的具體實現可以是確定性的和概率性的,但是語義語法幾乎總是導致確定性處理。

原因在於語義語法本身的性質,它基於簡單的同義詞匹配。正確定義的語義語法允許對語義實體進行完全確定性的搜尋。根本沒有「猜測」——語義實體要麼被毫不含糊地找到,要麼沒有。

由此產生的語義語法決定論是乙個驚人的品質。雖然概率方法可以在許多眾所周知的場景中工作,如情感分析、支援聊天機械人或文件理解,但它根本不適合nlp / nlu驅動的業務資料報告和分析。例如,twitter的反饋是85 %還是86 %是正面的並不重要,只要它朝著正確的方向發展。然而,另一方面,報告銷售數字必須準確無誤,必須與會計系統的資料精確匹配。即使像「你上一季度的總銷售額是1億美元,概率是97%」這樣的高概率結果在任何情況下都是毫無價值的。

儘管語義語法有很多好處,但有乙個明顯的限制阻礙了它的發展(至少最初是這樣),即它只能應用於狹窄的資料域。

儘管語言語法對所有資料域都是通用的(因為它處理動詞和名詞等通用語言結構),但語義語法及其基於同義詞的匹配僅限於特定的、通常非常狹窄的資料域。原因在於,為了建立語義模型,需要拿出乙個所有實體的詳盡集合,最令人畏懼的是,所有同義詞的集合。

對於乙個特定的資料域來說,這是一項可管理的任務,並且在很大程度上得益於複雜的現實系統。對於一般的nlu來說,它和一般的人工智慧( agi )一樣,語義建模根本不起作用。

在過去的十年中,有很多研究致力於推進具有閉環人類管理和監督式自學習能力的語義建模,但事實上,語義建模在處理特定的、定義良好的和可理解的資料域時應用得最好。

有趣的是,流行的nlp / nlu深度學習( dl )方法對於特定的資料域幾乎沒有足夠好的效果。這是因為缺乏dl模型訓練所需的足夠大的預先存在的訓練集。這就是傳統的閉環人類管理和自學ml演算法在語義建模系統中盛行的原因。

人類管理(或人類切換)和監督式自學習演算法是兩種相互關聯的技術,有助於在開發新語義模型時,減少為語義實體提供詳盡同義詞集的問題。

這兩項工作如下。首先建立語義模型,其中包含語義實體的基本同義詞集,這可以相當快地完成。一旦使用此模型的nlp / nlu應用程式開始操作此模型無法自動「理解」的使用者語句,將進入固化。在人類管理中,使用者句子將被修改以適應模型,並且自學習演算法將「學習」該修改,並且下次將自動執行該修改,而不需要人工切換。

在此過程中有兩個關鍵屬性:

1、人類活動改變了使用者輸入,以適應現有的語義模型,也就是說,改變了使用者句子,使其可以自動回答。通常,它包括糾正拼寫錯誤、口語化、俚語、刪除停止詞或新增缺少的上下文。

2、使用者句子中的這種變化(即固化)被輸入到自學習演算法中,以便將來「記住」。因為這種改變最初是由乙個人執行的,這個人使這種自學習成為乙個有監督的過程,並消除了累積學習錯誤的引入。

在所有這些中,重要的是監督允許在語義建模「進一步學習」時保持語義建模的確定性。語義模型通過監控和有監督的自我學習,在每次監控中學習更多,最終可以比開始時學到更多的知識。因此,這個模型可以從小處開始,通過人的互動來學習——這個過程和許多現代人工智慧應用程式沒有什麼不同。

閱讀原文

3 1 自然語言處理介紹

了解自然語言處理的願景和經典任務 知道圖靈測試 很多科幻片裡面,都會有一些機械人能夠用人類的語言與人類溝通。比如,電影機械人總動員裡的清潔機械人瓦力 就是可以用自然語言 英語 對話的。希望計算機具有處理人類語言的能力的這種想法出現已久。我們把這種能夠使用自然語言與人類會話的程式稱為對話系統 dial...

自然語言處理

自然語言處理主要步驟包括 2.詞法分析 對於英文,有詞頭 詞根 詞尾的拆分,名詞 動詞 形容詞 副詞 介詞的定性,多種詞意的選擇。比如diamond,有菱形 棒球場 鑽石3個含義,要根據應用選擇正確的意思。3.語法分析 通過語法樹或其他演算法,分析主語 謂語 賓語 定語 狀語 補語等句子元素。4.語...

自然語言處理

前言 自然語言處理 natural language processing 是計算科學領域與人工智慧領域中的乙個重要方向。它研究能實現人與計算機之間用自然語言進行有效通訊的各種理論和方法。自然語言處理是一門融語言學 電腦科學 數學於一體的科學。因此,這一領域的研究將涉及自然語言,即人們日常使用的語言...