Ứng dụng web đơn giản để:
- Encode: Dự đoán nhãn từ file text sử dụng mô hình CRF và chuyển đổi định dạng phù hợp với web annotate.
- Decode: Chuyển đổi định dạng annotations từ dạng web (được mã hóa vị trí từ) về dạng (word,tag) để đánh giá.
TOOL/
├── static/
│ ├── encode_decode.html # Giao diện người dùng
│ ├── script.js # Logic gửi file & xử lý kết quả
│ └── styles.css # CSS cơ bản
├── crf_model.pkl # Mô hình CRF đã huấn luyện
├── server.py # FastAPI backend
├── requirements.txt # Danh sách thư viện cần cài
└── venv/ # Môi trường ảo Python (sẽ tạo sau)
git clone https://github.com/PHTLing/Annotation_Tool.gitpython -m venv venvKích hoạt:
-
Windows:
venv\Scripts\activate
-
Linux / macOS:
source venv/bin/activate
pip install -r requirements.txtpython server.pyMặc định chạy tại: http://localhost:8000, có thể dùng http://127.0.0.1:8000/docs để test với Swagger UI
Chạy xong server, mở file sau trong trình duyệt:
static/encode_decode.html
(Có thể mở trực tiếp bằng
file://hoặc dùng Live Server trong VSCode.)
- Upload file
.txtchứa câu cần gán nhãn. - Server dự đoán nhãn cho từng từ bằng mô hình CRF.
- Trả về danh sách
word + tagdưới dạng JSON. - Kết quả hiển thị trực tiếp trên web.
- Chuyển đổi file annotation từ định dạng đã mã hóa vị trí từ (vị trí bắt đầu của từ, vị trí kết thúc của từ, nhãn) về dạng mặc định (từ, nhãn) để đánh giá.
- Python 3.8+
- Môi trường được cài đặt đầy đủ các thư viện
- Đã train và lưu
crf_model.pkldùngsklearn_crfsuite
fastapiuvicornjoblibundertheseapython-multipartscikit-learnsklearn_crfsuite
Sử dụng công cụ annotate tại:
🔗 https://arunmozhi.in/ner-annotator/
Trang web này cho phép bạn:
- Nhập hoặc dán văn bản để annotate nhãn thực thể
- Xuất file kết quả annotation (dạng JSON)
-
Encode
- Tải lên file
.txtchứa văn bản cần xử lý tại web encode. - Hệ thống dự đoán nhãn và xuất ra file JSON (
encode_predicted_annotation.json).
- Tải lên file
-
Gán nhãn thủ công (Annotate)
- Truy cập trang: https://arunmozhi.in/ner-annotator/
- Upload:
- File
.txt(văn bản gốc) - File
encode_predicted_annotation.json(kết quả encode)
- File
- Thực hiện chỉnh sửa/gán nhãn bằng cách chọn cụm từ và gán nhãn phù hợp.
-
Export annotation
- Sau khi hoàn tất, xuất kết quả thành file
annotations.json.
- Sau khi hoàn tất, xuất kết quả thành file
-
Decode (Xử lý & đánh giá)
- Đưa file
annotations.jsonvào web decode để:- Chuyển đổi về định dạng chuẩn
- Phục vụ cho việc đánh giá kết quả gán nhãn
- Đưa file
| Giao diện Encode sau khi xử lý xong |
|---|
![]() |
| Giao diện Decode sau khi xử lý xong |
|---|
![]() |
| Giao diện Upload của annotation tool |
|---|
![]() |
| Giao diện gán nhãn của annotation tool |
|---|
![]() |



