TWI874013B - 階層式的文件解析系統及方法 - Google Patents
階層式的文件解析系統及方法 Download PDFInfo
- Publication number
- TWI874013B TWI874013B TW112146346A TW112146346A TWI874013B TW I874013 B TWI874013 B TW I874013B TW 112146346 A TW112146346 A TW 112146346A TW 112146346 A TW112146346 A TW 112146346A TW I874013 B TWI874013 B TW I874013B
- Authority
- TW
- Taiwan
- Prior art keywords
- strings
- candidate
- similarity
- value
- threshold
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/11—File system administration, e.g. details of archiving or snapshots
- G06F16/116—Details of conversion of file system types or formats
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/205—Parsing
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/18—File system types
- G06F16/185—Hierarchical storage management [HSM] systems, e.g. file migration or policies thereof
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/22—Matching criteria, e.g. proximity measures
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Artificial Intelligence (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Evolutionary Computation (AREA)
- Evolutionary Biology (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Bioinformatics & Computational Biology (AREA)
- Health & Medical Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
階層式的文件解析方法,包括以運算裝置執行:取得參考字串,透過第一模組取得多個文件中的多個第一字串,其中每個文件包括表格,表格包括多個文字欄及多個數值欄,每個第一字串關聯於所述多個文字欄,計算參考字串與每個第一字串的第一相似度,從所述多個文件中篩選出多個候選文件,每個候選文件的第一相似度大於第一閾值,透過第二模組取得所述多個候選文件中的多個第二字串,其中每個第二字串關聯於所述多個文字欄,計算參考字串與每個第二字串的第二相似度,以及當第二相似度大於第二閾值時,依據每個第二字串決定一數值欄並輸出。
Description
本發明關於文件解析以及人工智慧,特別是一種階層式的文件解析系統及方法。
在產品開發設計時,工程師需要研讀眾多文件來取得設計開發所需的技術規格參數。因為文件來自不同的客戶及廠商,在文件格式上無法達到一致性。
然而,由於文件格式種類繁多,在文件解讀上相當仰賴工程師的專業能力,因此解讀失誤的狀況很有可能發生。現行的文件自動解析方法以規則主導(rule-based)為主流。這種方式雖然容易建立模型,但建立好的模型無法更改解析規則,無法學習沒有訓練過的新資料,而且其後續維護成本非常高。
有鑑於此,本發明提出一種階層式的文件解析系統及方法,以過濾模型以及人工智慧進行初步文件資料解析,配合提供文件解析的雲端服務,可以得到穩健性高的文件資料且降低調用雲端服務的次數以節省服務費用與傳輸時間。
依據本發明一實施例的一種階層式的文件解析方法,包括以一運算裝置執行:取得參考字串,取得多個文件中的多個第一字串,其中每個文件包括一表格,表格包括多個文字欄及多個數值欄,每個第一字串關聯於所述多個文字欄,計算參考字串與每個第一字串的第一相似度,從所述多個文件中篩選出多個候選文件,其中每個候選文件的第一相似度大於第一閾值,透過第二模組取得所述多個候選文件中的多個第二字串,其中每個第二字串關聯於所述多個文字欄,計算參考字串與每個第二字串的第二相似度,以及當第二相似度大於第二閾值時,依據每個第二字串決定所述多個數值欄中的一者並輸出。
依據本發明一實施例的一種階層式的文件解析系統,包括儲存裝置以及運算裝置。儲存裝置用於儲存多個指令、多個參考字串以及多個文件。運算裝置電性連接儲存裝置並用於執行所述多個指令以引起多個操作,這些操作包括:取得一參考字串。取得所述多個文件中的多個第一字串,其中每個文件包括一表格,表格包括多個文字欄及多個數值欄,且每個第一字串關聯於所述多個文字欄。計算參考字串與每個第一字串的第一相似度,從所述多個文件中篩選出多個候選文件,其中每個候選文件地第一相似度大於一第一閾值,透過第二模組取得所述多個候選文件中的多個第二字串,其中每個第二字串關聯於所述多個文字欄,計算參考字串與每個第二字串的第二相似度;以及當第二相似度大於第二閾值時,依據每個第二字串決定所述多個數值欄中的一者並輸出。
綜上所述,本發明提出的階層式的文件解析系統及方法具有下列功效:
1. 基於人工智慧技術,可以快速找到專業文件內的關鍵字數值,並解決工程師不曉得使用哪些關鍵字的問題,從而減少整體查找時間。
2. 相較於「規則主導」的固定規則的文件解析方法,本發明 對於新的文件解析需求,不需要定義新的查找規則,可以節省開發人員的時間,降低人力成本。
3. 本發明基於開源人工智慧模型以及階層式概念進行資料篩選,減少自主訓練人工智慧模型的時間,加快開發速度。
4. 本發明的設計架構屬於階層式概念,因此相當彈性,各個個階層所使用的模型或演算法都可以進行替換,因此不會被任何一個套件或廠商綁定,避免了未來因為某個方法或套件不再支援或更新,導致系統無法運作的問題。
整體而言,本發明的優勢在於不需要開發人員多次重複開發、不需要重複訓練人工智慧模型、不被任何方法或套件綁定,簡化原本繁複的步驟,提升使用者操作上的便利。
以上之關於本揭露內容之說明及以下之實施方式之說明係用以示範與解釋本發明之精神與原理,並且提供本發明之專利申請範圍更進一步之解釋。
以下在實施方式中詳細敘述本發明之詳細特徵以及特點,其內容足以使任何熟習相關技藝者了解本發明之技術內容並據以實施,且根據本說明書所揭露之內容、申請專利範圍及圖式,任何熟習相關技藝者可輕易地理解本發明相關之構想及特點。以下之實施例係進一步詳細說明本發明之觀點,但非以任何觀點限制本發明之範疇。
圖1是依據本發明一實施例的階層式的文件解析系統的方塊架構圖。如圖1所示。階層式的文件解析系統10包括儲存裝置1以及運算裝置3。儲存裝置1用於儲存多個文件、多個參考字串、多個關鍵字以及多個指令,其中所述多個文件儲存於文件資料庫12,所述多個參考字串儲存於表格標準答案資料庫14,所述多個關鍵字分別儲存於模糊比對關鍵字資料庫16以及人工智慧資料庫18,所述多個指令則儲存於上述資料庫以外的區域。運算裝置3電性連接儲存裝置1並用於執行所述多個指令以引起多個操作,關於這些操作請參考圖2。
在一實施例中,儲存裝置1例如是揮發性記憶體及/或非揮發性記憶體。非揮發性記憶體包括唯讀記憶體(read-only memory,ROM)、可程式化ROM(programmable ROM,PROM)、電性可程式化ROM(electrically programmable ROM,EPROM)、電性可抹除及可程式化ROM(electrically erasable and programmable ROM,EEPROM)、快閃記憶體、相變隨機存取記憶體(phase-change random access memory,PRAM)、磁性RAM(magnetic RAM,MRAM)、電阻式RAM(resistive RAM,RRAM)及/或鐵電RAM(ferroelectric RAM,FRAM)。揮發性記憶體可包括動態RAM(dynamic RAM,DRAM)、靜態RAM(static RAM,SRAM)及/或同步DRAM(synchronous DRAM,SDRAM)。在另一實施例中,儲存裝置1例如是硬碟驅動機(hard disk drive,HDD)、固態驅動機(solid-state drive,SSD)、緊密型快閃(compact flash,CF)卡、安全數位(secure digital,SD)卡、微型SD卡、迷你SD卡、極端數位(extreme digital,xD)卡及記憶條中的至少一者。本發明不限制儲存裝置1的硬體類型。
在一實施例中,運算裝置3可採用下列範例中的一或數者實作:個人電腦、網路伺服器、微控制器(microcontroller,MCU)、應用處理器(application processor,AP)、現場可程式化閘陣列(field programmable gate array,FPGA)、特殊應用積體電路(Application Specific Integrated Circuit,ASIC)系統晶片(system-on-a-chip,SOC)、深度學習加速器(deep learning accelerator),或是任何具有類似功能的電子裝置,本發明不限制運算裝置3的硬體類型。
圖2是依據本發明一實施例的階層式的文件解析方法的流程圖。如圖2所示,此方法包括步驟S0至步驟S10。此方法分為三個階段進行資料篩選並取得最終的資料。第一階段包括步驟S0至步驟S5,第二階段包括步驟S6至步驟S9,第三階段包括步驟S10。
第一階段的目的是過濾低相關的表格資料,保留高相關的表格資料,藉此減少第二階段運行時的時間以及費用。圖3是第一階段的範例示意圖。
在步驟S0執行之前,使用者將至少一文件儲存至儲存裝置1的文件資料庫12中。在一實施例中,每個文件例如是PDF檔案,但本發明不以此為限。在一實施例中,所述至少一文件的數量為多個。文件內容包括一或多個表格,每一個表格包括文字欄以及數值欄。
在步驟S0中,運算裝置3從儲存裝置1的表格標準答案資料庫14取得至少一參考字串,如圖3所示的A1、A2、…AM,這些參考字串A1、A2、…AM用於作為後續篩選文件的依據。在一實施例中,使用者預先收集多個曾經用來找到資料的表格,運算裝置3透過光學字元辨識方式,從每個表格的文字欄擷取出參考字串,再儲存至表格標準答案資料庫14中。本發明不限制參考字串的長度或數量。
在步驟S1中,運算裝置3運行第一模組取得多個文件中的多個第一字串,所述多個第一字串如圖3所示的P1、P2、…PN。請參考圖3,在一實施例中,運算裝置3從文件資料庫12取出預先儲存的多個文件,且第一模組為開源表格解析工具。免費的開源解析工具例如為:PdfPlumber、PyPDF2以及PyMuPdf,然而不限於此。以PDF文件為例,由於文件內的表格資料為圖片格式,因此需透過第一模組(例如為開源表格解析工具)將其轉換為字串格式。上述操作的範例示意圖可參考圖3及圖4。在圖3及圖4中,每個第一字串(如第一字串P1)代表某個文件的某一頁中的一表格中的文字資料(非數值資料)。
在步驟S1的另一實施例中,運算裝置3執行儲存裝置1中的多個指令,將所述多個文件由圖片格式轉換為文字格式,再區分文字格式中的文字資料和數值資料,然後將文字資料保存為所述多個第一字串。
在步驟S2中,運算裝置3計算參考字串與每個第一字串的第一相似度。在一實施例中,運算裝置3運行下列開源的字串比對模型中的一者以計算第一相似度。
1. Hugging Face : sentence-transformers / all-MiniLM-L6-v2;
2. GitHub : SeanLee97 / xmnlp;以及
3. GitHub : oborchers / Fast_Sentence_Embeddings。
所述字串比對模型可進行語句相似度(sentence similarity)的比對,並產生一個比對分數作為第一相似度。第一相似度反映參考字串與第一字串之間的相似性,數值愈大代表二者愈相似。在另一實施例中,運算裝置3可以運行多個字串比對模型,並依據它們產生的多個比對分數計算一加權平均值作為第一相似度。
本發明使用開源模型的原因有二:第一,節省使用者自行重新訓練模型的時間。第二,由於現有的語句相似度的人工智慧模型已經相當成熟,因此不須要花費人力去重新建置,以現有的開源模型實現步驟S2已經足夠。
在步驟S3中,運算裝置3判斷第一相似度是否大於第一閾值。在一實施例中,第一閾值為0.95,但本發明不以此範例數值為限制。若步驟S3的判斷為否,則前往步驟S4。若步驟S3的判斷為是,則保留當前的文件作為候選文件TB執行步驟S5。
在步驟S4中,運算裝置3捨棄第一相似度不大於第一閾值的第一字串。
請注意,在圖3的範例示意圖中,第一字串P1、P2、…PN總共有N個,因此步驟S2將被執行N次。每執行一次步驟S2將產生M個第一相似度。在一實施例中,若M個第一相似度中存在至少K個數值大於第一閾值,則此第一字串(例如P1)對應的文件可以被保留作為候選文件TB供第二階段使用。反之則捨棄此第一字串。本發明不限制M、N及K的數值設定。
在步驟S5中,運算裝置3從所述多個文件中篩選出多個候選文件TB。整體而言,在第一階段的步驟S1至S5中,是將儲存裝置1中的所有文件中的多個第一字串,透過步驟S1的輕量表格解析模組以及步驟S2至S3的雜訊過濾機制進行篩選,保留第一相似度大於第一閾值的文件作為候選文件TB。在一實施例中,第一閾值設為0.95,相當於第一階段會過濾掉95%的文件,剩餘5%的候選文件TB則繼續進入第二階段繼續篩選。
如果第一階段篩選後的候選文件TB的數量低於指定數量(例如2),可以採用以下兩種方式。第一種方式:運算裝置3依據第一相似度由高至低排列所有第一字串,然後依序挑選最高第一相似度的第一字串對應的文件作為候選文件TB,直到候選文件TB的數量等於指定數量為止。第二種方式:運算裝置3降低第一閾值(例如從0.95降至0.94),再確認候選文件TB的數量是否超過門檻值,如果為否,則繼續調降第一閾值,直到候選文件TB的數量足夠進行第二階段為止。
接下來進行第二階段(步驟S6至步驟S9),對第一階段篩選出來的候選文件TB做進一步的篩選以保留精確表格。由於第二階段需要分析的資料量相對於第一階段已經大幅減少,因此可以節省執行時所需的費用和時間。圖5是第二階段的範例示意圖。
在步驟S6中,運算裝置3透過第二模組從所述多個候選文件TB取得多個第二字串,如圖5所示的Q1、Q2、…QL。由於候選文件TB的數量小於第一階段的文件數量,因此所述多個第二字串的數量L小於所述多個第一字串的數量N。請參考圖5,在一實施例中,所述第二模組為雲端文件表格解析模組。於一實施例中,雲端文件表格解析模組對於所述多個第二字串的辨識準確度大於開源表格解析工具對於所述多個第一字串的準確度。例如免費的開源表格解析工具(用於步驟S1)可能因為表格解析不完整,導致表格行列缺少或是文字辨識錯誤的問題。在步驟S6中,運算裝置3運行Azure表格辨識器或AWS Testract之類的雲端文件表格解析模組以取得所述多個第二字串。上述操作的範例示意圖可參考圖5。在圖5中,每個第二字串(如Q1)代表某個候選文件TB的某一頁中的一表格中的文字資料(非數值資料)。
在步驟S6的另一實施例中,運算裝置3執行儲存裝置1中的多個指令,以將所述多個候選文件TB由圖片格式轉換為文字格式,再區分文字格式中的文字資料和數值資料,然後將文字資料保存為所述多個第二字串。
在步驟S7中,運算裝置3計算參考字串與第二字串的第二相似度,其具體實施方式可參考步驟S3。
在步驟S8中,運算裝置3判斷第二相似度是否大於第二閾值。在一實施例中,第二閾值為0.98,但本發明不以此範例數值為限。若步驟S8的判斷為否,則前往步驟S9。若步驟S8的判斷為是,則前往步驟S10。第二閾值必須大於第一閾值,因為第二階段是藉由更嚴格的閾值設定,對第一階段篩選出的候選文件TB進一步篩選,得到精確表格。
在步驟S9中,運算裝置3捨棄第二相似度不大於第二閾值的第二字串。。
接下來進行第三階段(步驟S10),對第二階段篩選出來的精確表格逐一取出候選子字串進行模糊比對與人工智慧比對,並保留屬於正確關鍵字的候選子字串並排除屬於錯誤關鍵字的候選子字串。
在步驟S10中,運算裝置3依據每個第二字串輸出精確表格中的數值欄。整體而言,步驟S10是評估第二階段篩選出來的精確表格中,是否有匹配模糊比對關鍵字資料庫16或人工智慧資料庫18中記錄的關鍵字,如果有,則繼續將精確表格中的數值欄位的資料輸出。圖6是圖2中步驟S10的細部流程圖。
在步驟S101中,運算裝置3選擇第二字串的多個子字串中的一候選子字串。請參考圖4及圖5,假設保留作為精確表格的是第二字串Q1,其包括: Module,13,3’’,13,3’’,FHD16,9ColorTFT…等多個候選子字串。在一實施例中,運算裝置3每次選擇一個候選子字串執行圖6所示流程,例如第一次選擇 “Module”,下一次選擇“13”…依此類推。
在步驟S102中,運算裝置3依據候選子字串與模糊比對關鍵字資料庫16中的多個模糊關鍵字進行比對以決定候選子字串的權重。在一實施例中,步驟S102的執行次數與模糊關鍵字的數量相同,因此多次執行步驟S102將產生多個權重,運算裝置3後續使用的是這些權重中的最大值。圖7是步驟S102的細部流程圖,包括步驟S1021至步驟S1025。至於模糊比對關鍵字資料庫16的建立方式則於後面詳述。
在步驟S1021中,運算裝置3依據候選子字串是否包含模糊關鍵字產生第一判斷。若第一判斷為否,則前往步驟S1022,若第一判斷為是,則前往步驟S1023。
在步驟S1022中,運算裝置3設定權重為第一數值,然後前往步驟S103。
在步驟S1023中,運算裝置3依據模糊關鍵字是否位於候選子字串的第一部分產生第二判斷。若第二判斷為否,則前往步驟S1024,若第二判斷為是,則前往步驟S1025。在一實施例中,候選子字串由第一部分及第二部分組成。第一部分位於前半部分,第二部分位於後半部分。例如:若候選子字串為 “power supply”,則第一部分為 “power”,第二部分為 “supply”。若候選子字串為 “power”,則第一部份為 “p”,第二部分為 “ower”。本發明不特別限制第一部份或第二部分的字串長度。
在步驟S1024中,運算裝置3設定權重為第二數值,然後前往步驟S103。
在步驟S1025中,運算裝置3設定權重為第三數值,然後前往步驟S103。在一實施例中,第一數值小於第二數值,且第二數值小於第三數值。例如:第一數值為1.2,第二數值為1.5,第三數值為1.8。
以實際範例說明圖7的流程如下:假設候選子字串為“Power supply voltage”,其第一部分為Power,第二部分為supply voltage;並假設模糊比對關鍵字資料庫16存有四個模糊比對關鍵字: V、I、P、Power,則步驟S1021至S1025的流程會被執行四次。第一次設定的權重為第二數值,因為候選子字串Power supply voltage雖包含模糊關鍵字V,但模糊關鍵字V不是位於第一部份Power。第二次設定的權重為第一數值,因為候選子字串Power supply voltage不包含模糊關鍵字I。第三次設定的權重為第三數值,因為候選子字串Power supply voltage包含模糊關鍵字P,而且模糊關鍵字P位於第一部份Power中。第四次設定的權重為第三數值,因為模糊關鍵字的Power supply voltage包含Power,而且模糊關鍵字的Power位於第一部份Power中。最終,運算裝置3採用這四個權重中的最大值,即第三數值,作為步驟S102所述的權重。
在步驟S103中,運算裝置3計算候選子字串與人工智慧資料庫18中的每一個人工智慧關鍵字的第三相似度。第三相似度的計算方式可參考步驟S3及步驟S8中第一相似度及第二相似度的計算方式。在一實施例中,人工智慧資料庫18中的多個人工智慧關鍵字由使用者預先建立,再透過程式或腳本,對每一個人工智慧關鍵字擷取其第一部份作為模糊比對關鍵字儲存至模糊比對關鍵字資料庫16中。
在一實施例中,步驟S103的執行次數與人工智慧關鍵字的數量相同,因此多次執行步驟S103將產生多個第三相似度,運算裝置3後續使用的是這些第三相似度中的最大值。以實際範例說明步驟S103如下:假設候選子字串為Power supply voltage,並假設人工智慧資料庫18存有七個人工智慧關鍵字: VLED、ILED、PLED、VGG、IGG、PGG、Power supply current;則步驟S103會被執行七次,第一次計算人工智慧關鍵字VLED與候選子字串Power supply voltage的第三相似度,第二次計算人工智慧關鍵字ILED與候選子字串Power supply voltage的第三相似度…,最終產生七個第三相似度。容易看出人工智慧關鍵字Power supply current與候選子字串Power supply voltage字面上最相近,因此步驟S103輸出對應於人工智慧關鍵字Power supply current的第三相似度。
在步驟S104中,運算裝置3依據第三相似度與權重計算一比對分數。在一實施例中,比對分數為第三相似度與權重的乘積。
在步驟S105中,運算裝置3判斷比對分數是否大於第三閾值。若步驟S105的判斷為是,代表此候選子字串為正確關鍵字,後續將前往步驟S106。若步驟S105的判斷為否,代表此候選子字串為錯誤關鍵字,此候選子字串將被捨棄,並且返回步驟S101,從第二字串中選擇下一個候選子字串再重複步驟S102至步驟S106的流程。在一實施例中,第三閾值例如為0.95,但本發明不限制第三閾值的數值設定。
在步驟S106中,運算裝置3輸出候選子字串對應的多個數值欄中的一者。詳言之,在步驟S2及S7中,運算裝置3除了取得表格中的文字欄中的文字作為第二字串,也會取得表格中的數值欄中的數值記錄,並且記錄這些文字與數值之間的對應關係。因此,每當運算裝置3在步驟S106中確定一個正確關鍵字,便可依據此正確關鍵字以及前述的對應關係,在數值記錄中找到對應於正確關鍵字的數值予以輸出。
在一實施例中,圖6所示的流程可以重複執行多次,並且輸出原先並未記載於精確文件中的數值資料。以實際範例說明如下:已知電壓V、電流I及功率P之間具有V=I*P的關係,此關係以指令形式儲存於儲存裝置1中。假設人工智慧資料庫18中儲存的人工智慧關鍵字包括VGG、IGG、及PGG,候選子字串僅包含VCC和ICC而不包含PCC。基於上述假設,在圖6所示的流程連續執行兩次之後,可以在步驟S106輸出VCC對應的電壓數值以及ICC對應的電流數值(透過人工智慧關鍵字VGG找出精確表格中的文字欄VCC,透過人工智慧關鍵字IGG找出精確表格中的文字欄ICC),然後運算裝置3更透過預先儲存的指令(V=I*P )計算出PCC的功率數值並予以輸出(PCC=VCC*ICC)。
雖然使用者想要搜尋的資料在不同的文件中可能對應到不同的關鍵字,但這些關鍵字之間的差異並不大。例如:A文件中記載的電壓關鍵字是VCC,B文件中記載的電壓關鍵字是VGG。因此,這種差異,只需要在初期進行關鍵字蒐集,並將蒐集到的關鍵字儲存至人工智慧資料庫18中。後續即使不再繼續蒐集新的人工智慧關鍵字,只要要搜尋的資料對應的關鍵字沒有太大的變動,透過圖6所示的流程,使用者仍然可以找到所需資料。舉例來說,雖然人工智慧資料庫18中並沒有儲存VCC、 ICC等人工智慧關鍵字。但只要人工智慧資料庫18中儲存過類似的關鍵字, 如 VLED、ILED、VGG或 IGG等,透過圖6及圖7所示的流程,仍然能夠從文件中找出包含 VCC或 ICC的資料。反觀習知技術採用「規則主導」的文件解析機制需要持續更新演算法,本發明採用的方式可以大幅度地減少修改文件解析程式的時間,也減少使用者需要定期更新關鍵字資料庫的時間。
綜上所述,本發明提出的階層式的文件解析系統及方法具有下列功效:
1. 基於人工智慧技術,可以快速找到專業文件內的關鍵字數值,並解決工程師不曉得使用哪些關鍵字的問題,從而減少整體查找時間。
2. 相較於「規則主導」的固定規則的文件解析方法,本發明 對於新的文件解析需求,不需要定義新的查找規則,可以節省開發人員的時間,降低人力成本。
3. 本發明基於開源人工智慧模型以及階層式概念進行資料篩選,減少自主訓練人工智慧模型的時間,加快開發速度。
4. 本發明的設計架構屬於階層式概念,因此相當彈性,各個個階層所使用的模型或演算法都可以進行替換,因此不會被任何一個套件或廠商綁定,避免了未來因為某個方法或套件不再支援或更新,導致系統無法運作的問題。
整體而言,本發明的優勢在於不需要開發人員多次重複開發、不需要重複訓練人工智慧模型、不被任何方法或套件綁定,簡化原本繁複的步驟,提升使用者操作上的便利。
雖然本發明以前述之實施例揭露如上,然其並非用以限定本發明。在不脫離本發明之精神和範圍內,所為之更動與潤飾,均屬本發明之專利保護範圍。關於本發明所界定之保護範圍請參考所附之申請專利範圍。
10:階層式的文件解析系統
1:儲存裝置
12:文件資料庫
14:表格標準答案資料庫
16:模糊比對關鍵字資料庫
18:人工智慧資料庫
3:運算裝置
A
1~A
M:參考字串
P
1~P
N:第一字串
Q
1~Q
L:第二字串
S0-S10,S101-S106,S1021-S1025:步驟
TB:候選文件
圖1是依據本發明一實施例的階層式的文件解析系統的方塊架構圖;
圖2是依據本發明一實施例的階層式的文件解析方法的流程圖;
圖3是第一階段的範例示意圖;
圖4是圖2中一步驟的範例示意圖;
圖5是第二階段的範例示意圖;
圖6是圖2中一步驟的細部流程圖;以及
圖7是圖6中一步驟的細部流程圖。
S0-S10:步驟
Claims (20)
- 一種階層式的文件解析方法,包括以一運算裝置執行: 取得一參考字串; 透過第一模組取得多個文件中的多個第一字串,其中該些文件的每一者包括一表格,該表格包括多個文字欄及多個數值欄,且該些第一字串關聯於該些文字欄; 計算該參考字串與該些第一字串的每一者的一第一相似度; 從該些文件中篩選出多個候選文件,其中該些候選文件的每一者的該第一相似度大於一第一閾值; 透過第二模組取得該些候選文件中的多個第二字串,其中該些第二字串關聯於該些文字欄,且該些第二字串的數量小於或等於該些第一字串的數量; 計算該參考字串與該些第二字串的每一者的一第二相似度;以及 當該第二相似度大於一第二閾值時,依據該些第二字串的每一者決定並輸出該些數值欄中的一者。
- 如請求項1的階層式的文件解析方法,其中該些第二字串的每一者包括多個子字串,且依據該些第二字串的每一者決定該些數值欄中的一者並輸出包括: 選擇該些子字串中的一候選子字串; 依據該候選子字串與一模糊比對關鍵字資料庫中的多個模糊關鍵字進行比對以決定該候選子字串的一權重; 計算該候選子字串與一人工智慧資料庫中的每一個人工智慧關鍵字的一第三相似度; 依據該第三相似度與該權重計算一比對分數;以及 當該比對分數大於一第三閾值時,輸出該候選子字串對應的該些數值欄中的一者。
- 如請求項2的階層式的文件解析方法,其中依據該候選子字串與該模糊比對關鍵字資料庫中的該些模糊關鍵字進行比對以決定該候選子字串的該權重包括: 依據該候選子字串中是否包含該些模糊關鍵字中的一者產生第一判斷,其中該候選子字串由第一部分及第二部分組成; 依據該些模糊關鍵字中的一者是否位於該第一部分產生第二判斷; 當該第一判斷為「否」時,設定該權重為第一數值; 當該第一判斷為「是」且該第二判斷為「否」時,設定該權重為第二數值;以及 當該第一判斷為「是」且該第二判斷為「是」時,設定該權重為第三數值; 其中該第一數值小於該第二數值,且該第二數值小於該第三數值。
- 如請求項1的階層式的文件解析方法,其中該第二閾值大於該第一閾值。
- 如請求項1的階層式的文件解析方法,其中該運算裝置運行的該第一模組為一開源表格解析工具。
- 如請求項5的階層式的文件解析方法,其中該運算裝置運行的該第二模組為一雲端文件表格解析模組。
- 如請求項6的階層式的文件解析方法,其中該雲端文件表格解析模組對於該些第二字串的辨識準確度大於該開源表格解析工具對於該些第一字串的準確度。
- 如請求項1的階層式的文件解析方法,更包括:當該第一相似度不大於該第一閾值時,降低該第一閾值並再次計算該參考字串與該些第一字串的每一者的該第一相似度。
- 如請求項1的階層式的文件解析方法,其中透過該第一模組取得該些文件中的該些第一字串包括: 將些該文件由圖片格式轉換為文字格式; 區分該文字格式中的文字資料及數值資料;以及 將該文字資料保存為該些第一字串。
- 如請求項1的階層式的文件解析方法,其中透過該第二模組取得該些候選文件中的該些第二字串包括: 將該些候選文件由圖片格式轉換為文字格式; 區分該文字格式中的文字資料及數值資料;以及 將該文字資料保存為該些第二字串。
- 一種階層式的文件解析系統,包括: 一儲存裝置,用於儲存多個指令、多個參考字串以及多個文件; 一運算裝置,電性連接該儲存裝置並用於執行該些指令以引起多個操作,該些操作包括: 取得該些參考字串中的一者; 透過第一模組取得該些文件中的多個第一字串,其中該些文件的每一者包括一表格,該表格包括多個文字欄及多個數值欄,且該些第一字串關聯於該些文字欄; 計算該參考字串與該些第一字串每一者的一第一相似度; 從該些文件中篩選出多個候選文件,其中該些候選文件的每一者的該第一相似度大於一第一閾值; 透過第二模組取得該些候選文件中的多個第二字串,其中該些第二字串關聯於該些文字欄; 計算該參考字串與該些第二字串的每一者的一第二相似度;以及 當該第二相似度大於一第二閾值時,依據該些第二字串的每一者決定並輸出該些數值欄中的一者。
- 如請求項11的階層式的文件解析系統,其中該些第二字串的每一者包括多個子字串,且依據該些第二字串的每一者決定該些數值欄中的一者並輸出包括: 選擇該些子字串中的一候選子字串; 依據該候選子字串與一模糊比對關鍵字資料庫中的多個模糊關鍵字進行比對以決定該候選子字串的一權重; 計算該候選子字串與一人工智慧資料庫中的每一個人工智慧關鍵字的一第三相似度; 依據該第三相似度與該權重計算一比對分數;以及 當該比對分數大於一第三閾值時,輸出該候選子字串對應的該些數值欄中的一者。
- 如請求項12的階層式的文件解析系統,其中依據該候選子字串與該模糊比對關鍵字資料庫中的該些模糊關鍵字進行比對以決定該候選子字串的該權重包括: 依據該候選子字串中是否包含該些模糊關鍵字中的一者產生第一判斷,其中該候選子字串由第一部分及第二部分組成; 依據該些模糊關鍵字中的一者是否位於該第一部分產生第二判斷; 當該第一判斷為「否」時,設定該權重為第一數值; 當該第一判斷為「是」且該第二判斷為「否」時,設定該權重為第二數值;以及 當該第一判斷為「是」且該第二判斷為「是」時,設定該權重為第三數值; 其中該第一數值小於該第二數值,且該第二數值小於該第三數值。
- 如請求項11的階層式的文件解析系統,其中該第二閾值大於該第一閾值。
- 如請求項11的階層式的文件解析系統,其中該運算裝置運行的該第一模組為一開源表格解析工具。
- 如請求項15的階層式的文件解析系統,其中該運算裝置運行的該第二模組為一雲端文件表格解析模組。
- 如請求項16的階層式的文件解析系統,其中該雲端文件表格解析模組對於該些第二字串的辨識準確度大於該開源表格解析工具對於該些第一字串的準確度。
- 如請求項11的階層式的文件解析系統,更包括:當該第一相似度不大於該第一閾值時,降低該第一閾值並再次計算該參考字串與該些第一字串的每一者的該第一相似度。
- 如請求項11的階層式的文件解析系統,其中透過該第一模組取得該些文件中的該些第一字串包括: 將該些文件由圖片格式轉換為文字格式; 區分該文字格式中的文字資料及數值資料;以及 將該文字資料保存為該些第一字串。
- 如請求項11的階層式的文件解析系統,其中透過該第二模組取得該些候選文件中的該些第二字串包括: 將該些候選文件由圖片格式轉換為文字格式; 區分該文字格式中的文字資料及數值資料;以及 將該文字資料保存為該些第二字串。
Priority Applications (3)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| TW112146346A TWI874013B (zh) | 2023-11-29 | 2023-11-29 | 階層式的文件解析系統及方法 |
| CN202311810293.5A CN120068843A (zh) | 2023-11-29 | 2023-12-26 | 阶层式的文件解析系统及方法 |
| US18/405,002 US20250173312A1 (en) | 2023-11-29 | 2024-01-05 | Hierarchical file parsing system and method |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| TW112146346A TWI874013B (zh) | 2023-11-29 | 2023-11-29 | 階層式的文件解析系統及方法 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| TWI874013B true TWI874013B (zh) | 2025-02-21 |
| TW202522292A TW202522292A (zh) | 2025-06-01 |
Family
ID=95557434
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| TW112146346A TWI874013B (zh) | 2023-11-29 | 2023-11-29 | 階層式的文件解析系統及方法 |
Country Status (3)
| Country | Link |
|---|---|
| US (1) | US20250173312A1 (zh) |
| CN (1) | CN120068843A (zh) |
| TW (1) | TWI874013B (zh) |
Citations (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| TW201426360A (zh) * | 2012-12-22 | 2014-07-01 | Ind Tech Res Inst | 文字串流訊息分析系統和方法 |
| CN110738202A (zh) * | 2019-09-06 | 2020-01-31 | 平安科技(深圳)有限公司 | 字符识别方法、装置及计算机可读存储介质 |
| CN111666327A (zh) * | 2020-06-10 | 2020-09-15 | 山东汇贸电子口岸有限公司 | 一种基于文本的结构化数据描述方法及其系统 |
| US20230101817A1 (en) * | 2021-09-28 | 2023-03-30 | Nationstar Mortgage LLC, d/b/a/ Mr. Cooper | Systems and methods for machine learning-based data extraction |
Family Cites Families (9)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| TWI528268B (zh) * | 2014-03-12 | 2016-04-01 | 緯創資通股份有限公司 | 照片群組產生及操作方法以及使用該方法的裝置 |
| US10684849B2 (en) * | 2017-09-08 | 2020-06-16 | Devfactory Innovations Fz-Llc | Automating generation of library suggestion engine models |
| US11366855B2 (en) * | 2019-11-27 | 2022-06-21 | Amazon Technologies, Inc. | Systems, apparatuses, and methods for document querying |
| CN111797630B (zh) * | 2020-06-29 | 2022-10-14 | 大连理工大学 | 一种面向pdf格式论文的生物医学实体识别方法 |
| US12099537B2 (en) * | 2020-09-21 | 2024-09-24 | Samsung Electronics Co., Ltd. | Electronic device, contents searching system and searching method thereof |
| CN112380812B (zh) * | 2020-10-09 | 2022-02-22 | 北京中科凡语科技有限公司 | Pdf不完整框线表格提取方法、装置、设备及存储介质 |
| EP4367649A1 (en) * | 2021-07-09 | 2024-05-15 | Ancestry.com Operations Inc. | Handwriting recognition pipelines for genealogical records |
| US20230022673A1 (en) * | 2021-07-12 | 2023-01-26 | At&T Intellectual Property I, L.P. | Knowledge discovery based on indirect inference of association |
| US11989165B2 (en) * | 2021-08-04 | 2024-05-21 | Mastercard International Incorporated | Server systems and methods for merchant data cleansing in payment network |
-
2023
- 2023-11-29 TW TW112146346A patent/TWI874013B/zh active
- 2023-12-26 CN CN202311810293.5A patent/CN120068843A/zh active Pending
-
2024
- 2024-01-05 US US18/405,002 patent/US20250173312A1/en active Pending
Patent Citations (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| TW201426360A (zh) * | 2012-12-22 | 2014-07-01 | Ind Tech Res Inst | 文字串流訊息分析系統和方法 |
| CN110738202A (zh) * | 2019-09-06 | 2020-01-31 | 平安科技(深圳)有限公司 | 字符识别方法、装置及计算机可读存储介质 |
| CN111666327A (zh) * | 2020-06-10 | 2020-09-15 | 山东汇贸电子口岸有限公司 | 一种基于文本的结构化数据描述方法及其系统 |
| US20230101817A1 (en) * | 2021-09-28 | 2023-03-30 | Nationstar Mortgage LLC, d/b/a/ Mr. Cooper | Systems and methods for machine learning-based data extraction |
Also Published As
| Publication number | Publication date |
|---|---|
| CN120068843A (zh) | 2025-05-30 |
| US20250173312A1 (en) | 2025-05-29 |
| TW202522292A (zh) | 2025-06-01 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP7539200B2 (ja) | データ・マッチングのための能動学習 | |
| US20220365933A1 (en) | Database processing method and apparatus | |
| CN107301170A (zh) | 基于人工智能的切分语句的方法和装置 | |
| CN111680506A (zh) | 数据库表的外键映射方法、装置、电子设备和存储介质 | |
| CN112860685A (zh) | 对数据集的分析的自动推荐 | |
| CN114153839A (zh) | 多源异构数据的集成方法、装置、设备及存储介质 | |
| JP5355483B2 (ja) | 略語完全語復元装置とその方法と、プログラム | |
| CN114927180A (zh) | 病历结构化方法、装置及存储介质 | |
| Zhu et al. | A neural network architecture for program understanding inspired by human behaviors | |
| CN118069695A (zh) | 基于数据湖的医疗数据高维查询优化方法及系统 | |
| TWI874013B (zh) | 階層式的文件解析系統及方法 | |
| CN100592332C (zh) | 一种基于案例树进行案例推理的装置及方法 | |
| CN115062600B (zh) | 一种基于加权抽象语法树的代码抄袭检测方法 | |
| US12259918B2 (en) | Systems and methods for collecting and processing memory-related data and synthesizing memory-based narratives | |
| JP2019153056A (ja) | 情報処理装置、及び情報処理プログラム | |
| CN118838914A (zh) | 一种威胁情报的检索问答方法、装置、电子设备 | |
| JP6081609B2 (ja) | データ分析システム及びその方法 | |
| CN114676155A (zh) | 代码提示信息的确定方法、数据集的确定方法及电子设备 | |
| JP2018109862A (ja) | 句構造解析装置およびプログラム | |
| CN119441509B (zh) | 基于程序依赖的语义增强代码检索方法、系统及储存介质 | |
| CN119990291B (zh) | 一种基于语言模型进行知识数据库建立的方法 | |
| KR102889589B1 (ko) | 학습 데이터 추출 방법, 상기 방법을 수행하는 전자 장치 및 이를 위한 컴퓨터 판독 가능한 기록 매체 | |
| CN120371839B (zh) | 基于b+树结构的rag知识检索方法 | |
| CN109993217B (zh) | 一种结构化数据的自动特征构建方法及装置 | |
| CN101174317A (zh) | 一种案例树构建的装置及方法 |