命名實體識別(NER)是在自然語言處理中的一個經典問題,其應用也極爲廣泛。比如從一句話中識別出人名、地名,從電商的搜索中識別出產品的名字,識別藥物名稱等等。傳統的公認比較好的處理算法是條件隨機場(CRF)。簡單是說在NER中應用是,給定一系列的特徵去預測每個詞的標籤。
CRF: 判別式概率模型
-
資料:
-
常用於標註或分析序列資料,如自然語言文字或是生物序列
softmax層的輸出是相互獨立的,即雖然BiLSTM學習到了上下文的信息,但是輸出相互之間並沒有影響,它只是在每一步挑選一個最大概率值的label輸出。這樣就會導致如B-person後再接一個B-person的問題。而crf中有轉移特徵,即它會考慮輸出label之間的順序性,所以考慮用crf去做BiLSTM的輸出層。
這個得分函數S就很好地彌補了傳統BiLSTM的不足,因爲我們當一個預測序列得分很高時,並不是各個位置都是softmax輸出最大概率值對應的label,還要考慮前面轉移概率相加最大,即還要符合輸出規則(B後面不能再跟B),比如假設BiLSTM輸出的最有可能序列爲BBIBIOOO,那麼因爲我們的轉移概率矩陣中B->B的概率很小甚至爲負,那麼根據s得分,這種序列不會得到最高的分數,即就不是我們想要的序列。
GraphIE: A Graph-Based Framework for Information Extraction
大部分的實現方式都能對局部上下文的依賴關係較好地提取,然而對非局部或是非順序的依賴關係信息卻無法充分提取,這就導致序列標註時某些跨文段的歧義問題,如共同指代或者重複出現導致歧義等情況。
重點研究了話語層面的命名實體識別,使用了字級圖,其中節點表示字。併爲每個文檔創建兩種類型的邊:
- Local edges:在每個句子中相鄰的單詞之間創建前向和後向的邊,從而可以利用局部上下文信息。
- Non-local edges:除了停用字之外,重複出現的字符,以便可以傳播信息,從而促進標籤的全局一致性。(注意,可以使用其他非局部關係(例如,共同引用)進行進一步的改進。 但是,這些關係需要額外的資源才能獲得,我們將其留給以後的工作。)。