parent
596865e49d
commit
762b0fd320
@ -0,0 +1,48 @@
|
||||
from chatterbot import utils
|
||||
from chatterbot.conversation import Statement
|
||||
from chatterbot.trainers import Trainer
|
||||
|
||||
|
||||
class TwitterCorpusTrainer(Trainer):
|
||||
def train(self, *args, **kwargs):
|
||||
"""
|
||||
Train the chat bot based on the provided list of
|
||||
statements that represents a single conversation.
|
||||
"""
|
||||
import twint
|
||||
|
||||
c = twint.Config()
|
||||
c.__dict__.update(kwargs)
|
||||
twint.run.Search(c)
|
||||
|
||||
|
||||
previous_statement_text = None
|
||||
previous_statement_search_text = ''
|
||||
|
||||
statements_to_create = []
|
||||
|
||||
for conversation_count, text in enumerate(conversation):
|
||||
if self.show_training_progress:
|
||||
utils.print_progress_bar(
|
||||
'List Trainer',
|
||||
conversation_count + 1, len(conversation)
|
||||
)
|
||||
|
||||
statement_search_text = self.chatbot.storage.tagger.get_text_index_string(text)
|
||||
|
||||
statement = self.get_preprocessed_statement(
|
||||
Statement(
|
||||
text=text,
|
||||
search_text=statement_search_text,
|
||||
in_response_to=previous_statement_text,
|
||||
search_in_response_to=previous_statement_search_text,
|
||||
conversation='training'
|
||||
)
|
||||
)
|
||||
|
||||
previous_statement_text = statement.text
|
||||
previous_statement_search_text = statement_search_text
|
||||
|
||||
statements_to_create.append(statement)
|
||||
|
||||
self.chatbot.storage.create_many(statements_to_create)
|
Loading…
Reference in new issue