Python 3.x 如果没有找到响应,Python Chatterbot会选择类似的文本
如果在Chatterbot中找不到响应,我如何选择类似的文本而不是随机响应?关于这个问题已经讨论了几个小时,找不到解决方案 我的意见是:A怎么了 类似的文字发现:我和你在一起肉汤(0.63信心) 但它并没有选择它,而是Chatterbot选择了一个随机响应Python 3.x 如果没有找到响应,Python Chatterbot会选择类似的文本,python-3.x,chatterbot,Python 3.x,Chatterbot,如果在Chatterbot中找不到响应,我如何选择类似的文本而不是随机响应?关于这个问题已经讨论了几个小时,找不到解决方案 我的意见是:A怎么了 类似的文字发现:我和你在一起肉汤(0.63信心) 但它并没有选择它,而是Chatterbot选择了一个随机响应 import string from chatterbot import ChatBot from chatterbot.trainers import ListTrainer import chatterbot from django.co
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
日志:
我认为chatterbot中的阈值是最大的相似性阈值,所以它搜索可能的答案直到这个阈值。例如,如果您将其设置为0.64,它可能会起作用。感谢您的回答,我将阈值更改为“最大相似性”阈值:0.35,但仍然得到相同的结果,我认为问题在于没有可用的响应,因此如果没有响应,应使用相似,在文档中找不到任何内容:(您也应该将阈值设置得更高。最大相似性\u阈值意味着它使用此阈值或更低的阈值搜索答案。您的阈值更大,因此即使它存在,您也不会得到响应。我知道,我将其更改为0.64,结果仍然相同。我认为这是因为chatterbot没有将类似文本注册为可能的响应。我不明白你的意思相似。你有你的输入回复样本吗?我认为chatterbot中的阈值是最大的相似性阈值,因此它会搜索可能的答案,直到这个阈值。例如,如果你将其设置为0.64,它可能会工作。感谢你的回答,我将阈值更改为“最大相似性阈值”:0.35,但是仍然得到相同的结果,我认为问题在于没有可用的响应,因此如果没有响应,应使用类似的,在文档中找不到任何内容:(您也应该将阈值设置得更高。最大相似性\u阈值意味着它使用此阈值或更低的阈值搜索答案。您的阈值更大,因此即使它存在,您也不会得到响应。我知道,我将其更改为0.64,结果仍然相同。我认为这是因为chatterbot没有将类似文本注册为可能的响应.我不明白你的意思。你有你的输入和回复的样本吗?
[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.