Hệ thống hỏi đáp Ephyra đạt kết quả khá tốt tại TREC 2006 [13] và TREC 2007 [12]. Thay vì chú trọng tối ưu hóa một hướng tiếp cận đơn lẻ, Ephyra được áp dụng kết hợp một vài kĩ thuật để phân tích câu hỏi và trích xuất câu trả lời để có thể đạt được kết quả tốt nhất. Đối với chức năng trả lời cho các câu hỏi danh sách, hệ thống
21
được kết hợp phương pháp dựa trên việc phân tích loại câu trả lời và học mẫu. Đối với hướng tiếp cận xác định loại câu trả lời, hệ thống xác định loại của câu trả lời từ cây kế thừa của các loại thực thể tên và lựa chọn thẻ thích hợp (tagger) để trích xuất các thực thể thuộc loại đó. Hướng tiếp cận này cho độ chính xác cao, tuy nhiên nếu không xác định được loại câu trả lời thì hệ thống sẽ cho kết quả không chính xác. Chính vì thế hướng tiếp cận sử dụng học mẫu đã được kết hợp vào hệ thống, sử dụng các mẫu nguyên văn để phân lớp và làm rõ câu hỏi để trích xuất các câu trả lời.
Ephyra được tổ chức kiểu đường ống bao gồm các thành phần cơ bản để tạo truy vấn, tìm kiếm và lựa chọn câu trả lời. Đối với các câu hỏi danh sách, hệ thống chuyển hóa câu hỏi thành dạng câu hỏi yêu cầu câu trả lời chỉ là một thực thể, sau đó áp dụng kĩ thuật để tìm câu hỏi đơn đó. Nhiều lần như vậy, hệ thống tổng hợp lại các kết quả và trả về danh sách kết quả cho câu hỏi đó. Các bước trả lời câu hỏi của hệ thống hỏi đáp Ephyra gồm: chuẩn hóa câu hỏi, tạo câu truy vấn, tìm kiếm tài liệu, trích chọn câu trả lời dựa vào loại câu trả lời, trích chọn câu trả lời dựa vào so khớp mẫu và lựa chọn các kết quả cho câu trả lời cuối cùng.
a. Chuẩn hóa câu hỏi: Bộ chuẩn hóa câu hỏi tạo ra hai thể hiện của câu hỏi, một thể hiện được sử dụng để phân tích câu hỏi với các mẫu nguyên văn, một thể hiện để sinh ra câu truy vấn phục vụ cho việc thu thập tài liệu. Cả hai thể hiện đều được loại bỏ các dấu câu không cần thiết. Đối với thể hiện so khớp mẫu, tất cả các động từ được thay thế bằng dạng nguyên thể của chúng và tất cả các danh từ được chuyển về dạng số ít. Đối với thể hiện để tạo câu truy vấn, các cấu trúc động từ với trợ động từ được thay để phù hợp với câu trả lời tương ứng. Ví dụ “did … occur” được thay bằng “occurred”. b. Tạo câu truy vấn và tìm kiếm tài liệu: hệ thống trích chọn các từ khóa từ thể
hiện 2 của câu hỏi để tạo một truy vấn “túi từ” đơn giản (simple “bag of words”) (Bộ sinh túi từ). Hệ thống cũng xây dựng các mẫu câu trả lời dựa vào câu hỏi, ví dụ như “Where was Mozart born?” sẽ được chuyển thành truy vẫn như “Mozart was born in”. Ephyra tìm kiếm trên Yahoo để thu thập các đoạn snippets (Hình 3) và sử dụng hệ thống trích xuất thông tin Indri để tìm kiếm trên tập văn bản AQUAINT. Indri được cấu hình để thu về các đoạn văn bản độc lập thay vì cả văn bản.
22
c. Trích chọn câu trả lời dựa vào loại câu trả lời:
Hệ thống phân tích các câu hỏi trong TREC và chia một cây kế thừa của các loại thực thể tên thường gặp trong hệ thống hỏi đáp. Cây kế thừa được sử dụng trong Ephyra bao gồm khoảng 70 loại thực thể tên như Ngày tháng, địa điểm, màu sách, người, kích thước, … Đối với mỗi loại, hệ thống xác định một hoặc nhiều mẫu, tức là các biểu thức chính quy mà khớp các câu hỏi với loại tương ứng. Bảng 4 mô tả một trích chọn của cây kế thừa thực thể tên.
Tại pha phân tích câu hỏi, hệ thống so khớp câu hỏi với các loại mẫu để xác định loại câu trả lời tiềm năng. Nếu một câu hỏi ứng với nhiều hơn một mẫu, hệ thống sẽ sử dụng một cặp luật hãm (tie-braking rules) để lựa chọn loại thực thể tên, ví dụ như các mẫu dài hơn và cụ thể hơn sẽ được đánh giá cao hơn.
Loại thực thể tên Loại mẫu
Date When
Date Weekday (what|which|name) (.* )?(day of (the )?week|weekday)
Location where
Location Country (what|which|name) (.* )?(colony|country|nation)
Size how (big|large)
Size Length how (deep|far|high|long|tall|wide)
Size Length (how large in|how many) (foot|inch|.*meter|mile|yard)
Trong suốt quá trình trích chọn câu trả lời, bộ lọc loại câu trả lời (Answer Type Filter) áp dụng một thẻ thực thể tên thích hợp lên các đoạn snippet thu
Hình 3. Ví dụ về một Snippet trả về từ máy tìm kiếm
23
thập được từ công cụ tìm kiếm Yahoo hay Indri. Đối với các thực thể tên thuộc loại Person, Organization hay Location, hệ thống sử dụng các bộ gán nhãn (tagger) từ công cụ OpenNLP8. Đối với các loại thực thể tên khác, áp dụng các bộ gán nhãn của hệ thống, các mẫu này được xây dựng dựa trên luật (ví dụ như Số) hoặc dựa trên danh sách (ví dụ như Ngôn ngữ, màu sắc). Đầu tiên bộ lọc cố gắng trích chọn các thực thể ứng với các loại xác định nhất, nếu không đánh dấu được thực thể nào, bộ lọc sẽ chuyển lên trên theo cây kế thừa.
d. Trích chọn câu trả lời dựa vào so khớp mẫu: hướng tiếp cận so khớp mẫu sử dụng các mẫu để phân lớp, hiểu câu hỏi và để trích chọn các câu trả lời từ các snippet thu thập được. Các mẫu để trích chọn câu trả lời được học tự động sử dụng các cặp câu hỏi – câu trả lời như tập dữ liệu huấn luyện. e. Lựa chọn các kết quả cho câu trả lời cuối cùng: tập các câu trả lời tiềm năng
trích chọn được sẽ được sắp xếp theo trọng số bởi bộ lọc sắp xếp (Sorter Filter). Bộ lọc lặp (Duplicate Filter) sẽ so sánh từng cặp câu trả lời, khi phát hiện ra hai câu trả lời tương đương, bộ lọc lặp sẽ loại bỏ câu trả lời có trọng số thấp hơn, và thêm trọng số đó vào trọng số của câu trả lời có trọng số cao hơn. Cuối cùng, bộ lọc độ dài kết quả (Result Length Filter) loại bỏ các câu trả lời có trọng số thấp hơn một ngưỡng nào đó.
Hệ thống hỏi đáp Ephyra được xây dựng từ các thành phần cơ bản của một hệ thống hỏi đáp, tích hợp nhiều hướng tiếp cận khác nhau để tạo truy vấn và trích chọn câu trả lời. Mỗi kĩ thuật riêng thường có các hạn chế đối với một số loại câu hỏi cụ thể, chính vì thế việc kết hợp các kĩ thuật giúp cho việc xây dựng một hệ thống bao quát rộng và hiệu quả.