/ner

Vietnamese Named Entity Recognition

Primary LanguagePython

Nhận dạng thực thể tên riêng tiếng Việt

Dự án nghiên cứu về bài toán nhận dạng thực thể tên riêng tiếng Việt, được phát triển bởi nhóm nghiên cứu xử lý ngôn ngữ tự nhiên tiếng Việt - underthesea. Chứa mã nguồn các thử nghiệm cho việc xử lý dữ liệu, huấn luyện và đánh giá mô hình, cũng như cho phép dễ dàng tùy chỉnh mô hình đối với những tập dữ liệu mới.

Nhóm tác giả

Tham gia đóng góp

Mọi ý kiến đóng góp hoặc yêu cầu trợ giúp xin gửi vào mục Issues của dự án. Các thảo luận được khuyến khích sử dụng tiếng Việt để dễ dàng trong quá trình trao đổi.

Nếu bạn có kinh nghiệm trong bài toán này, muốn tham gia vào nhóm phát triển với vai trò là Developer, xin hãy đọc kỹ Hướng dẫn tham gia đóng góp.

Mục lục

Yêu cầu hệ thống

  • Hệ điều hành: Linux (Ubuntu, CentOS), Mac
  • Python 3.6+
  • conda 4+

Thiết lập môi trường

Tải project bằng cách sử dụng lệnh git clone

$ git clone https://github.com/undertheseanlp/ner.git

Tạo môi trường mới và cài đặt các gói liên quan

$ cd classification
$ conda create -n ner python=3.6
$ pip install -r requirements.txt

2. Usage

2.1 Using a pretrained model

cd ner
$ source activate ner
$ python ner.py -fin tmp/input.txt -fout tmp/output.txt

2.2 Train a new dataset

Prepare a new dataset

Train and test

$ cd ner
$ source activate ner
$ python train.py
  --train data/vlsp2018/corpus/train.txt

2.3 Sharing a model

To be updated

3. References

To be updated

Kết quả thử nghiệm

Dữ liệu VLSP 2016: mức từ (không dùng nhãn gold POS, Chunk)

Mô hình F1 (%) Thời gian train
BiLSTM-CRF (20 epoch) 66.39 3.46 giờ

Dữ liệu VLSP 2016: mức syllable

Mô hình F1 (%) Thời gian train
flair (WordEmbedding(word_dim=300) + CharacterEmbedding, SequenceTagger(hidden_size=1024), learning_rate=0.1, mini_batch_size=8) 86.68
flair (WordEmbedding(word_dim=300,corpus=19GB) + CharacterEmbedding, SequenceTagger(hidden_size=1024), learning_rate=0.1, mini_batch_size=8) 86.46
flair (WordEmbedding(word_dim=300) + CharacterEmbedding, learning_rate=0.1, mini_batch_size=8) 84.74
flair (WordEmbedding(word_dim=300), learning_rate=0.1, mini_batch_size=8) 84.37 2 giờ 15 phút
flair (WordEmbedding(word_dim=100), learning_rate=0.1, mini_batch_size=8) 82.30 3 giờ 13 phút
flair (Character Embeddings, learning_rate=0.1, mini_batch_size=16) 67.45 5 giờ 34 phút