-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathday.js
More file actions
74 lines (62 loc) · 2.19 KB
/
day.js
File metadata and controls
74 lines (62 loc) · 2.19 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
// Brain.js - GPU accelerated Neural networks in JavaScript for Browsers and Node.js
// https://brain.js.org/#/getting-started
//
const brain = require('brain.js');
const net = new brain.NeuralNetwork();
// https://jsonformatter.curiousconcept.com/
const tweets1 = require('./tweets1.json');
const tweets2 = require('./tweets2.json');
// https://developer.mozilla.org/pt-BR/docs/Web/JavaScript/Reference/Global_Objects/String/charCodeAt
const normalize = string => {
const MAX = 200;
const input = [];
const len = string.length;
for (let i = 0; i < len; i++) {
input.push(string.charCodeAt(i) / 1000);
}
for (let i = len; i < MAX; i++) {
input.push(0);
}
return input;
};
let trained;
const training = data => {
return data.map(item => {
return {
input: normalize(item.input),
output: item.output
}
})
}
const train = data => {
net.train(training(data), {
iterations: 200,
log: stats => console.log(stats),
errorThresh: 0.0110,
learningRate: 0.6
});
trained = net.toFunction();
console.log('Fim do treino');
};
const execute = input => {
const results = trained(normalize(input));
let output;
let perc;
if (results.pefabiodemelo > results.evaristocosta) {
output = 'pefabiodemelo';
perc = Math.floor(results.pefabiodemelo * 100);
} else {
output = 'evaristocosta';
perc = Math.floor(results.evaristocosta * 100);
}
return `Eu tenho ${perc}% de certeza que é um tweet do ${output}`;
};
const trainingData = [ ...tweets1, ...tweets2 ];
train(trainingData);
// pefabiodemelo
console.log(1, 'Meus queridos, vou ficando por aqui. Tenho uma saúde emocional a ser cuidada....');
console.log(1, execute('Meus queridos, vou ficando por aqui. Tenho uma saúde emocional a ser cuidada. Sei o quanto já provei a solidão prov… https://t.co/Exwlw24FAW'));
console.log('----------------------------------------------------------------------------------------');
// evaristocosta
console.log(2, 'Já solicitei formalmente transferência de setor dentro do Palácio....');
console.log(2, execute('Já solicitei formalmente transferência de setor dentro do Palácio. Fontes reais dizem que Eli já autorizou. https://t.co/G8KJPgQtEa'));