) chúng có thẻ đóng Bởi thẻ đóng nên chèn vào để tất thẻ cân Các thẻ định dạng không tốt cần thiết sửa chữa Một thẻ sai thường thẻ đóng, thẻ cắt ngang khối ẩn bên Ví dụ: … … … , khó để sửa lỗi trường hợp tồn chồng chéo đa cấp Có vài phần mềm mã nguồn mở để làm mã HTML, số phần mềm thông dụng như: JTidy, NekoHTML, HTMLCleaner Xây dựng cây: Chúng ta theo khối thẻ HTML để xây dựng DOM * Sử dụng thẻ hộp Visual Cue Thay phân tích mã HTML để sửa lỗi, sử dụng biểu diễn thông tin trực quan để suy luận mối quan hệ có cấu trúc thẻ xây dựng DOM Các bước xử lý sau: - Tìm đường biên hình chữ nhật ứng với phần tử HTML thơng qua việc cơng cụ trình diễn trình duyệt ví dụ trình duyệt Internet Explorer 13 - Theo thẻ mở kiểm tra xem hình chữ nhật có nằm hình chữ nhật khác khơng, để xây dựng DOM Ví dụ minh họa sử dụng Visual Cue xem Hình 2.7 Một đoạn mã HTML có ba lỗi, sử dụng thơng tin ảo dễ dàng xây dựng DOM Hình 2.5 Ví dụ xây dựng DOM sử dụng hộpVisual Cue c Trích rút thơng tin từ trang web sử dụng DOM Để trích rút thơng tin cần thiết node DOM, cần rõ đường từ gốc đến node cần trích rút thông tin Đường gọi XPath hay mẫu trích rút Trước tiên việc trích rút hỗ trợ xây dựng DOM cho mã HTML trang Các mẫu trích rút làm rõ đường dẫn từ gốc DOM đến node chứa nội dung cần trích rút Ví dụ: Đây DOM đoạn mã HTML chứa thông tin báo, gồm tiêu đề báo (title) nội dung báo (content) Bài tốn đặt sử dụng DOM trích rút thông tin tiêu đề báo nội dung báo Mẫu trích rút xây dựng sau: 14 Mẫu trích rút tiêu đề báo: HTML -> BODY -> B -> CharacterData Mẫu trích rút nội dung báo: HTML -> BODY -> FONT -> CharacterData Hình 2.6 Mơ tả mẫu trích tiêu đề nội dung báo Việc trích rút hỗ trợ xây dựng DOM cho mã HTML trang Các mẫu trích rút làm rõ đường dẫn từ gốc DOM đến node chứa nội dung cần trích rút Với đầu vào trang web có dạng liệt kê danh sách mẩu tin, phương pháp luận văn thực thông qua bước sau: Bước 1: Xác định thuộc tính khóa liệu Bước 2: Xây dựng liệu mẫu trang web Bước 3: Tìm kiếm liệu có trang web Bước 4: Xác định thuộc tính liệu 2.2.2 Giới thiệu trích rút thơng tin sử dụng biểu thức quy a Định nghĩa biểu thức quy (Regular Expression) b Sử dụng biểu thức quy để trích rút thơng tin từ web 15 2.3 ÁP DỤNG PHƢƠNG PHÁP TRÍCH RÚT THƠNG TIN ĐỂ XÂY DỰNG ỨNG DỤNG ĐỌC TIN NHANH 2.3.1 Các chức chƣơng trình Thơng qua ứng dụng, người dùng đọc mẩu tin đọc tồn thơng tin trang web Ứng dụng tiến hành xây dựng trang tin thơng qua trích rút mẩu tin từ trang web thơng qua lấy tồn nội dung trang web dựa vào RSS mà người dùng cung cấp Từ trang web cần trích rút thơng tin, ứng dụng tiến hành trích rút thơng tin dựa việc phân tích mã HTML xây dựng cấu trúc DOM Thơng tin sau trích rút lưu lại CSDL để tiến hành xử lý sau hiển thị lên trang tin ứng dụng Ứng dụng tiến hành lấy toàn nội dung trang web dựa vào RSS mà người dùng cung cấp sau hiển thị lên trang tin khác ứng dụng Các chức chương trình bao gồm: - Thu thập URL cần trích rút nội dung, đầu vào tốn trích rút thơng tin - Trích nội dung trang tin tức dựa vào phân tích HTML xây dựng DOM - Lưu nội dung trích rút vào sở liệu - Chọn lựa hiển thị kết thu hình 2.3.2 Các phƣơng pháp xây dựng trang tin cho ứng dụng Luận văn tiến hành xây dựng trang tin qua hai phương pháp: Phương pháp 1: Lấy toàn nội dung trang web dựa vào cấu trúc RSS trang web Phương pháp 2: Lấy phần nội dung trang web cách trích rút thơng tin phân tích HTML xây dựng cấu trúc DOM, sử dụng thuật toán Body Text Extraction 16 2.3.3 Sử dụng cấu trúc DOM để trích rút thơng tin cho ứng dụng đọc tin nhanh a Các bước ttrích rút thơng tin dựa DOM Để trích rút thơng tin phân tích mã HTML dựa cấu trúc DOM, hết cấu trúc DOM trang web, phân tích xem thơng tin cần lấy nằm nhánh DOM tiến hành trích rút thơng tin dựa ID thẻ HTML Các bước tiến hành trích rút thơng tin dựa DOM mơ tả Hình 2.13 Hình 2.13 Các bước trích rút thơng tin dựa DOM 17 Các bước trích rút thơng tin DOM tiến hành sau: Bước 1: Xác định mẩu thông tin cần hiển thị ứng dụng Bước 2: Duyệt cấu trúc DOM trang web lấy tin Bước 3: Xác định địa mẩu tin cần lấy dựa vào ID Bước 4: Tiến hành trích rút thơng tin dựa vào ID mẩu tin Bước 5: Hiển thị mẩu tin lên trang tin ứng dụng b Phân tích mã HTML trang web Hầu hết tất trang web có cấu trúc mã HTML riêng để hiển thị nội dung trang Để lấy phần trang web, đòi hỏi phải cần biết nội dung cần lấy nằm phần cấu trúc HTML từ dựa vào ID thẻ để lấy phần nội dung cần trích rút Q trình trích rút thơng tin q trình phân tích mã HTML từ lấy mẩu tin dựa vào ID thẻ HTML thông qua ngôn ngữ truy vấn CSS Selector c Truy vấn trang web ngôn ngữ CSS Selector Queries Như biết tập tin HTML có nhiều thẻ giống thông thường đặt ID, class cho thẻ để phân biệt Trong CSS dựa vào ID class để truy xuất tới cách truy xuất gọi Selector Ngôn ngữ truy vấn CSS Selector dùng để trích rút phần nội dung trang web dựa vào cấu trúc DOM trang web Chúng ta truy cập vào trang web https://try.jsoup.org/ để xem cấu trúc DOM trích rút từ trang web thử viết câu lệnh truy vấn CSS Selector 18 Hình 2.12 Truy vấn trang web CSS Selector Queries Hình 2.12 minh họa trích rút phần thông tin giá vàng trang cách sử dụng ngơn ngữ CSS Selector Queries d Trích rút thơng tin bảng xếp hạng bóng đá * Mơ tả tốn Đầu vào toán: Website thethao247 Đầu tốn: Nội dung Bảng Xếp Hạng Bóng Đá trích rút từ website thethao247 * Xây dựng DOM trang web phân tích mã HTML Dựa vào phân tích mã HTML trang web, xây dựng cấu trúc DOM trang web sau: * Bộ liệu mẫu trích rút thơng tin * Tiến hành trích rút thơng tin Tương tự phương pháp trích rút thơng tin Bảng Xếp Hạng, dùng thuật tốn để trích rút nhiều tin khác thông tin giá vàng, giá ngoại tệ, dự báo thời tiết, kết sổ số từ trang web khác 19 e Cài đặt bước trích rút thơng tin ngơn ngữ Java Document document = Jsoup.connect(url_bxh).get(); Elements exephang = document.select("td.ltid"); int aa = exephang.size(); for (int i = 0; i < aa; i++) { xepHang += "\n\n" + exephang.get(i).text(); } Elements elements = document.select("td.ltn"); int a = elements.size(); for (int i = 0; i < a; i++) { string += "\n\n" + elements.get(i).text(); } Elements etran = document.select("td.ltg"); int b = etran.size(); for (int i = 0; i < b; i++) { tran += "\n\n" + etran.get(i).text(); } Elements ediem = document.select("td.ltp"); int c = ediem.size(); for (int i = 0; i < c; i++) { diem += "\n\n" + ediem.get(i).text(); } 2.3.4 Giới thiệu thuật toán Body Text Extraction a Mơ tả tốn Đầu vào: Nội dung trang tin tức, bao gồm thẻ HTML nội dung 20 Đầu ra: Nội dung trang tin tức lọc bỏ thẻ HTML nội dung khác b Giới thiệu thuật tốn trích rút Body Text Extraction Bước 1: Mỗi trang web tương ứng với tệp định dạng HTML Làm mã HTML cách loại bỏ thẻ, đoạn mã HTML chắn không chứa thông tin liên quan đến nội dung thẻ , , , , , … phần nội dung nằm bên cặp thẻ trang web Bước 2: Đối với phần trang web lại, xây dựng hai mảng, binary_tokens[] tokens[] Binary_tokens[] gồm phần tử (thẻ HTML) -1 (dấu hiệu văn bản); Tokens[] mảng gồm phần tử dấu hiệu văn bản/thẻ tương ứng với phần tử binary_tokens[]; Gộp phần tử liền có giá trị giống mảng binary_tokens[] lại làm thành phần tử lưu vào mảng encode[]; Bước 3: Xác định vị trí hai điểm i, j từ mảng binary_tokens[]vừa thu bước cho số phần tử -1 (tương ứng với dấu hiệu văn bản) [i,j] lớn số phần tử (tương ứng với thẻ) ngồi khoảng [i,j] lớn Tiến hành bóc tách liệu đoạn [i,j] loại bỏ thẻ HTML c Đánh giá thuật toán Qua thử nghiệm cho thấy, thuật tốn Body Text Extraction áp dụng xác trích rút nội dung văn trang tin tức, điều phù hợp với yêu cầu thu thập toàn nội dung trang web Sau thu thập nội dung trang web, nội dung tái sử dụng tùy vào mục đích khác hệ thống 21 2.3.5 Các giải pháp tổng hợp thông tin cho ứng dụng Sau tiến hành trích rút thơng tin từ trang web CSDL hệ thống, thông tin tổng hợp trước đưa đến người sử dụng Có nhiều giải pháp đưa để tổng hợp thơng tin là tổng hợp thơng tin theo chủ đề, tổng hợp thông tin theo thời gian, tổng hợp thông tin theo nguồn tin Nội dung thông tin lấy xếp cách khoa học để dễ tìm kiếm sử dụng, loại bỏ tin dư thừa Tuy nhiên, sử dụng phương pháp trích rút thơng tin cho trang web tình trạng thơng tin dư thừa khơng xảy Vì trích rút thơng tin, ứng dụng lựa chọn mẩu tin cần trích rút chọn lọc trước trích rút 22 CHƢƠNG PHÁT TRIỂN ỨNG DỤNG ĐỌC TIN NH NH BẰNG CÁCH TRÍCH RÚT THƠNG TIN TỪ CÁC TR NG WEB Dựa vào giải pháp trình bày nội dung chương trước, nội dung chương luận văn tiến hành phát triển ứng dụng môi trường thiết bị di động sử dụng hệ điều hành android sử dụng thuật tốn trích rút thơng tin dựa phân tích mã HTML cấu trúc DOM Toàn nội dung chương luận văn trình bày chi tiết cài đặt ứng dụng đọc tin nhanh thiết bị di động android bao gồm cài đặt môi trường phần cứng, phần mềm, mô tả chức hệ thống, phân tích thiết kế hệ thống tiến hành triển khai việc xây dựng ứng dụng 3.1 CÀI ĐẶT MÔI TRƢỜNG PHẦN CỨNG VÀ PHẦN MỀM 3.1.1 Một số hệ thống đọc tin nhanh đƣợc xây dựng 3.1.2 Xây dựng ứng dụng chạy độc lập thiết bị di động 3.1.3 Lựa chọn công cụ mơi trƣờng lập trình android 3.1.4 Cài đặt cấu hình JDK 3.1.5 Cài đặt phần mềm Android Studio 3.1.6 Cài đặt máy ảo Genymotion 3.1.7 Các công cụ phần mềm khác 3.2 CÁC CHỨC NĂNG CƠ BẢN CỦA HỆ THỐNG ĐỌC TIN NHANH 3.2.1 Chức tạo tài khoản đăng nhập hệ thống 3.2.2 Chức xem thông tin tài khoản 3.2.3 Chức cập nhật thông tin tài khoản 3.2.4 Chức quản lý trang tin tức 23 3.2.5 Chức đọc tin dựa vào trang tin ngƣời dùng lƣu 3.2.6 Chức đọc tin dựa việc cung cấp RSS 3.2.7 Chức đọc tin mặc định hệ thống 3.3 PHÂN TÍCH THIẾT KẾ HỆ THỐNG 3.3.1 Xác định tác nhân ca sử dụng 3.3.2 Biểu đồ Use Case 3.3.3 Sơ đồ hoạt động ứng dụng 3.3.4 Mơ hình thực thể liên kết 3.3.5 Thiết kế sở liệu ứng dụng 3.4 CÀI ĐẶT VÀ THỬ NGHIỆM ỨNG DỤNG 3.4.1 Giao diện trang đăng nhập 3.4.2 Giao diện trang đăng ký tài khoán 3.4.3 Giao diện trang danh mục chức 3.4.4 Giao diện trang thông tin ngƣời dùng 3.4.5 Giao diện trang chủ 3.4.6 Giao diện trang đọc tin RSS 3.4.7 Giao diện chức quản lý trang 3.4.8 Giao diện chức đọc tin tức tổng hợp 24 KẾT LUẬN VÀ HƢỚNG PHÁT TRIỂN Luận văn tập trung nghiên cứu phương pháp trích rút thơng tin từ trang web trình bày khái niệm liên quan đến xử lý ngơn ngữ tự nhiên Trên cở sở đó, luận văn tiến hành sử dụng phương pháp trích rút thơng tin từ trang web dựa phân tích mã HTML cấu trúc DOM, thuật toán Body Text Extraction để xây dựng ứng dụng đọc tin nhanh Luận văn xây dựng thành công hệ thống đọc tin nhanh điện thoại android, góp phần giúp người cập nhật tin tức cách hiệu nhanh chóng mở hướng việc khám phá tiếp cận tri thức Tuy nhiên, q trình thực luận văn, khn khổ thời gian lượng kiến thức có hạn, luận văn vấp phải nhiều hạn chế, nhiều module ứng dụng đưa mức độ ý tưởng Luận văn tiếp tục hoàn thiện phát triển thời gian tới Từ nhìn nhận trên, mạnh dạn đề xuất hướng nghiên cứu phát triển tiếp luận văn tương lai sau: Nghiên cứu thử nghiệm nhiều công cụ khác ứng dụng desktop, web lọc tin, điện thoại iOS Nâng cấp giao diện tương tác với người dùng để thuận tiện cho người sử dụng Mở rộng trích rút thơng tin nhiều lĩnh vực nghiên cứu khác nghiên cứu khoa học, địa lý, du lịch Hoàn thành phát triển module ứng dụng quên mật khẩu, đổi mật khẩu, tổng hợp thông tin theo chủ đề,… ... phương pháp trích rút thơng tin cụ thể giải pháp trích rút thơng tin cho ứng dụng đọc tin nhanh Chƣơng 3: Phát triển ứng dụng đọc tin nhanh cách trích rút thơng tin từ trang web Tập trung nghiên cứu... ĐỂ XÂY DỰNG ỨNG DỤNG ĐỌC TIN NHANH 2.3.1 Các chức chƣơng trình Thơng qua ứng dụng, người dùng đọc mẩu tin đọc tồn thơng tin trang web Ứng dụng tiến hành xây dựng trang tin thơng qua trích rút. .. động thông minh, mà chi tiết thiết bị di động hệ điều hành android Đó lý tơi chọn đề tài Nghiên Cứu, Xây Dựng Ứng Dụng Đọc Tin Nhanh Bằng Cách Trích Rút Và Tổng Hợp Thơng Tin Từ Các Trang Web