1. Trang chủ
  2. » Công Nghệ Thông Tin

Kỹ thuật tìm kiếm dựa trên từ khóa trong cơ sở dữ liệu và ứng dụng

42 324 1

Đ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

Thông tin cơ bản

Định dạng
Số trang 42
Dung lượng 597,73 KB

Nội dung

Vì vậy, khi bắt đầu theo học chương trình cao học công nghệ thông tin khóa CH2009B do trường Đại học Bách khoa Hà Nội tổ chức tại Đại học Nha Trang, tôi đã đăng ký thực hiện luận văn tốt

Trang 2

BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI

NGƯỜI HƯỚNG DẪN KHOA HỌC:

Tiến sĩ Vũ Tuyết Trinh

Hà Nội – Năm 2012

Trang 3

LỜI CAM ĐOAN

Tôi cam đoan kết quả của luận văn là chính tôi thực hiện Nếu sai tôi xin chịu hoàn toàn trách nhiệm

Trang 4

LỜI CẢM ƠN

thông tin và Truyền thông trường Đại học Bách khoa Hà Nội đã tận tình dạy dỗ

và giúp đỡ em trong quá trình học cao học Em xin trân trọng cám ơn Ban Giám hiệu trường Đại học Nha Trang đã tạo điều kiện về cơ sở vật chất và quản lý chúng

em trong suốt quá trình học tập tại trường

Em xin đặc biệt gửi lời cám ơn đến tiến sĩ Vũ Tuyết Trinh đã tận tình hướng dẫn và giúp đỡ em hoàn thành luận văn này

Xin trân trọng cám ơn tiến sĩ Lê Hồng Phương đã cung cấp các thông tin liên quan về bộ phân tách từ tiếng Việt vnTokenizer

Xin cám ơn Ban Giám đốc Sở Thông tin và Truyền thông tỉnh Khánh Hòa đã quan tâm tạo điều kiện về thời gian để bản thân tôi có điều kiện tham gia học tập và hoàn thành luận văn tốt nghiệp

Xin cảm ơn các bạn bè, đồng nghiệp đã chia sẻ công việc dành thời gian cho tôi tham gia học tập, nghiên cứu thực hiện luận văn; Cám ơn các bạn học cùng lớp

đã cùng trao đổi, chia sẻ những kiến thức bổ ích giúp tôi thực hiện luận văn này Với nội dung đề tài phong phú, thời gian thực hiện luận văn có hạn nên không sao tránh khỏi những hạn chế, thiếu sót trong nội dung thực hiện, kính mong sự quan tâm chỉ bảo của quý Thầy giáo, Cô giáo và các bạn đồng nghiệp

Hà Nội, ngày 15 tháng 03 năm 2012

Học viên

Trần Công Cẩn

Trang 5

MỤC LỤC

Trang

Trang phụ bìa

Lời cam đoan

Lời cảm ơn

Mục lục

Danh mục các ký hiệu, các chữ viết tắt 5

Danh mục các thuật ngữ 5

Danh mục các hình vẽ, đồ thị 6

MỞ ĐẦU 7

Chương 1 – TỔNG QUAN 8

1.1 Đặt vấn đề 8

1.2 Mục đích và cách tiếp cận 10

1.3 Nhiệm vụ cụ thể 10

1.4 Bố cục của luận văn 10

Chương 2 – CƠ SỞ LÝ THUYẾT HỆ TÌM KIẾM 12

2.1 Hệ tìm kiếm thông tin 12 2.1.1 Mô hình hệ tìm kiếm thông tin 13

2.1.2 Thành phần cơ bản của hệ tìm kiếm thông tin 14

2.2 Hệ tìm kiếm toàn văn trong hệ quản trị cơ sở dữ liệu quan hệ 20

2.2.1 Kiến trúc hệ tìm kiếm toàn văn 20

2.2.2 Một số hạn chế của hệ tìm kiếm toàn văn 23

Chương 3 – KỸ THUẬT TÌM KIẾM DỰA TRÊN TỪ KHÓA TRONG CƠ SỞ DỮ LIỆU QUAN HỆ 24

3.1 Kiến trúc hệ thống 24 3.2 Phân tích truy vấn 25 3.2.1 Bộ Tách từ 25 3.2.2 Bộ Loại bỏ từ dừng 26 3.2.3 Bộ Gán nhãn từ khóa 27 3.3 Bộ Sinh các câu lệnh SQL 29 3.3.1 Sinh theo nhãn từ khóa 30 3.3.2 Sinh theo mạng ứng viên 32 3.4 Bộ Xếp hạng kết quả 33 Chương 4 – ỨNG DỤNG QUẢN LÝ VĂN BẢN CỦA CÁC CƠ QUAN QUẢN LÝ NHÀ NƯỚC TỈNH KHÁNH HÒA 34

4.1 Nhu cầu thực tế 34

4.2 Thiết kế cơ sở dữ liệu 35

4.3 Tổ chức tìm kiếm 38

Chương 5 – KẾT LUẬN 39

TÀI LIỆU THAM KHẢO 41

Trang 6

Danh mục các ký hiệu, các chữ viết tắt

HQTCSDLQH Hệ quản trị cơ sở dữ liệu quan hệ

Danh mục các thuật ngữ

truy vấn

freetext

Là kiểu tìm kiếm mà người dùng tự do nhập vào các từ khóa cần tìm, không cần biết thông tin về lược đồ cơ sở dữ liêu; còn được gọi là

truy vấn từ khóa kiểu tự do (free form keyword) Hệ tìm kiếm tự

chuyển câu truy vấn của người dùng sang câu truy vấn SQL để thực hiện tìm kiếm và trả kết quả về người dùng

Trang 7

Danh mục các hình vẽ, đồ thị

Trang

Hình 2.1.1 Tìm kiếm thông tin 12

Hình 2.1.2 Mô hình hệ tìm kiếm thông tin 13

Hình 2.1.3 Quá trình biểu diễn câu truy vấn 15

Hình 2.1.4 Quá trình biểu diễn tài liệu 17

Hình 2.2.1 Kiến trúc hệ tìm kiếm toàn văn 20

Hình 3.1.1 Kiến trúc hệ tìm kiếm dựa trên từ khóa trong CSDLQH 24

Hình 3.2.1 Cấu trúc từ điển khái niệm lược đồ 27

Hình 3.3.1 Lưu đồ sinh các câu lệnh SQL 29

Hình 4.1.1 Thiết kế CSDL của ứng dụng 35

Trang 8

MỞ ĐẦU

Để phát triển đất nước cần tăng cường cải cách nền hành chính Nhà nước một cách sâu rộng và toàn diện, trong đó, lấy qui trình quản lý chất lượng theo tiêu chuẩn ISO9001:2008 và ứng dụng công nghệ thông tin là hai công cụ mạnh để phục

vụ công tác cải cách hành chính Từ đó, đẩy mạnh ứng dụng công nghệ thông tin ở các cấp chính quyền tiến tới xây dựng Chính phủ điện tử đã trở thành một nhiệm vụ cấp thiết trong các cơ quan quản lý Nhà nước hiện nay

Quá trình đẩy mạnh ứng dụng công nghệ thông tin ở các cơ quan quản lý Nhà nước đã xuất hiện rất nhiều hệ thống thông tin phục vụ công tác quản lý với số lượng rất lớn các văn bản, tài liệu quản lý liên quan gắn kết với các ứng dụng quản

lý được xây dựng dựa trên các hệ quản trị cơ sở dữ liệu quan hệ Từ thực tế đó, tìm kiếm thông tin trong các trường dữ liệu text (dữ liệu dạng văn bản) trong cơ sở dữ

liệu quan hệ (gọi là Tìm kiếm toàn văn – Full text search) là yêu cầu bức thiết mà

các hệ thống thông tin quản lý cần phải có

Qua hoạt động thực tế trong công tác quản lý Nhà nước ở lĩnh vực “công nghệ thông tin – điện tử” tại Sở Thông tin và Truyền thông tỉnh Khánh Hòa tôi nhận thấy một số ứng dụng đã được xây dựng và triển khai nhưng chưa hỗ trợ tìm kiếm toàn văn trong cơ sở dữ liệu quan hệ, gây khó khăn cho người dùng trong công tác tìm kiếm thông tin, tra cứu văn bản Vì vậy, khi bắt đầu theo học chương trình cao học công nghệ thông tin khóa CH2009B do trường Đại học Bách khoa Hà Nội tổ chức tại Đại học Nha Trang, tôi đã đăng ký thực hiện luận văn tốt nghiệp với đề tài “Kỹ thuật tìm kiếm dựa trên từ khóa trong cơ sở dữ liệu và ứng dụng”

Do thời gian thực hiện luận văn có hạn nên bản thân không sao tránh khỏi những hạn chế, thiếu sót trong nội dung thực hiện, kính mong sự quan tâm chỉ bảo của quý Thầy giáo, Cô giáo và các bạn đồng nghiệp

Trang 9

Chương 1 TỔNG QUAN 1.1 Đặt vấn đề

Trong những năm gần đây, cùng với sự phát triển nhanh chóng của các ứng dụng công nghệ thông tin, lượng dữ liệu lưu trữ trong các hệ thống máy tính ngày càng lớn và nhu cầu tra cứu, tìm kiếm thông tin lưu trữ trên máy tính ngày càng đa dạng Các hệ quản trị cơ sở dữ liệu quan hệ (HQTCSDLQH) được xem là công cụ phổ biến để quản lý và truy vấn dữ liệu có cấu trúc một cách hiệu quả Để phát biểu yêu cầu truy vấn, người dùng phải có hiểu biết đầy đủ về lược đồ CSDL cần truy vấn Bộ xử lý truy vấn trong CSDL cho phép trả lại kết quả chính xác, đầy đủ (vét cạn), không có thứ tự (không phân biệt mức độ quan trọng của các bản ghi) Các kỹ thuật xử lý truy vấn được thiết kế hiệu quả với các kiểu dữ liệu cơ bản (text ngắn,

số, ngày tháng, ) nhưng không hiệu quả với các dữ liệu phức tạp như dữ liệu văn bản Hơn nữa, việc phát biểu điều kiện tìm kiếm trên một trường dữ liệu văn bản là khá khó khăn và thường không hiệu quả

Trong một cách tiếp cận khác, các hệ tìm kiếm thông tin (information retrieval

systems) và các mô-tơ tìm kiếm trên web như Google, Yahoo, cho phép tìm kiếm

hiệu quả trên dữ liệu phi cấu trúc là các văn bản, các tài liệu Người dùng phát biểu yêu cầu truy vấn dưới dạng các từ khóa tìm kiếm, hệ thống thực hiện đối sánh từ khóa tìm kiếm với nội dung văn bản, tài liệu lưu trữ để trả về những tài liệu liên quan đến câu truy vấn và hiển thị kết quả được sắp xếp theo mức độ “liên quan” của tài liệu với câu truy vấn

Tích hợp các tính năng cơ bản của hệ tìm kiếm thông tin, một số HQTCSDLQH đã cho phép thực hiện tìm kiếm toàn văn trên các trường dữ liệu văn bản Tuy nhiên người dùng vẫn phải có hiểu biết về lược đồ CSDL để phát biểu yêu cầu tìm kiếm toàn văn trên từng trường dữ liệu của lược đồ Ví dụ về sử dụng câu

truy vấn SQL (structured query language) thực hiện tìm kiếm toàn văn trong

Microsoft SQL Server 2008 để hiển thị những quyển sách (book) mà nội dung của

Trang 10

nó (nằm trong trường dữ liệu text có tên là book_content) có chứa từ khóa ‘gift’ với ngôn ngữ thể nội dung là tiếng Anh như sau:

SELECT *

WHERE CONTAINS (b.Book_Content, 'gift', LANGUAGE 1033);

Tích hợp cách tiếp cận tìm kiếm từ khóa trong các hệ tìm kiếm thông tin vào các HQTCSDLQH cho phép thao tác với các dữ liệu có cấu trúc và các dữ liệu văn bản một cách hiệu quả và thân thiện hơn Người dùng có thể biểu diễn yêu cầu tìm kiếm dưới dạng chuỗi từ khóa tìm kiếm mà không cần biết tới tổ chức dữ liệu (lược

đồ dữ liệu) Hệ thống sẽ tìm kiếm trong cơ sở dữ liệu quan hệ (CSDLQH) và đặc biệt trong các trường dữ liệu văn bản để trả về các bản ghi phù hợp với yêu cầu tìm kiếm theo một thứ tự xác định Trên thực tế, các hệ thống thông tin được triển khai tại các cơ quan Nhà nước hiện nay đa phần dựa trên HQTCSDLQH mà phần lớn là dùng Microsoft SQL Server Các ứng dụng điển hình là phần mềm “Quản lý đảng viên” đang được triển khai ở Ban Tổ chức cấp ủy từ Trung ương đến địa phương, phần mềm “Mobile Office” của Sở Khoa học và Công nghệ tỉnh Đồng Nai đã được triển khai tại 15 đơn vị hành chính cấp tỉnh, trong đó có Khánh Hòa và Nghệ An Đặc điểm của hai ứng dụng này là chưa hỗ trợ tìm kiếm toàn văn Một số ứng dụng khác, như “Phần mềm Kiểm tra Đảng” của Công ty CMC, đã hỗ trợ tìm kiếm toàn văn nhưng vẫn đòi hỏi người dùng biết thông tin về lược đồ CSDL để nhập nội dung cần tìm

Từ những phân tích và thực tế ứng dụng nêu trên, chúng ta cần xây dựng hệ tìm kiếm trong CSDLQH hỗ trợ người dùng tìm kiếm thuận tiện và dễ dàng như khi

sử dụng hệ tìm kiếm thông tin, nghĩa là không yêu cầu người dùng phải biết thông tin về lược đồ CSDL Người dùng tự do nhập các từ khóa cần tìm kiếm mà không cần quan tâm từ khóa đó sẽ phải tìm kiếm ở đâu, nghĩa là việc tìm kiếm chỉ cần

“dựa trên từ khóa” Trong tài liệu này, chúng ta thống nhất gọi kiểu tìm kiếm này là

“tìm kiếm dựa trên từ khóa trong cơ sở dữ liệu quan hệ”

Trang 11

1.2 Mục đích và cách tiếp cận

Mục đích của luận văn là tìm hiểu, triển khai các kỹ thuật về tìm kiếm thông tin, tìm kiếm từ khóa trong CSDLQH và ứng dụng các kỹ thuật liên quan trong hệ thống quản lý văn bản của các cơ quan quản lý Nhà nước ở tỉnh Khánh Hòa

Cách tiếp cận của luận văn là sử dụng HQTCSDLQH thương mại (như

Microsoft SQL Server 2008) và xây dựng một phần mềm trung gian (middleware)

để cung cấp khả năng tìm kiếm dựa trên từ khóa trong CSDLQH Người dùng phát biểu câu truy vấn dưới dạng chuỗi từ khóa Middleware nhận câu truy vấn và viết lại thành câu lệnh SQL, gửi đến HQTCSDLQH để thực thi và nhận kết quả truy vấn trả về từ HQTCSDLQH, thực hiện các xử lý trên kết quả trước khi trả về người dùng

1.3 Nhiệm vụ cụ thể

Từ mục đích và cách tiếp cận nêu trên, luận văn có những nhiệm vụ sau:

a) Tìm hiểu hệ tìm kiếm thông tin;

b) Tìm hiểu hệ tìm kiếm toàn văn;

c) Đề xuất kiến trúc hệ thống tìm kiếm dựa trên từ khóa trong CSDLQH dựa trên cách tiếp cận đã lựa chọn;

d) Xây dựng ứng dụng minh họa “Quản lý văn bản trong các cơ quan quản

lý Nhà nước tỉnh Khánh Hòa”

1.4 Bố cục của luận văn

Phần tiếp theo của luận văn gồm các nội dung:

Chương 2 – Cơ sở lý thuyết hệ tìm kiếm Chương này trình bày cơ sở lý thuyết

về tìm kiếm dựa trên từ khóa cho các tài liệu và trong cơ sở dữ liệu quan hệ

Chương 3 – Kỹ thuật tìm kiếm dựa trên từ khóa trong cơ sở dữ liệu quan hệ

Trong chương này, chúng tôi trình bày kiến trúc hệ thống và các kỹ thuật để middleware thực hiện nhiệm vụ viết lại câu truy vấn của người dùng thành câu lệnh SQL, gửi câu lệnh SQL cho HQTCSDLQH thực hiện tìm kiếm, nhận kết quả tìm

Trang 12

kiếm trả về từ HQTCSDLQH, thực hiện xếp hạng kết quả và trả kết quả tìm kiếm

về người dùng

Chương 4 – Ứng dụng Quản lý văn bản của các cơ quan quản lý Nhà nước

tỉnh Khánh Hòa Chương này trình bày ứng dụng minh họa “Quản lý văn bản của

các cơ quan quản lý Nhà nước tỉnh Khánh Hòa” dựa trên HQTCSDLQH Microsoft SQL Server 2008 và các kỹ thuật nêu ở Chương 3 Để xây dựng ứng dụng này, luận văn khai thác và tích hợp kỹ thuật tách cụm từ tiếng Việt trên các trường dữ liệu text lưu trữ trong CSDLQH SQL Server

Chương 5 – Kết luận Chương này tóm tắt những kết quả của luận văn và đề

xuất hướng phát triển

Trang 13

Chương 2

CƠ SỞ LÝ THUYẾT HỆ TÌM KIẾM

Chương này trình bày cơ sở lý thuyết về tìm kiếm dựa trên từ khóa cho các tài liệu và trong cơ sở dữ liệu quan hệ

2.1 Hệ tìm kiếm thông tin

Trong lĩnh vực công nghệ thông tin, tìm kiếm thông tin có thể là tìm kiếm tài liệu web, music, hình ảnh hay video… Tùy từng loại tài liệu tìm kiếm, chúng ta có thể sử dụng các kỹ thuật tìm kiếm liên quan đến xử lý tiếng nói, xử lý hình ảnh hay

xử lý văn bản… Nội dung phần này chỉ tập trung vào tìm kiếm thông tin trên các tài

Hình 2.1.1 Tìm kiếm thông tin

Hình 2.1.1 trình bày bản chất của vấn đề tìm kiếm thông tin, trong đó có hai bên tham gia là người dùng và nhà cung cấp dịch vụ tìm kiếm Nhà cung cấp dịch

vụ tìm kiếm trước hết phải lưu trữ các thông tin về tài liệu Số lượng tài liệu là rất lớn nên không thể lưu trữ toàn bộ nội dung của tài liệu mà chỉ có thể lưu lại những thông tin quan trọng để phục vụ tìm kiếm Các thông tin này có thể là tiêu đề, đoạn tóm tắt, các đường link, hay thậm chí chỉ là một vài từ khóa Để thực hiện tìm kiếm, người dùng đưa vào các từ khóa đặc trưng cho tài liệu cần tìm Hệ thống sẽ thực hiện đối sánh các từ khóa này với các thông tin phục vụ tìm kiếm của tài liệu Những tài liệu nào có kết quả đối sánh tốt nhất sẽ được trả về như là kết quả cho người tìm kiếm

Có biểu diễn cùng một nội dung ?

Trang 14

Như vậy, bản chất của tìm kiếm thông tin là dựa trên cơ chế “đối sánh” giữa các tài liệu lưu trữ trong hệ thống với yêu cầu tìm kiếm của người dùng để tìm ra các tài liệu phù hợp với người dùng

2.1.1 Mô hình hệ tìm kiếm thông tin

Hình 2.1.2 Mô hình hệ tìm kiếm thông tin

Hình 2.1.2 trình bày mô hình tổng quát của một hệ tìm kiếm thông tin, gồm các thành phần cơ bản như sau:

a) Đầu vào

Đầu vào gồm các câu truy vấn và tập các tài liệu Câu truy vấn bao gồm các từ

khóa (keywords) Từ khóa được hiểu như là một tổ hợp các từ của một ngôn ngữ

nhất định được sắp xếp hay quan hệ với nhau thông qua các biểu thức logic mà công cụ tìm kiếm hỗ trợ Trong trường hợp một từ khoá bao gồm nhiều hơn một

chữ (hay từ) thì có thể gọi tập hợp tất cả các chữ đó là bộ từ khoá (set of keywords)

Bộ Đối sánh

Tập các tài liệu phù hợp

Bộ Biểu diễn tài liệu

-

Trang 15

- Bộ biểu diễn tài liệu: biểu diễn các thông tin về tài liệu phục vụ tìm kiếm,

dựa vào các thông tin biểu diễn tài liệu lập chỉ mục để dễ dàng thực hiện tìm kiếm;

- Bộ đối sánh: thực hiện chức năng đối sánh giữa câu truy vấn và thông tin tài

liệu để xem xét tài liệu đó có phù hợp hay không

Chúng ta sẽ đề cập chi tiết hơn về các thành phần này trong phần 2.1.2

Hoạt động của bộ xử lý: Bộ biểu diễn tài liệu phân tích các tài liệu, đánh chỉ mục và lưu trữ vào kho dữ liệu Khi nhận được một câu truy vấn, Bộ biểu diễn câu truy vấn sẽ phân tích câu truy vấn thành các từ khóa và các toán tử tìm kiếm Bộ đối sánh sẽ lấy thông tin về các tài liệu trong kho dữ liệu, thực hiện đối sánh với các từ khóa và các toán tử tìm kiếm để tìm ra những tài liệu thỏa mãn câu truy vấn của người dùng

Ngoài ra, một hệ tìm kiếm thông tin còn có các bộ phận phục vụ các chức năng nâng cao khác như phân cụm, phân lớp…

2.1.2 Thành phần cơ bản của hệ tìm kiếm thông tin

Như đã trình bày ở trên, các thành phần cơ bản của một hệ tìm kiếm thông tin bao gồm: Bộ biểu diễn câu truy vấn, Bộ biểu diễn tài liệu và Bộ đối sánh

a) Bộ biểu diễn câu truy vấn

Một câu truy vấn được tạo thành từ các từ khóa và các toán tử tìm kiếm liên kết các từ khóa Nhiệm vụ của bộ biểu diễn câu truy vấn là phân tích câu truy vấn thành các từ khóa và toán tử tìm kiếm

* Các toán tử tìm kiếm cơ bản

- Toán tử AND: Có cú pháp dạng (Toán hạng 1) AND (Toán hạng 2) Toán tử

AND yêu cầu hệ thống tìm kiếm các tài liệu có sự hiện diện của tất cả toán hạng

Ví dụ: câu truy vấn nanotechology AND health sẽ giúp truy tìm các tài liệu có

mặt đồng thời chữ health và chữ nanotechnology

Trang 16

- Toán tử OR: Có cú pháp dạng (Toán hạng 1) OR (Toán hạng 2) Toán tử OR

cho phép tìm những tài liệu có chứa một trong các toán hạng của toán tử OR

Ví dụ: để tìm các bài viết về Nguyễn Trãi trong cả tiếng Việt và tiếng nước

ngoài thì có thể dùng bộ từ khoá "Nguyễn Trãi" OR "Nguyen Trai"

- Toán tử NOT: Việc tìm kiếm sẽ loại bỏ những tài liệu mà nội dung có chứa

toán hạng đứng ngay sau toán tử NOT Trong nhiều hệ tìm kiếm thông tin có hỗ trợ toán tử NOT thì toán tử này chỉ được dùng một lần cho một bộ từ khoá

Ví dụ: để tìm tài liệu hướng dẫn về ngôn ngữ lập trình C/C++ có thể tra cứu

trên Altavista với câu truy vấn "C/C++ tutor" NOT book

- Dấu ngoặc kép “”: dùng dấu ngoặc kép để tìm nguyên văn của cụm từ, khi

đó, Bộ đối sánh phải tìm kiếm các tài liệu có cả cụm từ ấy trong nội dung văn bản

Ví dụ: để tìm lại nguyên tác và nội dung bài thơ có câu nước non nặng một lời

thề thì có thể dùng từ khoá với ngoặc kép: “Nước non nặng một lời thề”

* Quá trình biểu diễn câu truy vấn

Hình 2.1.3 Quá trình biểu diễn câu truy vấn

Đánh giá trọng số cho các từ khóa

Java (từ khóa)

OR (toán tử) Programing (từ khóa)

Java (từ khóa)

OR (toán tử) Program (từ khóa)

Java (Trọng số w1) Program (Trọng số w2)

(Java, w1) (từ khóa)

OR (toán tử) (Program, w2) (từ khóa)

Trang 17

Hình 2.1.3 nêu quá trình biểu diễn câu truy vấn và một ví dụ minh họa với câu

truy vấn là java OR programming

Quá trình biểu diễn câu truy vấn diễn ra qua 4 bước như sau:

Bước 1 - Phân tích câu truy vấn thành các token

Thông thường các token được định nghĩa là một chuỗi ký tự - chữ số nằm giữa

các khoảng trắng và / hoặc các dấu chấm phẩy Trong bước này, câu truy vấn java

OR programming sẽ được phân tích thành 3 token là java, OR và programming

Bước 2 - Phân tích các Token thành các từ khóa và các toán tử tìm kiếm

Trong bước này, chúng ta sẽ thu được java và programming là từ khóa và OR

là toán tử tìm kiếm

Bước 3 - Xử lý : gồm 3 tác vụ xử lý sau

Tác vụ 1 - Loại bỏ các từ dừng: Các từ dừng (stopwords) là những từ xuất

hiện rất nhiều trong các văn bản mà không có ý nghĩa nhiều đối với văn bản Trong

tiếng Anh là các từ như a, an, the, is , trong tiếng Việt là các từ như là, thì, mà,

Việc loại bỏ các từ dừng được xác định bằng cách loại bỏ các từ mà tần suất xuất hiện vượt quá một ngưỡng giá trị nào đó

Tác vụ 2 - Loại bỏ tiền tố, hậu tố (word-stemming): Trong ngôn ngữ tự nhiên,

một từ có thể xuất hiện trong câu dưới những biến thể khác nhau Một vài ví dụ trong tiếng Anh như chia động từ (am, are, is - be), số nhiều (teachers – teacher) Để thực hiện việc biểu diễn, chúng ta cần chuẩn hóa các từ trong văn bản bằng cách đưa các biến thể của một từ về dạng chuẩn của nó

Tác vụ 3 - Loại bỏ từ tương đương: Loại bỏ các từ mang ý nghĩa giống nhau

Trong bước này, java được giữ nguyên vì nó đang ở dạng nguyên thể, programming được loại bỏ hậu tố và trở thành program

Bước 4 - Đánh giá trọng số cho các từ khóa trong câu truy vấn

Một hệ thống tìm kiếm thông tin có thể tiến hành đánh giá trọng số cho các từ khóa trong câu truy vấn Trọng số thể hiện vai trò của từ khóa trong câu truy vấn Trong một số hệ tìm kiếm thông tin, trọng số của từ khóa của câu truy vấn phụ thuộc vào vị trí xuất hiện của nó trong câu truy vấn

Trang 18

Trong bước này, 2 từ khóa java và program được đánh trọng số Từ khóa java

xuất hiện trước sẽ có trọng số cao hơn

Đầu ra của Bộ biểu diễn câu truy vấn là một tập (từ khóa, trọng số) và các toán

tử tìm kiếm liên kết giữa các từ khóa

b) Bộ biểu diễn tài liệu

Nhiệm vụ của Bộ biểu diễn tài liệu là phân tích tài liệu thành các thông tin phục vụ cho việc tìm kiếm

Tài liệu và câu truy vấn đều được tạo thành từ các văn bản ngôn ngữ tự nhiên,

vì vậy, việc biểu diễn chúng có một số xử lý giống nhau Hình 2.1.4 minh họa quá trình biểu diễn tài liệu, gồm 5 bước xử lý sau:

Hình 2.1.4 Quá trình biểu diễn tài liệu

Tài liệu

Xác định các đơn vị tài liệu cần biểu diễn

Phân tích văn bản cần biểu diễn thành các term

Loại bỏ các từ dừng, tiền tố, hậu tố,

từ tương đương, từ quá hiếm gặp

Các từ còn lại là các index term

Đánh chỉ mục

các index term

Các chỉ mục Đánh giá trọng số cho các index term

Trang 19

Bước 1 - Xác định các đơn vị tài liệu cần thiết để biểu diễn: có thể là cả một

văn bản, một đoạn, phần tiêu đề hay tóm tắt…

Bước 2 - Phân tích đoạn văn bản cần biểu diễn thành “từ”: Ở đây khái niệm

“từ” được hiểu là một từ hay một cụm từ tạo thành một ý nghĩa nào đó trong văn

bản Mỗi “từ” này được gọi là một term

Bước 3 - Thực hiện xử lý với các từ: gồm từ dừng, tiền tố, hậu tố, loại bỏ các

từ tương đương (giống biểu diễn câu truy vấn), những từ quá hiếm gặp (loại bỏ những từ có tần suất xuất hiện trong văn bản thấp hơn một ngưỡng giá trị nào đó)

Các term còn lại sau các quá trình xử lý này được gọi là các index term

Bước 4 - Đánh giá trọng số cho các index term Trọng số thể hiện vai trò của

index term trong tài liệu Nó phụ thuộc vào nhiều yếu tố: tần suất xuất hiện của từ

trong tài liệu, font chữ, cỡ chữ, vị trí xuất hiện…

Bước 5 - Đánh chỉ mục cho các index term Việc đánh chỉ mục thực hiện bằng cách tổ chức các index term dưới dạng một từ điển (dictionary) Với mỗi term người ta có một danh sách chỉ ra tài liệu nào có xuất hiện term ấy Danh sách này gọi là các posting Mỗi posting bao gồm một index term và chỉ số tài liệu nó xuất

hiện (ngoài ra có thể có các thông tin phụ như vị trí xuất hiện, kích cỡ, font chữ…)

Ví dụ: Xem xét các tài liệu được đánh chỉ số từ 1 đến 174 Index term Brutus

xuất hiện trong các tài liệu có chỉ số là 1, 2, 4, 11, 31, 45, 173,174 Index term

Caesar xuất hiện trong các tài liệu 1, 2, 4, 5, 6, 16, 57, Các posting sẽ như sau:

Thông tin về các (index term, posting) được lưu trữ để phục vụ cho việc tìm

kiếm Có thể sử dụng inverted file để lưu trữ Phần dictionary của inverted file

thường xuyên được lưu trữ trong bộ nhớ với các con trỏ trỏ đến các posting lưu trên đĩa từ

Trang 20

Việc đánh chỉ mục này nhằm làm cho quá trình tìm kiếm diễn ra dễ dàng và nhanh chóng hơn khi lượng tài liệu để tìm kiếm là rất lớn

c) Bộ đối sánh

Bộ đối sánh nhằm mục đích xem xét độ phù hợp của tài liệu và câu truy vấn của người dùng Mô tả hoạt động của bộ đối sánh như sau:

Đầu vào: Đầu vào là kết quả của quá trình biểu diễn câu truy vấn; các posting

và dictionary (thu được sau quá trình biểu diễn và đánh chỉ mục tài liệu)

Đầu ra: Đầu ra là kết quả đánh giá độ phù hợp của câu truy vấn với các tài liệu Các kết quả này có thể được sắp thứ tự

Xử lý: Sử dụng hàm matching để đánh giá độ phù hợp giữa nội dung câu truy vấn và tài liệu Tùy thuộc vào từng hệ thống mà hàm matching này có thể khác nhau Có thể sử dụng kết quả của hàm matching để sắp thứ tự kết quả trả về cho người dùng Một hàm matching trả về kết quả dưới nhiều dạng khác nhau, như:

- Dạng Boolean (0 hoặc 1): Một tài liệu chỉ có thể đánh giá là phù hợp hay không phù hợp với câu truy vấn, không thể sắp thứ tự tài liệu;

- Dạng dải rộng kết quả: Có thể dùng để sắp thứ tự tài liệu

Ví dụ: Một hàm matching đơn giản có thể dựa vào số lượng các từ trùng nhau của một biểu diễn truy vấn và một biểu diễn tài liệu như sau:

D- Tập các từ khóa biểu diễn văn bản của tài liệu

Q- Tập các từ biểu diễn câu truy vấn

|DQ| - Số lượng các từ trong tập giao của tập từ biểu diễn câu truy vấn Q và biểu diễn tài liệu D

|D| + |Q| - Tổng số lượng các từ trong hai tập từ biểu diễn câu truy vấn và biểu diễn tài liệu

Khi đó, M sẽ nằm trong dải [0 1] Dựa vào kết quả này hệ thống sẽ đưa ra sắp xếp độ phù hợp của tài liệu và câu truy vấn

Trang 21

2.2 Hệ tìm kiếm toàn văn trong hệ quản trị cơ sở dữ liệu quan hệ

Từ thành công của các hệ tìm kiếm thông tin như Google, Yahoo, ., các HQTCSDLQH hiện đại đã tích hợp các tính năng cơ bản của hệ tìm kiếm thông tin

để cho phép thực hiện tìm kiếm toàn văn trên các trường dữ liệu text Các HQTCSDLQH như Microsoft SQL Server, Oracle, MySQL, … đều đã hỗ trợ tính năng này Về bản chất, người dùng vẫn phát biểu truy vấn dựa trên lược đồ của CSDL với ngôn ngữ truy vấn SQL Tuy nhiên, các hệ thống này mở rộng cú pháp câu lệnh SQL để người dùng có khả năng phát biểu một cách tường minh các yêu cầu tìm kiếm dựa trên từ khóa trên các trường dữ liệu văn bản Các hệ thống này hỗ trợ tổ chức lưu trữ dữ liệu phù hợp với kiểu tìm kiếm dựa trên từ khóa Trong phần trình bày sau đây, chúng tôi sẽ sử dụng cú pháp SQL trong HQTCSDLQH Microsoft SQL Server 2008 để minh họa cho việc biểu diễn yêu cầu tìm kiếm toàn văn trên CSDLQH và định nghĩa tổ chức lưu trữ phục vụ yêu cầu tìm kiếm này

2.2.1 Kiến trúc hệ tìm kiếm toàn văn

Hình 2.2.1 Kiến trúc hệ tìm kiếm toàn văn

Indexer

Query

Client Application

Database Engine Query Process

Query Processor FTS Engine

Query Compilation and Execution

Full-Text Query Compilation and Execution

Thesaurus

FTS Index Stoplist

Database

Ngày đăng: 27/07/2017, 20:28

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
[2] S. Agrawal, S.Chaudhuri, and G.Das. DBXplorer (2002), A system for keyword- based search over relational databases, in Proceedings of the 18th International Conference on Data Engineering, San Jose, CA, April 2002 Sách, tạp chí
Tiêu đề: A system for keyword-based search over relational databases
Tác giả: S. Agrawal, S.Chaudhuri, and G.Das. DBXplorer
Năm: 2002
[3] V. Hristidis and Y. Papakonstantinou. Discover (2002), Keyword search in relational databases, in Proceedings of VLDB 2002 Sách, tạp chí
Tiêu đề: Keyword search in relational databases
Tác giả: V. Hristidis and Y. Papakonstantinou. Discover
Năm: 2002
[4] Sanjay Agrawal, Surajit Chaudhuri, Gautam Das, Aristides Gionis (2003), Automated Ranking of Database Query Results, in Proceedings of CIDR 2003 Sách, tạp chí
Tiêu đề: Automated Ranking of Database Query Results
Tác giả: Sanjay Agrawal, Surajit Chaudhuri, Gautam Das, Aristides Gionis
Năm: 2003
[5] Vagelis Hristidis, Luis Gravano, Yannis Papakonstantinou (2003), Efficient IR- Style Keyword Search over Relational Databases, in Proceedings of VLDB 2003: 850-861 Sách, tạp chí
Tiêu đề: Efficient IR-Style Keyword Search over Relational Databases
Tác giả: Vagelis Hristidis, Luis Gravano, Yannis Papakonstantinou
Năm: 2003
[6] E. M. Voorhees (2000). Overview of the TREC-9 Question Answering Track. TREC 2000 Sách, tạp chí
Tiêu đề: Overview of the TREC-9 Question Answering Track
Tác giả: E. M. Voorhees
Năm: 2000
[7] A. Singhal (2001), Modern information retrieval, a brief overview. IEEE Data Engineering Bulletin, Special Issue on Text and Databases, 24(4), Dec. 2001 Sách, tạp chí
Tiêu đề: Modern information retrieval, a brief overview
Tác giả: A. Singhal
Năm: 2001
[8] G. Salton and M. McGill (1983). Introduction to Modern Information Retrieval. McGraw-Hill, 1983 Sách, tạp chí
Tiêu đề: Introduction to Modern Information Retrieval
Tác giả: G. Salton and M. McGill
Năm: 1983
[1] Gaurav Bhalotia, Arvind Hulgeri, Charuta Nakhey, Soumen Chakrabarti, S Khác
[9] A. Singhal, Chris Buckley, Mandar Mitra: Pivoted Document Length Normalization. SIGIR 1996 Khác
[10] S. Liu, F. Liu, C. T. Yu, Weiyi Meng (2004), An effective approach to document retrieval via utilizing WordNet and recognizing phrases Khác
[11] L. Page, S. Brin, R. Motwani and T. Winograd (1998), The PageRank Citation Ranking: Bringing Order to the Web, Technical Report Khác

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w