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

40 575 0
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

Đ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

ĐẠ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

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

Từ khóa liên quan

Mục lục

  • TÓM TẮT KHÓA LUẬN

  • ABSTRACT

  • CHƯƠNG 1. GIỚI THIỆU VỀ HỆ THỐNG

  • 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

      • 2.1.2. Giới thiệu về DOM

      • 2.1.3. Thuật toán HITS

      • 2.1.4. Thuật toán IEPAD

      • 2.2. Khái niệm và đặc trưng

        • 2.2.1. Đồ thị quan hệ

        • 2.2.2. Luật của trang web

        • 2.2.3. Cấu trúc dữ liệu cây PAT

        • CHƯƠNG 3. CÁC THÀNH PHẦN CỦA HỆ THỐNG

          • 3.1. Mô hình tổng quan hệ thống

          • 3.2. Lọc bài báo theo chủ đề

          • 3.3. Trích xuất luật cấu trúc

            • 3.3.1. Tổng quan

            • 3.3.2. Chi tiết của máy phân tích cấu trúc

            • CHƯƠNG 4. KẾT QUẢ VÀ THỰC NGHIỆM

              • 4.1. Đánh giá tính đúng đắn của hệ thống.

              • 4.2. Những hình ảnh từ chương trình.

              • 4.3. Môi trường thực nghiệm

                • 4.3.1. Cấu hình máy chủ

                • 4.3.2. Cấu hình máy khách

                • 4.3.3. Công cụ phần mềm

                • 4.3.4. Các thư viện được sử dụng

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan