[Seri NLP] Nhận dạng thực thể – NER (phần 1)

Chúng tôi rất vui mừng được chia sẻ kiến thức sâu sắc về từ khóa Ner la gi để tối ưu hóa nội dung trang web và tiếp thị trực tuyến. Bài viết cung cấp phương pháp tìm kiếm, phân tích từ khóa và chiến lược hiệu quả. Cảm ơn sự quan tâm và hãy tiếp tục theo dõi để cập nhật kiến thức mới.

Chào các bạn, Tiếp theo Seri NLP mình sẽ viết về 1 số task cụ thể được thực hiện. Task trước hết sẽ là nhận dạng thực thể. Mình chọn task này vì trong quá trình mình làm mảng NLP thấy task này khá cơ bản và dùng nhiều. Khai mạc thôi nhỉ.

Bạn Đang Xem: [Seri NLP] Nhận dạng thực thể – NER (phần 1)

1. Nhận dạng thực thể là gì

Named Entity Recognition — NER: nhận dạng thực thể, là tác vụ cơ bản trong nghành nghề Xử lý tiếng nói tự nhiên. Vai trò chính của tác vụ này là nhận dạng các cụm từ trong văn bản và phân loại chúng vào trong các nhóm đã được định trước như tên người, tổ chức, địa điểm, thời kì, loại sản phẩm, nhãn hiệu, vân vân và vân vân… Từ kết quả của task vụ NER có thể xử lý cho nhiều bài toán phức tạp hơn như Chatbot, Question Answering, Search,…

Một ví dụ về NER:

2. Có những phương pháp và dataset nào để thực hiện

Bài toán nhận dạng thực thể cũng được đề ra từ lâu nên có rất nhiều phương pháp giải quyết và xử lý.

Hướng tiếp cận Rule-based

Xem Thêm : Tuối trẻ là gì?

Rule-based trong NER hoạt động như sau: một tập các rule được khái niệm sẵn hay tự động hóa phát sinh. Mỗi token trong văn bản sẽ tiến hành trình diễn dưới dạng tập các feature. Văn bản nguồn vào sẽn mang so sánh với tập rule này, nếu rule match thì sẽ thực hiện rút trích. Một rule như vậy gồm pattern + action. Pattern thường là regular expression khái niệm trên tập feature của token. Khi pattern này match thì action sẽ tiến hành kích hoạt. Chúng ta cũng có thể tự code rule của mình hoặc sử dụng 1 số thư viện tương trợ sẵn. Một trong những framework/thư viện khá nổi tiếng là Duckling của Facebook (Link)

Hướng tiếp cận Statistical learning

NER được chuyển về bài toán sequence labeling. Bài toán được khái niệm như sau: cho trước tập các chuỗi quan sát ký hiệu x = (x_1, x_2, …,x_n). Thông thường x_i được trình diễn dưới dạng vector. Ta mong muốn gán nhãn y_i dựa vào dữ kiện từ các x_i trước đó. Để gán nhãn, ta thường dùng BIO notation. Với mỗi entity kiểu T, ta có hai nhãn B-T và I-T. B-T là begin type T, I-T là inside type T. Ngoài ra, ta còn tồn tại nhãn O cho thấy outside name entity. Chúng ta cũng có thể tham khảo ví dụ phía dưới

Công Lý là diễn viên hài B-PER I-PER O O O O

Các phương pháp được sử dụng:

  • Hidden Markov Model
  • Maximum Entropy
  • Conditional Random Fields – CRFs

Hướng tiếp cận Machine Learning/Deep Learning

Cùng với sự phát triển của Machine Learning/Deep Learning các phương pháp NER mới ra đời. Chúng ta cũng có thể vào trang PapersWithCode.com để xem những dataset và phương pháp đạt kết quả chất lượng cao.

Các phương pháp NER top đầu cho dataset CoNLL 2003 (Link):

Xem Thêm : MTO Là Gì? Phân Biệt MTO, ETO, ATO và MTS

Nhận định và đánh giá thử nghiệm của underthesea trên bộ VLSP 2016 (Link):

Dataset (bộ tài liệu) thường dùng

Dataset thường được sử dụng nhất để thử nghiệm nhận định và đánh giá model là CoNLL 2003 (English) và với tiếng Việt bạn cũng có thể dùng bộ VLSP 2016

3. Thử nghiệm

Do phạm vi bài hơi dài nên bài sau mình sẽ giới thiệu và thử nghiệm 2 phương pháp có kết quả tốt nhất ngày nay là Flair và BERT cho 2 bộ dataset CoNLL 2003 (English) và VLSP 2016 (tiếng Việt)

Hi vọng bài này cung cấp cái nhìn tổng quan cho những bạn về bài toán NER và các phương pháp/dataset thường dùng.

Nếu có gì thắc mắc các bạn cứ đặt gạch để mình trả lời

Nguồn tham khảo

  • Blog Ông Xuân Hồng
  • Underthesea
  • Papers With Code
  • Rasa Entity Extraction

You May Also Like

About the Author: v1000