1. Trang chủ
  2. » Luận Văn - Báo Cáo

Tự động tríh xuất thông tin sản phẩm trên web ứng dụng kỹ thuật simhash

64 3 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Tự Động Trích Xuất Thông Tin Sản Phẩm Trên Web Ứng Dụng Kỹ Thuật Simhash
Tác giả Phạm Nguyễn Tuấn Anh
Người hướng dẫn TS. Nguyễn Khanh Văn
Trường học Trường Đại Học Bách Khoa Hà Nội
Chuyên ngành Công Nghệ Thông Tin
Thể loại Luận Văn Thạc Sĩ Khoa Học Công Nghệ Thông Tin
Năm xuất bản 2011
Thành phố Hà Nội
Định dạng
Số trang 64
Dung lượng 5,06 MB

Nội dung

Trang 1 PHẠM NGUYỄN TUẤN ANHBỘ GIÁO DỤC VÀ ĐÀO TẠOTRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI--- Phạm Nguyễn Tuấn AnhCƠNG NGHỆ THƠNG TINTỰ ĐỘNG TRÍCH XUẤT THÔNG TIN SẢN PHẨMTRÊN WEB ỨNG DỤNG KỸ THUẬ

Trang 1

Hà Nội – 2011

Trang 2

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

Trang 3

3.4 Ứ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úc26T 14

26T

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ÚC26T 17

26T1 Trích xu t thông tin d ấ ựa vào cây DOM26T 17

2.2 Sử ụ d ng bi u thể ức chính qui để trích xu t thông tinấ 26T 22

3 M ột số ả gi i thuật trích xuấ t thông tin cho d ữ ệ li u bán c u trúc ấ 22

Trang 4

26T 26T

3.1 Hai kiểu biểu diễn của các trang giàu dữ ệ li u 22

26T 26T 3.2 Một số giải thuật điển hình 23

26T CHƯƠNG III: PEWEB – HỆ THỐNG BÓC TÁCH THÔNG TIN SẢN PHẨM DỰA TRÊN TÍNH TOÁN ENTROPY26T 29

26T1 Xây dựng cây HTML 2926T 26T2 Tính toán Entropy26T 30

26T CHƯƠNG IV: TỰ ĐỘ NG TRÍCH XUẤT THÔNG TIN SẢN PHẨM TRÊN WEB ỨNG DỤNG KỸ THU T SIMHASH 26T 39

26T1 Bài toán trích xuất thông tin sản phẩm từ các website thương mại26T 39

26T2 Kỹ thuật xác định vị trí các vùng mô tả sản phẩm sử dụng Simhash26T 41

26T 26T 2.1 Các trang web thương mại và cây DOM 42

26T 2.2 Kỹ thuật Simhash dùng trong phát hiện các văn bản trùng lặp 26T 44

26T 2.3 Sử ụng Simhash để d tìm các cây con tương t ựnhau trong cây DOM26T 44

26T 2.4 Xây d ng cây quyự ế ịt đnh cho quá trình lọc kết quả26T 47

26T3 Cài đặt hệ thống bóc tách thông tin sản phẩm sử dụng Simhash26T 49

26T 3.1 Tìm kiếm các vùng có khả năng ch a thông tin sảứ n ph m ẩ 26T 49

26T 3.2 Loại bỏ nhi uễ 26T 51

26T4 Chương trình bóc tách thông tin sản phẩm26T 52

26T5 Các kết quả thực nghiệm26T 55

26T5 Kết luận và hướng phát triển26T 58

26T TÀI LIỆU THAM KHẢO26T 60

Trang 6

ĐẶT VẤN ĐỀ

Nh ng n m g n ây, cùng v i s ư ă ầ đ ớ ự phát iể tr n m nh m c a h t ng s m ng ạ ẽ ủ ạ ầ cơ ở ạ

cũng nh công ngh u tr Internet ã t thành m t thành ư ệ lư ữ đ rở ộ phần không t thi hể ếutrong đờ sối ng con người Hàng lo c ng d ng d a trên n n t ng c a Internet ã ạt cá ứ ụ ự ề ả ủ đ

ra đời để phục ụv cho nhu cầu, ợl i ích của con người Nổ ậi b t lên trong các ứ ng d nụ g

đó chính là c cá ứng dụng liên quan n đế thương m i ạ điện tử Thương m i i n ra ạ đ ệ tử

đời giúp con người gi m thi u t i a th i gian c g nh chi phí khi tham gia giao ả ể ố đ ờ ũn ư

d h hàng hóa Tuy nhiêịc n cùng v i s phát tri n c a thông tin trên Internet thì ớ ự ể ủ cácthông tin liên quan n tđế hương mại điển t c ng bùng ử ũ nổ không kém, hàng loạt cá c trang web bán hàng tr c tuy n cùng v i nó là hàng tr u s n p m và c thông tiự ế ớ iệ ả hẩ ác n liên quan n s n ph m làm cho con ng i khó kh n trong vi tìm ki mđế ả ẩ ườ ă ệc ế Các câu ỏh i:

Sản p m nào t t ? Giá chẩ ố ả cửa hàng nào t t h n ố ơ ? Tìm kiếm thông tin a s n ph m củ ả ẩ ở đâu ? làm con người khó kh n khi l c n ă ựa họ mộ ảt s n ph m n giao d ch Gi i pháp ẩ cầ ị ảcho v n này ó chính là c n có ấ đề đ ầ một h tệ hống tìm k m iế phục v cho nhụ u u tìm cầ

k m này c a con ng i iế ủ ườ các ệ hốn h t g này th ng ườ được iết đế b n v i tên i ớ gọ hệ thống tìm kiếm giá cả ảs n ph m

Chính từ nhu cầu thực tế đấy, hệ thống tìm kiếm giá cả đã được rất nhiều sự quan tâm của các bộ máy tìm kiếm (Search Engine) lớn trên thế giới như Google, Yahoo, Bing… Ngoài các dịch vụ tìm kiếm thông thường khác, các Search Engine này đều có các dịch vụ tìm kiếm riêng cho các sản phẩm, hàng hoá được rao bán trực tuyến trên các website thương mại Cách thức hoạt động chung của các dịch vụ tìm kiếm sản phẩm trực tuyến là: sau khi thu thập các trang web của các website thương mại lưu vào trong kho dữ liệu của mình, các Search Engine tiến hành bóc tách thông tin liên qua đến các mặt hàng sản phẩm có trong các trang web đó, và tổ chức lưu trữ dữ liệu đã được bóc tách một các hợp lý để có thể nhanh chóng đáp ứng các truy vấn từ người dùng Những thông tin mà người dùng quan tâm đến một sản phẩm thường là tên sản

Trang 7

phẩm, giá cả, các mô tả chi tiết của sản phẩm, hay địa chỉ rao bán… Nếu như việc thu thập và tổ chức lưu trữ dữ liệu không phải là vấn đề quá khó khăn đối với các Search Engine, vì dữ liệu về các sản phẩm trực tuyến chỉ là một phần rất nhỏ so với dữ liệu toàn bộ dữ liệu Web, thì vấn đề bóc tách thông tin sản phẩm thực sự đặt ra nhiều thách thức cho các Search Engine Có thể nói, chất lượng của các dịch vụ tìm kiếm phụ thuộc rất nhiều vào chất lượng của quá trình bóc tách thông tin sản phẩm Chỉ khi có một phương pháp bóc tách thông tin sản phẩm thật đầy đủ và chi tiết, thì các Search Engine mới có thể đem lại kết quả tìm kiếm tốt nhất cho người dùng

Vấn đề đầu tiên khi tiến hành bóc tách thông tin sản phẩm từ các trang web bán hàng trực tuyến là xác định vị trí của các phần chứa thông tin sản phẩm có trên trang web Tuy nhiên, đây không phải là vấn đề có thể giải quyết một cách dễ dàng Trên một trang web bán hàng, ngoài các khu vực chứa thông tin sản phẩm, còn có các vùng thông tin khác như 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 được các vùng chứa và không chứa thông tin sản phẩm, để có thể không phát hiện thiếu hay nhầm lẫn, làm ảnh hưởng tới quá trình bóc tách sau này Khó khăn mà các Search Engine gặp phải là mỗi website có một cách trình bày hay bố trí sản phẩm trên trang web riêng, và cách trình bày có thể được thay đổi một cách thường xuyên Cộng với việc số lượng các website bán hàng, dẫn đến số lượng các trang web chứa thông tin sản phẩm, rất lớn thì các Search Engine thực sự cần một phương pháp không những nhanh mà còn phải hoàn toàn tự động để xác định vị trí các vùng sản phẩm trên các trang web Do đó, vấn đề này đã được đặt ra nghiên cứu từ nhiều năm nay

Bóc tách thông tin sản phẩm là vấn đề con nằm trong bài toán bóc tách thông tin trên Web nói chung Từ lâu, bài toán bóc tách dữ liệu từ Web đã được đặt ra nghiên cứu để phục vụ cho nhiều mục đích, như để thu thập các bài viết từ các trang báo điện

tử, các thông tin tài chính… Các phương pháp trích xuất thông tin Web ít nhiều đều có thể áp dụng cho bài toán bóc tách thông tin sản phẩm Từ trước tới nay, bóc tách dữ

Trang 8

liệu Web thường là xây dựng các chương trình đặc biệt, gọi là các wrapper, để tìm các

dữ liệu cần và xây dựng một bộ khung để khi áp dụng vào các trang web, ta có thể có ngay các dữ liệu mong muốn Việc xây dựng và duy trì wrapper có thể sẽ rất khó khăn,

do đó đã có rất nhiều cải tiến cho việc này Sau đây là một vài phương pháp và công cụ tương ứng xây dựng các wrapper, cũng như tính hiệu quả của chúng dựa trên khả năng

tự động của chúng

- Ngôn ngữ xây dựng wrapper: hướng tiếp cận này sẽ thiết kế các ngôn ngữ đặc biệt nhằm hỗ trợ người xây dựng wrapper dễ dàng hơn Một vài công cụ nổi bật là Minera[11] TSIMMIS[15], Web-OQL[3] Các ngôn ngữ này có thể được sử dụng

để thay thế các ngôn ngữ lập trình

- Các công cụ dựa HTML Hướng tiếp cận này nhằm xây dựng các công cụ dựa vào : các đặc tính về cấu trúc vốn có của các văn bản HTML để trích xuất dữ liệu Trong quá trình tiền xử lý, các công cụ sử dụng hướng tiếp cận này, như W4F[27], XWRAP[21], hoặc RoandRunner[10] sẽ biến đổi các văn bản thành các cây mà phản ánh được tính phân cấp của văn bản HTML

- Các công cụ sử dụng các kỹ thuật xử lý ngôn ngữ tự nhiên: Trong hướng tiếp cận này, các công cụ RAPIER[6], SRV[ ], WHISK[14 31],… xây dựng các luật bóc tách thông tin trong các văn bản ngôn ngữ tự nhiên bằng các sử dụng các kỹ thuật NLP, chẳng hạn như lọc, gán nhãn, và đánh thẻ từ vựng ngữ nghĩa Hướng tiếp cận này thường thích hợp để xử lý các văn bản có cú pháp chuẩn

- Các công cụ wrapper qui nạp: trong hướng tiếp cận này, các luật bóc tách dựa vào các dấu hiện phân cách được xây dựng từ một tập học mẫu Các công cụ wrapper qui nạp, như WIEN[18], SoftMealy[ ], và STALKER[16 23], sẽ thích hợp với văn bản HTML hơn là các công cụ sử dung kỹ thuật NLP, bởi vì chúng phụ thuộc vào các đặc tính định dạng tạo nên cấu trúc của dữ liệu cần tìm, hơn là các rằng buộc về ngôn ngữ

Trang 9

- Các công cụ sử dụng mẫu: Ý tưởng của hướng tiếp cận này là tìm trong trang web các mẩu dữ liệu mà khớp với cấu trúc của các đối tượng cần quan tâm Sau đó, bằng cách sử dụng các thuật toán như của các công cụ wrapper qui nạp, các công cụ

sử dụng mẫu, như NoDoSe[1], và DeByE[19] sẽ xác định các đối tượng có cấu trúc giống với cấu trúc cho trước trên các trang web

Một tiêu chí quan trọng khi so sánh các phương pháp bóc tách thông tin là mức

độ tự động của các 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 một lượng lớn code, để xây dựng chương trình bóc tách các đối tượng cần quan tâm Do đó, người phát triển phải kiểm tra các văn bản và tìm các thẻ HTML cần cho quá trình xác định biên của các đối tượng một cách thủ công Trong khí đó, mặc dù có mức độ tự động hoá cao hơn, các công cụ dựa HTML chỉ thực

sự hiệu quả khi có sự nhất quả của các thẻ HTML trong các trang web Điều này khó

có thể xảy ra với số lượng trang web lớn Trong các hướng tiếp cận NLP, wrapper qui nạp, và sử dụng mẫu, người phát triển chỉ phải cung cấp các mẫu thử cho quá trình xây dựng wrapper Do đó, các công cụ này được coi là bán tự động

Có thể thấy rằng, các phương pháp bóc tách dữ liệu ở trên không hoàn toàn tự động: chúng đều cần ít nhất một giai đoạn cần sự can thiệp của người phát triển Điều này sẽ là không khả thi khi áp dụng để xử lý một tập dữ liệu lớn như các trang web Vấn đề cần đặt ra là phải tìm một hướng tiếp cận khác mà quá trình bóc tách dữ liệu của nó không cần đến bất cứ tác động từ người phát triển

Trong luận văn này, tác giả sẽ đề xuất một phương pháp hoàn toàn tự động để xác định các vùng chứa mô tả sản phẩm có trên một trang web bán hàng Phương pháp này dựa vào hướng tiếp cận đã có của tác giả Phan Xuân Hiếu và các tác giả khác[32], trong quá trình xây dựng một hệ thống lấy thông tin sản phẩm, có tên là PEWeb Hướng tiếp cận này tận dụng tính chất rất thường gặp của các trang web bán hàng, đó

là các vùng chứa sản phẩm trong trang web thường có cách trình bày giống hoặc gần giống nhau Đây là đặc tính quan trọng, giúp ta có thể dễ dàng xác định các vùng sản

Trang 10

phẩm trên trang web Tuy có cùng hướng tiếp cận, nhưng phương pháp của chúng tôi khác với phương pháp của PEWeb Chúng tôi đề xuất sử dụng một hàm băm đặc biệt, được gọi là Simhash, để tìm các vùng chứa mô tả sản phẩm Simhash đã từng được sử dụng để tìm các đối tượng có các thuộc tính tương tự nhau, chẳng hạn như các văn bản trùng lặp Chúng tôi đã biến đổi hàm Simhash để áp dụng cho bài toán xác định các vùng chứa sản phẩm trên trang web Chúng tôi chọn Simhash vì sử dụng kỹ thuật này không những đem lại kết quả cao và tốc độ xử lý nhanh mà còn không phụ thuộc vào một cấu trúc văn bản HTML cụ thể nà nên không cần có xử lý nào từ phía người phát o triển, hay nói cách khác, nó hoàn toàn tự động o đó giải pháp D , này đã giải quyết được các khó khăn mà các Search Engine gặp phải mà đã nêu ở trên Chi tiết của phương pháp do chúng tôi đề xuất sẽ được trình bày kỹ hơn trong luận văn này.

Luận văn gồm 4 chương nội dung được mô tả sơ bộ dưới đây:

- Chương 1: Trong chương này, chúng tô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ương 2: Chúng tôi trình bày 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

- Chương 3: Chúng tôi giới thiệu PEWeb, một hệ thống bóc tách thông tin sản

phẩm hoàn toàn tự động

- Chương 4: Chúng tôi trình bày phương pháp của chúng tôi để xác định và

lấy thông tin sản phẩm từ các trang web thương mại

Trang 11

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 ng bài toán trích xu t thông tin cho d li u ủ đề ủ ậ dụ ấ ữ ệ

bán cấu trúc để xây d ng h tự ệ hống tìm k m giá Ch ng này siế cả ươ ẽ g i thi u bài 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 tủ ấ hông tin cho

d ữ liệu bán cấu trúc, đồng th i c g g i thờ ũn iớ iệu v ph ng pháp ánh giá kh n ng ề ươ đ ả ătrích xu thông qua i tất độ hồ ưởng (R), độ tin c y (P) ậ

1 Bài toán trích xuất thông tin

1.1 Giới thiệu bài toán

Trích xuất thông tin bài toán nh d ng nhận ạ ữ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 ính là h t nhân t o nên i ủ ộ ă ả ữ ầ ch ạ ạ nộ dung ng h a ữ ng ĩ

c a v n bủ ă ản đó [17]

Ví : V i m t báo o t i dụ ớ ộ cá hờ tiết có thể trích xu t ấ được thông tin v các vùng, ề

th i gian, ờ nhiệt độ ca o hay th p ấ Vớ mội t trang web v kinh doanh s n ph m tề ả ẩ rựctuy n có th trích xu ế ể ất được thông tin v tên ề sản ph m, tẩ huộc tính c a s n ph m và ủ ả ẩgiá c a s n ph m ó ủ ả ẩ đ

1.2 Dữ liệu của bài toán

Dữ liệu thông th ng ườ được chi thành 3 d ng c b n: a ạ ơ ả

• D li u không c u trúc: D li u không c u trúc tữ ệ ấ ữ ệ ấ hườ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 ữ ự

Trang 12

• D li u có c u trúc: D li u có c u trúc th ng dùng ch d li u u tr ữ ệ ấ ữ ệ ấ ườ để ỉ ữ ệ lư ữ

trong các ệ h qu n tr c s d li u quan h nh MS ả ị ơ ở ữ ệ ệ ư SQL server hay MySQL, trong đó các t ực ể à c h th v 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 h th c c u trúc c a b ng và ữ ấ ác ứ ấ ủ ả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 tr ng riêng cá ườ

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 tr g web ó là d li u ữ ầ ấ an đ ữ ệ đượ ấc l y t t ng s ừ ầ cơ ở

d li u (cữ ệ ó cấu trúc) bên dưới và hi n th trên web thông qua c th HTML… ệ ị cá ẻ

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 tả ẩ ả ẩ hông tin chi ti t v s n ph m Các thông tin ng v i ế ề ả ẩ ứ ớ

Trang 13

t ng s n ph m ừ ả ẩ được mô t d i d ng mã HTML ã nh tả ướ ạ đ đị rước ữ ệ D li u này đượ ấc l y

t t ng 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ác

th HTML ẻ Đây chính l thành ph n cà ầ ó cấu trú c a trang web.c ủ

2 Các hướng tiếp cận trong bài toán trích xuất thông tin

Các bà oi t á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 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ì mớ ữ ệ ấ có ộ ốt s bài toán v trích xu t thông tin ề ấ

Trang 14

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 trích xu t th c thả ế án ấ ự ể 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 Iter ive at 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 am on m az co

• D liữ ệu bán ấu trúc 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 w ữ ệ đ ể ữ ệ ấ ấ eb

đó là v n trích xu t c thành phấ đề ấ cá ầ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 h xuíc ất này có nhi u h ng ti p c n nh s d ng y DOM ề ướ ế ậ ư ử ụ câPhương pháp này s phân tích mã ngu n HTML ẽ ồ dưới d ng m t c c ạ ộ ây ác node, mỗi node l m t th HTML, quá trình trích xu t tà ộ ẻ ấ hô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 ầ ấ

3 Bài toán trích xuất thông tin cho dữ liệu bán cấu trúc

3 V 1 ấ 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 ợ ữ ệ ừ nh ề nguồ đểi u n cung c p cho ấ

nh ng dữ ịch ụ giá tr gia ng nh v ị tă ư : 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 thông tin trên Web, thì kh n ng trích xu t d li u t các trang Web ó ậ cá ở ả ă ấ ữ ệ ừ đ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 nhà ác nghiên c u ứ

Trang 15

3.2 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 n : đ ể hư

• Phương pháp ủ công th

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 cẫ ế hươ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 giao di n ng i dùng ã ộ ữ ả ẫ ác ệ ườ đđược x dây ự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 ã đ đượ gán nhãn b ng tay Sau ó cc ằ đ á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 ự động t

Đượ đềc xu t trong m 1998, ph ng pháp này t ng tìm c mấ nă ươ ự độ cá ẫu ho c ặ các

cấu trúc trích xu t thông tin t nh ng trang o tđể ấ ừ ữ ch rướ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] ộ ố ả ậ ể ư

3.3 Phương pháp đánh giá

Để đ ánh á ch t gi ấ 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 t th ng s d ng m t s ấ ườ a ườ ử ụ ộ ố độ đ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ấ đúnt g là tài li u khi ó q ệ đ

độ ồ tưở h i ng R và chính xáđộ c P sẽ được tính theo công th c (1) và (2) ự

Trang 16

Nếu tập d liữ ệu cần trích x ất là 100 (tài liệu) u

D liữ ệu trích x ất được là: 97 tài liệ u ( u)

D liữ ệu trích x ấ đúng là: 90 tài liệu) u t (

90 100% 90%

100

90 100% 92, 78%

97

3.4 Ứ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ấ ội dung chính ct n ủa tra g Web n

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 cậ ạ ấ ộ hí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 máy tìm ki m vì máy tìm ki m ch ph i ố ư ế ả ả ề ác ế ế ỉ ả

l n i dung chính cưu ộ ủ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à Fe ur xtractor củ Debnath[29], [3 at eE a 0]

Trang 17

Hình 3: Ví dụ về trích xuất nội dung chính của trang Web

• H thệ ống ìm kiếm giá c st ả ả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 trang web kinh doanh s n ph m ố ệ ố ả ệ cá ả ẩ đểtrích xu t ấ các thông tin h u dữ ụng v s n ph m ề ả ẩ

Trang 18

Hình 4: Ví dụ về hệ thống tìm kiếm giá cả

Trang 19

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 o d li u bán c u trúc Ch ng 2 s gi i thi u nh ng k thu t trích ấ ch ữ ệ ấ ươ ẽ ớ ệ ữ ỹ ậ

xu t s d ng y DOM [17] và bi u th c chính qui Ch ng này c ng c p n hai ấ ử ụ câ ể ứ ươ ũ đề ậ đế

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 ượ đ ể ủ ả ậ đó

1 Trích xuất thông tin dựa vào cây DOM

1.1 Khái nhi m cây DOM

Theo W3C thì DOM (Do ment Object Mod ) là m t giao di n l p trình ng cu el ộ ệ ậ ứ

<TD>Over the River,

D ng bi u di n y DOM cạ ể ễ câ ủa mã HTML

Trang 20

1.2 Xây dựng cây DOM

Xây d ng cây DOM t nh ng tr g Web u vào là m t b c c n thi t trang ự ừ ữ an đầ ộ ướ ầ ếnhi u gi i thu t trích xu t dề ả ậ ấ ữ li u Có hai ph ng pháp c b n xây d ng cệ ươ ơ ả để ự ác cây DOM

c ng c n thi t ũ ầ ế được s a chử ữa M t th sai tộ ẻ hường là m t th ộ ẻ đóng đ, ó là th ẻ

c t ngang c kh i n bên trong Ví d : ắ cá ố ẩ ụ <tr> … <td> … </tr> … </td>,

s r t khó s a l i tr ng h p này n u t n t i s ch ng chéo a c p Có ẽ ấ để ử ỗ ườ ợ ế ồ ạ ự ồ đ ấ

m t v ph n m m mã ngu n m làm sộ ài ầ ề ồ ở để ạch ã m HTML m s nh n, ột ố ữ g

Trang 21

ph n mầ ềm thông d ng nh : JTidy, Neụ ư koHTML, HTMLCleaner.

 Xây d ng cây: Chúng ta có thự ể i theo c kh i con c a c th HTML đ cá ố ủ cá ẻ

để xây d ng ự được cây DOM

• S dử ụng các t ẻ và các hộ ảo (visual cue) h p

Thay vì phân tích mã HTML s a l i, có th s d ng s bi u di n để ử ỗ ể ử ụ ự ể ễ hoặ cácc thông tin o í d nh : a chả (v ụ ư đị ỉ trên màn hình mà c th cá ẻ được bi u di n) ể ễ để suy lu n ậ

m i quan h có c u trúc c a ố ệ ấ ủ các thẻ và có th xây d ng ể ự được cây DOM Phương

th c xây d ng có th phân tích mã HTML thành cây DOM, mi n là trình duy t ứ ự ể ễ ệ có

 Tìm 4 đường biên c a hình ch nh t ng v i m i ph n t HTML thông ủ ữ ậ ứ ớ ỗ ầ ửqua việc công c trình di n c a trình duyụ ễ ủ ệt, ví dụ Internet Explorer.:

 Theo sự tu n t c a ầ ự ủ các thẻ mở và s ki m tra xem m t hình chự ể ộ ữ

nh t có nậ ằm trong m t hình ch nh t kh không, ộ ữ ậ ác để xây d ng y ự câDOM

Ví d minh hụ ọa v s d ng visual cề ử ụ ue:

M t ộ đoạn mã HTML có 3 ỗi sử ụl d ng thông tin o có th d dàng xây d ng ả ể ễ ựđược cây DOM

Trang 22

Hình 5: Ví dụ xây dựng cây DOM sử dụng hộp ảo

1.3 S dử ụ ng cây DOM đ ể trích xuất thông tin

Để trích xu t ấ được thông tin c n i t m t ầ th ế ở ộ node c a cây DOM, chúng ta c n ủ ầ

ch ỉ rõ đường i t g c cđ ừ ố ủa cây đến node c n trí xuầ ch ất thông tin Đường i này g i đ ọ

Đây là cây DOM c a m t ủ ộ đoạn mã HTML ch a thông tin v cu n s h, ứ ề ố ác

g m tên cu n ồ ố sách (title) và tên tác gi (author) Bài toả án đặt ra là sử d ng cây ụDOM này trích xu t cấ ác thông tin v tên sách và tác gi vi t s h M u trích xu t ề ả ế ác ẫ ấđược xây d ng sau: ự

Trang 23

Mẫu trích xuất tên sách: HTML → BODY → B → CharacterData

Mẫu trích xuất tên tác giả: HTML → BODY → FONT → → A CharacterData

2.1 Khái niệm biểu thức chính qui

Cho Một biểu thức chính qui có thể được sử dụng để mô hình mã hoá HTML một tập ký tự alphabe Σ và một token "#text" không thuộc Σ, một biểu thức chính qui trên Σlà một chuỗi trên Σ∪{#text,*,?,|,(,)}được định nghĩa như sau:

Một chuỗi rỗng ε và tất cả các phần tử trong Σ∪{#text} đều là một biểu thức chính qui

Nếu A và B là một biểu thức chính qui, thì AB, (A|B), (A)P

?

P

cũng là một biểu thức chính qui, trong đó (A|B) tức là A hoặc B và (A)P

Trang 24

chứa (A|B) thì nó g i là bi u th c chính qui k t h p t do M t bi u th c chính ọ ể ứ ế ợ ự ộ ể ứqui thường dùng th hi n m t m u trích xu t để ể ệ ộ ẫ ấ

2.2 Sử ụ d ng biểu thứ c chính qui đ ể trích xu t thông tin

V i m t bi u th c chính qui, m t otomat h u h n tr ng thái có th ớ ộ ể ứ ộ ữ ạ ạ ể được xây

d ng và ự được s d ng so kh p s xu t hi n c a nó trong chu i tu n tử ụ để ớ ự ấ ệ ủ ỗ ầ ự các trang web Trong quá trình này, d li u có th ữ ệ ể được trích xu t ấ

Ví d : V m HTML nụ ới ã hư u:sa

<head>

<meta http-equiv="Content-Language" content="en-us ">

<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">

<title>Tinh tong cua cac so tu 1 den n</title>

</head>

Để ấ đượ l y c ph n tiêu c a ầ đề ủ đoạn mã này thì có thta ể xây d ng bi u th c ự ể ứchính qui như sau: <head>.*?<title>(#text)</title>

3 M ột số giả i thu t trích xuấ ậ t thông tin cho d liệ ữ u bán c u trúc

3.1 Hai ki ểu biểu diễn củ a các trang giàu d ữ ệ li u

Các trang giàu d li u ữ ệ được chi thành hai lo i ta ạ hông qua ự ể s bi u di n c a chúng ễ ủ

- List Page: là trang ch a ứ đựng m t vài danh s h c a ộ ác ủ các đố ượi t ng Hình 6

gi i thi u m t list page Có hai d ng trang list, ó là trang list b trí th ớ ệ ộ ạ đ ố eochi u ngang ho c chi u d c Bên trong m i vùng, b n ghi d li u ề ặ ề ọ ỗ ả ữ ệ đượ địc nh

d ng s d ng cùng m t mạ ử ụ ộ ẫu và m u sẫ ử d ng trong hai ụ vùng khác nha là khác u nhau

- Detail Page: là trang ch gi i thi u m t ỉ ớ ệ ộ đố ượi t ng đơn Ví d hình 7 là m t ụ ộtrang detail pag gi i thi u v s n phe ớ ệ ề ả ẩm Nó c ứa đựh ng t t c ấ ả các thuộc tính

Trang 25

c a s n ph m nh : tên, nh, giá tủ ả ẩ ư ả , hông s k ố ỹ thuật, th i gian b o hành ờ ả

Hình 6: Dạng biểu diễn của trang list page

Hình 7: Dạng biểu diễn của trang detail page

3.2 Một số gi ải thuậ t đi n hình ể

Hi n nay ệ tư tưởng c a ph ng pháp trích ủ ươ xuất th công không còn ủ được s ử

d ng Vì v y khóa lu n ch gi i thi u ph ng pháp trích xu t thông tin t ng và ụ ậ ậ ỉ ớ ệ ươ ấ ự độ

Trang 26

bán t ng cho ài toán trích xu t thông tin cho d li u bán c u trúc” ự độ “b ấ ữ ệ ấ

• Phương pháp Wrapper qui ạp: đây n là phương pháp trích ất bán tự động xu

Gi i thu t ả ậ được nêu ra dướ đâyi là gi i thu t dả ậ ựa trên h th ng Stalker ệ ố

- M t ví d v ộ ụ ề trích x ấ theo ả huậ ự trên ệ ốngu t gi i t t d a h th Stalker

M t trang Web có th ộ ể được nhìn d i d ng có th t c a token S (ví d nh : ướ ạ ứ ự ủ ụ ưcác từ, các s và ố các th HTML) Viẻ ệ trích xu t s d ng m t c u trúc ấ ử ụ ộ ấ c cây

g i là ọ cây EC (emb ded ed catalog tr ), ây là công c mô hình d li u nhúng ee đ ụ để ữ ệtrong m t trang HTML G c c a ộ ố ủ cây là v n b n ch a t t c c token tu n t S c a ă ả ứ ấ ả cá ầ ự ủtrang, n i dung cộ ủa ỗm i node n là m t chuco ộ ỗi con c a node cha ủ Để trích xu t m t ấ ộnode, Wrapper s d ng miêu t ử ụ ả cây EC của an đó và ậtr g t p h p ợ các l ật u trích xu t.ấ

Ví d bên d i là s chuy n ụ ướ ự ể đổi m t ộ đoạn mã HTML sang y EC Chú ý câ

r ng chúng ta sằ ử dụng LIST ở đ ây b i vì t p h p ở ậ ợ các a ch luôn luôn có th t đị ỉ ứ ự

Hình 8: Chuyển đổi từ mã HTML sang cây EC

V i m i ớ ỗ node trong cây, Wrapper nh n d ng ho c tr h xu t n i ậ ạ ặ íc ấ ộ dung c a ủnode t cha c a ừ ủ nó, node cha là node ch a ứ đựng chu i token c a t t c ỗ ủ ấ ả các node con M i trích xu t ỗ ấ được th c hi n b i 2 lu t, Start Rule và End Rule Start Rule ự ệ ở ậ

Trang 27

ch ra s b t u cỉ ự ắ đầ ủa node và End Rule ch ra s k t thúc c a node ỉ ự ế ủ Phương th c ứnày th áp d ng cho c nod l vcó ể ụ ả e á à các node danh s h (list ác node)

Các lu t trích xu t d a trên ý t ng c a m neo (landmark) M i m neo là ậ ấ ự ưở ủ ỏ ỗ ỏ

m t chu i ộ ỗ các token liên ti p và nó ế dùn để đánh d u s b t u hay k t thúc c a m t g ấ ự ắ đầ ế ủ ộ

ph n t mầ ử ục tiêu Hình d i ướ đây là trình di n mã HTML cễ ủa trang web trong hình 10

<p> Restaurant Name: <b>Good Noodles</b><br><br>

<li> 205 Wi w, < >Gl n</ >, Phonello i e i 1-<i>773</i>-366-1987</li>

<li> 25 Oak, < >Fori est i</ >, Phone (800) 234 7903 <- /li>

<li> 324 Halsted S , <t i>Chicago</i>, Phone 1-<i>800</i>-996-5023 </li>

<li> 700 Lake St., < >Oi ak Park</i>, Phon (708) 798e: -0008 </li> < p> /

Để trích xu t ấ được tên c a quán ăn “Good Noodủ les thì lu” ật trích xu t s là: ấ ẽStart Rule: R1: SkipTo(<b t c là h th ng nên xu t phát i m b t u c a >) ứ ệ ố ấ ở đ ể ắ đầ ủtrang và b qua t t c cá token cho ỏ ấ ả c đế khn i chúng th y ấ được th ẻ <b> đầu tiên Các luật SkipTo(:) ho c ặ SkipTo(i) đề không úng Vì theo y EC trong đ câ Uhình 10U

R1 là cha của node name, nh v y nó s là node gư ậ ẽ ốc Node g c thì ch a chu i ố ứ ỗtoken tu n t c a c trang Web ầ ự ủ ả

T ng t End Rule : R2: ươ ự SkipTo (</ >) ẽb s xác nh đị đượ đ ểc i m k t thúc tên ế

của quán n ă

- Quá trình học l ậu t

Trong h thệ ống Wrapper qui ạ n p qu trình há ọc là ộm t qu trình ch á ủ đạo

Khóa lu n này s trình bày gi i thu t h c c a wrapper ậ ẽ ả ậ ọ ủ để sinh ra các lu t ậtrích xu t Ý t ng c b n c a gi i thu t h c lu t nhấ ưở ơ ả ủ ả ậ ọ ậ ư sau:

Để sinh ra Start Rule cho một node c a ủ cây EC, m t vài token ti n t hay ộ ề ố

c i di n c a node ác đạ ệ ủ được nh n d ng nh c m neo, chúng th ậ ạ ư cá ỏ có ể nhận d ng ạ đơn

nh t s b t ấ ự ắ đầu c a m t node ủ ộ Để sinh ra End Rule cho m t node, m t vài token ộ ộ

Trang 28

h u t hay c i ậ ố ác đạ di n c a node ệ ủ được nh n d ng nh m t m neo Ti n trình sinh ậ ạ ư ộ ỏ ếStart Rule và End Rule gi ng nha là ố u.

Cho tr c m t t p ướ ộ ậ các m u hu n luy n ã ẫ ấ ệ đ được gán nhãn, giải thu t h c sậ ọ ẽ sinh ra các lu t trích xu t t ng quan ậ ấ ổ để trích xu t t t cấ ấ ả các ph n t m c tiêu ầ ử ụ(positive items) m không trích xuà ất các ầ ửph n t khác (nagertive items)

Sau quá trình này thì m t wrapper ã ộ đ được sinh ra , nó s ẽ được áp d ng ụcho các trang web khác ch a ng c d li u t ng t và ứ đự cá ữ ệ ươ ự đượ địc nh d ng cùng m t ạ ộcách v i t p m u hu n luyớ ậ ẫ ấ ện

- Ư u đi m và nh ể ượ c đi m ể

o Ưu điểm

Ng i s d ng ch ph i gán nhãn m t l ng nh c d li u m u.Quá trình ườ ử ụ ỉ ả ộ ượ ỏ cá ữ ệ ẫ

h c là quá trình t ọ ự động để sinh ra luật trích xu t ấ

o Nhược điểm

N u m t sit thay ế ộ e đổi, làm o để sa wrapper bi t ế đượ ực s thay i ó? đổ đ

N u phát hi n chính xá có s thế ệ c ự ay đổi, làm sao t ng s wrapper? để ự độ ử

Vì ph ng pháp này ph thu c vào vi c gán nhãn b ng tay nên nó không ươ ụ ộ ệ ằphù h p cho trích ợ xuất m t l ng l n ộ ượ ớ các tra Ví d , n u m t trang kinh anh s n ng ụ ế ộ do ả

ph m mu n trích xu t t t c ẩ ố ấ ấ ả các các ả s n ph m ẩ được bán trên We vi c gán nhãn b, ệ

b ng tay h u nh là nhi m v không th Viằ ầ ư ệ ụ ể ệc duy trì wrapper là vi c làm r t t n ệ ấ ốkém, vì web là m t mô tr ng ng ộ i ườ độ Các si e thì t luôn luôn thay đổi

• Phương pháp trích xuất tự động

Để ạ h n ch nh c i m c a Wrapper qui n p, ph ng pháp trích xu t t ế ượ đ ể ủ ạ ươ ấ ự

động đã được nghiên c u r t nhi u Vi c trích xu t t ng là hoàn toàn có th b i vì ứ ấ ề ệ ấ ự độ ể ở

d li u trên m t website th ng ữ ệ ộ ườ được mã hóa v i m t s l ng m u c nh Có th ớ ộ ố ượ ẫ ố đị ểtìm nh ng khuôn m u ó bữ ẫ đ ằng v ệc i khai ph nh ng m u l p l i trong nhi u trang cá ữ ẫ ặ ạ ề ủa

m t website ộ

Trong m t vài ng d ng, cộ ứ ụ húng ta c n trích xu t d li u t ầ ấ ữ ệ ừ các trang

Trang 29

detail-pag v nh ng trang này ch a nhi u thông tin h n Ví d : trong m t trang list-detail-page, e, ì ữ ứ ề ơ ụ ộthông tin của ỗ ảm i s n ph m thông tẩ hường ch là ỉ tên, ả nh và giá Tuy nhiên n u ế

ứng d ng c n nh ng thông tin miêu t s n ph m thì chúng ta c n trích xu t t nh ng ụ ầ ữ ả ả ẩ ầ ấ ừ ữtrang detail M t thu t to trích xu t t ng khá tiêu bi u mà có th trích xu t c ộ ậ án ấ ự độ ể ể ấ ở ảtrang detail và trang list ó là RoadRunner đ

- Mô t giả ải th ậu t

Đầu vào: M t t p h p c trang m u, m i trang ch a ộ ậ ợ cá ẫ ỗ ứ đựng m t hay nhi u ộ ề

b n ghi (m t trang có th ả ộ ể là list pa e h ặc dg o etail page)

Đầu ra: M t m u trí xu t th trích xu t ộ ẫ ch ấ có ể ấ đượ ấ các cácc t t trang trong t p ậ

m u, trong giẫ ải t ậhu t này m u trích xu t ó là bi u thẫ ấ đ ể ức chính qu k t h p t do i ế ợ ự

- Phương ức tiếp cậth n

Ban đầu, gi i thu t s l y m t s l ng ng u iên ả ậ ẽ ấ ộ ố ượ ẫ nh các trang với m u trích xu t ẫ ấ

W M u trích xu t W sau ẫ ấ đó được nh nghđị ĩa l i b i vi c k t h p có th t v i mã ạ ở ệ ế ợ ứ ự ớHTML c a m i trang pủ ỗ i khác trong t p m u, gi i quy t v n sai khác gi a ậ ẫ để ả ế ấ đề ữ các

m u trích xu t c a c trang trong t p m u Cu i sung gi i thu t sinh ra m t wrapper ẫ ấ ủ cá ậ ẫ ố ả ậ ộchung có th trích xu t ể ấ đượ ấ ả các t t c c trang trong t p m u Wr per này s ậ ẫ ap ẽ được áp

d ng trích xu t cho nh ng trang ụ ấ ữ khác có cấu trú t ng t v i nh ng tr g tronc ươ ự ớ ữ an g mẫu

S sai ự khác x ấu t hi n khi m t vài token c a trang pệ ộ ủ i xu t hi n sai khác so ấ ệ

v i Wớ Có hai ki u sai khá trong viể c ệc so kh p ó là: ớ đ

 S sai l ch xâu v n b n (string mismatch) : Chúng bi u th thông qua c ự ệ ă ả ể ị cá

trường d li u hay các mữ ệ ục

 S sai ự khác g ữa các thẻi (tag mismatch)

Gi i thu t này ả ậ đượ làm rõ rong h nh dướ đc t ì i ây:

Trang 30

Hình 9: Ví dụ giải thuật RoadRunner

- Ư u, như c đi m c a gi i thu t ợ ể ủ ả ậ

o Ưu điểm: Không c n s gán nhãn c a ng i dùng v i t p m u hu n luy n, cầ ự ủ ườ ớ ậ ẫ ấ ệ ó

th t ng xây d ng ể ự độ ự được m u trích xu t.ẫ ấ

o Nhượ đ ểc i m: Nó không th t ể ự động nh n d ng ậ ạ đượ đc âu là th c th thông ự ểtin mong mu n cố ủa người dùng Vì v y ng i s d ng s v n ph i t gán ậ ườ ử ụ ẽ ẫ ả ựnhãn nh ng k t qu u ra Ví d : hình trên i nó xác nh ữ ế ả đầ ụ kh đị được th ẻ <B> có

d li u t ng ữ ệ ươ đương c a 2 tr g nh ng nó không th x nh y là tên c a ủ an ư ể ác đị đấ ủquy n sách mà ch th ể , ỉ có ể xác định nó là m t xâu ký t ộ ự

Trang 31

CHƯƠNG III: PEWEB – HỆ THỐNG BÓC TÁCH THÔNG TIN

SẢN PHẨM DỰA TRÊN TÍNH TOÁN ENTROPY

Trong chương 2, tác giả đã giới thiệu một vài kỹ thuật dùng để bóc tách thông tin Một điểm chung của các kỹ thuật trên là chúng không hoàn toàn tự động, tức là chúng có ít nhất một pha (giai đoạn) cần có sự can thiệp của người phát triển Điều này thực sự không khả thi khi áp dụng vào các tập dữ liệu lớn và hay thay đổi như các website thương mại Trong chương 3 này, tác giả giới thiệu một kỹ thuật bóc tách thông tin sản phẩm từ các trang web hoàn toàn tự động, kỹ thuật sử dụng bóc tách dựa trên tính toán entropy Kỹ thuật này được đưa ra bởi các nhóm tác giả Phan Xuân Hiếu, Susumu Horiguchi và Hồ Tú Bảo, trong bài báo "PEWeb: Product Extraction from the Web Based on Entropy Estimation" Hướng tiếp cận của kỹ thuật này chính

là cơ sở để tác giả luận văn xây dựng kỹ thuật bóc tách thông tin sản phẩm của riêng mình

K thuỹ ật bao gồm ba bước chính: xây dựng cây HTML, tính toán entropy, và bóc tách thông tin s n phả ẩm

1 Xây dựng cây HTML

Văn bản HTML là m t c u trúc phân c p và l ng nhau cộ ấ ấ ồ ủa các thẻ Tuy nhiên, không ph i t t cả ấ ả các trang web đều tuân thủ chặt chẽ chuẩn W3C HTML Vì vậy, các trang web đầu vào ph i đư c x ả ợ ử lý trước đ lo i b các l i ti m tàng ể ạ ỏ ỗ ề (như thiếu th ẻđóng hoặc th ẻ đóng không khớp, các c p th ch ng lên nhau…) H th ng PEWeb s ặ ẻ ồ ệ ố ử

dụng công cụ HTML Tidy để làm sạch các trang web và chuy n chúng sang dể ạng XHTML Cây thẻ có cấu trúc tương tự như cây DOM Mỗi node tương ứng với một thẻ Mỗi node thẻ cùng với các node con tạo thành một cây con Mặt khác, m i node ỗtrong cây HTML ch a các thông tin sau.ứ

Trang 32

tt loại thẻ, là thẻ đơn hay thẻ kép

tw trọng số ủa thẻ c

tl trọng số ủa thẻ c , là đ dài từ nó ộ đến node gốc

dp độ sâu c a cây con ủ

rv giá trị ể bi u di n cễ ủa cây con

er t s ỷ ố entropy của node

sr điểm c a node ủ

st danh sách các con trỏ ỏ ớ tr t i các cây con của node

sp s ố lượng các cây con kề nhau chứa một mô tả sản phẩm

Bảng : Các thông tin ứng ới một node thẻ 1 v

2 Tính toán Entropy

Phần này sẽ mô tả tính toán entropy để xác định các vùng sản phẩm, là các vùng có thể chứa các mô tả của sản phẩm Ý tưởng bắt nguồn từ việc quan sát thấy rằng các mô tả sản phẩm thường được chứa trong các cây thẻ tương tự nhau Khái niệm tương tự, trong trường hợp này, nghĩa là các cây con có cấu trúc gần với nhau về

cả khung cây và vị trí thẻ Hình 10 vẽ 4 mô tả sản phẩm nằm trong các cây con rất giống nhau D,E,F và G, được khoanh bằng 4 hình ovan Vấn đề cốt lõi là phải đo được

độ tương tự nhau giữa các cây con này Một trong những giải pháp cho vấn đề này là

kỹ thuật so khớp chuỗi sử dụng thuật toán edit distance để so sánh độ giống nhau giữa hay chuỗi thẻ Tuy nhiên, giải thuật này có độ phức tạp tính toán là O(|sR 1 R||sR 2 R|), với |sR 1 R|

và |sR 2 R| là độ dài của 2 xâu Vì vậy, thời gian tính toán của hướng tiếp cận này là quá lớn vì kích thước của file HTML lớn và số lượng các website thương mại trực tuyến là rất nhiều

Để đo độ tương tự nhau của các cây con tại mỗi node cây, ta thực hiện 2 bước sau Thứ nhất, cấu trúc của một cây con được ánh xạ thành một giá trị đại diện mà thoả mãn ba tính chất sau: (1) hai cây con có các giá trị đại diện gần nhau nếu chúng

có cấu trúc tương tự nhau, (2) hai cây con có các giá trị đại diện khác nhau nếu chúng

Ngày đăng: 22/01/2024, 17:06

w