intTypePromotion=1
zunia.vn Tuyển sinh 2024 dành cho Gen-Z zunia.vn zunia.vn
ADSENSE

LUẬN VĂN: PHƯƠNG PHÁP PHÂN TÍCH CÂU HỎI CHO HỆ THỐNG HỎI ĐÁP TIẾNG VIỆT

Chia sẻ: Lan Lan | Ngày: | Loại File: PDF | Số trang:104

162
lượt xem
41
download
 
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

Thay vì trả về một danh sách các tài liệu liên quan chứa đựng các từ có trong câu hỏi giống như các cỗ máy tìm kiếm, thì hệ thống hỏi đáp đưa ra câu trả lời chính xác đáp lại mong muốn của người dùng. Phân tích câu hỏi là thành phần đầu tiên của bất kỳ một hệ thống hỏi đáp nào. Mục tiêu của thành phần này là tạo ra một bộ biểu diễn trung gian để sử dụng trong phần còn lại của hệ thống. Trong khóa luận này, chúng tôi xin giới thiệu một phương...

Chủ đề:
Lưu

Nội dung Text: LUẬN VĂN: PHƯƠNG PHÁP PHÂN TÍCH CÂU HỎI CHO HỆ THỐNG HỎI ĐÁP TIẾNG VIỆT

  1. ĐẠI HỌC QUỐC GIA HÀ NỘI TRƢỜNG ĐẠI HỌC CÔNG NGHỆ -------- Nguyễn Quốc Đạt PHƢƠNG PHÁP PHÂN TÍCH CÂU HỎI CHO HỆ THỐNG HỎI ĐÁP TIẾNG VIỆT KHÓA LUẬN TỐT NGHIỆP ĐẠI HỌC HỆ CHÍNH QUY Ngành: Công nghệ thông tin HÀ NỘI – 2009
  2. ĐẠI HỌC QUỐC GIA HÀ NỘI TRƢỜNG ĐẠI HỌC CÔNG NGHỆ -------- Nguyễn Quốc Đạt PHƢƠNG PHÁP PHÂN TÍCH CÂU HỎI CHO HỆ THỐNG HỎI ĐÁP TIẾNG VIỆT KHÓA LUẬN TỐT NGHIỆP ĐẠI HỌC HỆ CHÍNH QUY Công nghệ thông tin Ngành: Giảng viên hƣớng dẫn: TS. Phạm Bảo Sơn HÀ NỘI – 2009
  3. To My Family
  4. Phương pháp phân tích câu hỏi cho hệ thống hỏi đáp tiếng Việt Nguyễn Quốc Đạt Lời cảm ơn Đầu tiên, tôi xin gửi lời cảm ơn sâu sắc đến giảng viên hướng dẫn của tôi là tiến sĩ Phạm Bảo Sơn. Thầy đã hướng dẫn, hỗ trợ cũng như truyền đạt những kinh nghiệm quý báu giúp tôi hoàn thành khóa luận của mình. Tôi xin chân thành cảm ơn tiến sĩ Bùi Thế Duy. Thầy đã giúp đỡ và tạo điều kiện thuận lợi cho tôi trong quá trình thực hiện khóa luận. Tôi xin chân thành cảm ơn các bạn: Nguyễn Quốc Đại, Nguyễn Bá Đạt, Phạm Đức Đăng, Trần Bình Giang. Những người bạn cùng thực tập với tôi trong phòng thí nghiệm. Các bạn đã đóng góp cho tôi nhiều ý kiến bổ ích. Tôi xin chân thành cảm ơn hai bạn: Ngô Thị Thảo và Tạ Thị Bích Huyền đã giúp đỡ tôi trong lúc tôi khó khăn. Xin cám ơn những người bạn đã luôn ở bên cạnh đã quan tâm, động viên và ủng hộ tôi. Con cảm ơn bố mẹ đã sinh thành, nuôi dưỡng, chăm sóc và động viên con. Con cảm ơn bố mẹ rất nhiều. Hà Nội, ngày 23 tháng 5 năm 2009 Nguyễn Quốc Đạt i
  5. Phương pháp phân tích câu hỏi cho hệ thống hỏi đáp tiếng Việt Nguyễn Quốc Đạt Tóm tắt Thay vì trả về một danh sách các tài liệu liên quan chứa đựng các từ có trong câu hỏi giống như các cỗ máy tìm kiếm, thì hệ thống hỏi đáp đưa ra câu trả lời chính xác đáp lại mong muốn của người dùng. Phân tích câu hỏi là thành phần đầu tiên của bất kỳ một hệ thống hỏi đáp nào. Mục tiêu của thành phần này là tạo ra một bộ biểu diễn trung gian để sử dụng trong phần còn lại của hệ thống. Trong khóa luận này, chúng tôi xin giới thiệu một phương pháp phân tích câu hỏi. Phương pháp của chúng tôi đem lại một kết quả khả quan, góp phần xây dựng nên một hệ thống hỏi đáp tiếng Việt. ii
  6. Phương pháp phân tích câu hỏi cho hệ thống hỏi đáp tiếng Việt Nguyễn Quốc Đạt Mục lục Lời cảm ơn ...................................................................................................................... i Tóm tắt........................................................................................................................... ii Mục lục ......................................................................................................................... iii Danh sách từ viết tắt ......................................................................................................v Danh sách hình vẽ ........................................................................................................ vi Danh sách bảng .......................................................................................................... viii Chƣơng 1. Giới thiệu .....................................................................................................1 Chƣơng 2. Phân tích câu hỏi trong các hệ thống hỏi đáp .........................................3 2.1. Phân loại câu hỏi ..................................................................................................3 2.1.1. Sự phân loại câu hỏi .......................................................................................4 2.1.2. Phân loại câu hỏi dựa trên loại câu trả lời ......................................................5 2.1.3. Giới thiệu các phương pháp phân loại câu hỏi...............................................6 2.1.4. Phân loại câu hỏi sử dụng mô hình biểu thức chính quy ...............................6 2.1.4.1. Giới thiệu về biểu thức chính quy ...........................................................6 2.1.4.2. Phân loại câu hỏi sử dụng biểu thức chính quy .......................................9 2.1.5. Phân loại câu hỏi sử dụng mô hình ngôn ngữ ..............................................10 2.1.5.1. Phân lớp câu hỏi sử dụng mô hình unigram..........................................11 2.1.5.2. Phân lớp câu hỏi sử dụng mô hình bigram............................................13 2.1.5.3. Kết hợp hai mô hình unigram và bigram ..............................................14 2.1.6. Kết hợp mô hình ngôn ngữ với mô hình biểu thức chính quy .....................15 2.1.7. Phân loại câu hỏi sử dụng các thuật toán học máy ......................................16 2.2. Phân tích câu hỏi trong các hệ thống hỏi đáp sử dụng cơ sở dữ liệu ................18 2.2.1. Các hệ thống so khớp mẫu ...........................................................................18 2.2.2. Các hệ thống dựa trên cú pháp .....................................................................20 2.2.3. Các hệ thống sử dụng văn phạm ngữ nghĩa .................................................22 2.3. Chú giải ngữ nghĩa phục vụ phân tích câu hỏi trong các hệ thống hỏi đáp ......26 Chƣơng 3. GATE .........................................................................................................28 3.1. Giới thiệu GATE .................................................................................................28 iii
  7. Phương pháp phân tích câu hỏi cho hệ thống hỏi đáp tiếng Việt Nguyễn Quốc Đạt 3.2. Trích chọn thông tin trong GATE .......................................................................31 3.3. JAPE ...................................................................................................................33 3.3.1. Giới thiệu về JAPE .......................................................................................33 3.3.2. Thiết lập lựa chọn.........................................................................................33 3.3.3. Khớp mẫu .....................................................................................................34 3.3.3.1. Thành phần thay thế (Macro) ................................................................35 3.3.3.2. Ngữ cảnh trong văn phạm .....................................................................36 3.3.4. Một ví dụ đơn giản về JAPE ........................................................................36 3.3.5. Sử dụng độ ưu tiên .......................................................................................37 3.3.6. Sử dụng Java cho JAPE ...............................................................................37 Chƣơng 4. Phƣơng pháp phân tích câu hỏi cho hệ thống hỏi đáp tiếng Việt .......38 4.1. Kiến trúc hệ thống...............................................................................................38 4.2. Tiền xử lý.............................................................................................................42 4.2.1. Xác định cụm từ để hỏi chuẩn trong câu hỏi ngôn ngữ tự nhiên .................43 4.2.2. Tạo chú giải ngữ nghĩa cho các từ đặc biệt ..................................................47 4.3. Phân tích cú pháp ...............................................................................................49 4.3.1. Xác định cụm danh từ trong câu hỏi ............................................................49 4.3.2. Mối quan hệ..................................................................................................54 4.4. Phân tích ngữ nghĩa ............................................................................................58 4.4.1. Phân loại câu hỏi ..........................................................................................58 4.4.2. So khớp mẫu.................................................................................................63 4.4.2.1. Cấu tạo của câu hỏi ...............................................................................65 4.4.2.2. Bộ biểu diễn trung gian của câu hỏi ......................................................71 Chƣơng 5. Kết quả thực nghiệm ................................................................................76 Chƣơng 6. Kết luận và hƣớng phát triển ..................................................................80 Phụ lục A. Chƣơng trình nhúng Java vào JAPE ......................................................82 Phụ lục B. Bảng nhãn từ loại tiếng Việt ...................................................................84 Phụ lục C. Danh sách câu hỏi thực nghiệm...............................................................86 Tài liệu tham khảo .......................................................................................................90 iv
  8. Phương pháp phân tích câu hỏi cho hệ thống hỏi đáp tiếng Việt Nguyễn Quốc Đạt Danh sách từ viết tắt A New-Nearly Information Extraction ANNIE Application Program Interface API General Architecture for Text Engineering GATE Information Extraction IE Java Annotations Pattern Engine JAPE Named Entity Recognitioin NER Sematically Related Words SRW v
  9. Phương pháp phân tích câu hỏi cho hệ thống hỏi đáp tiếng Việt Nguyễn Quốc Đạt Danh sách hình vẽ Hình 2-1: Văn phạm mô tả cấu trúc cú pháp câu ..........................................................20 Hình 2-2: Cây cú pháp trong một hệ thống dựa trên cú pháp .......................................20 Hình 2-3: Một văn phạm ngữ nghĩa ..............................................................................22 Hình 2-4: Cây cú pháp-ngữ nghĩa trong một văn phạm ngữ nghĩa ...............................23 Hình 2-5: Cây cú pháp ngữ nghĩa của câu hỏi: “Tìm các sinh viên học ít nhất 2 môn do giáo viên A dạy?” ..........................................................................................................25 Hình 2-6: Kiến trúc của Aqualog...................................................................................27 Hình 3-1: Kiến trúc của GATE ......................................................................................28 Hình 3-2: Chú giải ngữ nghĩa trong GATE ...................................................................30 Hình 4-1: Kiến trúc chung của một hệ thống trả lời ngôn ngữ tự nhiên .......................38 Hình 4-2: Các module của thành phần xử lý câu hỏi ngôn ngữ tự nhiên ......................39 Hình 4-3: Đầu ra của module phân tích câu hỏi tiếng Việt ...........................................41 Hình 4-4: Giao diện GATE khi sử dụng Coltech.NLP.Tokenizer .................................42 Hình 4-5: Một số từ để hỏi đã được xác định lại bằng cách sử dụng JAPE ..................44 Hình 4-6: Kiểu chú giải TokenVn cho những từ đặc biệt ..............................................47 Hình 4-7: Kiểu chú giải TokenVn sau khi đã thay đổi giá trị của đặc trưng category ..48 Hình 4-8: Cụm danh từ trong một số câu hỏi tiếng Việt ...............................................49 Hình 4-9: Từ mang ý nghĩa so sánh trong câu hỏi tiếng Việt .......................................52 Hình 4-10: Một ví dụ về kiểu chú giải Danhngu...........................................................53 Hình 4-11: Ví dụ về “mối quan hệ” ..............................................................................54 Hình 4-12: Tách từ trong câu hỏi: “Nguyễn Quốc Đạt và Nguyễn Quốc Đại có quê ở Hà Tây phải không?” ....................................................................................................55 Hình 4-13: Kiểu chú giải Moiquanhe ............................................................................57 vi
  10. Phương pháp phân tích câu hỏi cho hệ thống hỏi đáp tiếng Việt Nguyễn Quốc Đạt Hình 4-14: Một ví dụ về kiểu chú giải Tudehoi ............................................................58 Hình 4-15: Ví dụ về bộ biểu diễn trung gian của câu hỏi .............................................64 Hình 4-16: Một ví dụ về kiểu chú giải Maucauhoi .......................................................72 Hình 4-17: Đầu ra của một câu hỏi có cấu tạo dạng Unknterm ...................................73 Hình 4-18: Đầu ra của một câu hỏi có cấu tạo dạng And ..............................................74 Hình 4-19: Đầu ra của một câu hỏi có cấu tạo dạng AffirmNeg_3Term .......................75 Hình 5-1: Ví dụ về một phần câu hỏi được khớp mẫu ..................................................77 Hình 5-2: Kết quả phân tích đúng - câu hỏi thỏa mãn tiêu chí 2...................................78 Hình 5-3: Ví dụ về câu hỏi thỏa mãn tiêu chí 3 ............................................................78 Hình 5-4: Một ví dụ về phân tích sai – câu hỏi thỏa mãn tiêu chí 1 nhưng không thỏa mãn tiêu chí 2 ................................................................................................................79 Hình A-1: Chương trình nhúng Java vào JAPE ............................................................83 Hình B-1: Nhãn từ loại trong tiếng Việt được dùng trong bộ tách từ trong Coltech.NLP.Tokenizer .................................................................................................85 vii
  11. Phương pháp phân tích câu hỏi cho hệ thống hỏi đáp tiếng Việt Nguyễn Quốc Đạt Danh sách bảng Bảng 4-1: Cấu tạo của cụm danh từ trong câu hỏi tiếng Việt .......................................50 Bảng 4-2: Cấu trúc cụm danh từ được mô tả trong văn phạm JAPE ............................51 Bảng 5-1: Kết quả đánh giá ...........................................................................................77 viii
  12. Chương 1. Giới thiệu Nguyễn Quốc Đạt Chƣơng 1. Giới thiệu Những cỗ máy tìm kiếm hiện nay trả về một danh sách gồm rất nhiều các tài liệu liên quan tới câu hỏi của người sử dụng. Nó yêu cầu người sử dụng phải lướt qua các tài liệu này để tìm kiếm thông tin cần thiết. Điều này gây ra sự không hài lòng của người dùng khi thời gian dành cho việc tìm kiếm là không nhiều. Các hệ thống hỏi đáp được tạo ra để giải quyết vấn đề nêu trên. Hệ thống hỏi đáp đưa ra một câu trả lời chính xác đáp ứng mong muốn của người sử dụng. Thành phần xử lý câu hỏi là thành phần đầu tiên trong bất cứ một hệ thống hỏi đáp nào. Nhiệm vụ của thành phần này là tạo ra một biểu diễn trung gian của câu hỏi để dùng trong các thành phần còn lại của hệ thống. Những nghiên cứu về hệ thống hỏi đáp trên thế giới đã phát triển, được ứng dụng từ lâu và đem lại nhiều lợi ích. Nhưng tại Việt Nam, chưa có nhiều nghiên cứu về hệ thống hỏi đáp. Bởi vậy, trong khóa luận này, chúng tôi giới thiệu: “Phương pháp phân tích câu hỏi cho hệ thống hỏi đáp tiếng Việt” nhằm mục đích góp phần tạo ra một hệ thống hỏi đáp tiếng Việt. Trong khóa luận của mình, chúng tôi đề xuất một phương pháp phân tích câu hỏi tiếng Việt dựa trên các chú giải ngữ nghĩa. Phương pháp của chúng tôi tạo ra một biểu diễn trung gian của mỗi câu hỏi đầu vào thông qua một loạt các quá trình xử lý như: tiền xử lý, phân tích cú pháp, phân tích ngữ nghĩa, phân loại câu hỏi. Mỗi bộ biểu diễn trung gian của câu hỏi chứa đựng: dạng (nguyên tắc) cấu tạo của câu hỏi, phân lớp của câu hỏi, các từ khóa có trong câu hỏi cũng như những ràng buộc ngữ nghĩa giữa các từ khóa đó. Phương pháp của chúng tôi đem lại một kết quả khả quan trong việc phân tích các câu hỏi ngôn ngữ tự nhiên. Ngoài phương pháp của mình, chúng tôi còn nghiên cứu và tìm hiểu những lý thuyết liên quan đến phân tích câu hỏi trong các hệ thống hỏi đáp. 1
  13. Chương 1. Giới thiệu Nguyễn Quốc Đạt Phần còn lại của khóa luận được trình bày như sau: tại chương 2 chúng tôi giới thiệu về một số phương pháp phân loại câu hỏi và các kỹ thuật phân tích câu hỏi ngôn ngữ tự nhiên trong một số hệ thống hỏi đáp đã có. Tiếp theo, chúng tôi giới thiệu về GATE (General Architecture Text Engine) [45][40] là một hệ thống chú giải ngữ nghĩa được ứng dụng rất nhiều trong xử lý ngôn ngữ tự nhiên ở chương 3. Sau đó, tại chương 4, chúng tôi trình bày về phương pháp của mình. Cuối cùng, chúng tôi đưa ra một số kết quả thực nghiệm ở chương 5 và kết luận ở chương 6. 2
  14. Chương 2. Phân tích câu hỏi trong các hệ thông hỏi đáp Nguyễn Quốc Đạt Chƣơng 2. Phân tích câu hỏi trong các hệ thống hỏi đáp Phân tích câu hỏi là thành phần đầu tiên cho một hệ thống hỏi đáp. Nó sinh ra một biểu diễn của câu hỏi để dùng trong phần còn lại của hệ thống. Phân tích câu hỏi ở mức độ đơn giản nhất chính là phân loại câu hỏi. Sau đó, những kỹ thuật xử lý ngôn ngữ tự nhiên được sử dụng để nhận biết chính xác các từ khóa cũng như các ràng buộc ngữ nghĩa trong câu hỏi nhằm mục tiêu đưa ra câu trả lời chính xác nhất. 2.1. Phân loại câu hỏi Vấn đề xử lý câu hỏi ngôn ngữ tự nhiên trong hệ thống hỏi đáp có thể trở nên dễ dàng hơn bằng cách thực hiện phân loại [30]. Điều này có nghĩa là, quá trình tìm ra sự khác nhau hoặc giống nhau giữa các câu hỏi là cơ sở cho sự tổng quát sau đó [8]. Chúng ta định nghĩa phân loại câu hỏi là nhiệm vụ ánh xạ một câu hỏi cho trước vào một trong lớp. Nghĩa là với một câu hỏi đầu vào, quá trình phân loại sẽ đưa ra lớp tương ứng của câu hỏi, các lớp này cung cấp những ràng buộc ngữ nghĩa dựa trên câu trả lời mong muốn. Sự kết hợp của các từ nhằm tạo ra một câu hỏi dường như là vô tận. Phương pháp trả lời tất cả các câu hỏi, mà hệ thống hỏi đáp có thể bắt gặp, nằm ngoài khả năng tính toán hiện nay. Một hướng tiếp cận, cố gắng làm cho vấn đề này trở nên dàng hơn, là khái quát hóa các câu hỏi thành một số lượng hữu hạn các lớp câu hỏi. Với cách làm như vậy, vấn đề sẽ bớt phức tạp hơn. Tính phức tạp được giảm đi bao nhiêu còn phụ thuộc vào phương pháp phân loại được sử dụng để làm đơn giản hóa vấn đề. Nhưng có một mặt không tốt của việc phân loại câu hỏi đó là luôn luôn mất một vài thông tin trong câu hỏi, điều này dẫn đến một hệ thống trả lời câu hỏi có thể đưa ra câu trả lời sai hoặc không đưa ra bất kỳ một câu trả lời nào. 3
  15. Chương 2. Phân tích câu hỏi trong các hệ thông hỏi đáp Nguyễn Quốc Đạt 2.1.1. Sự phân loại câu hỏi Hầu hết các cách phân loại hiện nay phân loại câu hỏi dựa trên các từ để hỏi và/hoặc một số từ khóa trong các câu hỏi dựa trên cơ sở tri thức hiện có. Phân loại dựa trên từ để hỏi chuẩn (trong tiếng Anh là: who, what, when, where, why, how) không cho biết bất cứ thông tin về câu hỏi ngoại trừ loại câu trả lời mong muốn. Trong khi câu hỏi còn cho biết nhiều thông tin liên quan đến cơ sở tri thức và các thông tin này vô cùng có ích để tìm câu trả lời cho câu hỏi, thì cách phân loại dựa trên từ để hỏi chuẩn không đưa ra bất cứ mối quan hệ ngữ nghĩa nào giữa các câu hỏi và cơ sở tri thức. Sử dụng các từ khóa với mục đích phân loại câu hỏi làm tăng sự phức tạp cho hệ thống. Hầu hết các hệ thống sử dụng hướng tiếp cận này thực hiện tốt trong một miền mà có không nhiều sự phức tạp. Tuy nhiên, đây không phải là một phương pháp tồi. Trong thực tế, nhiều hệ thống đã đưa ra những kết quả tốt với cách phân loại dựa trên từ khóa nhưng không hệ thống nào hoàn thành việc hiểu đúng ngữ nghĩa của câu hỏi được hỏi. Hệ thống phân loại các câu hỏi cần dựa trên các kiểu thông tin có trong câu hỏi và loại câu trả lời mong muốn. Hơn nữa, hệ thống cần thực hiện phân loại một cách hoàn toàn độc lập với cơ sở tri thức. Hướng phân loại dựa hoàn toàn vào cơ sở tri thức đáng lẽ rất quan trọng, bởi vì một câu hỏi được hỏi sẽ được phân loại theo cùng một cách dù tri thức mà hệ thống có là gì đi chăng nữa. Điều đó không có nghĩa là một câu hỏi sẽ có nhiều nghĩa khác nhau, do đó nó có nhiều câu trả lời khác nhau phụ thuộc vào ngữ cảnh của câu hỏi. Tuy nhiên, chúng ta có thể thấy rằng đó chỉ là một kết quả của một cách mà cơ sở tri thức hiểu câu hỏi. Và những câu trả lời được đưa ra có thể hoàn toàn khác từ một cơ sở tri thức khác. Ví dụ, cùng một câu hỏi được hỏi tới hai người khác nhau, chẳng hạn như, cùng một câu hỏi “Can I have a shot?” được hỏi tới một ông bác sĩ và một anh bồi bàn trong quán rượi. Câu hỏi sẽ được hiểu theo nhiều cách khác nhau, ông bác sĩ sẽ nghĩa là “tiêm thuốc”, còn người phục vụ sẽ nghĩ là “ly rượi”. Bởi vậy cùng một câu hỏi nhưng sẽ bị phân vào các lớp khác nhau giống như ví dụ trên. 4
  16. Chương 2. Phân tích câu hỏi trong các hệ thông hỏi đáp Nguyễn Quốc Đạt 2.1.2. Phân loại câu hỏi dựa trên loại câu trả lời Các câu hỏi chứa đựng thông tin liên quan đến loại câu trả lời mong muốn. Thông tin này rất quan trọng đối với hệ thống hỏi đáp, bởi vì nó xác định hình thức của một câu trả lời hợp lý và sẽ có những xử lý cần thiết để đưa ra câu trả lời đó cho câu hỏi. Câu trả lời của câu hỏi có thể có các loại sau: Không đƣợc xử lý (Unprocessed)- các câu trả lời chỉ đơn thuần là tìm kiếm trong miền tri thức để đưa ra thông tin được hỏi. Số - các câu hỏi mà có câu trả lời là một con số, chúng thường yêu cầu một số phép tính toán để thu được câu trả lời. Ví dụ, “số lượng sinh viên của lớp k50 khoa học máy tính là bao nhiêu?”. Những con số này không có nhiều ý nghĩa, vì thế một hệ thống hỏi đáp thông minh sẽ trả về một số kiểu đơn vị kèm theo câu trả lời. Câu hỏi đúng sai (Boolean) - đó là dạng câu hỏi mà muốn một câu trả lời là Đúng hoặc Không (Sai), yêu cầu xử lý cơ sở tri thức. Lời chỉ dẫn (Intructions) - một câu hỏi phức tạp, ví dụ như một danh sách các bước để hoàn thành một nhiệm vụ hoặc là một giải thích. Ví dụ, “Làm thế nào để đi từ thành phố Hà Nội vào thành phố Hồ Chí Minh?”, câu trả lời sẽ phụ thuộc vào ngữ cảnh, nhưng nó nên là một danh sách các bước giúp chúng ta có thể đi từ thành phố Hà Nội vào thành phố Hồ Chí Minh. Các bảng tóm tắt (Summaries) – dữ liệu thô được sắp xếp để đưa ra tất cả các thông tin liên quan thành một chủ đề đặc biệt. Ví dụ, “What does Nguyễn Quốc Đạt like?”, câu trả lời mong muốn sẽ là bảng tóm tắt của tất cả những dữ liệu về Nguyễn Quốc Đạt, mà cơ sở tri thức chứa đựng, có liên quan tới ngữ cảnh của câu hỏi. Xác định kiểu của câu trả lời mong muốn từ một câu hỏi chỉ bằng cách tìm kiếm các từ để hỏi: who, what, when.. là một nhiệm vụ hết sức cơ bản, dễ dàng phân tích và thực thi bởi vì số lượng từ để hỏi là giới hạn. 5
  17. Chương 2. Phân tích câu hỏi trong các hệ thông hỏi đáp Nguyễn Quốc Đạt 2.1.3. Giới thiệu các phƣơng pháp phân loại câu hỏi Định nghĩa các lớp của câu hỏi là bước đầu tiên trong việc phân loại. Bước xử lý tiếp theo là sửa đổi câu hỏi để tạo ra mẫu rõ ràng hơn. Ví dụ các câu hỏi dạng “Who is sb.?” luôn luôn hỏi về tiểu sử của một người mà không quan tâm đến tên của người xuất hiện trong câu hỏi. Nói cách khác, điều quan trọng ở đây là biết câu chứa đựng một thực thể PERSON. Chúng ta không quan tâm đến thực thể này. Vì thế chúng ta có thể thay đổi câu hỏi thành “Who is ?” mà không làm mất thông tin có ích để xác định loại câu hỏi. Có nhiểu phương pháp phân loại câu hỏi như sử dụng mô hình ngôn ngữ [23][17], hoặc các thuật toán học máy [24] như SVM (Support Vector Machine) [37], hoặc nguyên lý Entropy cực đại [16][41],… Phương pháp được áp dụng trong các hệ thống phân loại đầu tiên, và thường được kết hợp để sử dụng trong các hệ thống phân loại hiện nay là phương pháp phân loại sử dụng mô hình biểu thức chính quy [17]. 2.1.4. Phân loại câu hỏi sử dụng mô hình biểu thức chính quy 2.1.4.1. Giới thiệu về biểu thức chính quy Một biểu thức chính quy thường gọi một mẫu, tức là một biểu thức mà mô tả một tập các xâu. Chúng thường được dùng để đưa ra một biểu diễn ngắn gọn của một tập hợp mà không phải liệt kê các phần tử. Ví dụ mẫu [Dd][Aa]t sẽ biểu diễn một tập hợp gồm 4 xâu: “dat”, “DAt”, “dAt”, “Dat”. Hầu hết các hệ thống hình thức đều cung cấp các toán tử dưới đây để tạo ra các biểu thức chính quy: Lặp 0 hoặc nhiều lần của một biểu thức chính quy cho trước. Ví dụ: ab* sẽ * khớp với các xâu “a”, “ab”, “abb”, “abbb”, … Lặp ít nhất 1 lần của một biểu thức chính quy cho trước. Ví dụ biểu thức chính + quy ab+ sẽ khớp với ký tự „a‟ được theo sau ít nhất một ký tự „b‟, nghĩa là biểu thức này sẽ khớp với các xâu: “ab”, “abb”, “abbb”, … mà không khớp với xâu “a”. Lặp 0 hoặc 1 lần. Biểu thức chính quy: ab? Chỉ khớp với “a” hoặc “ab”. ? 6
  18. Chương 2. Phân tích câu hỏi trong các hệ thông hỏi đáp Nguyễn Quốc Đạt *?, +? Định tính của "*" và “+” là tham lam, có nghĩa chúng khớp với nhiều chữ nhất có thể có. Trong một số trường hợp, hoạt động như vậy là không mong muốn. Ví dụ, biểu thức chính quy sẽ khớp với cả xâu “title” mà không phải là “”. Thêm dấu ? vào đằng sau các toán tử: *, + chúng sẽ thực hiện khớp mẫu tối thiểu, có nghĩa là khớp với số lượng ít chữ nhất có thể. Khi sử dụng biểu thức để khớp trên xâu “title” thì biểu thức sẽ khớp với “” mà không phải là cả xâu. Cho phép lặp lại đúng m lần của biểu thức chính quy cho trước. Ví dụ, a{6} sẽ {m} khớp với đúng 6 ký tự ‗a‘ là “aaaaaa”. {m,n} Lặp từ m đến n lần của biểu thức chính quy cho trước. Ví dụ a{3,5} sẽ khớp với xâu có từ 3 đến 5 ký tự „a‟. Thiếu m thì sẽ lặp từ 0 đến n lần, còn nếu thiếu n thì sẽ lặp ít nhất là m lần. A | B là một biểu thức chính quy, với A và B là hai biểu thức chính quy bất kỳ. | Biểu thức này là một biểu thức chính quy chỉ khớp với A hoặc B. (dấu chấm) Khớp với tất cả các ký tự trừ ký tự xuống dòng „\n‟. "." (dấu mũ) Khớp từ ký tự đầu một xâu. ^ Khớp đến cuối xâu. $ Đây là một ký tự đặc biệt cho phép khớp các ký tự như „*‟, „?‟,…bằng cách \ thêm ký tự này vào đằng trước, \* sẽ khớp với „*‟. Được sử dụng để xác định một tập các ký tự. Các ký tự có thể được liệt kê [] riêng lẻ hoặc một dãy các ký tự có thể được nhận biết bằng cách cho hai ký tự và phân chia chúng bởi ‗-‘. Ví dụ, [bac] sẽ khớp với ba ký tự ‗a‟, „b‟, „c‟; [a-z] sẽ khớp với tất cả ký tự viết thường từ a đến z. Nếu ký tự ^ là ký tự đầu tiên trong tập các ký tự thì biểu thức sẽ khớp với bất cứ ký tự nào không nằm trong tập các ký tự đó. Ví dụ, [^5] sẽ khớp với bất cứ ký tự nào ngoại trừ „5‟ và [^^] sẽ khớp với bất cứ ký tự nào ngoại trừ „^‟. (biểu_thức) Khớp với bất cứ biểu thức chính quy nào bên trong hai dấu ngoặc đơn. Một số ký tự đặc biệt: 7
  19. Chương 2. Phân tích câu hỏi trong các hệ thông hỏi đáp Nguyễn Quốc Đạt Khớp với chữ số số bất kỳ, \d chính là [0-9]. \d Khớp với ký tự bất kỳ mà không phải là chữ số. \D \w chính là [a-zA-Z0-9] khớp với các ký tự viết thường, viết hoa và chữ số. \w \W \W chính là [^a-zA-Z0-9]. Khoảng trắng (space) \s Ký tự bất kỳ không phải là khoảng trắng, \S chính là [^\s]. \S Ví dụ áp dụng: biểu thức chính quy ]*>.*? sẽ khớp với các siêu liên kết. 8
  20. Chương 2. Phân tích câu hỏi trong các hệ thông hỏi đáp Nguyễn Quốc Đạt 2.1.4.2. Phân loại câu hỏi sử dụng biểu thức chính quy Ý tưởng cơ bản của hệ thống phân loại áp dụng mô hình biểu thức chính quy [17] là xác định lớp của câu hỏi dựa trên mẫu câu, bao gồm các từ để hỏi, dãy các từ nào đó và một số từ thể hiện lớp của các câu hỏi đặc biệt. Những mẫu đó được định nghĩa bởi biểu thức chính quy. Ví dụ, một câu hỏi bắt đầu với từ “where” là một câu hỏi về vị trí. Đối với từ “what ” chúng ta có thể tìm một số từ khóa để đưa ra xác định của chúng ta, chẳng hạn như trong câu hỏi “what” mà có các từ “agency”, “company” và “university” thì các câu hỏi đó liên quan đến một lớp tổ chức. Sau đây là một số biểu thức chính quy sử dụng cho các lớp nào đó của các câu hỏi: Các câu hỏi bắt đầu với từ “what” và hỏi về một thực thể con người: (actor | actresse? | attorne(y | ie) | teacher | …. senator)s? Các câu hỏi mà bắt đầu với từ “how” và hỏi về một thực thể đo lường: long | short | wide | far | close | big.* (diameter | radius) Hướng tiếp cận này rất hiệu quả và hữu ích trên một số các mẫu câu hỏi. Nhưng có nhiều trường hợp khó khăn khi sử dụng mẫu. Chẳng hạn như, câu trả lời cho câu hỏi “who” có thể là một người, một tổ chức, thậm chí là một địa điểm nào đó. Ví dụ: “Who is the largest producer of laptop computers in the world?”, chúng ta dễ dàng nhận thấy đây là một câu hỏi về một tổ chức nhưng hệ thống của chúng ta không xác định được chính xác khi chỉ dựa trên mẫu câu hỏi. Từ ví dụ trên, chúng ta cần có thêm các thông tin ngữ nghĩa trong câu hỏi. Hiện nay, thông tin ngữ nghĩa có thể được xác định bởi biểu thức chính quy thông qua văn phạm JAPE trong GATE [45]. Chúng ta sẽ tìm hiểu về GATE sâu hơn ở chương 3 và áp dụng thực tế được trình bày trong chương 4. Tuy nhiên, trong mô hình biểu thức chính quy hiện tại, các thông tin ngữ nghĩa lại không xuất hiện trong mô hình biểu thức chính quy. Có một cách để giải quyết vấn đề này là xây dựng một tập mẫu đầy đủ và chính xác hơn nhưng cách này tốn rất nhiều công sức của con người. Thay vì xây đựng một mô hình mẫu câu hỏi ngày càng lớn chúng ta hướng tới một phương pháp linh hoạt và tự động hơn: sử dụng mô hình ngôn ngữ [23][17]. 9
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

Đồng bộ tài khoản
2=>2