Với nhu cầu trao đổi thông tin của con người ngày càng cao, thông tin tràn ngập trên mọi phương tiện truyền thông, đặc biệt là sự phát triển rộng rãi của mạng toàn cầu Internet, hằng ngày con người phải xử lý một lượng thông tin khổng lồ. Những thắc mắc của người dùng dưới dạng truy vấn sẽ được tìm kiếm và trả về một cách ngắn gọn, súc tích, chính xác nhất những gì mà họ mong muốn. Đó chính là mục tiêu của hệ thống hỏi-đáp tự động.
11 trang |
Chia sẻ: vietpd | Lượt xem: 4442 | Lượt tải: 1
Bạn đang xem nội dung tài liệu Tổng quan về hệ thống hỏi-Đáp tự động, để tải tài liệu về máy bạn click vào nút DOWNLOAD ở trên
Trang 4
Chương 1.
TỔNG QUAN VỀ HỆ THỐNG
HỎI-ĐÁP TỰ ĐỘNG
Với nhu cầu trao đổi thông tin của con người ngày càng cao, thông tin tràn
ngập trên mọi phương tiện truyền thông, đặc biệt là sự phát triển rộng rãi của mạng
toàn cầu Internet, hằng ngày con người phải xử lý một lượng thông tin khổng lồ.
Những thắc mắc của người dùng dưới dạng truy vấn sẽ được tìm kiếm và trả về một
cách ngắn gọn, súc tích, chính xác nhất những gì mà họ mong muốn. Đó chính là
mục tiêu của hệ thống hỏi-đáp tự động. Rất nhiều hệ thống hỏi đáp thông tin qua
mạng ra đời nhằm đáp ứng nhu cầu này.
Chương này sẽ trình bày các vấn đề sau:
9 Giới thiệu về hệ thống hỏi-đáp tự động (QA)
9 Sơ lược lịch sử phát triển
9 Kiến trúc hệ thống hỏi-đáp
9 Một số vấn đề quan tâm khi xây dựng hệ thống hỏi-đáp
9 Hệ thống hỏi-đáp tiếng Việt
1.1 Hệ thống hỏi-đáp tự động.
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. 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), tìm kiếm thông tin (Information Retrieval) và rút
trích thông tin (Information Extraction).
Trang 5
Hình 1-1: Lĩnh vực hỏi-đáp tự động
Có hai loại hệ thống hỏi-đáp:
• 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.2 Sơ lược lịch sử phát triển
Thiết kế một hệ thống hỏi-đáp không phải là khái niệm mới. Một số hệ thống
đầu tiên đã được ra đời từ những năm 1960. Một ví dụ của một hệ thống như vậy là
hệ thống BASEBALL được phát triển năm 1961 do nhóm tác giả Green, Chomsky,
và Laughery [9]. 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ỹ. Một hệ thống khác tương tự như
BASEBALL đã được phát triển bởi Woods (1973) [32] và được đặt tên 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 này dịch các câu hỏi thành một hay nhiều truy vấn cơ
Trang 6
sở dữ liệu. Hệ thống TEAM được phát triển bởi Grosz (1983) [10] đã có những đặc
điểm cơ bản như một chuỗi các biểu diễn ngữ nghĩa và một lược đồ phiên dịch làm
cho nó tốt 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 đã 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) [25]. 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. Điều này được thực hiện
bằng cách phân tích và tổ chức tài liệu của thông tin trong một mô hình tương tự
như bộ nhớ của con người. Điều này đã được cải thiện hơn bởi Lenhert, Dyer,
Johnson, Yang, và Harley (1983) [17] trong hệ thống Boris. 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ệ 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. Điều này bắt nguồn từ việc một lượng tài liệu lớn có gắn chỉ mục sẵn
có trên Internet, cùng với các thành tựu trong lĩnh vực rút trích thông tin và sự gia
tăng nhu cầu thương mại cho các sản phẩm QA trên toàn cầu. Một lợi thế nữa, dễ
dàng cho việc phát triển các hệ thống QA phức tạp hơn, là các nguồn tài nguyên
như là WordNet (Fellbaum, 1998) [8] và OpenCyc (Curtis, Matthews, & Baxter,
2005) [4]. WordNet cung cấp sự truy cập tới các thông tin ngữ nghĩa và các mối
liên hệ ngữ nghĩa giữa các cụm từ. OpenCyC cung cấp sự truy cập tới thông tin
ontology và tri thức thông dụng. Cả 2 hệ thống này đều được cung cấp miễn phí.
Hội thảo TREC (Text Retrieval and Evaluation Conference) [29] 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.
Trang 7
Rất nhiều phương pháp tiếp cận khác nhau được sử dụng trong các hệ thống
hỏi-đáp gần đây như phương pháp thống kê, phương pháp dựa trên luật, và các
phương pháp tổng hợp. 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) [21] để đá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.
1.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 (IR). 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 [20] có
kiến trúc như sau:
Trang 8
Tập tài liệu
Giao diện
Viết lại
truy vấn
Tìm ki ếm Xếp hạng Lập chỉ mục
truy vấn
Lập chỉ mục
tài liệu
Tài liệu
văn bản
Tài liệu
Các tài
liệu đã
xếp hạng
Từ khóa của truy vấn
Truy vấn đã tinh chế
Tài liệu Từ khóa
Yêu cầu
Cơ sở dữ liệu
Hình 1-2: Hệ thống tìm kiếm thông tin
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.
Kiến trúc chung của các hệ thống hỏi-đáp [20] thường có dạng như sau:
Trang 9
Dữ liệu dưới dạng văn bản
Xác minh câu trả
lời
Giao diện người
dùng
Phân tích câu hỏi
Câu hỏi bằng ngôn
ngữ tự nhiên
Tìm kiếm dữ liệu
Câu trả lời bằng
ngôn ngữ tự nhiên
Câu trả lời đã
xếp hạng
Hình 1-3: Kiến trúc hệ thống hỏi-đáp [20]
1.3.1 Giao diện người dùng (User Interface)
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 ([1],[26],[27]…). 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.2 Phân tích câu hỏi (Question Analyzer)
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
Truy vấn đã tinh chế
Xếp hạng
Rút trích câu trả
lời
Tài
nguyên
hỏi-đáp
Các tài liệu
Web Internet
Cơ sở dữ
liệu
Các tài liệu
văn bản
Truy vấn
Câu trả lời
Cơ sở tri thức
Trang 10
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
[26]. 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. Ví dụ:
• Tháp Eiffel nằm ở đâu? (câu hỏi ban đầu)
• 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 [16]. 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 [3].
1.3.3 Tìm kiếm dữ liệu (Data Retrieval)
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 [16]. 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
Trang 11
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.4 Rút trích câu trả lời (Answer Extraction)
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 [13]… 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.5 Chiến lược xếp hạng (Ranking)
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. Ví dụ như
trong [3], tác giả đề xuất một chiến lược xếp hạng nhiều pha dựa trên sự kết hợp các
độ đo tương tự giữa câu hỏi do người dùng đưa vào với câu hỏi và câu trả lời trong
kho dữ liệu xác định từ giai đoạn trước. Trong [16] tác giả cũng đề xuất chiến lược
xếp hạng dựa trên độ đo tương tự là sự kết hợp giữa độ đo tương tự từ khóa miền
(domain keywords semilarity) và độ đo tương tự ngữ nghĩa từ phổ biến (common
words semantic similarity).
Trang 12
1.3.6 Xác minh câu trả lời (Answer Verification)
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.4 Một số vấn đề quan tâm khi xây dựng hệ thống hỏi đáp
Năm 2002, một nhóm các nhà nghiên cứu đã đưa ra một số vấn đề cần quan tâm
như sau [2]:
• Loại câu hỏi: Câu hỏi trong ngôn ngữ tự nhiên rất đa dạng, ẩn ý, nhập nhằng
và phụ thuộc vào ngữ cảnh. Một số loại câu hỏi đang được quan tâm trong hệ
thống hỏi đáp như câu hỏi về sự vật, sự kiện, định nghĩa, danh sách, quá
trình, cách thức, lý do… Mỗi loại câu hỏi có những đặc trưng và khó khăn
riêng, đòi hỏi phải có các chiến lược riêng để trả lời chúng.
• Xử lý câu hỏi: Cùng một loại câu hỏi có thể được diễn đạt qua nhiều cách
khác nhau. Một mô hình ngữ nghĩa cần xây dựng có khả năng xác định được
các câu hỏi tương tự, các quan hệ ngữ pháp, đồng thời có thể chuyển một câu
hỏi phức tạp thành chuỗi các câu hỏi đơn giản hơn.
• Ngữ cảnh và hệ thống hỏi đáp: Câu hỏi thường được gắn với ngữ cảnh và
câu trả lời cũng được đưa ra trong một ngữ cảnh xác định. Việc sử dụng các
thông tin về ngữ cảnh giúp hệ thống hỏi đáp hiểu câu hỏi một cách rõ ràng,
loại bỏ được các nhập nhằng và tăng tính chính xác của câu trả lời tìm được
khi người dùng hỏi một loạt các câu hỏi liên quan đến cùng một ngữ cảnh.
• Nguồn dữ liệu cho hệ thống hỏi đáp: Nguồn dữ liệu cho hệ thống hỏi đáp có
thể là tập nhỏ các tài liệu của tổ chức, dữ liệu thu thập từ các nguồn như
sách, báo chí hay các trang web. Tuy nhiên cần đảm bảo nguồn dữ liệu có độ
tin cậy cao.
Trang 13
• Trích xuất câu trả lời: Việc trích xuất câu trả lời phụ thuộc vào nhiều yếu tố:
độ phức tạp của câu hỏi, loại câu hỏi có được từ quá trình xử lý câu hỏi, dữ
liệu chứa câu trả lời, phương pháp tìm kiếm và ngữ cảnh,… nhưng đảm bảo
yêu cầu câu trả lời cho người dùng phải chính xác.
1.5 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.
Trong luận văn [30] năm 2001, tác giả luận văn đề cập đến vấn đề hỏi-đáp tự
động, tuy nhiên tác giả chỉ xây dựng hệ hỗ trợ cho hệ thống hỏi-đáp, hoàn toàn chưa
đúng nghĩa là một hệ thống hỏi-đáp tự động. Ý tưởng của luận văn là các câu hỏi
gởi lên diễn đàn sẽ được phân loại và phân phối tự động đến các chuyên gia có
chuyên môn tương ứng. Quá trình phân loại dựa trên các luật phân lớp được rút
trích tự động từ tập dữ liệu học là các câu hỏi đã gán nhãn. Các câu hỏi này vẫn sẽ
được trả lời thủ công bởi các chuyên gia.
Nhóm nghiên cứu khác thuộc trường Đại học Khoa học tự nhiên Tp HCM [24]
đã nghiên cứu xây dựng hệ thống hỏi-đáp tiếng Việt dựa trên 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 [6] 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. Ngoài ra, nhóm nghiên cứu xử lý
ngôn ngữ tự nhiên trường Đại học công nghệ, Đại học quốc gia Hà Nội [23] 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 [6] và
phương pháp sử dụng máy tìm kiếm của Ravichandran, Hovy [5]. 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.
Trang 14
Kết luận
Trong chương này, chúng tôi đã trình bày tổng quan về hệ thống hỏi-đáp và
hiện trạng hệ thống hỏi-đáp tiếng Việt cùng với một số vấn đề cần quan tâm khi xây
dựng hệ thống hỏi-đáp. Hệ thống hỏi-đáp tự động là một công cụ hữu hiệu phục vụ
cho nhu cầu tìm kiếm thông tin ngày càng cao của con người, nhưng hệ thống hỏi-
đáp tiếng Việt lại mới chỉ được quan tâm trong vài năm gần đây. Như vậy, việc xây
dựng một hệ thống hỏi-đáp tiếng Việt là một nhu cầu cần thiết. Hướng tới mục tiêu
này, chúng tôi xây dựng một hệ thống hỏi-đáp tự động tiếng Việt nhằm phục vụ cho
một lĩnh vực cụ thể là diễn dàn tư vấn ghi danh trực tuyến.