parent
c14150ecb6
commit
b2606290e4
@ -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()
|
Loading…
Reference in new issue