关键词 > Python代写

Deliverable 1. Interactive NLP-based AI system

发布时间:2023-12-14

Hello, dear friend, you can consult us at any time if you have any questions, add WeChat: daixieit

Deliverable 1. Interactive NLP-based AI system

You should build a dialogue-based system which allows a user to complete a transaction (see below) with an AI, commonly known as a chatbot, or a conversational AI. The work will be based on what you have learned, using Python and a restricted set of allowed libraries1 . A lot of Python libraries can automate much of the process, so it is of the utmost importance that you do not use them. Any part of the assessment that is performed by a library will not be counted towards your grade.

The two key objectives for this coursework are:

.    Natural  language  processing  architecture:  the  system  needs  to  include  the  architectural features that show what you have learned about processing text in lectures and labs.

.    Conversational design: the system should implement the conversational design principles as covered in lectures to ensure a usable and satisfactory user experience of your chatbot.

The system’s main functionality should be focused on supporting the user in making a transaction, i.e., it should support users in completing a task, such as booking and ordering in a specific domain of your choice. Some examples (not an exhaustive list) of acceptable tasks include:

.    Travel booking

.     Restaurant booking

.    Cinema/theatre/gig ticket booking

.    Groceries and home delivery ordering

.    Cooked food home delivery ordering

.    Cook-along recipe provision

.     Uni timetable management

.    Calendar management

.     Kitchen inventory management

.     Playlist management

.    Your turn, be creative! If you are in doubt whether your idea satisfies the requirements, ask us in the lab.

1.1   Architecture

This  section  contains  a   non-exhaustive  list  of  common  tasks   in  interactive  NLP-based  systems (chatbots) that you are expected to implement. They are not all equal in complexity or importance, e.g., intent matching is necessary for any multi-usage chatbot while small talk is not.

Expected features:

1.  Intent matching

Intent matching is a necessary part of any system which aims to do more than one task. It consists in taking in a user input and predicting the intent of the user, i.e., which function of the system the user is intending to use. Such functions could be storing/showing the user’s name, outputting the current date and time, starting a transaction dialogue, or anything else described in this document. Intent detection can be done at different degrees of complexity, from simple text matching to similarity- based and machine learning-based approaches.

2.  Identity management

Identity management refers to being able to acquire, memorise, and use the name of the person currently using the system. It consists in functions such as detecting name statements (e.g., “my name is X”, “call me X”, etc.) and storing the name to be used either in basic statements addressing the user, or in explicit name output functions (e.g., “what is my name?”).

3.  Transactions

A transactional dialogue system is a tool that allows for an artificial system to dialogue with a human operator in order to achieve a specific set of goals, which are transactional in nature, such as booking a train/plane ticket, a table in a restaurant, ordering an item from a store, etc.

Here is an example of a turn-by-turn dialogue between an operator and a travel booking system, to illustrate the range of tasks that such system would need to accomplish to properly function.

Turn    Author    Text

1

Bot

Hello, welcome to the Skynet Travel Agency, how may I help?

2

User

I would like to book a flight from London to Paris

3

Bot

Would that be a return trip or a single flight?

4

User

A return trip please

5

Bot

When were you thinking of going?

6

User

From the 10th  to the 19th?

7

Bot

I’m sorry, I am going to need more details than that – please use the precise dates of your trip and whether you are flexible in your dates

8

User

10/11/2021 to 19/11/2021, and I am flexible

9

Bot

Thank you, I will search my database for available tickets. Please wait.

10

Bot

I have one flight available on the 10th  from London to Paris, but no flight from    Paris to London on the 19th, would you like to change the return date or book a single flight?

11

User

Change the date to the 20th

4.  Information retrieval & question answering

A conversational information retrieval system is an information retrieval tool that interprets a query from a dialogue with a user and returns a set of one or more results which are deemed to be relevant, such as direct answers, webpagesbooksrecipessongsmovies, etc. It requires having some form of database of documents and an indexing system. A question answering system can be seen as a special case of information retrieval where the documents are question-answer pairs, and only the answer is retrieved.

5.  Small talk

A small talk function refers to the ability to have short discussions about shallow topics, such as “hello”, “how are you”, “how’s the weather”, etc. There is no expectation of long conversations due to them  being one-off topics, but they can either be single turn (question, answer) or multi-turn (question,  answer, and one or more follow-ups).

1.2   Conversational Design

Your chatbot should implement the following conversational design principles (as covered in

lectures). You should also comment on the principles where appropriate in your report and video.

1.    Prompt design

Have conversational markers and key phrases been used? Are the prompts clear and concise? Are prompts structured to support the user/task?

2.    Discoverability

Is contextual help provided (e.g., what can the user do next?), and help to discover functionality and content?

3.    Error handling

What error handling strategies are being used? Are they used effectively?

4.    Personalisation

Is the experience somehow personalised to the user?

5.   Confirmation

What confirmation strategies are used? Are these effective?

6.   Context

Is context tracking used effectively?

1.3   Marking criteria  system

Your system will be marked using mainly the following criteria:

1.    Core architecture / features (50%)

a.    Structure and commenting

b.    Effect of bugs

c.    Presence of non-referenced code

d.    Quality of implementation

2.    Conversational design (50%)

a.    Quality of design principles implementation

b.    Conversational user experience


If your system does not work on a standard installation such as the A32 computers or the virtual desktop, or if it does not make use of natural language processing as taught in the lectures and labs, you will get 0 marks.