Bộ trích chọn thuộc tính
Để trích chọn chính xác các thuộc tính trong một tour du lịch, ta xây dựng bộ luật nhƣ sau:
3.8.1. Thông tin về tên tour
Tên tour thƣờng ở một trong hai dạng nhƣ sau:
Dạng 1: TÊN TOUR = <TIỀN TỐ> + <THÔNG TIN>
Dạng 2: TÊN TOUR là danh sách các địa danh phân tách nhau bởi dấu “ - ”.
Trong đó: Tiền tố: “Du lịch”, “Tour”, “Tour Du lịch”
Ví dụ 1: Du lịch Đà Lạt 1 ngày - huyền thoại Langbian, Tour Du Lịch Hạ Long – Cát Bà – 2 Ngày 1 Đêm.
Ví dụ 2: Đà Nẵng – Sơn Trà – Cù Lao Chàm – Hội An – Bà Nà 4 Ngày 3 Đêm, Bắc Kinh - Thƣợng Hải - Hàng Châu - Tô Châu (8 Ngày).
3.8.2. Thông tin về thời gian
THỜI GIAN = <TIỀN TỐ> + <ĐỊNH DẠNG> + <HẬU TỐ>
Trong đó:
Tiền tố: “Thời gian”, “Thời lƣợng”
Định dạng: Bao gồm các ký tự {0, 1, 2,…, 9, “\”, “/”, “N”}
Hậu tố: “Ngày”, “Đêm”, “N”, “N/Đ”
Ví dụ: Thời lƣợng:6 ngày 5 đêm, Thời gian: 3N/ 2Đ
3.8.3. Thông tin về giá tour
GIÁ TOUR = <TIỀN TỐ> + <ĐỊNH DẠNG> + <HẬU TỐ>
Trong đó:
Tiền tố: “Giá tour”, “Giá”, “Giá từ”, “Giá khuyến mãi”, “Price”
Định dạng của giá: Dạng số, bao gồm các ký tự {0, 1, 2,…,9, “,”, “.”}
Hậu tố: “VNĐ”, “VND/ KHÁCH”, “Đ”, “vnđ / khách”, “VND” Ví dụ Giá tour: 4.200.000 VNĐ, Giá từ: 75,990,000 VND.
3.8.4. Thông tin về điểm khởi hành
ĐIỂM KHỞI HÀNH = <TIỀN TỐ> + <ĐỊA ĐIỂM>
Trong đó:
Tiền tố: “Điểm khởi hành”, “Khởi hành từ”, “Từ”, “Khởi hành”, “Bắt đầu”, “Xuất phát”
Địa điểm: Danh từ chỉ nơi chốn
Ví dụ: Điểm khởi hành: Hà Nội, Khởi hành: Đà Lạt
3.8.5. Thông tin về phƣơng tiện
PHƢƠNG TIỆN = <TIỀN TỐ> + <PHƢƠNG TIỆN DI CHUYỂN>
Trong đó:
Tiền tố: “Phƣơng tiện”, “Di chuyển bằng”, “Vận chuyển”
Phƣơng tiện di chuyển: Tên một loại phƣơng tiện giao thông
Ví dụ: Vận chuyển: Máy bay Vietnam Airlines, Phƣơng tiện: Ô tô hoặc máy bay
3.8.6. Thông tin về lịch trình
LỊCH TRÌNH = <TIỀN TỐ> + <CÁC ĐỊA DANH>
Trong đó:
Tiền tố: “Lịch trình”, “Điểm thăm quan”, “Nơi đến”, “Đến”, “Điểm đến”, “Điểm dừng”, “Hành trình”
Các địa danh: Tên các địa danh trong hành trình du lịch
Ví dụ: Lịch trình: New York - Washington DC - Los Angeles - Las Vegas, Điểm thăm quan: Vịnh Nha Trang, Dốc Lết, Suối khoáng Tháp Bà, Khu du lịch Vinpearl Land, Chùa Long Sơn, Tháp Bà Ponaga.
3.9. Tổng kết
Trong chƣơng này, tác giả đã trình bày phƣơng pháp và mô hình để giải quyết bài toán trích chọn thông tin trong văn bản du lịch, đồng thời mô tả chi tiết bài toán trích chọn thông tin; Bài toán trích chọn thông tin sử dụng phƣơng pháp kết hợp giữa luật và phân tích mã Html. Trong chƣơng tiếp theo, tác giả sẽ chứng minh tính hiệu quả của phƣơng pháp bằng thực nghiệm.
Chƣơng 4. THỰC NGHIỆM VÀ ĐÁNH GIÁ
Trong chƣơng này, tác giả sẽ trình bày về môi trƣờng, công cụ cũng nhƣ những gói đƣợc tác giả xây dựng. Bên cạnh đó, tác giả cũng sẽ chứng minh tính hiệu quả của phƣơng pháp qua ba độ đo P, R và F1. Cuối cùng, tác giả xin trình bày một số bàn luận về kết quả của phƣơng pháp, cũng nhƣ hƣớng phát triển trong tƣơng lai.
4.1. Môi trƣờng và các công cụ sử dụng thực nghiệm
Cấu hình phần cứng
Bảng 4.1. Cấu hình hệ thống thử nghiệm Thành phần Chỉ số Thành phần Chỉ số
CPU 2.2 GHz Intel Core i3
RAM 4GB
OS Windows XP
Bộ nhớ ngoài 500GB
Các công cụ phần mềm sử dụng
Bảng 4.2. Công cụ phần mềm sử dụng
STT Tên phần mềm Chức năng Nguồn
1 Teleport Pro Tải dữ liệu từ các website http://teleport-pro.en.softonic.com 2 Eclipse Stan- dard/Kepler Release Tạo môi trƣờng để viết chƣơng trình http://eclipse.org/eclipse
3 JsoupParser Bộ công phân tích
mã Html http://jsoup.org/apidocs/org Project “TravelFeatureExtractor” thực hiện các công việc liên quan đến trích chọn thông tin về các tour du lịch đƣợc nêu trong các bài viết về lĩnh vực du lịch, bao gồm các gói:
FilterData: Lọc ra các bài viết có chứa thông tin về các tour du lịch sang vùng lƣu trữ.
Classification: Phân loại các bài viết theo tên website để lựa chọn tập luật trích chọn tƣơng ứng.
TourExtraction: Trích ra đoạn văn bản chứa thông tin về tour du lịch.
PropertiesExtraction: Trích ra các tập đặc trƣng tƣơng ứng với từng website.
4.2. Xây dựng tập dữ liệu 4.2.1. Thu thập dữ liệu 4.2.1. Thu thập dữ liệu
Dữ liệu trong luận văn đƣợc thu thập từ các website: www.dreamtravel.vn, www.dulichachau.com, www.dulichnamchau.vn, dulichviet.com.vn, dulichnet.com.vn, dulichmienbac.com.vn, www.dulichhn.com. Luận văn lựa chọn những website trên là để đảm bảo tính toàn diện của dữ liệu, có những website, thông tin chi tiết về các tour du lịch chứa đầy đủ các thông tin nhƣ tên tour, thời gian, ngày khởi hành, điểm khởi hành, giá tour, lịch trình, nhƣ www.dulichnamchau.vn, dulichviet.com.vn, còn có những website chỉ chứa các thông tin đặc trƣng nhƣ tên tour, thời gian, giá tour nhƣ dulichmienbac.com.vn, www.dulichhn.com.
Việc thu thập dữ liệu sẽ đƣợc thực hiện bằng phần mềm Teleport Pro, phần mềm này sẽ lấy về 500 bài viết từ các website trên, nhƣ vậy sau khi thu thập dữ liệu ta có 3500 bài viết từ các website du lịch ở trên.
4.2.2. Lọc dữ liệu
Dữ liệu sau khi đƣợc thu thập về dƣới dạng HTML sẽ đƣợc đƣa qua bộ lọc dữ liệu để lấy ra các bài viết liên quan tới lĩnh vực du lịch bằng các luật đã đƣợc xây dựng trong chƣơng 3.
Đầu vào của bộ lọc dữ liệu là 3500 bài viết đƣợc thu thập ở trên, đầu ra là 1820 bài viết có chứa thông tin về các tour du lịch.
4.3. Đánh giá quá trình trích chọn thông tin 4.3.1. Đánh giá quá trình lọc dữ liệu 4.3.1. Đánh giá quá trình lọc dữ liệu
Mô tả thực nghiệm: Mục đích của thực nghiệm này là đánh giá khả năng của bộ lọc dữ liệu đƣợc nêu ở mục 3.5.
Phát biểu thực nghiệm:
Đầu vào: Tập các bài viết đƣợc thu thập từ các website nêu ở mục 4.2.1 Đầu ra: Các bài viết chứa thông tin về các tour du lịch
Dữ liệu thực nghiệm: Dữ liệu là3500 bài viết.
Bảng 4.3. Độ chính xác của chức năng lọc dữ liệu
Số bài viết không liên quan Tổng số bài viết Độ chính xác
95 500 81%
Bộ lọc dữ liệu là chức năng đầu tiên trong quá trình trích chọn thông tin du lịch, làm nhiệm vụ lọc các bài viết đƣợc lấy từ bộ thu thập dữ liệu. Nhƣ đã đề cập ở chƣơng 3, chức năng này đƣợc thực hiện dựa trên một trong hai tiêu chí nhƣ sau:
Những bài viết mà thẻ title bắt đầu bằng từ khóa “Tour” hoặc “Du lịch”.
Những bài viết mà thẻ div chứa một trong các tiền tố “Thời gian”, “Giá tour”, “Lịch trình”, “Phƣơng tiện”, “Mã tour”, “Điểm khởi hành”.
Để đánh giá hiệu suất của chức năng này, tác giả lựa chọn ngẫu nhiên 500 bài viết từ tập dữ liệu để đánh giá bằng phƣơng pháp thủ công. Độ chính xác đƣợc đánh giá bằng công thức (4.1) và kết quả đƣợc trình bày trong bảng (4.3)
4.3.2. Đánh giá quá trình phân lớp
Mô tả thực nghiệm: Mục đích của thực nghiệm này là đánh giá khả năng của bộ phân lớp dữ liệu đƣợc nêu ở mục 3.6.
Phát biểu thực nghiệm:
Đầu vào: Tập các bài viết là kết quả của bộ lọc.
Đầu ra: Các bài viết đƣợc gán nhãn theo tên của 7 website.
Dữ liệu thực nghiệm: Dữ liệu là 650 bài viết sau khi đƣợc lọc bởi bộ lọc dữ liệu.
Bảng 4.4. Độ chính xác của chức năng phân lớp
Số bài viết không liên quan Tổng số bài viết Độ chính xác
Sau khi nghiên cứu dữ liệu là các trang web thuộc 7 website ở mục 4.2.1 tác giả thấy một đặc điểm chung là: Trong thẻ “link” sẽ chứa tên của website. Nhƣ vậy, để gán cho một bài viết thuộc website nào, ta sẽ so sánh thông tin trong thẻ link và địa chỉ chính xác của website đó. Đánh giá hiệu suất của chức năng này, tác giả lựa chọn ngẫu nhiên 650 bài viết từ tập dữ liệu để đánh giá bằng phƣơng pháp thủ công. Độ chính xác của chức năng phân lớp đƣợc đánh giá bằng công thức (4.1) và kết quả đƣợc trình bày trong bảng (4.4).
4.3.3. Đánh giá quá trình trích chọn thông tin
Mô tả thực nghiệm: Mục đích của thực nghiệm này là đánh giá khả năng của bộ trích chọn dữ liệu đƣợc nêu ở mục 3.8.
Phát biểu thực nghiệm:
Đầu vào: Bài viết chứa thông tin về các tour du lịch.
Đầu ra: Thông tin về các tour du lịch có trong bài viết bao gồm: tên tour, thông tin chi tiết về tour.
Dữ liệu thực nghiệm: Dữ liệu là 350 bài viết thuộc 7 website dreamtravel.vn, dulichachau.com, dulichnamchau.vn, dulichviet.com.vn, dulichnet.com.vn, dulichmienbac.com.vn, dulichhn.com.
Do một bộ E đƣợc định nghĩa là một tập bao gồm tên tour và thông tin chi tiết về tour, trong đó tùy thuộc vào từng website khác nhau mà ta có các thông tin chi tiết khác nhau và với mỗi website ta lại có một quy trình riêng để trích chọn.
Để đánh giá khả năng của bộ trích chọn, tác giả sử dụng ba độ đo là độ chính xác (P - Precision), độ hồi tƣởng (R - Recall) và độ đo F (F - score) [6]. Các độ đo này đƣợc biểu diễn trong công thức (4.1), (4.2) và (4.3)
Trong đó:
Số tour trích chọn đúng là số tour mà mô hình trích chọn chính xác
Số tour trích chọn sai là số tour mà mô hình trích chọn sai
4.1 Số tour trích chọn đúng
Độ chính xác (P) =
Số tour trích chọn đúng + số tour trích chọn sai
4.2 Số tour trích chọn đúng
Trong đó:
Số tour trích chọn đúng: là số tour mà mô hình trích chọn chính xác. Số tour không trích chọn đƣợc: là số tour mà bộ trích chọn không
trích chọn ra.
Bảng 4.5. Độ chính xác của bộ trích chọn khi lấy dữ liệu ngẫu nhiên
Dữ liệu đƣợc dùng để đánh giá độ chính xác của bộ trích chọn thông tin của từng website là 50 bài viết ngẫu nhiên trên website đó. Ta thấy có sự khác nhau giữa số lƣợng tour trong mỗi website là do thiết kế của từng website. Có website thiết kế theo kiểu List Page nhƣ website dulichnamchau, dulichviet, dulichachau, dulichmienbac, có website thiết kế theo kiểu Detail Page nhƣ website dreamtravel, dulichhn.
Tên website Số tour đúng Số tour sai P R F1 Dulichviet 710 129 86.62 85.32 84.97 Dulichachau 470 70 87.04 87.90 87.47 Dulichnamchau 482 80 85.77 86.11 85.94 Dulichnet 720 100 87.8 87.89 87.84 Dulichmienbac 143 23 86.14 85.53 88.83 Dulichhn 48 7 87.27 87.96 87.61 Dreamtravel 46 7 86.79 88.21 87.49 Trung bình 374 59 86.7 87.4 84.97 4.3 2 x P x R F1 = (P + R)
Trong đó:
List Page: là trang chứa một vài danh sách của các đối tƣợng. Có hai dạng trang list, đó là trang list bố trí theo chiều ngang hoặc chiều dọc.
Detail Page: là trang chỉ giới thiệu một đối tƣợng đơn. Nó chứa đựng tất cả các thông tin về một tour du lịch nhƣ: tên tour, mã tour, thời gian, giá tour … [6].
Ví dụ về hai website huộc hai kiểu thiết kế List Page và Detail Page.