Troll es una herramienta para realizar un análisis de sentimientos (es decir, "es esto travieso o agradable") en bloques arbitrarios de texto y asociarlo con un usuario único. Usando estos datos, combinados con una red neuronal bastante ingenua y algunos datos de capacitación, los usuarios pueden ser sangrados como "trolls".
Troll usa Redis para el almacenamiento de datos. Una vez que Redis está en funcionamiento, puede instalar Troll usando NPM:
npm install troll var troll = require ( 'troll' ) ;
troll . analyze ( 'This is totally awesome!' , 'user123' , function ( err , result ) {
console . log ( result ) ; // 2.5
} ) ;
troll . analyze ( 'This is lame.' , 'user456' , function ( err , result ) {
console . log ( result ) ; // -1.333
} ) ;Antes de intentar clasificar a un usuario, deberá entrenar troll. Puede especificar sus propios datos de capacitación o usar un conjunto básico que esté incluido. Para cargar el conjunto de entrenamiento incluido:
troll . train ( function ( err , result ) {
console . dir ( result ) ; // { error: 0.0049931996067587685, iterations: 802 }
} ) ;Una vez entrenado, ahora puede clasificar:
troll . classify ( 'user123' , function ( err , result ) {
console . dir ( result ) ; // { total: 9, sum: 36, troll: 0.010294962292857838 }
} ) ; El valor devuelto para la tecla troll representa la probabilidad de que ese usuario sea un troll. En otras palabras, un valor de 0 probablemente representaría a un usuario particularmente amigable, mientras que un valor de 1 sería ... ¿Uh, Ted Dziuba?
El módulo de análisis de sentimientos subyacentes admite "inyectar" pares de clave/valor adicionales. Esto es útil en ciertas situaciones en las que puede excluir o incluso una lista negra ciertas palabras basadas en un caso de uso particular. Por ejemplo:
troll . inject ( {
'stupid' : - 5 ,
'lame' : - 5
} ) ;
troll . analyze ( 'This is totally stupid and lame!' , 'user123' , function ( err , result ) {
console . log ( result ) ; // -5.833
} ) ; Troll utiliza su entorno mirando process.env para la configuración de conexión. Si no se encuentran ninguno, se utilizan la configuración de conexión Redis predeterminada:
TROLL_HOST: null
TROLL_PORT: null
TROLL_PASS: null
npm test