Cơ quan Sở chúng tôi có một Website và Server đƣợc đặt tại Trung tâm truyền số liệu VDC nhằm mục đích cung cấp thông tin hoạt động của đơn vị, các dịch vụ hành chính công và những văn bản quy phạm pháp luật liên quan phục vụ ngƣời dân và hoanh nghiệp.
Hình 3.1: Các máy chủ trong kiến trúc C/S
Với ý tƣởng xây dựng một hệ thống mạng thông tin hoàn chỉnh tiến tới một chính phủ điện tử trong tƣơng lai, mỗi đơn vị quản lý nhà nƣớc đều nỗ lực phấn đấu hoàn thiện từng bƣớc về cơ sở vật chất, tri thức để việc ứng dụng công nghệ thông tin vào công tác của đơn vị mình đạt hiệu quả. Một trong những vấn đề cần giải quyết là phải xây dựng một phần mềm tìm kiếm dữ diệu web phục vụ
tốt cho công tác của đơn vị và cho mọi ngƣời khi truy cập vào website đáp ứng nhu cầu tra cứu văn bản hay tìm kiếm thông tin đạt kết quả nhƣ mong muốn.
Website hiện tại của Sở đƣợc thiết kế theo chuẩn xHTML do vậy có thể áp dụng các phƣơng pháp truy vấn thông tin XML để tìm kiếm thông tin trên website một cách chính xác nhất.
Một trang web chứa dữ liệu nhƣ sau:
Phần mã nguồn html của trang đƣợc nhúng thông tin về trang web theo mẫu DublinCore metadata
Bản ghi DublinCore mô tả trang web nhƣ sau:
<!--Begin Dublincore record-->
<meta name="DC.title" content = "Báo cáo tình hình hoạt động ngành Công Thƣơng tháng 7 năm 2012">
<meta name="DC.creator" content = "Sở Công thƣơng Thái Nguyên"> <meta name="DC.subject" content="Các hoạt động của sở">
<meta name="DC.description" content="Giá trị sản xuất công nghiệp trên địa bàn tháng 7/2012 (theo giá so sánh) ƣớc đạt 1.163,8 tỷ đồng, tăng 2,5% so tháng trƣớc và tăng 9% so với cùng kỳ; cộng dồn 7 tháng ƣớc đạt 7.896,2 tỷ đồng, tăng 9% so cùng kỳ, bằng 51,3% kế hoạch năm. Các sản phẩm công nghiệp chủ yếu tháng 7 tăng cao so với cùng kỳ là: Quần áo may sẵn, xi măng, gạch xây, điện sản xuất... Chỉ số giá tiêu dùng tháng 7/2012 giảm 0,5% so với tháng trƣớc, đây là tháng thứ 5 có chỉ số giảm và cũng là tháng có chỉ số giảm nhiều nhất tính từ đầu năm 2012 trở lại đây, nguyên nhân là do giá xăng dầu đƣợc điều chỉnh làm cho chỉ số giá tiêu dùng chung giảm.">
<meta name= "DC.contributor" content= ""> <meta name="DC.date" content = "25/07/2012"> <meta name="DC.type" content = "Text"> <meta name="DC.format" content = "text/html"> <meta name="DC.identifier" content="">
<meta name="DC.resource" content = ""> <meta name="DC.language" content = "vie"> <meta name="DC.relation" content = ""> <meta name="DC.coverage" content = "">
<meta name="DC.right" content = "Sở công thƣơng Thái Nguyên"> <!--End Dublincore record-->
3.3.2. Thiết lập chương trình tìm kiếm sử dụng công cụ robot
3.3.2.1. Cơ chế hoạt động của công cụ robot
Đầu tiên robot sẽ tìm nội dung thông tin của trang xem có phù hợp với yêu cầu tìm kiếm hay không, sau đó nó sẽ thu thập tất cả các liên kết (link) trên trang để tiếp tục tìm kiếm trên các trang tiếp theo. Robot sẽ dừng tìm kiếm theo một điều kiện xác định cho trƣớc nào đó (có thể là độ sâu của link). Trong chƣơng trình này thì robot tìm kiếm dựa trên meta data dƣới dạng chuẩn dublincore.
Sau khi tìm đƣợc bài viết thỏa mãn các tiêu chí, đánh giá mức độ phù hợp của từ khóa. Hệ thống lƣu lại kết quả trên database (đánh chỉ mục cho kết quả tìm kiếm). Với các yêu cầu tiếp theo của ngƣời dùng, hệ thống sẽ tìm kiếm thông tin đã đƣợc đánh chỉ mục (tìm kiếm trong database) để tốc độ tìm kiếm đƣợc nhanh hơn. Do không tìm kiếm trực tiếp nội dung của trang nên hệ thống sau một thời gian nào đó đánh chỉ mục lại trang đó để làm mới nội dung.
Hệ thống chỉ mục là danh sách các từ khoá, chỉ rõ các từ khoá nào xuất hiện ở trang nào, địa chỉ nào.
Với mỗi tiêu chí tìm kiếm, hệ thống sẽ tìm ở phần biểu ghi dublincore ở đầu trang để xem nội dung tìm kiếm có phù hợp không? Trong phần chƣơng trình demo tác giả mới chỉ dừng lại ở việc kiểm tra xem từ khóa tìm kiếm có nằm trong nội dung tìm kiếm hay không. Chƣa xử lý vấn đề tìm kiếm với Tiếng Việt.
Trƣớc khi các trang web đƣợc đánh chỉ mục, tất cả các trang web phải đƣợc lấy về máy của robot. Để lấy đƣợc tất cả các trang web, robot phải có chiến thuật. Từ một số trang web có sẵn, robot lọc ra danh sách các liên kết, rồi từ đó dò tìm các trang khác. Có 3 chiến thuật tìm kiếm Heuristic sau : tìm kiếm theo chiều sâu, tìm kiếm theo chiều rộng và tìm kiếm ngẫu nhiên.
Hình 3.4: Sơ đồ hoạt động của công cụ robot
Lựa chọn các URL Xác định cấu trúc các thẻ xHTML Thu thập dữ liệu Hiển thị dữ liệu Kho dữ liệu
Truy vấn nội dung Internet
3.3.2.2. Thuật toán áp dụng
Trƣớc khi các trang web đƣợc đánh chỉ mục, tất cả các trang web phải đƣợc lấy về máy của robot. Để lấy đƣợc tất cả các trang web, robot phải có chiến thuật. Từ một số trang web có sẵn, robot lọc ra danh sách các liên kết, rồi từ đó dò tìm các trang khác. Có 3 chiến thuật tìm kiếm Heuristic sau : tìm kiếm theo chiều sâu, tìm kiếm theo chiều rộng và tìm kiếm ngẫu nhiên.
- Chiến thuật tìm kiếm theo chiều sâu
Từ một danh sách chứa các liên kết cần duyệt, thực hiện các bƣớc sau : (1) Cho danh sách = {trang đầu tiên}
(2) Lấy trang đầu tiên trong danh sách. Nếu có qua (3)
Nếu không qua (5)
(3) Trang này đã xét tới chƣa ? Nếu rồi, quay lại (2)
Nếu chƣa, qua (4)
(4) Đánh dấu đã tới rồi. Phân tích và tìm xem liên kết có trong trang đó không?
(4a) Nếu có, thêm liên kết này vào đầu danh sách. Quay lại (4) (4b) Nếu không, quay lại (2).
(5) Kết thúc.
- Chiến thuật tìm kiếm theo chiều rộng
Từ một danh sách chứa các liên kết cần duyệt, thực hiện các bƣớc sau : (1) Cho danh sách = {trang đầu tiên}
(2) Lấy trang đầu tiên trong danh sách. Nếu có qua (3)
Nếu không qua (5)
(3) Trang này đã xét tới chƣa ? Nếu rồi, quay lại (2)
Nếu chƣa, qua (4)
(4) Đánh dấu đã tới rồi. Phân tích và tìm xem liên kết có trong trang đó không?
(4a) Nếu có, thêm liên kết này vào cuối danh sách. Quay lại (4) (4b) Nếu không, quay lại (2).
(5) Kết thúc.
- Chiến thuật tìm kiếm theo ngẫu nhiên
Từ một danh sách chứa các liên kết cần duyệt, thực hiện các bƣớc sau : (1) Cho danh sách = {trang đầu tiên}
(2) Lấy ngẫu nhiên một trang trong danh sách. Nếu có qua (3)
Nếu không qua (5)
(3) Trang này đã xét tới chƣa ? Nếu rồi, quay lại (2)
Nếu chƣa, qua (4)
Ở đây tác giả sử dụng thuật toán tìm kiếm theo chiều sâu, có thể mô tả đơn giản cách áp dụng thuật toán kết hợp đệ quy nhƣ sau:
1. Từ một link, kết quả tìm kiếm bằng trang đó nếu nội dung phù hợp cộng kết quả tìm kiếm trên các trang con (đƣợc link tới)
2. Với mỗi link thu thập đƣợc trong trang, lặp lại bƣớc 1
3. Dùng đệ quy khi thỏa mãn điều kiện nào đó (độ sâu trang con < m) Khi nội dung các trang đã đƣợc thu thập và lƣu vào cơ sở dữ liệu. Có thể lƣu dữ liệu dƣới dạng có cấu trúc, chỉ mục và sử dụng sức mạnh của hệ quản trị cơ sở dữ liệu cho việc tìm kiếm. Ta có thể sử dụng các các giải thuật tím kiếm hiệu quả hơn nhƣ sử dụng Trí tuệ nhân tạo hay mạng nơ ron để tìm kiếm dữ liệu.
3.3.2.3. Các bước hoạt động
Bƣớc 1:
Định luồng thông tin dữ liệu và lựa chọn các URL từ Internet
Bƣớc 2:
Xác định cấu trúc các thẻ xHTML. Tất cả các website trên Internet đƣợc xem nhƣ là một đồ thi lớn với các nút là các trang web và các liên kết là các đƣờng đi.
Hình 3.5: Sơ đồ thẻ xHTML tổ chức dƣới dạng cây
Bƣớc 3:
Khai phá cấu trúc thẻ xHTML. Chƣơng trình bắt đầu từ một vài nút hạt nhân và sau đó đi theo các cạnh để tới các nút khác. Quá trình tải một trang web
text xHTML head title text a h4 body text ul li
và trích ra các liên kết trong nó tƣơng tự nhƣ việc mở rộng một nút trong bài toán tìm kiếm đồ thị.
Bƣớc 4:
Chƣơng trình có chủ điểm cố gắng đi theo các cạnh mà đƣợc kỳ vọng dẫn tới các vị trí trong đồ thị là hợp lệ với chủ đề đó. Sau khi tới đƣợc chủ đề thích hợp, hệ thống sẽ bóc tách lấy phần dữ liệu và lƣu kho cơ sở dữ liệu.
Bƣớc 5:
Hiển thị dữ liệu đã tìm đƣợc nhƣ mong muốn của user.
3.3.2. Chương trình tìm kiếm
Giao diện trang tìm kiếm
Hình 3.6: Giao diện trang tìm kiếm
Giao diện trang hiển thị kết quả tìm kiếm
Một số đánh giá :
Các tiêu chí đạt đƣợc
Áp dụng các phƣơng pháp, kỹ thuật xử lý XML để lấy thông tin
Tìm kiếm chính xác các từ khóa theo ngữ cảnh
Thân thiện với các cỗ máy tìm kiếm Những mặt tồn tại :
Gặp hạn chế trong xử lý từ khóa tiếng việt có dấu và không dấu
Chƣa đánh đƣợc chỉ mục cho kết quả tìm kiếm
3.4. Kết luận
Chƣơng trên đã trình bày một số ứng dụng, sử dụng những kiến thức đã tìm hiểu đƣợc trong chƣơng trên về ngôn ngữ XML. Xây dựng thuật toán sử dụng công cụ robot vào bài toán thực tế trên trang tin Internet liên quan đến đơn vị công tác đƣợc thử nghiệm.
KẾT LUẬN
Kết luận và khuyến nghị
Luận văn đã tìm hiểu những vấn đề liên quan đến dữ liệu và cơ sở dữ liệu, đặc biệt ngôn ngữ XML và cơ sở dữ liệu XML. Trong phần đầu luận văn, một số nhu cầu về sử dụng dữ liệu XML đƣợc trình bày.
Trong chƣơng 2, luận văn trình bày một số khía cạnh của ngôn ngữ XML, đặc biệt những cú pháp và tìm kiếm dữ liệu XML. Việc này có ý nghĩa quan trong trong hệ thống các văn bản Internet đã và đang trở nên thông dụng.
Ngoài những tìm hiểu về hệ thống XML, luận văn đã thử nghiệm với một vài công việc thực tế tại Sở Công thƣơng tỉnh Thái Nguyên.
Luận văn đã đạt những công việc đặt ra trong đề cƣơng làm luận văn tốt nghiệp, là :
Tìm hiểu về XML, truy cập các trang của công ty IBM để học tập thêm về hoạt động và ứng dụng của XML;
Ứng dụng tìm kiếm dữ liệu XML cho bài toán thực tế.
Hướng phát triển mở rộng
Việc nghiên cứu về cơ sở dữ liệu XML là cần thiết, sau những tìm hiểu về dữ liệu XML và tìm kiếm thông tin trong hệ thống dữ liệu Internet.
Trong thời gian tới, một phần thời gian sẽ dành cho việc sử dụng cơ sở dữ liệu XML trong công việc tác nghiệp tại Thái Nguyên.
TÀI LIỆU THAM KHẢO
Tiếng việt:
[1] Đỗ Trung Tuấn (2002), cơ sở dữ liệu, NXB Đại học Quốc gia Hà Nội. [2] Lƣơng Văn Nghĩa (2005), Học XML trong 24 tiếng, NXB Trẻ TP HCM. [3] Nguyễn Bá Tƣờng (2009), Cơ sở dữ liệu phân tán, NXB Thống kê. [4] Vũ Đức Thi (1998), Cơ sở dữ liệu, NXB Thống kê.
Tiếng anh:
[5]. Eric T. Ray (2011), Learning XML, Ed Oreilly.
[6]. MOET (2011), Học XML với mười điểm ghi nhớ, Thƣ viện MOET. [7]. Steven Holzner (2011), Sams Teach Yourself XML in 21 Days, Ed SAM. [8]. Wrox Press LTD (2000), Professional XML Databases.
Website: [9]. http://csharpvn.com , 2011. [10]. http://vi.wikipedia.org/wiki/XML, 2011 [11]. http://www.ibm.com/developpers, 2011 [12]. http://www.ibm.vn/developer , 2011. [13]. http://www.xml.org/ , 2011. [14]. http://www.w3.org/ , 2011