Tìm kiếm thông tin tiếng việt trên internet

37 550 0
Tìm kiếm thông tin tiếng việt trên internet

Đ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

Nguyễn Ngọc Hiếu Luận văn tốt nghiệp Trờng Đại học Vinh Khoa Công nghệ thông tin o0o Luận văn tốt nghiệp Tìm kiếm thông tin Tiếng Việt Internet Trình Giáo viên hớng dẫn : Ths Phạm Quang Sinh viên thực : Nguyễn Ngọc Hiếu Vinh, 05/2002 Lời nói đầu -7 Chơng I Tổng quan World Wide Web 1.1 Những khái niệm Web -8 1.1.1 Giới thiệu chung Tìm kiếm thông tin Tiếng Việt Internet Nguyễn Ngọc Hiếu Luận văn tốt nghiệp 1.1.2 Nguồn gốc phát triển WWW -9 1.1.3 Hoạt động Web 1.1.3.1 Web Client (hay Web Browser) -9 1.1.3.2 Web Server -10 1.1.4 Các phơng pháp tổ chức Website -10 1.1.5 HTTP (Hypertext transfer protocol) 11 1.1.6 Phân loại Web -12 1.1.6.1 Web tĩnh 12 1.1.6.2 Web động 13 1.1.6.3 Form page -13 1.2 Thành phần WWW -14 1.2.1 Hypertext (siêu văn bản) -14 1.2.2 Hyperlink (siêu liên kết) 14 1.2.3 Website 14 1.2.4 Trang Web (Web page) -14 1.2.5 URL (Uniorm Resource Locator) 14 Chơng I I Phân tích Website tìm kiếm thông Tin 16 2.1 Đặt vấn đề -16 2.2 Cách thức làm việc Search Engines -16 2.2.1 Sơ đồ làm việc Search Engines -16 2.2.2 Các bớc làm việc Search Engines 16 2.2.3 Giao diện tìm kiếm (Search I nterface) 17 Tìm kiếm thông tin Tiếng Việt Internet Nguyễn Ngọc Hiếu Luận văn tốt nghiệp Chơng I I I Xây dựng thử nghiệm chơng trình tìm kiếmthông tin tiếng việt I nternet -21 3.1 Ngôn ngữ lập trình Python 21 3.1.1 Giới thiệu ngôn ngữ 21 3.1.2 Các đặc tính Python -21 3.1.3 Các cấu trúc điều khiển -22 3.1.3.1 Điều kiện if 22 3.1.3.2 Điều kiện While -22 3.1.3.3 Lệnh For 22 3.1.3.4 Khai báo Functions 24 3.1.3.5 Classes 24 3.1.3.6 Modules 25 3.2 Phân tích chơng trình tìm kiếm thông tin tiếng Việt I nternet -26 3.2.1 Các kiểu liệu bậc cao 27 3.2.2 Các công cụ lập trình mạng mạnh -28 3.2.2.1 TCP/I P -28 3.2.2.2 HTTP -28 3.2.2.3 HTML 29 3.2.2.4 CGI -29 3.2.3 Công cụ xử lý xâu ký tự (string) -29 3.2.3.1 Các hàm string -29 3.2.3.2 Các hàm Regular expenssion 30 Tìm kiếm thông tin Tiếng Việt Internet Nguyễn Ngọc Hiếu Luận văn tốt nghiệp 3.2.4 Lập trình đa luồng -31 3.2.5 Khả hớng đối tợng 31 3.3 Cài đặt -32 3.3.1 Cấu trúc hệ thống 32 3.3.1.1 Chơng trình tạo I ndex 32 3.3.1.2 Chơng trình tìm kiếm -32 3.3.2 Các module chơng trình 33 3.3.2.1 Các module chơng trình tạo I ndex 33 3.3.2.2 Các module chơng trình Tìm Kiếm -35 3.3.3 Đánh giá 35 3.3.3.1 Các tính tìm kiếm 35 3.3.3.2 Khả xử lý tiếng Việt -36 3.3.3.3 Khả tạo index -36 3.3.3.4 Quản trị 36 3.3.3.5 Hiệu (performance) 36 3.3.3.6 Các yêu cầu thiết bị 37 Kết luận -37 Tài liệu tham khảo 38 Tìm kiếm thông tin Tiếng Việt Internet Nguyễn Ngọc Hiếu Luận văn tốt nghiệp mở đầu Lý chọn đề tài Internet kho tài liệu khổng lồ với hàng triệu tài liệu Việc tìm kiếm tài liệu cần tham khảo công việc không đơn giản nhiều thời gian công cụ trợ giúp Hiện Internet có số site hỗ trợ bạn việc tìm kiếm thông tin Các site thờng đợc gọi công cụ tìm kiếm (Search Engines) Song hầu hết site phục vụ cho việc tìm kiếm tài liệu tiếng Anh, tiếng Pháp Do đó, việc tìm kiếm thông tin tiếng Việt Internet nhiều vấn đề khó khăn tồn Với lý đó, đợc hớng dẫn giúp đỡ thầy giáo Thạc sĩ Phạm Quang Trình, em chọn đề tài Tìm kiếm thông tin tiếng Việt Internet làm đề tài cho luận văn tốt nghiệp Mục đích nghiên cứu Nghiên cứu thử nghiệm chơng trình tìm kiếm thông tin tiếng Việt Internet Bố cục luận văn Nội dung luận văn gồm chơng: Chơng 1: Tổng quan World Wide Web Giới thiệu dịch vụ lớn Internet, đồng thời cung cấp số khái niệm Web Chơng 2: Phân tích Website tìm kiếm thông tin Đa cấu trúc chung Website tìm kiếm cách tìm kiếm Internet mang lại hiệu cao Chơng 3: Xây dựng thử nghiệm chơng trình tìm kiếm thông tin tiếng Việt Internet Tìm kiếm thông tin Tiếng Việt Internet Nguyễn Ngọc Hiếu Luận văn tốt nghiệp Giới thiệu chơng trình đợc xây dựng dựa ngôn ngữ nào, cấu trúc hệ thống, module xây dựng nên chơng trình cuối kết thử nghiệm đánh giá chơng trình tìm kiếm thông tin tiếng Việt Internet Tìm kiếm thông tin tiếng Việt Internet với giao diện đơn giản gần gũi với ngời Việt, cần nhập vào hay số từ khoá tiếng Việt chứa thông tin cần tìm kiếm, chơng trình tìm trang Web chứa từ khoá hiển thị trang kết tìm kiếm bao gồm liên kết đến trang Web thông tin liên quan khác nh kích thớc, thời gian cập nhật, đoạn trích Để hoàn thành luận văn này, em xin chân thành cảm ơn Ban chủ nhiệm khoa Công nghệ thông tin, thầy cô giáo với bạn bè giúp đỡ tận tình suốt trình qua Đặc biệt, em xin bày tỏ lòng cảm ơn thầy giáo hớng dẫn Thạc sĩ Phạm Quang Trình dẫn khoa học tận tâm hớng dẫn giúp em hoàn thành luận văn Chơng trình Tìm kiếm thông tin tiếng Việt Internet hạn chế thời gian kinh nghiệm nên tránh khỏi thiếu sót định Em hy vọng đợc tiếp thu lời bảo hớng dẫn thầy cô, giúp em tiếp tục nghiên cứu kỹ lĩnh vực Vinh, tháng 05 năm 2002 Chơng I Tổng quan World Wide Web 1.1 Những khái niệm Web 1.1.1 Giới thiệu chung World Wide Web (WWW), hay gọi Web, dịch vụ Internet đời gần nhng phát triển nhanh 85% giao dịch Tìm kiếm thông tin Tiếng Việt Internet Nguyễn Ngọc Hiếu Luận văn tốt nghiệp Internet ớc lợng thuộc WWW Web chứa không giới hạn tài liệu xây dựng phơng tiện, từ văn tuý đến thông tin Multimedia Hầu hết ngời xây dựng Website sử dụng WWW, khả sử dụng dễ dàng đồng thời cung cấp nhiều dịch vụ khác với giao diện chung WWW hấp dẫn ngời khả thể đồ hoạ, thông tin tìm kiếm siêu liên kết 1.1.2 Nguồn gốc phát triển WWW Ra đời từ dự án nghiên cứu phát triển phòng thí nghiệm vật lý hạt nhân Châu Âu vào cuối năm 1989, nhóm nghiên cứu Tim Berners-Lee Robert Cailliau đứng đầu phát triển đa giao thức truyền nhận tệp siêu văn (Hypertext) theo mô hình Client/Server gọi tắt HTTP (Hypertext Transfer Protocol) để phục vụ cho việc trao đổi thông tin Internet * Ưu điểm lớn WWW là: + Cách thức xếp thông tin Web nhờ dùng siêu liên kết để tổ chức xếp nhiều tập tin nằm rải rác Internet vào trang Web + Cho phép thâm nhập vào Website chứa CSDL Internet 1.1.3 Hoạt động Web [1] : Bộ duyệt PC (Web Client) gửi địa URL đến máy chủ [2]: Yêu cầu đợc chuyển tới máy chủ xa Trang Web cần thiết đợc gửi lại Web Client yêu cầu INTERNET [1]: Web Client [2]: Web Server 1.1.3.1 Web Client (hay Web Browser) Là công cụ truy xuất liệu mạng, phần mềm giao diện trực tiếp với ngời sử dụng Nhiệm vụ Web Browser nhận yêu cầu ngời Tìm kiếm thông tin Tiếng Việt Internet Nguyễn Ngọc Hiếu Luận văn tốt nghiệp dùng, gửi yêu cầu qua mạng tới Web Server nhận liệu cần thiết từ Server để hiển thị lên hình Dữ liệu bao gồm thân tập tin HTML (HyperText Markup Languague) tập tin đồ hoạ, âm thanh, video đợc gọi đến tập tin HTML Khi liệu đợc nhận, trình duyệt Web định hình kiểu tập tin nh thẻ HTML hiển thị lên hình Hiện Web Browser chủ yếu dùng giao diện đồ họa với ngời dùng để trình bày tài liệu cách hấp dẫn Thông tin hiển thị đợc lu trữ trang Web riêng, đợc tạo trớc có yêu cầu (trang Web tĩnh) thông tin đợc tạo từ CSDL dựa yêu cầu (trang Web động) Có nhiều Web Browser khác nh: + Netscape Navigator + Microsoft Internet explorer + Lynx Unix Các Web Client hỗ trợ khả : + Xử lý file HTML + Xử lý file GIF + Xử lý file JPEG 1.1.3.2 Web Server Web Server máy tính đợc nối vào Internet chạy phần mềm đợc thiết kế để truyền trang HTML tập tin có định dạng khác (nh tập tin multimedia) Máy tính Server phải có kết nối Internet tốc độ tơng đối cao đủ mạnh để đáp ứng nhiều kết nối đồng thời từ Internet Phần mềm Web Server thờng đòi hỏi hệ điều hành mạnh (nh Unix, WindowsNT ) có phần mềm chạy phiên khác Microsoft Windows, Macintosh OS đợc chọn làm máy chủ Web 1.1.4 Các phơng pháp tổ chức Website * Tổ chức Site một-th-mục: Những site nhỏ (chỉ có vài trang HTML vài hình ảnh) thờng chấp nhận đợc th mục Web Server Tất hình ảnh trang HTML bạn đợc lu th mục Một thuận lợi lớn hệ thống việc liên kết đến tập tin hình ảnh cục không cần đến đờng dẫn * Tổ chức Site th-mục-theo-chức-năng: Với Site phức tạp, ta đa phần nội dung có liên quan với vào th mục Ví dụ, th mục chính, bạn để trang mục số hình cần thiết Site Tìm kiếm thông tin Tiếng Việt Internet 10 Nguyễn Ngọc Hiếu Luận văn tốt nghiệp công ty, bạn tạo th mục cho trang thông tin thơng mại, thông tin sản phẩm, hỗ trợ kỹ thuật , th mục bạn chứa tất trang HTML liên quan hình ảnh cho trang * Tổ chức Site th-mục-theo-kiểu-file: Một số ngời thích tạo th mục theo kiểu tập tin thay theo nội dung trang Th mục bạn có trang Index Các th mục khác theo thể loại nh hình ảnh trang Web, tập tin tải về, Lợi ích cách tổ chức chỗ ta phải thay tập tin lần Ví dụ, bạn dùng hình nhiều trang khác nhau, bạn thay lần th mục hình ảnh tất trang HTML có kết nối dùng đợc hình ảnh * Tổ chức Site hỗn hợp: Cách tốt để tổ chức Site lớn kết hợp hai phơng pháp cuối Tạo th mục riêng rẽ cho phần tử không lặp lại (nh trang danh mục), tạo th mục khác cho phần tử đợc dùng nhiều lần (nh hình ảnh) 1.1.5 HTTP (Hypertext transfer protocol) HyperText Transfer Protocol (HTTP Giao thức truyền siêu văn bản) giao thức cấp ứng dụng mà Client dùng để liên lạc với Server Ra đời từ năm 1989, nhng đến năm 1990 nhà phát triển tổ chức nghiên cứu Internet phát triển thành giao thức truyền nhận tệp siêu văn (HTML HyperText Markup Language) World Wide Web (WWW) nhiều dịch vụ thông tin sử dụng giao thức HTTP làm phơng tiện truyền nhận tin Internet, cho phép quản lý số lớn yêu cầu truyền dạng số liệu HTTP tơng tự nh Telnet, cho phép ngời sử dụng từ trạm làm việc đăng nhập vào trạm xa qua mạng làm việc với hệ thống y nh từ trạm cuối nối trực tiếp với trạm xa Tuy nhiên, có khác quan trọng HTTP Telnet HTTP không trì kết nối thờng xuyên với Server Khi Client thiết lập kết nối với Server, Server gửi về: + Version giao thức tài liệu + Thông báo trạng thái yêu cầu nh thông tin đợc tìm thấy + Loại MIME (Multipurpose Internet Mail Extensions) dùng xác định dạng media đợc dùng (âm thanh, hình ảnh, ) + Văn HTML Ví dụ nh: Tìm kiếm thông tin Tiếng Việt Internet 11 Nguyễn Ngọc Hiếu Luận văn tốt nghiệp GET example.htm HTTP /1.0 accept: */* user-agent: Mozilla/4.0 (compitable, MSIE 4.0; windows 95) connection: Keep Alive Khi nhận đợc yêu cầu, Web Server trả lời bắt đầu version HTTP Server sử dụng, theo sau mã cho trả lời thành công hay thất bại với lỗi Sau dòng dòng chiều dài, kiểu nội dung (MIME type) Hầu hết việc truyền thông HTTP đợc ngời truy cập bao gồm yêu cầu đợc cung cấp tới tài nguyên vài trạm dịch vụ nguồn - Trong trờng hợp đơn giản nhất, giao thức HTTP đợc thực dựa kết nối đơn (v) ngời truy cập (user agent - UA) trạm dịch vụ nguồn (origin server - O) * Sơ đồ thể nh sau: Chuỗi yêu cầu -> UA v -O < - Chuỗi kết HTTP protocol không trạng thái, nghĩa Server không lu giữ lại thông tin user chơng trình duyệt client - Netscape đa kỹ thuật để hỗ trợ việc lu giữ lại thông tin gọi cookie Các giá trị cookie đợc lu chơng trình duyệt Server ấn định giá trị trả lời với lệnh set-cookie, chơng trình duyệt trả lại cookie cho Server yêu cầu sau cách sử dụng header Cookie Bằng cách Server lu giữ thông tin user nhận lại cần Với HTTP cho phép xác định tài nguyên yêu cầu tập tin chơng trình Nếu tập tin Server đơn giản trả Client nội dung tập tin Nếu chơng trình Web Server thực thi chơng trình (có thể có tham số đợc cung cấp chơng trình duyệt) Các chơng trình đợc gọi CGI-script 1.1.6 Phân loại Web 1.1.6.1 Web tĩnh Là tài liệu đợc phân phát đơn giản từ hệ thống file Server Web Server tiến hành tìm kiếm xác định vị trí file gửi kết cho Client Định dạng trang Web tĩnh siêu liên kết, trang dạng text, hình ảnh đơn giản Tìm kiếm thông tin Tiếng Việt Internet 12 Nguyễn Ngọc Hiếu Luận văn tốt nghiệp def pop(self): x = self.items[-1] del self.items[-1] return x def empty(self): return len(self.items) == # Kết Boolean + self: đối số thêm vào lúc bắt đầu danh sách đối số + Phơng thức đợc gọi nh sau: object.method (arg1, arg2, ) 3.1.3.6 Modules Python cho phép xây dựng chơng trình thành module sử dụng lại chơng trình khác Nhng Python hỗ trợ tập module chuẩn giúp ngời lập trình sử dụng chúng nh chơng trình sở họ đợc gọi module th viện Một số Module phổ biến: + sys : Truy cập tới số trạng thái hệ thống + types: Hằng số cho kiểu xây dựng sẵn + traceback: Kiểm tra ngăn xếp đợc gọi + pickle: chuyển đổi đối tợng Python thành byte-streams (dòng byte) + shelve : Bộ nhớ + marshal: Thay đổi dòng byte + builtin : Truy cập tới tất hàm xây dựng sẵn Python + main : Đối tợng mức đỉnh + string: Thao tác với string (chuỗi) + regex - regular expression support + regsub - regular expression based substitution and splitting + struct: Chuyển đổi từ dạng nhị phân nén sang strings + math: hàm thuộc toán học + array: Sự bổ sung mảng mang tính hiệu cao + os - portable OS API + time: Những chức thời gian + tempfile: Tên file tạm thời + signal: Truy cập tới dấu hiệu POSIX + socket: Giao diện mạng kiểu socket + select : Giao diện select BSD (berkely software distribution) Tìm kiếm thông tin Tiếng Việt Internet 25 Nguyễn Ngọc Hiếu Luận văn tốt nghiệp + thread: Xử lý đa luồng + grp: Sự truy cập tệp nhóm UNIX + dbm : Những phơng pháp truy cập file BSD ndbm + bsddb - BSD keyed db file access routines + curses Xuất/ nhập độc lập thiết bị đầu cuối + posixfile: Đối tợng file với hỗ trợ khoá + glob: Sự mở rộng tên tệp UNIX + grep: Những chức tìm kiếm tệp + urllib: Mở URL + httplib: Giao thức HTTP + ftplib: Giao thức truyền tệp FTP + gopherlib: Giao thức GOPHER + urlparse: Phân tích chuỗi địa URL sang tuples + htmllib: Phiên dịch tài liệu HTML Trong Module có thuộc tính phơng thức trợ giúp cho ngời lập trình công cụ lập trình dễ sử dụng hữu hiệu Ví dụ: Đoạn chơng trình Python thực việc download văn FAQ (Frequently asked questions) từ FTP server, sử dụng module ftplib: from ftplib import FTP ftp = FTP( 'ftp.python.org' ) # Kết nốt tới Anonymous FTP host ftp.login() ftp.cwd('pub/python/doc') # thay đổi th mục ftp.retrlines('LIST') # liệt kê python/doc F = open('python.FAQ', 'w') # mở file: python.FAQ để ghi ftp.retrbinary('RETR FAQ', F.write, 1024) ftp.quit() 3.2 Phân tích chơng trình tìm kiếm thông tin tiếng Việt Internet * Lựa chọn ngôn ngữ Python để xây dựng chơng trình này: Thử nghiệm chơng trình tìm kiếm thông tin tiếng Việt Internet chơng trình đợc lập trình chủ yếu với Internet, giao diện phức tạp, biện pháp xử lý string, Ngôn ngữ Python hỗ trợ nhiều tính vấn đề Nổi bật đặc tính sau đây: Tìm kiếm thông tin Tiếng Việt Internet 26 Nguyễn Ngọc Hiếu Luận văn tốt nghiệp + Các kiểu liệu bậc cao + Các công cụ lập trình mạng mạnh + Công cụ xử lý xâu ký tự + Khả hớng đối tợng 3.2.1 Các kiểu liệu bậc cao Các kiểu liệu bậc cao giúp cho ngời lập trình tiết kiệm thời gian, thực dễ dàng thao tác phức tạp câu lệnh đơn Những kiểu liệu bậc cao mà Python hỗ trợ: + Numbers: int, long, float, complex + strings + Lists Dictionaries + Những kiểu liệu khác nh liệu số nhị phân + Những Module mở rộng xác định kiểu liệu * Numbers: + Hỗ trợ hàm chuyển đổi: float(), int(), long() + Xử lý kiểu số phức cách dễ dàng Để tạo số phức sử dụng hàm complex(real, imag) + Một giá trị đợc gán cho nhiều biến lúc * Strings: Bên cạnh số, Python áp dụng cho strings Strings đợc biểu diễn nhiều cách, đặt cặp dấu nháy đơn đặt cặp dấu nháy kép + strings ghép nối với toán tử + đợc nhắc lại toán tử * + strings đợc đánh số, giống nh C, kí tự strings đợc đánh số + Tạo strings với nội dung kết hợp dễ dàng có hiệu ngôn ngữ lập trình khác * List Dictionaries: a Lists: Dùng để ghép kiểu liệu khác Không giống nh string, list thay đổi yếu tố đơn lẻ chí thay đổi size list Các Tìm kiếm thông tin Tiếng Việt Internet 27 Nguyễn Ngọc Hiếu Luận văn tốt nghiệp phơng thức list nh: pop, append, insert, reverse, sort công cụ hữu ích cho ngời lập trình b Dictionaries: Dictionaries tìm thấy ngôn ngữ lập trình khác nh nhớ kết hợp nh mảng kết hợp Nhng với Python, Dictionaries bảng thông tin đợc truy cập khoá tìm kiếm thu ngắn (giá trị phân cắt) Chính bảng phân cắt giúp tra cứu thông tin xác làm cho thời gian tìm kiếm nhanh Các phơng thức nh keys, values, items, delete, insert, has-key giúp xử lý Dictionaries cách nhanh chóng thuận tiện, đồng thời biến đổi khoá tìm kiếm thành địa để lu trữ khôi phục mẫu liệu (đó kỹ thuật tìm kiếm nhanh) * Những kiểu liệu khác: Nh Unicode string Bắt đầu từ Python 2.0 trở có kiểu liệu hỗ trợ cho ngời lập trình việc lu trữ liệu dạng text hợp thành thể thống với đối tợng string tồn tại, kiểu liệu unicode string Python sử dụng UTF nh cách mã hoá mặc định Cách mã hoá đợc dùng phổ biến cần ghi string unicode file 3.2.2 Các công cụ lập trình mạng mạnh 3.2.2.1 TCP/IP Sử dụng module socket (giao diện mạng mức thấp) Module truy cập tới BDS socket có sẵn tất hệ thống Unix, Windows, MacOS, hàm socket() trả đối tợng socket, lựa chọn cách tự động yêu cầu dựa họ địa đối tợng socket đợc tạo Ví dụ: Sử dụng giao thức TCP/IP : Một Server đáp lại tất liệu mà nhận đợc từ client Nếu muốn Server đáp lại nhiều client sử dụng phơng thức accept() nhiều lần 3.2.2.2 HTTP Đa module httplib để định nghĩa lớp HTTP thực phía client Lớp không đợc sử dụng trực tiếp, module urllib sử dụng để điều khiển URLs dùng giao thức HTTP Ví dụ: Tìm kiếm thông tin Tiếng Việt Internet 28 Nguyễn Ngọc Hiếu Luận văn tốt nghiệp Kết nối tới Server có host www.abc.com port 80 Ta có ba cách viết sau phù hợp: h1 = httplib.HTTP( ' www.abc.com ' ) h2 = httplib.HTTP( ' www.abc.com: 80 ') h3 = httplib.HTTP( 'www.abc.com', 80) 3.2.2.3 HTML Hỗ trợ module htmllib Module htmllib xác định lớp thực nh sở cho file văn định dạng HTML + Giao diện để nạp liệu tới instance thông qua phơng thức feed() Khi liệu chứa tag HTML tag đợc xử lý yếu tố khác không hoàn toàn đợc ghi buffer Ví dụ: Để phân tích nội dung toàn thể file: parser.feed(open('myfile.html').read()) parser.close() + Giao diện để định nghĩa tag HTML: Sử dụng phơng thức do_tag(), end_tag() 3.2.2.4 CGI CGI phơng tiện phổ biến để truy cập sở liệu Web Cơ cấu sử dụng giao thức HTTP Web, cho phép Clients chuyển giao liệu dạng Form (hoặc liệu dạng khác) tới Website Server nhận phản hồi từ Server Dữ liệu xuất CGI script gồm hai phần: Phần thứ header, phải chứa kiểu liệu phần thân (body) Ví dụ: print "Content-Type: text/html" # HTML print # Dòng trắng, kết thúc tiêu đề Phần thứ hai thờng HTML, cho phép Web Browser hiển thị phần text đợc định dạng với tiêu đề, hình ảnh, Ví dụ: print "CGI script output" print "This is my first CGI script" print "Hello, world!" 3.2.3 Công cụ xử lý xâu ký tự (string) 3.2.3.1 Các hàm string Tìm kiếm thông tin Tiếng Việt Internet 29 Nguyễn Ngọc Hiếu Luận văn tốt nghiệp Python hỗ trợ cho việc xử lý string nhiều phơng thức thuộc tính nh: tách, ghép, xoá, tìm kiếm, Đồng thời đa số phục vụ cho việc kiểm tra lớp ký tự có ích cho string functions Ví dụ: Để tách từ string, thực đơn giản nh sau: import string s='xin chao cac ban' print string.split(s) Kết quả: ['xin', 'chao', 'cac', 'ban'] 3.2.3.2 Các hàm Regular expenssion Module re đợc thêm vào từ Python 1.5 cung cấp Regular Expression(RE) Những version trớc cung cấp module regex, chứa biểu thức kiểu Emacs Kiểu Emacs nhỏ hạn chế, tất công việc xử lý string đáp ứng đợc RE đáp ứng tốt điều giúp ngời lập trình * Những ký tự tơng hợp (Matching character): + Danh sách Metacharacters: ., ^, $, *, +, {, [, \, |, (, ) ý nghĩa Metacharacters đợc trình bày chi tiết Regular Expression HOW TO tài liệu Python + Các dấu hiệu đặc biệt đợc định nghĩa sẵn hỗ trợ cho string: \d : Thích hợp với số thập phân ([0-9]) \ D: Thích hợp với ký tự số ([^ 0-9]) \ s : Thích hợp với ký tự whitespace \ S : Thích hợp với ký tự non-whitespace \ w: Thích hợp với ký tự alphanumeric character \ W: Thích hợp với ký tự non-alphanumeric character * Các phơng thức thuộc tính RE: Phơng thức/ Thuộc Mục đích tính Match Xác định RE thích hợp vị trí string Search Quét qua string, tìm kiếm vị trí thích hợp Split Tách string thành danh sách Tìm tất chuỗi (sub string) thoả mãn, thay Sub chúng với string khác Giống nh sub(), nhng hạn chế số chuỗi thay Subn Tìm kiếm thông tin Tiếng Việt Internet 30 Nguyễn Ngọc Hiếu Luận văn tốt nghiệp Group Trả string thích hợp RE Ví dụ: RE tìm kiếm từ kép string import re p = re.compile(r '(\b\w+)\s+\1') print p.search('Viet nam in the the spring').group() Kết quả: 'the the' 3.2.4 Lập trình đa luồng Xử lý song song tiến trình nghĩa lúc thực nhiều công việc nh lấy liệu về, xử lý chúng nhng tiếp tục kết nối với Client khác Ví dụ: Chơng trình sau giây Ngon ngu, giây Lap trinh sau giây Python import time, sys, thread def test(name, delay): for i in range(20): print name, ':', i sys.stdout.flush() time.sleep(delay) thread.start_new_thread(test, ('Ngon ng ', 2)) thread.start_new_thread(test, ('Lap trinh', 3)) thread.start_new_thread(test, ('Python', 1)) while 1: pass 3.2.5 Khả hớng đối tợng Lập trình cho kiện, sử dụng module th viện mà Python hỗ trợ Có khả truy cập tới: + COM, DCOM, ODBC + Cơ sở liệu thơng mại (Commercial database) + Java (Jpython) + Những th viện GUI: Platform-inpendent: Tk, wxWindows, GTK Platform-specific: MFC, MacOS Chơng trình nguồn rõ ràng, dễ viết, cần ngời lập trình tạo bổ sung thay cho thành phần Python (Chẳng Tìm kiếm thông tin Tiếng Việt Internet 31 Nguyễn Ngọc Hiếu Luận văn tốt nghiệp hạn nh: số chí lớp đối tợng) dựa hai cách: bổ sung mã, mở rộng ngôn ngữ biên dịch 3.3 Cài đặt 3.3.1 Cấu trúc hệ thống 3.3.1.1 Chơng trình tạo Index Internet Web Server Spider Admin Console Giao diện quản trị URLs Words Indexer 3.3.1.2 Chơng trình tìm kiếm URLs Words Search CGI Xử Lý Tiếng Việt Web Server CSDL Internet/Intrane t Tìm kiếm thông tin Tiếng Việt Internet Web Browser 32 Nguyễn Ngọc Hiếu Luận văn tốt nghiệp Giao diện tìm kiếm 3.3.2 Các module chơng trình 3.3.2.1 Các module chơng trình tạo Index a Spider * Chức năng: Tải trang Web từ Website Internet * Input: Vào URL gốc (tơng ứng với Website muốn tạo Index, ví dụ: http:// www.abc.com./ ) * Output: - Cho danh sách URLs Website (ví dụ Website tìm thấy URL nh sau: + http://www.abc.com/page1.htm + http://www.abc.com/page2.htm - Tất trang Web tìm thấy đợc ghi vào Database (CSDL) Nội dung trang Web (ứng với URL Website) đợc gửi cho Indexer * Thực hiện: - Dùng cấu trúc hàng đợi (queue) để chứa URL cần lấy - Đánh dấu URL lấy biến kiểu Dictionary (tơng đơng với bảng hash: bảng thông tin đợc truy cập từ khoá tìm kiếm), làm cho thời gian tìm kiếm nhanh - Do thời gian để lấy trang thờng lớn nhiều thời gian để xử lý trang Web, nên ta dùng cách lập trình đa luồng (sử dụng module th viện thread) để tăng tốc độ làm việc b Indexer * Chức năng: Tách từ Tiếng Việt trang Web, lu trữ chúng vào CSDL để phục vụ cho chơng trình tìm kiếm * Input: Đa vào nội dung trang Web (kiểu text/html) * Output: Cho danh sách từ số lần xuất chúng trang web * Thực hiện: - Chuyển đổi trang Web mã ASCII Ví dụ: Á sang mã ASCII chr(193) Tìm kiếm thông tin Tiếng Việt Internet 33 Nguyễn Ngọc Hiếu Luận văn tốt nghiệp Á sang mã ASCII chr(193) - Tách phần văn (phần HTML tags) thành từ riêng biệt - Loại bỏ dòng ký tự ý nghĩa nh số, dòng dài ngắn, - Xử lý tiếng Việt - Ghi vào CSDL c Database (CSDL) * Chức năng: Lu danh sách URL từ tiếng Việt có trang Web tơng ứng Chơng trình tạo Index chơng trình Tìm kiếm có phần chung CSDL * Thực hiện: - Sử dụng module BSDDB có sẵn Python - Các thành phần: + URL list: Gồm phần: Key: Là URL Value: Là size, date trang Web, + Word list (Danh sách chứa từ): Gồm phần: Key: Chứa word (các từ tiếng Việt) Value: Là danh sách cặp (URL index, Wordcount) + URL table: Chứa danh sách URL d Xử lý tiếng Việt * Chức năng: Cung cấp hàm phụ trợ để xử lý tiếng Việt, hàm dùng cho module Indexer * Các hàm chuyển đổi: - Chuyển đổi bảng mã tiếng Việt - Chuyển chữ hoa/chữ thờng (trong chơng trình tất từ đợc chuyển đổi thành chữ thờng) để phục vụ chơng trình Tìm Kiếm Ví dụ: Khi ta tìm từ việt nam tìm thấy tất trang Web có chứa việt nam, Việt Nam, việt nam, - Trong tơng lai bổ sung hàm để đoán nhận bảng mã tiếng Việt cách tự động e Admin Console (Màn hình quản trị) Tìm kiếm thông tin Tiếng Việt Internet 34 Nguyễn Ngọc Hiếu Luận văn tốt nghiệp * Chức năng: Cung cấp giao diện đơn giản để quản trị chơng trình tạo Index * Các lệnh cung cấp: - List: Xem danh sách Website CSDL - Add: Bổ sung Website - Remove: Xoá bỏ Website - View: Xem thông tin Website (số lợng URL, số từ, ) - Quit 3.3.2.2 Các module chơng trình Tìm Kiếm a Search CGI: Sử dụng chế CGI (Common Gateway Interface) để xây dựng giao diện tìm kiếm, ngời dùng gõ từ từ cần tìm vào Form tìm kiếm Chơng trình CGI tìm CSDL trang Web có chứa từ mà ngời dùng yêu cầu, sau xếp theo thứ tự theo mức độ phù hợp trả lại danh sách URL tơng ứng cho ngời dùng Kết tìm kiếm bao gồm tổng số trang Web thoả mãn, số lợng (các) từ khoá xuất trang Web, địa liên kết để truy cập tới Website tơng ứng, đoạn tóm tắt nội dung Website, b Web Server: Sử dụng IIS (Microsoft Internet Information Server) c Web Browser: Ngời dùng sử dụng Web Browser nh Internet Explorer (IE), Netscape Navigator, để nhận từ khoá từ ngời dùng, tải liệu phù hợp lên hình 3.3.3 Đánh giá 3.3.3.1 Các tính tìm kiếm * Ưu điểm: - Cho phép tìm văn (các trang Web) chứa nhiều từ - Tìm kiếm không phân biệt chữ hoa hay chữ thờng - Tốc độ tìm kiếm nhanh Website vừa nhỏ * Nhợc điểm: - Các kết tìm kiếm cha đợc xếp - Cha có tính tìm kiếm nâng cao nh tìm kiếm theo nhóm từ (pharase search: từ khoá cụm từ nh cụm từ đợc nhập vào), tìm có giới hạn thời gian, có giới hạn domain, tìm trang tơng tự với trang chủ cho trớc, Tìm kiếm thông tin Tiếng Việt Internet 35 Nguyễn Ngọc Hiếu Luận văn tốt nghiệp 3.3.3.2 Khả xử lý tiếng Việt * Ưu điểm: - Hiểu từ tiếng Việt (tách từ xác), chuyển đổi chữ hoa thành chữ thờng nhập vào * Nhợc điểm: - Do thời gian có hạn, nên chơng trình hỗ trợ bảng mã TCVN 5713 (ABC), cha hỗ trợ bảng mã khác nh VNI, VPS, Unicode tiếng Việt, 3.3.3.3 Khả tạo index * Ưu điểm: - Cho phép tạo index Website từ xa (thông qua giao thức HTTP) - Cho phép tạo index nhiều Website * Nhợc điểm: - Cha cho phép tạo index việc đọc trực tiếp file system (đọc từ đĩa) qua FTP (File Transfer Protocol) - Không có chế độ cập nhập index Mỗi lần cập nhập có cách xoá tạo lại index cho Website - Không so sánh để loại bỏ văn (các trang Web) trùng lặp 3.3.3.4 Quản trị * Ưu điểm: - Giao diện tìm kiếm (trang HTML) giao diện trình bày kết tìm kiếm (do chơng trình CGI sinh ra) tuỳ biến - Ngời quản trị tạo mới, xoá xem URL gốc (tơng ứng với website) * Nhợc điểm: - Giao diện quản trị đơn giản, quản trị từ xa - Mỗi lần cập nhật Website phải xoá tạo lại URL tơng ứng 3.3.3.5 Hiệu (performance) - Tốc độ tạo index cao Website nhỏ, nhng số văn tăng tốc độ trở nên chậm Điều ta lu trữ CSDL hoàn toàn đĩa - Phơng hớng khắc phục: Dùng kết hợp hai CSDL, đĩa cứng dùng để lu trữ liệu tạm thời nhớ Thông tin từ indexer đợc gửi tới CSDL nhớ, CSDL lớn đến mức ta chuyển nội dung vào CSDL đĩa Với CSDL chứa khoảng vài nghìn URL thời gian tìm kiếm dới giây Tìm kiếm thông tin Tiếng Việt Internet 36 Nguyễn Ngọc Hiếu Luận văn tốt nghiệp - Chơng trình tìm kiếm thông tin tiếng Việt Internet thích hợp để tạo index tìm kiếm vơí Website nhỏ trung bình (khoảng vài nghìn URL trở xuống), không thích hợp dùng với Website lớn (chứa khoảng hàng chục chí hàng trăm nghìn URL) 3.3.3.6 Các yêu cầu thiết bị - Hệ điều hành Windows NT 4.0 Windows 2000 - Microsoft IIS 4.0 - Máy PC phải có 64 MB RAM có kết nối mạng Kết luận - Chơng trình bớc đầu giải đợc vấn đề tạo index tìm kiếm trang Web tiếng Việt, cho phép ta tìm kiếm theo từ khoá nh Search Engines phổ biến mạng Internet (Altavista, Google, ) Tìm kiếm thông tin Tiếng Việt Internet 37 Nguyễn Ngọc Hiếu Luận văn tốt nghiệp - Để xây dựng chơng trình Tìm kiếm thông tin tiếng Việt Internet, em ứng dụng số công nghệ lập trình nh: lập trình mạng TCP/IP, công nghệ CGI, lập trình đa luồng, - Các kết thử nghiệm bớc đầu cho thấy chơng trình làm việc tốt với Website vừa nhỏ Tuy nhiên, để chơng trình làm việc với Website lớn cần cải tiến giải pháp dùng chơng trình - Nếu có điều kiện, hớng phát triển chơng trình bổ sung tính tìm kiếm cao cấp, cải thiện tốc độ làm việc trình bày giao diện quản trị tốt Tài liệu tham khảo Nguyễn Thúc Hải - Mạng máy tính hệ thống mở - NXB Giáo dục, 1999 Quang Bình, Phơng Hà - Thiết kế xuất Web với HTML&XHTML NXB Thống kê, 2001 Đinh Mạnh Tờng - Cấu trúc liệu thuật toán - NXB KHKT, 1998 Todd Stauffer - Thiết kế xuất trang Web với HTML - NXB Thanh niên, 2000 Brad Hill - Tìm kiếm thông tin Internet cho ngời - NXB Thống kê Phạm Hoàng Dũng, Hoàng Đức Hải - Làm chủ Microsoft Windows 2000 Server, tập - NXB Giáo dục, 2001 Tìm kiếm thông tin Tiếng Việt Internet 38 Nguyễn Ngọc Hiếu Luận văn tốt nghiệp Guido van Rossum - Python Documentation - Mathematics Department, Macquarie University, Sydney, 2001 (Release 2.2c1.) Một số trang Web tham khảo Tìm kiếm thông tin Tiếng Việt Internet 39 [...]... trình tìm kiếm thông tin tiếng Việt trên Internet * Lựa chọn ngôn ngữ Python để xây dựng chơng trình này: Thử nghiệm chơng trình tìm kiếm thông tin tiếng Việt trên Internet là một chơng trình đợc lập trình chủ yếu với Internet, giao diện phức tạp, những biện pháp xử lý string, Ngôn ngữ Python hỗ trợ rất nhiều tính năng về vấn đề này Nổi bật là các đặc tính sau đây: Tìm kiếm thông tin Tiếng Việt trên Internet. .. dẫn Tìm kiếm thông tin Tiếng Việt trên Internet 15 Nguyễn Ngọc Hiếu Luận văn tốt nghiệp Chơng II Phân Tích Một Website Tìm Kiếm Thông Tin 2.1 Đặt vấn đề Hiện nay, nhu cầu tìm kiếm thông tin trên Internet ngày càng cao song còn gặp nhiều khó khăn vì khối lợng thông tin trên Internet rất lớn, lại không đợc tổ chức chặt chẽ và thay đổi thờng xuyên Cách đơn giản nhất và dễ sử dụng nhất để có đợc thông tin. .. Chơng trình bớc đầu giải quyết đợc vấn đề tạo index và tìm kiếm các trang Web tiếng Việt, cho phép ta tìm kiếm theo từ khoá nh các Search Engines phổ biến trên mạng Internet hiện nay (Altavista, Google, ) Tìm kiếm thông tin Tiếng Việt trên Internet 37 Nguyễn Ngọc Hiếu Luận văn tốt nghiệp - Để xây dựng chơng trình Tìm kiếm thông tin tiếng Việt trên Internet, em đã ứng dụng một số công nghệ lập trình mới... liệu cần tìm để từ đó đa ra những cách tìm kiếm mang lại hiệu quả cao nhất Có rất nhiều cách tìm kiếm giúp cho ngời dùng tìm kiếm nhanh trên Internet nhng không phải tất cả các cách tìm kiếm đều có chức năng giống nhau: * Tìm kiếm theo từ viết hoa Nếu một từ tìm kiếm đợc viết hoa thì Search Engines sẽ chỉ chuyển tải những thông tin chứa từ viết hoa đó Chẳng hạn, nếu bạn quan tâm tới những thông tin liên... hạn, khi tìm kiếm những thông tin cho việc mua máy tính, ta gõ máy tính trong ngoặc kép thì sẽ giới Tìm kiếm thông tin Tiếng Việt trên Internet 17 Nguyễn Ngọc Hiếu Luận văn tốt nghiệp hạn những tài liệu chứa từ máy và tính nhng không theo thứ tự đó, có thể đa ra nhiều đoạn văn khác nhau hoàn toàn và không liên quan đến máy tính * Truncation (Cắt bớt từ tìm kiếm) Nếu bạn đang tìm kiếm thông tin về vờn... thờng - Tốc độ tìm kiếm nhanh đối với những Website vừa và nhỏ * Nhợc điểm: - Các kết quả tìm kiếm cha đợc sắp xếp - Cha có tính năng tìm kiếm nâng cao nh tìm kiếm theo nhóm từ (pharase search: từ khoá ở đây là một cụm từ đúng nh cụm từ đợc nhập vào), tìm có giới hạn về thời gian, có giới hạn domain, tìm các trang tơng tự với một trang chủ cho trớc, Tìm kiếm thông tin Tiếng Việt trên Internet 35 Nguyễn... tiêu đề: Nếu bạn đang tìm kiếm thông tin Máy tính và Internet, tin rằng có thể có một trang Web tổng thể nói về chủ đề này nghĩa là có các từ khoá trong tiêu đề Cú pháp nh sau : title: Máy tính AND Internet + Tìm kiếm theo đờng dẫn URL: Nếu bạn đang tìm kiếm những trang Web trên các Website của hãng Accer thì cú pháp nh sau: url: accer Tìm kiếm thông tin Tiếng Việt trên Internet 20 Nguyễn Ngọc Hiếu... là vào các site tìm kiếm và sử dụng các công cụ của nó để truy tìm các trang Web Qua các Site tìm kiếm bạn có thể sử dụng một cơ cấu truy tìm gọi là Search Engines Khi ta đa ra các yêu cầu tìm kiếm thì Search Engines sẽ tìm kiếm và hiển thị các thông tin tìm thấy lên màn hình kết quả dới dạng một danh sách các siêu liên kết vào các trang Web có chứa thông tin phù hợp với yêu cầu tìm kiếm Tiêu đề trang,... kiếm của bạn + OR: Nếu bạn muốn mở rộng phạm vi tìm kiếm để tìm kiếm những tài liệu chứa một trong hai từ khoá, sử dụng toán tử OR giữa các từ Điều này rất hữu ích khi tìm kiếm những thuật ngữ có từ đồng nghĩa mà có thể đợc sử dụng trong một tài liệu thay thế Tìm kiếm thông tin Tiếng Việt trên Internet 18 Nguyễn Ngọc Hiếu Luận văn tốt nghiệp Ví dụ: Nếu tìm kiếm là children OR kids thì sẽ trả về bất kỳ... CSDL hoàn toàn trên đĩa - Phơng hớng khắc phục: Dùng kết hợp hai CSDL, một trên đĩa cứng và một dùng để lu trữ các dữ liệu tạm thời trong bộ nhớ Thông tin từ indexer sẽ đợc gửi tới CSDL trong bộ nhớ, khi CSDL này lớn đến một mức nào đó thì ta chuyển nội dung của nó vào CSDL trên đĩa Với CSDL chứa khoảng vài nghìn URL thời gian tìm kiếm là dới một giây Tìm kiếm thông tin Tiếng Việt trên Internet 36 Nguyễn ... trình tìm kiếm thông tin tiếng Việt Internet Tìm kiếm thông tin tiếng Việt Internet với giao diện đơn giản gần gũi với ngời Việt, cần nhập vào hay số từ khoá tiếng Việt chứa thông tin cần tìm kiếm, ... tìm kiếm thông tin Đa cấu trúc chung Website tìm kiếm cách tìm kiếm Internet mang lại hiệu cao Chơng 3: Xây dựng thử nghiệm chơng trình tìm kiếm thông tin tiếng Việt Internet Tìm kiếm thông tin. .. Đờng dẫn Tìm kiếm thông tin Tiếng Việt Internet 15 Nguyễn Ngọc Hiếu Luận văn tốt nghiệp Chơng II Phân Tích Một Website Tìm Kiếm Thông Tin 2.1 Đặt vấn đề Hiện nay, nhu cầu tìm kiếm thông tin Internet

Ngày đăng: 15/12/2015, 08:31

Mục lục

  • Trường Đại học Vinh

  • Luận văn tốt nghiệp

    • Sinh viên thực hiện : Nguyễn Ngọc Hiếu

    • Tổng quan về World Wide Web

    • 1.2. Thành phần cơ bản của WWW

      • Chương III

      • Xây dựng thử nghiệm chương trình tìm kiếm

      • 3.1. Ngôn ngữ lập trình Python

      • 3.2. Phân tích chương trình tìm kiếm thông tin tiếng Việt trên Internet

      • 3.3. Cài đặt

        • Tài liệu tham khảo

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan