Я пытаюсь поиграть с нейронной сетью, но не могу понять, как использовать их для анализа предложений.
Я бы хотел тренировать это так:
const trainingData = [
{
input: "The cat is on the table",
output: [{art:1},{noun:1},{verb:1},{prep:1},{art:1},{noun:1}]
},{
input: "The cat is on the boy.",
output: [{art:1},{noun:1},{verb:1},{prep:1},{art:1},{noun:1}]
},{
input: "The boy likes the cat",
output: [{art:1},{noun:1},{verb:1},{art:1},{noun:1}]
}
];
искусство, существительное, глагол и подготовка - мои категории, а 1 - вероятность.
И я ожидаю, что The cat likes the boy
даст мне ['art', 'noun', 'verb', 'art', 'noun']
;
Однако, все примеры, которые я нахожу для нейронных сетей, только учат вас, как получить один результат из входного набора. Я хочу вот что:
Либо для обработки списка слов, но с сохранением предыдущих результатов в памяти, поскольку они могут влиять на результат (подумайте о the beat is good
/ I will beat you
)
Или обработать предложение целиком и получить столько же результатов, сколько и количество слов в предложении.
До сих пор я основывал свою работу на этом уроке с использованием brain-js, но не документировано, как получить список выходных данных вместо одного. В настоящее время я получаю только список NaN
...
Хотя я не против использовать другой инструмент.
Вот как я кодирую свои входные данные:
function encode(arg) {
return arg.split('').map(x => (x.charCodeAt(0) / 255));
}
Кто-нибудь знает, как мне достичь своей цели?