Liveshow Hà Nội ơi | Đêm nhạc Hà Nội ơi còn mãi một tình yêu
Hà Nội 2013
description
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!!!