vunb/vntk

Chuyển thời gian ở dạng nói/viết sang Unix timestamp và ngược lại

zeloru opened this issue · 4 comments

Vấn đề: Đặt hàng hay nhắc nhở.

Đặt hàng:
Máy -> Người
Giả sử lúc này là 16:00 03/02/2018, Mark mua hàng tủ lạnh. Nếu vào ngày 05/02/2017 Amazon giao hàng, thì trả về là 2 (Hai) ngày nữa chúng tôi sẽ giao hàng.

Nhắc nhỏ:
Người -> Máy:
Này chatbot, nhắc tao có việc cần làm lúc 6 giờ ngày mai. Hay chủ nhật này nhắc tao đi sinh nhật vợ lẽ của sếp. Thì chatbot lưu thời gian ở dạng Unix timestamp để dễ tính.

vunb commented

Ý tưởng của @zeloru có phải là mong muốn có 3 việc như này không?

  1. Bóc tách được thực thể THỜI GIAN, ví dụ: Giả sử lúc này là [TIME 16:00] [DATE 03/02/2018], hay Này chatbot, nhắc tao có việc cần làm lúc [TIME 6 giờ] [DATE ngày mai]. Hay [DATE chủ nhật] này nhắc tao đi sinh nhật vợ lẽ của sếp
  2. Tiện ích chuyển đổi thành các thực thể từ câu input
  3. Thêm tiện ích convert text(DateTime) < -- > Object

Ví dụ cho ý 2 như này:

var entities = vntk.extractEntities('Này [PERSON chatbot], nhắc [PERSON tao] có việc cần làm lúc [TIME 6 giờ] [DATE ngày mai]. Hay [DATE chủ nhật] này nhắc [PERSON tao] đi sinh nhật [PERSON vợ lẽ của sếp]')
console.log(entities)

// output:
[{
  entity: 'chatbot',
  type: 'PERSON',
  value: 'chatbot',
  index: 0
}, {
  entity: 'tao',
  type: 'PERSON',
  value: 'tao',
  index: 1
}, {
  entity: '6 giờ',
  type: 'TIME',
  value: Date('Sat Feb 03 2018 06:00:00'),
  index: 2
}, {
  entity: 'ngày mai',
  type: 'DATE',
  value: Date('Sat Feb 04 2018 00:00:00'),
  index: 3
// ...
}]

Được cả 3 thì tốt. Sẵn thêm tách intent luôn. Thường thì nó là động từ trong câu.

Chứ ý em là thêm cái thứ 3 thôi.
Ý là đổi "ngày mai" thành unix timestamp. Hôm nay là 03/02/2018, ngày mai là 04/02/2018, thì chuyển thành 1517702400 là unix timestamp.
Nếu nói là giờ này ngày mai. Lúc này là 18h 03/02/2018 thì chuyển thành 1517767200.

Và ngược lại.

vunb commented

Sẵn thêm tách intent luôn. Thường thì nó là động từ trong câu.

IntentDialog_Acts là 1 lớp bài toán ứng dụng. Cái này để người dùng tự sáng tạo, vntk chỉ dừng lại ở các bài toán chung, ví dụ POS Tagging đã phân tách được đơn vị từ thành: N, NP, V, ...

Hiện vntk đã hỗ trợ bayes vs fasttext để giải quyết vấn đề xác định Intent của lời nói.

vunb commented

Closing due to no plan to implement