uv管理spaCy語言模型

本文記錄如何在使用uv管理python項目dependencies時,把spaCy的模型也納入其中.

spaCy

一、spaCy簡介

spaCy是一個開源的自然語言處理(NLP)庫,它主要用于處理文本數據。它支持多種語言,包括英語、中文等。它是由Explosion AI公司開發的,以簡單易用和高性能著稱。

二、主要功能

  1. 分詞(Tokenization)
    • spaCy可以將文本分割成單詞、標點符號等基本單元,這是文本處理的基礎步驟。例如,對于句子“I love natural language processing.”,它會將其分割為[“I”, “love”, “natural”, “language”, “processing”, “.”]等token。
  2. 詞性標注(Part - of - Speech Tagging)
    • 它能夠識別文本中每個單詞的詞性。比如在句子“He quickly ran to the store.”中,“He”是代詞(PRON),“quickly”是副詞(ADV),“ran”是動詞(VERB),“to”是介詞(ADP),“the”是冠詞(DET),“store”是名詞(NOUN)。
  3. 依存句法分析(Dependency Parsing)
    • spaCy可以分析句子的結構,確定單詞之間的依存關系。例如在句子“The cat sat on the mat.”中,它能確定“cat”是主語(nsubj),“sat”是謂語(ROOT),“on”是介詞(prep),“mat”是賓語(pobj)等依存關系,這對于理解句子的語義結構很有幫助。
  4. 命名實體識別(Named Entity Recognition,NER)
    • 它能夠識別文本中的命名實體,如人名、地名、組織名、日期等。比如在文本“Steve Jobs was the CEO of Apple Inc. in 2000.”中,它能夠識別出“Steve Jobs”是人名,“Apple Inc.”是組織名,“2000”是日期。
  5. 文本分類(Text Classification)
    • spaCy支持對文本進行分類任務,例如情感分析(判斷文本是正面情感、負面情感還是中性情感)或者主題分類(判斷文本屬于哪個主題類別,如體育、科技等)。
  6. 實體鏈接(Entity Linking)
    • 它可以將文本中識別的實體與知識庫中的實體進行鏈接。例如,將文本中提到的“埃菲爾鐵塔”鏈接到維基百科中對應的“埃菲爾鐵塔”條目,這樣可以更好地理解實體的詳細信息。

問題描述

sapCy在使用的時候,需要下載目標語言的模型,如果以英文為例就是en_core_web_sm, 中文可以是zh_core_web_lg ,可以用如下腳本下載

# download en_core_web_sm
python -m spacy download en_core_web_sm# download zh_core_web_lg
python -m spacy download zh_core_web_lg

問題出現在用uv進行依賴管理的場景下,因為這些下載的模型沒有被加入到依賴列表中,每次重新進行uv sync 操作后,就會丟失這些依賴. 雖然這些模型實際上也是一個依賴包,但是不在官方的registry中,不能直接y用uv add這種方式進行安裝.

解決方案

命令行參數

因為是uv sync時造成了模型刪除,那么就是uv嚴格對照依賴列表中的各個依賴項進行處理,把不在其中的都移除了. 根據這個思路,可以用明亮行參數來改變這個行為

uv sync --inexact

這樣操作即可. 但這個方案有缺點,因為不會自動下載model,在新的環境中執行spaCy相關任務會報錯.

手動聲明依賴

這個方案是筆者最終采納的方案,把模型的下載路徑手動寫到依賴中,這樣不僅可以不被刪除,而且在新環境中還會自動下載

dependencies = ["en-core-web-sm @ https://github.com/explosion/spacy-models/releases/download/en_core_web_sm-3.8.0/en_core_web_sm-3.8.0-py3-none-any.whl","zh-core-web-lg @ https://github.com/explosion/spacy-models/releases/download/zh_core_web_lg-3.8.0/zh_core_web_lg-3.8.0-py3-none-any.whl"
]

注意修改為自己所需的版本即可.

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

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

相關文章

python執行測試用例,allure報亂碼且未成功生成報告

allure執行測試用例時顯示亂碼:‘allure’ �����?����?���??���?�&am…

Rust 學習筆記:Box<T>

Rust 學習筆記&#xff1a;Box Rust 學習筆記&#xff1a;Box<T\>Box\<T> 簡介使用 Box\<T\> 在堆上存儲數據啟用帶有 box 的遞歸類型關于 cons 列表的介紹計算非遞歸類型的大小使用 Box\<T\> 獲取大小已知的遞歸類型 Rust 學習筆記&#xff1a;Box<…

英語寫作中“不少于(小于)”no less than替代no fewer than的用法

no less than 1 liter of water&#xff0c;no fewer than 100 people 是我們的傳統用法。現代英語有一個有趣的現象&#xff0c;就是less 代替fewer 形容可數名詞&#xff0c;例如&#xff1a; Do you have 10 courses each week? No. We have less. 顯然按嚴格語法應該是…

競品分析六大步驟

一、引言 在產品打磨、市場推廣或戰略定位過程中&#xff0c;我們常常會面臨一個關鍵任務——競品分析。一份系統的競品分析不僅能幫助我們知己知彼&#xff0c;優化產品策略&#xff0c;更能成為決策層制定方向的重要依據。競品分析到底該怎么做&#xff1f;今天我將結合自己的…

【Java Web】9.Maven高級

&#x1f4d8;博客主頁&#xff1a;程序員葵安 &#x1faf6;感謝大家點贊&#x1f44d;&#x1f3fb;收藏?評論?&#x1f3fb; 文章目錄 一、分模塊設計與開發 1.1 介紹 1.2 實踐 二、繼承與聚合 2.1 繼承 繼承關系 版本鎖定 2.2 聚合 2.3 繼承與聚合對比 三、…

MySQL 全量、增量備份與恢復

一.MySQL 數據庫備份概述 備份的主要目的是災難恢復&#xff0c;備份還可以測試應用、回滾數據修改、查詢歷史數據、審計等。之前已經學習過如何安裝 MySQL&#xff0c;本小節將從生產運維的角度了解備份恢復的分類與方法。 1 數據備份的重要性 在企業中數據的價值至關…

第六個微信小程序:教師工具集

源于工作需要&#xff0c;下面開始。 安裝及使用 | Taro 文檔 vscode 代碼管理 git 輔助 開發技術如上&#xff1a; 1.開始創建模板 taro4.1.1 $ taro init teachers-tools 2.用vsocde開始吧。 選擇 第二個文件夾找一。 (base) PS D:\react\teachers-tools> pnpm…

Linux 里 su 和 sudo 命令這兩個有什么不一樣?

《小菜狗 Linux 操作系統快速入門筆記》目錄&#xff1a; 《小菜狗 Linux 操作系統快速入門筆記》&#xff08;01.0&#xff09;文章導航目錄【實時更新】 Linux 是一個多用戶的操作系統。在 Linux 中&#xff0c;理論上來說&#xff0c;我們可以創建無數個用戶&#xff0c;但…

Elastic 獲得 AWS 教育 ISV 合作伙伴資質,進一步增強教育解決方案產品組合

作者&#xff1a;來自 Elastic Udayasimha Theepireddy (Uday), Brian Bergholm, Marianna Jonsdottir 通過搜索 AI 和云創新推動教育領域的數字化轉型。 我們非常高興地宣布&#xff0c;Elastic 已獲得 AWS 教育 ISV 合作伙伴資質。這一重要認證表明&#xff0c;Elastic 作為 …

服務器被攻擊了怎么辦

可以上一個高防IP或者AI云防護都是可以的。&#xff08;有效防御CC、APl接口、http、tcp、WEB應用掃描/爬蟲、SYN、WAF、DDOS、UDP、入侵、滲透、SQL注入、XSS跨站腳本攻擊、遠程惡意代碼執行、session fixation、Webshell攻擊、惡意請求&#xff0c;惡意掃描、暴力破解、CSRF等…

【學習筆記】Circuit Tracing: Revealing Computational Graphs in Language Models

Circuit Tracing: Revealing Computational Graphs in Language Models 替代模型(Replacement Model)&#xff1a;用更多的可解釋的特征來替代transformer模型的神經元。 歸因圖(Attribution Graph)&#xff1a;展示特征之間的相互影響&#xff0c;能夠追蹤模型生成輸出時所采用…

靈活控制,modbus tcp轉ethernetip的 多功能水處理方案

油田自動化和先進的油氣行業軟件為油氣公司帶來了諸多益處。其中包括&#xff1a; 1.自動化可以消除多余的步驟、減少人為錯誤并降低運行設備所需的能量&#xff0c;從而降低成本。 2.油天然氣行業不斷追求高水平生產。自動化可以更輕松地減少計劃外停機時間&#xff0c;從而…

是否存在路徑(FIFOBB算法)

題目描述 一個具有 n 個頂點e條邊的無向圖&#xff0c;該圖頂點的編號依次為0到n-1且不存在頂點與自身相連的邊。請使用FIFOBB算法編寫程序&#xff0c;確定是否存在從頂點 source到頂點 destination的路徑。 輸入 第一行兩個整數&#xff0c;分別表示n 和 e 的值&#xff08;1…

windows VeraCrypt – 磁盤加密工具

下載鏈接&#xff1a;夸克網盤分享 VeraCrypt一款跨平臺(Windows/Mac/Linux)的磁盤加密工具&#xff0c;提供多層級數據保護方案&#xff1a;虛擬加密盤&#xff1a;在文件中創建可掛載的加密虛擬磁盤全設備加密&#xff1a;支持分區/USB/硬盤等存儲設備的全盤加密系統盤加密&…

客戶體驗數據使用的三種視角——場景視角

當企業收集到大量的客戶體驗數據之后&#xff0c;應該如何應用&#xff1f;有哪些主要的使用場景和分析視角&#xff1f;體驗家團隊通過三篇文章&#xff0c;陸續介紹三種體驗數據的使用場景&#xff0c;以幫助企業更有效地利用體驗數據進行改進。 01 宏觀層次的“旅程視角” …

時序數據庫IoTDB的UDF Sample算法在數據監控、故障預防的應用

一、數據監控在工業物聯網中的重要性 設備數據監控是工業物聯網&#xff08;IoT&#xff09;中最為廣泛應用的領域之一。通過實時監控工廠機械設備的運行狀態&#xff0c;企業能夠提前發現設備的潛在故障&#xff0c;從而實現預防性維護與可預測性維護。這一做法不僅能有效提升…

fastadmin fildList 動態下拉框默認選中

html頁面 <td><select class"form-control dtselect" data-rule"required" data-dtselected"<%row.type%>" name"<%name%>[<%index%>][type]">{foreach nametypeList idvo}<option value"{$vo…

Python 入門到進階全指南:從語言特性到實戰項目

一、Python 簡介 Python 是一種高級、跨平臺、解釋型編程語言&#xff0c;以簡潔語法和高可讀性著稱&#xff0c;既適合編程初學者快速入門&#xff0c;也能滿足資深開發者的復雜需求。其核心特性與應用場景如下&#xff1a; 核心特性解析 解釋型語言&#xff1a;無需編譯即可…

【unity游戲開發入門到精通——通用篇】從零掌握UnityWebRequest:文件下載、表單提交、超時處理、斷點續傳

文章目錄 一、UnityWebRequest 與 WWW 的比較二、核心組件三、常用方法四、基本使用示例1. GET請求2. POST請求五、實用功能1. 下載進度顯示2. 斷點續傳實現3. 文件上傳到服務器六、使用建議七、性能優化專欄推薦完結一、UnityWebRequest 與 WWW 的比較 UnityWebRequest 是 Un…

使用 Flutter 開發 App 時,想要根據 Figma 設計稿開發出響應式 UI 界面

在使用 Flutter 開發 App 時&#xff0c;想要根據 Figma 設計稿開發出響應式 UI 界面&#xff08;Responsive UI&#xff09;&#xff0c;以適配不同尺寸和分辨率的手機設備&#xff0c;需要從 設計階段 和 編碼實現階段 雙向配合。以下是詳細的實現思路與方法&#xff1a; &am…