我正在尝试使用神经网络,但是我不知道如何使用它们进行句子分析。
我想像这样训练它:
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的this tutorial,但没有记录如何获取输出列表而不是单个输出。目前,我只得到NaN
的列表...
不过,我不介意使用其他工具。
这是我对输入进行编码的方式:
function encode(arg) {
return arg.split('').map(x => (x.charCodeAt(0) / 255));
}
有人知道我如何实现我的目标吗?