1. Trang chủ
  2. » Luận Văn - Báo Cáo

phương pháp phân tích câu hỏi cho hệ thống hỏi đáp tiếng việt

104 996 0

Đ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 104
Dung lượng 1,53 MB

Nội dung

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

Trang 1

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

Trang 2

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

Giảng viên hướng dẫn: TS Phạm Bảo Sơn

HÀ NỘI – 2009

Trang 3

To My Family

Trang 4

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

Trang 5

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

Trang 6

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

Trang 7

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

Trang 9

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

Trang 10

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

Trang 11

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

Trang 12

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

Trang 13

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

Trang 14

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

Trang 15

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

Trang 16

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

Trang 17

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 <PERSON>?” 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”

Trang 18

*?, +? Đị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 “<H1>title</H1>” mà

không phải là “<H1>” 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 “<H1>title</H1>” thì biểu thức sẽ khớp với “<H1>” mà không phải là cả xâu

{m} 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ẽ

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:

Trang 19

\d 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ố

\w \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 chính là [^a-zA-Z0-9]

\s 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]

Ví dụ áp dụng: biểu thức chính quy <a[^>]*>.*?</a> sẽ khớp với các siêu liên kết

Trang 20

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]

Trang 21

2.1.5 Phân loại câu hỏi sử dụng mô hình ngôn ngữ

Mô hình ngôn ngữ [23][17]là phân bố xác suất trên tập dữ liệu huấn luyện Chúng ta xây dựng một mô hình ngôn ngữ cho mỗi lớp của các câu hỏi mẫu (chúng ta đã xác định các lớp trong bước đầu tiên khi thực hiện phân loại) Khi có một câu hỏi mới , chúng ta sẽ tính xác suất , nghĩa là tính xác suất để thuộc vào lớp Và lớp của là thỏa mãn:

Vì đã được xác định, nên chúng ta chỉ cần xác định tính xác suất Giải thiết rằng một truy vấn bao gồm từ: Chúng ta có:

Thông thường, mô hình n-gram được tạo ra để đơn giản hóa phép tính:

Công thức trên có nghĩa là xác suất xuất hiện của một từ trong lớp chỉ phụ thuộc vào từ đằng trước

Mô hình ngôn ngữ hơn mô hình biểu thức chính quy ở tính linh hoạt Biểu thức chính quy được soạn thảo theo các luật cứng (hard-coded), nó cần phải sửa đổi để giải quyết những trường hợp mới Trong khi đó, mô hình ngôn ngữ có thể tự động sửa đổi Với một tập hợp dữ liệu huấn luyện lớn, sự thực thi của mô hình ngôn ngữ sẽ được cải thiện

Mô hình n-gram [23] là mô hình ngôn ngữ trong xử lý ngôn ngữ tự nhiên dựa trên thống kê, n-gram là một dãy con gồm phần tử liên tiếp nhau của một dãy các

phần từ cho trước Ví dụ với đầu vào : ―Ba học sinh đi đá bóng‖

“Ba”, “học”, “sinh”, “đi”, “đá”, “bóng” gọi là các 1-gram hay unigram

“Ba học”, “học sinh”, “sinh đi”, “đi đá”, “đá bóng” gọi là các 2-gram hay bigram

Trang 22

2.1.5.1 Phân lớp câu hỏi sử dụng mô hình unigram

Áp dụng mô hình unigram ta có:

Chúng ta cần ước lượng xác suất của một từ w xuất hiện trong lớp là

làm mịn để loại bỏ xác suất bằng 0 như sau:

Còn một cách khá phổ biến đó là sử dụng phương pháp làm mịn Good-Turing [13] Phương pháp làm mịn Good-Turing ước lượng xác suất cho các từ mà số lần xuất hiện nhỏ hoặc không xuất hiện, theo ước lượng Good-Turing, được tính theo công thức sau đây:

Trang 23

Gọi là cỡ của tập dữ liệu chuẩn, là số lượng các từ mà xuất hiện đúng lần trong Ta có , , được tính theo các công thức dước đây:

M là số lớn nhất thỏa mãn:

trong đó Và:

Trang 24

2.1.5.2 Phân lớp câu hỏi sử dụng mô hình bigram

Áp dụng mô hình bigram ta có công thức:

Chúng ta cần xác định xác suất có điều kiện

Gọi là số lượng các từ không bao giờ xuất hiện đằng sau trong lớp C, và S là mức độ làm mịn Khi đó, công thức làm mịn để loại bỏ xác suất 0 được chỉ ra trong 2 trường hợp dưới đây

Xét trường hợp 1: , khi đó xác suất cho tất cả ẩn là S Vì thế

Xét trường hợp 2: , khi đó tất cả các là ẩn Vì thế

là giống nhau cho mọi :

Sử dụng mô hình Back-Off [22], chúng ta cũng có thể loại bỏ các xác suất 0

Mô hình Back-Off được phát triển để dùng trong mô hình bigram thay cho ước lượng

Good-Turing Ý tưởng của mô hình Back-Off là chỉ cho phép tỉ lệ thuận với khi sự xuất hiện của trong lớp C lớn hơn một số nào đó Mặt khác chúng ta sử dụng để ước lượng Ta có công thức:

Trang 25

α là một sự trừ hao để trừ những xác suất của các bigram xuất hiện nhiều lần và chúng ta giảm tương tự như trong Good-Turing

β được lựa chọn để thỏa mãn công thức sau: , đây là một hàm của

K nên là một số nhỏ và chúng ta nhận thấy rằng K = 0 đưa ra sự thực hiện tốt nhất cho dữ liệu

2.1.5.3 Kết hợp hai mô hình unigram và bigram

Để có thể đánh giá chính xác hơn, chúng ta kết hợp 2 mô hình unigram và bigram với

nhau Công thức tính xác suất như sau:

Các giá trị khác nhau cho λ sẽ được kiểm tra, giá trị nào tốt nhất sẽ được chọn

Trang 26

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

Mặc dù mô hình ngôn ngữ [23][17] có vẻ hấp hơn nhưng nó vẫn có tồn tại những mặt không tốt Một trong những mặt đó là tính không ổn định.Ví dụ, chúng ta ko có sự thu hẹp nào trong kết quả phân loại của mô hình ngôn ngữ, hệ thống có thể phân loại câu

hỏi bắt đầu với từ “how many” như câu hỏi về người Trong khi đó, mẫu câu này rất

dễ dàng được phân loại chính xác bởi mô hình biểu thức chính quy.Vì thế chúng ta cố gắng kết hợp chúng để cải thiện sự thực thi Mô hình ngôn ngữ được thay đổi để sinh

ra một danh sách được xếp hạng của các lớp dựa trên độ tin cậy và mô hình biểu thức chính quy đưa ra tất cả các lớp phù hợp với mẫu câu hỏi Sự kết hợp như vậy sinh ra lớp với thứ hạng cao nhất được chấp nhận bởi mô hình biểu thức chính quy chính là kết quả cuối cùng Theo cách như vậy chúng ta có thể tránh được sai lầm

Trang 27

2.1.7 Phân loại câu hỏi sử dụng các thuật toán học máy

Sử dụng 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],… thuận lợi hơn các phương pháp thủ công vì

nhiều nguyên nhân Xây dưng bộ phân loại thủ công cho các câu hỏi là một nhiệm vụ thiếu hấp dẫn vì yêu cầu phân tích một số lượng rất lớn các câu hỏi Hơn nữa ánh xạ

các câu hỏi tới các lớp yêu cầu sử dụng các phần tử từ vựng (các từ đặc biệt) vì thế

một mô hình hóa của ánh xạ có thể sẽ rất lớn

Trong khi đó, phương pháp sử dụng các thuật toán học có thể chỉ cần một số lượng nhỏ các loại đặc trưng sau đó được mở rộng theo phương pháp hướng dữ liệu để

có khả năng thực hiện trên một lượng lớn các đặc trưng Ngoài ra, một hệ thống phân lớp sử dụng thuật toán học máy thì mềm dẻo và dễ tái sử dụng lại hơn một bộ phân lớp thủ công bởi vì nó có thể được huấn luyện theo một nguyên tắc phân loại mới chỉ trong thời gian ngắn

Sự khó khăn trong một bộ phân lớp thủ công là xem xét các biểu diễn khác nhau của cùng một câu hỏi Ví dụ:

Ai là sinh viên của lớp khoa học máy tính?

Lớp khoa học máy tính có những sinh viên nào?

Những sinh viên của lớp khoa học máy tính là ai?

Ai học lớp khoa học máy tính?

Các từ khác nhau, các cấu trúc cú pháp khác nhau có thể tạo khó khăn cho một

bộ phân lớp thủ công dựa trên một tập nhỏ các luật để sinh ra tất cả các ánh xạ cho cùng một loại câu trả lời

Mặc dù cần dữ liệu huấn luyện và cách chọn đặc trưng, nhưng với các thuật toán học tốt và các đặc trưng thích hợp, có thể không bị ảnh hưởng bởi số lượng lớn các đặc trưng ẩn, sẽ phân lớp chính xác các ví dụ nêu trên

Các đặc trưng thường được sử dụng trong các hệ thống phân lớp câu hỏi như:

Trang 28

Các đặc trưng từ vựng biểu diễn các từ của một câu hỏi được xem như là một đặc trưng Các đặc trưng từ vựng bao gồm: các từ thô, các từ viết thường, các từ gốc (trong tiến Anh là các từ được loại bỏ hậu tố) và từ được bổ ngữ

Sử dụng n-gram bên trong một đặc trưng

Hai từ đầu tiên hoặc cụm danh từ đầu tiên của câu hỏi được biểu diễn như là một đặc trưng

Các đặc trưng cú pháp biểu diễn các khía cạnh cú pháp của một câu hỏi gồm có:

các nhãn từ loại, hoặc cấu trúc cụm cú pháp không đệ quy (non-recursive

grammatical phrase structure)

Các thực thể có tên (Named Entity)

Danh sách các từ liên quan đến nhau về mặt ngữ nghĩa (Sematically Related Words

hay SRW) [18][19]

Hệ thống phân loại áp dụng thuật toán học sử dụng (một hoặc nhiều trong) các đặc trưng nêu trên để tạo ra một mô hình phân loại dựa trên các câu hỏi mẫu dùng để huấn luyện Sau đó, sử dụng mô hình phân loại để đưa ra lớp tương ứng của một câu hỏi mới

Trang 29

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

Một giao diện ngôn ngữ tự nhiên tới cơ sở dữ liệu (Natural Language Interface to

Database hay NLIDB) là một hệ thống cho phép người sử dụng truy cập thông tin

được lưu bên trong một cơ sở dữ liệu bằng cách cho một yêu cầu được biểu diễn dưới dạng ngôn ngữ tự nhiên

Phương pháp phân tích câu hỏi được áp dụng trong các hệ thống NLIDB đầu

tiên là sử dụng kỹ thuật so khớp mẫu, sau đó là các kỹ thuật phân tích cú pháp và hiện nay là các kỹ thuật phân tích ngữ nghĩa

2.2.1 Các hệ thống so khớp mẫu

Một số hệ thống NLIDB đầu tiên dựa vào kỹ thuật so khớp mẫu để trả lời câu hỏi của

người sử dụng Để minh họa một cách tiếp cận so khớp mẫu đơn giản, chúng ta xét một bảng cơ sở dữ liệu chứa đựng thông tin về các quốc gia sau đây:

Countries table

Một hệ thống so khớp mẫu nguyên thủy có thể sử dụng luật sau:

Mẫu: … “capital” … <country>

Hành động: Trả về Capital của hàng mà Country = <country>

Mẫu: “capital” “country”

Hành động: Trả về Capital và Country của mỗi hàng

Trang 30

Luật đầu tiên có nghĩa là: nếu câu hỏi của người sử dụng chứa đựng từ

“capital” được theo sau bởi tên của một quốc gia (một cái tên xuất hiện trong cột Country) thì hệ thống xác định vị trí cột chứa đựng tên quốc gia đó và đưa ra tên thủ

đô tương ứng

Cho ví dụ, với câu hỏi: “What is the capital of Italy?”, hệ thống sẽ sử dụng luật đầu tiên và trả về kết quả là “Rome” Một luật có thể cho phép hệ thống xử lý nhiều câu hỏi như: “Print the capital of Italy”, “Could you please tell me what is the capital

of Italy?”, … Trong tất cả các trường hợp đó, câu trả lời được sinh ra là như nhau

Theo luật thứ hai, bất kỳ câu hỏi của người sử dụng chứa đựng từ “capital” được theo sau bởi từ “country” hệ thống sẽ trả về tên thủ đô của tất cả các quốc gia có

trong cơ sở dữ liệu

Ví dụ, “what is the capital of each country?”, “List the capital of every

country?”, “Captial and country please.”, … sẽ được xử lý bởi luật thứ hai

Lợi thế chính của hướng tiếp cận so khớp mẫu là tính đơn giản của nó và hệ thống có thể dễ dàng thực thi Ngoài ra, một số hệ thống so khớp mẫu thường thành công trong việc đưa ra một câu trả lời hợp lý Các hệ thống so khớp mẫu không nhất thiết phải dựa trên các kỹ thuật đơn giản như được trình bày phía trên Một số hệ thống so khớp mẫu có khả năng thực hiện tốt trong những ứng dụng nhất định Tuy nhiên tính chất không sâu của phương pháp so khớp mẫu thường dẫn tới những kết quả sai

Trang 31

2.2.2 Các hệ thống dựa trên cú pháp

Trong các hệ thống dựa trên cú pháp, câu hỏi của người sử dụng được phân tích thành một cây cú pháp Cây cú pháp được ánh xạ trực tiếp tới một biểu thức trong một số ngôn ngữ truy vấn cơ sở dữ liệu Một ví dụ điển hình của hướng tiếp cận này là Lunar [35]

Các hệ thống dựa trên cú pháp sử dụng một văn phạm để mô tả những cấu trúc

cú pháp có thể có của các câu hỏi Ví dụ, hình 2-1 dưới đây đưa ra một số luật đơn giản trong một hệ thống giống như Lunar

S NP VP

NP Det N

Det “what” | “which”

N “rock” | “specimen” | “magnesium” | “radiation” | “light”

VP V N

V “contains” | “emits”

Hình 2-1: Văn phạm mô tả cấu trúc cú pháp câu

Các luật phía trên chỉ ra rằng một câu (S) chứa đựng một cụm danh từ (NP) được theo sau bởi một cụm động từ (VP), trong đó một cụm danh từ bao gồm một từ xác định (Determiner hay Det) được theo sau bởi một danh từ (N), từ xác định có thể

là “what” hoặc “which”, … Sử dụng những luật này, một hệ thống NLIDB có thể hiểu rằng cấu trúc cú pháp của câu hỏi “which rock contains magnesium?” như được chỉ ra

trong cây cú pháp ở hình 2-2 sau đây:

Hình 2-2: Cây cú pháp trong một hệ thống dựa trên cú pháp

Trang 32

Sau đó, hệ thống NLIDB có thể ánh xạ một cây cú pháp ở hình 2-2 thành truy

vấn cơ sở dữ liệu sau đây (X là một biến):

Ánh xạ của “which” là for_every X

Ánh xạ của ―rock‖ là (is_rock X)

Ánh xạ của một cụm danh từ (NP) là Det‟ N‟, trong đó Det‟ và N‟ lần lượt là các ánh xạ của từ xác định (Determiner) và danh từ Do đó, ánh xạ của cây con NP là

for_every X (is _rock X)

Ánh xạ của “contains” là contains

Ánh xạ của “magnesium” là magnesium

Ánh xạ của một cụm động từ (VP) là V‟ X N‟, trong đó V‟ là ánh xạ của động từ còn N‟ là ánh xạ của danh từ anh em với động từ Bởi vậy, ánh xạ của cây con VP

là (contains X magnesium)

Ánh xạ của S là (NP‟ VP‟; (printout X)), trong đó NP‟ và VP‟ lần lượt là ánh xạ của cây con NP và VP Vì thế, ánh xạ của câu trong ví dụ của chúng ta như được chỉ ra

phía trên

Các hệ thống NLIDB thường ghép nối tới các hệ thống cơ sở dữ liệu ứng dụng

cụ thể và các hệ thống cơ sở dữ liệu đó cung cấp các ngôn ngữ truy vấn cơ sở dữ liệu Thông thường rất khó khăn để đưa ra các luật ánh xạ, mà các luật này có thể ánh xạ

trực tiếp cây phân phân tích cú pháp tới một số biểu thức được biểu diễn trong một ngôn ngữ truy vấn cơ sở dữ liệu, ví dụ như SQL

Trang 33

2.2.3 Các hệ thống sử dụng văn phạm ngữ nghĩa

Vì những hạn chế của kỹ thuật phân tích dựa trên cú pháp, các hệ thống sau đó đã cải thiện bằng cách sử dụng văn phạm ngữ nghĩa Quá trình trả lời câu hỏi vẫn còn được thực hiện bằng cách phân tích câu hỏi thành cây cú pháp và ánh xạ cây cú pháp tới một truy vấn cơ sở dữ liệu Trong trường hợp này, sự khác biệt ở đây đó là các khái niệm ngữ nghĩa không nhất thiết phải tương ứng với các khái niệm cú pháp Một số luật ngữ nghĩa được chỉ ra trong hình 2-3 sau đây:

S → Specimen_question | Spacecraft_question

Specimen_question → Specimen Emits_info | Specimen Contains_ info

Specimen → “which rock” | “which specimen”

Emits_info → “emits” Radiation

Radiation → “radiation” | “light”

Contain_ info → “contains” Substance

Substance → “magnesium” | “calcium”

Spacecraft_question → Spacecraft Depart_info | Spacecraft Arrive_info

Spacecraft → “which vessel” | “which spacecraft”

Depart_info → “was launched on” Date | “departed on” Date

Arrive_info → “returns on” Date | “arrives on” Date

Hình 2-3: Một văn phạm ngữ nghĩa

Chúng ta có thể thấy rằng một khái niệm ngữ nghĩa (Substance, Radiation,

Specimen question) không tương ứng với các thành phần ngữ pháp (cụm danh từ, cụm động từ, câu)

Thông tin ngữ nghĩa về miền tri thức được gắn vào văn phạm Các loại văn phạm ngữ nghĩa thường được lựa chọn để tuân theo các ràng buộc về ngữ nghĩa

Trang 34

Ví dụ, các luật ngữ nghĩa phía trên không cho phép “light” theo sau động từ

“contains”, nhưng với các luật trong hình 2-1 thì cho phép “contains light”

Hình 2-4: Cây cú pháp-ngữ nghĩa trong một văn phạm ngữ nghĩa

Các khái niệm ngữ nghĩa cũng có thể được chọn để tạo thuận lợi cho việc ánh

xạ cây cú pháp ngữ nghĩa thành các đối tượng cơ sở dữ liệu

Cho ví dụ, trong cây cú pháp-ngữ nghĩa của câu “which rock contains

magnesium” như được chỉ ra trong hình 2-4, sự tồn tại của node Specimen_question

hướng hệ thống tìm kiếm các bảng cơ sở dữ liệu chứa đựng thông tin về “specimen” Tương tự như vậy, cây con Contains_info có thể hướng hệ thống tìm bảng

Contains_info và xác định hàng mà cột Substance là “magnesium”

Nguyen K và Le H [26] giới thiệu một hệ thống NLIDB trả lời câu hỏi tiếng Việt dựa trên văn phạm ngữ nghĩa Hệ thống của họ gồm 2 module chính là QTRAN và

TGEN QTRAN (Query Tranlator) chuyển một câu hỏi ngôn ngữ tự nhiên tới thành

một truy vấn SQL còn TGEN (Text Generator) sinh ra câu trả lời dựa trên bảng kết quả truy vấn QTRAN sử dụng một văn phạm phi ngữ cảnh hạn chế để phân tích câu hỏi của người sử dụng thành cây cú pháp thông qua thuật toán CYK (Cocke-Younger-

Kasami) Sau đó, cây cú pháp được chuyển thành truy vấn SQL bằng cách sử dụng một

từ điển ánh xạ, nhằm xác định tên của các thuộc tính trong tiếng Việt, tên của các thuộc tính trong cơ sở dữ liệu và tên của thực thể lưu trữ các thuộc tính này Văn phạm ngữ nghĩa được các tác giả tạo ra thông qua phân tích một lượng lớn các câu hỏi có

Trang 35

cách biễn đa dạng, chứa một tập các luật ánh xạ các cấu trúc ngữ nghĩa và cú pháp của các câu hỏi của người sử dụng Sau đây là một số luật được dùng trong văn phạm ngữ nghĩa mà hệ thống sử dụng:

1 <conditions> <selection condition><conjunction><conditions>

2 <conditions> <joint condition><conditions>

3 <joint condition> <source> <negative> <SR>

4 <joint condition> <SR><source>

5 <negative> „chưa not yet /không no ‟

6 <joint condition> <negative> <SR><source>

7 <source> <quantity><entity><conditions>

8 <source> <values>

9 <quantity> <stress word><number>

Hình 2-5 dưới đây là 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?” mà hệ thống của Nguyen K và Le H [26] tạo

ra:

Trang 36

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?”

Một số hệ thống sử dụng các văn phạm ngữ nghĩa khác là Planes[5], Eufid [34],

hệ thống dựa trên cấu trúc ngữ nghĩa [25] …

Văn phạm ngữ nghĩa được giới thiệu như là một hệ phương pháp kỹ thuật cho phép tri thức ngữ nghĩa có thể dễ dàng được đưa vào trong hệ thống Tuy nhiên, khi các văn phạm ngữ nghĩa chứa đựng tri thức về một miền đặc biệt nào đó thì hệ thống dựa trên hướng tiếp cận này rất khó có thể tái sử dụng trong các miền tri thức khác Điều này có nghĩa là một văn phạm ngữ nghĩa mới cần được tạo ra bất cứ khi nào hệ

thống NLIDB được sử dụng cho miền tri thức khác

Trang 37

Ví dụ, các luật ngữ nghĩa trong hình 2-3 là hoàn toàn vô dụng trong một ứng dụng mà cơ sở dữ liệu chứa đựng thông tin về nhân viên và tiền lương Trái lại, một số thông tin của cú pháp trong phần 2.2, ví dụ như một câu chứa đựng một cụm danh từ được theo sau bởi cụm động từ, vẫn còn được sử dụng trong một ứng dụng mà các câu hỏi liên quan tới nhân viên và tiền lương của họ

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

Sự phát triển của các kỹ thuật phân tích câu hỏi không song song với sự phát triển của các hệ thống hỏi đáp Các hệ thống trả lời câu hỏi phát triển từ các hệ thống miền đóng (giải quyết những câu hỏi về một lĩnh vực nhất định) cho đến những hệ thống miền mở (giải quyết những câu hỏi về tất cả mọi thứ), từ những hệ thống sử dụng cơ

sở dữ liệu (NLIDB) cho đến những hệ thống sử dụng cơ sở tri thức (web ngữ nghĩa,

Ontology) Tuy các kỹ thuật được trình bày ở phần 2.2 được sử dụng trong các hệ

thống NLIDB, nhưng chúng lại được phát triển, mở rộng và áp dụng trên hầu hết các

loại hệ thống trả lời câu hỏi Phương pháp phân tích cú pháp của câu hỏi được dùng

trong cả các hệ thống miền mở như Falcon [10] hoặc [11] bằng cách sử dụng gán nhãn

từ loại (Part-of-Speech Tagging hay POS Tagging) Phương pháp so khớp mẫu được

dùng trong các hệ thống miền mở như trong [33][36]

Thời gian gần đây, phương pháp sử dụng chú giải ngữ nghĩa đã đem lại hiệu quả cao trong phân tích câu hỏi Hệ thống xử lý ngôn ngữ tự nhiên xây dựng các chú

giải được biết đến và được sử dụng nhiều nhất là GATE [40][45] (General

Architecture for Text Engineering) GATE được sử dụng trong rất nhiều hệ thống trả

lời câu hỏi như: Aqualog [20][21], QuestIO [5],…

Hệ thống Aqualog được giới thiệu bởi Vanessa Lopez và các tác giả khác là một

hệ thống trả lời câu hỏi được đánh giá rất cao trong thời điểm hiện nay Aqualog lấy các

câu hỏi được biểu diễn trong ngôn ngữ tự nhiên và một Ontology như đầu vào, sau đó trả về trả lời thu được từ những đánh dấu ngữ nghĩa phù hợp với Ontology có sẵn

Kiến trúc Aqualog có thể được mô tả như một mô hình thác nước, trong đó câu hỏi ngôn ngữ tự nhiên thông qua thành phần ngôn ngữ (Linguistic Component) được

Trang 38

chuyển một tập các các biểu diễn dựa trên bộ ba trung gian được hiểu như là

Query-Triple Sau đó, thành phần phục vụ tương tự quan hệ (Relation Similarity Service) lấy

đầu vào là các Query-Triple và xử lý chúng để sinh ra các truy vấn phù hợp với Ontology được gọi là các Onto-Triple Kiến trúc của Aqualog được chỉ ra trong hình

2-6 dưới đây:

Hình 2-6: Kiến trúc của Aqualog

Aqualog thực hiện phân tích ngữ nghĩa và cú pháp của câu hỏi thông qua việc

sử dụng các tài nguyên xử lý của GATE [40][45] cho tách từ, phân đoạn câu, gán nhãn

từ loại, cụm động từ trong thành phần ngôn ngữ Khi một câu hỏi được hỏi, nhiệm vụ của thành phần ngôn ngữ là chuyển từ ngôn ngữ tự nhiên tới định dạng bộ ba biểu diễn

trung gian Query-Triple Một Query-Triple có dạng: <thuật ngữ chung, mối quan hệ,

từ thứ hai>, trong đó, “mối quan hệ” có thể thiếu tùy thuộc vào kiểu của câu hỏi Đầu

ra khi sử dụng GATE là một tập các các chú giải ngữ nghĩa được liên kết với câu hỏi đầu vào Thông qua việc sử dụng văn phạm JAPE (Java Annotations Pattern Engine) [40][45], AquaLog mở rộng tập các chú giải được trả về bởi GATE, bằng cách nhận

biết các thuật ngữ, các mối quan hệ, và kiểu của các câu hỏi

Một số hệ thống khác không sử dụng GATE phân tích câu hỏi nhưng vẫn dựa trên chú giải ngữ nghĩa là: START [14][15], PIQASso [2],…

Trang 39

Chương 3 GATE

3.1 Giới thiệu GATE

GATE [40][45] là một kiến trúc, môi trường phát triển và là framework cho việc xây

dựng các hệ thống xử lý ngôn ngữ con người Nó đã được phát triển tại trường đại học

Sheffield từ năm 1995, và được sử dụng cho rất nhiều dự án nghiên cứu và phát triển,

bao gồm trích chọn thông tin (Information Extraction hay IE) cho nhiều ngôn ngữ, cho nhiều nhiệm vụ và nhiều khách hàng Hình 3-1 dưới đây mô tả kiến trúc của GATE

Hình 3-1: Kiến trúc của GATE

Trang 40

GATE có 3 kiểu thành phần chính:

Tài nguyên ngôn ngữ (Language Resources) chứa một số loại dữ liệu ngôn ngữ

như: các tài liệu, các tập dữ liệu (corpus), các ontology và cung cấp những dịch vụ cho việc truy cập nó

Tài nguyên xử lý (Processing Resources) là những nguồn mà đặc trưng của chúng

chủ yếu là theo chưong trình hoặc thuật toán như gán nhãn từ loại hay tách từ

Tài nguyên trực quan (Visual Resources) là thành phần đồ hoạ hiển thị trên giao

diện người dùng

Mối quan hệ ngữ nghĩa được GATE xử lý thông qua chú giải Các chú giải ngữ nghĩa (Annotation) được lưu trữ trong các cấu trúc được gọi là các tập chú giải Các

tập chú giải cấu thành các tầng độc lập của chú giải trên toàn bộ nội dung của văn bản

Một chú giải được định nghĩa bởi (hình 3-2):

Điểm bắt đầu (Start) là một ví trí trong nội dung tài liệu

Điểm kết thúc (End) là một vị trí trong nội dung tài liệu

Kiểu (Type) là một giá trị String

Một tập các đặc trưng (Features) được biểu diễn giống như các cặp thuộc tính-giá trị Mỗi một đặc trưng (kiểu String) sẽ có một giá trị (kiểu đối tượng trong Java)

tương ứng

ID là một giá trị Integer ID của các chú giải là duy nhất trong một tập chú giải

Ngày đăng: 18/02/2014, 00:07

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
[1]. Androutsopoulos I., Ritchie G. D., Thanisch P. Natural Language Interfaces to Databases - An Introduction. In Natural Language Engineering, vol 1, part 1, pages 29—81, 1995 Sách, tạp chí
Tiêu đề: Natural Language Interfaces to Databases - An Introduction
[2]. Antonio C., Francesco F., Maria S., Ro T. PIQASso: Pisa question answering system. In TREC 2001 Sách, tạp chí
Tiêu đề: PIQASso: Pisa question answering system
[3]. Bird S., Liberman M. A Formal Framework for Linguistic Annotation. Technical Report MS-CIS-99-01, Department of Computer and Information Science,University of Pennsylvania, 1999 Sách, tạp chí
Tiêu đề: A Formal Framework for Linguistic Annotation
[4]. Clark S., Steedman M., Curran R. Object-Extraction and Question-Parsing using CCG. Proceedings of the SIGDAT Conference on Empirical Methods in Natural Language Processing, pp.111-118, 2004 Sách, tạp chí
Tiêu đề: Object-Extraction and Question-Parsing using CCG
[5]. Damljanovic D., Tablan V., Bontcheva K. A text-based query interface to owl ontologies. In 6th Language Resources and Evaluation Conference (LREC), Marrakech, Morocco, ELRA, May, 2008 Sách, tạp chí
Tiêu đề: A text-based query interface to owl ontologies
[6]. Das S., Charkrabarti S. Issues in Question Answering. M.Tech. Seminar Report Sách, tạp chí
Tiêu đề: Issues in Question Answering
[7]. Filipe P.P., Mamede N.J. Databases and natural language interfaces. In JISBD 2000, pages 321–332, 2000 Sách, tạp chí
Tiêu đề: Databases and natural language interfaces
[8]. Frumkina R. M., Mikhejev A. V. Meaning and Categorization. New York: Nova Science Publishers, Inc, 1996 Sách, tạp chí
Tiêu đề: Meaning and Categorization
[9]. Grishman R. TIPSTER Architecture Design Document Version 2.3. Technical report, DARPA, 1997 Sách, tạp chí
Tiêu đề: TIPSTER Architecture Design Document Version 2.3
[10]. Harabagiu M., Moldovan I., Pasca M., Mihalcea R., Surdeanu M., Bunescu C., Girju R., Rus V., Morarescu P. FALCON: Boosting Knowledge for Answer Engines. TREC 2000 Sách, tạp chí
Tiêu đề: FALCON: Boosting Knowledge for Answer Engines
[11]. Harabagiu H., Maiorano J., Pasca A. Open-Domain Textual Question Answering Techniques. Natural Language Engineering, 1(1):1-38, 2003 Sách, tạp chí
Tiêu đề: Open-Domain Textual Question Answering Techniques
[12]. Hirschman L., Gaizauskas R. Natural Language Question Answering: The View from Here. Natural Language Engineering. 2001 Sách, tạp chí
Tiêu đề: Natural Language Question Answering: The View from Here
[14]. Katz B., Borchardt G., Felshin S. Natural Language Annotations for Question Answering. Proceedings of the 19th International FLAIRS Conference (FLAIRS 2006), May 2006 Sách, tạp chí
Tiêu đề: Natural Language Annotations for Question Answering
[15]. Katz B., Borchardt G., Felshin S. Syntactic and Semantic Decomposition Strategies for Question Answering from Multiple Resources. Proceedings of the AAAI 2005 Workshop on Inference for Textual Question Answering, 35-41, July 2005 Sách, tạp chí
Tiêu đề: Syntactic and Semantic Decomposition Strategies for Question Answering from Multiple Resources
[16]. Kocik K. Question classification using maximum entropy models. Honours thesis, University of Sydney, 2004 Sách, tạp chí
Tiêu đề: Question classification using maximum entropy models
[17]. Li W. Question Classification Using Language Modeling. In CIIR Technical Report: University of Massachusetts, Amherst, 2002 Sách, tạp chí
Tiêu đề: Question Classification Using Language Modeling
[18]. Li X., Roth D. Learning question classifiers: the role of semantic information. Natural Language Engineering, v.12 n.3, p.229-249, 9- 2006 Sách, tạp chí
Tiêu đề: Learning question classifiers: the role of semantic information
[19]. Li X., Roth D. Learning Question Classifiers. In Proceedings of the 19th International Conference on Computational Linguistics (COLING'02), 2002 Sách, tạp chí
Tiêu đề: Learning Question Classifiers
[20]. Lopez V., Uren V., Motta E., Pasin M. AquaLog: An ontology-driven question answering system for organizational semantic intranets. Journal of Web Semantics, 5, 2, pp.72-105, Elsevier, 2007 Sách, tạp chí
Tiêu đề: AquaLog: An ontology-driven question answering system for organizational semantic intranets
[21]. Lopez V., Motta E. PowerAqua: An Ontology Question Answering System for the Semantic Web. Workshop: Ontologias y Web Semantiica 2005 Sách, tạp chí
Tiêu đề: PowerAqua: An Ontology Question Answering System for the Semantic Web

HÌNH ẢNH LIÊN QUAN

Hình 2-2: Cây cú pháp trong một hệ thống dựa trên cú pháp - phương pháp phân tích câu hỏi cho hệ thống hỏi đáp tiếng việt
Hình 2 2: Cây cú pháp trong một hệ thống dựa trên cú pháp (Trang 31)
Hình 2-3: Một văn phạm ngữ nghĩa - phương pháp phân tích câu hỏi cho hệ thống hỏi đáp tiếng việt
Hình 2 3: Một văn phạm ngữ nghĩa (Trang 33)
Hình 2-4: Cây cú pháp-ngữ nghĩa trong một văn phạm ngữ nghĩa - phương pháp phân tích câu hỏi cho hệ thống hỏi đáp tiếng việt
Hình 2 4: Cây cú pháp-ngữ nghĩa trong một văn phạm ngữ nghĩa (Trang 34)
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 - phương pháp phân tích câu hỏi cho hệ thống hỏi đáp tiếng việt
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 (Trang 36)
Ontology được gọi là các Onto-Triple. Kiến trúc của Aqualog được chỉ ra trong hình - phương pháp phân tích câu hỏi cho hệ thống hỏi đáp tiếng việt
ntology được gọi là các Onto-Triple. Kiến trúc của Aqualog được chỉ ra trong hình (Trang 38)
Hình 3-1: Kiến trúc của GATE - phương pháp phân tích câu hỏi cho hệ thống hỏi đáp tiếng việt
Hình 3 1: Kiến trúc của GATE (Trang 39)
Hình 3-2: Chú giải ngữ nghĩa trong GATE - phương pháp phân tích câu hỏi cho hệ thống hỏi đáp tiếng việt
Hình 3 2: Chú giải ngữ nghĩa trong GATE (Trang 41)
Kiến trúc chung (trong hình 4-1) của một hệ thống hỏi đáp gồm 2 thành phần đó là thành  phần  phân  tích  câu  hỏi  ngôn  ngữ  tự  nhiên  (Natural  Language  Question  Analysis) và  thành  phần  tìm  kiếm  câu  trả  lời (Answer  Retrieval) - phương pháp phân tích câu hỏi cho hệ thống hỏi đáp tiếng việt
i ến trúc chung (trong hình 4-1) của một hệ thống hỏi đáp gồm 2 thành phần đó là thành phần phân tích câu hỏi ngôn ngữ tự nhiên (Natural Language Question Analysis) và thành phần tìm kiếm câu trả lời (Answer Retrieval) (Trang 49)
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 - phương pháp phân tích câu hỏi cho hệ thống hỏi đáp tiếng việt
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 (Trang 50)
Hình 4-3: Đầu ra của module phân tích câu hỏi tiếng Việt - phương pháp phân tích câu hỏi cho hệ thống hỏi đáp tiếng việt
Hình 4 3: Đầu ra của module phân tích câu hỏi tiếng Việt (Trang 52)
xâu ―word” và string tương ứng với xâu ký tự biểu diễn từ tiếng Việt. Hình 4-4 - phương pháp phân tích câu hỏi cho hệ thống hỏi đáp tiếng việt
x âu ―word” và string tương ứng với xâu ký tự biểu diễn từ tiếng Việt. Hình 4-4 (Trang 53)
Hình 4-5: Một số từ để hỏi đã đƣợc xác định lại bằng cách sử dụng JAPE - phương pháp phân tích câu hỏi cho hệ thống hỏi đáp tiếng việt
Hình 4 5: Một số từ để hỏi đã đƣợc xác định lại bằng cách sử dụng JAPE (Trang 55)
Hình 4-6: Kiểu chú giải TokenVn cho những từ đặc biệt - phương pháp phân tích câu hỏi cho hệ thống hỏi đáp tiếng việt
Hình 4 6: Kiểu chú giải TokenVn cho những từ đặc biệt (Trang 58)
Hình 4-7: Kiểu chú giải TokenVn sau khi đã thay đổi giá trị của đặc trƣng category - phương pháp phân tích câu hỏi cho hệ thống hỏi đáp tiếng việt
Hình 4 7: Kiểu chú giải TokenVn sau khi đã thay đổi giá trị của đặc trƣng category (Trang 59)
Hình 4-8: Cụm danh từ trong một số câu hỏi tiếng Việt - phương pháp phân tích câu hỏi cho hệ thống hỏi đáp tiếng việt
Hình 4 8: Cụm danh từ trong một số câu hỏi tiếng Việt (Trang 60)
Bảng 4-1: Cấu tạo của cụm danh từ trong câu hỏi tiếng Việt - phương pháp phân tích câu hỏi cho hệ thống hỏi đáp tiếng việt
Bảng 4 1: Cấu tạo của cụm danh từ trong câu hỏi tiếng Việt (Trang 61)
Hình 4-9: Từ mang ý nghĩa so sánh trong câu hỏi tiếng Việt - phương pháp phân tích câu hỏi cho hệ thống hỏi đáp tiếng việt
Hình 4 9: Từ mang ý nghĩa so sánh trong câu hỏi tiếng Việt (Trang 63)
với các đặc trưng type và category như hình 4-11 sau đây: - phương pháp phân tích câu hỏi cho hệ thống hỏi đáp tiếng việt
v ới các đặc trưng type và category như hình 4-11 sau đây: (Trang 65)
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à - phương pháp phân tích câu hỏi cho hệ thống hỏi đáp tiếng việt
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à (Trang 66)
Hình 4-13: Kiểu chú giải Moiquanhe - phương pháp phân tích câu hỏi cho hệ thống hỏi đáp tiếng việt
Hình 4 13: Kiểu chú giải Moiquanhe (Trang 68)
Hình 4-14: Một ví dụ về kiểu chú giải Tudehoi - phương pháp phân tích câu hỏi cho hệ thống hỏi đáp tiếng việt
Hình 4 14: Một ví dụ về kiểu chú giải Tudehoi (Trang 69)
Hình 4-15: Ví dụ về bộ biểu diễn trung gian của câu hỏi - phương pháp phân tích câu hỏi cho hệ thống hỏi đáp tiếng việt
Hình 4 15: Ví dụ về bộ biểu diễn trung gian của câu hỏi (Trang 75)
Hình 4-16: Một ví dụ về kiểu chú giải Maucauhoi - phương pháp phân tích câu hỏi cho hệ thống hỏi đáp tiếng việt
Hình 4 16: Một ví dụ về kiểu chú giải Maucauhoi (Trang 83)
như hình 4-17 sau đây: (Unknterm, (QUWho, ?,là sinh viên, lớp khoa học máy tính)). - phương pháp phân tích câu hỏi cho hệ thống hỏi đáp tiếng việt
nh ư hình 4-17 sau đây: (Unknterm, (QUWho, ?,là sinh viên, lớp khoa học máy tính)) (Trang 84)
Hình 4-18: Đầu ra của một câu hỏi có cấu tạo dạng And - phương pháp phân tích câu hỏi cho hệ thống hỏi đáp tiếng việt
Hình 4 18: Đầu ra của một câu hỏi có cấu tạo dạng And (Trang 85)
(trong hình 4-19), câu hỏi này thuộc về lớp ManyClass có “Dạng cấu tạo câu hỏi” và “Dạng  cấu  tạo  bộ  biểu  diễn”  nhận  giá  trị  là “AffirmNeg_3Term”  hồn  tồn  có  thể  - phương pháp phân tích câu hỏi cho hệ thống hỏi đáp tiếng việt
trong hình 4-19), câu hỏi này thuộc về lớp ManyClass có “Dạng cấu tạo câu hỏi” và “Dạng cấu tạo bộ biểu diễn” nhận giá trị là “AffirmNeg_3Term” hồn tồn có thể (Trang 86)
Nghệ?” thỏa mãn tiêu chí 2 như hình 5-2 dưới đây: - phương pháp phân tích câu hỏi cho hệ thống hỏi đáp tiếng việt
gh ệ?” thỏa mãn tiêu chí 2 như hình 5-2 dưới đây: (Trang 89)
Hình 5-2: Kết quả phân tích đúng - câu hỏi thỏa mãn tiêu chí 2 - phương pháp phân tích câu hỏi cho hệ thống hỏi đáp tiếng việt
Hình 5 2: Kết quả phân tích đúng - câu hỏi thỏa mãn tiêu chí 2 (Trang 89)
khoa học máy tính của” không thỏa mãn yêu cầu. Hình 5-4 sau đây đưa ra kết quả - phương pháp phân tích câu hỏi cho hệ thống hỏi đáp tiếng việt
khoa học máy tính của” không thỏa mãn yêu cầu. Hình 5-4 sau đây đưa ra kết quả (Trang 90)
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  - phương pháp phân tích câu hỏi cho hệ thống hỏi đáp tiếng việt
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 (Trang 96)

TỪ KHÓA LIÊN QUAN

TRÍCH ĐOẠN

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

TÀI LIỆU LIÊN QUAN

w