Closed khachuong closed 5 years ago
@khachuong em có thể làm theo như này:
classifier.getClassifications(classifier.textToFeatures('bn bạn muốn tham gia sự kiện này?'))
Output có dạng: Array<{label, value}>
thì value sẽ là confidence của class tương ứng.
@vunb dạ em đã lấy được rồi anh ạ, em cảm ơn anh rất nhiều 😄
À anh @vunb ơi, còn 1 vấn đề nữa là, ví dụ em có 2 document cần train như sau:
classifier.addDocument('em có được tham gia không ạ?', 'asktojoin')
và
classifier.addDocument('em là sinh viên có được giảm giá không?', 'askpromotion')
Khi em lấy confidence của câu này ra:
classifier.getClassifications(this.textToFeatures('e'))
Thí nó ra kết quả như vậy:
[ { label: 'asktojoin', value: 0.6666666666666666 },
{ label: 'askpromotion', value: 0.6666666666666666 } ]
Trong trường hợp này theo em nghĩ em sẽ không lấy label nào cả vì đều chưa rõ họ đang muốn hỏi gì, anh có hướng để xử lý trường hợp này không ạ? Em cảm ơn anh!
Các tình huống thì em có thể hướng tới, như:
class
, thường lấy từ 10 - 50 mẫu. để tăng độ chính xácMẫu test em lấy khách quan quá! Trường hợp thế này thì no-response thì hợp lý 😄
Dạ, em chỉ ví dụ để anh hình dung bài toán thôi ạ, em có train mỗi cái tầm 15 mẫu:
Tuy nhiên để xác định được họ đang hỏi gì thì em định dựa vào confidence để xác định, nhưng bài toán này nó đều trả về confidence tương đương (có thể do số mẫu của mỗi label đều như nhau) thì không biết nên lấy cái nào.
Và có cách nào để xác định trường hợp nào thì no-response không anh nhỉ, anh tư vấn giúp ạ :D
Em dùng thêm bộ phân lớp dùng Fasttext
xem. Anh thấy nó có kết quả khả quan hơn và dễ dàng quyết định hơn.
const classifier = new vntk.FastTextClassifier(model);
Về tài liệu em đọc thêm ở đây nhé https://github.com/vunb/node-fasttext
Dạ, để em thử xem sao, em cảm ơn anh nhiều nhé :D
@vunb em đã giải quyết được rồi anh ạ, em dùng Fasttext cũng như bổ sung thêm mẫu để train nên khả năng chính xác cũng khá cao anh ạ, em close issue này anh nhé. Chúc anh sức khoẻ ạ :D
Ồ tuyệt vời. Cảm ơn em nhé! Chúc dự án của em thành công 💐
Cho em hỏi chút ạ,
Em đang dùng Bayes Classifier nhưng không biết cách lấy ra confidence, ví dụ:
classifier.classify('bn bạn muốn tham gia sự kiện này?')
Em xin cảm ơn ạ!