Hà Nội 2013

Post on 22-Feb-2016

65 views 0 download

description

B ài 2 Natural Language Understanding ( NLU) - Artificial Intelligence Markup Language ( AIML). Hà Nội 2013. Yêu cầu :. Eclipse đã cài đặt ADT, Android SDK Cài đặt Robot SDK Ref erence : http ://ftri.fpt.edu.vn/robot/docs/NAO/SDK.html. Mục đích :. - PowerPoint PPT Presentation

Transcript of Hà Nội 2013

Bài 2 Natural Language Understanding (NLU) - Artificial Intelligence Markup Language (AIML)

Hà Nội 2013

• Eclipse đã cài đặt ADT, Android SDK• Cài đặt Robot SDK

Reference: http://ftri.fpt.edu.vn/robot/docs/NAO/SDK.html

Yêu cầu:

• Giới thiệu các API của NLU và AIMLMục đích:

• NLU liên quan chủ yếu đến bài toán phân lớp: C = {c1, c2, …, ck} tập k lớp X = {xi} (i=1,2,…) là tập các đối tượng cần phân lớp Xây dựng ánh xạ f:

f là mô hình phân lớp (classification model, classifier).• f có thể được xây dựng bằng học giám sát dựa theo

tập dữ liệu huấn luyện D = {(x1, c1), (x2, c2), …, (xn, cn)}: Huấn luyện mô hình f dựa trên tập huấn luyện D sao cho f phân

lớp chính xác nhất.

Task 1: NLU

X Cf

Một số mô hình phân loại: Mô hình Naïve Bayes Mô hình TF IDF Mô hình Bernoulli

Tham khảo tài liệu link.

• NLU API

Train Learn

Classify

Training Data

NLU API

Dữ liệu training được chứa trong 1 file text có format như sau: Mỗi dòng chứa 1 label (action) và text.

Lưu ý: File này phải lưu ở sdcard khi sử dụng.

API được định nghĩa trong TextClassifier class. Hầu hết các hàm là asynchronize methods: set

callback thông qua method:

Train API:

Classify API:

Learn API:

Tạo 1 robot project mới có 2 layout: activity_main.xml

activity_other.xml

Tạo 1 object TextClassifier:

Có thể lấy 1 list các action (label) được sắp xếp theo thứ tự giảm dần của xác suất:

Hoặc lấy action với xác suất lớn nhất:

Để học dữ liệu mới:

Có thể download source code theo link

Task 2: AIML AIML API được định nghĩa trong ChatBot class. Nó bao gồm:

Train API:

Get response API:

Ngoài ra còn có 1 số API khác:

Sphinx + AIML project: Tạo các layout:

Copy aiml, sphinx data vào assets folder:

Lưu ý: Aiml data phải được chứa trong thư mục bots của assets. Thư

mục tiếp theo là có tên giống như tên của chat bot. Các câu hỏi được chứa trong file question_data.txt.

Copy aiml, sphinx data vào assets folder:

Lưu ý: Aiml data phải được chứa trong thư mục bots của assets. Thư

mục tiếp theo là có tên giống như tên của chat bot. Các câu hỏi được chứa trong file question_data.txt. Các dữ liệu trong assets sẽ được copy vào sdcard trong lần đầu

chạy app.

Để train aiml phải copy dữ liệu vào sdcard trước. Sau đó set chat bot name cho Chatbot class.

Để train sphinx data, phải đọc list câu hỏi vào 1 mảng.

Lấy response từ input text:

Download source code từ link.

Thanks for Listening!!!