項(xiàng)目地址:使用PaddleNLP UIE模型抽取PDF版上市公司公告 - 飛槳AI Studio星河社區(qū) (baidu.com)
背景介紹
本項(xiàng)目將演示如何通過(guò)PDFPlumber庫(kù)和PaddleNLP UIE模型,抽取公告中的相關(guān)信息。本次任務(wù)的PDF內(nèi)容是破產(chǎn)清算的相關(guān)公告,目標(biāo)是獲取受理時(shí)間,受理法院,相關(guān)公司等內(nèi)容,作為市場(chǎng)分析的關(guān)鍵數(shù)據(jù)。
公告示例
證券代碼:000033 證券簡(jiǎn)稱:*ST新都 公告編號(hào):2016-05-19 深圳新都酒店股份有限公司關(guān)于公司第二大股東破產(chǎn)清算的公告 本公司及董事會(huì)全體成員保證公告內(nèi)容的真實(shí)、準(zhǔn)確和完整,沒(méi)有虛假記載、誤導(dǎo)性陳述或者重大遺漏。 2016年5月18日,公司收到公司股東深圳市瀚明投資有限公司的管理人送達(dá)的(2016)瀚明管發(fā)字第024號(hào)《通報(bào)函》,主要內(nèi)容如下: “深圳市中級(jí)人民法院于2016年4月19日依法裁定受理申請(qǐng)人上海超創(chuàng)企業(yè)服務(wù)中心(有限合伙)提出的對(duì)深圳市瀚明投資有限公司(以下簡(jiǎn)稱“瀚明投資”)進(jìn)行破產(chǎn)清算的申請(qǐng),并指定深圳市正源清算事務(wù)有限公司和深圳市理恪德清算事務(wù)有限公司擔(dān)任瀚明投資管理人。瀚明投資破產(chǎn)清算的各項(xiàng)工作目前正在有序推進(jìn)中?!?瀚明投資的破產(chǎn)清算將導(dǎo)致其持有本公司45551000股(占公司總股本的 10.6%)股權(quán)的處置及歸屬存在不確定性,瀚明投資破產(chǎn)清算不會(huì)對(duì)本公司正常經(jīng)營(yíng)產(chǎn)生影響。 本公司將根據(jù)瀚明投資破產(chǎn)清算進(jìn)程履行公告義務(wù)。 特此公告。 深圳新都酒店股份有限公司 董事會(huì) 2016年5月18日
技術(shù)方案
UIE介紹
信息抽取指的是自動(dòng)從無(wú)結(jié)構(gòu)或半結(jié)構(gòu)的文本中抽取出結(jié)構(gòu)化信息的任務(wù), 主要包含了實(shí)體識(shí)別、關(guān)系抽取、事件抽取、評(píng)論抽取等任務(wù)。
-
實(shí)體抽取 命名實(shí)體識(shí)別(Named Entity Recognition,簡(jiǎn)稱NER),是指識(shí)別文本中具有特定意義的實(shí)體。在開放域信息抽取中,抽取的類別沒(méi)有限制,用戶可以自己定義。
-
關(guān)系抽取 關(guān)系抽?。≧elation Extraction,簡(jiǎn)稱RE),是指從文本中識(shí)別實(shí)體并抽取實(shí)體之間的語(yǔ)義關(guān)系,進(jìn)而獲取三元組信息,即<主體,謂語(yǔ),客體>。
-
事件抽取 事件抽取 (Event Extraction, 簡(jiǎn)稱EE),是指從自然語(yǔ)言文本中抽取預(yù)定義的事件觸發(fā)詞(Trigger)和事件論元(Argument),組合為相應(yīng)的事件結(jié)構(gòu)化信息。
傳統(tǒng)的預(yù)訓(xùn)練-微調(diào)范式下,序列標(biāo)注方案比較常用。UIE(Universal Information Extraction,通用信息抽取)?開創(chuàng)了基于Prompt的信息抽取多任務(wù)統(tǒng)一建模方式,通過(guò)大規(guī)模多任務(wù)預(yù)訓(xùn)練學(xué)習(xí)的通用抽取能力,不限定行業(yè)領(lǐng)域和抽取目標(biāo)。UIE 具備強(qiáng)大的零樣本抽取和小樣本快速遷移能力。例如,在金融領(lǐng)域的事件抽取任務(wù)上,僅僅標(biāo)注5條樣本,F(xiàn)1值就提升了25個(gè)點(diǎn)!
通過(guò)調(diào)用?PaddleNLP Taskflow API?直接使用UIE進(jìn)行零樣本抽取,同時(shí),PaddleNLP也打通了數(shù)據(jù)標(biāo)注-微調(diào)訓(xùn)練-預(yù)測(cè)部署全流程,方便大家進(jìn)行定制訓(xùn)練。
?
應(yīng)用示例
UIE不限定行業(yè)領(lǐng)域和抽取目標(biāo),以下是一些零樣本行業(yè)示例:
- 法律場(chǎng)景-判決書抽取
- 金融場(chǎng)景-收入證明、招股書抽取
代碼實(shí)踐
環(huán)境準(zhǔn)備
# 安裝最新版 PaddleNLP
!pip install --upgrade paddlenlp --user
# 安裝PDFPlumber
!pip install pdfplumber --user
PDF文檔解析
本次任務(wù)使用的PDF都是從相關(guān)網(wǎng)站直接獲取的可編輯格式,使用PDFPlumber庫(kù)提取PDF中的內(nèi)容并保存成為txt格式,便于輸入U(xiǎn)IE模型中。掃描件等圖片格式的PDF需要OCR技術(shù),推薦使用PaddleOCR。
# 導(dǎo)入PDFPlumber
import pdfplumber as ppl
# 導(dǎo)入正則表達(dá)式相關(guān)庫(kù)
import re
# 使用 PDFPlumber 庫(kù)打開PDF文件
pdf_path = "work/input/000011_61727994c8c8ae10ff7ce243.pdf"
pdf = ppl.open(pdf_path)
# 獲得 PDFPlumber 的對(duì)象,可以查看其中的文字內(nèi)容
for page in pdf.pages:
print(page.extract_text())
深圳市物業(yè)發(fā)展(集團(tuán))股份有限公司 證券代碼:000011 200011 股票簡(jiǎn)稱:深物業(yè)A 深物業(yè)B 編號(hào):2014-3號(hào) 關(guān)于海南公司進(jìn)行破產(chǎn)清算的進(jìn)展公告 本公司及董事會(huì)全體成員保證公告內(nèi)容的真實(shí)、準(zhǔn)確、 完整、及時(shí)、公平,沒(méi)有虛假記載、誤導(dǎo)性陳述或者重大遺 漏。 本公司于 2011 年 11 月 25 日第七屆董事會(huì)第四次會(huì)議作 出董事會(huì)決議,擬對(duì)本公司下屬全資子公司-海南新達(dá)開發(fā)總 公司(以下簡(jiǎn)稱“海南公司”)進(jìn)行破產(chǎn)清算(詳見本公司于 2011 年 11 月 28 日發(fā)布的《董事會(huì)決議公告》)。本公司于 2013 年 9 月 26 日以海南公司多年來(lái)處于嚴(yán)重虧損狀態(tài),無(wú)法清償 到期債務(wù)為由向海南省??谑兄屑?jí)人民法院(以下簡(jiǎn)稱“海 口中院”)申請(qǐng)對(duì)海南公司進(jìn)行破產(chǎn)清算。 一、最新進(jìn)展情況 2014 年 3 月 14 日本公司收到??谥性合掳l(fā)的(2013) 海中法破(預(yù))字第 7 號(hào)《民事裁定書》,??谥性河?2014 年2月27日裁定受理本公司提出的對(duì)海南公司破產(chǎn)清算的申 請(qǐng),現(xiàn)將有關(guān)情況公告如下: ??谥性赫J(rèn)為:新達(dá)公司的住所地在海口市國(guó)貿(mào)大道 48 號(hào)新達(dá)商務(wù)大廈,該司是由海南省工商行政管理局核準(zhǔn)登記 的企業(yè),故??谥性簩?duì)本案有管轄權(quán)。因新達(dá)公司不能清償 到期債務(wù),故深物業(yè)股份公司提出對(duì)新達(dá)公司進(jìn)行破產(chǎn)清算 1 的申請(qǐng)符合受理?xiàng)l件。依照《中華人民共和國(guó)企業(yè)破產(chǎn)法》 第二條第一款、第三條、第七條第二款之規(guī)定,裁定如下: 受理申請(qǐng)人深圳市物業(yè)發(fā)展(集團(tuán))股份有限公司對(duì)被 申請(qǐng)人海南新達(dá)開發(fā)總公司破產(chǎn)清算的申請(qǐng)。 本裁定自即日起生效。 二、其他情況 本公司已對(duì)海南公司賬務(wù)進(jìn)行了全額計(jì)提,破產(chǎn)清算對(duì) 本公司財(cái)務(wù)狀況無(wú)影響。 具體情況請(qǐng)查閱本公司2011年11月28日發(fā)布的《董事會(huì) 決議公告》。 特此公告 備查文件:海南省??谑兄屑?jí)人民法院《民事裁定書》((2013) 海中法破(預(yù))字第 7 號(hào)) 深圳市物業(yè)發(fā)展(集團(tuán))股份有限公司 董事會(huì) 二〇一四年三月十五日 2
對(duì)于表格的提取,PDFPlumber可以返回半結(jié)構(gòu)化的表格數(shù)據(jù),但是想要準(zhǔn)確還原原有的表格結(jié)構(gòu),還需要根據(jù)不同的表格狀況作出調(diào)整。
pdf_path = "work/input/000525_61d01fedb68daaca17ea0dad.pdf"
pdf = ppl.open(pdf_path)
# 獲得PDFPlumber的對(duì)象,可以查看其中的文字內(nèi)容
for page in pdf.pages:
print(page.extract_table())
[['股東名稱', '持股數(shù)量\n(股)', '持股 \n比例', '質(zhì)押', None, None, '司法凍結(jié)', None, None, '輪候凍結(jié)', None, None], [None, None, None, '累計(jì)數(shù)量\n(股)', '占其所\n持股份\n比例', '占公司\n總股本\n比例', '累計(jì)數(shù)量\n(股)', '占其所\n持股份\n比例', '占公司\n總股本\n比例', '累計(jì)數(shù)量\n(股)', '占其所持\n股份比例', '占公司總\n股本比例'], ['南一農(nóng)集團(tuán)', '182924731', '31.50%', '167850000', '91.76%', '28.90%', '182424031', '99.73%', '31.41%', '1559040275', '852.29%', '268.44%']] None
對(duì)于一般的純文字PDF,使用PDFPlumber讀取并保存為txt格式。
pdf_path = "work/input/000011_61727994c8c8ae10ff7ce243.pdf"
pdf = ppl.open(pdf_path)
texts = []
# 按頁(yè)打開,合并所有內(nèi)容,對(duì)于多頁(yè)或一頁(yè)P(yáng)DF都可以使用
for page in pdf.pages:
text = page.extract_text()
texts.append(text)
txt_string = ''.join(texts)
# 保存為和原PDF同名的txt文件
txt_path = pdf_path.split('.')[0] + '.txt'
with open(txt_path, "w", encoding='utf-8') as f:
f.write(txt_string)
f.close()
數(shù)據(jù)預(yù)處理
從txt中讀取文本,作為信息抽取的輸入。對(duì)于比較長(zhǎng)的文本,可能需要人工的設(shè)定一些分割關(guān)鍵詞,分段輸入以提升抽取的效果。
with open(txt_path, 'r') as f:
file_data = f.readlines()
record = ''
for data in file_data:
record += data
print(record)
深圳市物業(yè)發(fā)展(集團(tuán))股份有限公司 證券代碼:000011 200011 股票簡(jiǎn)稱:深物業(yè)A 深物業(yè)B 編號(hào):2014-3號(hào) 關(guān)于海南公司進(jìn)行破產(chǎn)清算的進(jìn)展公告 本公司及董事會(huì)全體成員保證公告內(nèi)容的真實(shí)、準(zhǔn)確、 完整、及時(shí)、公平,沒(méi)有虛假記載、誤導(dǎo)性陳述或者重大遺 漏。 本公司于 2011 年 11 月 25 日第七屆董事會(huì)第四次會(huì)議作 出董事會(huì)決議,擬對(duì)本公司下屬全資子公司-海南新達(dá)開發(fā)總 公司(以下簡(jiǎn)稱“海南公司”)進(jìn)行破產(chǎn)清算(詳見本公司于 2011 年 11 月 28 日發(fā)布的《董事會(huì)決議公告》)。本公司于 2013 年 9 月 26 日以海南公司多年來(lái)處于嚴(yán)重虧損狀態(tài),無(wú)法清償 到期債務(wù)為由向海南省海口市中級(jí)人民法院(以下簡(jiǎn)稱“海 口中院”)申請(qǐng)對(duì)海南公司進(jìn)行破產(chǎn)清算。 一、最新進(jìn)展情況 2014 年 3 月 14 日本公司收到??谥性合掳l(fā)的(2013) 海中法破(預(yù))字第 7 號(hào)《民事裁定書》,??谥性河?2014 年2月27日裁定受理本公司提出的對(duì)海南公司破產(chǎn)清算的申 請(qǐng),現(xiàn)將有關(guān)情況公告如下: ??谥性赫J(rèn)為:新達(dá)公司的住所地在海口市國(guó)貿(mào)大道 48 號(hào)新達(dá)商務(wù)大廈,該司是由海南省工商行政管理局核準(zhǔn)登記 的企業(yè),故??谥性簩?duì)本案有管轄權(quán)。因新達(dá)公司不能清償 到期債務(wù),故深物業(yè)股份公司提出對(duì)新達(dá)公司進(jìn)行破產(chǎn)清算 1 的申請(qǐng)符合受理?xiàng)l件。依照《中華人民共和國(guó)企業(yè)破產(chǎn)法》 第二條第一款、第三條、第七條第二款之規(guī)定,裁定如下: 受理申請(qǐng)人深圳市物業(yè)發(fā)展(集團(tuán))股份有限公司對(duì)被 申請(qǐng)人海南新達(dá)開發(fā)總公司破產(chǎn)清算的申請(qǐng)。 本裁定自即日起生效。 二、其他情況 本公司已對(duì)海南公司賬務(wù)進(jìn)行了全額計(jì)提,破產(chǎn)清算對(duì) 本公司財(cái)務(wù)狀況無(wú)影響。 具體情況請(qǐng)查閱本公司2011年11月28日發(fā)布的《董事會(huì) 決議公告》。 特此公告 備查文件:海南省海口市中級(jí)人民法院《民事裁定書》((2013) 海中法破(預(yù))字第 7 號(hào)) 深圳市物業(yè)發(fā)展(集團(tuán))股份有限公司 董事會(huì) 二〇一四年三月十五日 2
使用 UIE 進(jìn)行信息抽取
我們使用PaddleNLP Taskflow API直接抽取公告中的關(guān)鍵信息,無(wú)需訓(xùn)練哦。
詳情可參考:https://github.com/PaddlePaddle/PaddleNLP/tree/develop/model_zoo/uie?。
第一次使用時(shí),會(huì)自動(dòng)下載默認(rèn)模型到默認(rèn)的位置。此方案無(wú)需依賴GPU也可以運(yùn)行。
# 使用pprint增加輸出可讀性
from pprint import pprint
from paddlenlp import Taskflow
實(shí)體抽取
針對(duì)同一篇公告,可以設(shè)置不同的任務(wù),根據(jù)需求,改變schema而不需要重新訓(xùn)練通用模型。對(duì)于本示例,第一個(gè)任務(wù)是獲得受理的法院和受理時(shí)間,屬于實(shí)體抽取的任務(wù)。
import paddlenlp
paddlenlp.__version__
# 設(shè)置不同的schema
# 實(shí)體抽取
from paddlenlp import Taskflow
schema = ['受理時(shí)間', '受理法院']
ie = Taskflow('information_extraction', schema=schema)
pprint(ie(record))
[2022-09-08 16:13:09,325] [ INFO] - Downloading model_state.pdparams from https://bj.bcebos.com/paddlenlp/taskflow/information_extraction/uie_base_v1.0/model_state.pdparams 100%|██████████| 450M/450M [00:13<00:00, 33.9MB/s] [2022-09-08 16:13:24,402] [ INFO] - Downloading model_config.json from https://bj.bcebos.com/paddlenlp/taskflow/information_extraction/uie_base/model_config.json 100%|██████████| 377/377 [00:00<00:00, 308kB/s] [2022-09-08 16:13:24,463] [ INFO] - Downloading vocab.txt from https://bj.bcebos.com/paddlenlp/taskflow/information_extraction/uie_base/vocab.txt 100%|██████████| 182k/182k [00:00<00:00, 2.30MB/s] [2022-09-08 16:13:24,607] [ INFO] - Downloading special_tokens_map.json from https://bj.bcebos.com/paddlenlp/taskflow/information_extraction/uie_base/special_tokens_map.json 100%|██████████| 112/112 [00:00<00:00, 144kB/s] [2022-09-08 16:13:24,670] [ INFO] - Downloading tokenizer_config.json from https://bj.bcebos.com/paddlenlp/taskflow/information_extraction/uie_base/tokenizer_config.json 100%|██████████| 172/172 [00:00<00:00, 236kB/s] [2022-09-08 16:13:24,734] [ INFO] - We are using <class 'paddlenlp.transformers.ernie.tokenizer.ErnieTokenizer'> to load '/home/aistudio/.paddlenlp/taskflow/information_extraction/uie-base'. W0908 16:13:24.764302 11173 gpu_resources.cc:61] Please NOTE: device: 0, GPU Compute Capability: 7.0, Driver API Version: 11.2, Runtime API Version: 11.2 W0908 16:13:24.768028 11173 gpu_resources.cc:91] device: 0, cuDNN Version: 8.2. [2022-09-08 16:13:27,395] [ INFO] - Converting to the inference model cost a little time. [2022-09-08 16:13:38,248] [ INFO] - The inference model save in the path:/home/aistudio/.paddlenlp/taskflow/information_extraction/uie-base/static/inference
[{'受理時(shí)間': [{'end': 440, 'probability': 0.8998520281582252, 'start': 429, 'text': '2014\n年2月27日'}], '受理法院': [{'end': 824, 'probability': 0.45413020967631823, 'start': 812, 'text': '海南省??谑兄屑?jí)人民法院'}]}]
關(guān)系抽取
第二個(gè)任務(wù)是獲得公告中提到的公司之間的關(guān)系,是一個(gè)關(guān)系抽取的任務(wù)。對(duì)于比較短的公告,在本示例中選擇將全文直接輸入進(jìn)行抽取,并不會(huì)影響效果。對(duì)于長(zhǎng)篇幅的公告,多個(gè)任務(wù)都使用全文作為輸入會(huì)降低性能。
# 關(guān)系抽取
# print(record)
from paddlenlp import Taskflow
schema = {'公司': ['母公司', '子公司', '股東']}
ie.set_schema(schema)
pprint(ie(record))
[{'公司': [{'end': 876, 'probability': 0.2903287813637405, 'relations': {'子公司': [{'end': 212, 'probability': 0.8585539059833636, 'start': 202, 'text': '海南新達(dá)開發(fā)總\n公司'}]}, 'start': 859, 'text': '深圳市物業(yè)發(fā)展(集團(tuán))股份有限公司'}, {'end': 571, 'probability': 0.45863343911127075, 'relations': {'子公司': [{'end': 212, 'probability': 0.7908269167861341, 'start': 202, 'text': '海南新達(dá)開發(fā)總\n公司'}], '股東': [{'end': 668, 'probability': 0.300250129676769, 'start': 651, 'text': '深圳市物業(yè)發(fā)展(集團(tuán))股份有限公司'}]}, 'start': 564, 'text': '深物業(yè)股份公司'}, {'end': 668, 'probability': 0.32902502812567036, 'relations': {'子公司': [{'end': 212, 'probability': 0.8585539059833636, 'start': 202, 'text': '海南新達(dá)開發(fā)總\n公司'}]}, 'start': 651, 'text': '深圳市物業(yè)發(fā)展(集團(tuán))股份有限公司'}]}]
長(zhǎng)文本的答案獲取
UIE對(duì)于詞和句子的抽取效果比較好,但是對(duì)應(yīng)大段的文字結(jié)果,還是需要傳統(tǒng)的正則方式作為配合,在本次使用的pdf中,還需要獲得法院具體的判決結(jié)果,使用正則表達(dá)式可靈活匹配想要的結(jié)果。
start_word = '如下'
end_word = '特此公告'
start = re.search(start_word, record)
end = re.search(end_word, record)
print(record[start.span()[1]:end.span()[0]])
: ??谥性赫J(rèn)為:新達(dá)公司的住所地在海口市國(guó)貿(mào)大道 48 號(hào)新達(dá)商務(wù)大廈,該司是由海南省工商行政管理局核準(zhǔn)登記 的企業(yè),故??谥性簩?duì)本案有管轄權(quán)。因新達(dá)公司不能清償 到期債務(wù),故深物業(yè)股份公司提出對(duì)新達(dá)公司進(jìn)行破產(chǎn)清算 1 的申請(qǐng)符合受理?xiàng)l件。依照《中華人民共和國(guó)企業(yè)破產(chǎn)法》 第二條第一款、第三條、第七條第二款之規(guī)定,裁定如下: 受理申請(qǐng)人深圳市物業(yè)發(fā)展(集團(tuán))股份有限公司對(duì)被 申請(qǐng)人海南新達(dá)開發(fā)總公司破產(chǎn)清算的申請(qǐng)。 本裁定自即日起生效。 二、其他情況 本公司已對(duì)海南公司賬務(wù)進(jìn)行了全額計(jì)提,破產(chǎn)清算對(duì) 本公司財(cái)務(wù)狀況無(wú)影響。 具體情況請(qǐng)查閱本公司2011年11月28日發(fā)布的《董事會(huì) 決議公告》。
事件抽取
使用UIE進(jìn)行信息抽取時(shí),如果遇到效果不好的情況,則需要根據(jù)實(shí)際任務(wù)調(diào)整schema,比如抽取董事會(huì)公告時(shí),如果將會(huì)議作為事件抽取,則無(wú)法獲得完整的信息。
# 已經(jīng)轉(zhuǎn)為txt保存的公告文件
with open('work/input/000061_61ac2b0f13d6467b056b263d.txt', 'r') as f:
file_data = f.readlines()
record = ''
for data in file_data:
record += data
print(record)
schema = {"會(huì)議": ['時(shí)間', '應(yīng)到', '實(shí)到', '主持']}
ie = Taskflow('information_extraction', schema=schema)
pprint(ie(record))
證券代碼:000061 證券簡(jiǎn)稱:農(nóng)產(chǎn)品 公告編號(hào):2021-044 深圳市農(nóng)產(chǎn)品集團(tuán)股份有限公司 第八屆董事會(huì)第四十八次會(huì)議決議公告 本公司及董事會(huì)全體成員保證信息披露的內(nèi)容真實(shí)、準(zhǔn)確、完 整,沒(méi)有虛假記載、誤導(dǎo)性陳述或重大遺漏。 深圳市農(nóng)產(chǎn)品集團(tuán)股份有限公司(以下簡(jiǎn)稱“公司”)第八屆董 事會(huì)第四十八次會(huì)議于 2021 年 10 月 27 日(星期三)上午 10:00 在 深圳市福田區(qū)深南大道 7028 號(hào)時(shí)代科技大廈 13 樓海吉星會(huì)議室召 開。會(huì)議通知于 2021 年 10 月 24 日以書面或電子郵件形式發(fā)出。會(huì) 議應(yīng)到董事 12 名,實(shí)到董事 10 名,獨(dú)立董事寧鐘先生因公未能出 席會(huì)議,委托獨(dú)立董事劉魯魚先生代為出席并表決;董事陳穗生先 生因公未能出席會(huì)議,委托董事向自力先生代為出席并表決。公司 監(jiān)事及高級(jí)管理人員列席了本次會(huì)議。本次會(huì)議的召開符合《公司 法》及公司《章程》的規(guī)定。會(huì)議由董事長(zhǎng)黃偉先生主持,經(jīng)全體 與會(huì)董事認(rèn)真審議并逐項(xiàng)表決通過(guò)以下議案: 一、2021 年第三季度報(bào)告 詳見公司于 2021 年 10 月 29 日刊登在《證券時(shí)報(bào)》、《中國(guó)證券 報(bào)》、《上海證券報(bào)》、《證券日?qǐng)?bào)》及巨潮資訊網(wǎng)的《2021 年第三季 度報(bào)告》(公告編號(hào):2021-046)。 同意票數(shù) 12 票,反對(duì)票數(shù) 0 票,棄權(quán)票數(shù) 0 票。 二、關(guān)于同意全資子公司收購(gòu)擔(dān)保公司 60%股權(quán)的議案 詳見公司于 2021 年 10 月 29 日刊登在《證券時(shí)報(bào)》、《中國(guó)證券 報(bào)》、《上海證券報(bào)》、《證券日?qǐng)?bào)》及巨潮資訊網(wǎng)的《關(guān)于同意全資 子公司收購(gòu)擔(dān)保公司 60%股權(quán)的公告》(公告編號(hào):2021-047)。 同意票數(shù) 12 票,反對(duì)票數(shù) 0 票,棄權(quán)票數(shù) 0 票。 三、關(guān)于同意控股子公司廣西新柳邕公司為認(rèn)購(gòu)廣西新柳邕項(xiàng) 目的銀行按揭貸款客戶提供階段性擔(dān)保的議案 詳見公司于 2021 年 10 月 29 日刊登在《證券時(shí)報(bào)》、《中國(guó)證券 報(bào)》、《上海證券報(bào)》、《證券日?qǐng)?bào)》及巨潮資訊網(wǎng)的《關(guān)于控股子公 司廣西新柳邕公司為認(rèn)購(gòu)廣西新柳邕項(xiàng)目的銀行按揭貸款客戶提供 階段性擔(dān)保的公告》(公告編號(hào):2021-048)。 同意票數(shù) 12 票,反對(duì)票數(shù) 0 票,棄權(quán)票數(shù) 0 票。 四、關(guān)于續(xù)聘會(huì)計(jì)師事務(wù)所的議案 詳見公司于 2021 年 10 月 29 日刊登在《證券時(shí)報(bào)》、《中國(guó)證券 報(bào)》、《上海證券報(bào)》、《證券日?qǐng)?bào)》及巨潮資訊網(wǎng)的《關(guān)于擬續(xù)聘會(huì) 計(jì)師事務(wù)所的公告》(公告編號(hào):2021-049)。 同意票數(shù) 12 票,反對(duì)票數(shù) 0 票,棄權(quán)票數(shù) 0 票。 本議案尚須提交公司股東大會(huì)審議。 五、關(guān)于向銀行申請(qǐng)綜合授信額度的議案 公司部分銀行授信額度即將到期,為保障公司有充足的銀行授信額度,同意公司向以下兩家銀行申請(qǐng)綜合授信額度,具體如下: 一、向中國(guó)民生銀行股份有限公司深圳分行申請(qǐng)不超過(guò)人民幣 5 億元綜合授信額度。 二、向招商銀行股份有限公司深圳分行申請(qǐng)不超過(guò)人民幣 6 億 元綜合授信額度。 上述合計(jì)不超過(guò) 11 億元的綜合授信額度,期限不超過(guò)三年,擔(dān) 保方式為信用擔(dān)保。 同意票數(shù) 12 票,反對(duì)票數(shù) 0 票,棄權(quán)票數(shù) 0 票。 六、經(jīng)理層《崗位聘任協(xié)議》 同意票數(shù) 12 票,反對(duì)票數(shù) 0 票,棄權(quán)票數(shù) 0 票。 七、經(jīng)理層《年度經(jīng)營(yíng)業(yè)績(jī)責(zé)任書》 同意票數(shù) 12 票,反對(duì)票數(shù) 0 票,棄權(quán)票數(shù) 0 票。 八、經(jīng)理層《任期經(jīng)營(yíng)業(yè)績(jī)責(zé)任書》 同意票數(shù) 12 票,反對(duì)票數(shù) 0 票,棄權(quán)票數(shù) 0 票。 九、關(guān)于暫不召開股東大會(huì)的議案 本次董事會(huì)后,暫不召集股東大會(huì)審議本次董事會(huì)通過(guò)的《關(guān) 于續(xù)聘會(huì)計(jì)師事務(wù)所的議案》,該議案后續(xù)將與其他需提交股東大會(huì) 議案一并提交股東大會(huì)審議,公司將另行召開董事會(huì),確定并公告股東大會(huì)的召開時(shí)間。 同意票數(shù) 12 票,反對(duì)票數(shù) 0 票,棄權(quán)票數(shù) 0 票。 特此公告。 深圳市農(nóng)產(chǎn)品集團(tuán)股份有限公司 董 事 會(huì) 二〇二一年十月二十九日
[2022-09-08 16:13:44,394] [ INFO] - We are using <class 'paddlenlp.transformers.ernie.tokenizer.ErnieTokenizer'> to load '/home/aistudio/.paddlenlp/taskflow/information_extraction/uie-base'.
[{'會(huì)議': [{'end': 1134, 'probability': 0.7193688610271387, 'relations': {'主持': [{'end': 428, 'probability': 0.47974251889164066, 'start': 426, 'text': '黃偉'}]}, 'start': 1130, 'text': '股東大會(huì)'}]}]
結(jié)果說(shuō)明UIE并沒(méi)有將相關(guān)的內(nèi)容和“會(huì)議”這個(gè)事件聯(lián)系起來(lái),此時(shí)使用實(shí)體抽取的schema,將所需的信息作為單獨(dú)的實(shí)體進(jìn)行抽取,就可以提升效果。
schema = ['會(huì)議時(shí)間', '應(yīng)到', '實(shí)到', '主持人']
ie = Taskflow('information_extraction', schema=schema)
pprint(ie(record))
[{'主持人': [{'end': 428, 'probability': 0.32195555942341514, 'start': 426, 'text': '黃偉'}], '會(huì)議時(shí)間': [{'end': 204, 'probability': 0.7182057639475943, 'start': 175, 'text': '2021 年 10 月 27 日(星期三)上午 10:00'}], '實(shí)到': [{'end': 302, 'probability': 0.956548146017763, 'start': 295, 'text': '董事 10 名'}], '應(yīng)到': [{'end': 292, 'probability': 0.9237980841199089, 'start': 285, 'text': '董事 12 名'}]}]
使用正則提升效果
對(duì)于長(zhǎng)文本,可以根據(jù)關(guān)鍵詞進(jìn)行分割后抽取,但是對(duì)于多個(gè)實(shí)體,比如這篇公告中,通過(guò)的多個(gè)議案,就無(wú)法使用UIE抽取。
schema = ['通過(guò)議案']
start_word = '通過(guò)以下議案'
start = re.search(start_word, record)
input_data = record[start.span()[0]:]
print(input_data)
ie = Taskflow('information_extraction', schema=schema)
pprint(ie(input_data))
通過(guò)以下議案: 一、2021 年第三季度報(bào)告 詳見公司于 2021 年 10 月 29 日刊登在《證券時(shí)報(bào)》、《中國(guó)證券 報(bào)》、《上海證券報(bào)》、《證券日?qǐng)?bào)》及巨潮資訊網(wǎng)的《2021 年第三季 度報(bào)告》(公告編號(hào):2021-046)。 同意票數(shù) 12 票,反對(duì)票數(shù) 0 票,棄權(quán)票數(shù) 0 票。 二、關(guān)于同意全資子公司收購(gòu)擔(dān)保公司 60%股權(quán)的議案 詳見公司于 2021 年 10 月 29 日刊登在《證券時(shí)報(bào)》、《中國(guó)證券 報(bào)》、《上海證券報(bào)》、《證券日?qǐng)?bào)》及巨潮資訊網(wǎng)的《關(guān)于同意全資 子公司收購(gòu)擔(dān)保公司 60%股權(quán)的公告》(公告編號(hào):2021-047)。 同意票數(shù) 12 票,反對(duì)票數(shù) 0 票,棄權(quán)票數(shù) 0 票。 三、關(guān)于同意控股子公司廣西新柳邕公司為認(rèn)購(gòu)廣西新柳邕項(xiàng) 目的銀行按揭貸款客戶提供階段性擔(dān)保的議案 詳見公司于 2021 年 10 月 29 日刊登在《證券時(shí)報(bào)》、《中國(guó)證券 報(bào)》、《上海證券報(bào)》、《證券日?qǐng)?bào)》及巨潮資訊網(wǎng)的《關(guān)于控股子公 司廣西新柳邕公司為認(rèn)購(gòu)廣西新柳邕項(xiàng)目的銀行按揭貸款客戶提供 階段性擔(dān)保的公告》(公告編號(hào):2021-048)。 同意票數(shù) 12 票,反對(duì)票數(shù) 0 票,棄權(quán)票數(shù) 0 票。 四、關(guān)于續(xù)聘會(huì)計(jì)師事務(wù)所的議案 詳見公司于 2021 年 10 月 29 日刊登在《證券時(shí)報(bào)》、《中國(guó)證券 報(bào)》、《上海證券報(bào)》、《證券日?qǐng)?bào)》及巨潮資訊網(wǎng)的《關(guān)于擬續(xù)聘會(huì) 計(jì)師事務(wù)所的公告》(公告編號(hào):2021-049)。 同意票數(shù) 12 票,反對(duì)票數(shù) 0 票,棄權(quán)票數(shù) 0 票。 本議案尚須提交公司股東大會(huì)審議。 五、關(guān)于向銀行申請(qǐng)綜合授信額度的議案 公司部分銀行授信額度即將到期,為保障公司有充足的銀行授信額度,同意公司向以下兩家銀行申請(qǐng)綜合授信額度,具體如下: 一、向中國(guó)民生銀行股份有限公司深圳分行申請(qǐng)不超過(guò)人民幣 5 億元綜合授信額度。 二、向招商銀行股份有限公司深圳分行申請(qǐng)不超過(guò)人民幣 6 億 元綜合授信額度。 上述合計(jì)不超過(guò) 11 億元的綜合授信額度,期限不超過(guò)三年,擔(dān) 保方式為信用擔(dān)保。 同意票數(shù) 12 票,反對(duì)票數(shù) 0 票,棄權(quán)票數(shù) 0 票。 六、經(jīng)理層《崗位聘任協(xié)議》 同意票數(shù) 12 票,反對(duì)票數(shù) 0 票,棄權(quán)票數(shù) 0 票。 七、經(jīng)理層《年度經(jīng)營(yíng)業(yè)績(jī)責(zé)任書》 同意票數(shù) 12 票,反對(duì)票數(shù) 0 票,棄權(quán)票數(shù) 0 票。 八、經(jīng)理層《任期經(jīng)營(yíng)業(yè)績(jī)責(zé)任書》 同意票數(shù) 12 票,反對(duì)票數(shù) 0 票,棄權(quán)票數(shù) 0 票。 九、關(guān)于暫不召開股東大會(huì)的議案 本次董事會(huì)后,暫不召集股東大會(huì)審議本次董事會(huì)通過(guò)的《關(guān) 于續(xù)聘會(huì)計(jì)師事務(wù)所的議案》,該議案后續(xù)將與其他需提交股東大會(huì) 議案一并提交股東大會(huì)審議,公司將另行召開董事會(huì),確定并公告股東大會(huì)的召開時(shí)間。 同意票數(shù) 12 票,反對(duì)票數(shù) 0 票,棄權(quán)票數(shù) 0 票。 特此公告。 深圳市農(nóng)產(chǎn)品集團(tuán)股份有限公司 董 事 會(huì) 二〇二一年十月二十九日
[2022-09-08 16:13:50,534] [ INFO] - We are using <class 'paddlenlp.transformers.ernie.tokenizer.ErnieTokenizer'> to load '/home/aistudio/.paddlenlp/taskflow/information_extraction/uie-base'.
[{'通過(guò)議案': [{'end': 1129, 'probability': 0.7701290743143261, 'start': 1113, 'text': '《關(guān)\n于續(xù)聘會(huì)計(jì)師事務(wù)所的議案》'}]}]
根據(jù)需要抽取信息的特征,此時(shí)則需要使用正則的方式來(lái)對(duì)相關(guān)的條目進(jìn)行抽取,設(shè)定適當(dāng)?shù)恼齽t抽取規(guī)則。
# 正則匹配“一 二 三 四 五 六 七 八 九 十”
print(re.findall(r"[\u4e00\u4e8c\u4e09\u56db\u4e94\u516d\u4e03\u516b\u4e5d\u5341]、.*\n", input_data))
['一、2021 年第三季度報(bào)告 \n', '二、關(guān)于同意全資子公司收購(gòu)擔(dān)保公司 60%股權(quán)的議案 詳見公司于 2021 年 10 月 29 日刊登在《證券時(shí)報(bào)》、《中國(guó)證券\n', '三、關(guān)于同意控股子公司廣西新柳邕公司為認(rèn)購(gòu)廣西新柳邕項(xiàng)\n', '四、關(guān)于續(xù)聘會(huì)計(jì)師事務(wù)所的議案 \n', '五、關(guān)于向銀行申請(qǐng)綜合授信額度的議案 \n', '一、向中國(guó)民生銀行股份有限公司深圳分行申請(qǐng)不超過(guò)人民幣 5\n', '二、向招商銀行股份有限公司深圳分行申請(qǐng)不超過(guò)人民幣 6 億\n', '六、經(jīng)理層《崗位聘任協(xié)議》 \n', '七、經(jīng)理層《年度經(jīng)營(yíng)業(yè)績(jī)責(zé)任書》 \n', '八、經(jīng)理層《任期經(jīng)營(yíng)業(yè)績(jī)責(zé)任書》 \n', '九、關(guān)于暫不召開股東大會(huì)的議案 \n']
效果提升
除了通過(guò)根據(jù)文本的特征,制定適合的正則規(guī)則外,也可以通過(guò)增加小樣本訓(xùn)練提升數(shù)據(jù)。
推薦使用數(shù)據(jù)標(biāo)注平臺(tái)doccano或labelstudio進(jìn)行數(shù)據(jù)標(biāo)注,同時(shí) PaddleNLP 也支持微調(diào)訓(xùn)練、預(yù)測(cè)部署,具體的使用方法可以參考:
-
工單信息抽取
-
快遞單信息抽取文章來(lái)源:http://www.zghlxwxcb.cn/news/detail-833889.html
當(dāng)然,最全的信息在官方文檔上哦:https://github.com/PaddlePaddle/PaddleNLP/tree/develop/model_zoo/uie文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-833889.html
到了這里,關(guān)于使用PaddleNLP UIE模型提取上市公司PDF公告關(guān)鍵信息的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!