diff --git a/generator/ctrl/ctrl_generator.py b/generator/ctrl/ctrl_generator.py index d262108..365bd7d 100644 --- a/generator/ctrl/ctrl_generator.py +++ b/generator/ctrl/ctrl_generator.py @@ -138,7 +138,6 @@ class CTRLGenerator(): self.penalty = 1.2 self.topk = 0 - def configure_verb_probs(self, probabilities, options): # Make sure only a possible verb is chosen. @@ -169,6 +168,8 @@ class CTRLGenerator(): print(" DEBUG:: Prompt to generate by is \n", prompt) print("******************************") + print("Disallowed used verbs: ", options["used_verbs"]) + prompt_length = len(prompt) # tokenize provided prompt @@ -294,7 +295,7 @@ class CTRLGenerator(): tokens_generated_so_far = ' '.join([self.idx2word[c] for c in tokens_generated[0].squeeze()[:token + 2]]) tokens_generated_so_far = re.sub('(@@ )', '', string=tokens_generated_so_far) tokens_generated_so_far = re.sub('(@@ ?$)', '', string=tokens_generated_so_far) - print(tokens_generated_so_far) + #print(tokens_generated_so_far) result = tokens_generated_so_far[prompt_length:] first_token = False diff --git a/requirements.txt b/requirements.txt index b18ec72..aef2c9e 100644 --- a/requirements.txt +++ b/requirements.txt @@ -4,3 +4,4 @@ flask regex gunicorn google-api-python-client +profanityfilter diff --git a/story/story_manager.py b/story/story_manager.py index 0a71608..188e7c0 100644 --- a/story/story_manager.py +++ b/story/story_manager.py @@ -173,6 +173,7 @@ class CTRLStoryManager(ConstrainedStoryManager): result = self.generate_action_result(self.story_context(), phrase, options=options) used_verb = result[0].split()[1] + print("Used verb is ", used_verb) used_verbs.append(used_verb) results.append(result) diff --git a/story/utils.py b/story/utils.py index 29c8867..68fb7ab 100644 --- a/story/utils.py +++ b/story/utils.py @@ -3,6 +3,9 @@ import yaml YAML_FILE = "story/story_data.yaml" +from profanityfilter import ProfanityFilter +pf = ProfanityFilter() + def get_story_start(key): with open(YAML_FILE, 'r') as stream: @@ -19,12 +22,7 @@ def get_action_verbs(key): # TODO add capital words to remove words def remove_profanity(text): - remove_words = ["fuck", "Fuck", "shit", "rape", "bastard", "bitch"] - for word in remove_words: - text = text.replace(word, "****") - - return text - + return pf.censor(text) def cut_trailing_quotes(text): num_quotes = text.count('"') @@ -148,17 +146,4 @@ def second_to_first_person(text): possible_verbs = ["ask", "go", "run", "open", "look", "walk", "make", "try", "say", "tell", "attack", "use", "turn", "fight", "scream", "yell"] def get_possible_verbs(): - return possible_verbs - -if __name__ == '__main__': - f = open("test.txt", "r") - test_text = f.read() - - print("Text is \n\n",test_text) - - print("First person: ") - converted = second_to_first_person(test_text) - print(converted) - - print("Back to second person: ") - print(first_to_second_person(converted)) \ No newline at end of file + return possible_verbs \ No newline at end of file