1
在Django管理,訓練一直使用空聊天機器人會話表
python manage.py train
上述代碼填充具有基於訓練數據的發言,並響應表中執行之後的聊天機器人轉換表是空的yml文件。這可以。
但是,在測試過程中,發佈到chatbot和響應的語句應該轉到空的會話表中,不應該添加到訓練語句和響應數據表中。
在Django管理,訓練一直使用空聊天機器人會話表
python manage.py train
上述代碼填充具有基於訓練數據的發言,並響應表中執行之後的聊天機器人轉換表是空的yml文件。這可以。
但是,在測試過程中,發佈到chatbot和響應的語句應該轉到空的會話表中,不應該添加到訓練語句和響應數據表中。
當您啓動對話界面時,機器人將開始將所有對話記錄到數據庫中。
如果你看看聊天機器人的source code,如果對話是存在於數據庫,則通話將追加到現有對話,否則它會創建一個新的標識
conversation.id = request.session.get('conversation_id', 0)
existing_conversation = False
try:
Conversation.objects.get(id=conversation.id)
existing_conversation = True
except Conversation.DoesNotExist:
conversation_id = self.chatterbot.storage.create_conversation()
request.session['conversation_id'] = conversation_id
conversation.id = conversation_id
if existing_conversation:
responses = Response.objects.filter(
conversations__id=conversation.id
)
for response in responses:
conversation.statements.append(response.statement.serialize())
conversation.statements.append(response.response.serialize())
return conversation
對話
的樣品Django的聊天機器人管理頁面讓我知道你是否需要任何進一步的幫助。
太棒了!感謝您的澄清。唯一需要的其他幫助是w.r.t.到我的另一個[post](https://stackoverflow.com/questions/45910997/bestmatchadapter-confuse-two-different-questions-with-same-response)。請讓我知道你的意見。再次感謝。 –
當然我會盡快做 –
謝謝。不過,我覺得有重複正在進行,我希望未來的聊天機器人發佈會糾正這一問題。會話表應該只包含發佈的用戶聲明和響應。聲明和響應表應該只有使用「python manage train」填充的培訓數據,而不包含用戶輸入的其他內容。 –