Chris Pollett > Students > Nukala

    Print View

    [Bio]

    [Blog]

    [CS297 Project Proposal]

    [Deliverable-1]

    [Deliverable-2]

    [Deliverable-3]

    [Deliverable-4]

    [CS 297 Report_PDF]

    [CS 298 Project Proposal]

    [CS 298 Report_PDF]

    [CS 298 Presentation_PDF]

























CS298 Proposal

A CHATBOT API FOR YIOOP

Harika Nukala (harika.nukala@sjsu.edu)

Advisor: Dr. Chris Pollett

Committee Members: Robert Chun, Leonard Wesley

Abstract:

Yioop is an open source, PHP search engine that can be configured to allow users to create discussion groups, blogs, wikis etc. The goal of this project is to add a chatbot feature and API for group threads. The chatbot API will allow developers to create new chatbots, powered by Natural Language Processing, that can interact with users in a groups feed page. These chatbots in Yioop will be able to remember past conversations and learn from them to answer new ones. They will be focused entirely on providing information and completing tasks for the users they interact with. These chatbots enables people to conversationally interact with the external services. Example chatbots that can be developed with this API is weather chatbots or book flight chatbots.

CS297 Results

  • Implemented a Facebook weather bot to get an overview of how a chatbot is built.
  • Created user interface such that user should be able to create accounts for bot users in Yioop.
  • Implemented functionality that activates bots in a group conversation whenever user asks for bot to converse in a thread.
  • Implemented a weather bot in Yioop that gives weather information of a specific location.

Proposed Schedule

Week 1: January 31, 2017 - February 06, 2017Deliverable-1:Create a user interface and database schema for a chatbot use case.
Week 2: February 07, 2017 - February 13, 2017Finish Deliverable-1
Week 3: February 14, 2017- February 20, 2017Read wit.ai NLP service documentation
Week 4,5: February 21, 2017 - March 6, 2017Deliverable-2:Build a NLP classifier that match entities and intent from the existing use cases.
Week 6: March 7, 2017 - March 13, 2017Finish Deliverable-2
Week 7: March 14, 2017 - March 20, 2017Create a database schema to store conversations
Week 8,9: March 21, 2017 - April 3, 2017Deliverable-3:Build a system such that Chatbot should be able to answer new ones from the past conversations.
Week 10: April 4, 2017 - April 10, 2017 Finish Deliverable-3
Week 11: April 11, 2017 - April 17, 2017Deliverable-4:Test previous deliverables with multiple bot users and mutliple users in a thread.
Week 12: April 18, 2017 - April 24, 2017Finish Deliverable-4
Week 13,14: April 25, 2017 - May 8, 2017Deliverable-5:CS 298 Report
Week 15: May 9, 2017 - May 16, 2017Deliverable-6:CS 298 Presentation

Key Deliverables:

  • Software
    • Create a user interface and database schema such that a user should be able to add intent and entities for a chatbot use case.
      1. Intent: An intent is nothing but what user wants to perform. For example: What is the weather in Paris? Here the intent can be get_weather.
      2. Entity: An entity is a dynamic variable in an expression. Intent look entities in expressions. For the same example above, the entity would be Paris.
    • Build a system such that it maps a expression to the existing intents and also extracts entities by using pattern matching technique.
    • Create a schema and build a system such that Chatbot should be able to answer new ones from the past conversations.
    • Test previous deliverables with multiple bot users and multiple users in a thread.
  • Report
    • CS298 Report
    • CS298 Presentation

Innovations and Challenges

  • Mapping a new expression to the existing intents and extracting entities using pattern matching.
  • Creating a NLP service that provides ability to understand basic language and use cases for the bots.
  • Creating a hundreds of bot users and normal users for testing the implemented system.

References:

https://wit.ai/docs

https://www.seekquarry.com/

https://api.slack.com/bot-users