Search engine – Bộ tìm kiếm thông tin

Một phần của tài liệu Nghiên cứu Web ngữ nghĩa và ứng dụng trong trợ giúp tìm kiếm văn bản nghiệp vụ hành chính (Trang 30 - 92)

1.2.2.1. Search engine – Bộ tìm kiếm thông tin

Search engine là cụm từ dùng chỉ toàn bộ hệ thống bao gồm bộ thu thập thông tin, bộ lập chỉ mục & bộ tìm kiếm thông tin. Các bộ này hoạt động liên tục từ lúc khởi động hệ thống, chúng phụ thuộc lẫn nhau về mặt dữ liệu nhưng độc lập với nhau về mặt hoạt động. [4]

Search engine tương tác với user thông qua giao diện web, có nhiệm vụ tiếp nhận & trả về những tài liệu thoả yêu cầu của user. Nói nôm na, tìm kiếm từ là tìm kiếm các trang mà những từ trong câu truy vấn (query) xuất hiện nhiều nhất, ngoại trừ stopword (các từ quá thông dụng như mạo từ a, an, the,…). Một từ càng

xuất hiện nhiều trong một trang thì trang đó càng được chọn để trả về cho người dùng. Và một trang chứa tất cả các từ trong câu truy vấn thì tốt hơn là một trang không chứa một hoặc một số từ.

Ngoài chiến lược tìm chính xác theo từ khoá, các search engine còn cố gắng “hiểu” ý nghĩa thực sự của câu hỏi thông qua những câu chữ do người dùng cung cấp. Điều này được thể hiện qua chức năng sửa lỗi chính tả, tìm cả những hình thức biến đổi khác nhau của một từ. Ví dụ: search engine sẽ tìm những từ như speaker, speaking, spoke khi người dùng nhập vào từ speak.

1.2.2.2.Nguyên lý hoạt động

Search engine điều khiển robot đi thu thập thông tin trên mạng thông qua các siêu liên kết (hyperlink). Khi robot phát hiện ra một website mới, nó gởi tài liệu (web page) về cho server chính để tạo cơ sở dữ liệu chỉ mục phục vụ cho nhu cầu tìm kiếm thông tin.

Bởi vì thông tin trên mạng luôn thay đổi nên robot phải liên tục cập nhật các website cũ. Mật độ cập nhật phụ thuộc vào từng hệ thống search engine. Khi search engine nhận câu truy vấn từ user, nó sẽ tiến hành phân tích, tìm trong cơ sở dữ liệu chỉ mục và trả về những tài liệu thoả yêu cầu.

1.3 LÝ THUYẾT VỀ TRA CỨU HỆ HỎI-ĐÁP

1.3.1 Lịch sử phát triển

Những hệ thống hỏi-đáp tự động (Question Answering-QA) đầu tiên đã được ra đời từ những năm 1960. Ví dụ như Baseball, được phát triển năm 1961 do nhóm tác giả Green, Chomsky và Laughery. Hệ thống này được thiết kế để cung cấp các thông tin về các số liệu thống kê của liên đoàn bóng chày Mỹ. [5]

Một hệ thống khác tương tự như Baseball đã được phát triển bởi Woods (1973) và được đặt tên là Lunar. Lunar có thể trả lời các câu hỏi liên quan đến các mẫu đá trở về từ tàu thăm dò mặt trăng Apollo.

Hệ thống Team được phát triển bởi Grosz (1983) đã có những ưu thế hơn 2 hệ thống trước. Điểm tương đồng giữa cả ba hệ thống là tất cả đều sử dụng cơ sở dữ liệu để lưu trữ cơ sở tri thức. Việc thiết kế của cơ sở dữ liệu này và các dữ liệu có cấu trúc được xây dựng một cách thủ công bởi tất cả các chuyên gia trong các lĩnh vực tương ứng.

Xử lý ngôn ngữ tự nhiên trong quá trình thực hiện hệ hỏi-đáp tự động đã nhận được rất nhiều sự quan tâm trong những năm 1970. Một trong những hệ thống như thế là Margie (Schank, Goldman, Riesbeck, & Rieger, 1975). Hệ thống này đã có thể xử lý các tài liệu mà sau này có thể trả lời các câu hỏi cơ bản.

Một hệ thống cải thiện hơn Margie là Boris đã ra đời năm 1983 bởi Lenhert, Dyer, Johnson, Yang, và Harley. Boris và Margie là các hệ thống gần giống nhất với hệ thống hỏi-đáp lĩnh vực rộng (open-domain) hoạt động ngày nay.

Hầu hết các hệ thống hỏi-đáp ngày càng trở nên phức tạp, thường sử dụng rất nhiều các mô-đun khác nhau, chẳng hạn như tìm kiếm thông tin, phân tích cú pháp câu, phân tích loại câu hỏi, phân tích ngữ nghĩa, và thậm chí dùng phương pháp suy luận (Moldovan et al., 2002) để đánh giá, và xếp hạng câu trả lời. Với sự gia tăng tính phức tạp của hệ thống hỏi-đáp, sẽ rất khó khăn để xác định hiệu quả của hệ thống đến từ hiệu quả của giai đoạn nào.

Hệ thống hỏi-đáp nhận được rất nhiều mối quan tâm của cộng đồng các nhà nghiên cứu. Hội thảo TREC (Text Retrieval and Evaluation Conference) về lĩnh vực QA năm 1999 đã đóng góp một phần to lớn cho sự phát triển của lĩnh vực QA với 20 thành viên tham gia. Sự kiện này đã thúc đẩy các nhà nghiên cứu chia sẻ kinh nghiệm và so sánh kết quả của họ sử dụng một độ đo chung.

1.3.2 Khái niệm hệ thống hỏi-đáp

Hệ thống hỏi-đáp tự động (Question Answering-QA) là một hệ thống được xây dựng để thực hiện việc tìm kiếm câu trả lời cho một câu hỏi của người dùng. [2] Hệ thống hỏi-đáp tự động liên quan đến 3 lĩnh vực lớn là xử lý ngôn ngữ tự nhiên (Natural Language Processing-NLP), tìm kiếm thông tin (Information Retrieval-IR) và rút trích thông tin (Information Extraction-IE).

Hệ thống hỏi-đáp lĩnh vực hẹp (Closed-domain Question Answering): hệ thống này liên quan đến các câu hỏi trong một lĩnh vực cụ thể, chẳng hạn như lĩnh vực y học.

Hệ thống hỏi-đáp lĩnh vực rộng (Open-domain Question Answering): hệ thống này liên quan đến các câu hỏi gần như là về tất cả mọi thứ.

1.3.3 Kiến trúc hệ thống hỏi-đáp

Hệ thống hỏi-đáp phát triển từ lĩnh vực tìm kiếm thông tin (Information Retrieval). IR truyền thống thực hiện tìm kiếm thông tin dựa trên từ khóa của các câu truy vấn. Trong quá trình tìm kiếm, các từ khóa sẽ được so khớp (matching) với một chỉ mục tài liệu tham khảo cho các tài liệu khác nhau. Mô hình cơ bản của một hệ thống IR có kiến trúc như sau:

Hình 1.4. Mô hình cơ bản của một hệ thống IR

Các hệ thống IR thường không giúp được người sử dụng tìm ra chính xác thông tin mà người dùng cần, nó chỉ có thể tổng hợp các thông tin tồn tại trong hệ thống và tìm các văn bản có liên quan đến yêu cầu của người sử dụng. Tính năng này là một bước tiến gần hơn để xây dựng một hệ thống hỏi-đáp.

Hình 1.5. Kiến trúc chung của hệ hỏi đáp

1.3.3.1. User Interface - Giao diện người dùng

Hầu hết các hệ thống hỏi-đáp đã được triển khai thực hiện trong thời gian gần đây cung cấp cho người dùng một giao diện web mà người dùng có thể nhập câu hỏi vào. Các câu hỏi sau đó được gửi đi, hệ thống sẽ xử lý và trả về cho người dùng một câu trả lời dưới định dạng tương tự. Giao diện người dùng là một phần quan trọng của hệ thống hỏi-đáp nhưng không có nhiều nghiên cứu dành cho nó. Nhiều giao diện mô phỏng giao diện của một máy tìm kiếm. Hệ thống không những chỉ đưa ra câu trả lời đúng mà còn đưa ra các câu trả lời khác gần đúng với nội dung câu hỏi do người dùng nhập vào.

1.3.3.2. Question Analyzer – Phân tích câu hỏi

Phân tích câu hỏi đóng vai trò quan trọng trong bất kỳ loại hình hệ thống hỏi- đáp nào. Trong giai đoạn này, câu hỏi được phân tích và xử lý để trích lọc càng nhiều thông tin càng tốt mà có thể được sử dụng sau này trong giai đoạn tìm kiếm dữ liệu. Kết quả của bước này khác nhau tùy theo việc phân tích câu hỏi nông hay sâu. Ví dụ, việc phân tích có thể tách những từ vựng trong câu hỏi và sử dụng tất cả mọi thứ hay là loại bỏ các hư từ (stopword) để nhằm phân tích cú pháp của câu. Hư từ trong tiếng Anh có thể là các từ như là is, he, which,… Trong các hệ thống mở, thông thường một phần của câu hỏi sẽ thường được nhắc lại trong câu trả lời.

Tháp Eiffel nằm ở đâu? (câu hỏi ban đầu) (adsbygoogle = window.adsbygoogle || []).push({});

Tháp Eiffel nằm (một phần của câu trả lời)

Tháp Eiffel nằm gần (một phần của câu trả lời)

Tháp Eiffel có thể được tìm thấy tại (một phần của câu trả lời)

Bằng cách đó một vài phần của câu trả lời có thể được sử dụng khi tìm kiếm thông qua các tập tài liệu. Mở rộng câu hỏi là một cách khác làm tăng khả năng tìm thấy các tài liệu có chứa các câu trả lời. Từ để hỏi cũng có thể được mở rộng với nhiều cụm từ khác nhau bằng cách sử dụng từ đồng nghĩa.Các đặc trưng khác của câu hỏi cũng có thể được sử dụng đến, ví dụ như loại câu hỏi.

1.3.3.3. Data Retrieval – Tìm kiếm dữ liệu

Một số thông tin đã được trích xuất trong giai đoạn phân tích câu hỏi sẽ được sử dụng để tìm kiếm thông tin trong cơ sở tri thức. Điều này có thể được thực hiện bằng nhiều phương pháp khác nhau. Một hệ thống hỏi-đáp lĩnh vực rộng (open-domain) sẽ sử dụng một máy tìm kiếm (search engine) để tìm kiếm các tài liệu được phân phối qua internet. Một hệ thống lĩnh vực hẹp (closed-domain) có thể tìm kiếm trong các nguồn dữ liệu không có cấu trúc, bán cấu trúc, hoặc có cấu trúc ví dụ như một cơ sở dữ liệu. Trong phần này, thông tin được tiền xử lý nhiều lần để tăng hiệu quả của hệ thống. Tìm kiếm dữ liệu trong một hệ thống hỏi-đáp tương tự với giai đoạn tìm kiếm dữ liệu trong hệ thống IR, sử dụng các phương pháp tìm kiếm như là phương pháp tìm kiếm từ khóa dạng boolean hoặc phương pháp đánh trọng số từ khóa. Trong giai đoạn tìm kiếm dữ liệu của hệ thống hỏi- đáp, điều quan trọng là lấy càng nhiều thông tin có liên quan đến câu hỏi càng tốt. Chất lượng của việc tìm kiếm tài liệu sẽ ít quan trọng hơn bởi vì kết quả sẽ không cần thiết phải được hiển thị ra giao diện cho người dùng. Điều quan trọng là những thông tin do người dùng yêu cầu sẽ được tìm thấy.

1.3.3.4. Answer Extraction – Rút trích câu trả lời

Rút trích câu trả lời thuộc lĩnh vực rút trích thông tin. Thông tin đã được trả về trong giai đoạn này có thể là các tài liệu hoặc các văn bản từ việc truy vấn cơ sở dữ liệu. Những thông tin này được sử dụng để rút trích các đoạn (passage) có liên quan ngữ nghĩa đến câu hỏi mà người dùng đưa ra. Có rất nhiều phương pháp được đưa ra trong việc rút trích các đoạn văn bản chứa câu trả lời, ví dụ như

phương pháp phân đoạn tài liệu dựa trên chủ đề và so khớp với câu hỏi do người dùng đưa vào để chọn ra các phân đoạn tài liệu tương tự với câu hỏi người dùng đưa vào… Một hệ thống QA lĩnh vực rộng có thể khác một một hệ thống QA lĩnh vực hẹp trong bước này. Một hệ thống lĩnh vực rộng sẽ luôn luôn có một tập các tài liệu hoặc một tập hợp các đoạn văn bản tóm tắt được trả về từ máy tìm kiếm. Phương pháp cơ bản nhất để phát sinh ra một câu trả lời là rút trích những phần thông tin có liên quan ngữ nghĩa nhất với câu hỏi. Các phần thông tin này được tổng hợp để tạo thành một câu trả lời hoặc nhiều câu trả lời.

1.3.3.5. Ranking – Chiến lược xếp hạng

Nếu các kết quả của giai đoạn rút trích câu trả lời có nhiều hơn một câu trả lời thì các câu trả lời sẽ được xếp hạng dựa trên mức độ liên quan về mặt ngôn ngữ với câu hỏi của người dùng. Có rất nhiều cách tiếp cận khác nhau để xác định mức độ liên quan của các câu trả lời và điều này liên quan mật thiết với cách xác định câu trả lời trong giai đoạn rút trích thông tin từ các tài liệu ở bước trước.

1.3.3.6. Answer Verification – Xác minh câu trả lời

Một số hệ thống QA cải thiện thêm tính chính xác bằng cách phân tích các câu trả lời thu được, qua việc sử dụng phương pháp xử lý ngôn ngữ tự nhiên bằng cách phân tích sâu hơn để xác minh lại câu hỏi. Các câu hỏi và câu trả lời được phân tích cú pháp và chuyển đổi sang cùng một hình thức logic. Các câu hỏi và câu trả lời sau đó được so sánh với nhau để xác minh tính hợp lý của các câu trả lời.

1.3.4 Hệ thống hỏi-đáp tiếng Việt

Lĩnh vực hỏi-đáp tiếng Việt còn khá mới mẻ và mới được quan tâm trong một vài năm gần đây.

Nhóm nghiên cứu Phan Huỳnh Cẩm Tú, Nguyễn Đức Thái, Đặng Bác Văn, Hồ Bảo Quốc (2008) thuộc trường đại học Khoa học tự nhiên Tp HCM đã nghiên cứu xây dựng hệ thống hỏi-đáp tiếng Việt “Hỏi đáp tiếng Việt dựa vào kĩ thuật rút trích quan hệ không giám sát”. Ý tưởng chính của nghiên cứu này là sử dụng phương pháp học mẫu rút trích không giám sát Snowball vào hệ thống hỏi-đáp tiếng Việt trả lời cho các câu hỏi hỏi về thủ đô của một quốc gia.

Đại học Quốc gia Hà Nội với đề tài “Hệ thống hỏi đáp tự động sử dụng trích rút quan hệ ngữ nghĩa trong kho văn bản tiếng Việt” cũng nghiên cứu xây dựng hệ thống hỏi-đáp tiếng Việt sử dụng kỹ thuật rút trích quan hệ hai ngôi bằng cách kết hợp giữa hai phương pháp rút trích mẫu Snowball và phương pháp sử dụng máy tìm kiếm của Ravichandran, Hovy.

Hai nghiên cứu này đều tập trung vào việc ứng dụng kỹ thuật rút trích quan hệ nhằm xây dựng hệ thống hỏi-đáp có thể áp dụng cho tiếng Việt.

1.4 TÌM HIỂU VỀ CÁC LOẠI VĂN BẢN

1.4.1 Những yếu tố chính của một văn bản trong ngành giáo dục

Với mục đích xây dựng một hệ thống tìm kiếm văn bản theo ngữ nghĩa dành riêng cho ngành giáo dục trên cả nước, chúng tôi đã phân loại và chọn lọc ra những yếu tố cơ bản nhất có trong một văn bản quản lý hành chính. Việc phân loại ra những yếu tố cơ bản này có tác dụng rất lớn trong việc tổ chức cơ sở dữ liệu làm nền tảng cho việc phát triển hệ thống tìm kiếm theo ngữ nghĩa.

Theo tìm hiểu của chúng tôi, những yếu tố cơ bản nhất đối với một văn bản quản lý hành chính đó là :lĩnh vực, loại văn bản, cơ quan, đơn vị, thời gian, cá nhân liên quan và nội dung.

1.4.1.1. Các lĩnh vực của văn bản trong ngành giáo dục

Với mỗi văn bản được ban hành chỉ có thể thuộc một lĩnh vực nhất định (mối quan hệ 1-1) được đề cập sau đây : thi và tuyển sinh, mầm non, quản lý hành chính tiểu học, quản lý hành chính trung học cơ sở, quản lý hành chính trung học phổ thông, quản lý hành chính thường xuyên, quản lý hành chính trung cấp, quản lý hành chính cao đẳng, quản lý hành chính đại học, quản lý hành chính sau đại học, quản lý hành chính quốc phòng, quản lý hành chính thể chất, quản lý hành chính đặc biệt, chương trình khung, hướng dẫn thủ tục, hướng dẫn thực hiện, chính sách xã hội, chương trình, dự án, đề án, qui chế, qui định...

1.4.1.2. Các loại văn bản quản lý hành chính

Một văn bản quản lý hành chính được ban hành chỉ có thể thuộc một trong các loại ( mối quan hệ 1-1 ) được liệt kê sau : hiến pháp, sắc lệnh, luật, nghị định, quyết định, thông tư, chỉ thị, nghị quyết, thông báo, hướng dẫn, văn kiện của Đảng hoặc loại khác.

1.4.1.3. Cơ quan, đơn vị

Khi một văn bản được đưa ra, luôn luôn phải có các yếu tố sau : cơ quan hoặc đơn vị ban hành, cơ quan hoặc đơn vị tiếp nhận, cơ quan hoặc đơn vị thực hiện. Ở đây sẽ là mối quan hệ 1- nhiều, có nghĩa là chỉ có 1 cơ quan, đơn vị được ban hành 1 văn bản nào đó nhưng có thể có nhiều cơ quan, đơn vị tiếp nhận.

Theo tìm hiểu của chúng tôi, các cơ quan, đơn vị có thể ban hành và tiếp nhận văn bản quản lý hành chính là : quốc hội, chính phủ, các bộ và ngang bộ, UBND tỉnh thành phố, đơn vị trường học, cơ quan khác.

1.4.1.4. Thời gian (adsbygoogle = window.adsbygoogle || []).push({});

Yếu tố thời gian là yếu tố không thể thiếu trong bất kỳ một loại văn bản nào, trong đó bao gồm : ngày giờ soạn thảo văn bản, ngày giờ thông qua văn bản, thời gian bắt đầu hiệu lực, thời gian hết hiệu lực, thời gian khác.

1.4.1.5. Cá nhân liên quan

Trong văn bản luôn luôn phải có những cá nhân liên quan đến văn bản, ví dụ

Một phần của tài liệu Nghiên cứu Web ngữ nghĩa và ứng dụng trong trợ giúp tìm kiếm văn bản nghiệp vụ hành chính (Trang 30 - 92)