本發明涉及自然語言處理領域,尤其涉及一種基于公司年報的產品信息提取方法。
背景技術:
1、公司年報是公司每年向股東、投資者、監管機構等利益相關者提供的正式文件,旨在詳細報告公司在過去一年的經營狀況、財務表現、市場策略、風險管理等多方面的情況。
2、傳統的公司年報分析主要依賴于財務分析師和管理顧問的專業知識,這些專業人員通過手工審查財務報表、利潤表、現金流量表以及附注等信息來評估公司的財務健康狀況和未來的盈利前景。
3、現有技術的缺陷在于:一方面,不同公司的年報格式各異,內容描述也各不相同,尤其是年報中披露的產品信息,大多以非結構化的長文本形式呈現,這增加了內容理解與數據抽取的難度。另一方面,傳統的手工分析方式不僅效率低下,而且容易出現錯誤,難以達到對信息精度的高要求。
技術實現思路
1、有鑒于現有技術的上述缺陷,本發明提供一種基于公司年報的產品信息提取方法,專門針對年報長文本數據的數據抽取,以實現在公司年報信息中準確、高效地提取數據。
2、為達到上述目的,本發明所采用的技術方案是:
3、一種基于公司年報的產品信息提取方法,包含以下步驟:
4、s1:獲取和預處理公司年報數據;
5、s2:根據所述公司年報數據,構建文檔樹;建立產品實體詞典,根據所述產品實體詞典,遍歷文檔樹,根據預設規則對所述文檔樹進行篩選,獲取目標文檔樹;對所述目標文檔樹抽取關鍵信息,根據所述關鍵信息,構建產品關系數據集;
6、s3:根據所述產品關系數據集構建可視化知識圖譜。
7、上市公司的年報獲取方式為:根據上市公司股票代碼在相應證券交易所下載上市公司歷年年報pdf文檔集。非上市公司的年報可以通過公司內部管理渠道獲取。文本預處理包含對下載的pdf文件進行解析,提取文本信息,并進行數據清洗,包括去除無關字符、頁碼、頁眉、頁腳等。
8、文檔樹是一種用于表示文檔結構的層次化數據結構,它通過分析文檔的標題、段落和其他結構元素,將文檔內容組織成一個樹狀結構,其中每個節點代表一個特定的文本段落或標題。產品實體詞典是一個包含公司年報中所有產品名稱及其相關信息的詞匯表,它通過自然語言處理技術從年報文本中提取和識別產品實體,并對其進行標準化和去重處理,形成一個結構化的詞匯集合。
9、構建文檔樹,以反映年報內容的層次和關聯。收集與公司產品相關的詞匯,包括產品名稱、型號、類別等,形成產品實體詞典,可通過查閱公司官網產品介紹、行業標準術語等途徑構建,并不斷更新完善。依據產品實體詞典,遍歷文檔樹,根據預設規則對所述文檔樹進行篩選,獲取目標文檔樹,以實現聚焦于與產品信息相關的部分。在目標文檔樹中,識別出產品實體的具體信息,如產品名稱、規格參數、生產日期等。通過抽取關鍵信息提取產品實體之間的關系,如產品之間的關聯性(如配套產品、替代產品等)、產品與市場表現(如銷售額、市場份額等)的關系等,可通過分析文本中的語義關聯和句法結構來確定。將抽取到的產品實體及其關系整理成結構化的數據集,便于后續分析和應用。知識圖譜構建:以產品關系數據集為基礎,利用知識圖譜構建工具,生成可視化知識圖譜。知識圖譜可展示產品之間的關聯、產品與市場等多維度信息,直觀呈現公司產品信息全貌。
10、作為優選,所述步驟s1包含:下載并解析所述公司年報pdf文檔集,獲取原始文本數據;對所述原始文本數據進行數據清洗,獲得清洗后數據;將所述清洗后數據通過目錄標題關鍵詞定位,獲得文本列表。
11、從證券交易所或其他可靠來源下載公司年報的pdf文件,并將其轉換為可處理的文本格式。使用pdf解析工具將pdf文件中的文本內容提取出來,生成原始文本數據。對原始文本數據進行數據清洗,獲得清洗后數據,目的是去除原始文本數據中的噪聲和無關信息,提高數據質量和后續處理的效率。如自動拼寫檢查與校驗、正則表達式清洗、去除空格和特殊字符等。根據目錄標題關鍵詞建立關鍵詞-文本數據層次索引,通過關鍵詞索引,可以快速定位到包含產品信息的特定段落或章節,生成文本列表。通過下載和解析pdf文檔、數據清洗,以及通過目錄標題關鍵詞定位文本列表,為后續的信息抽取和知識圖譜構建提供了高質量的文本數據,確保了數據的準確性和可用性,為高效、準確地提取產品信息奠定了基礎。
12、作為優選,所述步驟s2包含:遍歷所述文本列表,為所述公司年報數據增加文本類型屬性,并通過所述文本類型屬性構建文檔樹。
13、構建文檔樹旨在將公司年報的文本內容組織成一個層次化的樹狀結構,便于后續的信息抽取和處理。通過遍歷文本列表,為每個文本段落或標題增加一個類型屬性,以便區分不同的文本內容(如正文、標題等)。例如:-1:表示正文類型,1-15:表示不同的標題類型(如1表示一級標題,2表示二級標題等)。根據文本類型屬性,將文本內容組織成一個層次化的樹狀結構,便于后續的信息抽取和處理。通過遍歷文本列表并增加文本類型屬性,將公司年報的文本內容組織成一個層次化的樹狀結構。這一過程不僅提高了文本處理的效率,還為后續的信息抽取和知識圖譜構建提供了結構化的基礎。通過文檔樹,可以快速定位到包含產品信息的特定段落或標題,確保信息抽取的準確性和高效性。
14、作為優選,所述步驟s2包含:對所述公司年報數據進行分詞處理,并采用bio標注對每個詞語進行標注。
15、對公司年報數據進行分詞處理目的是為后續的產品實體識別和關系抽取提供標注好的訓練數據。將公司年報的文本內容拆分成一個個獨立的詞語,以便進行更細粒度的分析和處理,分詞工具如jieba(針對中文文本)或nltk(針對英文文本)。通過bio標注格式,標記出文本中的產品實體,定義標注規則:b-entity:表示實體的開頭,i-entity:表示實體的中間部分,o:表示非實體的詞。將分詞結果和對應的bio標注組合起來,生成標注數據集。通過分詞處理和bio標注,可以將公司年報的文本內容轉換為標注好的訓練數據,為后續的命名實體識別(ner)任務提供支持。這一過程不僅提高了數據的質量,還為準確識別產品實體奠定了基礎,從而提升整個信息抽取和知識圖譜構建的效率和準確性。
16、作為優選,所述步驟s2包含:遍歷所述文檔樹,計算所述產品實體詞典中每個產品實體詞的數量,將數量大于設定閾值的所述產品實體詞對應的標題列入目標標題詞典,將數量小于等于所述設定閾值的所述產品實體詞對應的標題列入其他標題詞典;根據所述目標標題詞典定位關鍵標題節點,根據其他標題詞典刪除不相關節點,獲取所述目標文檔樹。
17、通過遍歷文檔樹,統計每個標題下文本中產品實體詞的出現頻率,以便識別出包含重要產品信息的標題。為每個產品實體詞初始化一個計數器,用于記錄其在文檔中的出現次數。從根節點開始,逐層遍歷文檔樹的每個節點,對于每個節點(標題或段落),使用產品實體詞典中的詞進行匹配,統計每個產品實體詞的出現次數。根據產品實體詞的出現頻率,將標題分為目標標題和其他標題,以便后續的篩選和處理。根據統計結果,設定一個閾值,將出現次數高于該閾值的產品實體詞對應的標題列入目標標題詞典,低于該閾值的列入其他標題詞典。通過目標標題詞典和其他標題詞典,篩選出包含重要產品信息的節點,構建目標文檔樹,去除不相關的內容。通過遍歷文檔樹、統計產品實體詞的出現頻率、分類標題、定位關鍵節點和刪除不相關節點,可以構建一個包含重要產品信息的目標文檔樹。這一過程不僅提高了信息抽取的效率,還確保了提取信息的準確性和相關性,為后續的產品關系抽取和知識圖譜構建提供了高質量的結構化數據。
18、作為優選,所述步驟s2包含:對于固定模板的所述公司年報通過識別匹配所述固定模板進行信息抽取。
19、對于具有固定模板的公司年報,可以通過識別和匹配這些固定模板來高效地抽取信息。識別固定模板,確定年報是否遵循已知的固定模板,這些模板通常包含特定的結構和格式。通過識別和匹配固定模板,可以高效地從公司年報中抽取所需的信息。這種方法利用了年報格式的一致性和規律性,提高了信息抽取的效率和準確性,為后續的產品關系抽取和知識圖譜構建提供了高質量的結構化數據。
20、作為優選,所述步驟s2包含:對于不規則模板的所述公司年報根據固定關鍵詞進行信息抽取。
21、在處理不規則模板的公司年報時,由于年報的格式和結構可能千差萬別,無法直接應用固定模板匹配的方法。因此,可以采用基于固定關鍵詞的策略來抽取信息。通過識別文本中的特定關鍵詞,定位和提取相關的產品信息。識別年報中常見的、與產品信息相關的固定關鍵詞,這些關鍵詞可以幫助定位產品信息的位置。遍歷文檔樹,定位包含固定關鍵詞的標題和段落,這些部分可能包含重要的產品信息。通過基于固定關鍵詞的方法,可以有效地從不規則模板的公司年報中抽取產品信息。這種方法利用了關鍵詞的語義信息,通過遍歷文檔樹、定位關鍵詞、提取關鍵信息,形成結構化的數據,為后續的產品關系抽取和知識圖譜構建提供了高質量的輸入,不僅提高了信息抽取的效率,還確保了提取信息的準確性和相關性。
22、作為優選,所述步驟s2包含:建立通用關系抽取規則,使用正則表達式提取產品名稱關系三元組。
23、建立通用關系抽取規則并使用正則表達式提取產品名稱關系三元組旨在從文本中識別和提取產品之間的關系,形成結構化的數據。定義一組規則,用于識別和提取文本中的產品名稱及其關系。研究年報文本的結構和常用表達方式,識別產品名稱及其關系的常見模式。確定需要抽取的關系類型,如“包括”、“應用于”、“競爭關系”等。根據識別的模式和關系類型,編寫通用的關系抽取規則。這些規則可以是基于關鍵詞、句式結構或依存關系的。通過正則表達式匹配文本中的產品名稱及其關系,提取結構化的三元組數據。通過建立通用關系抽取規則并使用正則表達式提取產品名稱關系三元組,可以有效地從公司年報中抽取產品之間的關系,形成結構化的數據。
24、作為優選,所述步驟s2包含:根據所述關系三元組構建產品關系數據集和產品關系提取模型。
25、根據提取的關系三元組構建產品關系數據集和產品關系提取模型旨在將提取的結構化信息用于訓練和優化模型,以提高關系抽取的準確性和效率。將提取的關系三元組整理成一個結構化的數據集,用于訓練和評估模型。使用構建的產品關系數據集訓練一個模型,自動識別和抽取文本中的產品關系。選擇適合關系抽取的模型架構,如bert、lstm、bilstm等。bert模型在自然語言處理任務中表現優異,尤其適合處理文本關系抽取任務。通過構建產品關系數據集和產品關系提取模型,可以自動化地從公司年報中抽取產品之間的關系,形成結構化的數據,不僅提高了信息抽取的效率,還確保了提取信息的準確性和相關性,為后續的知識圖譜構建提供了高質量的輸入。通過選擇合適的模型架構、數據預處理、模型訓練和評估,可以進一步提升模型的性能,確保其在不同數據集上的表現一致。
26、作為優選,所述步驟s3包含:所述知識圖譜的結構包含節點和邊;所述節點表示實體,所述邊表示所述節點之間的關系;根據pagerank算法計算各節點的重要性分數;根據所述重要性分數構建可視化數據模型。
27、與現有技術相比,本發明的有益效果體現在:
28、1.相比傳統手工分析,本方法借助自然語言處理技術自動化提取信息,大幅縮短了分析時間,提高了工作效率。通過構建文檔樹、精準篩選目標內容以及利用先進的實體識別和關系抽取技術,能夠更準確地提取產品信息,減少人為錯誤,滿足高精度信息需求,最終生成的可視化知識圖譜以直觀的方式呈現復雜的產品信息和關系,便于非專業人員理解公司產品情況,有助于股東、投資者等更好地做出決策。提取的產品信息和構建的知識圖譜可為公司內部管理決策、市場研究、競爭對手分析等多方面提供數據支持,具有廣泛的應用價值。
29、2.通過基于公司年報的典型目錄結構和標題關鍵詞,以一種自動化、層級化的方式從文檔中提取相關數據,提高數據處理效率。首先建立了基于標題結構的文檔樹,并針對年報中不同的標題類型,對文本進行分類標記。通過自動遍歷這些層級,定位具體的內容節點。通過層次遍歷文檔樹對每一節點內容進行產品提取并合并,實現文檔樹分層處理。
30、3.由于年報中有很多長文本數據且長文本格式多樣造成文本理解困難。在處理年報中的長文本段落時,首先按標點符號將長句切分為多個子句,然后利用依存分析工具生成依存語法樹,識別句子的主從結構、并列關系等。再通過規則鏈將長句切分為獨立的短句,這樣就能將長文本問題轉化為短句問題,直接提取每個短句中的關鍵信息,減少誤差并提高解析的準確性。
31、4.對于年報中的產品關系,首先基于產品實體詞典,根據正則分析和依存分析,構建通用規則提取產品關系并構建產品關系三元組數據集。通過自主構建的關系數據集,基于bert與lstm模型,融合句子語義特征與產品實體特征進行關系抽取,提高關系抽取效率與準確率。