語義角色標註(Semantic Role Labelling)
在自然語言處理中,從分析技術上可以分為下面三種
- 詞法分析 lexical analysis
- 句法分析 syntactic parsing
- 語義分析 semantic parsing
其中語義分析是指將自然語言句子轉化為反映這個句子語義的形式化表達。例如
- 我吃了一塊肉
- 一塊肉被我吃了
在語義上都表示為吃(我,肉)的意思,但句子結構卻有不同。
句子的語義分析是對句子處理技術更高一級的要求,在信息檢索、信息抽取、自動文摘等應用廣泛。
1. SRL定義
Semantic Role Labeling (SRL) is defined as the task to recognize arguments for a given predicate and assign semantic role labels to them.
語義角色標註是一種淺層語義分析技術,以句子為單位,分析句子的謂詞-論元結構,其理論基礎來源於Fillmore(1968)年提出的格語法,不對句子所包含的語義信息進行深入分析。具體來說,語義角色標註的任務就是以句子的謂詞為中心,研究句子中各成分與謂詞之間的關係,並且用語義角色來描述他們之間的關係。例如如下所示
這個句子中包括:
- 謂詞 「發表」
- 施事 「奧巴馬」
- 受事 「演說」
- 時間 「昨晚」
- 地點 「在白宮」
語義角色標註就是要針對句子中的(核心)謂詞來確定其他論元以及其他論元的角色。
2. 語料及語義角色
英文的SRL數據集包括:
- FrameNet
- PropBank
漢語的SRL數據集較少,應用最多的是Chinese Proposition Bank(CPB)[1].
The goal of the Chinese Proposition Bank project is to create a corpus of text annotated with information about basic semantic propositions. Predicate-argument relations are being added to the syntactic trees of the Chinese Treebank.
其中成分包括三種:
- 謂詞是整個句子的核心詞,一般是動詞或者形容詞;
- 核心論元表示跟這個謂詞直接相關的論元,用ArgN來表示, ;
- Semantic Adjuncts表示不與謂詞直接相關的論元,可獨立存在,用ArgM-XXX來表示,例如時間、地點、目的、程度、範圍等等;
SRL語義角色標籤和含義如下所示
標記語料舉例如下所示:
3. 傳統SRL方法
傳統SRL方法主要包括以下步驟:
其中:
- 候選論元剪除指從句子中剪除掉不可能成為論元的詞,通常採用基於規則的方法,例如遍歷語法樹、句法依存樹等方法;
- 論元識別,指從候選論元中識別出所有屬於該謂詞的論元,一般看作二值分類問題,採用SVM或者最大熵分類等方法;
- 論元標註,指對識別出的論元賦予語義角色,一般看作多值分類問題;
- 後處理,指對標註結果進行進一步處理,例如刪除語義重複的論元等。
在論元識別和論元分類中,都是看作了分類問題來進行求解,在論元識別和論元標註中的特徵往往不同,主要包括以下內容:
- 謂詞
- 路徑
- 短語類型
- 位置
- 語態
- 中心詞
- 從屬關係
- 論元的第一個和最後一個詞
- 組合特徵
- ……
傳統SRL方法的不足包括以下內容:
- Firstly, performances are heavily dependent on feature engineering, which needs domain knowledge and laborious work of feature extraction and selection. (性能依賴於特徵工程,需要領域知識和大量的特徵提取工作)
- Secondly, although sophisticated features are designed, the long-range dependencies in a sentence can hardly be modeled. (沒有特徵能夠表示長距離的依賴關係)
- Thirdly, a specific annotated dataset is often limited in its scalability, but the existence of heterogenous resource, which has very different semantic role labels and annotation schema but related latent semantic meaning, can alleviate this problem. However, traditional methods cannot relate distinct annotation schemas and introduce heterogeneous resource with ease.(無法引入異構資源來解決數據不足的問題)
4. 基於深度學習的SRL方法
在深度學習佔領了自然語言處理領域之後,基於深度學習的SRL方法也得到了廣泛應用且效果良好。
例如Zhen Wang[2]等人提出了採用雙向RNN的方法來進行中文語義角色標註,網路結構如下所示:
Feng Qian[3]提出將dependency tree structure通過architecture engineering的方法(而非feature engineering的方法)放入到LSTM cell中,能夠充分利用句子的句法依存結果提高結果,網路結構如下所示。
Reference
- http://verbs.colorado.edu/chinese/cpb/
- Wang Z, Jiang T, Chang B, et al. Chinese semantic role labeling with bidirectional recurrent neural networks[C]//Proceedings of the 2015 Conference on Empirical Methods in Natural Language Processing. 2015: 1626-1631.
- Qian F, Sha L, Chang B, et al. Syntax Aware LSTM model for Semantic Role Labeling[C]//Proceedings of the 2nd Workshop on Structured Prediction for Natural Language Processing. 2017: 27-32.
推薦閱讀:
※《Semi-supervised Multitask Learning for Sequence Labeling》閱讀筆記
※Relation Extraction: Perspective from Convolutional Neural Networks
※嶺回歸-嶺回歸
※學習筆記CB004:提問、檢索、回答、NLPIR