Tải bản đầy đủ (.doc) (59 trang)

Tiểu luận môn khai phá dữ liệu TÌM HIỂU VỀ WEB MINING.DOC

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.66 MB, 59 trang )

ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN
BÀI THU HOẠCH
CHUYÊN ĐỀ
KHAI PHÁ DỮ LIỆU VÀ NHÀ KHO DỮ LIỆU
ĐỀ TÀI
TÌM HIỂU VỀ WEB MINING
GIẢNG VIÊN: PGS.TS. ĐỖ PHÚC
SINH VIÊN THỰC HIỆN:
CH0601043 PHAN NGUYỆT MINH
Tp. Hồ Chí Minh – 08/ 2014
MỤC LỤC
Chương 1 Tổng quan 2
Chương 2 Công nghệ Web mining 3
Chương 3 Ứng dụng của Web mining 44
Chương 4 Google và Web mining 53
Chương 5 Kết luận 58
DANH SÁCH CÁC HÌNH
Chương 1 Tổng quan
Hệ thống website trên Internet là nguồn chứa và cung cấp thông tin rất lớn. Hiện
nay ngày càng có nhiều người sử dụng Internet để truy cập thông tin hơn là phải đến
thư viện để dò tìm trong từng quyển sách vừa mất thời gian đôi khi lại không hiệu
quả. Nhưng bằng cách nào mà máy tính có thể giúp người ta có thể tìm kiếm thông
tin trên mạng một cách nhanh chóng và hiệu quả? Đó cũng là nhờ các công nghệ
search engine. Search engine sẽ giúp người dùng có thể dễ dàng tìm kiếm thông tin
mà họ cần trên các World Wide Web. Tuy nhiên do đặc thù của Internet nên việc
tìm kiếm gặp phải một số vấn đề như:
1. Định dạng dữ liệu khác nhau trên từng hệ thống (ví dụ dữ liệu dạng
text hoặc dạng binary).
2. Dữ liệu có cấu trúc khác nhau trên các hệ thống khác nhau.
3. Dữ liệu được đặt tên khác nhau trên từng hệ thống.


2
4. Làm sao có thể biết được nhu cầu thực sự của người dùng dựa vào
những từ khóa tìm kiếm.
Các hệ thống search engine đã sử dụng web mining để giải quyết các vấn đề trên
một cách hiệu quả và nhanh chóng.
Web mining về cơ bản là kĩ thuật sử dụng data mining để tìm kiếm và phân tích
thông tin trên các website. Web mining giúp người dùng có thể dễ dàng tìm kiếm
thông tin họ cần trong thời gian ngắn nhất có thể.
Chương 2 Công nghệ Web mining
Hiện nay, công nghệ Web mining đã định hình được 3 phương pháp cơ bản: web
content mining, web structure mining và web usage mining. Các hệ thống search
engine hiện nay khai thác các mô hình tìm kiếm và xây dựng các bộ máy tìm kiếm
dựa trên 3 phương pháp cơ bản này.
2.1 Web content mining
Web content mining : là sự khai thác, trích lọc và tích hợp các dữ liệu, thông tin và
tri thức hữu ích từ nội dung của trang Web.
Có thể nghĩ như việc đưa cho cái máy tìm kiếm cơ bản công việc để thi hành. Các
máy tìm kiếm tìm web và tập hợp thông tin, kỹ thuật lập bảng mục lục để lưu
thông tin, và cung cấp tiến trình truy vấn để cung cấp thông tin cho người dùng.
Trong vài năm gần đây, sự phát triển của WWW đã vượt xa sự mong đợi. Ngày
nay, có vài tỉ tài liệu HTML, hình ảnh và những file đa phương tiện khác đươc
truyền qua internet và số lượng đó vẫn còn đang tăng lên. Nhưng vì số lượng
trang web khổng lồ đó, việc tìm kiếm thông tin mình quan tâm trở thành công việc
3
vô cùng khó khăn. Web content mining sử dụng những ý tưởng và nguyên tắc của
data mining. Việc sử dụng Web như một người cung cấp thông tin thì phức tạp
hơn khi làm việc với cơ sở dữ liệu tĩnh. Bởi vì bản chất rất động của Web và số
lượng lớn tài liệu của nó, cần phải có những giải pháp mới, mà những giải pháp
này không dựa trên việc truy cập những data hoàn chỉnh ngay từ lúc bắt đầu. Khía
cạnh quan trọng khác là sự thể hiện những kết quả truy vấn. Vì kích thước khổng

lồ của Web, một câu truy vấn Web có thể tìm được hàng ngàn trang web. Vì vậy
những phương pháp có ý nghĩa trong việc thể hiện những kết quả rộng lớn đó thì
cần thiết để giúp người dùng chọn lựa nội dung mà mình quan tâm nhất.
2.1.1 Sự trích lọc dữ liệu có cấu trúc
2.1.1.1 Kỹ thuật Wrapper induction (phương pháp quy nạp wrapper)
Cho một tập hợp các trang web được đánh nhãn một cách thủ công, và một phương
pháp máy học được áp dụng để học cách trích lọc các luật hoặc các mẫu.
Sử dụng máy học để tạo ra các luật trích lọc: Đầu tiên, người dùng sẽ đánh dấu
những đối tượng mục tiêu trong một số các trang dùng làm mẫu. Kế đến, hệ thống
sẽ học cách trích lọc ra các luật từ những trang mẫu này. Cuối cùng, các luật này sẽ
được áp dụng để trích lọc ra những đối tượng mục tiêu từ những trang khác.
Một số hệ thống sử dụng phương pháp quy nạp wrapper như: WIEN (Kushmerick
et al, IJCAL-97), Softmeanly (Hsu and Dung, 1998), Stalker (Muslea et al. Agents-
99), BWI (Freitag and McCallum, AAAI-00), WL2 (Conhen et al. WWW-02),
Thresher (Hogue and Karger, WWW-05),
Hệ thống Stalker:
• Wrapper induction (phương pháp quy nạp wrapper) (của Stalker) là một thống hoạt
động theo thứ bậc :
- Sự học tập của hệ thống wrapper theo một trình tự như sau:
o Đầu tiên sự trích lọc được thực hiện riêng biệt ở các mức độ cao nhất.
o Cuối cùng là đưa dữ liệu vào các bản ghi dữ liệu (chủ yếu là các list).
- Mỗi đối tượng được trích lọc hoàn tòan độc lập với những đối tượng khác.
4
- Mỗi đối tượng mục tiêu được trích lọc dựa trên việc sử dụng hai luật:
o Một luật bắt đầu (start rule) giúp dò tìm ra vị trí bắt đầu của một thẻ mục
tiêu.
o Một luật kết thúc (end rule) giúp dò tìm ra vị trí kết thúc của một thẻ mục
tiêu.
• Sự trích lọc theo trình tự dựa vào cấu trúc cây (ví dụ như hình bên dưới): Để trích
lọc mỗi đối tượng mục tiêu (một node trên cây), một wrapper cần một luật để trích

lọc ra đối tượng từ cha của nó.
Hình 1 Phương pháp quy nạp Wrapper
• Một số ví dụ áp dụng cấu trúc cây trong hình 1:
VD1: 513 Pico, <b>Venice</b>, Phone 1-<b>800</b>-555-1515
VD2: 90 Colfax, <b>Palms</b>, Phone (800) 508-1570
VD3: 523 1st St., <b>LA</b>, Phone 1-<b>800</b>-578-2293
VD4: 403 La Tijera, <b>Watts</b>, Phone: (310) 798-0008
Chúng ta muốn trích lọc ra Area Code (mã vùng), ta cần cung cấp các luật sau:
Start rules(các luật bắt đầu):
R1: SkipTo(()
R2: SkipTo(-<b>)
End rules(các luật kết thúc):
R3: SkipTo())
5
R4: SkipTo(</b>)
2.1.1.2 Kỹ thuật trích lọc dữ liệu tự động
• Hệ thống đường chạy (RoadRunner):
- Cung cấp một tập hợp các mẫu xác định (gồm nhiều trang web mẫu), mỗi
trang sẽ chứa đựng một hoặc nhiều bản ghi dữ liệu.
- Từ những trang này hệ thống sẽ tạo ra một wrapper như là một sự kết hợp khá
tự do diễn đạt hợp quy tắc.
- Hỗ trợ việc lưu trữ các bản ghi dữ liệu.
• Tiếp cận hệ thống đường chạy:
- Đầu tiên chúng ta tạo ra một trang mẫu được xem như là một wrapper.
- Sau đó wrapper này được cải tiến bằng việc giải quyết những mâu thuẫn giữa
wrapper này với từng trang mẫu khác, điều này giúp cho việc tổng quát hóa
cho wrapper này. Một mâu thuẫn xảy ra khi một số dấu hiệu trong các mẫu
này không phù hợp với ngữ pháp của wrapper.
6
Hình 2 Phương pháp trích lọc tự động Wrapper

- Các loại mâu thuẫn khác nhau và việc tổng quát hóa một wrapper:
 Những mâu thuẫn trong chuỗi văn bản: thường xảy ra trong các
trường dữ liệu (còn gọi là các đối tượng).
 Sự mâu thuẫn trong các thẻ: thường xảy ra trong:
• Các thành phần tùy chọn.
• Các đoạn lặp lại, danh sách các đoạn lặp lại:
o Các mâu thuẫn xảy ra tại điểm bắt đầu một đoạn lặp lại và
tại vị trí kết thúc danh sách các đoạn lặp này.
o Tìm ra dấu hiệu cuối cùng của vị trí mâu thuẫn và xác định
một số đọan còn có mâu thuẫn lặp lại từ trong wrapper và
trong mẫu bằng cách tìm kiếm tới phía trước nữa.
7
o So sánh các đoạn còn có mâu thuẫn này với phần trên của
trang mẫu để xác nhận lại.
• Hệ thống EXALG (Arasu and Garcia-Molina, SIGMOD-03):
- Việc thiết lập cũng giống như đối hệ thống đường chạy: hệ thống này cũng
cần nhiều trang đầu vào của cùng một loại trang mẫu.
- Tiếp cận hệ thống EXALG:
Hình 3 Xác định các vùng dữ liệu
Bước 1: tìm tập hợp các dấu hiệu (được gọi là các lớp tương đương) thường xuyên
xảy ra tương tự trong mỗi trang.
Bước 2: mở rộng tập hợp này bằng cách tạo ra thêm các luật mới của các dấu hiệu
đang được sử dụng trong các ngữ cảnh của trang. Những dấu hiệu giống nhau trong
các ngữ cảnh khác nhau được xem như là những dấu hiệu khác nhau.
Bước 3: xây dựng một trang mẫu có sử dụng các lớp tương đương dựa vào những gì
nằm giữa hai dấu hiệu liền kề nhau, hoặc là rỗng, hoặc là dữ liệu hoặc danh sách.
8
Người dùng chỉ cung cấp một trang duy nhất với nhiều bản ghi dữ liệu, chúng ta sẽ
sử dụng mô hình trích dữ liệu như sau:
• Đầu vào: một trang web duy nhất với nhiều bản ghi dữ liệu (ít nhất là hai).

• Mục tiêu: tự động hóa (hoàn toàn không chịu tác động của con người):
 Bước 1: xác định bản ghi dữ liệu trong một trang, và
 Bước 2: sắp xếp lại dữ liệu trong các bản ghi dữ liệu và trích lọc ra
các đối tượng dữ liệu từ chúng.
• Xác định các vùng dữ liệu (data region) và các bản ghi dữ liệu (data record)
• Sắp xếp và trích lọc các đối tượng dữ liệu (ví dụ: region1)
2.1.1.3 So sánh giữa kỹ thuật wrapper induction và kỹ thuật trích lọc
dữ liệu tự động
Hình 4 Sắp xếp và trích lọc các đối tượng dữ liệu trong vùng dữ liệu
Kỹ thuật trích lọc dữ liệu tự động không có việc đánh nhãn bằng tay, nhưng lại cần
một tập hợp các trang xác định của các mẫu tương tự nhau: Cách làm này không
cần thiết nếu trang mẫu đã có chứa nhiều bản ghi dữ liệu.
9
Kỹ thuật trích lọc dữ liệu tự động không sử dụng kỹ thuật wrapper để thao tác trên
các bản ghi dữ liệu, nhưng lại được dùng cho các trang (một trang thường chứa
dựng rất nhiều thông tin không phù hợp).
Những hạn chế của kỹ thuật trích lọc dữ liệu tự động là :
- Khó điều khiển, thao tác trên từng đối tượng riêng biệt.
- Khó đặt tên các thuộc tính đối với dữ liệu đã trích lọc.
- Dữ liệu được trích lọc từ nhiều trang cần được tích hợp lại bằng tay hoặc tự
động.
2.1.2 Sự phân loại, phân tích và tổng hợp theo cảm tính của các
cảm nhận khách hàng
2.1.2.1 Phân loại theo cảm tính
• Phân loại các cảm nhận theo cảm tính:
 Phân loại các cảm nhận dựa trên hoàn toàn vào cảm nhận được diễn đạt
bởi tác giả: khẳng định hay phủ định, khuyến khích hay không khuyến
khích…
 Vấn đề này chủ yếu học theo cách xử lí ngôn ngữ tự nhiên (NLP).
 Tuy nhiên vấn đề này lại khác hẳn với việc phân loại văn bản truyền

thống.
• Phân loại cảm nhận không được giám sát.
• Phân loại cảm nhận theo cảm tính thông qua việc sử dụng các phương pháp
máy học (machine learning):
 Một trang web thường áp dụng rất nhiều kỹ thuật máy học để phân loại
các cảm nhận về phim ảnh là hay hay dở.
 Ba kỹ thuật phân loại đã được thử nghiệm:
 Naïve Bayes
 Maximum entropy
 Support vector machine.
 Các thiết lập tiền xử lí.
 SVM: có độ chính xác đến 83%.
10
• Phân loại cảm nhận bằng cách ghi nhận các đặc điểm.
2.1.2.2 Phân tích cảm nhận của khách hàng
2.1.2.2.1 Khai thác và tổng hợp các cảm nhận:
• Phân loại theo cảm tính rất hữu ích. Nhưng có thể nào chúng ta đi vào mỗi
câu văn để tìm ra những điều mà khách hàng đã rút tỉa được hoặc là phàn nàn
hay không?
• Đó là:
 Rút ra các đặc điểm của nhận định được chú thích bởi khách hàng.
 Xác định các chú thích này là khẳng định hay phủ định (sự định hướng
ngữ nghĩa).
 Tạo ra một đặc điểm dựa vào sự tổng hợp.
2.1.2.2.2 Đặc điểm dựa vào sự tổng kết hóa:
• Việc trích lọc các đặc điểm của nhận định (được gọi là đặc điểm của ý
tưởng) được chú thích bởi người dùng.
• Việc xác định ý nghĩa của các câu trong mỗi nhận định và quyết định xem ý
nghĩa mỗi câu là khẳng định hay phủ định.
• Tổng quát hóa và so sánh các kết quả.

• Lưu ý: một wrapper có thể được sử dụng để lọc trích ra các nhận định (cảm
nhận) từ các trang web như là các nhận định được cấu trúc hợp quy tắc.
2.1.2.2.3 Mô hình vấn đề:
• Đặc điểm nhận định: thành phần của nhận định, đăc điệm về chừc năng,
hoặc sự xác định.
• Mô hình:
 F = {f1, f2, …, fn}.
 Với mỗi đặc điểm fi trong F các thể biểu diễn vói một tập vô hạn các từ
hoặc các đoạn Wj.
 Với mỗi người cảm nhận j chú thích trên một tập con Sj của tập F, ví dụ:
Sj ⊆ F.
11
 Với mỗi đặc điểm fk ∈ F thì người cảm nhận j chú thích sẽ chọn một từ
hoặc đoạn w ∈ Wk để biểu diễn thuộc tính này.
 Hệ thống này không có bất kì thông tin nào về F hoặc Wi được biết trước.
• Mô hình đơn giản này được áp dụng cho hầu hết các trường hợp nhưng
không phải hoàn toàn.
2.1.3 Sự tích hợp thông tin và sự phù hợp giản đồ (schema)
• Tích hợp giao diện truy vấn trên trang web:
 Nhiều tác vụ tích hợp:
- Việc tích hợp các giao diện truy vấn vào trang web (các form tìm kiếm).
Hình 5 Mô hình giao tiếp truy vấn tổng quát
Hình 6 Sự phù hợp trong giao tiếp
12
- Việc tích hợp các ontology (taxonomy: nguyên tắc phân loại).
- Việc tích hợp dữ liệu đã trích lọc.
- Việc tích hợp thông tin nguyên bản.
 Chúng ta chỉ khảo sát các giao diện tích hợp truy vấn:
- Nhiều website cung cấp các forms để truy vấn sâu vào trong trang web.
- Các ứng dụng: siêu tìm kiếm và siêu truy vấn.

• Giao tiếp truy vấn tổng quát:
• Xây dựng một giao diện truy vấn tổng quát:
 Một giao diện truy vấn thống nhất:
- Tính ngắn gọn – kết hợp với các trường giống nhau về ngữ nghĩa thông qua
giao tiếp ban đầu (source) (các form truy vấn).
- Tính chất đầy đủ - giữ lại các trường cụ thể ban đầu (source).
- Tính thân thiện người dùng – các trường có quan khá chặt chẽ với nhau phải
được đặt gần nhau.
 Hai nhóm tích hợp:
Hình 7 Phát hiện sự liên quan của các thuộc tính
13
Hình 8 Xây dựng mô hình mức 2
- Sự phù hợp trong giao tiếp – xác định các trường có ngữ nghĩa giống nhau.
- Tích hợp giao tiếp – kết hợp các giao tiếp truy vấn ban đầu.
• Sự phát hiện mô hình ẩn:
 Phát hiện sự liên quan giữa các thuộc tính.
• Cấu trúc mô hình:
 Mục tiêu: nắm bắt được sự liên quan giữa các thuộc tính.
 Cấu trúc mô hình mức hai.
• Thống kê sự thích hợp của lược đồ:
 Định nghĩa cấu trúc mô hình trừu tượng M để giải quyết một câu hỏi (truy
vấn) mục tiêu: P(QI/M) = …
 Cho các QI, tạo ra các thành phần của mô hình.
 Chọn một thành phần độ tin cậy cao nhất: kiểm tra giả thiết.
• Sự phù hợp của lược đồ giống như việc khai thác chính xác:
 Thông qua nhiều nguồn:
Hình 9 Tạo các thành phần của mô hình
14
Hình 10 Kiểm tra độ tin cậy của mô hình
Hình 11 Vấn đề khai thác dữ liệu liên quan

- Các thuộc tính tương đồng là không tương quan với nhau: các thuộc tính
tương đồng là các lối diễn đạt ngữ nghĩa. Thật ra, rất hiếm khi cùng xảy ra
trong các giao diện truy vấn.
- Lập nhóm các thuộc tính có tương quan với nhau: việc lập nhóm các thuộc
tính để bổ sung thêm ngữ nghĩa. Thật ra, hay xảy ra trong các giao diện truy
vấn.
- Vấn đề khai thác dữ liệu tương quan (xem hình 11):
 Đo lường sự tương quan – hàm đo lường H:
+ Hàm đo lường H: H = f
01
f
10
/(f
+1
f
1+
)
+ Bỏ qua các ô trống:
15
Hình 12 Đánh giá sự tương quan
 Phân biệt sự khác biệt của các điểm không tương quan:
Hình 13 Phân biệt sự khác biệt của các điểm không tương quan
2.1.4 Sự tổng hợp tri thức
• Tìm kiếm trang web:
 Mô hình tìm kiếm:
- Cung cấp một câu truy vấn với một số từ cần tìm kiếm.
- Một search engine sẽ trả về một danh sách các trang đã được xếp hạng.
- Sau cùng người dùng chỉ việc duyệt qua và đọc những trang này để tìm ra
những thông tin mà họ cần.
 Tính chất đủ và không đủ:

- Tính chất đủ thường thấy ở những người chỉ tìm kiếm mảng thông tin cá biệt
chẳng hạn như: người dùng chỉ tìm kiếm về trang chủ của một người nào đó,
hay tìm một báo nào đó…
- Tính chất không đủ thường thấy ở những người quan tâm đến công việc
nghiên cứu, khảo cứu…
16
• Tổng hơp (clustering) kết quả tìm kiếm:
 Nhằm tạo ra một nguyên tắc phân loại để cung cấp sự hổ trợ trong việc tìm
kiếm cũng như lướt web bằng cách tổ chức kết quả tìm kiếm thành một số
các cluster có thứ tự.
 Một số search engine cũng cung cấp các kết quả tìm kiếm đã được phân
loại, ví dụ: vivisimo.com (xem hình 14), northernlight.com.
 Chú ý: Ontology learning cũng sử dụng cách tổng hợp này để xây dựng
các ontology (ví dụ: Maedche and Staab, 2001).
• Không dừng lại ở việc phân loại các kết quả tìm kiếm:
Hình 14 Giao diện trang Vivísimo - Search site
 Phân loại kết quả tìm kiếm là cách làm rất hiệu quả và thường được áp
dụng trong các hệ thống thương mại.
- Các cluster sẽ cung cấp việc hỗ trợ truy tìm để giúp người dùng có thể tập
trung vào những gì mà họ mong muốn tìm kiếm.
17
 Không dừng lại ở đó: Câu hỏi đặt ra là liệu có thể có được một hệ thống
cung cấp thông tin một cách đầy đủ về một chủ đề cần tìm kiếm hay
không. Chẳng hạn:
- Tìm và kết hợp các mẫu và các thành phần thông tin có quan hệ với nhau.
- Cung cấp một bức tranh hoàn chỉnh về chủ đề này.
• Hướng tiếp cận: Khai thác sự dư thừa thông tin:
 Hiện tượng dư thừa thông tin trên web: nhiều trang web cùng chứa đựng
những thông tin tương tự nhau.
 Quan sát 1: nếu một số đoạn đã được đề cập trong một số trang, chúng có

thể là những khái niệm quan trọng hoặc là những chủ đề con của chủ đề đã
cho.
 Điều này có nghĩa là chúng ta có thể sử dụng data mining (phương pháp
khai thác dữ liệu) để tìm ra khái niệm và những chủ đề con.
 Quan sát 2: mỗi trang web thường được tổ chức như sau:
- Mức độ khác nhau của phần tiêu đề.
- Những từ hoặc cụm từ được nhấn mạnh.
 Chúng được trình bày bằng cách nhấn mạnh với các thẻ HTML. Ví du:
<H1>, <H2>, <H3>, <B>,<I>…
 Chúng ta tận dụng cách tổ chức sẵn có của trang web để tìm ra một cách tổ
chức tổng quát nhất cho một chủ đề cụ thể.
 Không thể tin cậy vào chỉ duy nhất một trang web vì nó không hoàn chỉnh
và nó chủ yếu tập trung vào những gì mà tác giả của trang web ấy quen
thuộc hoặc làm việc theo một thói quen nào đó.
• Sử dụng các mẫu ngôn ngữ để tìm ra các chủ đề con:
 Các mẫu ngôn ngữ có cú pháp chính xác trình bày một số mối quan hệ
của các khái niệm.
 Các mẫu sau đây trình bày các mối quan hệ có thứ tự, các khái niệm, và
các khái niệm con:
- Such as (như là)
18
- For example (e.g.,) (ví dụ như)
- Including (gồm có).
2.1.5 Sự dò tìm các mẫu và sự phân đoạn trang web
• Khái quát chung:
 Hầu hết các trang web, đặc biệt là các trang web thương mại, sử dụng các
mẫu được thiết kế khá tốt:
- Một trang được làm mẫu là một trong số các trang dùng chung một giao diện
“look and feel”.
 Một trang mẫu điển hình phải chứa đựng các khối:

- Các khối nội dung chính
- Các khối navigation:
- Khối dịch vụ
- Các quảng cáo,…
 Mỗi khối là một đơn vị thông tin cơ bản.
 Vì những thông tin khác nhau trong các khối, các trang mẫu phải tác động
đến việc xếp hạng các kết quả tìm kiếm thông qua các thuật toán IR và
DM.
• Dò tìm các đoạn mẫu (pagelet) thông dụng:
 Các mẫu (template) là các đoạn mẫu thông dụng:
- Một đoạn mẫu là một đoạn cùng nằm trong vùng logic trong một trang web
nhằm định nghĩa đầy đủ một chủ đề hoặc một chức năng.
 Định nghĩa 1: (đoạn mẫu (pagelet) – định nghĩa ngữ nghĩa): Một đoạn mẫu
là một vùng của một trang web (1) định nghĩa đầy đủ về một chủ đề hoặc
một chức năng và (2) và không nằm trong những vùng khác, nghĩa là ta
không thể trích ra được cùng chủ hoặc chức năng đã định nghĩa trong đoạn
mẫu trên.
 Định nghĩa 2: (đoạn mẫu – định nghĩa cú pháp): Một phần tử HTML trong
cây phân tích ngữ pháp của trang p là một đoạn mẫu nếu (1) không có một
19
node con nào có ít nhất k ( = 3) siêu liên kết và (2) không có phần tử tổ
tiên nào của nó là một đoạn mẫu.
• Các mẫu là một tập hợp các trang:
 Định nghĩa 3: (mẫu (template) - đinh nghĩa ngữ nghĩa): một mẩu là một
tập hợp các trang (1) dùng chung một giao diện “look and feel” và (2) và
được kiểm soát bởi một thành phần (authority) duy nhất.
Hình 15 Một template của Yahoo
 Định nghĩa 4: (mẫu – đinh nghĩa cú pháp): Một mẫu là một tập hợp của
các đoạn mẫu p1, p2, p3,…, pk thỏa mãn hai yêu cầu sau đây:
- C(pi) = C(pj ) ∀ 1 ≤ i ≠ j ≤ k. Trong đó: C(p) là nội dung của p.

- O(p1), …, O(p2) tạo thành một thành phần kết nối không định hướng (đồ thị).
(O là một trang của p).
• Thuật toán (cho một tập (G) các trang được liên kết với nhau ):
20
 Bước 1: chọn tất cả các “viên đá cuội” (được sàn lọc, mày giũa) pagelet
(pagelet shingle) trong các PAGELETS sao cho có ít nhất hai đoạn mẫu
được chọn. Kết quả được lưu trong bản TEMPLATE_SHINGLES. Đây là
những viên đá cuội được sàn lọc lại từ các đoạn mẫu (pagelet).
 Bước 2: Chỉ trích lọc từ PAGELETS những đoạn mẫu mà hòn đá cuội của
nó nằm trong TEMPLATE_SHINGLES. Kết quả được lưu trong bản
TEMPLATE_CANDIDATES. Đây là tất cả các đoạn mẫu xuất hiện nhiều
lần trong G.
 Bước 3: Với mỗi viện đá cuội (shingle) s nằm trong bản
TEMPLATE_SHINGLES ta định nghĩa GS là một nhóm các hòn đá cuội:
bao gồm tất cả các trang có chứa các đoạn mẫu mà viến đá cuội của nó là
s. Bằng cách kết hợp hai bản TEMPLATE_CANDIDATES và LINKS ta
tìm ứng với mỗi s tất cả những liên kết trong số các trang nằm trong GS.
Kết quả lưu vào bản TEMPLATE_LINKS.
Hình 16 Cây CST
21
 Bước 4: Đếm những viên đá cuội s này trong bản
TEMPLATE_SHINGLES. Ứng vời mỗi viên đá cuội, ta nạp vào bộ nhớ
chính tất cả các liên kết trong số các trang nằm trong GS.
 Bước 5: Sử dụng một thuật toán BFS để tìm ra tất cả các thành phần liên
kết vô hướng trong GS. Với mỗi thành phần hoặc là một mẫu hoặc là
singleton (duy nhất). Thuật toán xuất ra là một thành phần nếu nó không
phải là singleton.
• Các mẫu giống như những cây DOM thông thường:
 Các trang với cùng giao diện “look and feel” cơ bản được phản ánh bởi
những cây DOM giống nhau của nó: giống nhau về bố cục hay cách thức

trình bày.
 Cho một tập các trang, một phương thức sẽ kết hợp các cây DOM của nó
để xây dựng một cây cấu trúc được nén (CST : Compressed Structure Tree
– xem hình 16):
- Kết hợp những nhánh giống nhau.
- Cắt ra những phần khác nhau.
 Cây CST thu được sẽ biểu diễn một tập hợp các mẫu (template):
- Một thuật toán sẽ sử dụng cây CST để quét qua trang web và tìm ra các khối
nội dung chính.
• Trích lọc các tin tức trong các trang web một cách tự động:
 Cung cấp một tập hợp các trang đã được dò tìm, tìm ra các mô hình mẫu
để xác định các bài bào viết về tin tức trong trang web:
- Trước hết tạo ra các cluster của các trang mà những trang này dùng chung
một mẫu.
22
Hình 17 Phân khối trên Website CNN
- Sau đó với mỗi cluster sẽ được tạo thành một cây lọc trích.
- Mô hình: một biểu diễn hợp quy tắc cho các cây.
• Học (learning) các mô hình khối quan trọng:
 Các khối khác nhau trong một trang không có tầm quan trọng ngang nhau.
 Người thiết kế web mong muốn tổ chức nội dung trang web nhằm để:
- Làm nỗi bậc lên đối với những đối tượng quan trọng.
- Giảm nhẹ đi những phần không quan trọng vời những đặc tính, ví dụ: vị trí,
kích thước, màu sắc, từ ngữ, hình ảnh, các liên kết…
23
 Một mô hình khối quan trọng là một chức năng ánh xạ từ những đặc tính
đến tầm quan trọng của mỗi khối:
- Các khối được phân loại thành nhiều mức độ quan trọng khác nhau.
- Một phương pháp máy học được sử dụng để học mô hình này.
Hình 18 Phân tích và xếp hạng khối

 Sự phân đoạn các khối thực hiện bằng việc sử dụng một phương pháp trực
quan cơ bản (xem hình 17).
• Máy học và người dùng học:
 Sự kiến thiết nên đặc tính:
- Không gian các đặc tính: Khối trung tâm X (BlockCenterX), Khối trung tâm
Y (BlockCenterY), Khối ngang hình chữ nhật (BlockRectWidth), khối cao
hình chữ nhật (BlockRectHeight).
24
 Học các phương thức: SVM và các mạng nơron. SVM thực hiện tốt hơn.
 Sự học hỏi của người dùng cũng được thực hiện bằng việc xem xét xem có
nhiều sự đồng tình cho là một khối là quan trọng.
• Dùng các phân tích về liên kết để xếp hạng các khối:
 Cho một trang web p từ một tập liên kết S,
- Trước tiên xây dựng các đồ thị tương tự nhau đối với cấu trúc liên kết này.
Với mỗi node của đồ thị là một thành phần cơ sở của trang web này.
- Sau đó thuật toán thuật toán xếp hạng trang để xếp hạng các thành phần cơ
sở.
- Cuối cùng, kết hợp các thành phần này để hình thành nên các khối hình chữ
nhật (xem hình 18).
 Ứng dụng: tìm kiếm các trang về thiết bị di động (Mobile).
• Xây dựng đồ thị và biểu diễn việc xếp hạng:
 Người dùng nhập vào một trang web từ một tập càc liên kết S với một văn
bản làm móc:
- Mỗi thành phần cơ sở trong trang web này được liên kết đến tập S với một
trọng số, trọng số này được tính dựa vào kiểu, kích thước, vị trí, hình dạng và
nội dung giống nhau đối với đoạn văn bản mục tiêu của tập S.
 Mối quan hệ giữa hai thành phân cơ sở cũng được biểu diễn với các cạnh
được đánh trọng số:
- Trọng số này là một chức năng của các thuộc tính của hai thành phần, như là
các từ tương tự nhau và đối tượng gần nhau như nhau của các thành phần

trong trang web.
 Xếp hạng của các thành phần (PageRank:xếp hạng trang): dựa vào công
thức sau:



+−=
E)i,j(
1tt
)i(C/)j(PRd)d1()i(PR
• Dò tìm các đoạn (hay còn gọi là các khối):
 Cách dò tìm các đoạn cũng sử dụng phương pháp shinling (viên đá cuội).
25

×