How could I select similar text instead of a random response if no response is found in Chatterbot? Been on this issue for hours, cannot find a solution...
My input is: What's up brotha Similar text found: I'm with you brotha (0.63 confidence) But it does not select it, instead Chatterbot selects a random response
import string
from chatterbot import ChatBot
from chatterbot.trainers import ListTrainer
import chatterbot
from django.contrib.auth.models import User
from django.utils.crypto import get_random_string
from celery import shared_task
@shared_task
def search_for_reply(input_reply):
# Create a new chat bot named Charlie
print(input_reply)
chatbot = ChatBot('Charlie',
read_only=True,
storage_adapter='chatterbot.storage.SQLStorageAdapter',
database_uri='sqlite:////home/knaitas/myproject/database.sqlite3',
logic_adapters=[
{
"import_path": "chatterbot.logic.BestMatch",
'threshold': 0.35,
"statement_comparison_function": "chatterbot.comparisons.SentimentComparison",
"response_selection_method": "chatterbot.response_selection.get_first_response"
}
]
)
response = chatbot.get_response(input_reply)
return response
Logs:
[2019-12-24 11:43:14,914: WARNING/ForkPoolWorker-1] What's up brotha
[nltk_data] Downloading package stopwords to
[nltk_data] /home/knaitas/nltk_data...
[nltk_data] Package stopwords is already up-to-date!
[nltk_data] Downloading package averaged_perceptron_tagger to
[nltk_data] /home/knaitas/nltk_data...
[nltk_data] Package averaged_perceptron_tagger is already up-to-
[nltk_data] date!
[2019-12-24 11:43:18,090: INFO/ForkPoolWorker-1] Beginning search for close text match
[2019-12-24 11:43:18,091: INFO/ForkPoolWorker-1] Processing search results
[2019-12-24 11:43:21,814: INFO/ForkPoolWorker-1] Similar text found: I'm with you brotha 0.63
[2019-12-24 11:43:21,817: INFO/ForkPoolWorker-1] Using "I'm with you brotha" as a close match to "What's up brotha" with a confidence of 0.63
[2019-12-24 11:43:24,753: INFO/ForkPoolWorker-1] No responses found. Generating alternate response list.
[2019-12-24 11:43:25,358: INFO/ForkPoolWorker-1] No known response to the input was found. Selecting a random response.