1. 程式人生 > >NLP+語義分析(四)︱中文語義分析研究現狀(CIPS2016、角色標註、篇章分析)

NLP+語義分析(四)︱中文語義分析研究現狀(CIPS2016、角色標註、篇章分析)

這裡寫圖片描述

這裡寫圖片描述

任何對語言的理解都可以歸為語義分析的範疇。一段文字通常由詞、句子和段落來構成,根據理解物件的語言單位不同, 語義分析又可進一步分解為詞彙級語義分析、句子級語義分析以及篇章級語義分析。

語義分析的目標就是通過建立有效的模型和系統, 實現在各個語言單位 (包括詞彙、句子和篇章等) 的自動語義分析,從而實現理解整個文字表達的真實語義。
.
.

公眾號“素質雲筆記”定期更新部落格內容:

這裡寫圖片描述

一、詞彙級

詞彙層面上的語義分析主要體現在如何理解某個詞彙的含義,主要包含兩個方面:

  • 第一,在自然語言中,一個詞具有兩種或更多含義的現象非常普遍。如何自動獲悉某個詞存在著多15種含義,以及假設已知某個詞具有多種含義,如何根據上下文確認其含義,這些都是詞彙級語義研究的內容。在自然語言處理領域,這又稱為詞義消歧。
  • 第二,如何表示並學習一個詞的語義,以便計算機能夠有效地計算兩個詞之間的相似度。

1、詞義消歧

詞彙的歧義性是自然語言的固有特徵。詞義消歧根據一個多義詞在文字中出現的上下文環境來確定其詞義,作為各項自然語言處理的基礎步驟和必經階段被提出來。詞義消歧包含兩個必要的步驟:
( 1) 在詞典中描述詞語的意義;
( 2) 在語料中進行詞義自動消歧。
詳情見:cips2016+學習筆記︱NLP中的消岐方法總結(詞典、有監督、半監督)

2、詞嵌入

高階詞向量三部曲:

二、句子級

1、淺層語義分析語義角色標註(SRL)

語義角色標註的任務明確,即給定一個謂詞及其所在的句子,找出句子中該謂詞的相應語義角色成分。語義角色標註的研究熱點包括基於成分句法樹的語義角色標註和基於依存句法樹的語義角色標註。

以下以基於成分句法樹的語義角色標註為例,任務的解決思路是以句法樹的成分為單元,判斷其是否擔當給定謂詞的語義角色。系統通常可以由三部分構成:

  • 角色剪枝. 通過制定一些啟發式規則,過濾掉那些不可能擔當角色的成分。
  • 角色識別. 在角色剪枝的基礎上,構建一個二元分類器,即識別其是或不是給定謂詞的語義角色。
  • 角色分類. 對那些是語義角色的成分,進一步採用一個多元分類器,判斷其角色類別。

在基於特徵向量的方法中,最具有代表性的 7 個特徵,包括成分型別( constituent type)、謂詞子類框架( subcategorization)、成分與謂詞之間的路徑( parse tree path)、成分與謂詞的位置關係( constituent position)、謂詞語態( predicate voice)、成分中心詞( constituent head word)和謂詞本身( predicate)。


這7個特徵隨後被作為基本特徵廣泛應用於各類基於特徵向量的語義角色標註系統中,同時後續研究也提出了其他有效的特徵。

在角色識別和角色分類過程中, 無論是採用基於特徵向量的方法,還是基於樹核的方法,其目的都是儘可能準確地計算兩個物件之間的相似度。基於特徵向量的方法將結構化資訊轉化為平面資訊, 方法簡單有效; 缺點是在制定特徵模板的同時, 丟棄了一些結構化資訊。同樣, 基於樹核的方法有效解決了特徵維數過大的問題, 缺點是在利用結構化資訊的同時會包含噪音資訊, 另外計算開銷遠大於基於特徵向量的方法。

2、深層語義分析

淺層語義分析主要圍繞著句子中的謂詞,為每個謂詞找到相應的語義角色將整個句子轉化為某種形式化表示, 例如: 謂詞邏輯表示式(包括 lambda 演算表示式)、基於依存的組合式語義表示式( dependency-based compositional semantic
representation) 等。 以下給出了 GeoQuery 資料集中的一箇中英文句子對,以及對應的一階謂詞邏輯語義表示式:

  • 中文: 列出 在 科羅拉多 州 所有 的 河流
  • 英文: Name all the rivers in Colorado
  • 語義表示式: answer(river(loc_2(stateid(‘colorado’))))

那麼方法主要有三類:

  • 基於知識庫的語義分析(圖譜?)。

知識庫中通過三元組等形式記錄了一系列的事實。對某個給定的句子,語義分析通過某種轉換技術,將句子分析為一系列知識庫中已定義的元組,並構成一個實體關係圖。

  • 有監督語義分析

有監督的語義分析需要人工標註的語義分析語料支援。在人工標註的語義分析語料中,為每個自然語言句子人工標註了其語義表示式。

  • 半監督或無監督語義分析

無監督的語義分析方法不需要利用人工標註的語義分析語料,僅利用知識庫(或資料庫)
中的實體名/關係名等,也不利用知識庫中的記錄的事實。無監督的語義分析方法雖然不使
用人工標註的語料,但通常會採用 EM 演算法,在每輪演算法迭代中,對句子進行語義分析,並
且選擇置信度高的句子及其語義分析結果作為自訓練資料集

深度語義分析主要面臨如下二個關鍵問題。

  • 普通文字到實體/關係謂詞之間的對映

    自然語言的一個主要特點在於其表達形式的豐富多樣性,對同樣的表達意思(如某個語義表示式),不僅可以使用不同的語言進行表達。 如何建立普通文字到實體/關係之間的對映是一個關鍵問題。

  • 面向開放領域的語義分析

    受標註語料的限制,目前的很多語義分析研究都限於某一特定領域。隨著面向開放領域的知識庫的構建及完善,如 Freebase 等,人工大規模標註涉及各領域的語義表示式是個費時費力的過程。為此,需要探索基於半監督或無監督的語義分析研究。

.
.

三、篇章級

篇章是指由一系列連續的子句、句子或語段構成的語言整體單位,在一個篇章中,子句、句子或語段間具有一定的層次結構和語義關係,篇章結構分析旨在分析出其中的層次結構和語義關係。
目前的篇章語義分析主要還是圍繞著判定子句與子句的篇章語義關係。

1、基於 Penn Discourse TreeBank 的篇章分析

一個基19於 PDTB 的端對端的篇章分析通常劃分為四個子任務, 分別是:
( 1) 篇章連線詞識別;
( 2)論元(Argument)識別;
( 3) 顯式篇章關係識別;
( 4) 隱式篇章關係識別。
下面我們分別闡述這四個子任務。

2、基於 RST 的篇章分析

PDTB 是建立在賓州樹庫基礎上的。基於 RST 的篇章分析主要包含有兩個子任務: ( 1)篇章基本單元 (Element DiscourseUnit, 簡稱 EDU) 識別;( 2) 篇章結構生成,即對每一個過程的輸出採用自底向上方法,為功能子句對確定一個最可能的修辭關係

3、中文篇章分析

  • 基於 RST 體系的標註。

中國傳媒大學和南京師範大學均分別基於英文 RST 框架標註了中文語料,但他們的研究都表明英文 RST 的很多篇章關係無法在中文中找到與之對應的關係

  • 基於 PDTB 體系的標註。

哈爾濱工業大學釋出了HIT-CDTB 篇 章 分 析 語 料 , 該 語 料 包 含 525 篇 標 注 文 本 , 語 料 文 本 來 源 於OntoNotes4.0,覆蓋了句群關係、複句關係、分句關係等多級資訊。整體上,HIT-CDTB還是參照了英文 PDTB 的標註體系。

  • 基於連線依存樹的標註。

蘇州大學釋出了基於連線依存樹的中文篇章結構表示體系的中文篇章分析語料( Chinese Discourse TreeBank, CDTB),該標註體系借鑑了RST 和 PDTB 體系優點,並結合中文的特點。

.

延伸一:語義角色標註

自然語言分析技術大致分為三個層面:詞法分析、句法分析和語義分析。語義角色標註是實現淺層語義分析的一種方式。在一個句子中,謂詞是對主語的陳述或說明,指出“做什麼”、“是什麼”或“怎麼樣,代表了一個事件的核心,跟謂詞搭配的名詞稱為論元。語義角色是指論元在動詞所指事件中擔任的角色。主要有:施事者(Agent)、受事者(Patient)、客體(Theme)、經驗者(Experiencer)、受益者(Beneficiary)、工具(Instrument)、處所(Location)、目標(Goal)和來源(Source)等。

請看下面的例子,“遇到” 是謂詞(Predicate,通常簡寫為“Pred”),“小明”是施事者(Agent),“小紅”是受事者(Patient),“昨天” 是事件發生的時間(Time),“公園”是事情發生的地點(Location)。
這裡寫圖片描述

語義角色標註(Semantic Role Labeling,SRL)以句子的謂詞為中心,不對句子所包含的語義資訊進行深入分析,只分析句子中各成分與謂詞之間的關係,即句子的謂詞(Predicate)- 論元(Argument)結構,並用語義角色來描述這些結構關係,是許多自然語言理解任務(如資訊抽取,篇章分析,深度問答等)的一個重要中間步驟。在研究中一般都假定謂詞是給定的,所要做的就是找出給定謂詞的各個論元和它們的語義角色。
.

延伸二:語言中二元組搭配的方式

  • 1、僅考慮相鄰詞首先,在一個語料庫上訓練一個Language Model就可以達到類似的事,樓主的問題就轉換成找到一個詞w,
    最大化“鮮花”後面出現w的概率p(w|鮮花)。當然,LM用在這上面有點殺雞用牛刀,只不過LM有很多現成的工具包,比如SRILM[3]
    Berkeleylm[4] 等等自己寫的話,先中文分詞,然後統計所有相鄰詞對(2-gram
    [5])的出現次數,從高到低排個序就好。中文分詞包,推薦復旦[1] 或 Stanford
    parser[2]以上的方法簡單可靠,只需要中文的分詞加大量資料即可,手寫程式碼即可。但缺點是隻能統計相鄰的詞,對於鮮花 正在 盛開
    這樣的情況就無能為力。
  • 2、利用Dependency Parser進行句法分析有一個東西叫做依存句法分析 Dependency
    Parser,可以找到句中的主謂賓關係,修飾,從句等等關係,可以部分解決【一】無法解決的不相鄰詞的常用搭配,即長距離依賴問題。
  • 4、N-Gram模型,其中用的比較多的是Bi-Gram和Tri-Gram