Ứng dụng NLP để giải quyết bài toán điều khiển thiết bị android bằng giọng nói

nlp

#1

Xin chào các anh/chị!

Hiện tại em đang muốn xây dựng hệ thống điều khiển thiết bị android bằng giọng nói (Tiếng Anh), tạm gác lại phần Speech Recognition và giả sử chúng ta đã có phần text input. Do em mới tìm hiểu NLP nên em chưa rõ hướng xây dựng hệ thống này như thế nào, hiện tại có thể mô tả bài toán như sau:

  • Cho phép người dùng nhập text input, sau đó từ text nhận được hệ thống có thể hiểu được hành động đó là gì. Ví dụ: người dùng nhập swipe up and open Google Chrome thì hệ thống sẽ phân biệt được 2 hành động là swipe hướng là upopen đối tượng là Google Chrome.
  • Tương tác với người dùng trên dialog (tương tự chatbot).

Nếu có thể, rất hi vọng các anh/chị chỉ dẫn hướng đi và các thuật toán cần tìm hiểu.

Em xin chân thành cảm ơn!


#2

Khi đã có text (từ module speech to text) thì mình biết 2 hướng tiếp cận như sau:

  1. Nếu đơn giản thì chỉ cần check xem có keyword ko, ví dụ: if (“swipe up” in text) {do something}
  2. Nếu có các câu lệnh hơi phức tạp, khó bắt theo keyword thì mình có thể sử dụng phương pháp text classification. Đây là một open source, bạn chỉ cần thêm các câu lệnh tương tự nhau vào một file text là được: https://github.com/deepai-solutions/core_nlp/blob/master/demo.py

Ngoài ra có thể kết hợp cả 2 phương pháp trên.

Đối với tương tác hội thoại với người dùng (chatbot) thì bước đầu cũng có thể giải quyết được cũng bằng text classification. Ví dụ: Định nghĩa “I want to play music” => classify: “play_music” rồi trả lời: “I will play music for you”. Tuy nhiên để làm chatbot thì cần thêm những module khác.


#3

Vậy bài toán này cơ bản chỉ cần dùng text classification là khá đủ, cảm ơn bạn vì đã chia sẻ, có demo đỡ hơn rồi :+1:


#4

Em chào anh/chị Em muốn hỏi anh chị về Tuong tác ra lệnh bằng giọng nói trên chatbot ạ Em chưa hình dung được cách làm Mong anh/chị giúp em ạ Em xin cám ơn ạ