Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

112
Vistas
Cómo usar require js para hacer un análisis de sentimiento en un montón de texto

Fondo

Tengo un archivo json llamado Dictionary.js , contiene objetos de palabras. A cada palabra se le asigna un valor entero en función de si es positivo o negativo. Si la palabra es positiva, su valor debe ser mayor que 0; si es negativo, el valor asignado a esa palabra debe ser menor que 0. Si no se encuentra una palabra en esta matriz, se le asigna un valor predeterminado de 0. El archivo javascript que tengo resume todos los valores de las palabras y da una puntuación resultante que debo usar para analizar si el sentimiento del comentario fue negativo, neutral o positivo.

Implementación

Después de enterarme de que no puedo leer el archivo de notación de objetos de JavaScript directamente, decidí usar require.js para poder usar requirejs(['path.json'],function(data){}) para leerlo.

Agregué un detector de eventos onkeydown() a la entrada de entrada que acepta los comentarios del usuario y adjunté una función de javascript llamada sentiments que se supone que debe alertar a la puntuación a medida que el usuario continúa escribiendo palabras. Hay muchas funciones lambda para manejar el procesamiento de textos desde el objeto json, pero mi código no funciona por alguna razón, por favor ayuda...

 <!--dependency for require.js--> <head> <script src='require.js'></script> </head> <body> <input type="text" id="user_comment" onkeydown="sentiments()"/> <script> let comment=document.getElementById("user_comment").value; function sentiments(){ requirejs(["Dictionary.json"],function(data){ let AFINN=json.parse(data); const tokenize = text => text.toLowerCase().split(" "); const deleteUselessChars = word => word.replace(/[^\w]/g, ""); const rateWord = word => (word in AFINN ? AFINN[word] : 0); const sum = (x, y) => x + y; const analyseText = text => tokenize(text) .map(deleteUselessChars) .map(rateWord) .reduce(sum); }); //supposed to get integer alerts from this alert(analyseText(comment)); } </script> </body>
about 4 years ago · Juan Pablo Isaza
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda