O Troll é uma ferramenta para realizar análises de sentimentos (ou seja: "Isso é travesso ou agradável") em blocos arbitrários de texto e associá -lo a um usuário exclusivo. Usando esses dados, combinados com uma rede neural bastante ingênua e alguns dados de treinamento, os usuários podem ser identificados como "trolls".
Troll usa o Redis para armazenamento de dados. Depois que o Redis estiver em funcionamento, você pode instalar o Troll usando o 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 tentar classificar um usuário, você precisará treinar troll. Você pode especificar seus próprios dados de treinamento ou usar um conjunto básico incluído. Para carregar o conjunto de treinamento incluído:
troll . train ( function ( err , result ) {
console . dir ( result ) ; // { error: 0.0049931996067587685, iterations: 802 }
} ) ;Uma vez treinado, agora você pode classificar:
troll . classify ( 'user123' , function ( err , result ) {
console . dir ( result ) ; // { total: 9, sum: 36, troll: 0.010294962292857838 }
} ) ; O valor retornado para a tecla troll representa a probabilidade de esse usuário ser um troll. Em outras palavras, um valor de 0 provavelmente representaria um usuário particularmente amigável, enquanto um valor de 1 seria ... Uh, Ted Dziuba?
O módulo de análise de sentimentos subjacentes suporta pares de chave/valor adicionais ". Isso é útil em determinadas situações em que você pode excluir ou mesmo a lista negra certas palavras com base em um caso de uso específico. Por exemplo:
troll . inject ( {
'stupid' : - 5 ,
'lame' : - 5
} ) ;
troll . analyze ( 'This is totally stupid and lame!' , 'user123' , function ( err , result ) {
console . log ( result ) ; // -5.833
} ) ; Troll usa seu ambiente olhando para process.env para configurações de conexão. Se nenhum for encontrado, as configurações de conexão Redis padrão serão usadas:
TROLL_HOST: null
TROLL_PORT: null
TROLL_PASS: null
npm test