W2-TTS-Sex Shop Bot

Before getting my hands on making an interface, I struggled to figure out some of the tech and code parts of this week's material. However, after getting some help from my friend and reading comments carefully, I understood and tested Pedro's demo code and was comfortable making the machine reading out my text inputs. After my office hour with Pedro, I finally understood what we need to do for this assignment and learned how to request input from the user on the terminal with prompt-sync.


When I think of voice bots or softbots, I immediately recall those annoying "AI" voice assistants many companies are using to replace human calling centers. In my opinion, they only utilized the robots to reduce costs but didn't provide any additional value for their customers. Comparing to real human interactions, a substantial advantage of bots is they don't have emotions, and they don't judge. Like my old doorman at my last building, I knew he was judging me every time I came home at 3 Am on weekend nights. I wish he could be an automatic sliding door. There are interactions that people feel embarrassed to talk with others, like sex. And conversations with sex shop owners always require immense courage. So I think a virtual sex shop is a solution for people who want to explore sex shops and are embarrassed to enter a real one.


FYI. I understand there's a whole spectrum of sexual orientations and preferences. For the sake of this one-week assignment, I, unfortunately, had to limit the project to two genders and two sexual orientations.


I was thinking of building a profile for each customer, including name, gender, and sexual orientation.

class Customer {
    constructor(name, gender, genderInto) {
      this.name = name;
      this.gender = gender;
      this.genderInto = genderInto;
      if (this.gender == this.genderInto){
          this.orientation = "gay";
      } else {
          this.orientation = "straight";
      }
    }
}

After asking which gender they are into, the robot can figure out their sexuality and change the gender of the voice assistant. I think it helps the customer when they hear a voice from the gender they are attracted to. I switched the voice without notifying the users in the first attempt, and I think they will scare them. So I added an introduction when the agent changed to the male assistant.

if (customer.genderInto =="man"){
    voice = "voice=en-US_HenryV3Voice";
    say("Hi, " +customer.name+ "I'm Molly's partner, Adam. I will take over and help you from now on.")
    say ("Now ," + customer.name + ", tell me what are you looking for today? Right now I can help you with Lube ,or toys");
    console.log("Please choose from: lube / toy");
}

The customer profile came in handy when I needed to refer to their information frequently. And I always remembered to call their name so that they can feel a closer connection with the robot.

To reduce my workload and simplify the process, I used the same sentences but used variables to swap out different parts to compose various sentences.

say (customer.name + ", most of our ," + customer.orientation + " lovers enjoy our " + recommendedLubeType + " based " + category + " and I would highly recommended this type of lube as well. Would you like to learn our best selling " + recommendedLubeType + " based product?");    
    console.log("Would you love to learn our best selling" + recommendedLubeType + " based lube? ( yes / no )")
    var lubeq1 = prompt("xoxo>>: ");

To make sure the user will enter the correct prompt, I displayed keywords by using console log. I think this is a reasonable addition to the interface, only to make sure the interface is usable.

say("Wonderful! I can help you choosing masturbators, dildos and vibrators. What are you looking for today?")
            console.log("masturbators / dildos / vibrators / something else");
            toyCategory = prompt("xoxo>>: ");

 

Comparing to the online sex shops, I think a voice bot gives a human touch to the shopping experience. People enjoy recommendations but also fear the embarrassment of entering a physical store. However, the version I currently built is very limited in functions. Customers can only passively answer prompted questions. It is less efficient and doesn't give the customer the feeling that they have full control of their activities. It doesn't help to provide a comfortable shopping environment for people doing something they were anxious about. However, I think the natural language process could be an excellent solution for this problem.

 

Code can be found here on Github.

Previous
Previous

W3-STT-Smart ATM Bot