/* * (non-Javadoc) * @see uni.edu.pe.analisisSentimental.service.TweetManagerService#recuperarTweets() */ public void recuperarYPersistirTweets() { logger.debug("<==== Inicio Method recuperarTweets a las " + new Date() + " ====>"); List<String> lstfuerteNegativa = new ArrayList<String>(); List<String> lstFuertePositiva = new ArrayList<String>(); List<PistaSubjetividad> lstPistaTotales = (ArrayList<PistaSubjetividad>) obtenerPistasFuertementeSubjetivas(); Utilitario.obtenerPistaSubjetividadFuertementeSubjetivas( lstPistaTotales, lstfuerteNegativa, lstFuertePositiva); List<Status> tweets = null; List<String> lstSQueryNegativa = new ArrayList<String>(); List<String> lstSQueryPositiva = new ArrayList<String>(); Set<String> setQueryNegativa = new HashSet<String>(); Set<String> setQueryPositiva = new HashSet<String>(); String query = null; for (String s : lstfuerteNegativa) { query = SIMBOLO_TAG + s + CARACTER_VACIO + QUERY_EXPRESIONES_NEGATIVAS; lstSQueryNegativa.add(query); } for (String s : lstFuertePositiva) { query = SIMBOLO_TAG + s + CARACTER_VACIO + QUERY_EXPRESIONES_POSITIVAS; lstSQueryPositiva.add(query); } for (int i = 0; i < NRO_LLAMADAS; i++) { int pos = (int) Math.floor((Math.random() * lstfuerteNegativa.size())); setQueryNegativa.add(lstSQueryNegativa.get(pos)); pos = (int) Math.floor((Math.random() * lstSQueryPositiva.size())); setQueryPositiva.add(lstSQueryPositiva.get(pos)); } if (logger.isDebugEnabled()) { logger.debug( "setQueryNegativa: size: " + setQueryNegativa.size() + " data: " + setQueryNegativa); logger.debug( "setQueryPositiva: size: " + setQueryPositiva.size() + " data: " + setQueryPositiva); } for (String s : setQueryNegativa) { tweets = ejecutarQueyEnBaseAConsulta(s); persistirTweets(tweets, s, COD_OPINION_NEGATIVA, COD_FINALIDAD_DATA_ENTRENAMIENTO); } tweets = null; for (String s : setQueryPositiva) { tweets = ejecutarQueyEnBaseAConsulta(s); persistirTweets(tweets, s, COD_OPINION_POSITIVA, COD_FINALIDAD_DATA_ENTRENAMIENTO); } tweets = null; }
public void tratarLenguajePostRM(Map<String, String> mapJergas, String codFinData) { List<TweetProcesado> ltp = tweetProcesadoDAO.obtenerTweetsParaTratamientoLenguajePostRM(codFinData); for (TweetProcesado tp : ltp) { String msg = tp.getTextoActual(); logger.debug("Parrafo antes: " + msg); msg = Utilitario.corrigeParrafo(msg, mapJergas); logger.debug("Parrafo despues: " + msg); tp.setTextoActual(msg); tp.setCodFaseTwitter(COD_FASE_TRATAMIENTO_LENGUAJE_JAVA_2); } tweetProcesadoDAO.guardarTweetsTratadosPorFaseTwitterBatch(ltp); }
/* * (non-Javadoc) * @see uni.edu.pe.analisisSentimental.service.TweetManagerService#tratarLenguajeTwitter() */ public void tratarLenguajeTwitter(String codFinData) { List<TweetProcesadoDto> ltpDto = obtenerTweetsParaTratamientoLenguaje(codFinData); List<TweetProcesadoDto> ltpExitosoDto = null; List<Long> lstNs = new ArrayList<Long>(); if (CollectionUtils.isNotEmpty(ltpDto)) { ltpExitosoDto = new ArrayList<TweetProcesadoDto>(); for (TweetProcesadoDto tpdto : ltpDto) { String mensaje = tpdto.getTextoInicial(); Set<String> setStr = Utilitario.generaSetFromString(mensaje); if (COD_FINALIDAD_DATA_ENTRENAMIENTO.equals(codFinData)) { // Eliminando los RT boolean isRt = Utilitario.isRetweet(setStr); if (isRt) { lstNs.add(tpdto.getIdTweet()); continue; } // Eliminando los positivos y negativos a la vez boolean isPosNeg = Utilitario.contieneEmoticonosPositivosNegativosEnSubString(mensaje); if (isPosNeg) { lstNs.add(tpdto.getIdTweet()); continue; } // Eliminando los ambiguos boolean isEmAmbiguo = Utilitario.contieneEmoticonoAmbiguoEnSubstring(mensaje); if (isEmAmbiguo) { lstNs.add(tpdto.getIdTweet()); continue; } } // Eliminando los emoticonos mensaje = Utilitario.removerMarcasDeTexto(mensaje, Utilitario.obtenerEmoticonosTotales()); // Convirtiendo a minuscula mensaje = mensaje.toLowerCase(); // Eliminando @marcas de usuario, #HashTags y Url String txtSinMarcas = Utilitario.removerMarcasDeTexto(mensaje, tpdto.getMarcasMensaje()); tpdto.setTextoProcesado(txtSinMarcas); ltpExitosoDto.add(tpdto); } guardarTextoProcesadoTratamientoTwitter(ltpExitosoDto); tweetProcesadoDAO.descartarTweetsNSBatch(lstNs); } }