Assignment 3 Due Date
March 20th, 2019, 11:59 PM.
Programming Features (Min: 30 points, Max: 50 points)
In this assignment, we will use a “buffet” setup for developing your program. Select any feature(s) from the list below to work on. If you have suggestions, bring it up with the instructor and it can be added to the list with an appropriate number of points.
- 5 points: Make a simple GUI so that the user is typing into a nicer interface and can view a recent history of the conversation.
- 2 points: Add an extra topic to your agent’s repertoire. Ensure this topic has similarities with the original topic. For example, if your original topic is volleyball, you may want to add basketball as a second topic.
- 3 points: Add a feature that enables your agent to give at least 5 different reasonable responses when the user enters something outside the two topics.
- 5 points: Add a feature that enables your agent to handle spelling mistakes of the words that your agent is supposed to recognize. Do not hardcode your solution. Develop a general feature you can use for all the words your agent has, rather than hardcoding a bunch of possible mistakes people could make. For example, use the Porter Stemmer, or some other pre-established algorithm.
- 10 points each: Use of language toolkits, incorporate feature to improve your conversation’s flow:
- Synonym recognition – WordNet (you’ll need a Java API to it)
- POS tagging – Stanford toolkit, OpenNLP
- Named entity recognition – Stanford toolkit, OpenNLP
- Phrasal – Stanford toolkit
- Coreference Resolution – Stanford toolkit, OpenNLP
- Sentiment analysis tools – Stanford toolkit
- 15 points: Conversation with another agent (built by a student in this class) via sockets
Note: any other feature, please discuss before implementing…
Important Note: The number of points associated with each feature is to indicate the maximum number of points you could get for that feature. The quality of the feature will still need to be assessed upon submission.
Documentation (30 points)
You are to submit the following for your system:
- 2 points: README file in your repository describing what you’ve done. If you’ve cloned your A2, you are likely to just add onto the README in this case. If you’ve changed a lot since A2, you will have to rewrite the README so it reflects your current submission.
- 5 points: At the end of your README file, include:
- a list of each feature you programmed for this assignment
- for each item on that list, explain briefly how you used that feature to improve your agent’s conversation or your overall system
- for each explanation, give a snippet of a conversation that demonstrates your feature
- 3 points: Provide a Level 0 DFD for your system with description.
- 5 points: Provide a Level 1 DFD for your system with description.
- 5 points: Submission of your GitHub repository. Graph showing different
features developed on a separate branch and the commits made in the
- 5 points: Include sample output in your project report. Have one dialogue (at
least 30 turns) that show a good or feasible conversation — ensure your new features are demonstrated! Document a list of limitations of your program, and have at least two short dialogues that show when your agent is not able to handle the conversation properly.
- 5 points: Based on your system, include a list of at least 5 features that you can extract from your code or design that can be shared with others as an API.
Presentation (5 points)
This will be done *after* the due date. A 60 to 90 second video of your assignment showing:
- A brief description of your program’s conversational topic
- Each feature you’ve programmed and how you used it to improve either the conversation or the overall system (since A2)
- A description of your DFDs
- You should narrate and/or provide subtitles
- 30-50 points: For all chosen programming features listed above.
- 30 points: For all the documentation listed above.
- 5 points: Video submission.
本网站支持淘宝 支付宝 微信支付 paypal等等交易。如果不放心可以用淘宝交易！
E-mail: [email protected] 微信:dmxyzl003