Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 40 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
40
Dung lượng
2,5 MB
Nội dung
ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ
Đỗ Văn Phong
TRÍCH XUẤT CHỦ ĐỀ VÀ DỮ LIỆU DỰA VÀO SỰ
ĐỒNG DẠNG TRONG CẤU TRÚC CỦA TRANG
KHÓA LUẬN TỐT NGHIỆP ĐẠI HỌC HỆ CHÍNH QUY
Ngành: Công nghệ thông tin
HÀ NỘI - 2014
ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ
Đỗ Văn Phong
VIETNAM NATIONAL UNIVERSITY, HANOI
UNIVERSITY OF ENGINEERING AND TECHNOLOGY
TRÍCH XUẤT CHỦ ĐỀ VÀ DỮ LIỆU DỰA VÀO SỰ
ĐỒNG DẠNG TRONG CẤU TRÚC CỦA TRANG
WEB
Đỗ Văn Phong
KHÓA LUẬN TỐT NGHIỆP ĐẠI HỌC HỆ CHÍNH QUY
Ngành: Công nghệ
thôngON
tinPATTERN
INFORMATION EXTRACTION
BASED
DISCOVERY
Cán bộ hướng dẫn: PGS.TS. Nguyễn Việt Hà
Cán bộ đồng hướng dẫn: ThS. Vũ Quan Dũng
Major: Information technology
Supervisor: Assoc. Prof. Dr Nguyen Viet Ha
Co-Supervisor: MSc. Vu Quang
HÀDung
NỘI - 2014
Page 2
HA NOI - 2014
Page 3
TÓM TẮT KHÓA LUẬN
Ngày nay, khi mà dữ liệu khoa học, dữ liệu y tế, dữ liệu nhân khẩu học, dữ liệu tài
chính, và các dữ liệu tiếp thị ngày càng trở nên nhiều và phức tạp. Trong đó có rất nhiều
thông tin mà chúng ta quan tâm nhưng vẫn đang hàng ngày được đưa liên tục trên những
trang báo mạng. Con người không có đủ thời gian để xem xét nhiều nguồn dữ liệu tới
vậy. Nhu cầu đặt ra đó là cần một dịch vụ nào đó có thể giúp chúng ta tổng hợp những
thông tin đó một cách tự động, và phân tích những thông tin đó theo chủ đề với mục đích
là cung cấp những thông tin hữu ích nhanh chóng hiệu quả và phù hợp với mục đích cần
tra cứu. Vì vậy, chúng ta phải tìm cách tự động phân tích dữ liệu, tự động phân loại nó, tự
động trích xuất nó, tự động phát hiện và mô tả các xu hướng trong nó, và tự động chỉ dẫn
các dị thường.
Tuy nhiên các thông tin trên các trang web theo những cấu trúc rất khác nhau nguồn
dữ liệu được tổ chức rất phong phú và phức tạp. Vậy để đáp ứng được nhu cầu thu thập
và xử lý dữ liệu trên tôi sẽ tập trung vào việc phân tích cấu trúc của trang web. Để làm
được điều này khóa luận sẽ tập trung vào việc trích xuất ra luật (rules) từ một trang web
từ đó dựa vào bộ luật để tìm được những trang web có cấu trúc tương tự và cuối cùng là
trích xuất ra những thông tin có ích từ những trang web có cấu trúc đồng dạng đó.
ABSTRACT
Today, when the scientific data, medical data, demographic data, financial data, and
marketing data is becoming flooding and more complex. Which has a lot of information
Page 4
that we are interested in but are still given continuous daily newspapers on the network.
A great amount of effort is often required for a user to manually locate and extract useful
data from the Web sites. Therefore, there is a great need for value-added service that
integrates information from multiple sources. So we have to find ways to automatically
analyze data, automatically classify, automatically extraction, automatically detecting and
describing trends of it, and automatically guide the anomalies.
However, information on the website on various structure of data sources and
organization is multiform and complex. So to meet the needs collection and data
processing on I will focus on the structural analysis of website. To do this my thesis will
focus on extracting rules from a website to find out sites have similar structure and finally
extract the information useful from that sites.
Lời cảm ơn
Lời đầu tiên, tôi xin gửi lời cảm ơn và lòng biết ơn sâu sắc nhất tới PGS.TS.
Nguyễn Việt Hà và ThS. Vũ Quang Dũng đã tận tình hướng dẫn, giúp đỡ tôi trong suốt
quá trình thực hiện khóa luận tốt nghiệp này.
Page 5
Tôi xin bày tỏ lời cảm ơn sâu sắc đến các thầy cô giáo đã giảng dạy tôi trong suốt
bốn năm học qua, đã cho tôi nhiều kiến thức quý báu, tạo điều kiện thuận lợi để tôi học
tập, rèn luyện và nghiên cứu tại trường Đại học Công nghệ.
Tôi cũng xin gửi lời cảm ơn tới các anh và các bạn sinh viên tại phòng thí nghiệm
công nghệ phần mềm Toshiba-UET, các bạn Hưng, Tiến Trung, Minh, Tuấn Anh, Thành
Trung trong nhóm nghiên cứu khoa học đã giúp đỡ, hỗ trợ tôi trong quá trình xây dựng
hệ thống và thực nghiệm.
Tôi gửi lời cảm ơn tới các bạn trong lớp K55CC và K55CLC đã ủng hộ, khích lệ,
giúp đỡ và luôn sát cánh bên tôi trong suốt quá trình học tập, rèn luyện tại trường.
Và cuối cùng, tôi xin gửi lời cảm ơn vô hạn tới gia đình, người thân và bạn bè –
những người luôn ở bên tôi trong những lúc khó khăn nhất, luôn động viên tôi, khuyến
khích tôi trong cuộc sống cũng như học tập và công việc.
Tôi xin chân thành cảm ơn!
Hà Nội, ngày tháng năm 2013
Sinh viên
Đỗ Văn Phong
Page 6
Lời cam đoan
Tôi xin cam đoan khóa luận này là công trình nghiên cứu do tôi thực hiện dưới sự
hướng dẫn của ThS. Vũ Quang Dũng. Các số liệu, kết quả được trình bày trong khóa luận
là hoàn toàn trung thực và chưa từng được công bố trong bất kỳ một công trình nào khác.
Tất cả những tham khảo từ các nghiên cứu liên quan đều được tôi nêu nguồn gốc rõ
ràng trong mục “Tài liệu tham khảo” của khóa luận. Trong khóa luận của tôi, không có
việc sao chép tài liệu, công trình nghiên cứu của người khác mà không chỉ rõ là tài liệu
tham khảo.
Các kết quả thực nghiệm của khóa luận đều được tiến hành thực nghiệm và thống
kê từ kết quả thực tết.
Hà Nội, ngày tháng năm 2013
Sinh viên
Đỗ Văn Phong
Page 7
Mục lục
Danh sách hình vẽ
Danh sách các bảng
Page 8
CHƯƠNG 1. GIỚI THIỆU VỀ HỆ THỐNG
Với sự bùng nổ mạnh mẽ về thông tin mỗi ngày chúng ta được tiếp xúc với vô vàn
các thông tin khác nhau từ nhiều nguồn khác nhau. Điển hình cho sự đa dạng của thông
tin là các nguồn báo mạng hiện nay, các trang báo mạng tại Việt Nam đã ngày càng trở
nên phổ biến với mỗi chúng ta. WeAreSocial cho biết số người dùng Internet Việt Nam
Page 9
là 30,8 triệu. Tỉ lệ người dùng Internet trên tổng số dân là 34% (cao hơn mức trung bình
của thế giới là 33%). Riêng năm 2012, Việt Nam có thêm 1,59 triệu người dùng mới. Với
con số thống kê như trên cho thấy sự phát triển mạnh mẽ của mạng internet Việt Nam
cũng như sự phát triển của báo mạng nói riêng. Lượng bài viết được đưa lên mỗi ngày
càng nhiều khiến người đọc khó khăn trong việc tìm đúng và đủ thông tin cần thiết. Nhu
cầu về việc thu thập thông tin là tất yếu, đòi hỏi nhiều nỗ lực trong việc trích chọn dữ
liệu. Không những thế làm thế nào để người dùng truy xuất vào kho thông tin đó dễ dàng
và đạt hiệu quả cao nhất. Công việc này đòi hỏi phải xử lý trước khi người dùng nhập
thông tin cần tìm kiếm. Nguồn của các thông tin đó là vô vàn từ các trang báo khác nhau
với cấu trúc không hề giống nhau. Như vậy vấn đề đặt ra ở đây là làm sao để lấy được
các dữ liệu đó thống nhất về một nguồn cũng như sắp xếp thông tin theo chủ đề mà người
đọc đang quan tâm.
Ngoài ra, xuất phát từ bài toán thực tiễn đang phát triển trong phòng thí nghiệm
Công nghệ phần mềm Toshiba-UET, với yêu cầu trích xuất, đánh giá, phân loại và làm rõ
thông tin cần thiết làm nền tảng cho sự cung cấp thông tin tới người sử dụng, đó chính là
nội dung để tôi triển khai các nội dung trong khóa luận này. Nhưng công việc cần thực
hiện là trích xuất các từ trong văn bản và thông qua quá trình xử lý để mang cho chúng
các thuộc tính giúp chương trình phân biệt và đưa đến nội dung phù hợp với từng cá nhân
người dùng. Cùng với đó là công việc làm tạo mối quan hệ giữa các bài báo mạng với
nhau, trợ giúp tốt cho hệ thống trong việc đưa ra những bài báo có liên quan tới chủ đề
mà người dùng đang tìm kiếm.
Do yêu cầu của khóa luận tôi chia thành các phần như sau:
Thứ nhất, tìm và sắp xếp mức độ liên quan của các bài báo. Không phải mọi dữ liệu
trên mạng đều được phân loại về các chủ đề một cách rõ ràng. Hầu hết chương trình thu
thập và phân tích dữ liệu tự động đều khó xác định chính xác phân lớp mà nội dung mà
nó thuộc về. Như vậy để tổng quát hóa thì coi chúng là chưa được phân loại. Vì vậy khi
một người đang đọc một bài báo thì thật khó để xác định được bài báo nào mà họ muốn
đọc tiếp theo. Trong phần này tôi sẽ xây dựng một ứng dụng cho phép làm điều đó dễ
dàng hơn, tức là từ một link của một bài báo đầu vào tôi sẽ tiến hành tìm những link liên
quan và loại bỏ đi những link ít liên quan mà bài báo đó có liên kết tới.
Page 10
Thứ hai, tiến hành phân tích cấu trúc của bất kỳ một bài báo mạng nào để trích
xuất và đưa ra phần nội dung chính của bài báo đó. Đây là phần chính trong việc thu
thập thông tin từ các trang báo mạng. Để thu thập được thông tin ta phải tìm ra vùng
chính chứa dữ liệu của mỗi trang báo và loại bỏ đi những vùng chứa quảng cáo hay
những thông tin không hữu ích khác. Các trang báo mạng thường cấu trúc rất đa dạng,
tuy nhiên một trong số chúng cũng có những đặc điểm chung tương đồng về cấu trúc ở
chính trong phần chứa dữ liệu. Công việc phải làm đó là phải tìm và lưu được lại những
đặc điểm của phần cấu trúc chứa thông tin đó như là một đặc trưng để phân biệt các bài
báo với nhau. Sau khi đã lấy được những đặc trưng đó thì việc tìm và trích xuất nội dung
chính của bài báo sẽ trở lên dễ dàng hơn. Mỗi bài báo mới vào ta sẽ so sánh với những
đặc trưng (trong khuôn khổ khóa luận tôi gọi đó là luật của bài báo) sẵn có từ đó lấy dữ
liệu ra một cách dễ dàng. Đây là chính là phương pháp mà tôi sử dụng-phương pháp trích
xuất dữ liệu của trang web dựa trên những cấu trúc đồng dạng.
Để giải quyết những vấn đề trên tôi sẽ xây dựng hệ thống với như sau:
Vấn đề thứ nhất là sắp xếp và thu gọn mức độ liên quan của các bài báo. Để làm
được điều này tôi sử dụng thuật toán HITS cho việc thu gọn và sắp xếp mối tương quan
giữa các trang. Để dễ dàng cho việc phân tích mối quan hệ giữa các trang thì tôi sẽ chọn
cách biểu diễn các mối quan hệ đó dưới dạng một đồ thị quan hệ. Và việc thu gọn mức
độ liên quan giữa các bài báo chính là việc thu gọn kích cỡ của đồ thị đó. Khi người dùng
đọc một bài báo hệ thống sẽ phải tìm kiếm được những bài báo liên quan tới nó và xây
dựng lên một đồ thì liên quan tới bài báo đó, những bài báo đó sẽ được loại bỏ bớt đi khỏi
đồ thì nhờ áp dụng thuật toán HITS. Thuật toán HITS tiến hành xây dựng ra một ma trận
là ánh xạ của đồ thị và sử dụng kỹ thuật nhân với vector đơn vị để tìm ra những vector
trọng số tương ứng của đồ thị. Từ đó sắp xếp và phân loại và loại bỏ những trang web
chính là những node trong đồ thị mà có trọng số thấp. Đồ thị sau khi thu gọn bởi thuật
toán HITS sẽ còn lại là những bài báo gần với bài báo mà người dùng đang được. Những
bài báo tìm được sẽ được đưa vào bộ trích xuất thông tin và lấy dữ liệu để hiển thị lên
giao diện đọc tiên.
Vấn đề thứ hai là tiến hành phân tích cấu trúc của bất kỳ một bài báo mạng nào để
trích xuất và đưa ra phần nội dung chính của bài báo đó. Giải quyết vấn đề này tôi sử
dụng thuật toán IEPAD để phân tích cấu trúc. Như đã biết một trang báo mạng sẽ có cấu
trúc cây DOM tương ứng, cấu trúc cây DOM này thế hiện sự phân bố sắp xếp các layout
của trang báo mạng đó. Và điều đặc biệt đó là thông thường những vùng có cấu trúc lặp
là phần chứa dữ liệu chính. Vậy nhiệm vụ của hệ thống là tìm ra những vùng có cấu trúc
lặp để xác định phần nội dung bài báo cũng như là lưu trữ vùng cấu trúc lặp đó để sử
dụng cho những lần trích xuất sau này. Để làm được điều này thuật toán dựa trên cấu trúc
dữ liệu PAT tree, cấu trúc dữ liệu này cho phép phát hiện được vùng lặp của dữ liệu.
Trong hệ thống của tôi các thẻ của cây DOM được chuyển đổi sang dạng một String để
Page 11
có thể đưa vào cấu trúc dữ liệu cây PAT. Sau đó cây PAT sẽ tiến hành tính toán để tìm ra
xâu lặp trong phần dữ liệu được đưa vào đó chính là phần chứa cấu trúc lặp của website.
Phần cấu trúc lặp này sẽ được chuyển đổi ngược lại để đưa ra được vị chí chính xác của
vùng chứa dữ liệu trong cây DOM. Từ đó tôi thực hiện một số phương pháp biến đổi và
tách lọc khác để đưa ra được dữ liệu của trang báo.
Các phần còn lại của khóa luận có cấu trúc như sau:
Chương 2. Cơ sở lý thuyết. Giới thiệu về các phương pháp, các bài toán con được áp
dụng vào hệ thống
Chương 3. Đặc tả mô hình hệ thống. Miêu tả hướng giải quyết, các ghép nối bài toán
con.
Chương 4. Thực nghiệm. Đưa ra những kết quả đã làm và đánh giá.
CHƯƠNG 2. CƠ SỞ LÝ THUYẾT VÀ CÔNG NGHỆ
2.1. Cơ sở lý thuyết
2.1.1. URL: Uniform Resource Location
-
URL - viết tắt của Uniform Resource Locator , nó là địa chỉ của một tài nguyên
trên Internet. URL được phát triển bởi Tim Berners-Lee năm 1994 và Internet
Engineering Task Force (IETF) nhóm làm việc URI. Định dạng URL được chỉ
định trong RFC 1738 Uniform Resource Locators. Nó có thể là một website, một
trang web, một hình ảnh.
-
URL hay Định vị tài nguyên đồng nhất dùng để xác định vị trí (toàn cầu) của một
tài nguyên web.
-
Một URL cho biết tên tài nguyên, tên ứng dụng, cổng chạy và địa chỉ máy chủ.
Page 12
-
Khi triệu gọi tài nguyên, client có thể gửi kèm theo URL các tham số và giá trị của
tham số. Tham số sẽ được xử lý trên Server cùng với tài nguyên được gọi.
Hình 2.1: URL
-
Thuật ngữ "address web - địa chỉ web" là một từ đồng nghĩa với một URL sử dụng
giao thức HTTP / HTTPS.
2.1.2. Giới thiệu về DOM
DOM là chữ viết tắt từ tiếng Anh Document Object Model ("Mô hình Đối tượng Tài
liệu"), là một giao diện lập trình ứng dụng (API). Thường thường DOM, có dạng một cây
cấu trúc dữ liệu, được dùng để truy xuất các tài liệu dạng HTML và XML. Mô hình
DOM độc lập với hệ điều hành và dựa theo kỹ thuật lập trình hướng đối tượng để mô tả
tài liệu.
Một trang web bao gồm một tập các đối tượng được tổ chức theo cấu trúc cây có gốc là
đối tượng window
-
Đối tượng window đại diện cho cửa sổ/khung hiển thị trang web và được khai
báo ngầm định.
-
Đối tượng document đại diện cho chính nội dung trang web là một thuộc tính
của window.
HTML được dùng để khai báo các đối tượng (thuộc các lớp dựng sẵn)
CSS được dùng để định nghĩa thuộc tính/kiểu hiển thị cho các đối tượng
(Java) script được dùng để quản lý (tạo, hủy bỏ, thay đổi thuộc tính, triệu gọi phương
thức) các đối tượng, định nghĩa lớp mới.
Page 13
Ví dụ:
Hình 2.2: Cấu trúc cây DOM
2.1.3. Thuật toán HITS
Đây là thuật toán được tôi sử dụng trong việc tìm ra mối liên hệ giữa các trang web và
dùng để xây dựng nên mạng lưới quan hệ ở mức ban đầu.
HITS [7] – Hypertext Include Topic Seclection, thuật toán HITS là một thuật toán phân
tích liên kết mà đánh giá ở mức các trang web, được phát triển bởi Jon Kleingberg. Đây
là một tiền thân của PageRank. Ý tưởng bắt nguồn từ một cái nhìn tổng quan vào các
trang web trên Internet ban đầu được hình thành, đó là tập hợp các trang web nào đó,
được gọi là hub, đáp ứng các chỉ mục lớn nhưng nó không có những thông tin đó mà nó
được sử dụng như tài liệu sưu tập của các danh mục lớn. Để có được các thông tin người
sử dụng trực tiếp truy cập vào các chỉ mục đó để dấn tới các trang web có chứa thông tin.
Nói cách khác, một hub tốt đại diện cho một trang trỏ tới nhiều trang khác, và một
authority tốt đại diện cho một trang mà được liên kết bởi các hub khác nhau.
Thuật toán HITS [9] là một trong những thuật toán trích xuất chủ đề nổi tiếng. Đưa ra
một tập các trang web về một chủ đề khoa học, thuật toán HITS tính toán số điểm
authority (đó là biểu thị cho nội dung liên quan) và số điểm hub (một biểu thị cho liên kết
liên quan) cho mỗi trang web. Việc tính toán được thực hiện như sau, trong đó q → p ký
hiệu trang q có một liên kết trỏ đến trang p.
Page 14
Ví dụ về cách tính a(p) và h(q) được biểu diễn trên Hình 3:
Hình 2.3: Ví dụ về HUB và AU
Thuật toán HITS không xử lý trường hợp các liên kết lặp đi lặp lại. Cho nên, thuật toán
HITS có thể được cải thiện bằng cách gán trọng số cho cạnh để xử lý các liên kết trùng
lặp. Nếu có k cạnh từ các tài liệu trên một máy chủ đầu tiên tới một tài liệu duy nhất trên
một máy chủ thứ hai, khi đó mỗi cạnh được đưa ra một trọng số authority của 1/ k. Nếu
có cạnh l từ một tài liệu duy nhất trên máy chủ đầu tiên tới một tập tài liệu trên máy chủ
thứ hai, khi đó mỗi cạnh được đưa ra một trọng số hub là 1/ l. Vì vậy, cải thiện thuật toán
HITS tính toán trọng số như sau:
Page 15
Giả sử tôi có một mạng lưới đầu vào như hình dưới:
Hình 2.4: Ví dụ về một mạng lưới đơn giản
Trong đó mỗi node số 3 sẽ được trỏ tới từ hai node 1 và 2 hay nói cách khác mỗi mũi
tên có hướng tứ node C tới node B thể hiện việc C có liên kết dẫn đến B. Bước tiếp
theo tôi xây dựng một ma trận vuông A trong đó n chính là số node của đồ thị ban
đầu. Với mỗi một mũi tên có hướng sẽ tương ứng với số 1 trong ma trận ánh xạ. Nếu
có mũi tên trỏ từ C tới B thì phần tử A[c,b]=1. Đối với một đồ thị đơn giản như trên ta
sẽ xây dựng được một ma trận thể hiện mối quan hệ tương ứng như sau:
Page 16
Với ma trận trên ta sẽ đi tìm những vector trọng số theo thuật toán HITS :
Trong ví dụ này thì vector v thể hiện trọng số của mỗi node chính là vector cho biết
mức độ liên quan của node đối với trang web đầu vào (điểm càng cao độ liên quan
càng lớn). Như vậy ta cũng có thể dễ dàng thấy được từ đồ thị node số 3 được node số
1 và số 2 trỏ vào do đó nó có điểm là 2 còn node 1 và node 2 thì sẽ có điểm là 0 hoàn
toàn khớp với những gì tính toán được.
2.1.4. Thuật toán IEPAD
Trọng tâm của việc giải quyết bài toán trích xuất luật chính là thuật toán
IEPAD [6]. Thuật toán này cho phép nhận một trang web đầu vào và đưa ra bộ luật
của trang web đó chính là trật tự, cấu trúc sắp xếp của các layout trong trang web
đó.
Một hệ thống iepad bao gồm 3 thành phần:
Page 17
-
Extraction rule generator: Nhận đầu vào là một webpage và trích xuất ra các
luật trong webpage đó.
-
Pattern viewer: giao diện đồ họa cho người sử dụng.
-
Extractor module: trích xuất ra những thông tin mong muốn từ những webpage
tương tự khác.
Trọng tâm chính của công nghệ này chính là extraction rule generator
Hình 2.4: Sơ đồ bộ trích xuất luật
Kết quả trả về của bộ extraction rule Generator này là một bộ luật được trích xuất
ra từ webpage đầu vào.
Khi người dùng submit một webpage html vào IEPAD bộ translator sẽ chuyển
mã của webpage này thành một file nhị phân. Từ file nhị phân này PART Tree
Contructor sẽ tạo lên một cây PAT.Bộ khai phá ra cấu trúc sẽ dựa vào cây PAT này để
tìm ra những cấu trúc lặp lại được gọi là maximal repeats. Maximal repeats sẽ được
Page 18
chuyển cho bộ Validator để lọc bỏ những cấu trúc không cần thiết. Cuối cùng Rule
Composer sẽ lọc lại những luật đó và tổng hợp để đưa ra kết quả cuối cùng.
2.2. Khái niệm và đặc trưng
2.2.1. Đồ thị quan hệ
•
Là mạng lưới thể hiện sự quan hệ giữa các bài báo. Trong mạng lưới quan hệ
này mỗi bài báo là một nút, một nút có đường dẫn tới một nút khác tức là bài
báo này có link liên kết tới bài báo kia.
•
Mạng lưới quan hệ có thể được rút gọn dần dần bằng việc loại bỏ dần đi các
nút có mối quan hệ thấp hơn so với những nút còn lại.
2.2.2. Luật của trang web
Mỗi trang web đều có cấu trúc cây DOM xác định và việc trích xuất thông tin dựa
vào cấu trúc của trang web đó đã và đang là môt vấn đề lớn trong công nghệ phần mềm
trên internet. Trước đó cũng đã có nhiều cách giải quyết cho vấn đề này như là áp dụng
học máy để tự động trích xuất thông tin, nhưng nhìn chung những giải pháp này đều đòi
hỏi khá nhiều thời gian và kinh nghiệm cá nhân cũng như những nỗ lực để có thể cung
cấp được những bộ mẫu dành cho việc training. Vì vậy trong bài khóa luận tôi sẽ sử dụng
phương pháp tìm ra vùng chứa dữ liệu trực tiếp từ một trang web đầu vào bằng cách phát
hiện vùng cấu trúc lặp của trang web. Vậy thực tế luật của một trang web ở đây chính là
vùng có cấu trúc lặp của trang web đó. Hay nói cách khác luật của trang web ở đây
chính là đoạn mã thể hiện một phần cấu trúc của trang web có tính lặp đi lặp lại.
Ví dụ một trang web có mã html như sau:
Page 19
Thì vùng luật hay chính là vùng có cấu trúc lặp của trang web đó là đoạn mã sau:
TEXTTEXT
Vùng cấu trúc này được lặp đi lặp lại tới bốn lần. Và những luật này chính là tiền
đề cho việc trích xuất vùng chứa thông tin chính của trang web.
2.2.3. Cấu trúc dữ liệu cây PAT
Cấu trúc cây PAT:
Trong khoa học máy tính, một cây PAT một cấu trúc dữ liệu để biểu diễn các hậu tố của
một xâu kí tự sao cho có thể thực hiện nhanh chóng nhiều thao tác trên xâu.
Cây PAT của xâu S là một cây có cạnh được gắn nhãn là các xâu kí tự và mỗi hậu tố của
S tương ứng với chuỗi thu được bằng cách ghép tất cả các nhãn của một đường từ gốc
đến lá. Do đó nó là cây cơ số (cụ thể hơn, nó là cây Patricia) của các hậu tố của S.
Việc xây dựng cây hậu tố của xâu S sử dụng thời gian và bộ nhớ tuyến tính với độ dài
của S. Sau khi đã xây dựng xong cây, có thể thực hiện nhanh chóng nhiều thao tác, chẳng
hạn như tìm xâu con trong S, tìm xâu con với một số lượng lỗi cố định, tìm biểu thức
chính quy v.v... Cây PAT cũng là một trong những lời giải tuyến tính đầu tiên của bài
toán tìm xâu con chung dài nhất. Tuy làm tăng tốc độ các thao tác nhưng việc lưu trữ cây
PAT thường đòi hỏi nhiều bộ nhớ hơn chỉ lưu trữ xâu kí tự.
Đây là ví dụ cho một cây PAT được xây dựng từ xâu “000001010011100110”
Page 20
Hình 2.5: Ví dụ về cây PAT
Ở đây lần lượt các bit nhị phân được đưa vào cấu trúc cây PAT, nếu là bít 0 thì sẽ ở
nhánh trái và nêu là bit 1 thì sẽ được đưa vào nhánh phải. Các cấu trúc lặp sẽ đưuọc phát
hiện nhờ cây PAT với độ phức tạp O(n).
CHƯƠNG 3. CÁC THÀNH PHẦN CỦA HỆ THỐNG
Page 21
3.1. Mô hình tổng quan hệ thống
Sơ đồ tổng quan của hệ thống:
Hình 3.6: Sơ đồ tổng quan hệ thống
Đầu vào của hệ thống là URL dẫn tới một bài báo của một trang báo mạng bất kỳ.
Với giả thuyết đây chính là bài báo mà người dùng đang đọc tại một ứng dụng nào đó.
Như vậy yêu cầu của hệ thống là phải lấy được phần chứa thông tin chính của trang báo
đó kèm theo những thuộc tính như là tiêu đề tác giả để hiển thị lên ứng dụng của mình.
Yêu cầu thứ hai của hệ thống đó là đề xuất được những bài báo có liên quan tới bài báo
Page 22
mà người dùng đang đọc. Sự liên quan ở đây có thể là liên quan về nội dung, chủ đề mà
người đọc hứng thú và đang muốn tìm hiểu. Với những yêu cầu trên hệ thống sẽ lần lượt
đi theo các bước:
Đầu tiên khi nhận được URL đầu vào hệ thống sẽ tiến hành lấy toàn bộ mã nguồn
của bài báo đó dưới dạng mã html. Trong dữ liệu lấy được sẽ chứa cả phần nội dung
chính, những phần thông tin bên lề, và có thể chứa cả những liên kết từ bài báo đó tới
những bài báo liên quan khác (outgoing link). Các phần xử lý cho việc tìm liên kết liên
quan tôi sẽ sử dụng lại kết quả được trình bày trong khóa luận của bạn Trương Văn Hưng
[4]. Theo đó thuật toán được sử dụng trong việc tìm kiếm những trang liên quan là thuật
toán DSE [5]. Đầu tiên, thuật toán tìm ra một tập hợp các trang như trang mẫu mà có cấu
trúc hiển thị tương tự với các trang mục tiêu. Dựa vào liên kết đi của trang mục tiêu, thuật
toán lấy được một tập nguồn cho các trang mẫu. Từ tập nguồn này, phân tích URL của
từng trang trong tập nguồn đó và tìm ra các trang mẫu. Cuối cùng những trang mẫu chính
là những trang có liên quan tới bài báo đang đọc.
Ví dụ về link liên quan:
Hình 3.7: Ví dụ về link liên quan
Như hình trên các bạn có thể thấy phần trong khung đen chính là các liên kết đến các
trang khác.
Tiếp theo khi đã có được các trang liên quan tới một trang đầu vào hệ thống sẽ tiếp
tục tìm ra những trang liên quan tới những trang vừa tìm được. Trong khuôn khổ khóa
luận tôi chỉ tìm các trang liên quan tới mức 3. Cuối cùng sẽ thu được một đồ thị quan hệ
Page 23
của các trang web đối với một trang đầu vào. Các trang trong đồ thị về mặt nào đó sẽ có
những mối liên quan tới trang đầu vào nhưng các bài báo ấy vẫn chưa thực sự “thuần chủ
đề”. Để giải quyết vấn đề này tôi sẽ sử dụng thuật toán HITS để thu gọn và làm mịn hơn
mối quan hệ giữa các trang web. Đồ thị quan hệ sẽ được rút gọn do vậy các trang trong
đồ thị đó sẽ có mối quan hệ mật thiết hơn và trở thành những đề xuất tốt hơn cho người
đọc. Là tiền thân của PageRank thuật toán HITS với cài đặt đơn giản sẽ mang lại hiệu
quả cao trong việc trích chọn chủ đề.
Sau khi có được các URL của các trang web liên kết tới trang web đầu vào thì hệ
thống cần tiến hành trích xuất thông tin và hiển thị dữ liệu. Đây là một phần khá độc lập
của hệ thống, tốc độ phân tích cấu trúc ảnh hưởng đến tốc độ của việc lấy dữ liệu cũng
như tốc độ của cả hệ thống. Ở đây tôi sử dụng thuật toán IEPAD để trích xuất dữ liệu.
Thuật toán IEPAD sẽ tiến hành lấy mã nguồn HTML của bài báo về rồi phân tích đưa ra
cấu trúc lặp của bài báo. Cấu trúc này chính là luật của bài báo hay cũng chính là đặc
trưng về vùng chứa dữ liệu chính của bài báo. Từ đó nội dung chính của bài báo được
trích xuất và hiển thị lên trên ứng dụng.
Cuối cùng các luật trích xuất được sẽ được lưu lại vào database kèm theo tên miền
và link của bài báo. Những luật này sẽ được sử dụng cho việc trích xuất những bài báo có
cấu trúc tương tự.
3.2. Lọc bài báo theo chủ đề
Như đã đề cập ở phần mở đầu đây là một trong hai bài toán chính của hệ thống với
mục đích chính là thu gọn mạng lưới quan hệ đầu vào để đưa ra những bài báo có độ liên
quan mật thiết hơn.
Tổng quan của bài toán như sau:
Page 24
Hình 3.8: Sơ đồ giải quyết phần lọc bài báo
Trong đó:
Đồ thị quan hệ: là đồ thị được xây dựng từ trang web đầu vào miêu tả mối quan hệ giữa
trang đầu vào và những trang khác.
Ma trận quan hệ: được ánh xạ từ đồ thị quan hệ để phục vụ cho việc tính toán trọng số
cho từng node của đồ thị.
Quá trình tính toán hub và authorities được định nghĩa như đã trình bày trong chương 2.
Thu gọn đồ thị: là quá trình loại bỏ đi nhữ node có trọng số authorities thấp để giảm kích
thước của đồ thị.
Page 25
Các bước giải quyết bài toán sẽ được trình bày theo một ví dụ cụ thể. Với link đầu vào là
URL=http://dantri.com.vn/tam-long-nhan-ai/cam-thuong-canh-ga-trong-lung-cong-nuoicon-gai-di-tat-873348.htm hệ thống có thể tìm được trong bài viết đó những liên kết khác
tới những bài viết khác và xây dựng lên một sơ đồ quan hệ như sau:
Hình 3.9: Đồ thị thực tế xây dựng từ một bài báo cụ thể
Page 26
Các node trong mạng lưới quan hệ trên đều đã có ít nhiều liên quan đến một chủ đề
nhưng để thu gọn hơn nữa tôi sẽ tiến hành tính điểm cho mỗi node trong mạng lưới trên.
Một ma trận sẽ được xây dựng từ đồ thị trên như sau:
A=
Tại mỗi điểm có liên kết là tương ứng với số 1 trong ma trận, bước tiếp theo là tìm ma
trận chuyển vị:
=
Nhân với vector đơn vị để tìm ra vector trọng số:
V= =
Như vậy ta có thể tính được node 2 và 5 là có điểm cao nhất và nó có tới 2 trang chỉ tới
nó, để thu gọn chủ để tối sẽ loại bỏ đi những node có điểm nhỏ hơn 1(trừ node gốc). Kết
quả thu được sẽ là mạng lưới gọn hơn như sau:
Page 27
.
Hình 3.10: Đồ thị quan hệ sau khi đã được thu gọn
Những node có điểm thấp sẽ được loại bỏ phụ thuộc vào giới hạn mà ta tự quy định, tùy
thuộc vào mức độ ta muốn thu gọn đối với đồ thị. Kết quả là hệ thống sẽ cho ra một đồ
thị quan hệ mới với độ liên quan giữa các node là mật thiết hơn.
Page 28
3.3. Trích xuất luật cấu trúc
3.3.1. Tổng quan
Trên thực tế công việc trích xuất luật chỉ là một modul trong một phần hệ thống lớn hơn
mà ở đó việc phân tích cấu trúc tìm ra luật đóng vai trò cốt yếu.
Sơ đồ tổng quan hệ thống:
Hình 3.11: Mô hình tổng quan của bộ trích xuất luật
Phần hệ thống này bao gồm:
Bộ thu thập dữ liệu: chịu trách nhiệm về việc thu thập và tiềm xử lý dữ liệu trước khi
bước vào phân tích.
Bộ phân tích cấu trúc: phân tích cấu trúc và đưa ra các luật.
Bộ học cấu trúc: tìm kiếm những luật có sẵn trong cơ sở dữ liệu và so sánh chúng với
những trang web mới để tìm ra sự tương đồng hay không về cấu trúc. Đồng thời lưu
những luật mới vào cơ sở dữ liệu.
Page 29
Máy phân tích: là phần hệ thống có nhiệm vụ sử dụng các luật để tìm kiếm và bóc tách
layout hay phần nội dung chính của bài báo.
Từ trang web đầu vào dữ liệu được lấy về để phân tích. Tại đây dữ liệu được tinh chỉnh
loại bỏ bớt đi những phần dư thừa có thể dễ dàng nhận thấy trước tiên.
Kết quả của bước này chính là những dữ liệu đã “sạch sẽ” và sẵn sang cho việc phân tích
cấu trúc (chi tiết của máy phân tích cấu trúc sẽ được tôi nói rõ hơn trong phần sau). Kết
quả của máy phân tích cấu trúc chính là những tập luật đặc trưng cho cấu trúc phần chứa
nội dung chính của trang báo. Các tập luật này sẽ được đưa vào bộ học cấu trúc.
Bộ học cấu trúc có nhiệm vụ lưu lại những cấu trúc vào cơ sở dữ liệu, và khi có một trang
web mới vào bộ học cấu trúc sẽ tiến hành phân tích những luật đã có sẵn trong cơ sở dữ
liệu đem so sánh với cấu trúc hiện tại của trang web mới. Nếu như trang web đó đã có
sẵn cấu trúc tương đồng trong cơ sở dữ liệu thì hệ thống sẽ tiến hành trích xuất dữ liệu dễ
dàng. Nếu như không thể tìm được cấu trúc tương đồng cho trang web mới bộ học cấu
trúc sẽ tiến hành lưu lại cấu trúc (quá trình học cấu trúc) để sẵn sàng cho các trang báo
khác tương tự.
3.3.2. Chi tiết của máy phân tích cấu trúc
Máy phân tích cấu trúc được xây dựng dựa trên thuật toán IEPAD sử dụng cấu trúc dữ
liệu cây PAT để tìm và phát hiện ra vùng cấu trúc lặp của trang web. Đây là phần quan
trọng của hệ thống đóng vai trò cốt lõi trong quá trình trích xuất luật. Về mặt tổng quan
máy phân tích cấu trúc sẽ nhận đầu vào là một mã html của bài báo cần trích xuất và trả
về phần cấu trúc lặp hay chính là luật của trang web đó. Để làm được điều đó thì mã html
sẽ được xử lý thông qua hàng loạt các thành phần của máy cấu trúc với sơ đồ như sau:
Page 30
Hình 3.12: Sơ đồ chi tiết của máy phân tích cấu trúc
Translator: Là bộ chuyển đổi cho phép biến đổi mã html thành dạng mã có thể dễ dàng
đưa vào cấu trúc dữ liệu cây PAT. Bộ chuyển đổi phải đảm bảo có thể chuyển đổi và khôi
phục lại. Dữ liệu sau khi chuyển đổi sẽ phải dữ lại được đặc điểm về cấu trúc của trang
báo.
Page 31
Xây dựng cây PAT: đây là thành phần có nhiệm vụ nhận dữ liệu từ translator để xây
dựng lên cây PAT lưu trữ dữ liệu đó. Sau đó sử dụng cây PAT để phân tích phát hiện
vùng có cấu trúc lặp.
Bộ kiểm tra: trong quá trình phân tích và trích xuất vùng cấu trúc lặp chắc chắn sẽ gặp
nhiều sai sót và những trường hợp ngoại lệ. Thành phần này giúp giải quyết vấn đề đó.
Vai trò của bộ kiểm tra là phân tích những luật thu được từ giai đoạn trên, lọc ra những
luật hợp lý có thể sử dụng được.
Bộ biên soạn luật: Vùng cấu trúc lặp thu đưuọc từ trang web không nhất thiết chí có một
mà có thể có nhiều. Bộ biên soạn luật có nhiệm vụ tổng hợp những luật đó thành một
dạng thống nhất mang đặc trưng của tất cả các bộ luật thu được. Và có thể sử dụng luật
sau khi xử lý như bất kỳ bộ luật nào trước khi xử lý.
Trong một bài toán cụ thể tôi đã sử dụng hệ thống trích xuất luật trên để tiến hành phân
tích luật cho một bài báo có URL như sau:
startUrl = "http://dantri.com.vn/the-thao/wenger-tiep-tuc-vay-goi-henry-tro-lai-emirates668542.htm";
Qua bộ dịch toàn bộ mã HTML của bài báo trên sẽ được lấy về xử lý qua bộ biên dịch và
đưa ra được kết quả như sau:
“Text(_)Text(_)Text(_)
Text(_)…Text(_)”. Như vậy toàn bộ cấu trúc của
bài báo vẫn có thể nhận biết được từ đoạn mã trên. Mục đích của bộ biên dich này là để
biến đổ mã trang web về dạng chuỗi có thể đưa vào cấu trúc cây PAT.
Tiếp theo là tiến hành phân tích để tìm ra mã cấu trúc lặp:
(_)<
(_)Text(_)Text(_)Text(_)<
p>Text(_)<
/
p>Text(_)Text(_)Text(_)
Text(_)Text(_)<
Text(_)Text(_)Text(_)<
p>Text(_)Text(_)<
Kết quả thu được là:
/p>Text(_)Text(_)Text(_)Text(_)
Page 32
Đoạn mã kết quả trên là một đoạn trong toàn bộ file html đầu vào, do phần mã ấy có cấu
trúc lặp nhiều nhất nên hệ thống đã phát hiện được nó. Trên thực tế ddaonj mã ấy thể
hiện phần text lớn nhất của bài báo.Như vậy phần thu được ở trên chính là luật mà chúng
ta cần tìm, từ đoạn mã trên tôi có thể chuyển đổi ngược lại để biết được chính xác vị trí
của vùng chứa dữ liệu chính.
Trong một số trường hợp khác rất có thể sẽ phát hiện được nhiều đoạn mã khác nhau
cũng có tần số lặp xấp xỉ nhau. Do vậy chúng ta cần bộ kiểm tra tính hợp lệ để phân tích
và loại bỏ đi những luật không phù hợp.
Những luật còn lại sẽ được tổng hợp lại thông qua bộ biên soạn luật. Để cho đơn giản tôi
xin lấy một ví dụ nhỏ như sau:
Giả sử sau khi loại bỏ những luật không phù hợp chúng ta thu lại được 3 luật là
adcwbd
adcxbadcxbd
Vậy thì bộ biên soạn luật sẽ tổng hợp chúng lại thành 1 sao cho khi dựa vào luật tông hợp
chúng ta vẫn có thể sử dụng nó để trích xuất dữ liệu như là sử dụng cả 3 luật tức là luật
tổng hợp phải bao phủ 3 luật trên. Trong trường hợp này luật tổng hợp sẽ là: “adc[w|
x]b[d|-]”.
Nhược điểm của việc trích xuất luật ở đây là có thể có một số lượng lớn luật được tổng
hợp và việc biên soạn luật trở lên khó khăn. Do vậy chúng ta phải sử dụng những phương
pháp loại bỏ luật sao cho hợp lý, việc này chủ yếu dựa vào kinh nghiệm của người lập
trình.
Page 33
CHƯƠNG 4. KẾT QUẢ VÀ THỰC NGHIỆM
4.1. Đánh giá tính đúng đắn của hệ thống.
Để đưa hệ thống vào thực nghiệm tôi đã đưa vào một hệ thống lớn hơn chính là ứng dụng
đọc tin được đang phát triển trong phòng thí nghiệm Công nghệ phần mềm Toshiba-UET
có tên là PageLayout [3]. Đây là ứng dụng cho phép đọc tin và thao tác tìm kiếm tin tức
trên mobile. Tổng quan hệ thống như sau:
Hình 4.13: Miêu tả hệ thống được nhúng trong ứng dụng thực tế
Hệ thống ban đầu là hệ thống đọc tin đơn thuần là lấy trực tiếp các bài báo từ các website
về hiển thị lên trên ứng dụng một cách trực tiếp thông qua một bộ phân tích dữ liệu đơn
giản do vậy hiệu xuất làm việc không được cao và có hạn chế về số loại trang báo có thể
trích xuất, hơn nữa tốc độ có thể sẽ chậm và cần phải trích xuất và lưu vào cơ sở dữ liệu
Page 34
từ trước. Để cải thiện tình hình đó thì hệ thống phân tích cấu trúc của tôi được đưa vào
như là một giải pháp để tăng chất lượng của ứng dụng, cũng như giải quyết vấn đề thu
thập từ nhiều nguồn dữ liệu khác nhau.
Dữ liệu sẽ được lấy từ các trang web về và sinh ra luật bằng bộ sinh luật. Sẽ có 2 trường
hợp xảy ra:
Một là cấu trúc luật đó đã được tìm thấy trong cơ sở dữ liệu, như vậy đơn giản hệ
thống chỉ cần tìm tới vùng chứa dữ liệu bằng cách sử dụng luật đó.
Hai là cấu trúc luật không tìm thấy trong CSDL, lúc này hệ thống sẽ tiến hành lưu
vào trong CSDL mục đích để hệ thống có thể phát hiện ra luật đó cho lần trích xuất dữ
liệu sau.
Tôi đã tiến hành train với bộ dữ liệu được thu thập bởi các thành viên khác trong Toshiba
lab. Bộ dữ liệu dùng để training bao gồm 10000 bài báo từ các trang dantri.com, bbc.com
và vnexpress.vn. Dữ liệu đã bao gồm cả link bài báo và nội dung bài báo. Kết quả của bộ
training như sau:
Bảng 4-1: Các thư viện được sử dụng
Trang báo
Số bài
Số luật thu được
Dantri.com.vn
Bbc.com
Vnexpress.vn
7000
1000
2000
1021
233
410
Số luật sử dụng để
trích xuất
652
136
215
Với số luật thu được đó tôi sử dụng chúng để trích xuất 10000 link bài báo khác đã có
chứa cả link bài báo và nội dung để phục vụ cho việc đánh giá độ chính xác và kết quả
như sau:
Bảng 4-2: Các thư viện được sử dụng
Trang báo
Dantri.com.vn
Bbc.com
Vnexpress.vn
Số bài
7000
1000
2000
Số bài chính xác
6510
912
1832
Tỉ lệ chính xác
93%
91.2%
91.6%
Page 35
4.2. Những hình ảnh từ chương trình.
Từ một trang web đầu vào hệ thống đã xây dựng được lên một mạng lưới quan hệ,
hệ thống đã sử dụng thuật toán HITS để xây dựng lên ma trận quan hệ, sau đó dựa vào
ma trận quan hệ để tính trọng số và cuối cùng thu được một cây nhỏ hơn chính xác hơn.
Hình 4.14: Đồ thị quan hệ trên thực nghiệm
Page 36
-
Đây là giao diện trích xuất dữ liệu và các bài báo liên quan:
Hình 4.15: Giao diện của ứng dụng đọc tin
Page 37
4.3. Môi trường thực nghiệm
4.3.1. Cấu hình máy chủ
Bảng 4-3: Cấu hình máy chủ.
IBM System X3200
CPU
Memory
OS
Intel Xeon 3050 @2.13GHz
4x512MB DDR2
Ubuntu 10.0.4 LTS
4.3.2. Cấu hình máy khách
Bảng 4-4: Cấu hình máy khách.
Client 1 : Samsung galaxy tab 1
CPU
Memory
OS
Display Screen
Browsers
Client 2 : Laptop dell inspiron n5110
CPU
Memory
OS
Display Screen
Browsers
Solo-core 1 GHz
512 MB
Android Kitkat 4.4.2
1024x600
Google Chrome for Android
Firefox for Android
Intel Core I3-2330M 2.2GHz
Memory: 4GB DDR3
Window 8.1 Profestional
1360x768
Google Chrome v28
Firefox v26
4.3.3. Công cụ phần mềm
Bảng 4-5: Công cụ phần mềm được sử dụng
STT
1
2
3
Tên công cụ
Eclipse Kepler for JavaEE
Jquery
Servlet
Mô tả
Môi trường phát triển ứng dụng
Javascript framework
Java API
Page 38
4
MySQL 5
Hệ quản trị cơ sở dữ liệu
4.3.4. Các thư viện được sử dụng
Bảng 4-6: Các thư viện được sử dụng
STT
1
2
3
4
5
6
7
8
Tên thư viện
Mô tả
QuoJS
Metro UI CSS
HTTP Client
Weka
Jsoup
Stanford POS tagger
Vntokenizer
GSON
Tài liệu tham khảo
Tiếng Việt
[1] B. T. Hiển, “Hệ thống phân loại và đánh chỉ mục dữ liệu web,” Khóa luận tốt
nghiệp đại học hệ chính quy, 2013.
[2] H. Q. Thụy, Giáo trình Khai phá dữ liệu Web, Giáo Dục Việt Nam.
Page 39
[3] N. S. Khiêm, “Xây dựng giao diện ZUI cho web,” Khóa luận tốt nghiệp đại học
chính quy, 2013.
[4] T. V. Hưng, “Biểu diễn trực quan các liên kết web”,Khóa luận tốt nghiệp đại học
chính quy, 2013.
Tiếng Anh
[5] Data-rich Section Extraction from HTML pages - Jiying Wang và Fred H.
Lochovsky
[6] IEPAD: Information Extraction Based on Pattern Discovery - ChiaHui Chang và
ShaoChen Lui
[7] M. R. L. I. K. Hongbo Deng, "A Generalized Co-HITS Algorithm and Its
Application to Bipartite Graphs," The Chinese University of HK Shatin, NT, Hong
Kong.
[8] http://www.w3schools.com/
[9] http://www.math.cornell.edu/~mec/Winter2009/RalucaRemus.html
Page 40
[...]... của trang báo Các tập luật này sẽ được đưa vào bộ học cấu trúc Bộ học cấu trúc có nhiệm vụ lưu lại những cấu trúc vào cơ sở dữ liệu, và khi có một trang web mới vào bộ học cấu trúc sẽ tiến hành phân tích những luật đã có sẵn trong cơ sở dữ liệu đem so sánh với cấu trúc hiện tại của trang web mới Nếu như trang web đó đã có sẵn cấu trúc tương đồng trong cơ sở dữ liệu thì hệ thống sẽ tiến hành trích xuất. .. trích xuất dữ liệu dễ dàng Nếu như không thể tìm được cấu trúc tương đồng cho trang web mới bộ học cấu trúc sẽ tiến hành lưu lại cấu trúc (quá trình học cấu trúc) để sẵn sàng cho các trang báo khác tương tự 3.3.2 Chi tiết của máy phân tích cấu trúc Máy phân tích cấu trúc được xây dựng dựa trên thuật toán IEPAD sử dụng cấu trúc dữ liệu cây PAT để tìm và phát hiện ra vùng cấu trúc lặp của trang web Đây... vùng có cấu trúc lặp là phần chứa dữ liệu chính Vậy nhiệm vụ của hệ thống là tìm ra những vùng có cấu trúc lặp để xác định phần nội dung bài báo cũng như là lưu trữ vùng cấu trúc lặp đó để sử dụng cho những lần trích xuất sau này Để làm được điều này thuật toán dựa trên cấu trúc dữ liệu PAT tree, cấu trúc dữ liệu này cho phép phát hiện được vùng lặp của dữ liệu Trong hệ thống của tôi các thẻ của cây... tích cấu trúc: phân tích cấu trúc và đưa ra các luật Bộ học cấu trúc: tìm kiếm những luật có sẵn trong cơ sở dữ liệu và so sánh chúng với những trang web mới để tìm ra sự tương đồng hay không về cấu trúc Đồng thời lưu những luật mới vào cơ sở dữ liệu Page 29 Máy phân tích: là phần hệ thống có nhiệm vụ sử dụng các luật để tìm kiếm và bóc tách layout hay phần nội dung chính của bài báo Từ trang web đầu vào. .. luật hay chính là vùng có cấu trúc lặp của trang web đó là đoạn mã sau: TEXTTEXT Vùng cấu trúc này được lặp đi lặp lại tới bốn lần Và những luật này chính là tiền đề cho việc trích xuất vùng chứa thông tin chính của trang web 2.2.3 Cấu trúc dữ liệu cây PAT Cấu trúc cây PAT: Trong khoa học máy tính, một cây PAT một cấu trúc dữ liệu để biểu diễn các hậu tố của một xâu kí tự sao cho... lại 2.2.2 Luật của trang web Mỗi trang web đều có cấu trúc cây DOM xác định và việc trích xuất thông tin dựa vào cấu trúc của trang web đó đã và đang là môt vấn đề lớn trong công nghệ phần mềm trên internet Trước đó cũng đã có nhiều cách giải quyết cho vấn đề này như là áp dụng học máy để tự động trích xuất thông tin, nhưng nhìn chung những giải pháp này đều đòi hỏi khá nhiều thời gian và kinh nghiệm... tích dữ liệu đơn giản do vậy hiệu xuất làm việc không được cao và có hạn chế về số loại trang báo có thể trích xuất, hơn nữa tốc độ có thể sẽ chậm và cần phải trích xuất và lưu vào cơ sở dữ liệu Page 34 từ trước Để cải thiện tình hình đó thì hệ thống phân tích cấu trúc của tôi được đưa vào như là một giải pháp để tăng chất lượng của ứng dụng, cũng như giải quyết vấn đề thu thập từ nhiều nguồn dữ liệu. .. training Vì vậy trong bài khóa luận tôi sẽ sử dụng phương pháp tìm ra vùng chứa dữ liệu trực tiếp từ một trang web đầu vào bằng cách phát hiện vùng cấu trúc lặp của trang web Vậy thực tế luật của một trang web ở đây chính là vùng có cấu trúc lặp của trang web đó Hay nói cách khác luật của trang web ở đây chính là đoạn mã thể hiện một phần cấu trúc của trang web có tính lặp đi lặp lại Ví dụ một trang web... những đề xuất tốt hơn cho người đọc Là tiền thân của PageRank thuật toán HITS với cài đặt đơn giản sẽ mang lại hiệu quả cao trong việc trích chọn chủ đề Sau khi có được các URL của các trang web liên kết tới trang web đầu vào thì hệ thống cần tiến hành trích xuất thông tin và hiển thị dữ liệu Đây là một phần khá độc lập của hệ thống, tốc độ phân tích cấu trúc ảnh hưởng đến tốc độ của việc lấy dữ liệu. .. của hệ thống đóng vai trò cốt lõi trong quá trình trích xuất luật Về mặt tổng quan máy phân tích cấu trúc sẽ nhận đầu vào là một mã html của bài báo cần trích xuất và trả về phần cấu trúc lặp hay chính là luật của trang web đó Để làm được điều đó thì mã html sẽ được xử lý thông qua hàng loạt các thành phần của máy cấu trúc với sơ đồ như sau: Page 30 Hình 3.12: Sơ đồ chi tiết của máy phân tích cấu trúc ... NATIONAL UNIVERSITY, HANOI UNIVERSITY OF ENGINEERING AND TECHNOLOGY TRÍCH XUẤT CHỦ ĐỀ VÀ DỮ LIỆU DỰA VÀO SỰ ĐỒNG DẠNG TRONG CẤU TRÚC CỦA TRANG WEB Đỗ Văn Phong KHÓA LUẬN TỐT NGHIỆP ĐẠI HỌC HỆ CHÍNH... liệu tập trung vào việc phân tích cấu trúc trang web Để làm điều khóa luận tập trung vào việc trích xuất luật (rules) từ trang web từ dựa vào luật để tìm trang web có cấu trúc tương tự cuối trích. .. trúc vào sở liệu, có trang web vào học cấu trúc tiến hành phân tích luật có sẵn sở liệu đem so sánh với cấu trúc trang web Nếu trang web có sẵn cấu trúc tương đồng sở liệu hệ thống tiến hành trích