Advertisement
Guest User

Untitled

a guest
Jul 24th, 2017
59
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.71 KB | None | 0 0
  1. #encoding: utf-8
  2. #!/usr/bin/env python
  3. from textblob.classifiers import NaiveBayesClassifier
  4. from textblob import TextBlob
  5. import logging
  6.  
  7. class Talk(object):
  8. """A classe Talk é responsável por retornar a resposta
  9. de uma frase, baseando nas informações exportadas. Utilizando a classificação
  10. de acordo com o teorema de Bayes
  11. """
  12. def __init__(self):
  13. """
  14. Construtor da classe
  15.  
  16. cl -> Armazena o classificador
  17. accuracy -> Armazena a precisão do algoritmo
  18. """
  19. self.__cl = None
  20. self.__accuracy = 0
  21.  
  22.  
  23. def train(self, train_set):
  24. """
  25. Treina com a lista de informações formada de frases e suas
  26. respectivas classificações:
  27. """
  28.  
  29. logging.debug('Inicia treinamento da previsão de intenção')
  30. self.__cl = NaiveBayesClassifier(train_set)
  31. logging.debug('Treinamento da previsão de intenção finalizado')
  32.  
  33. def test(self, test_set):
  34. """
  35. Realiza testes com a lista de informações formada
  36. de frases e sua respectiva classificação para obter a precisão:
  37. """
  38.  
  39. logging.debug('Inicia teste da previsão de intenção')
  40. self.__accuracy = self.__cl.accuracy(test_set)
  41. logging.debug('Teste da previsão de intenção finalizado')
  42. logging.info('Precisão da previsão: {}'.format(self.__accuracy))
  43.  
  44. def response(self, phrase):
  45. """
  46. Retorna a rasposta da frase de acordo com o classificador criado
  47. """
  48. logging.debug('Analisa a frase "{}"'.format(phrase))
  49. blob = TextBlob(phrase,classifier=self.__cl)
  50. result = blob.classify()
  51. logging.debug('Resposta: "{}"'.format(result))
  52. return result
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement