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

Một phần của tài liệu LUẬN VĂN: BÀI TOÁN TRÍCH XUẤT THÔNG TIN CHO DỮ LIỆU BÁN CẤU TRÚC VÀ ÁP DỤNG XÂY DỰNG HỆ THỐNG TÌM KIẾM GIÁ CẢ SẢN PHẨM potx (Trang 26 - 32)

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à bán tựđộng cho “bài toán trích xuất thông tin cho dữ liệu bán cấu trúc”.

16

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

- Một ví dụ về trích xuất theo giải thuật dựa trên hệ thống 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ệc trích xuất sử dụng một cấu trúc cây gọi là cây EC(embedded catalog tree), đây là công cụ để mô hình dữ liệu nhúng trong một trang HTML. Gốc của cây là văn bản chứa tất cả các token tuần tự S của trang, nội dung của mỗi node con là một chuỗ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 trang đó và tập hợp các luật trích xuất.

Hình 8 bên dưới là ví dụ sự chuyển đổi một đoạn mã HTML sang cây EC. Chú ý 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ích xuất nội 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 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 có thể áp dụng cho cả

17

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ùng để đánh dấu sự bắt đầu hay kết thúc của một phần tử

mục tiêu. Dưới đây là một đoạn mã HTML trong trang web. <p> Restaurant Name: <b>Good Noodles</b><br><br>

<li> 205 Willow, <i>Glen</i>, Phone 1-<i>773</i>-366-1987</li> <li> 25 Oak, <i>Forest</i>, Phone (800) 234-7903 </li>

<li> 324 Halsted St., <i>Chicago</i>, Phone 1-<i>800</i>-996-5023 </li> <li> 700 Lake St., <i>Oak Park</i>, Phone: (708) 798-0008 </li> </p>

Để trích xuất được tên của quán ăn “Good Noodles” 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ác token cho đến khi chúng thấy được thẻ <b> đầu tiên. Các luật SkipTo(:) hoặc SkipTo(i) đề không đúng. Vì theo cây EC trong hình 8 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 luậ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ác đại diện của node được nhận dạng như các mỏ neo, chúng có thể 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 hậu tố hay các đại 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 là giống nhau.

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).

18

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ác dữ liệu tương tự và đượ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

ƒ Ưu điểm:

Người sử dụng chỉ phải gán nhãn một lượng nhỏ các dữ liệu mẫu.Quá trình học là quá trình tựđộng để sinh ra luật trích xuất.

ƒ Nhược điểm:

Nếu một site thay đổi, làm sao để wrapper biết được sự thay đổi đó? Nếu phát hiện chính xác có sự thay đổi, làm sao để tựđộng sử wrapper? (adsbygoogle = window.adsbygoogle || []).push({});

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 trang. Ví dụ, nếu một trang kinh doanh sản phẩm muốn trích xuất tất cả các các sản phẩm được bán trên Web, việc gán nhãn 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ôi trường động. Các site thì 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 việc 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, chúng ta cần trích xuất dữ liệu từ các trang detail-page, vì những trang này chứa nhiều thông tin hơn. Ví dụ: trong một trang list-page, thông tin của mỗi sản phẩm thông thườ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án trích xuất tựđộng khá tiêu biểu mà có thể trích xuất ở cả trang detail và trang list đó là RoadRunner.

19

Đầu vào: Một tập hợp các trang mẫu, mỗi trang chứa đựng một hay nhiều bản ghi (một trang có thể là list page hoặc detail page).

Đầu ra: Một mẫu trích xuất có thể trích xuất được tất các các trang trong tập mẫu, trong giải thuật này mẫu trích xuất đó là biểu thức chính qui kết hợp tự do.

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

Ban đầu, giải thuật sẽ lấy một số lượng ngẫu nhiên 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 pi 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ác trang trong tập mẫu. Cuối sung giải thuật sinh ra một wrapper chung có thể trích xuất được tất cả các trang trong tập mẫu. Wrapper này sẽđược áp dụng trích xuất cho những trang khác có cấu trúc tương tự với những trang trong mẫu

Sự sai khác xuất hiện khi một vài token của trang pi xuất hiện sai khác so với W. Có hai kiểu sai khác trong việ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 giữa các thẻ (tag mismatch). Giải thuật này được làm rõ trong hình 9 dưới đây:

20

Hình 9. Ví dụ giải thuật RoadRunner [12]

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

ƒ Ư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.

ƒ 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ụ: giải thuật trong hình 9 khi nó xác định được thẻ

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

21

Chương 3. Áp dng bài toán trích xut thông tin bán cu trúc để xây dng h thng tìm kiếm giá c sn phm

Việc á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ả sản phẩm là vấn đề quan trọng nhất của khóa luận. Trong chương này khóa luận sẽ đề cập đến khái niệm của hệ thống tìm kiếm giá cả, phương pháp xây dựng hệ thống và cách đánh giá các hệ thống đang tồn tại.

Một phần của tài liệu LUẬN VĂN: BÀI TOÁN TRÍCH XUẤT THÔNG TIN CHO DỮ LIỆU BÁN CẤU TRÚC VÀ ÁP DỤNG XÂY DỰNG HỆ THỐNG TÌM KIẾM GIÁ CẢ SẢN PHẨM potx (Trang 26 - 32)