, 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/)