簡単なステートメントでトレーニングすることで、Chatterbot チャットボットを使い始めたところです。訓練されたステートメントに正確に答えることができ、単純な逸脱を理解することはできません. ボットが訓練された単語から選択し、最終的に応答するのに十分なほどインテリジェントになるにはどうすればよいでしょうか?
例: TrainData : Hi -> Hello TestData : Hi! .. これも Hello で応答する必要があります。
大規模なコーパスを使用してモデルをトレーニングする以外に、ボットに対して任意の構成を行うことができますか?
以下はサンプルコードです。
import json
from chatterbot import ChatBot
from chatterbot.trainers import ListTrainer
# Create a new instance of a ChatBot
bot = ChatBot(
'Terminal',
storage_adapter='chatterbot.storage.SQLStorageAdapter',
database_uri='sqlite:///database.sqlite3',
logic_adapters=[
{
'import_path': 'chatterbot.logic.BestMatch',
'default_response': 'I am sorry, but I do not understand.',
}
],
)
trainer = ListTrainer(bot)
trainer.train(["Hi", "Hello"])
trainer.train(["Bye", "Bye"])
bot_response = bot.get_response("Hi")
print(1),print(bot_response)
bot_response = bot.get_response("Hi there")
print(2),print(bot_response)
bot_response = bot.get_response("hi!")
print(3),print(bot_response)
このコードは、最初の質問と、回答できない次の 2 つの質問に対して有効な回答 Hello のみを返します。