Sau khi chuẩn bị toàn bộ các file train, file test, file template ta tiến hành huấn luyện và test như sau
Huấn luyện (training)
Để huấn luyện các file ta sử dụng lệnh crf_learn với cú pháp sau:
% crf_learn template_file train_file model_file
Ở đó :
Lệnh crf_learn tạo ra mô hình huấn luyện trong file model_file
Kết quả của lệnh crf_learn:
iter: Số lượng lặp được xử lý
terr: Tỷ lệ lỗi đối với các thẻ ( được tính bằng số lượng thẻ lỗi/ tổng số thẻ ) serr: Tỷ lệ lỗi đối với câu ( được tính bằng số câu lỗi /tổng số câu )
obj: Giá trị của đối tượng hiện tại. Khi giá trị này hội tụ tại một điểm cố định. CRF ++ dừng lặp
Bảng 2. Bảng các tham số huấn luyện
Tham số Giá trị mặc định Ý nghĩa
-a CRF-L2 hoặc CRF-L1
CRF-L2 Tham số này dùng để thay đổi thuật toán mặc định của CRF ++ . Thông thường thì L2 thực hiện tốt hơn không đáng kể so với L1, trong khi số lường các đặc tính L1 là nhỏ hơn một cách đáng kể so với L2
-c float: Cùng với tùy chọn này, có thể thay đổi nhiều tham số cho CRFs
-f NUM 1 Chỉ có các thuộc tính có tần suất xuất hiện lớn hơn giá trị này thì mới được tích hợp vào mô hình CRF .
-p NUM Nếu máy tính của bạn có nhiều CPU, giúp cho việc huấn luyện nhanh hơn bằng cách sử dụng đa luồng. NUM là số lượng các luồng
Để kiểm tra dữ liệu sau khi huấn luyện sử dụng lệnhcrf_test với cú pháp như sau:
% crf_test -m model_file test_files ...
Model_file là file do crf_learn tao ra. Trong khi test không cần tạo ra template_file bởi vì model file có thông tin giống như file template .
Test_file là kiểm tra dữ liệu bạn muốn gán thẻ theo trình tự. File này có định dạng giống như file traning được xây dựng ở trên.
Bảng 3. Bảng các tham số của lệnh crf_test
Tham số Giá trị mặc định Ý nghĩa
-v level 0 Tùy chọn này đưa ra một số thông tin chi tiết từ CRF++bằng cách tăng cấp độ của level N best
ouput
Đưa ra N kết quả được sắp xếp theo xắc suất điều kiện của CRF++
3.5. TỔNG KẾT CHƯƠNG
Trong chương này đã nêu ra hai vấn đề cơ bản trong mô hình CRF. Có rất nhiều phương pháp sử dụng để giải quyết hai vấn đề đó. Trong phần này đã nêu ra hai hướng giải quyết cơ bản và hiệu quả nhất. Đó thuật toán Virterbi và hai thuật toán T và thuật toán S. Cả hai thuật toán đều được cải tiến từ thuật toán IIS. Chương này cũng giới thiệu được công cụ CRF++ toolkit, một công cụ có nhiều ứng dụng trong xử lý ngôn ngữ tự nhiên.
Chương 4. ỨNG DỤNG CRF
VÀO BÀI TOÁN TRÍCH CHỌN THÔNG TIN NHÀ ĐẤT
Một hệ thống hữu ích dùng để xử lý tiếng Việt là rất quan trọng. Ví dụ như bài toán nhận biết các loại thực thể là một bài toán cơ bản trong trích chọn thông tin và xử lý ngôn ngữ tự nhiên. Từ việc nhận biết các loại thực thể ta có thể rút trích ra những thông tin cần thiết tùy thuộc vào mục đích riêng. Trong chương này sẽ ứng dụng mô hình CRF đã nói ở trên vào bài toán trích chọn thông tin nhà đất.
4.1. MÔ HÌNH HÓA BÀI TOÁN TRÍCH CHỌN THÔNG TIN NHÀ ĐẤT
Đối với bất kỳ một văn bản nào thì việc hiểu nhanh văn bản và tóm tắt được nội dung chính là rất cần thiết. Cũng như vậy trong bất kỳ một bản tin nhà đất nào kể cả người bán và người mua đều quan tâm đến những vấn đề cơ bản nhất liên quan đến nhà, hoặc đất cần bán hoặc cần mua.
Với tư tưởng vậy với một thông tin nhà đất những yếu tố chúng ta cần quan tâm là: Vị trí của nhà hoặc đất như thế nào, diện tích?, giá bán?, loại nhà nào?, địa chỉ liên hệ với chủ sở hữu?. Với tất cả các thông tin trên có thể hiểu đầy đủ được về thông tin về ngôi nhà cần bán hoặc cần mua. Nhiệm vụ của bài toán trích chọn thông tin nhà đất là làm sao có thể rút trích những thông tin được liệt kê trong bảng 4 như sau:
Tên Chú thích DC Địa chỉ DT Diện tích DD Di động GB Giá bán LN Loại nhà
Vấn đề đặt ra là với một lượng thông tin nhỏ thì ta có thể dễ dàng tìm ra được các thông tin đó. Nhưng với một dữ liệu lớn thì vấn đề rất khó khăn. Chính vì vậy và việc ứng dụng một mô hình có thể “tự học” để có thể tìm ra những thông tin đó là rất cần thiết.