Xây dựng chương trình

Một phần của tài liệu Một số vấn đề liên quan đến Search Engine ứng dụng trong Text (Trang 69)

3. Triển khai thử nghiệm

3.2 Xây dựng chương trình

3.2.1 Hệ quản trị CSDL Oracle

Hiện nay trên thế giới trên thế giới có nhiều hệ quản trị cơsở dữ liệu đang

được sử dụng và phát triển trong đó nổi bật nhất là hệ quản trị cơsở dữ liệu Oracle. Hệ quản trị Oracle có rất nhiều điểm mạnh:

Gồm nhiều cấp độcó thể lựa chọn các phiên bản phù hợp với qui mô của tổ chức. Khả năng chạy thông suốt với các phiên bản từ Oracle lite đến Oracle Enterprise. Oracle Enterprise là hệ cơsở dữ liệu dành cho các hệ thống thông tin cỡ lớn với hàng nghìn người sử dụng và khả năng quản lý tới hàng Terabytes(1000GB) dữ liệu.

Khả năng thực thi cao: Oracle cho phép tận dụng tối đa khả năng của các hệ phần cứng và hệ điều hành đặc biệt cho các ứng dụng xử lý giao dịch trực tuyến. Với cấu trúc hỗ trợ đa máy chủ, đa luồng Orale cho phép khả năng đápứng hàng nghìn yêu cầu truy nhập đồng thời với lưu lượng xử lý dữ liệu lớn.

Tính sẵn sàng cao:Đối với các yêu cầu quan trọng đòi hỏi hệ thống vẫn hoạt

động khi có các sự cố về phần cứng. Oracle Parallel Server mở rộng độ tin cậy của cácứng dụng hệ thống mở bằng việc khai thác sức mạnh của các hệ Cluster.

Các tiện ích sao lưu dữ liệu trực tuyến cho phép thực hiện các hoạt động sao lưu khi hệ thống đang hoạt động ngay cả khi có cường độ giao dịch lớn.

Với đặc tính cơsở dữ liệu dự phòng Oracle cung cấp cơcấu tin cậy và hiệu quảtrong việc khắc phục các sự cố.

Hỗ trợ các giải pháp cơsở dữ liệu phân tán: Cho phép truy nhập, cập nhập dữ liệu thông suốt tại bất kỳ đâu trên toàn hệ thống. Đặc biệt với cơchế ghi nhận hai pha (two-phase commit) đảm bảo tính nhất quán của các giao dịch cập nhật phân tán.

Truy nhập dữ liệu mềm dẻo, thuận tiện: Cung cấp cho người sử dụng nhiều cách thức truy nhập dữ liệu như: qua ngôn ngữ SQL, qua các chương trình ứng dụng, qua Web browser, FTP hoặc thưđiện tử ...

Tính bảo mật cao: với nhiều mức độ bảo mật bao gồm khả năng xác thực người sử dụng, khả năng phân quyền thao tác trên các đối tượng dữ liệu với từng người sử dụng hoặc với các nhóm người sử dụng.

Quản trị hệ thống dễ dàng: Hỗ trợ khả năng quản trị tập trung, có thể thực hiện quản trị hệ CSDL qua công cụ quản trị giao diện đồ hoạ, Web hoặc bằng lệnh trực tiếp.

Hỗ trợ nhiều loại ngôn ngữ trên thế giới đặc biệt là có sự hỗ trợ với bộ mã Unicode.

Phần thử nghiệm này được thực hiện trên Hệ quản trị cơsở dữ liệu Oracle Enterprise 8i.

3.2.2 Mô hình tổng quan

Hình 4.1: Cấu trúccủa chương trình Thưviện số

3.2.3 Yêu cầu chức năng tìm kiếm

 Hỗ trợ tìm kiếm không/có phân biệt hoa thường: cho phép tìm theo các cụm từ không xét hoặc có xét đến dạng viết hoa/viết thường của các chữ cái.

 Hỗ trợ tìm kiếm không phụ thuộc vào vị trí bỏ dấu: với những từ tiếng Việt có hơn một cách bỏ dấu hợp lệ (VD: "hóa" và "hoá"; "thủy" và "thuỷ"), chương trình phải có khả năng coi chúng ta là cùng một từ.

 Hỗ trợ tìm kiếm theo những chủ đề liên quan.

 Cung cấp giao diện tra cứu theo nhiều bảng mã tiếng Việt khác nhau

 Phần mềm phải cho phép người tra cứu lựa chọn bảng mã tiếng Việt phù hợp với họ để tiến hành tìm kiếm và nhận kết quả trả lại.

 Cho phép tự động chuyển đổi bảng mã/phông chữ của người khai thác (nếu người dùng lựa chọn tính năng này)

 Hỗ trợ sắp xếp kết quả tìmđược theo trật tự tiêu đề văn bản, theo ngày tháng cập nhật của văn bản hoặc theo điểm số, mức độ liên quan…

 Cú pháp tìm kiếm mạnh: các toán tử kếthợp, loại trừ, bắt buộc (AND, OR, NOT)…cho phép tìm kiếm văn bản hiệu quả hơn.

3.2.4 Xây dựng chỉ mụccho tiếng Việt

Dựa vào kiến trúc và các tính năng của Oracle Text, việc xây dựng SE cho tiếng Việt có rất nhiều thuận lợi. Oracle Text cho phép người dùng can thiệp:

 Xây dựng bộ tách từ riêng

 Xây dựng bộ lọc riêng

 Quản lý Stoplist

 Xây dựng và quản lý Từ điển thuật ngữ

Bộ lọc (Filter) Phân đoạn (Sectioner) Tách từ (Lexer) Chỉ mục (Index Engine) Tài liệu

(Document) Markup Text Token

Dữ liệu (Datastore) Markup Internet Data Các tệp dữ liệu Danh mục từ (Wordlist) Danh mục Stoplist Chỉ mục Text Bộ lọc tự phát triển myctxhx

Hình 4.2: Kiến trúcxây dựng chỉ mục trên Oracle Textđối với tiếng Việt Nguyên lý hoạt động:Khi chức năng lọc được yêu cầu thực hiện, Oracle Text sẽ gọi tới thủ tục myctxhx:

 Bước 1: myctxhx gọi tới chức năng lọc của Oracle Text (ctxhx.exe) để thực hiện lọc các tệp dữ liệu về dạng Text hoặc HTML (Oracle Text hỗ trợ lọc khoảng 150 cácđịnh dạng khác nhau)

 Bước 2: myctxhx gọi thủ tục cvtr (chi tiết thủ tục được mô tả tại mục 3.2.7)

để thực hiện việc chuyển đổi bảng mã. Thủ tục này có các chức năng chính:

 Kiểm tra xem tệp dữ liệu có phải là Unicode hay không?

 Chuyển một xâu từ TCVN dang UTF8

 Chuyển một xâu từ VNI dang UTF8

 Chuyển một xâu từ UTF8 sang Unicode PreCompound, Compound

 Trả về Oracle Text dữ liệu được chuyển mãđể đánh chỉ mục.

Có thể thấy là thủ tục này có hầu hết các chức năng chuyển đổi các bảng mã thông dụng ở Việt Nam, từ TCVN hoặc VNI sang UTF8, Unicode. Tuy nhiên để

đảm bảo việc việc đánh chỉ mục tự động và cho phép tìm kiếm với nguồn dữ liệu là font TCVN, VNI hoặc Unicode thủ tục trên cần có một chức năng cho phép tự động

nhận dạng bảng mã và chuyển sang Unicode. Về mặt ý tưởng có thể viết được thêm chức năng này, dựa vào các ký tự nguyên âm để nhận dạng. Trong khuôn khổ luận văn này chưa thực hiện được, mà chỉthực hiện kiểm tra và chuyển đổi bảng mã từ TCVN về Unicode.

3.2.5 Sắp xếp tiếng Việt

Phần xử lý sắp xếp được thực hiện bởi một thủ tục nằm tách rời với phần tìm kiếm(SE), khi người dùng có yêu cầu thì nó sẽ được gọi. Dữ liệu đầu vào là dữ liệu trả về từ phần tìm kiếm và kết quả là dữ liệu được sắp xếp theo chuẩn của Tiếng Việt.Đây là thủ tục Store Procedure (nằm trong Database) nên có thể được sử dụng rất dễ dàng cho bất kỳ nhu cầu sắp xếp nào của ứng dụng.

Một phần của tài liệu Một số vấn đề liên quan đến Search Engine ứng dụng trong Text (Trang 69)