#bixby #bixbystudio
#bixby #bixbystudio
Вопрос:
Я пытаюсь пометить свои обучающие данные с помощью файлов vocab, чтобы уменьшить количество обучающих фраз, которые мне нужно добавить, например, использовать Bill vocab, который позволяет использовать ‘bill’ или ‘invoice’ взаимозаменяемо. Я добавил тип перечисления счета и файл vocab счета. Однако, когда я пытаюсь пометить слово «счет» в моей обучающей фразе значением Bill: Bill, я получаю сообщение «Незаконный план» в моей обучающей записи.
Моя цель — действие. Обратите внимание, что «счет» не является ожидаемым вкладом в мое действие. Я просто пытаюсь свести к минимуму количество обучающих фраз, которые мне нужно добавить.
Кроме того, не могли бы вы объяснить функцию «Роли» в обучающих данных? Я не вижу объяснения в документации.
num (Bill) {
symbol (Bill)
}
vocab (Bill) {
"Bill" {"Bill", "bill", "invoice", "account balance"}
}
[g:FaqBill] check my (bill)[v:Bill:Bill]
Я ожидал бы, что модель NL будет успешно скомпилирована, но я получаю сообщение «Незаконный план» в моей записи обучения.
Ответ №1:
Я попытался сделать то же самое и смог получить ожидаемый план.
Вот части моей попытки воспроизвести описанное вами поведение. Пожалуйста, проверьте каждый файл, чтобы увидеть, соответствует ли он приведенному ниже коду:
Перечисление:
enum (Bill) {
symbol (Bill)
}
Словарь:
vocab (Bill) {
"Bill" {"Bill", "bill", "invoice", "account balance"}
}
Экшен:
action (GetBill) {
description (Gets the bill)
type (Search)
collect {
input (bill) {
type (Bill)
min (Required) max (One)
}
}
output (Bill)
}
Действие JS:
module.exports = {
function: GetBill
}
function GetBill (bill) {
return bill
}
С помощью этих 4 элементов я смог получить план обучения произношению, показанный на скриншоте, представленном выше.
Комментарии:
1. Спасибо, но разница в том, что мое действие GetBill не принимает счет в качестве входных данных, поскольку в этом нет необходимости. Я просто хочу, чтобы это действие выполнялось независимо от того, говорю ли я «получите мой счет» или «получите мой счет». Вы хотите сказать, что мне нужно было бы добавить «Счет» в качестве необязательного ввода? Я должен был упомянуть, что тренинг, похоже, работает, даже несмотря на то, что в нем есть сообщение «Незаконный план».
2. Ах, в таком случае вам не нужен никакой файл vocab. Ваше
GetBill
действие будет принимать нулевые входные данные и выводить концепцию счета. Затем вы должны обучить типы высказываний, которые, как вы ожидаете, будут использовать ваши пользователи при запросе их счета («Покажите мой счет», «Дайте мне мой счет», «Покажите баланс» и т. Д. Имея достаточное количество примеров, Биксби сможет правильно вызвать действие GetBill при использовании аналогичных высказываний.3. Спасибо, но я надеялся избежать необходимости тренировать «покажите мне мой счет», «покажите мне мой счет», «покажите мне мой баланс», «покажите мне мой аккаунт» и другие варианты «покажите мне» x 4, используя синонимы, потому что медленно добавлять обучающие фразыв Bixby Studio. Я бы хотел просто сказать: «Покажи мне мой счет в долларах», «Дай мне мой счет в долларах» и т. Д.
4. Вам не нужно было бы тренировать каждый отдельный потенциальный вариант. Достаточно привести всего несколько примеров, поскольку Биксби должен усвоить, что соглашение «Покажи мне мой …» означает, что пользователь хочет просмотреть счет и что необходимо вызвать действие GetBill.