Chuẩn bị dữ liệu huấn luyện

Xử lý ngôn ngữ tự nhiên với spaCy

Azadeh Mobasher

Principal data scientist

Các bước huấn luyện

 

  1. Gán nhãn và chuẩn bị dữ liệu đầu vào
  2. Khởi tạo trọng số mô hình
  3. Dự đoán vài ví dụ với trọng số hiện tại
  4. So sánh dự đoán với đáp án đúng
  5. Dùng bộ tối ưu để tính trọng số cải thiện hiệu năng
  6. Cập nhật trọng số một chút
  7. Quay lại bước 3.
Xử lý ngôn ngữ tự nhiên với spaCy

Gán nhãn và chuẩn bị dữ liệu

  • Bước đầu là chuẩn bị dữ liệu huấn luyện đúng định dạng
  • Sau khi thu thập dữ liệu, ta gán nhãn
  • Gán nhãn là dán nhãn intent, thực thể, v.v.
  • Ví dụ dữ liệu đã gán nhãn:
annotated_data = {
"sentence": "An antiviral drugs used against influenza is neuraminidase inhibitors.",
"entities": {
             "label": "Medicine",
             "value": "neuraminidase inhibitors",
    }
}
Xử lý ngôn ngữ tự nhiên với spaCy

Gán nhãn và chuẩn bị dữ liệu

  • Đây là một ví dụ dữ liệu đã gán nhãn khác:

 

annotated_data = {
"sentence": "Bill Gates visited the SFO Airport.",
"entities": [{"label": "PERSON", "value": "Bill Gates"}, 
             {"label": "LOC", "value": "SFO Airport"}]
}
Xử lý ngôn ngữ tự nhiên với spaCy

Định dạng dữ liệu huấn luyện của spaCy

  • Gán nhãn dữ liệu giúp dữ liệu huấn luyện phù hợp với mục tiêu học của mô hình
  • Tập huấn luyện cần lưu dạng dictionary:
training_data = [
("I will visit you in Austin.", {"entities": [(20, 26, "GPE")]}),
("I'm going to Sam's house.", {"entities": [(13,18, "PERSON"), (19, 24, "GPE")]}),
("I will go.", {"entities": []})
]

Ba cặp ví dụ:

  • Mỗi cặp gồm câu ở phần tử thứ nhất
  • Phần tử thứ hai là danh sách thực thể đã gán nhãn và vị trí bắt đầu/kết thúc
Xử lý ngôn ngữ tự nhiên với spaCy

Dữ liệu đối tượng Example cho huấn luyện

  • Không thể đưa thẳng văn bản thô vào spaCy

  • Cần tạo một đối tượng Example cho mỗi mẫu huấn luyện

import spacy
from spacy.training import Example

nlp = spacy.load("en_core_web_sm")

doc = nlp("I will visit you in Austin.")

annotations = {"entities": [(20, 26, "GPE")]} example_sentence = Example.from_dict(doc, annotations)
print(example_sentence.to_dict())
Xử lý ngôn ngữ tự nhiên với spaCy

Ayo berlatih!

Xử lý ngôn ngữ tự nhiên với spaCy

Preparing Video For Download...