Chúng ta nhận thấy quá trình xử lý ban đầu có nhiều bài không nhân được tiêu đề, nên việc chuẩn hóa lại là cần thiết. Hệ thống sẽ áp dụng một số kỹ thuật bóc tách nội dung để chuẩn hóa lại và tìm kiếm lại tiêu đề cho bài viết, có thể sử dụng từ điển để cải tiến độ chính xác của thông tin
2.3.4. Thống kê tổng hợp dữ liệu từ số liệu của bảng TongHop.dbf
Do bảng TongHop.dbf cùng với CumTu.dbf thuộc cơ sở dữ liệu quan hệ, vì vậy việc thống kê, tổng hợp thông tin ra được thực hiện qua các câu truy vấn bình thường dạng:
From <TableList>
Where <Conditional Expresson>
Một số ví dụ về kiết suất báo cáo được sử dụng trong hệ thống - Lấy tất cả các bài báo được viết bởi ông “Quang Tèo”
Select * form app_article_content where author = “Quang Tèo”
- Lấy tất cả các bài báo được đăng trong chủ đề học tiếng anh và được đăng vào tháng 10 năm 2015
- Select * form app_article_content where subjectId= 5 //Chủ đề tiếng anh And DATE_FORMAT(publish,”%Y-%m”) = “2015-10”
2.4. Tiền xử lý thông tin và các thao tác hỗ trợ thuật toán 2.4.1. Máy chủ và Công nghệ sử dụng 2.4.1. Máy chủ và Công nghệ sử dụng
Hệ thống Demo sử dụng công nghệ dựa trên nền tảng mã nguồn mở PHP phiên bản 5.4 và MySQL 5.6 chạy trên nền webserver Apache 2.8
2.4.1.1. Máy chủ Apache
Apache hay là chương trình máy chủ HTTP là một chương trình dành cho máy chủ sử dụng giao tiếp với các máy khác thông qua giao thức HTTP. Apache chạy trên các hệ điều hành phổ biến như: Linux, Unix, Microsoft Windows, Novell Netware và các hệ điều hành khác. Apache đóng một vai trò quan trọng trong quá trình phát triển của mạng web thế giới
2.4.1.2. Ngôn ngữ PHP (Hypertext Preprocessor)
PHP là ngôn ngữ lập trình kịch bản được sử dụng chủ yếu trên server để tạo ra các ứng dụng web. Phiên bản đầu tiên được ra đời lần đầu tiên vào năm 1994 và được viết bởi Rasmus Lerdorf dựa trên ngôn ngữ lập trình C. PHP là từ viết tắt của Personal Home Page với ý nghĩa ban đầu là dùng để tạo ra các website cá nhân. Do được tối ưu hóa cho các ứng dụng web, tốc độ nhanh, nhỏ gọn, cú pháp giống C và Java, dễ học và thời gian xây dựng sản phẩm tương đối ngắn hơn so với các ngôn ngữ khác nên PHP đã nhanh chóng trở thành một ngôn ngữ lập trình web phổ biến nhất thế giới.
2.4.1.3. MySQL
Mysql là hệ quản trị dữ liệu miễn phí, được tích hợp sử dụng chung với apache, PHP. Chính yếu tố phát triển trong cộng đồng mã nguồn mở nên mysql đã qua rất nhiều sự hỗ trợ của những lập trình viên yêu thích mã nguồn mở. Mysql cũng có cùng một
cách truy xuất và mã lệnh tương tự với ngôn ngữ SQL. Nhưng Mysql không bao quát toàn bộ những câu truy vấn cao cấp như SQL. Về bản chất Mysql chỉ đáp ứng việc truy xuất đơn giản trong quá trình vận hành của website nhưng hầu hết có thể giải quyết các bài toán trong PHP.
2.4.2. Web Crawler và phương pháp tìm kiếm dữ liệu trên Internet
Hầu hết các máy tìm kiếm hoạt động dựa trên các chương trình có tên là Crawler, chương trình này cung cấp dữ liệu (là các trang Web) cho máy tìm kiếm hoạt động. Crawler là các chương trình nhỏ của các máy tìm kiếm làm công việc duyệt Web. Công việc của nó cũng tương tự như công việc của con người truy cập Web dựa vào mối liên kết để đi đến các trang Web khác nhau. Các Crawler được cung cấp các địa chỉ URL ban đầu và sẽ phân tích các liên kết có trong các trang đó và đưa các thông tin về cho bộ điều khiển dữ liệu.
Vậy module Crawler truy lục các trang lấy từ Mạng, download xuống sau đó các trang đựợc đánh chỉ mục bởi module đánh chỉ mục, sau đó đẩy vào CSDL. Quá trình này cứ lặp đi lặp lại cho đến khi Crawler có quyết định dừng
2.4.2.1. Dữ liệu trong thu thập thông tin trên Internet
Website hiện nay được xây dựng và đăng tải rất nhiều dữ liệu khác nhau như: text, hình ảnh, video, file tài liệu, biểu tượng.v.v… Có thể kể ra đây một vài đặc tính quan trọng của dữ liệu trên các trang Web như:
Thông tin trình bày theo cách thức khác nhau và không nhất quán Thông tin nội dung (text, hình ảnh, video, biểu tượng...) được trộn lẫn Thay đổi theo thời gian
Thông tin đa chiều
Chúng ta có thể phân ra 2 loại chính sau:
Dữ liệu FullText
Dữ liệu dạng FullText là một dạng dữ liệu phi cấu trúc với thông tin chỉ gồm các tại liệu dạng Text. Mỗi tài liệu chứa thông tin về một vấn đề nào đó thể hiện qua nội dung của tất cả các từ cấu thành tài liệu đó. Ý nghĩa của mỗi từ trong tài liệu không cố định mà tuỳ thuộc vào từng ngữ cảnh khác nhau sẽ mang ý nghĩa khác nhau. Các từ trong tài liệu được liên kết với nhau theo một ngôn ngữ nào đó.
Trong các dữ liệu hiện nay thì văn bản là một trong những dữ liệu phổ biến nhất, nó có mặt ở khắp mọi nơi và chúng ta thường xuyên bắt gặp do đó các bài toán về xử lý văn bản đã được đặt ra khá lâu và hiện nay vẫn là một trong những vấn đề khó giải
quyết, trong đó có những bài toán đáng chú ý như tìm kiếm văn bản, phân loại văn bản, phân cụm văn bản hoặc dẫn đường văn bản
Dữ liệu HyperText
Theo từ điển của Đại học Oxford (Oxford English Dictionary AdditionsSeries) thì Hypertext được định nghĩa như sau: Đó là loại Text không phải đọc theo dạng liên tục đơn, nó có thể được đọc theo các thứ tự khác nhau, đặc biệt là Text và ảnh đồ họa (Graphic) là các dạng có mối liên kết với nhau theo cách mà người đọc có thể không cần đọc một cách liên tục. Ví dụ khi đọc một cuốn sách người đọc không phải đọc lần lượt từng trang từ đầu đến cuối mà có thể nhảy cóc đến các đoạn sau để tham khảo về các vấn đề họ quan tâm.
Như vậy văn bản HyperText bao gồm dạng chữ viết không liên tục, chúng được phân nhánh và cho phép người đọc có thể chọn cách đọc theo ý muốn của mình. Hiểu theo nghĩa thông thường thì HyperText là một tập các trang chữ viết được kết nốivới nhau bởi các liên kết và cho phép người đọc có thể đọc theo các cách khác nhau. Như ta đã làm quen nhiều với các trang định dạng HTML, trong các trang có những liên kết trỏ tới từng phần khác nhau của trang đó hoặc trỏ tới trang khác, và người đọc sẽ đọc văn bản dựa vào những liên kết đó. Bên cạnh đó, HyperText cũng là một dạng văn bản Text đặc biệt nên cũng có thể bao gồm các chữ viết liên tục (là dạng phổ biến nhất của chữ viết). Do không bị hạn chế bởi tính liên tục trong HyperText, chúng ta có thể tạo ra các dạng trình bày mới, do đó tài liệu sẽ phản ánh tốt hơn nội dung muốn diễn đạt. Hơn nữa người đọc có thể chọn cho mình một cách đọc phù hợp chẳng hạn như đi sâu vào một vấn đề mà họ quan tâm. Sáng kiến tạo ra một tập cá văn bản cùng với các con trỏ trỏ tới các văn bản khác để liên kết một tập các văn bản có mối quan hệ với nhau là một cách thực sự hay và rất hữu ích để tổ chức thông tin. Với người viết, cách này cho phép họ có thể thoải mái loại bỏ những băn khoăn về thứ tự trình bày, mà có thể tổ chức vấn đề thành những phần nhỏ, rồi sử dụng kết nối để chỉ ra mối liên hệ giữa các
2.4.2.2. Phân loại nguồn thông tin từ Internet
Các trang Web thông tin có cấu trúc được cập nhật thường xuyên:
Chúng ta có thể thấy rất rõ hiện nay có một phần không nhỏ các trang Web thông tin được cập nhật thường xuyên như báo điện tử, diễn đàn, trang Web cung cấp thông tin giá tầu xe, đấu giá, chứng khoán, thời tiết... Tuy vậy, nếu phân tích một cách kỹ lưỡng, có thể nhận xét là các trang Web này tuy được cập nhật thường xuyên, nhưng không thay đổi về mặt cấu trúc ý nghĩa. Các ví dụ dưới đây sẽ minh họa kỹ hơn về mặt
cấu trúc ý nghĩa của các trang Web (các ví dụ này là không chính xác đối với tất cả các trang Web cùng loại mà chỉ mang tính minh hoạ về cấu trúc ý nghĩa):
Báo điện tử: Tiêu đề + Mô tả ngắn gọn + Các tin đã đưa Diễn đàn: Tên bài viết + Người viết + Người cập nhật cuối
Thời tiết: Tên thành phố + chỉ số dự báo thời tiết (nhiệt độ, độ ẩm...) Chứng khoán: Tên công ty niêm yết + giá bán
...
Tần số cập nhật thông tin của các trang Web này nói chung là ngắn, có thể liên tục (thị trường chứng khoán), một vài phút (diễn đàn) hay một ngày (báo điện tử). Tuy vậy, dù cập nhật thông tin như thế nào, các trang thông tin này thông thường luôn tuôn theo một quy luật về ý nghĩa của các thông tin.
Thông tin mà các trang Web này mang lại cho người sử dụng được cập nhật một cách liên tục và phong phú. Tuy vậy, trái ngược với sự liên tục và phong phú, các trang Web này lại chỉ ngày càng nâng cao tính trình bày hình thức của mình chứ không thể nâng cao được tính ngữ nghĩa của mình (do sự hạn chế của ngôn ngữ HTML).
Những câu hỏi được người sử dụng đặt ra để lấy thông tin ví dụ như “Bạo động ở tây nguyên“ hay như “Có công ty chứng khoán nào đang ở diện cảnh báo tại thị trường việt nam hiện nay?”, có vẻ đơn giản nhưng dường như lại khá khó khăn trong việc thực hiện. Câu trả lời nếu sử dụng các phương pháp thông thường như là sử dụng search engine của trang thông tin đó hay các search engine khác sẽ mang lại cho người sử dụng quá nhiều thông tin không cần thiết do các search engine này cũng chỉ tìm kiếm thông tin chứ không để ý đến ngữ nghĩa của thông tin.
Các trang Web thông tin có cấu trúc không được cập nhật thường xuyên:
Tần số cập nhật được nêu ra ở đây chỉ mang tính tương đối, vì một trang Web được cập nhật thường xuyên (ví dụ như chỉ số chứng khoán) lại cũng có thể vì một lý do nào đó không cập nhật thường xuyên nữa (ví dụ đóng cửa thị trường chứng khoán vào ngày nghỉ). Tuy nhiên, có thể thấy rằng, cũng có rất nhiều trang Web mà tần số cập nhật là ít. Ví dụ như trang Web giới thiệu tên các quốc gia (đương nhiên không phải ngày, tháng, năm nào cũng có một quốc gia xuất hiện, đổi tên hay biến mất nên thông tin trong trang Web này dường như không thay đổi), hay như trang Web chứa thông tin về Ban Giám Khảo cuộc thi Trí Tuệ Việt Nam (thay đổi theo hàng năm). Do các trang Web này cũng được tổ chức theo một cấu trúc nhất định nên chúng ta cũng có thể phân tích về mặt ngữ nghĩa cấu trúc.
Những câu hỏi được đặt ra đối với các trang Web có cấu trúc nói trên dường như sẽ là những câu truy vấn rất đơn giản trong các hệ quản trị cơ sở dữ liệu khi có các thông tin Tiêu đề (trong câu hỏi “Bất động sản đang nóng lên? ”), Tên công ty, Giá niêm yết (trong câu hỏi “Có công ty chứng khoán nào niêm yết giá khoảng dưới 20000 VND không nhỉ ?”) và Tên thành viên... Thế nhưng, cái chúng ta có lại là các trang Web chứ không phải là hệ cơ sở dữ liệu và công việc của chúng ta là phải có được một cơ sở dữ liệu mà mỗi thông tin trong đó đã được phân loại theo ngữ nghĩa.
Các trang Web thông tin có cấu trúc lỏng lẻo:
Các trang Web thông tin có cấu trúc lỏng lẻo cũng là một trong những loại trang Web xuất hiện rất nhiều trên Internet, ví dụ như: trang Web giới thiệu cá nhân, tổ chức, cơ quan.v.v… Những trang Web này thường rất khó phân tích cấu trúc một cách tổng quát do thông tin được trình bày không theo một quy luật nhất định nào.
2.4.2.3. Module Crawler
Module Crawler là module nhằm thực hiện các quá trình tìm kiếm và xử lý thông tin.