本文旨在以簡單的方式解釋 Visual NLP 的關鍵概念,讓你了解 Visual NLP 的含義、它的用例是什么、如何使用它以及為什么它是構建自動提取管道的未來 。
NSDT在線工具推薦:?Three.js AI紋理開發包?-?YOLO合成數據生成器?-?GLTF/GLB在線編輯?-?3D模型格式在線轉換?-?可編程3D場景編輯器?
1、什么是Visual NLP?
NLP 的一個分支,結合了視覺(空間和布局)特征和文檔中存在的文本信息。 大多數經典的 NLP 問題都處理文本數據,這些數據包含大量信息,但仍然缺乏幫助我們區分文本內容和含義的視覺隊列。
鑒于我們正處于像 ChatGPT、Bard、Claude 等人工智能LLM時代,它們本質上是多模式的,即接受圖像和文本作為輸入,我們確實看到了這些系統的潛力。
轉向 Visual NLP 的主要原因之一是需要對掃描文檔進行信息提取。 目前,IE 活動是通過將掃描文檔轉換為文本并在其上運行 NLP 來進行的。
現在,讓我們看看這種方法的局限性:
- 由于文本表示不明確(例如清晰度、字體等),OCR 文本識別失敗。
- 不使用可能為文本增加價值的視覺圖像。
- 通過 OCR 轉換為文本時,表格數據會變得混亂。
添加視覺數據有助于克服此類挑戰,并為模型提供豐富的數據,以更好地完成任務。
2、Visual NLP用例
Visual NLP 的一些用例包括:
- 視覺文檔分類(使用文本+空間特征+圖像)
- 視覺問答
- 布局分析:分析文檔內容的空間排列以了解其結構和含義的過程。 這包括識別文本、圖像、表格和其他元素的位置,以及整體文檔結構,例如標題和副標題。
- 關鍵信息提取:從文檔和其他視覺內容中提取關鍵信息的過程。 這可以包括姓名、日期、地點和金額等信息。
- 圖像字幕:生成圖像的文本描述的任務。
- 表格檢測:識別和定位圖像和文檔中的表格的任務。
- 表結構識別:識別表的邏輯和物理結構的任務。 表的邏輯結構是指表中不同單元格之間的關系,例如哪些單元格屬于同一標題行或列。 表格的物理結構是指表格的布局,例如邊框的位置和單元格之間的間距。
下面是如何利用 Visual NLP 力量的一些示例。
2.1 從掃描收據中提取關鍵信息
此任務的目的是從給定收據中提取多個關鍵字段的文本,并將每個收據圖像的文本保存在 json 文件中。 我們對 Donut 模型進行了微調,以從掃描的發票收據中提取公司、地址、日期、總計等實體。
事實數據如下:
{
"company": "BOOK TA .K (TAMAN DAYA) SDN BHD",
"date": "25/12/2018",
"address": "NO.53, TAMAN DAYA, 81100 JOHOR BAHRU, JOHOR.",
"total": "9.00"
}
該模型能夠學習直接從圖像中提取這些實體。 當考慮真實情況和預測文本完全匹配的正確實例時,我們能夠獲得約 60% 的準確率。
2.2 視覺質量檢查
此任務的目的是從圖像中生成給定問題的答案。 我們針對此任務對 Donut 模型進行了微調。
事實數據如下所示:
{
"gt_parses": [{"question": "what is AGE?", "answer": "30"}, {"question": "what is GENDER?", "answer": "Female"}, {"question": "what is DATE?", "answer": "2023-01-07"}
]
}
該模型能夠學習直接從圖像生成答案。
一些可以通過HuggingFace使用的Visual NLP模型
- Donut
- Pix2Struct
- LayoutLM
- DiT
在上面的示例中,我們使用 Donut 作為起點來展示 Visual NLP 系統的功能,但你可以使用上述任何模型。
3、基于 Visual NLP 的自動化信息提取流程
上述示例展示了當前 Visual NLP 系統的明顯潛力,以及為什么該研究領域將成為自動提取管道的未來。
視覺 NLP 是一個快速發展的領域,有可能徹底改變我們處理和理解信息的方式。 通過結合視覺和文本特征,視覺 NLP 模型可以克服傳統 NLP 模型的局限性,從更廣泛的來源(包括掃描文檔)提取更準確、更全面的信息。
隨著視覺 NLP 領域的不斷成熟,我們可以期待看到更多創新和突破性的應用程序出現。 例如,視覺 NLP 可用于開發能夠理解和索引文本和圖像的新搜索引擎,或者創建新型教育工具,通過結合視覺和文本信息來幫助學生更有效地學習。
原文鏈接:Visual NLP簡明教程 - BimAnt