【2024LLM應用-數據預處理】之如何從PDF,PPT等非結構化數據提取有效信息(結構化數據JSON)?

🥰大家知道嗎,之前在給AI大模型"喂數據"的時候,我們往往需要把非結構化數據(比如PDF、PPT、Excel等)自己手動轉成結構化的格式,這可真是太累人兒了。🥵

幸好現在有了Unstructured這個神級庫,它內置的數據提取函數可以幫我們快速高效地完成這個轉換過程。而且支持常見的多種文件格式!🐶

比如說,如果我們要從一個PPT文件里提取數據,可以用partition_pptx函數:

from unstructured.partition.pptx import partition_pptxfilename = "example_files/msft_openai.pptx"
elements = partition_pptx(filename=filename)

這個函數會把PPT文件的內容解析成一個elements列表,每個元素都是一個Element對象,分別代表PPT里的標題、文字、圖片等內容。

但是我們想要的是結構化數據而不是對象呀,所以還需要再轉換一下:

element_dict = [el.to_dict() for el in elements]
print(json.dumps(element_dict, indent=2))

這兩行代碼的作用是:

  1. 遍歷elements列表,把每個Element對象都轉換成字典(調用它們的to_dict方法)
  2. 把這些字典組成一個新列表element_dict
  3. 使用json.dumpselement_dict轉成Json格式的字符串,并指定indent=2讓結果更加美觀

是不是很酷?現在我們就擁有了結構化的數據啦!

如果是PDF文件的話,流程也差不多:

from unstructured.shared import Files, PartitionParameters
from unstructured.openai_api import SDKfilename = "example_files/CoT.pdf"
with open(filename, "rb") as f:files = Files(content=f.read(), file_name=filename)req = PartitionParameters(files=files, strategy='hi_res', pdf_infer_table_structure=True)s = SDK.get_instance() 
resp = s.general.partition(req)
print(json.dumps(resp.elements, indent=2))

這里主要新的地方是用Files對象來存PDF文件的內容,然后定義一個PartitionParameters來設置處理策略(比如識別表格等)。

最后就是創建SDK實例,調用partition方法,傳入之前定義的參數,就能獲取PDF里的結構化數據啦!

對于Excel文件,官方文檔里也有介紹,應該也是類似的操作。

有了這些技能,我們就能把海量的非結構化數據高效地轉換成結構化格式,喂給大模型"吃"啦!以后制作AI應用的時候,效率和開發體驗都會更上一層樓~🚀

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/38199.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/38199.shtml
英文地址,請注明出處:http://en.pswp.cn/web/38199.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

ubuntu 安裝并啟用 samba

環境:ubuntu server 24.04 步驟如下: sudo apt update sudo apt install samba修改配置文件: sudo vi /etc/samba/smb.conf新增內容: [username]path /home/[username]available yesvalid users [username]read only nobrow…

[Information Sciences 2023]用于假新聞檢測的相似性感知多模態提示學習

推薦的一個視頻:p-tuning P-tunning直接使用連續空間搜索 做法就是直接將在自然語言中存在的詞直接替換成可以直接訓練的輸入向量。本身的Pretrained LLMs 可以Fine-Tuning也可以不做。 這篇論文也解釋了為什么很少在其他領域結合知識圖譜的原因:就是因…

什么是客戶體驗自動化?

客戶體驗自動化是近年來在企業界備受關注的一個概念。那么,究竟什么是客戶體驗自動化呢?本文將為您詳細解析這一話題,幫助您更好地理解并應用客戶體驗自動化。 我們要先明確什么是客戶體驗。客戶體驗是指客戶在使用產品或服務過程中的感受和體…

Android SQLite 數據庫存學習與總結

Android 系統內置了一個名為 SQLite 數據庫。那么 SQLite 是一種什么樣的數據庫,它有那些特點,應該怎么操作它?下面,讓我們就來認識一下它吧。 1、概念: SQLite 是一種輕量級的關系型數據庫,它不僅支持標準…

elementPlus自定義el-select下拉樣式

如何在f12元素選擇器上找到下拉div呢? 給el-select添加 :popper-append-to-body"false" 即可,這樣就可以將下拉框添加到body元素中去,否則當我們失去焦點,下拉就消失了,在元素中找不到el-select。剩下就可以…

洛谷 AT_abc169_d [ABC169D] Div Game 題解

思路 想要讓操作次數最多, z z z 就要盡可能小。 由于 z z z 是 N N N 的因數,所以 p p p 就是 N N N 的質因數。 設 N N N 的質因數中有 x x x 個 p p p,則這個 p p p 能執行 y y y 此操作,并且 y y y 滿足 ∑ i …

怎么壓縮圖片大小?6種無需犧牲質量的圖片壓縮方法

經常處理圖片的小伙伴都知道,高質量的圖片往往會占據電腦大量的存儲空間,導致圖片傳輸及存儲的不便。因此,掌握如何壓縮圖片大小變得尤為重要。本文將詳細介紹圖片壓縮的幾種方法,幫助你高效地減小圖片文件大小,讓你的…

使用多智能體辯論微調大型語言模型

F INE - TUNING L ARGE L ANGUAGE M ODELS WITH MULTI - AGENT D EBATE S UPERVISION DebateGPT: Fine-tuning Large Language M

探究Yarn依賴之源:精通why命令的秘籍

🕵??♂? 探究Yarn依賴之源:精通why命令的秘籍 在現代JavaScript項目開發中,依賴管理是至關重要的一環。Yarn作為領先的包管理器之一,提供了強大的工具來幫助開發者理解項目依賴的起源和結構。yarn why命令就是這樣一個工具&am…

IT專業入門,高考假期預習指南-致有志踏入IT領域的高考少年們

IT專業入門,高考假期預習指南 七月來臨,各省高考分數已揭榜完成。而高考的完結并不意味著學習的結束,而是新旅程的開始。對于有志于踏入IT領域的高考少年們,這個假期是開啟探索IT世界的絕佳時機。 計算機專業是一個綜合性非常強…

【.Net】Web項目部署騰訊云

文章目錄 總述前置準備docker-compose部署普通部署 參考 總述 前置準備 云服務添加端口 另有linux本身防火墻請參考: 【Linux】防火墻命令 需安裝.Net SDK和Asp .Net Runtime 注意: 1、sdk也要不只是runtime 2、是Asp .Net Runtime不是.Net Runtime …

ConcurrentHashMap并發哈希表的設計與實現

ConcurrentHashMap并發哈希表的設計與實現 大家好,我是免費搭建查券返利機器人省錢賺傭金就用微賺淘客系統3.0的小編,也是冬天不穿秋褲,天冷也要風度的程序猿! 介紹ConcurrentHashMap 1. ConcurrentHashMap的概述 ConcurrentH…

一個計算密集小程序在不同CPU下的表現

本文比較了幾款CPU對同一測試程序的比較結果,用的是Oracle公有云OCI上的計算實例,均分配的1 OCPU,內存用的默認值,不過內存對此測試程序運行結果不重要。 本文只列結果,不做任何評價。下表中,最后一列為測…

搜索型數據庫的技術發展歷程與趨勢前瞻

概述 隨著數字科技的飛速發展和信息量的爆炸性增長,搜索引擎已成為我們獲取信息的首選途徑之一,典型的代表廠商如 Google。然而,隨著用戶需求的不斷演變,傳統的搜索技術已經無法滿足人們對信息的實時性、個性化和多樣性的需求。 …

Qt應用程序中通過上下左右鍵選擇控件,像win桌面圖標選擇一樣

在Qt應用程序中模擬Windows桌面圖標的選擇行為,即通過上下左右鍵來移動選擇控件,你需要管理一個焦點系統,該系統能夠跟蹤哪個控件當前被選中,并根據用戶的鍵盤輸入來更新這個狀態。以下是一個簡化的步驟說明和示例代碼&#xff0c…

華為OD機試(D卷+C卷+A卷+B卷)2024真題目錄(全、新、準)

目錄 專欄導讀華為OD機試算法題太多了,知識點繁雜,如何刷題更有效率呢? 一、邏輯分析二、數據結構1、線性表① 數組② 雙指針 2、map與list3、隊列4、鏈表5、棧6、滑動窗口7、二叉樹8、并查集9、矩陣 三、算法1、基礎算法① 貪心思維② 二分查…

Maven_構建和pom.xml

概述 Maven是為Java項目提供構建和依賴管理支持的工具 構建環節 清理clean 刪除上一次構建的結果 編譯compile Java源程序編譯成*.class字節碼文件 測試test 運行提前準備好的測試程序,執行src/text/java下的junit測試用例 報告site 每次測試后用標準格式記錄和…

射頻校準簡略

射頻電路功能的是否正常,在測試時就可發現,而怎么樣使測試的數據正確,對測試的儀器進行校準是必不可少的環節,校準的目的就是減少測試的誤差,使測試的儀器能夠準確的反映待測件的性能,在校準過程中&#xf…

react學習——20react編寫github案列

1、List組件 index.js import React, {Component} from "react"; //引入樣式 import "./index.css"; export default class List extends Component {render() {const {users,isFirst,isLoding,err}this.propsreturn(<div className"row">…