Closed kbose02 closed 5 years ago
I am using the latest version of chatterbot C:\Users\XXX>python -m chatterbot --version 1.0.0
Hi @kbose02, I made a few changes to your code, try this:
from chatterbot import ChatBot #import the chatbot
from chatterbot.trainers import ChatterBotCorpusTrainer
import os
bot= ChatBot('Bot')
trainer = ChatterBotCorpusTrainer(bot)
corpus_path = 'C:/Users/XXX/Desktop/chatterbot-corpus-master/chatterbot_corpus/data/english/'
for file in os.listdir(corpus_path):
trainer.train(corpus_path + file)
while True:
message = input('You:')
print(message)
if message.strip() == 'Bye':
print('ChatBot: Bye')
break
else:
reply = bot.get_response(message)
print('ChatBot:', reply)
Also, please make sure to download the latest copy of the corpus data. I have made changes that fix a few lines of invalid data.
Thanks.. I am able to run the bot now. However, the following line always keeps coming up "No value for search_text was available on the provided input". Any idea how to suppress this. ++++++++++++ You:Hi Hi No value for search_text was available on the provided input ChatBot: How are you doing? You:I am doing fine I am doing fine No value for search_text was available on the provided input ChatBot: Good Morning You:Hello Hello ++++++++++++
Similar to @capaximperii's response in https://github.com/gunthercox/ChatterBot/issues/1589, you can set the following logging level to suppress that warning.
import logging
logger = logging.getLogger()
logger.setLevel(logging.CRITICAL)
Hi @kbose02, I made a few changes to your code, try this:
from chatterbot import ChatBot #import the chatbot from chatterbot.trainers import ChatterBotCorpusTrainer import os bot= ChatBot('Bot') trainer = ChatterBotCorpusTrainer(bot) corpus_path = 'C:/Users/XXX/Desktop/chatterbot-corpus-master/chatterbot_corpus/data/english/' for file in os.listdir(corpus_path): trainer.train(corpus_path + file) while True: message = input('You:') print(message) if message.strip() == 'Bye': print('ChatBot: Bye') break else: reply = bot.get_response(message) print('ChatBot:', reply)
Also, please make sure to download the latest copy of the corpus data. I have made changes that fix a few lines of invalid data.
While im running your code im getting this error
[nltk_data] Downloading package averaged_perceptron_tagger to
[nltk_data] /home/devraj/nltk_data...
[nltk_data] Package averaged_perceptron_tagger is already up-to-
[nltk_data] date!
[nltk_data] Downloading package punkt to /home/devraj/nltk_data...
[nltk_data] Package punkt is already up-to-date!
[nltk_data] Downloading package stopwords to /home/devraj/nltk_data...
[nltk_data] Package stopwords is already up-to-date!
Traceback (most recent call last):
File "chatbot_train.py", line 11, in
why i am getting no module error?
import yaml File "/usr/local/lib/python3.5/dist-packages/yaml/init.py", line 2, in from error import * ImportError: No module named 'error'
why i am getting no module error?
I am not sure, this is not an error that I have encountered before. However, I was able to Google the error message that you encountered, and I found this Sack Overflow answer that look like it might help explain the error that you are seeing: https://stackoverflow.com/a/50868994/1547223
I hope this helps.
hey @gunthercox
I'm getting an error " No module named 'chatterbot_corpus' " for the same code.
Hi @gopal-prasath This solution from a similar issue might resolve your error: https://github.com/gunthercox/chatterbot-corpus/issues/127#issuecomment-485808609
hey @gunthercox
I'm getting an error " No module named 'chatterbot_corpus' " for the same code.
Try to install chatterbot-corpus manually using following command pip3 install chatterbot-corpus
I am running the below code:
from chatterbot import ChatBot #import the chatbot from chatterbot.trainers import ListTrainer # Method to train chatterbot from chatterbot.trainers import ChatterBotCorpusTrainer import os
bot= ChatBot('Bot')
bot.set_trainer(ListTrainer)
trainer = ListTrainer('Bot')
for files in os.listdir ('C:/Users/XXX/Desktop/chatterbot-corpus-master/chatterbot_corpus/data/english/'): data = open ('C:/Users/XXX/Desktop/chatterbot-corpus-master/chatterbot_corpus/data/english/' +files, 'r').readlines() trainer.train('Bot')
while True: message =input('You:') if message.strip() != 'Bye': reply =bot.get_response(message) print('ChatBot:',reply) if message.strip() == 'Bye': print('ChatBot: Bye') break
I am getting the below error while running the code Test1.py: C:\Users\XXX>C:/Users/XXX\AppData\Local\Programs\Python\Python37-32\python.exe C:/Users/XXX\Desktop\ABC\Test1.py [nltk_data] Downloading package averaged_perceptron_tagger to [nltk_data] C:\Users\XXX\AppData\Roaming\nltk_data... [nltk_data] Package averaged_perceptron_tagger is already up-to- [nltk_data] date! [nltk_data] Downloading package punkt to [nltk_data] C:\Users\XXX\AppData\Roaming\nltk_data... [nltk_data] Package punkt is already up-to-date! [nltk_data] Downloading package stopwords to [nltk_data] C:\Users\XXX\AppData\Roaming\nltk_data... [nltk_data] Package stopwords is already up-to-date! List Trainer: [####### ] 33%Traceback (most recent call last): File "C:/Users/XXX\Desktop\ABC\Test1.py", line 12, in
trainer.train('Bot')
File "C:\Users\XXX\AppData\Local\Programs\Python\Python37-32\lib\site-packages\chatterbot\trainers.py", line 103, in train
statement_search_text = self.chatbot.storage.tagger.get_bigram_pair_string(text)
AttributeError: 'str' object has no attribute 'storage'