def test_remover_usuarios_con_acento(self): tweet = Tweet() tweet.id = 301726981937057792 tweet.texto = "#ThankYou @clauditaa_love @vivirocha17 @jeanm23 @freddycastro19 @eleze12" \ + " @josférsp @vicenteanthonio Retuiters destacados de hoy, gracias!" tweet.favoritos = 0 tweet.retweets = 71 tweet.es_humor = 1 tweet.cuenta = 142482558 self.assertEqual(remover_usuarios(tweet.texto), "#ThankYou Retuiters destacados de hoy, gracias!", "El texto sin los usuarios no es el esperado")
def test_remover_usuarios_con_acento(self): tweet = Tweet() tweet.id = 301726981937057792 tweet.texto = "#ThankYou @clauditaa_love @vivirocha17 @jeanm23 @freddycastro19 @eleze12" \ + " @josférsp @vicenteanthonio Retuiters destacados de hoy, gracias!" tweet.favoritos = 0 tweet.retweets = 71 tweet.es_humor = 1 tweet.cuenta = 142482558 self.assertEqual( remover_usuarios(tweet.texto), "#ThankYou Retuiters destacados de hoy, gracias!", "El texto sin los usuarios no es el esperado")
def calcular_feature(self, tweet): oraciones = Freeling.procesar_texto(remover_hashtags(remover_usuarios(tweet.texto))) tokens = Freeling.get_tokens_de_oraciones(oraciones) cant_antonimos = 0 for token in tokens: antonimos = [] for synset in self.wncr.synsets(token.lemma): for lemma in synset.lemmas(): antonimos += [lemma_antonimo.name() for lemma_antonimo in lemma.antonyms()] for otro_token in tokens: if otro_token.lemma in antonimos: cant_antonimos += 1 break if len(tokens) == 0: return 0 else: return cant_antonimos / math.sqrt(len(tokens)) / 2.0 # divido entre 2 para contar una vez cada par