CHƯƠNG I: KHÁI QUÁT BÀI TOÁN TRÍCH XUẤT THÔNG TIN CHO DỮ LIỆU BÁN CẤU TRÚC Chủ đề chính của khóa luận là áp dụng bài toán trích xuất thông tin cho dữ liệu bán cấu trúc để xây dựng hệ thống tìm kiếm giá cả. Chương này sẽ giới thiệu bài toán trích xuất thông tin nói chung và bài toán trích xuất thông tin cho dữ liệu bán cấu trúc nói riêng, từ đó đưa ra một số ứng dụng của bài toán trích xuất thông tin cho dữ liệu bán cấu trúc, đồng thời cũng giới thiệu về phương pháp đánh giá khả năng trích xuất thông qua độ hồi tưởng (R), độ tin cậy (P). Bài toán trích xuất thông tin 1. Giới thiệu bài toán Trích xuất thông tin bài toán nhận dạng những thành phần thông tin cụ thể của một văn bản, những thành phần này chính là hạt nhân tạo nên nội dung ngữ nghĩa của văn bản đó [17].
Ví dụ: Với một báo cáo thời tiết có thể trích xuất được thông tin về các vùng, thời gian, nhiệt độ cao hay thấp. Với một trang web về kinh doanh sản phẩm trực tuyến có thể trích xuất được thông tin về tên sản phẩm, thuộc tính của sản phẩm và giá của sản phẩm đó. Dữ liệu của bài toán Dữ liệu thông thường được chia thành 3 dạng cơ bản: • Dữ liệu không cấu trúc: Dữ liệu không cấu trúc thường dùng để chỉ dữ liệu ở dạng tự do và không cần có cấu trúc định nghĩa sẵn ví dụ như: ngôn ngữ tự nhiên. -9- Tự động trích xuất thông tin sản phẩm trên Web ứng dụng kỹ thuật Simhash Phạm Nguyễn Tuấn Anh – Cao học CNTT 2009 • Dữ liệu có cấu trúc: Dữ liệu có cấu trúc thường dùng để chỉ dữ liệu lưu trữ trong các hệ quản trị cơ sở dữ liệu quan hệ như MS SQL server hay MySQL, trong đó các thực thể và các thuộc tính được định nghĩa sẵn.
• Dữ liệu bán cấu trúc: Là dữ liệu có cấu trúc nhưng không hoàn toàn tường minh, nó không tuân theo những cấu trúc, cách thức cấu trúc của bảng và các mô hình dữ liệu trong cơ sở dữ liệu nhưng nó chứa những thẻ , những đánh dấu tới những phần tử ngữ nghĩa riêng biệt của các bản ghi và các trường riêng biệt bên trong dữ liệu. Các trang web thông thường là một dạng tiêu biểu của dữ liệu bán cấu trúc, những thành phần có cấu trúc trong trang web đó là dữ liệu được lấy từ tầng cơ sở dữ liệu (có cấu trúc) bên dưới và hiện thị trên web thông qua các thẻ HTML… Hình 1: Ví dụ về tính cấu trúc của trang web bán cấu trúc Hình 1 mô tả dữ liệu bán cấu trúc về trang sản phẩm, dữ liệu này chứa tên các sản phẩm, giá sản phẩm và các thông tin chi tiết về sản phẩm. Các thông tin ứng với - 10 - Tự động trích xuất thông tin sản phẩm trên Web ứng dụng kỹ thuật Simhash Phạm Nguyễn Tuấn Anh – Cao học CNTT 2009 từng sản phẩm được mô tả dưới dạng mã HTML đã định trước. Dữ liệu này được lấy từ tầng cơ sở dữ liệu (có cấu trúc) bên dưới và hiển thị trên trang web thông qua các thẻ HTML.
Đây chính là thành phần có cấu trúc của trang web. Các hướng tiếp cận trong bài toán trích xuất thông tin Các bài toán trích xuất thông tin thông thường được tiếp cận theo dữ liệu mà bài toán đó xử lý. Vì vậy có những dạng bài toán như sau: • Dữ liệu có cấu trúc Đối với dữ liệu có cấu trúc, việc trích xuất thông tin là khá đơn giản. Vì các thông tin đã được biểu diễn theo những định dạng chuẩn của bảng, thực thể.
nên có thể lấy được những thông tin cần thiết một các dễ dàng dựa vào những truy vấn. Ví dụ: dữ liệu có cấu trúc được lưu trữ trong hệ quản trị cơ sở dữ liệu MS SQL, MySQL có thể trích xuất được những thông tin cần thiết dựa vào các lệnh SQL như SELECT, JOIN. • Dữ liệu không cấu trúc Hình 2: Ví dụ về bài toán nhận dạng thực thể Đối với dữ liệu không cấu trúc thì có một số bài toán về trích xuất thông tin - 11 - Tự động trích xuất thông tin sản phẩm trên Web ứng dụng kỹ thuật Simhash Phạm Nguyễn Tuấn Anh – Cao học CNTT 2009 như nhận dạng và trích xuất thực thể: tên người, tên tổ chức… Để giải quyết bài toán trích xuất thực thể thì có nhiều cách tiếp cận như HMM, SVM hay CRF…ngoài ra còn một giải thuật khá nổi tiếng đó là giải thuật DIPRE - Dual Iterative Pattern Relation Expansion của BRin [28] trong việc trích xuất cặp thực thể quan hệ tên sách và tác giả đối với trang amazon. • Dữ liệu bán cấu trúc Web là dữ liệu điển hình trong dữ liệu bán cấu trúc.
Trích xuất thông tin web đó là vấn đề trích xuất các thành phần thông tin mục tiêu từ những trang Web. Một chương trình hay một luật trích xuất thường được gọi là một wrapper. Phương pháp trích xuất này có nhiều hướng tiếp cận như sử dụng cây DOM. Phương pháp này sẽ phân tích mã nguồn HTML dưới dạng một cây các node, mỗi node là một thẻ HTML, quá trình trích xuất thông tin sẽ dựa vào đường đi từ gốc đến node chứa thông tin cần trích xuất.
Bài toán trích xuất thông tin cho dữ liệu bán cấu trúc 3. Vấn đề đặt ra với bài toán Trích xuất thông tin cho dữ liệu bán cấu trúc. Bài toán trích xuất thông tin cho dữ liệu bán cấu trúc là rất hữu dụng bởi vì nó cho phép chúng ta thu được và tích hợp dữ liệu từ nhiều nguồn để cung cấp cho những dịch vụ giá trị gia tăng như : thu được những thông tin Web một cách tùy ý, hệ thống tìm kiếm giá cả, hay meta-search. Ngày càng nhiều các công ty, các tổ chức phổ cập các thông tin ở trên Web, thì khả năng trích xuất dữ liệu từ các trang Web đó ngày càng trở nên quan trọng.
Bài toán này đã được bắt đầu nghiên cứu vào giữa những năm của thập niên 1990 bởi nhiều công ty và các nhà nghiên cứu. - 12 - Tự động trích xuất thông tin sản phẩm trên Web ứng dụng kỹ thuật Simhash Phạm Nguyễn Tuấn Anh – Cao học CNTT 2009 3. Một số phương pháp trích xuất thông tin cho dữ liệu bán cấu trúc Như ta đã nói về một số hướng tiếp cận ở mục 2 đối với dữ liệu bán cấu trúc thì bài toán trích xuất có một số phương pháp điển hình như: • Phương pháp thủ công Quan sát một trang Web và mã nguồn của nó, người lập trình sẽ tìm một vài mẫu và viết chương trình để trích xuất các dữ liệu mục tiêu. Để làm đơn giản hơn cho người lập trình, một vài ngôn ngữ miêu tả mẫu và các giao diện người dùng đã được xây dựng.
Tuy nhiên với phương pháp này thì không thể làm việc với một số lượng lớn các trang[2]. • Wrapper qui nạp Đây là phương pháp bán tự động. Nó được đề xuất vào khoảng năm 1995- 1996. Trong phương pháp này thì một tập hợp các luật trích xuất được học từ một bộ các trang đã được gán nhãn bằng tay.
Sau đó các luật này sẽ được dùng để trích xuất các thành phần dữ liệu từ những trang có định dạng tương tự. Một số giải thuật tiêu biểu như: Stalker[5], WIEN[13] (được sử dụng trong máy tìm kiếm lycos). • Phương pháp tự động Được đề xuất trong năm 1998, phương pháp này tự động tìm các mẫu hoặc các cấu trúc để trích xuất thông tin từ những trang cho trước. Vì phương pháp này không cần đến sự gán nhãn bằng tay nên nó có thể trích xuất được dữ liệu từ một lượng khổng lồ các trang; một số giải thuật tiêu biểu như RoadRunner[10], bootstrapping[2].
Phương pháp đánh giá Để đánh giá chất lượng phương pháp trích xuất thông tin cho dữ liệu bán cấu trúc người ta thường sử dụng một số độ đo như độ hồi tưởng (R), độ tin cậy (P). Giả sử sau khi sử dụng bài toán trích xuất cho một tập dữ liệu gồm n tài liệu. Kết quả trích xuất được là m tài liệu.Kết quả trích xuất đúng là q tài liệu khi đó độ hồi tưởng R và độ chính xác P sẽ được tính theo công thực (1) và (2). - 13 - Tự động trích xuất thông tin sản phẩm trên Web ứng dụng kỹ thuật Simhash Phạm Nguyễn Tuấn Anh – Cao học CNTT 2009 q (1) R= ×100% n q (2) R= × 100% m Ví dụ: Nếu tập dữ liệu cần trích xuất là 100 (tài liệu).
Dữ liệu trích xuất được là: 97 (tài liệu). Dữ liệu trích xuất đúng là: 90 (tài liệu). Ứng dụng của bài toán trích xuất thông tin cho dữ liệu bán cấu trúc • Nhận dạng và trích xuất nội dung chính của trang Web Với một trang web ngoài những thành phần mang thông tin chính thì còn những thành phần ít có ý nghĩa về mặt thông tin như quảng cáo, các menu. Việc nhận dạng và trích xuất nội dung chính của trang web giúp giảm thiểu việc lưu trữ thông tin và tối ưu kết quả trả về trong các máy tìm kiếm vì máy tìm kiếm chỉ phải lưu nội dung chính của trang web và tìm kiếm trong nội dung chính này.
Các giải thuật được đề xuất như ContentExtractor và FeatureExtractor của Debnath[29], [30]. - 14 - Tự động trích xuất thông tin sản phẩm trên Web ứng dụng kỹ thuật Simhash Phạm Nguyễn Tuấn Anh – Cao học CNTT 2009 Hình 3: Ví dụ về trích xuất nội dung chính của trang Web • Hệ thống tìm kiếm giá cả sản phẩm Hệ thống cho phép người sử dụng so sánh được giá cả của sản phẩm mà họ muốn mua. Hệ thống này phải duyệt qua các trang web kinh doanh sản phẩm để trích xuất các thông tin hữu dụng về sản phẩm. - 15 - Tự động trích xuất thông tin sản phẩm trên Web ứng dụng kỹ thuật Simhash Phạm Nguyễn Tuấn Anh – Cao học CNTT 2009 Hình 4: Ví dụ về hệ thống tìm kiếm giá cả - 16 - Tự động trích xuất thông tin sản phẩm trên Web ứng dụng kỹ thuật Simhash Phạm Nguyễn Tuấn Anh – Cao học CNTT 2009 CHƯƠNG II: MỘT SỐ PHƯƠNG PHÁP SỬ DỤNG TRONG BÀI TOÁN TRÍCH XUẤT THÔNG TIN CHO DỮ LIỆU BÁN CẤU TRÚC Có nhiều kỹ thuật cũng như giải thuật được sử dụng để giải quyết bài toán trích xuất thông tin cho dữ liệu bán cấu trúc.
Chương 2 sẽ giới thiệu những kỹ thuật trích xuất sử dụng cây DOM [17] và biểu thức chính qui. Chương này cũng đề cập đến hai giải thuật trong bài toán trích xuất thông tin cho dữ liệu bán cấu trúc và các ưu nhược điểm của giải thuật đó.