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

trích xuất dữ liệu từ những trang web đồng cấu trúc

16 868 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

Định dạng
Số trang 16
Dung lượng 673,68 KB

Nội dung

Để 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à

Trang 1

ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ

-BÁO CÁO NIÊN LUẬN NGÀNH : CÔNG NGHỆ THÔNG TIN

ĐỀ TÀI: TRÍCH XUẤT DỮ LIỆU TỪ NHỮNG TRANG WEB ĐỒNG CẤU

TRÚC

Giảng viên hướng dẫn: PGS.TS Nguyễn Việt Hà Giảng viên đồng hướng dẫn : ThS Vũ Quang Dũng

Sinh viên: Đỗ Văn Phong

Mã sinh viên: 10020252 Lớp: K55C-CLC

Trang 2

Mục lục

1 Đặt vấn đề 3

1.1 Thực trạng 3

1.2 Phát biểu bài toán 3

1.3 Mô hình cơ bản 5

2 Cơ sở lý thuyết và công nghệ 6

2.2 Giới thiệu về DOM 7

2.4 Thuật toán IEPAD 9

3 Phương pháp giải quyết 11

3.1 Bài toán phân lớp cho dữ liệu bằng phương pháp invert indext sử dụng mô hình Map-Reduce 11

3.2 Bài toán trích xuất luật từ một trang web 12

4 Kết quả hiện tại 14

5 Phương hướng phát triển 15

Tài liệu tham khảo 15

Trang 3

1 Đặt vấn đề

1.1 Thực trạng

Ngày nay, chúng ta đang ngập trong 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ị Con người không có đủ thời gian để xem xét dữ liệu như vậy Sự chú ý của con người đã trở thành nguồn tài nguyên quý giá

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 tóm tắ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

Dữ liệu trên các website là vô cùng phong phú về chủ để và là nguồn tài nguyên quý giá không thể bỏ qua Chúng ta cần có những phương pháp để thu thập đánh giá các thông tin đó, trích xuất ra những thông tin theo những mục đích sử dụng khác nhau

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 chúng ta sẽ tập trung vào những trang web có cấu trúc giống nhau Để 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 đó

Nội dung Niên luận này gồm 4 phần :

Phần 1 - Đặt vấn đề : Nêu thực trạng, phát biểu bài toán cùng cấu trúc cơ bản của chương trình

Phần 2 – Cơ sở lý thuyết : Những kết quả trong các nghiên cứu trước đó, có liên hệ, phục vụ cho chương trình này

Phần 3 – Phương pháp giải quyết : Từ những cơ sở lý thuyết ở trên, đưa ra những phương pháp giải quyết bài toán

Phần 4 – Kết quả hiện tại : Những kết quả đạt được tới thời điểm hiện tại

Phần 5 : Kết luận và hướng phát triển

1.2 Phát biểu bài toán

Bài toán có nội dung như sau :

- Thu thập các bài báo và xử lý phân lớp đánh chỉ mục sơ bộ cho các dữ liệu thu thập được

- Trích xuất ra luật từ một bài báo bất kỳ, phân tích cấu trúc của trang web đó và đưa ra các luật của trang web đó

- Từ các luật đó đưa ra mối quan hệ giữa các bài báo thu thập được và các bài báo khác, xây dựng nên mạng lưới thể hiện mối quan hệ giữa các bài báo đó

Trang 4

Minh họa mạng lưới quan hệ giữa các bài báo

Trong đó :

- Dữ liệu :

o Dữ liệu thu thập được bao gồm những trường như nội dung bài báo, ảnh minh họa, link… của

các bài báo

o Cần tiến hành phân lớp dữ liệu (Ví dụ : thể thao, xã hội,…) trích xuất ra các từ khóa đặc trưng

cho mối lớp bài báo

o Tiến hành làm mịn dữ liệu nhiều lần bằng cách lấy các từ khóa đặc trưng của lớp bài báo đó để

tìm những bài báo liên quan sau đó tiếp tục đưa các bài báo liên quan đó vào cơ sở dữ liệu

- Mạng lưới quan hệ :

o Là mạng lưới thể hiện sự quan hệ giữa các bài báo, những bài báo có liên quan tới nhau là những

bài báo cùng có liên quan tới các keyword đặc trưng của phân lớp mà bài báo đó thuộc vào Một bài báo có thể thuộc nhiều phân lớp

- Luật:

o Là các quy tắc của cấu trúc trang web, về thứ tự sắp xếp các thẻ trong cấu trúc cây DOM

Trang 5

1.3 Mô hình cơ bản

Làm mịn dữ liệu:

Mô tả :

Dữ liệu được lưu trữ vào database sau đó sẽ được phân tích để đưa vào các category khác nhau từ đó ta trích xuất các từ khóa để tìm được những từ khóa đặc trưng của category đó Tiếp tục lại dùng các từ khóa đó để tìm kiếm thêm các bài báo có liên quan tới nó

Trích xuất luật trang web:

Trang 6

Mô tả:

Từ cơ sở dữ liệu thu thập được phân tích và trích xuất ra luật của trang web, về vị trí của các layout có trên trang web cấu trúc cây DOM …

Sau đó kết hợp với từ khóa để xây dựng nên mối quan hệ giữa các trang web các bài báo với nhau

Trích xuất thông tin và lưu trở lại cơ sở dữ liệu

2 Cơ sở lý thuyết và công nghệ

2.1 URL: Uniform Resource Location

- 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ủ

- 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

Trang 7

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

Ví dụ:

Trang 8

2.3 Mô hình MapReduce

MapReduce là một mô hình lập trình và là một thực hiện có liên quan đến xử lý và tạo ra các tập dữ liệu lớn Người dùng chỉ định chức năng tham chiếu(map function) để xử lý một cặp khóa/giá trị (key/value) để tạo ra một tập các cặp khóa/giá trị trung gian và chức năng rút gọn(reduce function) để tạo ra liên kết giữa các giá trị trung gian này mà chúng có cùng một khóa Cụ thể hơn, MapReduce là một framework cho việc xử lý song song các vấn đề gặp phải với một tập dữ liệu lớn được sử dụng bởi rất nhiều các máy tính(mỗi máy tính gọi là một node), gọi chung chúng là một cụm (cluster – tất cả các node trong cùng một mạng và có cùng cấu hình phần cứng) Việc xử lý, tính toán có thể thực hiện trên dữ liệu đã được lưu trữ trên

hệ thống tập tinh (không có cấu trúc) hoặc trên cơ sở dữ liệu (có cấu trúc) MapReduce có thể tận dụng được ưu điểm của dữ liệu trong hệ thống này, xử lý dữ liệu trên hoặc gần các tài nguyên lưu trữ để giảm truyền tải dữ liệu.

Như vậy để tạo ra một chương trình sử dụng mô hình MapReduce thì cần phải cài đặt 2 hàm chính là Map (mũi tên đỏ) và Reduce (mũi tên xanh)

 Hàm Map có một cặp đầu vào và tạo ra một tập hợp các cặp key/value trung gian

 Hàm Reduce cho thấy một key trung gian I và một tập các value cho key đó Nó kết hợp các value đó để tạo thành một tập các giá trị nhỏ hơn

Trang 9

Từ khi MapReduce được giới thiệu, có rất nhiều thuật toán phát triển dựa vào MapRedue để giái quyết các vấn đề khá phức tạp như: Sorting, Searching, Indexing, Classification, Joining, TF-IDF Trong khóa luận này, tôi đã áp dụng sử dụng các mô hình MapReduce vào các giải thuật cho Indexing (Đánh chỉ mục dữ liệu Web) và TF-IDF (Đánh trọng số cho các dữ liệu đánh chỉ mục)

2.4 Thuật toán IEPAD

Một hệ thống iepad bao gồm 3 thành phần:

- 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

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 chuyển cho bộ Validator để lọc bỏ

Trang 10

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

Trang 11

3 Phương pháp giải quyết

3.1 Bài toán phân lớp cho dữ liệu bằng phương pháp invert indext sử dụng mô hình Map-Reduce

Đọc dữ liệu từ hệ thống

Gắn thẻ từ loại cho từng từ của dữ liệu

Phân lớp tự động

dữ liệu đầu vào

Tập các từ trong văn bản đã gắn thẻ (Từ loại, vị trí, số lần xuất hiện)

Làm mịn

Đánh chỉ mục Inverted Index

Tối ưu hóa cây chỉ mục

Hệ thống hoạt động liên tục Xử lý dữ liệu khi được gọi Lưu trữ

Dữ liệu có được thông qua quá trình phân tích dữ liệu Web

Thông qua tách câu và

từ trong mỗi văn bản Tập dữ liệu

huấn luyện

Đánh giá vai trò của

từ trong văn bản và toàn hệ thống

Kết hợp nhiều phương pháp đánh giá Xây dựng thông qua

thuật toán Inverted Index

Đầu vào của hệ thống thường là một văn bản, một bài viết hay cả một đoạn văn hoặc thậm chí là một câu Chúng bắt nguồn từ tập hợp các bài viết về những vấn đề khác nhau và mong muốn đến với người dùng Thông qua hệ thống này, dữ liệu sẽ được xử lý và phân lớp vào các mục rõ ràng Và ngôn ngữ bài viết, văn bản được sử dụng là Tiếng Việt, phù hợp đặc điểm ngôn ngữ của người Việt Trong khóa luận này thì đầu vào của tôi gồm 2 phần chính

Sau khi đọc dữ liệu, công việc đầu tiên hệ thống sẽ xử lý là tách văn bản đầu vào thành các câu và tiến hành gắn thẻ từ loại cho chúng Công việc là thành quả của việc áp dụng nhiều kết quả nghiên cứu về xử lý ngôn ngữ tự nhiên, đặc biệt là công trình Vietnamese Word

Segmentation của thầy Lê Hồng Phương

Tiếp theo hệ thống dựa trên các từ trong câu đã được gắn thẻ, tiến thành trích xuất các từ khóa

và tiến hành phân lớp văn bản tự động nhờ sự giúp đỡ của học máy và bộ tập các từ khóa huấn luyện từ trước Ở đây ta áp dụng định lý Bayes sử dụng nền tảng Weka để tiến hành phân loại

dữ liệu

Trang 12

Công việc tiếp theo là duyệt qua toàn bộ nội dung của bài viết để tìm ra một thông số mang ý nghĩa quan trọng của việc giải quyết các mong muốn tìm kiếm của người sử dụng – đó là số lần xuất hiện Kết hợp với từ loại của các từ đó và vị trí của các từ trong văn bản, đầy đủ các thuộc tính của một từ được thành lập, giúp ích cho công việc tiếp theo Đối với các từ xác định là luôn vô nghĩa trong đa số các trường hợp – stopword – đã được loại bỏ hoặc đánh trọng số thấp hơn Như vậy, trong số những công việc trên có việc đánh trọng số - weighting – mang ý nghĩa quan trọng cho việc chọn lọc kết quả tìm kiếm trước khi hiển thị cho người sử dụng Weighting dựa vào số lần xuất hiện của từ trong một bài viết, trong một chủ đề hay trong toàn bộ các bài viết thì sẽ có những đánh giá khác nhau

Cuối cùng, thông qua hệ thống gắn thẻ từ loại, phân loại các thuật ngữ đã có đầy đủ thuộc tính như trên và cũng chính là đầu vào của thuật toán Inverted Index Đầu ra của hệ thống rất quan trọng cho việc hình thành cây chỉ mục (index) của toàn bộ nội dung được đưa vào Toàn bộ kết quả này được lưu trữ trong cơ sở dữ liệu, sau đó sẽ thực hiện các công việc chuẩn hóa làm tăng

độ tin cậy của cây chỉ mục phục vụ tốt nhiệm vụ tìm kiếm của người sử dụng

3.2 Bài toán trích xuất luật từ một trang web

Để có thể tìm ra được luật của một trang web tôi sẽ sử dụng thuật toán IEDPAD Như đã giới thiệu ở phần trước thì một hệ thống sử dụng thuật toán IEPAD báo gồm 3 thành phần chính là

extraction rule generator, pattern viewer, extractor module.Trong đó phần quan trọng nhất là

bộ sinh luật (extraction rule generator) Sau đây là chi tiết về các thành phần có trong bộ sinh

luật:

3.2.1 Translator:

Từ các thẻ và các text của một trang web bộ chuyển đổi này sẽ tách ra thành text tokens và tag tokens Ví dụ Html(</a>) là tag token còn Text (_) là text token

Ví dụ trang web đầu vào là congo code chỉ bao gồm 2 dòng:

<B>Congo</B><I>242</I><BR>

<B>Egypt</B><I>20</I><BR>$

Khi qua translator sẽ thành:

Html(<B>)Text(_)Html(</B>)Html(<I>)Text(_)Html(</I>) Html(<BR>)Html(<B>)Text(_)Html(</B>)Html(<I>)Text(_)Html(</I>)

Mã hóa với thành nhị phân với độ dài cố định là 3:

Html(<B>) 000 Html(</B>) 001 Html(<I>) 010

Trang 13

Html(</I>) 011 Html(<BR>) 100 Text(_) 110 Kết quả cuối cùng là: “000110001010110011100000110001010110011100$” kết thúc bằng $

3.2.2 Cấu trúc cây PAT:

Sau khi mã hóa thành file nhị phân, file đó sẽ được dùng để xây dựng lên cây PAT như sau:

Từ những cây PAT này thì chúng ta sẽ có được bộ luật của trang web đó, sau khi

có được bộ luật này ta sẽ sử dụng nó để so sánh với bộ luật của các trang web khác để biết được nó có tương đồng hay không Nếu tương đồng việc trích xuất thông tín sẽ trở nên dễ dàng hơn rất nhiều

4 Kết quả hiện tại

Sau thời gian tìm hiểu, triển khai và kế thừa từ khóa luận của Bùi Thế Hiển [2] bước đầu đã

có số thành tựu sau:

 Phân lớp được dữ liệu vào các mục khác nhau

Trang 14

 Trích xuất ra được các key work đặc trưng cho từng phân lớp.

Phần trích xuất luật vẫn đang nghiên cứu thuật toán IEPAD

5 Phương hướng phát triển

-Xây dựng hệ thống làm mịn dữ liệu từ cách keyword đã được trích chọn ra, tiếp tục lấy thêm

dữ liệu từ các link liên quan để phong phú nguồn dữ liệu

- Tiếp tục nghiên cứu và phát triển hệ thống sử dụng thuật toán IEPAD để có thể sinh ra các luật của một trang web bất kỳ

6 Tài liệu tham khảo

[1] Data-rich Section Extraction from HTML pages - Jiying Wang và Fred H Lochovsky

Trang 15

[2] 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

[3] H Q Thụy, Giáo trình Khai phá dữ liệu Web, Giáo Dục Việt Nam

[4] IEPAD: Information Extraction Based on Pattern Discovery - ChiaHui Chang và

ShaoChen Lui

[5] http://www.w3schools.com/

Trang 16

Ý kiến đánh giá :

Điểm số: ……… Điểm chữ: ………

Xác nhận của Khoa CNTT Chủ nhiệm Khoa Hà Nội, ngày tháng năm 2013 Giáo viên đánh giá (Ký và ghi rõ họ tên)

Ngày đăng: 08/10/2015, 13:45

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w