Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 23 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
23
Dung lượng
628,88 KB
Nội dung
A Vietnamese Text-based Conversational Agent Nguyen Quoc Dai Faculty of Information Technology University of Engineering and Technology Vietnam National University, Hanoi Supervised by Dr Pham Bao Son A thesis submitted in fulfillment of the requirements for the degree of Master of Science in Computer Science November 2011 Table of Contents Introduction 1.1 A Semantic Approach for Question Analysis 1.2 A Vietnamese Text-based Conversational Agent 1.3 Thesis Organisation 1 Literature review 2.1 Text-based conversational agents 2.1.1 Using keywords for pattern matching 2.1.2 Using the sentence similarity measure for pattern matching 2.2 FrameScript Scripting Language 2.3 Question answering systems 4 12 Our Question Answering System Architecture 3.1 Vietnamese Question Answering System 3.1.1 Natural language question analysis component 3.1.1.1 Intermediate representation of an input question 3.1.1.2 Question analysis 3.1.2 Answer retrieval component 3.2 Using FrameScript for question analysis 3.2.1 Preprocessing module 3.2.2 Syntactic analysis module 3.2.3 Semantic analysis module 15 15 16 16 17 18 19 19 20 22 Text-based Conversational Agent for Vietnamese 24 4.1 Overview of architecture 24 4.2 Determining separate contexts 25 4.3 Identifying hierarchical contexts 27 vi TABLE OF CONTENTS vii Evaluation and Discussion 5.1 Experimental results for Vietnamese text-based conversational agent 5.2 Question Analysis for English 5.3 Discussion 29 Conclusion 34 A Scripting patterns for English question analysis 36 B Definitions of question-class types 38 C Definitions of question-structures 40 29 31 33 Tác tử hội thoại dựa văn cho tiếng Việt Nguyễn Quốc Đại Lớp K16 Khoa học máy tính Khoa Cơng nghệ thơng tin Đại học Công nghệ Đại học Quốc gia Hà Nội dainq@vnu.edu.vn Tiến sĩ Phạm Bảo Sơn Khoa Công nghệ thông tin Đại học Công nghệ Đại học Quốc gia Hà Nội sonpb@vnu.edu.vn Tóm tắt: Đầu tiên, luận văn mơ tả tổng quan kiến trúc hệ thống hỏi đáp tiếng Việt chúng tôi, chi tiết đề xuất phương pháp dựa luật để lấy biểu diễn trung gian câu hỏi trực tiếp bên luật ngữ pháp Quan trọng hơn, luận văn tập trung vào việc giới thiệu tác tử hội thoại dựa văn cho tiếng Việt miền tri thức cụ thể Đóng góp nhằm hướng người dùng vào ngữ cảnh hội thoại để cung cấp thông tin liên quan tới phát biểu người dùng Thêm nữa, hệ thống hỏi đáp trả lời câu hỏi người dùng việc sử dụng tác tử hội thoại thu nhận thông tin cần thiết để hỗ trợ hệ thống hỏi đáp việc đưa câu trả lời Các kết thực nghiệm đủ triển vọng nơi mà tác tử hội thoại cho tiếng Việt chúng tơi đạt đươc đánh giá tích cực dựa mức độ hài lòng người dùng khả việc sử dụng kiến trúc để áp dụng vào miền Ngoài ra, phương pháp cho phân tích câu hỏi chúng tơi thu kết khả quan tiếng Anh phương pháp dễ dàng thích hợp cho ngơn ngữ Từ khóa: Tác tử hội thoại dựa văn bản; Hệ thống hỏi đáp; Phân tích câu hỏi; CƠNG TRÌNH KHOA HỌC Dai Quoc Nguyen, Dat Quoc Nguyen and Son Bao Pham A Vietnamese Text-based Conversational Agent In Proc of The 25th International Conference on Industrial, Engineering & Other Applications of Applied Intelligent Systems, Springer-Verlag LNAI, pp 699-708 Dai Quoc Nguyen, Dat Quoc Nguyen and Son Bao Pham A Semantic Approach for Question Analysis In Proc of The 25th International Conference on Industrial, Engineering & Other Applications of Applied Intelligent Systems, Springer-Verlag LNAI, pp 156-165 Dat Quoc Nguyen, Dai Quoc Nguyen and Son Bao Pham Systematic Knowledge Acquisition for Question Analysis In Proc of the 8th International Conference on Recent Advances in Natural Language Processing (RANLP 2011), pp 406-412 Dai Quoc Nguyen, Dat Quoc Nguyen, Khoi Trong Ma and Son Bao Pham Automatic Ontology Construction from Vietnamese text In Proceedings of the 7th International Conference on Natural Language Processing and Knowledge Engineering (NLPKE’11), IEEE CS Dat Quoc Nguyen, Dai Quoc Nguyen, Son Bao Pham and Dang Duc Pham Ripple Down Rules for Part-Of-Speech Tagging In Proc of 12th International Conference on Intelligent Text Processing and Computational Linguistics (CICLING 2011), Springer-Verlag LNCS, part I, pp 190-201 Dai Quoc Nguyen, Dat Quoc Nguyen and Son Bao Pham A Vietnamese question answering system In Proceedings of the 2009 International Conference on Knowledge and Systems Engineering (KSE 2009) , IEEE CS, pp 26–32 I GIỚI THIỆU Sự phát triển mạnh mẽ thông tin trực tuyến với cơng cụ tìm kiếm thơng tin nhằm để trích thông tin mong muốn Điều đưa thách thức việc xây dựng hệ thống tìm kiếm thơng tin tác tử hội thoại giao tiếp với người Mục đích tác tử hội thoại hỗ trợ ứng dụng tổ chức doanh nghiệp, giáo dục, chăm sóc sức khỏe, phủ hoạt động giải trí Một dạng tác tử hội thoại dựa giao diện văn Một tác tử hội thoại dựa văn chương trình cho phép tương tác hội thoại người máy cách sử dụng ngôn ngữ tự nhiên thông qua văn Tác tử hội thoại dựa văn sử dụng tập lệnh (script) tổ chức vào ngữ cảnh gồm luật cấu trúc phân cấp Các luật bao gồm mẫu đáp ứng kết hợp, nơi đầu vào so khớp dựa vào mẫu đáp ứng tương ứng đầu gửi tới người dùng Gần đây, việc xây dựng tác tử hội thoại dựa văn phát triển theo hai cách tiếp cận bao gồm việc sử dụng từ khóa (ELIZA [1], ALICE [2], ProBot [3]) sử dụng độ đo giống [4][5] cho việc so khớp mẫu Mỗi cách tiếp cận có ưu nhược điểm riêng, thực việc sử dụng từ khóa đem lại kết khả quan cho việc thu nhận tri thức Các hệ thống hỏi đáp nhằm đưa câu trả lời xác cho câu hỏi người dùng Bước mà hệ thống hỏi đáp phải thực chuyển câu hỏi đầu vào thành biểu diễn trung gian Gần tất nghiên cứu công bố sử dụng phương pháp dựa luật để thực việc chuyển đổi hệ thống hỏi đáp Tuy nhiên, phương pháp dựa luật có việc tạo luật tay cơng sức tốn nhiều thời gian Do đó, luận văn này, đề xuật phương pháp dựa luật để thu lấy biểu diễn trung gian câu hỏi cách trực tiếp bên luật thông qua ngôn ngữ FrameScript [8] Quan trọng hơn, luận văn này, đồng thời giới thiệu kiến trúc tác tử hội thoại dựa văn cho tiếng Việt miền tri thức cụ thể Hệ thống nhằm hướng người dùng vào phân cấp ngữ cảnh hội thoại dựa vào script gồm luật dùng ngôn ngữ [8] Thêm nữa, tác tử hội thoại dựa văn chúng tơi tích hợp với hệ thống hỏi đáp tiếng Việt để hình thành hệ thống chung mà hệ thống hỏi đáp xem phần mặt trước (front-end) tác tử hội thoại xem phần mặt sau Mục đích chúng tơi khơng cung cấp thông tin liên quan tới phát biểu người dùng mà thu nhận thơng tin cần thiết để giúp đỡ hệ thống hỏi đáp đưa câu trả lời Luận văn gồm phần Trong phần II, cung cấp nghiên cứu liên quan mô tả kiến trúc hệ thống hỏi đáp tiếng Việt chúng tơi với việc trình bày phương pháp cho việc chuyển đổi câu hỏi ngôn ngữ tự nhiên vào biểu diễn trung gian phần III Chúng đưa kiến trúc tác tử hội thoại dựa văn cho tiếng Việt phần IV Chúng mô tả thực nghiệm phần V, kết luận trình bày phần VI II CÁC NGHIÊN CỨU LIÊN QUAN A Tác tử hội thoại dựa văn ELIZA [1] tác tử hội thoại dựa văn dùng so khớp mẫu đơn giản cách nhận biết từ khóa từ phát biểu người dùng Sau ELIZA chuyển phát biểu tới luật thích hợp sinh đáp ứng đầu ALICE [2] tác tử hội thoại dựa văn robot nói chuyện dùng ngơn ngữ XML gọi ngơn ngữ đánh dấu trí tuệ nhân tạo (Artificial Intelligence Markup Language - AIML) Các tệp AIML gồm thẻ category biểu diễn luật lưu cây; thẻ category chứa đựng cặp thẻ pattern template Hệ thống tìm kiếm pattern phù hợp với đầu vào cách dùng tìm kiếm theo chiều sâu đưa template thích hợp đáp ứng tới người dùng O’Shea et al [4][5] đề xuất framework tác tử hội thoại dựa văn sử dụng phân tích ngữ nghĩa Tất mẫu script câu ngôn ngữ tự nhiên So khớp mẫu sử dụng độ đo giống [9] để tính tương đồng câu từ script câu đầu vào Câu xếp hạng cao lựa chọn đáp ứng kết hợp gửi tới người dùng Sammut [3] trình bày tác tử hội thoại gọi ProBot mà trích xuất liệu từ người dùng Các script ProBot tổ chức vào ngữ cảnh phân cấp bao gồm luật tổ chức để xử lý đầu vào không mong muốn Hiện thời McGill et al [8] bắt nguồn từ script ProBot [3] để xây dựng hệ thống luật ngôn ngữ FrameScript (in section II-B) FrameScript [8] cung cấp tạo nguyên mẫu nhanh giao diện hội thoại đơn giản hóa q trình viết script B Ngôn ngữ FrameScript FrameScript [8] ngôn ngữ cho việc tạo giao diện người dùng đa phương thức Mỗi script FrameScript bao gồm danh sách luật so khớp dựa vào đầu vào sử dụng để đưa đáp ứng thích hợp Các luật nhóm vào ngữ cảnh riêng biệt dạng: tên_ngữ_cảnh :: tập_luật Các luật bao gồm mẫu đáp ứng dạng: mẫu ==> đáp ứng Các biểu thức mẫu chứa đựng hai ký tự đặc trưng * ∼ Ký tự * so khớp với nhiều từ ký tự ∼ bên từ có nhiều ký tự so khớp Các biểu thức mẫu cho phép sử dụng lựa chọn cách cấu trúc dạng: { lựa chọn | lựa chọn | } Thêm nữa, mẫu dùng dạng không kết thúc để sử dụng lại biểu thức mẫu cách viết tên dạng không kết thúc bao quanh ‘’ Các dạng không kết thúc thường khai báo danh sách lựa chọn theo sau ;; Các biểu thức đáp ứng chứa đựng hai kiểu khác dãy lựa chọn Dãy đáp ứng có dạng bao quanh dấu ngoặc vuông: [đáp ứng | đáp ứng | | đáp ứng khác], nơi đáp ứng đưa mẫu so khớp dãy lặp lại đáp ứng cuối đầu Các lựa chọn có dạng bao quanh dấu ngoặc nhọn: {đáp ứng | đáp ứng | | đáp ứng khác}, đáp ứng lựa chọn ngẫu nhiên làm đầu Thêm nữa, đáp ứng dùng ‘#’ ‘∧ ’ để thực hành động Ví dụ, #goto(a_script) chuyển đổi một hội thoại tương tác từ ngữ cảnh sang ngữ cảnh khác Một vài biểu thức đáp ứng phụ thuộc vào số điều kiện mà cấu trúc bên dưới: * ==> [ ∧ (điều kiện) –> đáp ứng if ∧ | (! điều kiện) –> đáp ứng if sai ] Ngoài ra, số thành phần mẫu tạo thành phần so khớp số mẫu so khớp Những thành phần đoạn đầu vào mà tham chiếu tới đáp ứng sử dụng ‘∧ ’ Khi ‘∧ ’ theo sau số nguyên thành phần mẫu so khớp số liên kết với số nguyên đặt vào đáp ứng đầu Một đầu vào nhận từ người dùng truyền tới miền - domain để chắn đầu vào so khớp dựa vào script xác Script đăng ký chủ để miền để trở thành script thời xử lý đầu vào Khi script đăng ký chủ đề, domain sử dụng khởi động (trigger) script để xác định có hay khơng đầu vào kích hoạt chủ đề có trigger chủ đề so khớp với đầu vào chủ đề trở thành ngữ cảnh thời chủ đề thời C Question answering systems Ban đầu, hệ thống giao diện ngôn ngữ tự nhiên hướng sở liệu (NLIDB) sử dụng kỹ thuật so khớp mẫu để xử lý câu hỏi người dùng sinh câu trả lời tương ứng [10] Một kỹ thuật thông dụng cho việc phân tích câu hỏi đầu vào hướng tiếp cận hướng sở liệu phân tích cú pháp Một câu hỏi ngơn ngữ tự nhiên ánh xạ trực tiếp tới truy vấn sở liệu SQL thông qua luật văn phạm Nguyen and Le [11] giới thiệu hệ thống hỏi đáp NLIDB cho tiếng Việt sử dụng văn phạm ngữ nghĩa Hệ thống họ gồm module chính: QTRAN TGEN QTRAN (bộ dịch truy vấn) ánh xạ câu hỏi ngôn ngữ tự nhiên tới truy vấn SQL TGEN (bộ sinh văn bản) sinh câu trả lời dựa bảng kết truy vấn QTRAN sử dụng văn phạm phi ngữ cảnh hữu hạn nhằm phân tích câu hỏi thành cú pháp thơng qua thuật tốn CYK Hiện nay, số hệ thống hỏi đáp sử dụng giải ngữ nghĩa đem lại kết cao phân tích câu hỏi ngơn ngữ tự nhiên Một framework tiếng xây dựng giải GATE [12] GATE sử dụng nhiều hệ thống hỏi đáp đặc biệt sử dụng module phân tích câu hỏi hệ thống Aqualog [6], QuestIO [13], hệ thống giới thiệu [7] AquaLog hệ thống hỏi đáp tiếng Anh dựa Ontology Đầu vào hệ thống câu hỏi ngôn ngữ tự nhiên Ontology Hệ thống sinh câu trả lời cho người dùng dựa phân tích ngữ nghĩa câu hỏi dựa thành phần tương ứng Ontology Kiến trúc Aqualog mơ tả mơ hình thác nước, đó, thành phần ngơn ngữ ánh xạ câu hỏi tới tập biểu diễn ba trung gian gọi ba truy vấn (Query-Triple) Thành phần RSS (Relation Similarity Service) lấy ba truy vấn đầu vào xử lý để sinh ba Onto (Onto-Triple) truy vấn mối quan hệ với Ontology mục tiêu Aqualog thực phân tích cú pháp ngữ nghĩa câu hỏi áp dụng nguồn xử lý cung cấp GATE tách từ, tách câu, gán nhãn từ loại Khi câu hỏi hỏi, nhiệm vụ thành phần ngôn ngữ chuyển câu hỏi thành ba truy vấn có định dạng (generic term(thuật ngữ chung), mối quan hệ (relation), second term(thuật ngữ thứ 2)) Thông qua việc sử dụng văn phạm JAPE GATE [12], AquaLog nhận biết thuật ngữ (term) mối quan hệ chúng Thành phần RSS sử dụng ba truy vấn nhằm tạo ba Onto truy vấn, đó, thuật ngữ ba truy vấn khớp với thành phần Ontology Trong cơng trình mình, chúng tơi trình bày phương pháp [14] biến đổi câu hỏi ngôn ngữ tự nhiên tiếng Việt tới thành phần biểu diễn trung gian với truy vấn (query-tuple) có định dạng (Question-structure(cấu trúc câu hỏi), Question-class(phân lớp câu hỏi), Term1 (thuật ngữ thứ nhất), Relation(mối quan hệ), Term2 (thuật ngữ thứ hai), Term3 (thuật ngữ thứ ba)) dựa giải ngữ nghĩa thông qua văn phạm JAPE Bộ truy vấn lựa chọn nhằm mục tiêu bao phủ đa dạng kiểu câu hỏi ngôn ngữ khác Ngồi chúng tơi đề xuất hướng tiếp cận độc lập ngôn ngữ [15](2011) để thu luật JAPE theo cách có hệ thống nhằm tránh tương tác không mong muốn luật Phan Nguyen [7](2010) giới thiệu cách sử dụng văn phạm JAPE để ánh xạ ngữ nghĩa cấu trúc câu hỏi tiếng Việt thành kiểu ba Subject(chủ ngữ), Verb(động từ) Object(đối tượng) III KIẾN TRÚC HỆ THỐNG HỎI ĐÁP CỦA CHÚNG TÔI A Introduction Kiến trúc hệ thống hỏi đáp hình Nó gồm thành phần: phân tích câu hỏi tìm kiếm câu trả lời Thành phần phân tích câu hỏi lấy câu hỏi người dùng đầu vào trả truy vấn biểu diễn câu hỏi Vai trò biểu diễn trung gian để cung cấp thông tin cấu trúc câu hỏi đầu vào cho trình sau ví tìm kiếm câu trả lời Thành phần tìm kiếm câu trả lời gồm module: ánh xạ Ontology trích trọn câu trả lời Nó lấy biểu diễn trung gian tạo thành phần phân tích câu hỏi Ontology để sinh câu trả lời Figure Architecture of our question answering system 1) Thành phần phân tích câu hỏi ngơn ngữ tự nhiên: Trong hệ thống chúng tôi, biểu diễn trung gian sử dụng gồm có cấu trúc câu hỏi(question-structure) nhiều truy vấn (query-tuple) có định dạng: (question-structure, question-class, T erm1 , Relation, T erm2 , T erm3 ) Trong đó, T erm1 biểu diễn khái niệm (lớp đối tượng), T erm2 T erm3 (nếu tồn tại) biểu diễn thực thể (đối tượng), Relation ràng buộc ngữ nghĩa thuật ngữ câu hỏi Các câu hỏi giản có truy vấn question-structure câu hỏi questionstructure truy vấn Các câu hỏi phức tạp câu hỏi phức hợp có vài câu hỏi con, câu hỏi biểu diễn truy vấn riêng biệt, question-structure câu hỏi nắm bắt tính chất phức hợp Ví dụ với câu hỏi phức hợp “danh sách tất sinh viên khoa công nghệ thông tin mà có quê quán Hà Nội?” có question-structure And có truy vấn ( UnknRel , List , sinh viênstudent , ? , khoa công nghệ thông tinF aculty of Inf ormation T echnology , ? ) and ( Normal , List , sinh viênstudent , có quê quán has hometown , Hà NộiHanoi , ? ), ? biểu diễn thành phần thiếu Biểu diễn lựa chọn với mục đích biểu diễn tập lớn kiểu câu hỏi Bởi vậy, vài thuật ngữ mối quan hệ truy vấn bị thiếu Chúng tơi định nghĩa cấu trúc câu hỏi (question structure) gồm có Normal, UnknTerm, UnknRel, Definition, Compare, ThreeTerm, Clause, Combine, And, Or, Affirm, Affirm_3Term, Affirm_MoreTuples, định nghĩa phân lớp câu hỏi bao gồm HowWhy, YesNo, What, When, Where, Who, Many, ManyClass, List Entity Có mơđun mà sử dụng để lấy biểu biểu diễn trung gian câu hỏi người dùng bao gồm: tiền xử lý, phân tích cú pháp phân tích ngữ nghĩa Môđun tiền xử lý sinh giải TokenVn biểu diễn từ tiếng Việt với đặc trưng nhãn từ loại Tiếng Việt ngôn ngữ đơn âm, từ chứa nhiều tiếng Môđun nhằm xác định từ để hỏi cụm từ so sánh từ đặc biệt cách sử dụng luật JAPE Mơđun phân tích cú pháp dùng để nhận biết cụm danh từ mối quan hệ chúng Module sử dụng giải TokenVn kết từ module tiền xử lý Ngoài ra, cụm để hỏi xác định cách sử dụng cụm danh từ từ hỏi nhận biết từ module tiền xử lý Mơđun phân tích ngữ nghĩa xác định cấu trúc câu hỏi tạo truy vấn xem biểu diễn trung gian (question-structure, question-class, Term1 , Relation, Term2 , Term3 ) câu hỏi đầu vào cách sử dụng giải sinh từ module trước Chúng sử dụng văn phạm JAPE để xác định cấu trúc câu hỏi, thuật ngữ mối quan hệ tương ứng Chúng tạo biểu diễn trung gian câu hỏi đầu vào theo cách nối cứng mẫu cấu trúc nhận biết văn phạm JAPE với mã nguồn Java để trích thành phần tương ứng Việc tốn nhiều thời gian xuất mẫu Các luật tạo theo cách gặp vấn đề khó khăn quản lý tương tác giữ quán chúng Bởi vậy, chúng tơi trình bày hướng tiếp cận thu hồi tri thức để lấy trực tiếp biểu diễn trung gian câu hỏi cách sử dụng ngôn ngữ FrameScript [8] phần III-B nhằm mục đích giải khó khăn gặp phải 2) Thành phần tìm kiếm câu trả lời: Thành phần tìm kiếm câu trả lời chứa đựng hai module ánh xạ Ontology trích chọn câu trả lời mơ tả hình Nó lấy biểu diễn trung gian tạo thành phần phân tích câu hỏi ontology đầu vào để sinh câu trả lời Đối với truy vấn, kết module ánh xạ Ontology bộ-ontology chứa đựng thành phần ontology tương ứng với các thuật ngữ mối quan hệ truy vấn Với bộ-Ontology, module trích chọn câu trả lời tìm tất đối tượng khái niệm ontology tương ứng Term1 có mối quan hệ Relation với đối tượng tương ứng với Term2 Phụ thuộc vào cấu trúc câu hỏi (question-structure) phân lớp câu hỏi (question-class), câu trả lời tốt sinh B Sử dụng ngơn ngữ FrameScript cho phân tích câu hỏi Khơng giống với phương pháp có cho tiếng Anh [6] tiếng Việt (trong phần III-A1) nơi mà biểu diễn trung gian trích cách trực tiếp trực quan luật ngữ pháp, mô tả phương pháp để thu biểu diễn câu hỏi người dùng cách sử dụng ngôn ngữ FrameScript [8] Thành phần phân tích câu hỏi ngơn ngữ tự nhiên đưa hình gồm có mơđun: tiền xử lý, phân tích cú pháp phân tích ngữ nghĩa Figure Architecture of the natural language analysis component using FrameScript 1) Môđun tiền xử lý: Môđun tiền xử lý sử dụng công cụ để lấy nhãn từ loại từ câu hỏi người dùng Sau đó, chúng tơi dùng ngơn ngữ FrameScript [8] kết hợp với nhãn từ loại để cấu trúc script cho việc nhận dạng từ Các script Noun, Verb, Determiner, Adjective, Adverb, Conjunction Preposition dùng để nhận dạng danh từ, động từ, từ hạn định, tính từ, trạng từ, từ nối giới từ tương ứng Thực tế script sử dụng việc tạo luật mơđun phân tích cú pháp phân tích ngữ nghĩa Noun :: { NN | NNS | NNP | NNPS | NP | NPS | CD } ;; Verb :: { FVG | VBN | VBZ | VBG | VBD | VBP | VB } ;; Determiner :: { DT | PRP } ;; Adjective :: { JJ | JJR | JJS } ;; Adverb :: { RB | RBR | RBS } ;; Conjunction :: { CC } ;; Preposition :: { PREP | TO | IN } ;; 2) Mơđun phân tích cú pháp: Mơđun nhằm xác định cụm danh từ mối quan hệ chúng Các khái niệm thực thể thường biểu diễn cụm danh từ Vì vậy, bước quan trọng việc chúng tơi chắn nhận cụm danh từ để sinh query-tuple Chúng xây dựng script gọi NounPhrase (như script mẫu bên dưới) để mẫu cụm danh từ cách sử dụng lại biểu thức mẫu từ môđun tiền xử lý Composite :: { | | | } ;; NounPhrase :: { | | | } ;; Ví dụ, với câu hỏi “which projects are about ontologies and the semantic web?” có ba cụm danh từ ‘projects‘”, “ontologies” “the semantic web” Thêm nữa, nhận biết từ để hỏi, chẳng hạn HowW hycause | method , YesNo true or f alse , W hatsomething , W hentime | date , W herelocation , M anynumber , W hoperson , để tìm lớp câu hỏi Do đó, cụm từ để hỏi xác định cách sử dụng cụm danh từ từ để hỏi để đưa thông tin loại câu hỏi Tương tự mô tả section III-A1, đề xuất 10 lớp câu hỏi bao gồm HowWhy, YesNo, What, When, Where, Who, Many, ManyClass, List Entity Điều xác cách thêm vào script sau: Entity :: { } ;; ManyClass :: { } ;; Ví dụ, câu hỏi “How many persons work on AKT project?”, cụm từ “How many persons” lấy cách sử dụng script ManyClass Bước để xác định cụm từ quan hệ cụm danh từ cụm danh từ cụm từ để hỏi Chúng tạo script Relation sử dụng để so khớp cụm từ quan hệ Noun_Adj :: { NN | NNS | NNP | NNPS | NP | NPS | CD | PRP | JJ | JJR | JJS } ;; Relation :: { | | };; Ví dụ, với câu hỏi sau: “who are the researchers in semantic web research area?”, “are the researchers in” cụm từ quan hệ xác định cách sử dụng script Relation dùng để liên kết cụm từ để hỏi “who” cụm danh từ “ semantic web research area” Dựa scripts đưa trên, xác định cụm danh từ, cụm từ quan hệ cụm từ để hỏi câu hỏi người dùng Trong mơđun tiếp theo, chúng tơi trình bày chi tiết luật để trích trực tiếp biểu diễn trung gian câu hỏi 3) Semantic analysis module: Mơđun phân tích ngữ nghĩa xác định cấu trúc câu hỏi (question structure) đưa truy vấn (query-tuple) xem biểu diễn trung gian (questionstructure, question-class, Term1 , Relation, Term2 , Term3 ) câu hỏi cách sử dụng script sinh từ mơđun phía trước Biểu diễn lựa chọn với mục đích biểu diễn tập lớn kiểu câu hỏi Bởi vậy, vài thuật ngữ mối quan hệ truy vấn bị thiếu Ví dụ, câu hỏi có cấu trúc câu hỏi Normal neus có query-tuple thiếu Term3 Tương tự phương pháp trình bày phần III-A1, định nghĩa cấu trúc câu hỏi (question structure) gồm có Normal, UnknTerm, UnknRel, Definition, Compare, ThreeTerm, Clause, Combine, And, Or, Affirm, Affirm_3Term, Affirm_MoreTuples Các script NounPhrase Relation tương ứng dùng thuật ngữ quan hệ, cụm từ để hỏi sử dụng để nhận lớp câu hỏi Chúng thiết kế biểu thức đáp ứng trực tiếp bên luật ngữ pháp để đưa đầu bao gồm question-structure query-tupple Xem xét hai câu hỏi: “How many subjects are there in the semester?” [ ManyClass How many subjects ] [ Relation are there in ] [ NounPhrase the semester ] “Which projects are about ontologies and the semantic web?” [ Entity Which projects ] [ Relation are about ] [ NounPhrase ontologies ] [ AND and ] [ NounPhrase the semantic web ] Điều thu cách sử dụng luật bên dưới: ==> [ Normal, (Normal, ManyClass, ∧ 1, ∧ 2, ∧ 3, ?) ] ==> [ And, (Normal, Entity, ∧ 1, ∧ 2, ∧ 3, ?), (Normal, Entity, ∧ 1, ∧ 2, ∧ 5, ?) [ Ví dụ, biểu diễn trung gian câu hỏi đầu có question-structure Normal querytuple (Normal, ManyClass, subjects, there, semester, ?), biểu diễn trung gian câu hỏi lại có question-structure And hai query-tuples (Normal, Entity, projects, are, ontologies, ?) (Normal, Entity, projects, are, semantic web, ?) Ngồi ra, chúng tơi xử lý số trường hợp nhập nhằng câu hỏi người dùng cách biểu thức đáp ứng có điều kiện Ví dụ, luật bên cấu trúc để giải trường hợp nhập nhằng này: ==> [ ∧ (∧ == is or ∧ == are) –> Definition, (Definition, What, ?, ?, ∧ 3, ?) | UnknTerm, (UnknTerm, What, ?, ∧ 2, ∧ 3, ?) ] Sử dụng luật trên, biểu diễn trung gian câu hỏi “what is the role of the academic regulation?” có question-structure UnknTerm query-tuple (UnknTerm, What, ?, role, academic regulation, ?) Tuy nhiên, với câu hỏi “what is the standard program?” , thu biểu diễn có question-structure Definition query-tuple (Definition, What, ?, ?, standard program, ?) Thực tế, việc tạo luật tay thơng qua mơđun trình bày trình độc lập với ngơn ngữ Vì vậy, phương pháp chúng tơi dễ dàng thích hợp với miền ngơn ngữ IV TEXT-BASED CONVERSATIONAL AGENT FOR VIETNAMESE A Overview of architecture Kiến trúc tổng quan tác tử hội thoại dựa văn thị hình Kiến trúc cung cấp phương pháp cho việc cấu trúc luật phân cấp để xây dựng ngữ cảnh hội thoại cách dùng ngơn ngữ FrameScript [8] Có hai bước để cấu trúc ngữ cảnh hội thoại gồm việc xác định ngữ cảnh riêng rẽ việc nhận ngữ cảnh phân cấp Bước đưa nhìn tổng quan tất ngữ cảnh cấu trúc để xác định việc chuyển đổi từ ngữ cảnh sang ngữ cảnh khác Bước dùng để tổ chức ngữ cảnh vào phân cấp để xử lý đầu vào không mong muốn Figure Architecture of our Vietnamese text-based conversational agent B Xác định ngữ cảnh riêng rẽ Một đầu vào nhận từ người dùng truyền tới miền - domain để chắn đầu vào so khớp dựa vào script xác Script đăng ký chủ để miền để trở thành script thời xử lý đầu vào Khi script đăng ký chủ đề, domain sử dụng khởi động (trigger) script để xác định có hay khơng đầu vào kích hoạt chủ đề có trigger chủ đề so khớp với đầu vào chủ đề trở thành ngữ cảnh thời chủ đề thời Sau bắt gặp phát biểu người dùng, ngữ cảnh thời dựa so khớp biểu thức mẫu luật để đưa đáp ứng liên kết chuyển tới ngữ cảnh kết tiếp quay ngược lại ngữ cảnh trước thăm Các luật phân cấp tổ chức vào ngữ cảnh, việc chuyển đổi ngữ cảnh dựa vào thay đổi trạng thái từ script tới script khác cách sử dụng luật chuyển đổi Những luật chuyển đổi phụ thuộc bước nhằm kiểm soát luồng hội thoại vào miền tri thức cụ thể Ví dụ, script “mon_hoc_tien_quyet” “mon_hoc_dieu_kien” biểu diễn ngữ cảnh tương ứng “môn học tiên quyết” and “môn học điều kiện” mon_hoc_tien_quyet :: trigger{* môn học tiên *} * môn học tiên * ==> [ Môn học tiên môn học mơn học bắt buộc sinh viên phải hồn thành trước học mơn học Bạn có muốn biết thêm thơng tin mơn học điều kiện? {* Có * | * có * } ==> [ #goto(mon_hoc_dieu_kien, ) ] {* Không * | * khơng * } ==> [ Bạn có muốn biết thêm thơng tin khóa luận? #goto(khoa_luan) ;; mon_hoc_dieu_kien :: trigger{* môn học điều kiện *} * môn học điều kiện * ==> [ Môn học điều kiện môn học giáo dục thể chất, giáo dục quốc phòng – an ninh kỹ mềm Bạn có muốn biết thêm thơng tin khóa luận? {* Có * | * có * } ==> [ #goto(khoa_luan) ] {* Khơng * | * không * } ==> [ Bạn muốn biết thơng tin gì? ] ;; Cả hai script ví dụ biểu diễn ngữ cảnh tương ứng có trigger để xác định đầu vào so khớp để trở thành ngữ cảnh thời Những script chứa đựng luật chuyển đổi cấu trúc dựa vào #goto(a_script) để thay đổi trạng thái ngữ cảnh thời Với phát biểu người dùng: “môn học tiên gì?” trigger scirpt “mon_hoc_tien_quyet” xử lý đầu vào ngữ cảnh “môn học tiên quyết” trở thành ngữ cảnh thời Nếu người dùng trả lời “Có” cho câu hỏi cung cấp tác tử chúng tơi: “Bạn có muốn biết thêm thơng tin môn học điều kiện?” biểu thức đáp ứng luật chuyển đổi thực việc thay đổi ngữ cảnh thời tới “môn học điều kiện” Hội thoại thị bên minh họa chuyển đổi hai ngữ cảnh User: môn học tiên gì? CA: Mơn học tiên môn học môn học bắt buộc sinh viên phải hồn thành trước học mơn học Bạn có muốn biết thêm thông tin môn học điều kiện? User: Có Tơi muốn biết CA: Mơn học điều kiện môn học giáo dục thể chất, giáo dục quốc phòng – an ninh kỹ mềm Bạn có muốn biết thêm thơng tin khóa luận? User: Tơi khơng muốn biết CA: Bạn muốn biết thơng tin gì? C Nhận biết ngữ cảnh phân cấp Sau xác định ngữ cảnh riêng rẽ, ngữ cảnh xếp vào phân cấp để xử lý đầu vào không mong muốn Vì vậy, bước thứ hai sử dụng để nhận mối quan hệ ngữ cảnh Cụ thể, mối quan hệ ngữ cảnh cha ngữ cảnh Một ngữ cảnh ngữ cảnh cha ngữ cảnh khác luật chuyển đổi cho ngữ cảnh xếp sau luật chuyển đổi cho ngữ cảnh Điều nhằm xác định ngữ cảnh thích hợp thoải mãn đầu vào từ người dùng Ví dụ, xem sét ngữ cảnh hội thoại “môn học” biểu diễn script “mon_hoc”, “môn học tiên quyết” and “môn học điều kiện” bên Ngữ cảnh “môn học” xác định ngữ cảnh cha hai ngữ cảnh lại, ngữ cảnh “quy chế đào tạo” biểu diễn script script “quy_che_dao_tao” ngữ cảnh thời Giả sử rằng, script “quy_che_dao_tao”, luật đặt trước hai luật luật Với đầu vào: “môn học tiên gì?” or “mơn học điều kiện gì?” ngữ cảnh thời ln ln chuyển tới ngữ cảnh “môn học” mà không chuyển tới ngữ cảnh thích hợp đáp ứng đầu khơng thỏa mãn yêu cầu người dùng: “Trong giảng dạy theo tín chỉ, loại mơn học gồm có mơn học bắt buộc, môn học tự chọn, môn học tiên mơn học khóa luận.” Vì luật chuyển đổi cho ngữ cảnh cha phải cấu trúc theo sau luật chuyển đổi cho ngữ cảnh giống script “quy_che_dao_tao” mon_hoc :: trigger{* môn học *} * môn học tiên * ==> [ #goto(mon_hoc_tien_quyet, ∧ 0) ] * môn học điều kiệnconditional subject * ==> [ #goto(mon_hoc_dieu_kien, ∧ 0) ] * mơn học * ==> [ Trong giảng dạy theo tín chỉ, loại mơn học gồm có mơn học bắt buộc, môn học tự chọn, môn học tiên môn học, môn học điều kiện khóa luận ;; quy_che_dao_tao :: * mơn học tiên * ==> //Rule [ #goto(mon_hoc_tien_quyet, ∧ 0) ] * môn học điều kiện * ==> //Rule [ #goto(mon_hoc_dieu_kien, ∧ 0) ] * môn học * ==> [ #goto(mon_hoc, ∧ 0) ] //Rule ;; V CÁC KẾT QUẢ THỰC NGHIỆM VÀ THẢO LUẬN A Các kết thực nghiệm tác tử hội thoại dựa văn cho tiếng Việt Chúng xây dựng 16 ngữ cảnh tương tác hội thoại từ chương quy chế đào tạo miền tri thức trường đại học cho tiếng Việt Mục đích sinh viên biết thông tin cần thiết học tập quy định trường học Bảng I miêu tả chuyển đổi từ ngữ cảnh tới ngữ cảnh khác Tương tác hội thoại người dùng hệ thống bắt đầu với ngữ cảnh mặc định xem ngữ cảnh thời gọi “quy chế đào tạo” Ngữ cảnh “hình thức dạy học” đưa thông tin chung hình thức dạy học trường đại học cho sinh viên Sau ngữ cảnh “lên lớp”, “thực hành” “tự học bắt buộc” nhằm giải thích chi tiết cho hình thức riêng Table I CHUYỂN ĐỔI GIỮA CÁC NGỮ CẢNH Ngữ cảnh quy định hình thức dạy học lên lớp thực hành tự học bắt buộc tín chương trình đào tạo tín mơn học Ngữ cảnh chuyển đổi đến hình thức dạy học, tín lên lớp, thực hành, tự học bắt buộc thực hành, tự học bắt buộc tự học bắt buộc, lên lớp lên lớp, thực hành chương trình đào tạo, tín hình thức đào tạo tín chỉ, mơn học môn học bắt buộc, môn học tự chọn, môn học tiên quyết, mơn học điều kiện, chương trình đào tạo, khóa luận Bảng I đưa tương tác hội thoại người dùng tác tử hội thoại chúng tơi sinh chuyển đổi lặp ngữ cảnh chẳng hạn “giờ tín chỉ” “tín chỉ” Vì chúng tơi sử dụng cách để ghi lại tương tác để đề xuất thay đổi tới ngữ cảnh khác Table II MỨC ĐỘ HÀI LÒNG CỦA SINH VIÊN Số lượng sinh viên 13 Mức độ hài lòng Trong q trình thực nghiệm, thu thập đầu vào từ 30 sinh viên họ đưa 75 phát biểu thường dạng câu hỏi Bảng II thị mức độ hài lòng sinh viên họ tương tác với tác tử hội thoại dựa văn Chúng cung cấp thước đo từ tới cho 30 sinh viên để họ đánh giá riêng biệt dựa thông tin cung cấp hệ thống có thỏa mãn yêu cầu họ với 1: khơng tốt, 2: bình thường, 3: tốt, 4: tốt, 5: tuyệt vời Chúng nhận thấy hầu hết sinh viên quan tâm đánh giá cao hệ thống khả áp dụng sống thực Bảng III nêu nguyên nhân lỗi 29 phát biểu mà đáp ứng chúng từ tác tử hội thoại không thỏa mãn yêu cầu Hầu hết lỗi đến từ việc cấu trúc luật điều dễ dàng sửa cách cấu trúc lại biểu thức mẫu script Table III CÁC KẾT QUẢ LỖI Số lượng đầu vào Nguyên nhân 17 Lỗi việc tạo mẫu luật Lỗi thứ tự ngữ cảnh Khơng có mẫu thích hợp B Phân tích câu hỏi cho tiếng Anh Đối với thực nghiệm cho phân tích câu hỏi cách sử dụng ngôn ngữ FrameScript, lấy 170 câu hỏi ví dụ tiếng Anh Aqualog để xây dựng tập 52 luật 12 thực tế Bảng IV thị số lượng luật tương ứng với kiểu cấu trúc câu hỏi Table IV SỐ LƯỢNG CÁC LUẬT TƯƠNG ỨNG VỚI MỖI KIỂU CẤU TRÚC CÂU HỎI Kiểu cấu trúc câu hỏi Số lượng luật Definition UnknTerm UnknRel Normal Affirm ThreeTerm 10 And 13 Or Clause Trong luật xây dựng cho cấu trúc câu hỏi dạng UnknTerm có luật cho phân biệt nhập nhằng cấu trúc bên biểu thức đáp ứng để xác định cấu trúc câu hỏi dạng Definition Bảng V đưa kiểu cấu trúc câu hỏi với số lượng luật mà xử lý nhập nhằng với kiểu cấu trúc câu hỏi tương ứng với nhập nhằng Table V SỐ LƯỢNG CÁC LUẬT TƯƠNG ỨNG VỚI NHỮNG NHẬP NHẰNG Kiểu cấu trúc câu hỏi Số lượng luật UnknTerm ThreeTerm ThreeTerm Combine 1 Kiểu cấu trúc câu hỏi nhập nhằng Definition Normal UnknTerm Normal Bởi biểu diễn trung gian hệ thống khác với biểu diễn trung gian http://technologies.kmi.open.ac.uk/aqualog/examples.html sử dụng AquaLog, thêm vào khơng có tập kiểm tra thơng thường sẵn có Bởi vậy, so sánh trực tiếp hướng tiếp cận độc lập ngôn ngữ với AquaLog miền tiếng Anh Tuy nhiên, thực nghiệm khả sử dụng hệ thống để xây dựng sở tri thức cho miền ngôn ngữ việc tạo luật tay cho phân tích câu hỏi trình bày phần III-B trình độc lập với ngôn ngữ VI KẾT LUẬN Trong luận văn này, giới thiệu hệ thống hỏi đáp tiếng Việt dựa ontology với hai thành phần phần III Thành phần đầu chuyển đổi câu hỏi ngôn ngữ tự nhiên thành biểu diễn trung gian gồm có question-structure nhiều query-tuple dạng (question-structure, question-class, Term1 , Relation, Term2 , Term3 ) Trong đó, T erm1 biểu diễn khái niệm (lớp đối tượng), T erm2 T erm3 (nếu tồn tại) biểu diễn thực thể (đối tượng), Relation ràng buộc ngữ nghĩa thuật ngữ câu hỏi Thành phần thứ hai ánh xạ thuật ngữ mối quan hệ query-tuple tới khái niệm, đối tượng mối quan hệ ontology để sinh câu trả lời ngữ nghĩa Đồng thời, phần III, giới thiệu phương pháp dựa luật cho việc chuyển đổi câu hỏi ngôn ngữ tự nhiên thành biểu diễn trung gian Đóng góp chúng tơi trích xuất trực tiếp trực quan thành phần biểu diễn diễn luật ngữ pháp Quan trọng hơn, luận văn này, chúng tơi trình bày kiến trúc tác tử hội thoại dựa văn cho tiếng Việt phần phía sau tích hợp với hệ thống hỏi đáp tiếng Việt phần IV Chúng tập trung vào việc đưa phương pháp để cấu trúc ngữ cảnh phân cấp bao gồm luật tổ chức miền tri thức cụ thể Việc cấu trúc thơng qua hai bước, bước dùng để nhận biết chuyển đổi từ ngữ cảnh tới ngữ cảnh khác bước thứ hai sử dụng để tổ chức ngữ cảnh vào phâ cấp để xử lý đầu vào khơng mong muốn Đóng góp chúng tơi cung cấp thơng tin thích hợp liên quan tới người dùng thu nhận tri thức cần thiết để hỗ trợ hệ thống hỏi đáp đưa câu trả lời Các kết thực nghiệm mô tả phần V đủ hứa hẹn với đánh giá cao từ người dùng cho tác tử hội thoại dựa văn khả áp dụng vào sống thực tế Thêm nữa, phương pháp chúng tơi cho phân tích câu hỏi đạt kết khả quan cho tiếng Anh Phương pháp dễ dàng áp dụng cho miền ngôn ngữ q trình phân tích câu hỏi trình bày phần III-B q trình độc lập với ngơn ngữ Trong tương lai, mở rộng tác tử hội thoại để hệ thống không giao tiếp với người dùng mà lấy thông tin cần thiết liên quan tới sở tri thức ontology từ phát biểu người dùng Chúng xây dựng script để xử lý nhập nhằng thành phần ontology chẳng hạn nhưu giống tên lớp đối tượng Các luật cấu trúc dùng để đưa lựa chọn để thu lấy thuật ngữ từ tương tác hội thoại với người dùng REFERENCES [1] J Weizenbaum, “Eliza - a computer program for the study of natural language communication between man and machine,” Commun ACM, pp 23–28, 1983 [2] R S Wallace, “A.l.i.c.e artificial http://www.alicebot.org/about.html, 2001 intelligence foundation, inc.” Available: [3] C Sammut, “Claude sammut: Managing context in a conversational agent,” in Electronic Transactions on Artificial Intelligence, vol 5, 2001, pp 189–202 [4] K O’Shea, Z Bandar, and K Crockett, “A novel approach for constructing conversational agents using sentence similarity measures,” in Proc of WCE, vol 1, 2008 [5] K O’Shea, Z Bandar, and K Crockett, “A conversational agent framework using semantic analysis,” International Journal of Intelligent Computing Research (IJICR), vol 1, no 1, pp 23–32, 2010 [6] V Lopez, V Uren, E Motta, and M Pasin, “Aqualog: An ontology-driven question answering system for organizational semantic intranets,” Web Semantics: Science, Services and Agents on the World Wide Web, vol 5, no 2, pp 72–105, 2007 [7] T Phan and T Nguyen, “Question semantic analysis in vietnamese qa system,” in Edited book "Advances in Intelligent Information and Database Systems" of The 2nd Asian Conference on Intelligent Information and Database Systems (CIIDS2010), 2010, pp 29–40 [8] M McGill, C Sammut, J Westendorp, and W Kadous, “Framescript: A multi-modal scripting language,” in Copyright c 2003-2008 The School of Computer Science and Engineering, UNSW Matthew McGill, Claude Sammut., 2003 [9] Y Li, D McLean, Z A Bandar, J D O’Shea, and K Crockett, “Sentence similarity based on semantic nets and corpus statistics,” IEEE Trans on Knowl and Data Eng., vol 18, pp 1138–1150, 2006 [10] I Androutsopoulos, G Ritchie, and P Thanisch, “Masque/sql: an efficient and portable natural language query interface for relational databases,” in Proceedings of the 6th international conference on Industrial and engineering applications of artificial intelligence and expert systems, 1993, pp 327–330 [11] A K Nguyen and H T Le, “Natural language interface construction using semantic grammars,” in Proceedings of the 10th Pacific Rim International Conference on Artificial Intelligence, 2008, pp 728– 739 [12] H Cunningham, D Maynard, K Bontcheva, and V Tablan, “GATE: A Framework and Graphical Development Environment for Robust NLP Tools and Applications,” in Proceedings of the 40th Anniversary Meeting of the Association for Computational Linguistics, 2002, pp 168–175 [13] D Damljanovic, V Tablan, and K Bontcheva, “A text-based query interface to owl ontologies,” in Proceedings of 6th Language Resources and Evaluation Conference, 2008 [14] D Q Nguyen, D Q Nguyen, and S B Pham, “A vietnamese question answering system,” in Proceedings of the 2009 International Conference on Knowledge and Systems Engineering, 2009, pp 26–32 [15] D Q Nguyen, D Q Nguyen, and S B Pham, “Systematic knowledge acquisition for question analysis,” in Proceedings of 8th International Conference on Recent Advances in Natural Language Processing, (In press), September, 2011 [16] D D Pham, G B Tran, and S B Pham, “A hybrid approach to vietnamese word segmentation using part of speech tags,” in Proceedings of the 2009 International Conference on Knowledge and Systems Engineering, 2009, pp 154–161 ... constructing conversational agents using sentence similarity measures,” in Proc of WCE, vol 1, 2008 [5] K O’Shea, Z Bandar, and K Crockett, A conversational agent framework using semantic analysis,”...Table of Contents Introduction 1.1 A Semantic Approach for Question Analysis 1.2 A Vietnamese Text- based Conversational Agent 1.3 Thesis Organisation ... Ritchie, and P Thanisch, “Masque/sql: an efficient and portable natural language query interface for relational databases,” in Proceedings of the 6th international conference on Industrial and engineering