You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
|
|
|
|
|
from chatterbot import ChatBot
|
|
|
|
from sys import stdin, stderr, stdout, argv
|
|
|
|
import nltk.data
|
|
|
|
|
|
|
|
|
|
|
|
text = stdin.read()
|
|
|
|
|
|
|
|
sent_detector = nltk.data.load('tokenizers/punkt/english.pickle')
|
|
|
|
sentences = sent_detector.tokenize(text.strip())
|
|
|
|
|
|
|
|
ns = []
|
|
|
|
|
|
|
|
chatbot = ChatBot(
|
|
|
|
'Ron Obvious',
|
|
|
|
trainer='chatterbot.trainers.ChatterBotCorpusTrainer',
|
|
|
|
output_format="text"
|
|
|
|
)
|
|
|
|
|
|
|
|
# Train based on the english corpus
|
|
|
|
chatbot.train("chatterbot.corpus.english")
|
|
|
|
|
|
|
|
for sen in sentences:
|
|
|
|
# Get a response to an input statement
|
|
|
|
response=chatbot.get_response(sen)
|
|
|
|
ns.append(sen)
|
|
|
|
ns.append(response.text)
|
|
|
|
|
|
|
|
|
|
|
|
file = open(argv[1],'w')
|
|
|
|
|
|
|
|
file.write("\n".join(ns))
|
|
|
|
|
|
|
|
file.close()
|