使用doccano標註NER資料詳細教程
說明:
- 首次發表日期:2024-10-12
- 參考資料:
- https://github.com/zjunlp/DeepKE/blob/main/README_TAG_CN.md
- https://doccano.github.io/doccano/tutorial/
- https://blog.csdn.net/GongYangXianShen/article/details/137270106 (轉換為BIO格式)
部署doccano
https://github.com/doccano/doccano 有說明如何部署。比如使用Docker部署:
docker run --name doccano \
-d --restart always \
-e "ADMIN_USERNAME=admin" \
-e "ADMIN_EMAIL=admin@example.com" \
-e "ADMIN_PASSWORD=password" \
-v doccano-db:/data \
-p 8001:8000 doccano/doccano
建立使用者
預設只有一個使用者,我們需要開啟ADMIN管理頁面新增新的使用者。
在主網址後加/admin/
然後開啟ADMIN管理頁面(注意後邊的斜槓是必須的),點選Add
:
新增使用者名稱和密碼資訊後,點選SAVE
以儲存:
如何進行NER標註
建立專案
預設的介面是英語的,不習慣英語的話,可以切換為中文:
然後點選登入,輸入使用者名稱和密碼登入,登入之後:
點選建立
,會跳轉到以下頁面:
點選以選擇序列標註
(Sequence Labeling),然後輸入名稱等必要資訊,根據需要配置其他屬性:
點選建立
,跳轉到以下頁面:
匯入資料集
單擊左側的資料集
按鈕:
移動滑鼠到操作
按鈕:
點選匯入資料集:
doccano
支援多種格式的文字,它們的區別如下:
Textfile
:上傳的檔案為txt
格式,打標時一整個txt
檔案顯示為一頁內容;Textline
:上傳的檔案為txt
格式,打標時txt
檔案的一行文字顯示為一頁內容;JSONL
:JSON Lines
的簡寫,每行是一個有效的JSON
值;CoNLL
:CoNLL
格式的檔案,每行均帶有一系列製表符分隔的單詞;
上傳一個TXT檔案:
點選匯入後:
定義標籤
點選左側的標籤
,然後移動滑鼠到操作
選單後點選建立標籤
:
建立3個常見的標籤,PER
, LOC
, ORG
,實際應用中需要根據需求確定有哪些標籤。以下以建立PER
標籤為例:
建立完後:
新增成員
點選左側的成員
按鈕,然後點選增加
:
選擇需要新增到專案的使用者和角色,其中有3種角色(專案管理員 ,標註員,審查員)。選擇好後儲存:
儲存後可以看到:
分配標註任務
首先,選中需要分配的資料:
然後,點選操作選單下的Assign to member
:
選擇分配方案,然後點選右側的Assign
按鈕
以上分配方案將15%的任務分配給admin
使用者,85%的任務分配給user1
使用者。
檢視分配結果:
標註
點選左側資料集
,然後選擇一條資料,點選最右邊的標註
按鈕開始標註。
舉例來說,點選右側的PER
標籤,然後滑鼠分別選擇文字中的對應文字:
標註完成後,點選文字左上角的X按鈕表示已標註完成:
匯出資料
點選左側資料集
按鈕,移動滑鼠到操作
選單,點選匯出資料集
:
選擇JSONL
格式,勾選Export only approved documents
(僅匯出已稽核過的資料),然後點選匯出: