Dùng lệnh crf_learn
Cú pháp: % crf_learn template_file train_file model_file Trong đó:
- Template_file: file mô tả các mẫu của thẻ.
- Train_file: file dùng để huấn luyện. Input (text)
Tiền xử lý Lựa cho ̣n thuô ̣c tính
CRF++ framework
Khôi phu ̣c + tagging Output (text)
- Model_file: file mô hình huấn luyện.
III.3.1.1 Các tham số huấn luyện
Mô ̣t số tùy cho ̣n trong CRF++ framework cho quá trình huấn luyê ̣n: Tham số -a được dùng để lựa chọn thuật toán huấn luyện. Tham số này có 3 lựa chọn:
- CRF-L1: thuật toán CRF - CRF-L2: thuật toán CRF - MIRA: thuật toán perceptron
Nếu tham số -a là CRF-L1 hoặc CRF-L2 ta có các tham số:
Tham số Giá trị Ý nghĩa
-c float 1.5
Tham số này điều chỉnh độ bất cân đối của dữ liệu. Tùy vào dạng phân bố của dữ liệu mà ta đặt tham số này. Giá trị tối ưu có thể tìm thấy bằng cách thực hiện thủ công hoặc thông qua phương pháp lựa chọn mô hình như cross- validation
-f NUM 3
Tham số thiết lập ngưỡng đối với các đặc trưng. CRF++ dùng các đặc trưng xuất hiện không ít hơn NUM lần trong dữ liệu huấn luyện. Khi ta dụng CRF++ đối với tập dữ liệu lớn, số lượng các đặc trưng có thể lên đến hàng triệu, thì việc sử dụng tham số NUM là cần thiết.
-p NUM: 1
Nếu PC có nhiều CPU, khi đó ta có thể thực hiện việc huấn luyện nhanh hơn bằng cách sử dụng đa luồng. NUM là số luồng
Bảng 2: Các tham số trong quá trình huấn luyện đối với thuật toán CRF
Nếu tham số -a là MIRA thì ta có các tham số tiếp theo:
Tham số Giá trị Ý nghĩa
-c float 1.5
Về cơ bản tham số này có ý nghĩa tương tự như tham số -c đối với thuật toán CRF. Với giá trị C lớn thì thuật toán hướng tới việc overfit đối với dữ liệu huấn luyện.
-f NUM 3 Giống -f trong CRF
-H NUM: 2
Thiết lập độ co của dữ liệu, Khi một câu huấn luyện sau NUM lần không được dùng để thực hiện việc cập nhật giá trị của vectơ tham số, ta có thể coi câu đó không có trong dữ liệu huấn luyện nữa. Quá trình loại bỏ này gọi là sự co lại của dữ liệu (shrinking)
Bảng 3: Các tham số trong quá trình huấn luyê ̣n đối với thuật toán MIRA
Mô ̣t hê ̣ thống trích chọn tên riêng có thể được đánh giá ở mức độ nhãn hoặc ở mức độ cụm từ. Để hiểu rõ hơn vấn đề này chúng ta hãy xem xét ví du ̣ sau :
chính xác sẽ là 2/3. Ở mức độ cụm từ , ta muốn cả cu ̣m này được đánh dấu là tên người hay chuỗ i nhãn tương ứng phải là “B _PER I_PER I_PER”, đô ̣ chính xác khi xét ở mức độ cụm từ sẽ là 0/1 (thực tế có mô ̣t cu ̣m tên thực thể nhưng hê ̣ thống không đánh dấu đúng được cu ̣m nào).
III.3.1.2 Phương pháp “10-fold cross validation”
Hê ̣ thố ng thử nghiê ̣m theo phương pháp “ 10-fold cross validation” . Theo phương pháp này, dữ liê ̣u thực nghiê ̣m được chia thành 10 phần bằng nhau, lần lượt lấy 9 phần để huấn luyê ̣n và 1 phần còn la ̣i để kiểm tra , kết quả sau 10 lần thực nghiệm đươ ̣c ghi la ̣i và đánh giá tổng thể.