Guest User

Untitled

a guest
Apr 27th, 2018
108
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.90 KB | None | 0 0
  1. from sumy.parsers.plaintext import PlaintextParser
  2. from sumy.nlp.tokenizers import Tokenizer
  3. from sumy.summarizers.lsa import LsaSummarizer as Summarizer
  4. from sumy.nlp.stemmers import Stemmer
  5. from sumy.utils import get_stop_words
  6. from chatterbot import ChatBot
  7. from chatterbot.trainers import ListTrainer
  8. import re
  9. import mysql.connector
  10.  
  11. # Requires: chatterbot sumy, a wiki...
  12.  
  13. bot = ChatBot(
  14. 'Teddy',
  15. storage_adapter='chatterbot.storage.SQLStorageAdapter',
  16. input_adapter='chatterbot.input.TerminalAdapter',
  17. output_adapter='chatterbot.output.TerminalAdapter',
  18. database='./database.sqlite3'
  19. )
  20. bot.set_trainer(ListTrainer)
  21.  
  22. cnx = mysql.connector.connect(user='XXXXXXXXX', password='XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX',
  23. host='127.0.0.1',
  24. database='my_wiki')
  25. cursor = cnx.cursor()
  26. print('Loading wiki data...')
  27. cursor.execute("SELECT old_text FROM text")
  28. result = cursor.fetchall()
  29. for row in result:
  30. sat = str(row[0])
  31. name = re.findall(r"'''(.*?)'''", sat)
  32. if name:
  33. soup = name[0]
  34. data = re.sub("[[]", '', soup)
  35. data1 = re.sub("[]]", '', data)
  36. data2 = re.sub("[']", '', data1)
  37. print(data2)
  38. str1 = str(data2)
  39. sentence = ''
  40. validLetters = ".abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ "
  41. text = ''.join([char for char in sat if char in validLetters])
  42. LANGUAGE = "english"
  43. SENTENCES_COUNT = 20
  44. parser = PlaintextParser.from_string(text, Tokenizer(LANGUAGE))
  45. stemmer = Stemmer(LANGUAGE)
  46. summarizer = Summarizer(stemmer)
  47. summarizer.stop_words = get_stop_words(LANGUAGE)
  48. for sentence in summarizer(parser.document, SENTENCES_COUNT):
  49. bot.train([
  50. str1,
  51. sentence,
  52. ])
  53.  
  54. print('Done loading wiki data... Database has been saved.')
  55. while True:
  56. try:
  57. bot_input = bot.get_response(None)
  58.  
  59. except(KeyboardInterrupt, EOFError, SystemExit):
  60. cnx.close()
  61. break
Add Comment
Please, Sign In to add comment