Xây dựng cơ sở dữ liệu cho chatterbot

Một phần của tài liệu (LUẬN VĂN THẠC SĨ) Xây dựng hệ thống Agent hội thoại hiện thân cho tương tác người máy (Trang 22 - 25)

CHƯƠNG 2. AGENT HỘI THOẠI HIỆN THÂN

2.3.2. Xây dựng cơ sở dữ liệu cho chatterbot

Đối với một chatterbot, cơ sở dữ liệu càng nhiều thì hội thoại giữa người và máy càng trở nên phong phú. Có một cách thức đơn giản nhất và thuần túy nhất để xây dựng cơ sở dữ liệu đó là nhập vào thủ công. Cách nhập thủ công đó đòi hỏi thời gian công sức của mọi người. Ngoài ra, chúng ta còn một cách thức khác để làm phong phú cho cơ sở dữ liệu của chatterbot đó là sử dụng cách thức giống trong các hệ thống thu thập thông tin.

Mặc dù mục tiêu của hai hệ thống này là khác nhau nhƣng chúng ta có thể thấy rằng chúng có một số tương đồng. Phân tích các kỹ thuật được sử dụng trong hệ thống thu thập thông tin (Information Retrieval – IR) để chúng ta có thể thấy đƣợc cách áp dụng vào trong Chatterbot.

Trong cách tiếp cận IR cổ điển [9], chúng ta đƣa ra một tập hợp tài liệu (văn bản ASCII trong ngôn ngữ tự nhiên) và một câu truy vấn được con người đưa ra cũng trong ngôn ngữ tự nhiên. Nhiệm vụ của hệ thống này là tìm những tài liệu trong tập hợp đó phù hợp nhất với câu truy vấn đƣa ra.

Chúng ta có thể mở rộng vấn đề này cho chatterbot hoặc các ứng dụng nhân vật ảo (đƣợc đề cập đến phần sau) bằng cách xem xét mỗi tài liệu bao gồm một hoặc hai câu liên quan với nhân vật trong script gốc. Trong phương pháp tiếp cận này, chúng ta có thể đánh giá câu được người dùng đưa vào trong hội thoại như là một dạng câu truy vấn. Câu đƣợc đƣa vào có thể đƣợc thể hiện ở một trong các dạng khẳng định, phủ định hay dạng nghi vấn. Trong trường hợp này, chúng tôi muốn tìm một tài liệu cụ thể (một câu) có thể đƣợc xem nhƣ một câu trả lời tốt cho câu đƣợc đƣa ra.

Cũng có sự khác biệt giữa phương pháp tiếp cận theo IR và chatterbot. Trước tiên, mục tiêu trong IR là đưa ra cho người sử dụng nhiều tài liệu phù hợp với một thứ tự tương ứng câu truy vấn đưa, trong khi với mô hình nhân vật ảo chúng ta chỉ cần đưa ra một tài liệu (hay một câu) tại một thời điểm như là sự thể hiện hiểu câu mà người dùng đƣa. Thứ hai, trong IR, chúng ta hy vọng tất cả các ngôn từ trong truy vấn sẽ có mặt trong những tài liệu kết quả trả về, trong khi câu trả mạch lạc của chatterbot là chung chung và chủ quan nhiều hơn. Phản hồi của chatterbot có thể đƣợc chấp nhận tùy vào quan điểm của người tham gia đối thoại, thậm chí trong câu trả lời không chứa bất kỳ một ngôn từ nào trong truy vẫn mà người dùng đưa ra. Tuy nhiên, chúng ta có thể cho rằng những ngôn từ này đƣợc nhắc lại trong câu trả lời sẽ làm tăng sự am hiểu của người dùng, và coi đó như là một câu trả lời thông minh.

Ý tưởng chung của hai mô hình gợi ý cho chúng ta có thể sử dụng một số các phương pháp được phát triển trong IR để cải thiện hệ thống của chúng ta, như đánh chỉ mục tự động, query matching và phân loại tƣ liệu trả về với câu truy vấn đƣa ra.

Những kỹ thuật này đặc biệt hữu ích khi chúng ta có thể truy cập vào một số lƣợng lớn các câu đƣợc liên kết với nhân vật mà ta định mô phỏng. Ví dụ, nếu chúng ta bắt đầu từ một nhân vật đƣợc tạo ra từ một quyển sách, bộ phim, hay kênh truyền hình, bộ dữ liệu ban đầu sẽ là sự sao chép từ các phần trong quyển sách hoặc script tạo thành lời thoại của nhân.

Phương pháp IR đầu tiên mà chúng ta áp dụng cho chatterbot là đánh chỉ mục tƣ liệu, hay câu bằng những từ khóa quan trọng đại diện cho các văn bản trong tài liệu.

Hiện tại việc đánh chỉ mục là thủ công, trong tương lai sẽ xây dựng phương pháp đánh chỉ mục một cách tự động.

Đánh chỉ mục tự động bắt đầu bằng việc xóa bỏ tất cả các từ thông dụng trong tài liệu như là “a”, “is”, “for”. Phần này phải được điều chỉnh phù hợp với phương pháp tiếp cận chatterbot vì có một số từ lại là vô nghĩa trong IR lại trở nên đầy ý nghĩa trong hội thoại nhƣ “you”, “because”, v..v… Hệ thống đánh chỉ mục tự động mà chúng ta phát triển sử dụng hai danh sách “stop word”, một số sẽ xác định ngữ nghĩa của câu và do đó phải đƣợc đƣa vào xem xét theo cách đặc biệt, số khác đơn giản có thể bỏ qua.

Bước thứ hai trong việc tạo chỉ mục tự động là xóa tất cả các hậu tố (suffix) không cần thiết, nhƣ "s" trong số nhiều, các "ing" từ các hình thức tiếp diễn của động từ, v..v… Bước này đảm bảo các từ cùng một lớp, như "drive", "driving","driver", sẽ đƣợc lập chỉ mục nhƣ một từ khóa.

Trong bước thứ ba, hệ thống tạo ra một chỉ mục của tập hợp tài liệu dựa trên các ngôn từ trả về. Nhìn chung, mỗi ngôn từ đƣợc gán một trọng số dựa trên tần suất xuất hiện trong tài liệu cũng nhƣ trong tập hợp các tài liệu. Điều này đƣợc biết đến nhƣ là mô hình không gian véc tơ [9]. Làm giảm bớt độ dài của tài liệu bằng chỉ mục Boolean [10]. Nói cách khác, chúng tôi chỉ ghi nhận sự hiện diện hoặc không có của một ngôn từ trong một câu đã đƣợc lập chỉ mục, mà không đánh giá tầm quan trọng của nó.

Trong mô hình của chúng tôi, các tài liệu (câu) đƣợc đánh chỉ mục không chỉ bởi sự xuất hiện các ngôn từ, mà còn theo một số từ đồng nghĩa với nó. Một số từ xuất hiện trong đoạn văn trước câu đang được xử lý có ý nghĩa hơn, vì vậy đánh chỉ mục của chúng tôi cũng sẽ đƣa chúng vào cùng ngữ cảnh trong tài liệu.

Kỹ thuật thứ hai từ IR mà chúng ta có thể áp dụng cho nhân vật ảo là tài liệu tự động “document-query matching” và thu thập tài. Với việc này, chúng ta có thể xem xét các câu do người sử dụng nhập vào như các truy vấn.

Trong phương pháp IR cổ điển, câu truy vấn được xử lý theo cùng một cách đối các tài liệu, điều đó có nghĩa là tất cả các từ chung chung cũng nhƣ các hậu tố, và các ngôn từ còn lại đƣợc đánh chỉ mục dựa trên tần suất xuất hiện của chúng. Trong mô hình của chúng ta, hệ thống sẽ phải cân nhắc đến hai danh sách “stop” cho gian đoạn này.

Trong quá trình thu thập, hệ thống chọn tất cả các tài liệu (câu) có chứa ít nhất một ngôn từ trong truy vấn (của người sử dụng đưa vào) và đánh giá xếp hạng chúng theo số lƣợng ngôn từ. Trong IR, hệ thống sẽ trả lại tất cả các tài liệu phù hợp với yêu cầu tìm kiếm theo thứ tự tương đồng với câu truy vấn. Trong trường hợp của chúng ta, chúng ta chỉ chọn một trong những câu phù hợp dựa trên hàm xác xuất.

Phương pháp tiếp cận này làm tăng hiệu quả của chatterbot và tổ chức tri thức bao gồm trong chương trình, theo cách này có thể được mở rộng cho các ứng dụng khác. Các hạn chế của hệ thống là nó không thể tạo ra những câu đó không tồn tại trong cơ sở dữ liệu ban đầu và điều này làm giảm khả năng đa dạng cả câu trả lời.

Tập hợp các câu đƣợc đƣa ra lúc đầu và mỗi câu đó sẽ đƣợc ghi lại theo dạng ban đầu của nó. Nếu tập hợp đủ lớn, thì có thể đủ cho cuộc hội thoại một lần, nhƣng với một người dùng cũ thì hệ thống có thể tạo ra sự lặp đi lặp lại. Nhiều câu có thể được đưa vào trong bộ sưu tập tại lần gặp sau, dường như là cần thiết, nhưng một khi một câu đã được lập chỉ mục, nó không thể thay đổi. Vì vậy, một người am hiểu nhân vật từ ban đầu có thể cảm giác rằng nhân vật ảo chỉ lặp đi lặp lại các từ và câu mà đã đƣợc tạo ra từ script bàn đầu.

Một sự kết hợp kỹ thuật này và câu trả lời mẫu với “pattern matching” là một phần giải pháp cho vấn đề, và điều này là tình trạng thực tế của các chatterbot oline [11].

Một phần của tài liệu (LUẬN VĂN THẠC SĨ) Xây dựng hệ thống Agent hội thoại hiện thân cho tương tác người máy (Trang 22 - 25)

Tải bản đầy đủ (PDF)

(69 trang)