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