Xây dựng hệ thống

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 49 - 52)

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

3.4.Xây dựng hệ thống

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

3.4.Xây dựng hệ thống

Giai đoạn 1: Nhận dạng hội thoại

- Đầu vào: Lịch sử tin nhắn gồm nhiều hội thoại

- Đầu ra: Hội thoại cần thao tác

Bước 1:

Tại bước tiền xử lý, mỗi tin nhắn trong lịch sử đều được biểu diễn lại dưới dạng vectơ. Ban đầu, mỗi tin nhắn được thể hiện bởi một vectơ có n phần tử 0 (n = kích thước không gian đặc trưng). Sau đó ta duyệt lần lượt từng từ trong tin nhắn. Nếu từ đó có xuất hiện trong không gian đặc trưng, ta đánh trọng số của phần tử tương ứng bằng 1. Ý tưởng của phương pháp này nhằm tìm ra có những từ nào trong không gian đặc trưng có xuất hiện trong tin nhắn. Sau bước này, ta thu được file

“SVM_train_test.txt” chứa các vectơ, mỗi vectơ đại diện cho một câu, nằm trên một dòng.

Bước 2:

Với tập dữ liệu gồm các vectơ và mô hình SVM được xây dựng ở mục 3.3.2, ta sử dụng lệnh trong công cụ LibSVM để đánh nhãn:

svm-predict SVM_train_test.txt model output

Trong đó, “SVM_train_test.txt” là file chứa tập vectơ cần đánh nhãn; “model”

là file chứa mô hình gán nhãn SVM; “ouput” là file chứa kết quả gán nhãn.

Hình 3.7. File output chứa kết quả gán nhãn.

File output chứa kết quả gán nhãn, số dòng của file output bằng số dòng của lịch sử hội thoại được đưa vào. Thứ tự mỗi nhãn lần lượt tương ứng thú tự của từng tin

nhắn trong hội thoại. Tin nhắn nhận nhãn +1 tương ứng với “tin nhắn bắt đầu hội thoại”, ngược lại, nhãn -1 tương ứng với “tin nhắn nhằm trong hội thoại”.

Bước 3:

Sau khi tìm được nhãn cho mỗi tin nhắn trong lịch sử hội thoại, ta duyệt lịch sử hội thoại từ cuối lên và lấy tất cả các tin nhắn có nhãn -1 cho tới khi gặp tin nhắn có nhãn +1. Tất cả tin nhắn này chính là hội thoại mà ta cần thao tác trích rút thông tin thời gian, địa điểm ở giai đoạn 2.

Giai đoạn 2: Trích rút đối tượng thời gian, địa điểm

- Đầu vào: Hội thoại gồm nhiều tin nhắn đã được nhận dạng trong giai đoạn 1.

- Đầu ra: Đối tượng thời gian, địa điểm.

Lần lượt từng tin nhắn trong hội thoại được xử lý qua bước 1 và 2 sau đây:

Bước 1:

Tập dữ liệu đầu vào cần tiến hành các bước tiền xử lý: tách từ, gán nhãn POS (Part Of Speech), gán nhãn tìm kiếm địa điểm, gán nhãn hình thái từ. Bước tách từ và gán nhãn POS có sử dụng tool vnTagger của tác giả Lê Hồng Phương tại trang web

http://mim.hus.vnu.edu.vn/phuonglh/softwares/vnTagger. Đây là phần mềm tách và

gán nhãn từ loại POS cho tiếng Việt có độ chính xác cao (khoảng 95%).

Tiến hành gán nhãn tìm kiếm địa điểm dựa trên việc tìm kiếm trong danh sách được xây dựng sẵn và đưa vào cấu trúc dữ liệu cây tiền tố, giúp lưa trữ và tìm kiếm nhanh chóng.

Hình thái từ (chữ hoa, chữ thường) phần nào giúp xác định các đối tượng địa điểm, tên riêng, địa danh, địa điểm. Đây là một đặc trưng khá hiệu quả và phổ biến trong văn bản tiếng Việt.

Bước 2:

Sau tiền xử lý, ta thu được file “processedMsg.txt”. Tiếp theo, sử dụng lệnh trong công cụ CRF++ để tiến hành gán nhãn output class:

crf_test –m model processedMsg.txt

Trong đó, “model” là file mô hình gán nhãn CRF; “processedMsg.txt” là file cần gán nhãn.

Hình 3.8. File processedMsg.txt sau khi được gán nhãn. (adsbygoogle = window.adsbygoogle || []).push({});

File processedMsg.txt sau khi được gán nhãn. Các cột lần lượt là nhãn các đặc trưng trong giai đoạn tiền xử lý. Nhờ có những đặc trưng này, mô hình CRF có thể xác định và đưa ra các nhãn cho từng từ. Ý nghĩa các nhãn xem thêm tại mục 2.2.1.

Ta thu được các từ liên quan tới đối tượng thời gian và địa điểm dựa trên các nhãn được gán. Sau phân tích và tính toán, ta thu được các đối tượng thời gian, địa điểm như sau:

Giai đoạn 3: Xây dựng ứng dụng

- Đầu vào: Đối tượng thời gian, địa điểm

- Đầu ra: Lịch nhắc nhở trên điện thoại.

Sau khi nhận đầu vào là các đối tượng thời gian, địa điểm, ta sử dụng API của Android để khởi tạo lịch nhắc nhở bằng cách gọi form thêm mới và tự động điền các dữ liệu thời gian, địa điểm, các dữ liệu mặc định vào form. Ngoài ra, người dùng cũng có thể sửa lại các thông tin liên quan (nếu cần) như hình 3.9. Sau khi ấn “Save”, nhắc nhở mới được tạo thành công và hiển thị trên lịch của điện thoại (hình 3.10).

Hình 3.9. Form thêm mới lịch nhắc nhở Hình 3.10. Thêm nhắc nhở thành công

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 49 - 52)