diff --git a/NLP/1-Introduction/solutions/lesson1_task2.py b/NLP/1-Introduction/solutions/lesson1_task2.py new file mode 100644 index 00000000..bf6959e0 --- /dev/null +++ b/NLP/1-Introduction/solutions/lesson1_task2.py @@ -0,0 +1,44 @@ +import random +from textblob import TextBlob +from textblob.np_extractors import ConllExtractor +extractor = ConllExtractor() + +def main(): + print("Hello, I am Marvin, the friendly robot.") + print("You can end this conversation at any time by typing 'bye'") + print("After typing each answer, press 'enter'") + print("How are you today?") + + while True: + # wait for the user to enter some text + user_input = input("> ") + + if user_input.lower() == "bye": + # if they typed in 'bye' (or even BYE, ByE, byE etc.), break out of the loop + break + else: + # Create a TextBlob based on the user input. Then extract the noun phrases + user_input_blob = TextBlob(user_input, np_extractor=extractor) + np = user_input_blob.noun_phrases + response = "" + if user_input_blob.polarity <= -0.5: + response = "Oh dear, that sounds bad. " + elif user_input_blob.polarity <= 0: + response = "Hmm, that's not great. " + elif user_input_blob.polarity <= 0.5: + response = "Well, that sounds positive. " + elif user_input_blob.polarity <= 1: + response = "Wow, that sounds great. " + + if len(np) != 0: + # There was at least one noun phrase detected, so ask about that and pluralise it + # e.g. cat -> cats or mouse -> mice + response = response + "Can you tell me more about " + np[0].pluralize() + "?" + else: + response = response + "Can you tell me more?" + print(response) + + print("It was nice talking to you, goodbye!") + +# Start the program +main()