講在前面,chatgpt出來的時候就想過將其利用在資訊抽取方面,後續也發現了不少基於這種大語言模型的資訊抽取的論文,比如之前收集過的:
接下來繼續介紹另一篇論文。
GPT-NER:通過大型語言模型的命名實體識別
GPT-NER: Named Entity Recognition via Large Language Models
https://arxiv.org/pdf/2304.10428v1.pdf
https://github.com/ShuheWang1998/GPT-NER
為什麼使用大語言模型在NER上的表現仍然明顯低於普遍的基線?
由於NER和LLMs這兩個任務之間的差距:前者本質上是一個序列標記任務,而後者是一個文字生成模型。
怎麼解決上述的問題呢?
GPTNER遵循語境學習的一般正規化,可以分解為三個步驟:
如圖所示:第一句話:你是一個優秀的語言學家;第二句話:任務是從給定的句子中標記xxx實體。接下來是一些例子,然後給樹了一些例子。最後再輸入自己想要提取實體的句子得到結果。很容易發現,每次只能提取一種實體,因此要提取出所有的實體,必須遍歷實體列表。例如GPT-3,對提示的長度有 一個硬性的限制(例如GPT-3的4096個tokens)。鑑於這種有限的標記數量,我們不可能在一個提示中包括對所有實體型別的描述和演示。
如圖所示:
Prompt:
I am an excellent linguist. The task is to label location entities in the given sentence.
Below are some examples.
Input:Columbus is a city
Output:@@Columbus## is a city
Input:Rare Hendrix song sells for $17
Output:
GPT-3 Output:
Rare @@Hendrix## song sells for $17
過度預測是指將不是實體的預測為實體。如上面的例子:Hendrix被識別為一個location實體,這顯然是不對的。自我驗證策略:給定一個由LLM提取的實體,我們要求LLM進一步驗證該提取的實體是否正確,用是或否回答。比如:
「The task is to verify whether the word is a location entity extracted from the given sentence」
(1) 「The input sentence: Only France and Britain backed Fischler’s proposal」,
(2) 「Is the word "France" in the input sentence a location entity? Please answer with yes or no」.
(3) Yes
同樣的,也是根據之前的策略選擇樣例。
總結一下,利用大語言模型進行資訊抽取,大多數都是採用這種類似問答的方式進行的,也就是分為多個步驟。