Huấn luyện CRF

Một phần của tài liệu Đồ án tốt nghiệp XÂY DỰNG ỨNG DỤNG TRÍCH rút THỜI GIAN, địa điểm từ dữ LIỆU TIN NHẮN (Trang 43 - 45)

- Viết hoa chữ cái đầu tiên của tên riêng, tên người, địa danh.

3.3.2.Huấn luyện CRF

3 https://github.com/cjlin1/libsvm

3.3.2.Huấn luyện CRF

Bước 1: Xây dựng bộ dữ liệu huấn luyện

Các dữ liệu mẫu nguyên thủy (dữ liệu raw) là những câu văn Tiếng Việt có nội dung giống tin nhắn điện thoại, các câu mẫu được tập hợp vào cùng 1 file text có tên “sentence_3.txt”, mỗi câu được viết trên một dòng như sau:

Tiếp theo, từ file dữ liệu raw, ta tạo ra file dữ liệu huấn luyện thông qua một chương trình Java xử lý. File dữ liệu huấn luyện đc tạo ra có định dạng như sau:

[từ thứ 0] [từ loại] [thuộc danh sách] [hình thái] [nhãn phân loại] [từ thứ 1] [từ loại] [thuộc danh sách] [hình thái] [nhãn phân loại] [từ thứ 2] [từ loại] [thuộc danh sách] [hình thái] [nhãn phân loại] ...

[từ thứ n] [từ loại] [thuộc danh sách] [hình thái] [nhãn phân loại] Ví dụ:

Sáng_mai N false H B-RT

8h M false T B-CLK

ra R false T O

PTIT Np true H B-LOC

gặp V false T O

nhau N false T O

nhé I false T O

Trong đó, mỗi dòng xử lý cho một từ trong câu:

• [từ thứ i]: Nhận giá trị là nội dung text của từ thứ i trong câu đang xét, các từ này có thể là từ đơn hoặc từ ghép, được tách bởi thư viện vnTagger.

• [từ loại]: Xác định từ hiện tại đang xét là từ loại nào, nhận các giá trị: danh từ/ tính từ/ động từ/ trạng từ/ danh từ riêng,... Số lượng nhãn loại từ khá nhiều và chi tiết. Giá trị cột này cũng được tính toán bởi thư viện vnTagger.

• [thuộc danh sách]: Nhận giá trị “true” hoặc “false”. Trường này cho biết từ đang xét có thuộc danh sách địa danh, địa điểm có sẵn hay không, được lưu trữ và tìm kiếm bởi cây tiền tố Trie Tree (chương 2).

• [hình thái]: Nhận giá trị “H” hoặc “T”. Trường này cho biết từ có được viết hoa hay không, dựa trên cơ sở các danh từ riêng thường được viết hoa chữ cái đầu. • [nhãn phân loại]: Nhận 1 trong các giá trị output class được định nghĩa ở phần

3.3.1. Đây sẽ là kết quả phân loại cuối cùng mà ta nhận được. Sau tiền xử lý, ta thu được dữ liệu huấn luyện cho CRF như sau:

Hình 3.2. Kết quả tiền xử lý CRF

Mặt khác, dựa vào việc quan sát và phân tích mối liên hệ giữa các token, ta tạo ra các template và đưa vào trong file “template” để phục vụ huấn luyện CRF:

Sáng_mai N false H B- RT

8h M false T B-CLK ra R false T O PTIT Np true H B-LOC gặp V false T O nhau N false T O nhé I false T O ? ? false T O

Ví dụ:

U05: %x[-1,0]/ %x[0,0] : khả năng token hiện tại nhận output class X khi từ đứng trước 2 vị trí có giá trị là “8h” và từ đứng trước 1 vị trí là “ra”.

X nhận nhãn {B-LOC, B-CLK., I-RT, O,...}.

Bước 2: Tạo mô hình huấn luyện

Sau khi xây dựng được tập tin có chứa các mẫu huấn luyện và file template, việc tiếp theo là tạo một tập tin lưu lại mô hình của những bộ huấn luyện đó. Để thực hiện việc này, ta sử dụng lệnh trong công cụ CRF++:

crf_learn template train.txt model

Một phần của tài liệu Đồ án tốt nghiệp XÂY DỰNG ỨNG DỤNG TRÍCH rút THỜI GIAN, địa điểm từ dữ LIỆU TIN NHẮN (Trang 43 - 45)