Question: Case Stusy : You are required to develop a versatile online data annotation tool. The main task of a data annotation tool is the assign
Case Stusy : You are required to develop a versatile online data annotation tool. The main task of a data annotation tool is the assign a label to a sample, and repeat the process for samples in a data set. Most data annotation tools are restricted to samples of one type. However, you are required to design the system so that it can handle text samples, document samples, images, audio clips, and series data. In the future, other sample types may be added. Each sample type can have a different presentation, e.g. text samples can be shown in total, documents must be shown in parts, images can be viewed, audio must be played on the speakers etc. Labels can also be of different types, but for now, you need to handle integers, real numbers, and text labels. Each sample in a dataset can be associated with one or more labels. A dataset usually has many samples which need to be associated with a label by human beings, which is the crux of an annotation task.
The data annotation tools have multiple types of users. The administrators are the super users and have access to almost any functionality. However, their main task is related to discipline, which means reviewing offense reports and blocking offending users. They (the admins) can also create new user accounts and give users discounts in their data collection efforts.
Anyone who wants to annotate their dataset can use this system. They must sign up to the system with their email addresses (as a task creator), or log in if they already have such an account. Once logged in, the system should give the users the option to create a new annotation task. The cost of an annotation task depends on the number of samples and the number of annotations per sample required by the creator. This cost is deducted from the task creators credit, which he/she can purchase. When creating the new annotation task, the system will ask for the data set, which has to be uploaded as well as the possible labels. There should also be an option to add a list of annotators to each annotation task. Tasks that do not have a list of annotators are considered to be open and are open for any annotator.
Each annotator will have to sign up to the system as an annotator and is required to pass an annotation test in order to receive any tasks. When an annotator logs into the system, he/she is presented with a list of annotation tasks. After choosing anyone, the system shows one or moresamples of the tasks data set and presents labels (for each one) for the annotator to annotate. The inputs are stored in the database. The system should ensure that more than one annotator is annotating each sample in the dataset.
The system should keep track of conflicting annotations of the same sample. In such cases, if a correct annotation is decided (usually by the task creator), then the system should record the others as false/wrong annotation. An annotator who has a high frequency of false/wrong annotations should be flagged as an offender. The threshold frequency for this task should be configurable on a per annotation task basis.
The task creator can log in at any time and check the state of the tasks. They can download a snapshot of the current annotations or ask for a summarised view, which essentially gives a list of samples and the percentage of responses for each label.
Question : Identify all Actors and draw the UML Use Case diagram for the product described in the case study.
Step by Step Solution
There are 3 Steps involved in it
Get step-by-step solutions from verified subject matter experts
