Doccano 修復 spacy.gold 的bug

引言

最初只是想把Doccano標注的數據集轉換成BIO(類似conll2003數據集)的標注格式;

摘要

可先閱讀一下教程:【已解決】關于如何將Doccano標注的文本轉換成NER模型可以直接處理的CoNLL 2003格式
裝包:pip install doccano-transformer

報錯信息

運行下述程序后,會報錯

from doccano_transformer.datasets import NERDataset
from doccano_transformer.utils import read_jsonldataset = read_jsonl(filepath='NER.jsonl', dataset=NERDataset, encoding='utf-8')
gen=dataset.to_conll2003(tokenizer=str.split)file_name="CoNLL.txt"with open(file_name, "w", encoding = "utf-8") as file:for item in gen:file.write(item["data"] + "\n")

報錯信息如下:

l In[18], line 1
----> 1 from doccano_transformer.datasets import NERDataset2 from doccano_transformer.utils import read_jsonlFile ~/anaconda3/envs/nlp/lib/python3.9/site-packages/doccano_transformer/datasets.py:52 import json3 from typing import Any, Callable, Iterable, Iterator, List, Optional, TextIO
----> 5 from doccano_transformer.examples import Example, NERExample8 class Dataset:9     def __init__(10         self,11         filepath: str,12         encoding: Optional[str] = 'utf-8',13         transformation_func: Optional[Callable[[TextIO], Iterable[Any]]] = None14     ) -> None:File ~/anaconda3/envs/nlp/lib/python3.9/site-packages/doccano_transformer/examples.py:41 from collections import defaultdict2 from typing import Callable, Iterator, List, Optional
----> 4 from spacy.gold import biluo_tags_from_offsets6 from doccano_transformer import utils9 class Example:ModuleNotFoundError: No module named 'spacy.gold'

修復bug

根據該GitHub doccano_transformer項目的github issues和pr 給出的信息修復該bug:

要修改doccano_transformer/examples.py源碼文件;
根據報錯信息,確定example.py文件所在目錄

File ~/anaconda3/envs/nlp/lib/python3.9/site-packages/doccano_transformer/datasets.py:5

根據報錯信息,知道筆者的examples.py路徑如下:
(每人的所在文件夾不同,請自行修改)

 ~/anaconda3/envs/nlp/lib/python3.9/site-packages/doccano_transformer/examples.py

按照圖片所示內容進行修改即可:
在這里插入圖片描述

  • 修改點 1

    原始代碼:

    from spacy.gold import biluo_tags_from_offsets
    

    修改成:

    from spacy.training import offsets_to_biluo_tags
    
  • 修改點 2

    原始代碼:

    tags = biluo_tags_from_offsets(tokens, label)
    

    修改成:

    tags = offsets_to_biluo_tags(tokens, label)
    

修改完上述代碼,重新運行代碼就不會報錯了;

相關閱讀

  • BIO序列提取實體(NER命名實體識別)

    該文把BIO標注的數據,轉成下述格式:
    {'string': '我是李明,我愛中國,我來自呼和浩特', 'entities': [{'word': '中國', 'type': 'loc'}, {'word': '呼和浩特', 'type': 'loc'}]}
    

參考資料

  • [1] github issues https://github.com/doccano/doccano-transformer/issues/35
  • [2] 該bug的PR參考 https://github.com/doccano/doccano-transformer/pull/38/files

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

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

相關文章

Adam優化算法

Adam算法(Adaptive Moment Estimation)是一種用于深度學習模型優化的算法,它結合了動量(Momentum)和RMSprop(Root Mean Square Propagation)的概念。Adam算法自2015年提出以來,因其高…

【前端素材】推薦優質后臺管理系統DAdmin平臺模板(附源碼)

一、需求分析 1、系統定義 后臺管理系統是一種用于管理網站、應用程序或系統的管理界面,通常由管理員和工作人員使用。它提供了訪問和控制網站或應用程序后臺功能的工具和界面,使其能夠管理用戶、內容、數據和其他各種功能。 2、功能需求 后臺管理系…

FreeCAD|讀取STEP、創建平面、相交、瓶子

FreeCAD是一個基于OpenCASCADE的開源CAD/CAE工具。OpenCASCADE是一套開源的CAD/CAM/CAE幾何模型核心,來自法國Matra Datavision公司,是著名的CAD軟件EUCLID的開發平臺。FreeCAD可運行于Windows以及Linux系統環境下,是一種通用的3D CAD建模工具…

記錄 關于navicat連接數據庫報錯1045的問題

重裝數據庫之后就連接不上了 報錯1045 而網上的解決方案大都是更改數據庫密碼,但是我在第一步就被卡住無法更改密碼,輸入指令也報錯,檢查的環境變量也沒錯,經過長時間的試錯終于找到解決了辦法 解決辦法 刪除data文件夾 如果無法…

積累:Qt 多種數據類型之間的轉換方法

前言 開發時經常涉及到數據類型的轉換,為方便溫故知新、提升開發效率,現將 Qt 開發部分常用的數據類型轉換方式形成工具文檔供查詢、參考。 1. int 轉 QString 1)函數:QString::number 2)函數原型 //將數字&#xff0…

LD: 利用Plink軟件進行連鎖不平衡計算和繪圖

輸入文件詳解 PLINK主要使用以下三種文件格式: .ped文件:文本文件,列出所有樣本的基因型數據。每行代表一個樣本,包含個體和家系信息,以及其對應的基因型數據。.map文件:文本文件,與.ped文件配合使用,列出了基因型數據中所有SNP的位置信息。每行代表一個SNP,包含染色…

Python:練習:輸出int值a占b的百分之幾。例如:輸入1和4,輸出:25%。

案例: 輸出int值a占b的百分之幾。例如:輸入1和4,輸出:25%。 思考: 所有的一步步思考,最后綜合起來。 首先,確定 輸出,那么就用input,而且是int值,所以肯定…

springboot2.6.5 下配置ForkJoinPool線程池大小

從java1.7開始,引入了parallelStream的方式使用ForkJoinPool多線程處理數據的方式,ForkJoinPool默認線程池大小是cpu內核數-1,并且可以通過以下方式配置線程池大小: System.setProperty("java.util.concurrent.ForkJoinPool…

C++設計模式_創建型模式_工廠方法模式

目錄 C設計模式_創建型模式_工廠方法模式 一、簡單工廠模式 1.1 簡單工廠模式引入 1.2 簡單工廠模式 1.3 簡單工廠模式利弊分析 1.4 簡單工廠模式的UML圖 二、工廠方法模式 2.1 工廠模式和簡單工廠模式比較 2.2 工廠模式代碼實現 2.3 工廠模式UML 三、抽象工廠模式 3.1 戰斗場景…

MDS300-16-ASEMI整流模塊MDS300-16參數、封裝、尺寸

編輯:ll MDS300-16-ASEMI整流模塊MDS300-16參數、封裝、尺寸 型號:MDS300-16 品牌:ASEMI 封裝:M25 最大重復峰值反向電壓:1600V 最大正向平均整流電流(Vdss):300A 功率(Pd):大功率 芯片…

centos 安裝 glibc2.25

在 CentOS 7 系統上安裝 glibc 2.25 需要非常謹慎,因為 glibc 是系統核心庫之一,升級它可能導致與系統其他組件的兼容性問題。CentOS 7 自帶的 glibc 版本較低,直接替換為高版本可能會導致依賴于舊版 glibc 的系統軟件崩潰。 以下是一般情況…

Flink——芒果TV的實時數倉建設實踐

目錄 一、芒果TV實時數倉建設歷程 1.1 階段一:Storm/Flink JavaSpark SQL 1.2 階段二:Flink SQLSpark SQL 1.3 階段三:Flink SQLStarRocks 二、自研Flink實時計算調度平臺介紹 2.1 現有痛點 2.2 平臺架構設計 三、Flink SQL實時數倉分…

面試筆記系列三之spring基礎知識點整理及常見面試題

目錄 如何實現一個IOC容器? 說說你對Spring 的理解? 你覺得Spring的核心是什么? 說一下使用spring的優勢? Spring是如何簡化開發的? IOC 運行時序 prepareRefresh() 初始化上下文環境 obtainFreshBeanFactory() 創建并…

Linux系統加固:如何有效管理系統賬號

Linux系統加固:如何有效管理系統賬號 1.1 口令重復次數限制1.2 避免系統存在uid相同的賬號1.3 空密碼的帳戶1.4 口令復雜度1.5 口令生存期1.6 登錄失敗次數鎖定策略 💖The Begin💖點點關注,收藏不迷路💖 在Linux系統中…

為什么軟考報名人數越來越多?

2020年軟考報名人數404666人,廣東省報考人數超過14萬人。 ●2021年軟考通信考試報名人數突破100萬人,估計軟考有90多萬。 ●2022年軟考通信考試共129萬人,估計軟考占了120多萬人。 ●2023年軟考具體報名人數沒有公布,但工業和信…

【AI+應用】aliyun的EMO圖生視頻模型引起的思考如何做AI數字人

昨天2 月 29 日消息,2 月 28 日,阿里巴巴集團智能計算研究院日前上線了一款新的 AI 圖片 - 音頻 - 視頻模型技術 EMO,官方稱其為 " 一種富有表現力的音頻驅動的肖像視頻生成框架 "。據悉,用戶只需要提供一張照片和一段任…

springboot235基于SpringBoot的房屋交易平臺的設計與實現

房屋交易平臺設計與實現 摘 要 信息數據從傳統到當代,是一直在變革當中,突如其來的互聯網讓傳統的信息管理看到了革命性的曙光,因為傳統信息管理從時效性,還是安全性,還是可操作性等各個方面來講,遇到了互…

死記硬背spring bean 的生命周期

1.bean的生命周期 我們平常經常使用類似于new Object()的方式去創建對象,在這個對象沒有任何引用的時候,會被gc給回收掉。而對于spring而言,它本身存在一個Ioc容器,就是用來管理對象的,而對象的生命周期也完全由這個容…

Spring之AOP入門

1.AOP介紹 AOP(Aspect Oriented Programming)面向切面編程,一種編程范式,指導開發者如何組織程序結構,作用是在不改動原始設計的基礎上為其進行功能增強 2.AOP的核心概念 概念定義SpringAOP(注解開發&am…

性能測試-反編譯jar

方法一,使用jd-gui 1、官網下載:Java Decompiler 2、下載mac版本后,解壓,如下所示: 雙擊 JD_GUI,提示錯誤,如下所示: 已經安裝了java 17,是java 1.8以上版本&#xff0…