1. Trang chủ
  2. » Thể loại khác

HỆ THỐNG TỔNG HỢP TIN TỨC. KHÓA LUẬN TỐT NGHIỆP ĐẠI HỌC HỆ CHÍNH QUY Ngành: Công nghệ thông tin

54 16 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 54
Dung lượng 1,65 MB

Nội dung

ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ Đào Hoàng Sơn HỆ THỐNG TỔNG HỢP TIN TỨC 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 - 2012 ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ Đào Hồng Sơn HỆ THỐNG TỔNG HỢP TIN TỨC KHĨA LUẬN TỐT NGHIỆP ĐẠI HỌC HỆ CHÍNH QUY Ngành: Cơng nghệ thơng tin Cán hướng dẫn: TS Nguyễn Ngọc Hóa HÀ NỘI - 2012 VIETNAM NATIONAL UNIVERSITY, HANOI UNIVERSITY OF ENGINEERING AND TECHNOLOGY Dao Hoang Son NEWS AGGREGATOR SYSTEM Major: Information Technology Supervisor: Dr Nguyen Ngoc Hoa HA NOI - 2012 LỜI CẢM ƠN Trước tiên, xin bày tỏ lịng cảm ơn chân thành đến TS Nguyễn Ngọc Hóa, người hết lịng bảo, hướng dẫn cho tơi phương pháp tiếp cận vấn đề, giúp giải đáp thắc mắc, giải khó khăn mắc phải để hồn thành khóa luận Tơi xin chân thành cảm ơn thầy cô khoa Cơng nghệ thơng tin hết lịng truyền đạt cho kiến thức tảng Công nghệ thông tin, giúp tơi có đủ kiến thức để tiếp cận, hồn thành khóa luận Bên cạnh tơi xin gửi lời cảm ơn đến giúp đỡ nhiệt tình nhà trường, tạo điều kiện tốt cho tơi để hồn thành khóa luận Tơi xin gửi lời cảm ơn sâu sắc đến người thân gia đình, họ động viên nhiều mặt tinh thần để tơi có đủ nghị lực hồn thành khóa luận Tơi xin chân thành cảm ơn bạn bè tôi, người bên cạnh, động viên, tạo điều kiện thuận lợi cho tơi q trình hồn thành khóa luận Hà Nội, tháng năm 2012 Sinh viên Đào Hoàng Sơn HỆ THỐNG TỔNG HỢP TIN TỨC Đào Hồng Sơn Khóa QH-2008-I/CQ, ngành Cơng nghệ thơng tin Tóm tắt Khóa luận tốt nghiệp Trong thời đại bùng nổ thông tin phương tiện thông tin đại chúng, người sử dụng mạng Internet giới nội chung Việt Nam nói riêng tiếp cận với lượng thơng tin khổng lồ Các thơng tin khó tổng hợp cách có hệ thống, người đọc khó nắm bắt hết tin tức nhiều thời gian để đọc hết tin Do vậy, khóa luận tơi muốn phát triển hệ thống phân tích báo đưa thơng tin tổng hợp giúp người xem nhanh chóng nắm bắt vấn đề xã hội Từ khóa: xử lý text, xu hướng, scaling LỜI CAM ĐOAN Tơi xin cam đoan kết đạt khố luận sản phẩm riêng cá nhân Trong tồn nội dung khố luận, điều trình bày cá nhân tổng hợp từ nhiều nguồn tài liệu Tất tham khảo từ nghiên cứu liên quan rõ trích dẫn danh mục tài liệu tham khảo cách rõ ràng Tơi xin hồn toàn chịu trách nhiệm theo quy định cho lời cam đoan Hà Nội, tháng năm 2012 Sinh viên Đào Hoàng Sơn MỤC LỤC MỞ ĐẦU CHƯƠNG TỔNG QUAN HỆ THỐNG .3 1.1 Hiện trạng, vấn đề cần giải 1.2 Mục tiêu hệ thống 1.3 Ý tưởng thiết kế .4 1.3.1 Hệ thống xử lý văn tiếng Việt 1.3.2 Hệ thống tổng hợp tin tức .6 CHƯƠNG CÁC CÔNG CỤ ĐƯỢC SỬ DỤNG 2.1 Giới thiệu hệ quản trị sở liệu 2.1.1 Hệ quản trị sở liệu quan hệ 2.1.2 NoSQL 11 2.2 Giới thiệu RESTful web API 16 2.2.1 Cơ 16 2.2.2 Sử dụng phương thức giao thức HTTP 16 2.2.3 Không lưu trạng thái .19 2.2.4 Sử dụng URI có cấu trúc giống thư mục 20 2.2.5 Hỗ trợ XML, JSON hai 21 2.3 Giới thiệu crawler/web crawler .21 2.4 Giới thiệu ngơn ngữ lập trình web 22 2.4.1 PHP .22 2.4.2 Ruby .23 2.4.3 Python 24 2.4.4 Node.js 25 CHƯƠNG PHÂN TÍCH THIẾT KẾ HỆ THỐNG .26 3.1 Hệ thống xử lý tiếng Việt .26 3.1.1 Cấu trúc hệ thống 26 3.1.2 Cấu trúc sở liệu 28 3.1.3 API cho hệ thống xử lý tiếng Việt 30 3.1.4 Giải thuật xử lý .30 3.2 Crawler (Hệ thống tổng hợp tin tức) 32 3.2.1 Cấu trúc hệ thống 32 3.2.2 Cấu trúc sở liệu 33 3.2.3 Giải thuật xử lý .33 3.3 Front-end (Hệ thống tổng hợp tin tức) 36 4.2.1 Thiết kế giao diện front-end 36 4.2.2 Giải pháp cài đặt 39 CHƯƠNG THỰC NGHIỆM 40 5.1 Kết thực nghiệm 40 5.1.1 Hệ thống xử lý tiếng Việt 40 5.1.2 Hệ thống tổng hợp tin tức, phần Crawler 41 5.2 Hướng phát triển 43 5.3 Kết luận .44 TÀI LIỆU THAM KHẢO 45 Tiếng Việt 45 Tiếng Anh 45 Endnote 45 DANH MỤC TỪ VIẾT TẮT Từ viết tắt Tiếng Anh Tiếng Việt CPU Central Processing Unit Bộ xử lý trung tâm PaaS Platform as a Service Nền tảng dịch vụ RDBMS Relational Database Hệ quản trị sở liệu Management System quan hệ SaaS Software as a Service Phần mềm dịch vụ MỞ ĐẦU Trong thời đại bùng nổ thông tin phương tiện thông tin đại chúng, người sử dụng mạng Internet giới nội chung Việt Nam nói riêng tiếp cận với lượng thông tin khổng lồ Một phần lớn lượng thơng tin cung cấp trang báo mạng, trang tin tức hay blog cá nhân người tiếng Điểm chung thông tin là: chủ yếu dạng text, có siêu liên kết đến thơng tin liên quan, trình bày dàn trải, có cấu trúc Với đặc điểm vậy, thông tin khó tổng hợp cách có hệ thống, người đọc khó nắm bắt hết tin tức nhiều thời gian để đọc hết tin Để giải vấn đề đó, khóa luận tìm hiểu giải pháp tổng hợp phân tích báo tiếng Việt diện rộng, cách hồn tồn tự động Từ đưa thơng tin hữu ích, mang tính tổng quát tình hình xã hội, giúp người đọc nhanh chóng có nhìn cụ thể tin tức ngày khoảng thời gian định Với mục tiêu vậy, có số khó khăn định mặt kĩ thuật, khóa luận trình bày khó khăn giải pháp lựa chọn để giải d Giá trị đoạn chữ tính tổng giá trị bảng mã Unicode kí tự Sau có kết phân tích n-gram hai văn (văn yêu cầu tìm văn tài liệu hệ thống), thực so sánh đoạn chữ trùng khớp hai kết Tính giá trị so sánh số đoạn trùng khớp chia cho số đoạn chữ Giá trị khoảng Nếu giá trị so sánh lớn 0.5 (giá trị hard code hệ thống) thực emit với key _id value giá trị so sánh emit phương thức cung cấp hệ thống MapReduce, dùng giai đoạn Map để đưa kết cho giai đoạn Reduce Xử lý giai đoạn Reduce đơn giản hơn, bao gồm việc trả lại value danh sách value Giai đoạn phải xử lý key emit giai đoạn Map _id tức đảm bảo với tài liệu 3.2 Crawler (Hệ thống tổng hợp tin tức) 3.2.1 Cấu trúc hệ thống Crawler thiết kế với đoạn mã Python chạy độc lập với nhiên giai đoạn sử dụng kết giai đoạn trước với mơ sau: 32 Mỗi giai đoạn có công việc cụ thể là: Queue Manager: lấy đường dẫn tin từ RSS feed Fetcher: tải tin từ đường dẫn lấy bước Parser: xử lý tin tải về, trích xuất nội dung chuyển cho hệ thống xử lý tiếng Việt 3.2.2 Cấu trúc sở liệu Toàn Crawler sử dụng hệ thống file để lưu danh sách RSS feed danh sách đường dẫn chờ tải Riêng bước Parse, Crawler truy xuất vào sở liệu Front-end để lưu trữ liệu 3.2.3 Giải thuật xử lý 3.2.3.1 Queue Để cài đặt crawler hệ thống tổng hợp tin tức, có mục tiêu rõ ràng tin từ trang báo, trang tin, trang tổng hợp Việt Nam nên khóa luận khơng thực theo mơ hình thơng thường crawler (tải về, tìm siêu liên kiết, lưu lại) mà sử dụng trang RSS cung cấp để thu thập đường dẫn đến trang tin 33 Với danh sách địa trang RSS có sẵn, bước Queue cần tải trang RSS dạng XML xử lý Hình RSS báo Tuổi trẻ Với ví dụ RSS báo Tuổi trẻ, Queue phải thực tìm đối tượng tiếp tục tìm tiếp đối tượng trích xuất đường dẫn để lưu lại 3.2.3.2 Fetch 34 Sau có đường dẫn tin bước 1, Fetch lấy đường dẫn từ hàng chờ tải lưu tạm thư mục articles Đường dẫn lưu tính tốn tương ứng theo đường dẫn tới tin Một số ví dụ: • http://tuoitre.vn/The-gioi/383531/Bo-anh-hiem-hoi-cua-gia-dinh Kim-JongIl.html  articles/tuoitre.vn/The-gioi/383531/Bo-anhhiem-hoi-cua-gia-dinh Kim-Jong-Il.html • http://vnexpress.net/gl/van-hoa/2012/01/cac-ngoi-sao-gap-su-co-tren-maybay  articles/vnexpress.net/gl/van-hoa/2012/01/cacngoi-sao-gap-su-co-tren-may-bay 3.2.3.3 Parse Sau có tồn mã HTML trang tin bước 2, Parse bắt đầu q trình phân tích để lọc nội dung tin (loại bỏ phần mã HTML) Có nhiều giải pháp cho việc trích lọc này: • Lọc bán thủ cơng: lập trình viên xem nghiên cứu mã HTML trang (ví dụ trang tin Tuổi trẻ) Sau tìm hiểu kĩ cấu trúc trang đó, lập trình viên viết đoạn mã trích xuất nội dung trang tin theo cách tổng quát Sau đó, có trang tin khác tương tự (ví dụ Tuổi trẻ) hệ thống sử dụng đoạn mã có để trích xuất Nhược điểm lớn phương pháp lập trình viên phải xử lý hệ thống đường dẫn để đảm bảo có đủ đoạn mã trích xuất cho tất đường dẫn hệ thống Đó việc thời gian • Lọc thơng minh: xử lý hiển thị trang web cách đầy đủ sau tìm phần nội dung hiển thị cửa sổ trình duyệt đường cắt (above the fold, giới hạn 600px) kết hợp thêm vài điều kiện khác Từ tìm đoạn nội dung quan trọng trang web để trích xuất Giải pháp lọc hiệu cao, gần với góc nhìn người xem nhiên yêu cầu xử lý lớn để hiển thị trang web hoàn chỉnh cần nhiều thành phần: xử lý HTML, xử lý CSS, chí phải xử lý JavaScript Trước có giải pháp mã nguồn mở 35 Readibilityxvii viết JavaScript dạng bookmarklet nên tận dụng trình duyệt vốn chạy sẵn đem lại kết xác Bộ lọc hệ thống sau thử nghiệm nhiều phương pháp khác nhau, cuối sử dụng thuật tốn sau: Mơ hình hóa HTML trang thành thành phần với quan hệ cha Tìm thẻ HTML có định danh

, Kiểm tra xem nội dung thẻ có chứa dấu chấm (.) hay khơng? a Nếu có, lấy cha cha chứa phần tử b Lặp lại (2.b) khơng lấy cha thỏa mãn lưu lại thẻ cha vào danh sách filtered Lấy thẻ cha thẻ filtered đưa vào sanh sách parents Kiểm tra số thẻ parents: a Nếu có thẻ, trả lại kết tìm thấy b Nếu có thẻ, khơng tìm thấy c Nếu có nhiều thẻ: i Lấy thẻ chứa nhiều nội dung văn ii Trả lại kết tìm thấy Sau có kết lọc nội dung, tìm thấy nội dung gửi nội dung lên hệ thống xử lý tiếng Việt để xử lý lưu vào sở liệu Front-end 3.3 Front-end (Hệ thống tổng hợp tin tức) 4.2.1 Thiết kế giao diện front-end 4.2.1.1 Trang chủ 36 • Feature News: Hiển thị tin nhất, đáng quan tâm hệ thống • Sections: Hiển thị mục tin mục • Trending: Hiển thị danh sách từ khóa thu hút quan tâm (trên toàn hệ thống) 4.2.1.2 Trang từ khóa 37 Khi người dùng click vào từ khóa, hiển thị biểu đồ thay đổi từ khóa theo ngày Đồng thời hiển thị danh sách tin liên quan từ khóa 4.2.1.3 Trang theo mục 38 Khi người dùng click vào mục, hiển thị biểu đồ thay đổi từ khóa mục này, thỉ từ khóa đáng quan tâm Đồng thời hiển thị danh sách viết nhất, đáng quan tâm bên cạnh 4.2.2 Giải pháp cài đặt Với đơn giản Front-end hệ thống, phần xây dựng PHP, kết nối với sở liệu MySQL (chung với Crawler) Để tăng tốc độ phát triển, sử dụng hệ thống Yiixviii 39 CHƯƠNG THỰC NGHIỆM 5.1 Kết thực nghiệm Toàn mã nguồn hệ thống đăng tải địa chỉ: • Hệ thống xử lý tiếng Việt o https://github.com/daohoangson/koluto-platform • Hệ thống tổng hợp tin tức o Crawler  https://github.com/daohoangson/koluto-demo-crawler o Front-end  https://github.com/daohoangson/koluto-demo-front-end Hệ thống chạy thử địa chỉ: • Hệ thống xử lý tiếng Việt o http://api.koluto.com:29690/ • Hệ thống tổng hợp tin tức o http://news.koluto.com/ 5.1.1 Hệ thống xử lý tiếng Việt 5.1.1.1 POST /documents Đây kết chạy thử POST /documents với nội dung gửi lên tài liệu với độ dài khác Thời gian đo phía Node.js sử dụng hàm Date.now() Tập liệu test lựa chọn ngẫu nhiên 191805 file tài liệu Lần chạy Độ dài tài liệu Thời gian 4263 836ms 3115 263ms 1173 38ms 10485 3174ms 40 Lần chạy Độ dài tài liệu Thời gian 4726 1884ms 3576 304ms 9177 1683ms 11750 3395ms 6917 2449ms 10 516 9ms 5.1.1.2 POST /similar Đây kết chạy thử POST /similar với nội dung gửi lên để kiểm tra số tài liệu sở liệu khác Thời gian đo phía Node.js sử dụng hàm Date.now() Tập liệu test lựa chọn ngẫu nhiên 191805 file tài liệu Lần chạy Độ dài tài liệu Số tài liệu db Thời gian 3142 152 1858ms 3112 152 1854ms 3596 311 1610ms 2765 311 1563ms 4524 311 1832ms 5.1.2 Hệ thống tổng hợp tin tức, phần Crawler 5.1.2.1 Queue Hiện tại, địa RSS sử dụng đến từ nguồn sau: Nguồn Số địa RSS 24h.com.vn 16 antd.cand.com.vn cand.com.vn daidoanket.vn dantri.com.vn 44 giaoduc.net.vn 41 Nguồn Số địa RSS hanoimoi.com.vn laodong.com.vn 17 nhandan.org.vn 11 phapluattp.vn sgtt.vn 11 tienphong.vn 30 tuoitre.vn 23 vietnamnet.vn vietnamplus.vn 11 vneconomy.vn vnexpress.net zing.vn 22 Tổng số 249 Với 249 đường dẫn RSS, kết chạy Queue vào ngày 28-05-2012 trích xuất 4052 đường dẫn tin 5.1.2.2 Parse Đây kết lần chạy thử Parse với tập liệu đầu vào khác (chọn lựa ngẫu nhiên từ 191805 file liệu) Cách thức thực test: • Tạo tập liệu: o python test002_get_articles_to_test.py • Xử lý tập liệu tạo: o python test003_parse_test_articles.py Tỉ lệ tính kết phép chia số tin xử lý thành công cho tổng số tin tập liệu Thời gian đo câu lệnh time Unix Lấy giá trị real chia cho số tin xử lý thành công 42 Lần chạy Số lượng Thành công Tỉ lệ Thời gian 164 144 87.80% 111ms 248 220 88.71% 106ms 415 380 91.57% 113ms 3864 3544 91.72% 119ms 3823 3508 91.76% 126ms Một số trang có tỉ lệ xử lý khơng thành cơng cao: • batdongsan.vietnamnet.vn (do số có tồn ảnh) • daidoanket.vn (do nội dung để thẻ ) • hanoimoi.com.vn (do nội dung để thẻ ) • nhandan.com.vn (do số đường dẫn RSS tin bài) • vef.vn (do trang tải sử dụng JavaScript để chuyển tới trang khác) 5.2 Hướng phát triển Hầu hết thành phần hệ thống cải thiện theo hướng khác để tăng cường khả toàn hệ thống Đối với hệ thống xử lý tiếng Việt, mơ hình lưu trữ thực nghiệm có thời điểm chậm, gây treo máy nên cần phải thực nhiều kiểm tra để đạt tính ổn định Mặc dù thiết kế để thực horizontal scaling nhiên hệ thống chưa cài đặt nhiều hai máy chủ (cho sở liệu MongoDB Node.js) Đúng theo thiết kế hiệu hệ thống tăng tuyến tính theo số lượng máy chủ sử dụng Về mặt xử lý, có hai giai đoạn quan trọng bước phân tích từ khóa bước tìm kiếm tài liệu tương tự với tài liệu cho trước Việc xử lý hai bước cịn thơ sơ, chưa áp dụng thuật tốn mạnh xử lý ngơn ngữ tự nhiên Trong q trình thực cịn nhiều ý tưởng chưa thể thực ví dụ việc xử lý giá trị số theo cách riêng cách xác định chuỗi đặc trưng tiếng Việt “nghìn”, “triệu”, “tỉ” (hoặc “tỷ”) để trích xuất nhiều thơng tin có giá trị Ngồi xác định tên riêng người hay địa danh thơng qua cách trình bày với chữ viết hoa có từ từ đứng liền (khơng tính từ câu) 43 Đối với hệ thống tổng hợp tin tức, giai đoạn Parse Crawler giai đoạn cải thiện nhiều Mặc dù tỉ lệ lọc viết thành công nằm khoảng chấp nhận nhiên cịn chưa cao mong muốn Thêm vào đó, kết lọc đơi cịn chứa thơng tin thừa ví dụ “Lưu để đọc sau” “Email này”, “In trang này”,.v.v Đây siêu liên kết đến chức riêng số trang tin, siêu liên kết đặt gần với nội dung nên giai đoạn Parse xác định nhầm Ở trang hiển thị, thiếu số tính theo dự kiến ban đầu cho phép người xem đăng ký tài khoản, tạo lọc, thiết lập thơng báo hàng ngày qua email,.v.v Nhìn chung, hệ thống xử lý tiếng Việt hệ thống hồn chỉnh chức phát triển để cung cấp dịch vụ mang tính chất thương mại với mơ hình Freemium trình bày Để đạt mục tiêu đó, cần đặt ưu tiên cao vào việc đảm bảo tính ổn định hệ thống, chống truy cập trái phép, đảm bảo an tồn thơng tin người sử dụng,.v.v 5.3 Kết luận Với kết nghiên cứu thực nghiệm trình bày, cơng cụ thu giải phần vấn đề được đặt Tuy nhiên thiếu kinh nghiệm nên kết thu nhiều hạn chế, cần tiếp tục cải thiện, nâng cấp 44 TÀI LIỆU THAM KHẢO Tiếng Việt [1] TS Nguyễn Tuệ Giáo trình sở liệu Khoa Công Nghệ, ĐHQGHN, 2004 [2] ThS Đào Kiến Quốc Giáo trình phân tích thiết kế Hệ thống thơng tin - Tin học hố Khoa Cơng Nghệ, ĐHQGHN Tiếng Anh [3] Peter Rob, Carlos Coronel Database system: Design, implementation and management Wadsworth Publishing Company, 1993 Endnote 45 i Trang tổng hợp thông tin tự động BáoMới (http://www.baomoi.com) ii Các công cụ xử lý văn tiếng Việt Lê Hồng Phương (http://www.loria.fr/~lehong/softwares.php) iii Các nghiên cứu Phan Xuân Hiếu Nguyễn Cẩm Tú (https://sites.google.com/site/pxhieu/software) iv Thống kê nguồn tin BáoMới (http://www.baomoi.com/Statistics/Report.aspx) v Trang tổng hợp thông tin Cubit NewsDesk (https://cubit.moreover.com) vi Dịch vụ xác định chép mạng Copyscape (http://copyscape.com) vii Dịch vụ xác định chép văn học thuật turnitin (http://turnitin.com) viii Dịch vụ xác định chép văn học thuật SafeAssign (http://safeassignment.com) ix Codd, E.F (1970) “A Relational Model of Data for Large Shared Data Banks” x Nhánh phát triển MySQL sử dụng Google (http://code.google.com/p/google-mysql/) xi Nhánh phát triển MySQL sử dụng Twitter (https://github.com/twitter/mysql) xii PostGIS (http://postgis.refractions.net) xiii Nền tảng điện toán đám mây heroku (http://heroku.com) xiv Web crawler Wikipedia tiếng Anh (http://en.wikipedia.org/wiki/Web_crawler) xv Cài đặt RESTful web API đầy đủ cho CodeIgniter (https://github.com/philsturgeon/codeigniter-restserver) xvi Bảng xếp hạng TIOBE (http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html) xvii Readability mã nguồn mở (http://code.google.com/p/arc90labs-readability/) xviii Hệ thống Yii (http://www.yiiframework.com/)

Ngày đăng: 13/03/2021, 00:24

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN

w