Tự động trích xuất thông tin sản phẩm trên web ứng dụng kỹ thuật Simhash Tự động trích xuất thông tin sản phẩm trên web ứng dụng kỹ thuật Simhash Tự động trích xuất thông tin sản phẩm trên web ứng dụng kỹ thuật Simhash luận văn tốt nghiệp,luận văn thạc sĩ, luận văn cao học, luận văn đại học, luận án tiến sĩ, đồ án tốt nghiệp luận văn tốt nghiệp,luận văn thạc sĩ, luận văn cao học, luận văn đại học, luận án tiến sĩ, đồ án tốt nghiệp
Mẫu 1a MẪU BÌA LUẬN VĂN CĨ IN CHỮ NHŨ VÀNG Khổ 210 x 297 mm PHẠM NGUYỄN TUẤN ANH BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI - Phạm Nguyễn Tuấn Anh CÔNG NGHỆ THÔNG TIN TỰ ĐỘNG TRÍCH XUẤT THƠNG TIN SẢN PHẨM TRÊN WEB ỨNG DỤNG KỸ THUẬT SIMHASH LUẬN VĂN THẠC SĨ KHOA HỌC CÔNG NGHỆ THÔNG TIN 2009 Hà Nội – 2011 MẪU TRANG PHỤ BÌA LUẬN VĂN Mẫu 1b BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI Phạm Nguyễn Tuấn Anh TỰ ĐỘNG TRÍCH XUẤT THƠNG TIN SẢN PHẨM TRÊN WEB ỨNG DỤNG KỸ THUẬT SIMHASH Chuyên ngành : Công nghệ thông tin LUẬN VĂN THẠC SĨ KHOA HỌC CÔNG NGHỆ THÔNG TIN NGƯỜI HƯỚNG DẪN KHOA HỌC : TS NGUYỄN KHANH VĂN Hà Nội – 2011 Tự động trích xuất thơng tin sản phẩm Web ứng dụng kỹ thuật Simhash Phạm Nguyễn Tuấn Anh – Cao học CNTT 2009 MỤC LỤC MỤC LỤC T 26T ĐẶT VẤN ĐỀ .4 T 26T CHƯƠNG I: KHÁI QT BÀI TỐN TRÍCH XUẤT THÔNG T TIN CHO DỮ LIỆU BÁN CẤU TRÚC T Bài tốn trích xuất thơng tin T T 1.1 Giới thiệu toán T 26T 1.2 Dữ liệu toán T 26T Các hướng tiếp cận tốn trích xuất thông tin 11 T T Bài toán trích xuất thơng tin cho liệu bán cấu trúc 12 T T 3.1 Vấn đề đặt với toán 12 T T 3.2 Một số phương pháp trích xuất thơng tin cho liệu bán cấu trúc 13 T T 3.3 Phương pháp đánh giá .13 T 26T 3.4 Ứng dụng tốn trích xuất thơng tin cho liệu bán cấu trúc 14 T T CHƯƠNG II: MỘT SỐ PHƯƠNG PHÁP SỬ DỤNG TRONG T BÀI TỐN TRÍCH XUẤT THƠNG TIN CHO DỮ LIỆU BÁN CẤU TRÚC .17 26T Trích xuất thông tin dựa vào DOM 17 T T 1.1 Khái nhiệm DOM .17 T 26T 1.2 Xây dựng DOM 18 T 26T 1.3 Sử dụng DOM để trích xuất thông tin 20 T T 2 Trích xuất thơng tin dựa theo mẫu biểu thức qui 21 T T 2.1 Khái niệm biểu thức qui 21 T T 2.2 Sử dụng biểu thức qui để trích xuất thơng tin 22 T T Một số giải thuật trích xuất thơng tin cho liệu bán cấu trúc 22 T T -1- Tự động trích xuất thông tin sản phẩm Web ứng dụng kỹ thuật Simhash Phạm Nguyễn Tuấn Anh – Cao học CNTT 2009 3.1 Hai kiểu biểu diễn trang giàu liệu 22 T T 3.2 Một số giải thuật điển hình 23 T T CHƯƠNG III: PEWEB – HỆ THỐNG BĨC TÁCH THƠNG TIN T SẢN PHẨM DỰA TRÊN TÍNH TỐN ENTROPY .29 T Xây dựng HTML 29 T 26T Tính tốn Entropy 30 T 26T CHƯƠNG IV: TỰ ĐỘNG TRÍCH XUẤT THƠNG TIN SẢN T PHẨM TRÊN WEB ỨNG DỤNG KỸ THUẬT SIMHASH 39 T Bài tốn trích xuất thơng tin sản phẩm từ website thương mại 39 T T 2 Kỹ thuật xác định vị trí vùng mơ tả sản phẩm sử dụng Simhash 41 T T 2.1 Các trang web thương mại DOM 42 T T 2.2 Kỹ thuật Simhash dùng phát văn trùng lặp 44 T T 2.3 Sử dụng Simhash để tìm tương tự DOM .44 T T 2.4 Xây dựng định cho trình lọc kết 47 T T Cài đặt hệ thống bóc tách thơng tin sản phẩm sử dụng Simhash 49 T T 3.1 Tìm kiếm vùng có khả chứa thơng tin sản phẩm 49 T T 3.2 Loại bỏ nhiễu 51 T 26T Chương trình bóc tách thơng tin sản phẩm 52 T T Các kết thực nghiệm 55 T 26T Kết luận hướng phát triển 58 T 26T TÀI LIỆU THAM KHẢO .60 T T -2- Tự động trích xuất thơng tin sản phẩm Web ứng dụng kỹ thuật Simhash Phạm Nguyễn Tuấn Anh – Cao học CNTT 2009 DANH MỤC HÌNH Hình 1: Ví dụ tính cấu trúc trang web bán cấu trúc 10 U T T U Hình 2: Ví dụ toán nhận dạng thực thể 11 U T T U Hình 3: Ví dụ trích xuất nội dung trang Web 15 U T T U Hình 4: Ví dụ hệ thống tìm kiếm giá 16 U T T U Hình 5: Ví dụ xây dựng DOM sử dụng hộp ảo 20 U T T U Hình 6: Dạng biểu diễn trang list page 23 U T T U Hình 7: Dạng biểu diễn trang detail page 23 U T T U Hình 8: Chuyển đổi từ mã HTML sang EC 24 U T T U Hình 9: Ví dụ giải thuật RoadRunner 28 U T T U Hình 10: Các mơ tả sản phẩm DOM 31 U T T U Hình 11: Quá trình tính giá trị đại diện 32 U T T U Hình 12: Một trang web bán máy tính xách tay 43 U T T U Hình 13: Các vùng sản phẩm vị trí chúng DOM 43 U T T U Hình 14: Một ví dụ q trình tính Simhash node T 46 U T T U Hình 15: Cây định xác định vùng có vùng sản phẩm hay khơng U T T U 48 Hình 16: Giao diện chương trình bóc tách thông tin sản phẩm 53 U T T U Hình 17: Sau nhập đường link trang web bán hàng, chương tình tiến U T hành phần tích cấu trúc trang web xây dựng DOM tương ứng 54 T U Hình 18: Kết sau tìm bóc tách thơng tin từ vùng chứa thông tin U T sản phẩm 55 26T U -3- Tự động trích xuất thơng tin sản phẩm Web ứng dụng kỹ thuật Simhash Phạm Nguyễn Tuấn Anh – Cao học CNTT 2009 ĐẶT VẤN ĐỀ Nhưng năm gần đây, với phát triển mạnh mẽ hạ tầng sở mạng công nghệ lưu trữ Internet trở thành thành phần thiếu đời sống người Hàng loạt ứng dụng dựa tảng Internet đời để phục vụ cho nhu cầu, lợi ích người Nổi bật lên ứng dụng ứng dụng liên quan đến thương mại điện tử Thương mại điện tử đời giúp người giảm thiểu tối đa thời gian chi phí tham gia giao dịch hàng hóa Tuy nhiên với phát triển thơng tin Internet thông tin liên quan đến thương mại điển tử bùng nổ không kém, hàng loạt trang web bán hàng trực tuyến với hàng triệu sản phẩm thông tin liên quan đến sản phẩm làm cho người khó khăn việc tìm kiếm Các câu hỏi: Sản phẩm tốt ? Giá cửa hàng tốt ? Tìm kiếm thơng tin sản phẩm đâu ? làm người khó khăn lựa chọn sản phẩm cần giao dịch Giải pháp cho vấn đề cần có hệ thống tìm kiếm phục vụ cho nhu cầu tìm kiếm người hệ thống thường biết đến với tên gọi hệ thống tìm kiếm giá sản phẩm Chính từ nhu cầu thực tế đấy, hệ thống tìm kiếm giá nhiều quan tâm máy tìm kiếm (Search Engine) lớn giới Google, Yahoo, Bing… Ngồi dịch vụ tìm kiếm thơng thường khác, Search Engine có dịch vụ tìm kiếm riêng cho sản phẩm, hàng hố rao bán trực tuyến website thương mại Cách thức hoạt động chung dịch vụ tìm kiếm sản phẩm trực tuyến là: sau thu thập trang web website thương mại lưu vào kho liệu mình, Search Engine tiến hành bóc tách thơng tin liên qua đến mặt hàng sản phẩm có trang web đó, tổ chức lưu trữ liệu bóc tách hợp lý để nhanh chóng đáp ứng truy vấn từ người dùng Những thông tin mà người dùng quan tâm đến sản phẩm thường tên sản -4- Tự động trích xuất thơng tin sản phẩm Web ứng dụng kỹ thuật Simhash Phạm Nguyễn Tuấn Anh – Cao học CNTT 2009 phẩm, giá cả, mô tả chi tiết sản phẩm, hay địa rao bán… Nếu việc thu thập tổ chức lưu trữ liệu vấn đề q khó khăn Search Engine, liệu sản phẩm trực tuyến phần nhỏ so với liệu toàn liệu Web, vấn đề bóc tách thơng tin sản phẩm thực đặt nhiều thách thức cho Search Engine Có thể nói, chất lượng dịch vụ tìm kiếm phụ thuộc nhiều vào chất lượng q trình bóc tách thơng tin sản phẩm Chỉ có phương pháp bóc tách thơng tin sản phẩm thật đầy đủ chi tiết, Search Engine đem lại kết tìm kiếm tốt cho người dùng Vấn đề tiến hành bóc tách thơng tin sản phẩm từ trang web bán hàng trực tuyến xác định vị trí phần chứa thơng tin sản phẩm có trang web Tuy nhiên, khơng phải vấn đề giải cách dễ dàng Trên trang web bán hàng, khu vực chứa thơng tin sản phẩm, cịn có vùng thơng tin khác menu, quảng cáo, danh sách danh mục mặt hàng… Các phương pháp bóc tách sản phẩm cần phải phân biệt vùng chứa không chứa thơng tin sản phẩm, để khơng phát thiếu hay nhầm lẫn, làm ảnh hưởng tới trình bóc tách sau Khó khăn mà Search Engine gặp phải website có cách trình bày hay bố trí sản phẩm trang web riêng, cách trình bày thay đổi cách thường xuyên Cộng với việc số lượng website bán hàng, dẫn đến số lượng trang web chứa thông tin sản phẩm, lớn Search Engine thực cần phương pháp khơng nhanh mà cịn phải hồn tồn tự động để xác định vị trí vùng sản phẩm trang web Do đó, vấn đề đặt nghiên cứu từ nhiều năm Bóc tách thơng tin sản phẩm vấn đề nằm tốn bóc tách thơng tin Web nói chung Từ lâu, tốn bóc tách liệu từ Web đặt nghiên cứu để phục vụ cho nhiều mục đích, để thu thập viết từ trang báo điện tử, thơng tin tài chính… Các phương pháp trích xuất thơng tin Web nhiều áp dụng cho tốn bóc tách thơng tin sản phẩm Từ trước tới nay, bóc tách -5- Tự động trích xuất thơng tin sản phẩm Web ứng dụng kỹ thuật Simhash Phạm Nguyễn Tuấn Anh – Cao học CNTT 2009 liệu Web thường xây dựng chương trình đặc biệt, gọi wrapper, để tìm liệu cần xây dựng khung để áp dụng vào trang web, ta có liệu mong muốn Việc xây dựng trì wrapper khó khăn, có nhiều cải tiến cho việc Sau vài phương pháp công cụ tương ứng xây dựng wrapper, tính hiệu chúng dựa khả tự động chúng - Ngôn ngữ xây dựng wrapper: hướng tiếp cận thiết kế ngôn ngữ đặc biệt nhằm hỗ trợ người xây dựng wrapper dễ dàng Một vài công cụ bật Minera[11] TSIMMIS[15], Web-OQL[3] Các ngơn ngữ sử dụng để thay ngơn ngữ lập trình - Các cơng cụ dựa HTML: Hướng tiếp cận nhằm xây dựng cơng cụ dựa vào đặc tính cấu trúc vốn có văn HTML để trích xuất liệu Trong trình tiền xử lý, công cụ sử dụng hướng tiếp cận này, W4F[27], XWRAP[21], RoandRunner[10] biến đổi văn thành mà phản ánh tính phân cấp văn HTML - Các công cụ sử dụng kỹ thuật xử lý ngôn ngữ tự nhiên: Trong hướng tiếp cận này, công cụ RAPIER[6], SRV[14], WHISK[31],… xây dựng luật bóc tách thơng tin văn ngôn ngữ tự nhiên sử dụng kỹ thuật NLP, chẳng hạn lọc, gán nhãn, đánh thẻ từ vựng ngữ nghĩa Hướng tiếp cận thường thích hợp để xử lý văn có cú pháp chuẩn - Các công cụ wrapper qui nạp: hướng tiếp cận này, luật bóc tách dựa vào dấu phân cách xây dựng từ tập học mẫu Các công cụ wrapper qui nạp, WIEN[18], SoftMealy[16], STALKER[23], thích hợp với văn HTML công cụ sử dung kỹ thuật NLP, chúng phụ thuộc vào đặc tính định dạng tạo nên cấu trúc liệu cần tìm, buộc ngơn ngữ -6- Tự động trích xuất thơng tin sản phẩm Web ứng dụng kỹ thuật Simhash Phạm Nguyễn Tuấn Anh – Cao học CNTT 2009 - Các công cụ sử dụng mẫu: Ý tưởng hướng tiếp cận tìm trang web mẩu liệu mà khớp với cấu trúc đối tượng cần quan tâm Sau đó, cách sử dụng thuật tốn công cụ wrapper qui nạp, công cụ sử dụng mẫu, NoDoSe[1], DeByE[19] xác định đối tượng có cấu trúc giống với cấu trúc cho trước trang web Một tiêu chí quan trọng so sánh phương pháp bóc tách thơng tin mức độ tự động phương pháp Trong hướng tiếp cận ngôn ngữ xây dựng wrapper, người phát triển cần phải viết lượng lớn code, để xây dựng chương trình bóc tách đối tượng cần quan tâm Do đó, người phát triển phải kiểm tra văn tìm thẻ HTML cần cho trình xác định biên đối tượng cách thủ cơng Trong khí đó, có mức độ tự động hố cao hơn, cơng cụ dựa HTML thực hiệu có thẻ HTML trang web Điều khó xảy với số lượng trang web lớn Trong hướng tiếp cận NLP, wrapper qui nạp, sử dụng mẫu, người phát triển phải cung cấp mẫu thử cho trình xây dựng wrapper Do đó, cơng cụ coi bán tự động Có thể thấy rằng, phương pháp bóc tách liệu khơng hồn tồn tự động: chúng cần giai đoạn cần can thiệp người phát triển Điều không khả thi áp dụng để xử lý tập liệu lớn trang web Vấn đề cần đặt phải tìm hướng tiếp cận khác mà q trình bóc tách liệu khơng cần đến tác động từ người phát triển Trong luận văn này, tác giả đề xuất phương pháp hoàn toàn tự động để xác định vùng chứa mơ tả sản phẩm có trang web bán hàng Phương pháp dựa vào hướng tiếp cận có tác giả Phan Xuân Hiếu tác giả khác[32], trình xây dựng hệ thống lấy thơng tin sản phẩm, có tên PEWeb Hướng tiếp cận tận dụng tính chất thường gặp trang web bán hàng, vùng chứa sản phẩm trang web thường có cách trình bày giống gần giống Đây đặc tính quan trọng, giúp ta dễ dàng xác định vùng sản -7- Tự động trích xuất thơng tin sản phẩm Web ứng dụng kỹ thuật Simhash Phạm Nguyễn Tuấn Anh – Cao học CNTT 2009 phẩm trang web Tuy có hướng tiếp cận, phương pháp khác với phương pháp PEWeb Chúng đề xuất sử dụng hàm băm đặc biệt, gọi Simhash, để tìm vùng chứa mơ tả sản phẩm Simhash sử dụng để tìm đối tượng có thuộc tính tương tự nhau, chẳng hạn văn trùng lặp Chúng biến đổi hàm Simhash để áp dụng cho toán xác định vùng chứa sản phẩm trang web Chúng chọn Simhash sử dụng kỹ thuật khơng đem lại kết cao tốc độ xử lý nhanh mà cịn khơng phụ thuộc vào cấu trúc văn HTML cụ thể nên khơng cần có xử lý từ phía người phát triển, hay nói cách khác, hồn tồn tự động Do đó, giải pháp giải khó khăn mà Search Engine gặp phải mà nêu Chi tiết phương pháp đề xuất trình bày kỹ luận văn Luận văn gồm chương nội dung mô tả sơ đây: - Chương 1: Trong chương này, chúng tơi khái qt tốn trích xuất thơng tin cho liệu bán cấu trúc - Chương 2: Chúng trình bày số phương pháp sử dụng tốn trích xuất thơng tin cho liệu - Chương 3: Chúng tơi giới thiệu PEWeb, hệ thống bóc tách thơng tin sản phẩm hồn tồn tự động - Chương 4: Chúng tơi trình bày phương pháp để xác định lấy thông tin sản phẩm từ trang web thương mại -8- Tự động trích xuất thông tin sản phẩm Web ứng dụng kỹ thuật Simhash Phạm Nguyễn Tuấn Anh – Cao học CNTT 2009 nItalics Số lượng thẻ nBrs Số lượng thẻ nLists Số lượng thẻ