нейронная сеть с множественным выходом в JavaScript - PullRequest
0 голосов
/ 04 сентября 2018

Я пытаюсь поиграть с нейронной сетью, но не могу понять, как использовать их для анализа предложений.

Я бы хотел тренировать это так:

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));
}

Кто-нибудь знает, как мне достичь своей цели?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...