Note
You must be registered as a manager.
The New Project option on the global navigation bar allows managers to either create a new project from scratch or import an existing project to the server.
Note
You must be registered as a manager.
-
Select New Project in the global navigation bar.
-
Select Create.
-
Enter a name for the project. Choose a name that will be meaningful to you and your annotation team.
-
Select the NER-Rosette template type from the drop down menu. The templates are predefined and customized for each type of project.
-
Add annotators and adjudicators to the project. Select Add/edit roles and permissions to select from the users in the system. Users must be added to the system before you can add them to a project.
-
Configure the project. Each template type has its own set of configuration options.
-
Select Create. Your new project appears in the project list.
Before starting annotation, add new labels, if necessary.
The NER-Rosette template is for annotating documents to train models for named entity recognition with Rosette Entity Extractor and Rosette Server.
-
Model language: The language of the samples.
-
The following parameters are used to improve performance during annotation:
-
Compute IAA only during overnight processing: Inter-annotator agreement (IAA) is a measure of the reliability of the annotators. Calculating IAA can be resource-intensive. Check this box to schedule IAA only during the night. By default, IAA is computed as annotations are completed.
-
Minimum number of untrained annotated samples that will trigger training: Increase this value to train less frequently.
-
Minimum number of elapsed seconds without crossing the training threshold that will trigger training: Increase this value to train less frequently.
-
Show token boundaries: When enabled, each unannotated span is underlined to make it easier to see the token spans. This option only affects the presentation of the text samples. This option is disabled by default.
-
Mouse full token selection: When enabled, selecting part of a token causes the entire token to be selected. This option is enabled by default.
-
Use Basis training data: When enabled, while training the model, Adaptation Studio includes the Basis-provided training data that was used to train the statistical model shipped with Rosette Entity Extractor. When this option is enabled, new labels cannot be added to the project. This option is enabled by default.
Note
If you are creating a project to train a model to extract new entity types (defining new labels), do not select this option.
Note
The time to train the model when Use Basis training data is enabled may be a few minutes longer than without the extra training data. The time is determined by the number of annotated documents as well as the language.
-
Train case sensitive model: When enabled, the trained model is case-sensitive. This option is enabled by default.
-
Enable link annotation: When enabled, allows the annotator to select a link ID in addition to a label for an entity.
-
Sample type on Ingest: Determines how documents will be divided into samples for annotation after being uploaded.
-
Sentence: Each sentence in a document becomes a sample. This is a good choice for NER projects because it increases the effectiveness on active learning. By dividing documents into many small samples, Adaptation Studio can more easily select the most uncertain sample for annotation, which allows the model to train on "difficult" samples faster.
-
Paragraph: When a section of text in a document is separated from surrounding text by empty rows, that section becomes its own sample.
-
Document: Each document is its own sample. It ensures annotators have the complete context for each document.
-
Hide eval predictions: When enabled, Adaptation Studio suppresses annotation suggestions on the samples in the evaluation set to avoid biasing the human annotators. This option only affects suggestions for samples in the evaluation set; Adaptation Studio still displays suggestions for samples in the training set if this option is enabled. This option is disabled by default.
-
Prioritize partially annotated docs: When enabled, Adaptation Studio prioritizes the samples presented for annotation such that full documents are completely annotated. This option is disabled by default.
-
Auto project backup limit: Each version saved for a project requires resources. This option is set to 5 by default.
Most project configuration options can be changed after the project is created. Select the project menu in the upper right corner of the project and select Configure to change configuration options. Some options, such as model language and use Basis training data, cannot be changed once the project has been created.
Note
You must be registered as a manager.
To import a project, you must have an exported project file.
-
Select New Project in the global navigation bar.
-
Select Import.
-
Drop the desired project file into the field that appears, or select Browse to select it manually and select Open.
It may take a few minutes for an imported project to appear in the Project list, especially if it is a large project. The imported project will only be visible in the Project list to superusers and users assigned to the project.
Note
If a user on an exported project does not exist on the destination server, that user is created on the new server when the project is imported.
-
The project owner is created on the new server as a manager.
-
Any adjudicators are created on the new server as adjudicators.
-
Any other users are created on the new server as annotators.
Users added in this fashion are unable to log into the new server until an admin manually sets their password via the User Management option on the global navigation bar.
Note
You must be registered as a manager.
Add new labels to the project immediately after creating the project.
If Use Basis Training Data was enabled during initial project configuration, you cannot add new labels to the project.
-
Select Add Label in the list of labels on the project dashboard.
-
Fill in the Add New Label form.
-
Code: A brief name for the label. By convention, it is usually uppercase and about three letters. This will be used internally and in places where the UI shows a label in a brief form.
-
Caption: A longer user-friendly name for this label, usually one or two words long. It should be descriptive, but reasonably short.
-
Color: The color used for annotations of this label. You can accept the default color or assign a color.
-
Include in Model Training: Enable this if the model being trained should use the annotations which use this label.
-
Check the box for Include in Model Training if the annotations with the label should be used in training.
-
Select Add.
Note
The Studio will not prompt you to re-annotate samples when a new label is added.
You can edit existing NER labels after the project has been created.
-
Select the label you want to edit in the list of labels on the project dashboard.
-
Edit any of the fields.
-
Select Save.
Note
De-select Include in Model Training if you do not want annotations with this label to affect the model being trained. This is useful if you decide you no longer want to train the model using a label, but cannot delete it because it has already been assigned during annotations.
Note
You can only delete a label if there are no annotations for it. Once the label has been assigned during annotations, it cannot be deleted from that project. De-select Include in Model Training if you do not want annotations with this label to affect the model being trained.
-
Select the label you want to delete in the list of labels on the project dashboard.
-
Select Delete.
Annotation is the process of applying labels to text. Annotated text is used to train the model; you can think of it as the "supervision" portion of supervised learning. Rosette Entity Extractor will suggest annotations for each sample, but it is up to human annotators to correct and supplement it. Annotators will annotate one sample at a time. The size of each sample is determined by the sample type on ingest configuration setting during project creation.
Note
Once the project has been created, the sample type on ingest setting cannot be changed.
-
Select Annotate in the project navigation bar to start annotating. The Rosette Entity Extractor suggests annotations from the start. As soon as you annotate a sample, the system starts training a new model based on your annotations.
Note
You can ask the engine to suggest annotations for only samples in the training set and not those in the evaluation set. To disable suggested annotations from the evaluation set, enable the project configuration option hide eval predictions.
-
Select words or phrases in the sentence and then select the correct label for the selected words.
-
To select a word, click anywhere on the word.
-
To select a phrase, highlight the desired text.
Note
To remove a label, select it and then select the x icon to the right of the label name. You can then add a new label.
-
Select Annotate when you are satisfied that the sample is correctly annotated.
Note
If the sample does not contain anything that should be annotated, you must still select Annotate so that the sample status is changed to annotated. This is a negative annotation; an example of when the key phrase does not identify an event.
Other options are:
-
Clear Annotations: Erase all tags and start afresh.
Note
If you clear annotations using this button, the sample status will remain as annotated. You must still select Annotate to save the sample with no annotations.
-
Undo: Undo changes made in the sample.
-
Skip for now: Skip this sample and annotate a different sample.
-
Previous: Go back to a previously annotated sample from this session.
To move a sample between the validation and training sets, select the appropriate radio button.
Once you've created your data corpus and loaded the documents, at any point in the annotation process, you can review the corpus and the annotations. Select View Annotations to see a detailed view of your work.
Add comments to annotations
Comments allow you to pose questions or provide clarifications about the sample being edited to adjudicators and managers. Adjudicators and managers can view the comments for each sample via View Annotations. Comments do not affect model training in any way. To add a comment while annotating, follow these steps:
-
Select any annotation.
-
Select Add Comment.
-
Type desired text in the Comment field.
-
Select the green checkmark icon.
You can edit comments you have made by selecting the commented annotation and selecting Edit Comment. From here you can also delete the comment by selecting the trash can icon.
When the Enable link annotation option is selected, you can add a link ID to the entity, along with the label. The link IDs are used to train a linking knowledge base. Rosette entity extractor supports linking to a default Wikidata knowledge base. You can also train it to link to a custom knowledge base with Model Training Suite.
-
When you select a word or phrase, an annotation panel will open.
-
Select or correct the label.
-
Select the correct link ID.
-
Save the values.
-
When all annotations in the sample are correct, select Annotate.
Note
You must be registered as an adjudicator for the project.
Adjudication is the process of reviewing annotations that have disagreements and determining which is correct. If there are no disagreements between the annotators, the sample is marked as auto-adjudicated, accelerating the annotation process.
Samples are not sent to training until they are adjudicated, either by an adjudicator or auto-adjudicated.
Adjudication can be initiated via View Annotations or directly from the project navigation bar. From the View Annotations page, select Adjudicate under a sample to navigate to the adjudication page.
To adjudicate a sample:
-
Select an entity with disagreeing annotations.
-
Apply the correct label
-
Repeat until you have applied the correct label to entities with disagreeing annotations.
-
Select Adjudicate.
The following actions are available:
-
Clear Annotations: Remove all labels you have applied to entities in the sample.
-
Undo: Undo your most recent annotation.
-
Skip for now: Proceed to another sample without adjudicating the current sample.
-
Previous: Return to the previous sample.
-
Annotate: Annotate the sample.
-
Adjudicate: Save any labels applied to entities in the sample as adjudications.
The annotations in Rosette Adaptation Studio are sent to the REX Training Server and provide the data for training a new model. Only adjudicated annotations are included in training. The system will auto-adjudicate samples.
The rules for auto adjudication are:
-
If only one annotator has annotated a sample, the work is assumed to be correct and adjudicated.
-
If multiple annotators have supplied identical annotations for a sample, the work is assumed to be correct and adjudicated.
-
If multiple annotators have supplied contradictory annotations for a sample, then it is marked as "needs adjudication". It is not supplied for training until it has been manually adjudicated.
-
The system only considers work that has been completed by annotators. If additional annotators have been assigned to work on a document, but they have not completed their work yet, the samples may still be marked as adjudicated.
-
The system is an interactive environment. At any time, additional work can be done on a sample (a new annotator annotates the sample, an existing annotator revises their work). The modified sample replaces any earlier versions of the sample. Once adjudicated (manually or auto-adjudicated), it will be sent to training with the new annotations.
Once you've created your data corpus and loaded the documents, at any point in the annotation process, you can review the corpus and the annotations. Select View Annotations to see a detailed view of your work.
View annotations provides a detailed view of annotations and adjudication. It consists of the Filters panel and the sample list.
Select Filters on the View Annotations page to expand the Filters panel. To view the filter criteria, click on the down arrow to expand the section. The Filters panel allows you to select which samples to display in the sample list using the following criteria:
-
Annotated by: Allows adjudicators and managers to select which annotated samples to display based on who annotated them. If you select All selected annotators or Any selected annotators, select annotators with the dropdown menu.
-
Date annotated: View only samples annotated within a specific date range.
-
Assigned to: Allows adjudicators and managers to select which unannotated samples to display based on their assigned annotator(s). If you select All selected annotators or Any selected annotators, select annotators with the dropdown menu.
-
Adjudicated: View samples by adjudication status.
-
Commented: Display only samples with comments.
-
Text: Display samples containing specific terms within the sample text. The text field supports regular expression searches.
-
Doc ID: Display samples with a specified doc id.
-
Dataset: Display samples from the training dataset, evaluation dataset, or both.
-
Labels: Select which samples to display based on which label(s) they contain and whether the sample is adjudicated or non-adjudicated. Sselect one or more labels with the dropdown menu. This filter only applies to NER.
Select Update results to filter the sample list so that it only displays samples with all chosen criteria.
All samples in the project that match the applied filters are listed below the filters panel.
Each sample is displayed next to a table showing the tags selected by each annotator for each entity. If you are a project manager, this view is useful for identifying and inspecting specific points of high annotator disagreement. Adjudicators and managers can also see any comments added by annotators on the rightmost column of the table.
The following are displayed below each sample:
-
The sample’s dataset (training or evaluation)
-
A link to view annotation predictions. Predictions are the tags suggested by the currently trained model.
-
Links to perform any available actions
-
Annotate: Review the annotation and, if desired, clear and modify the annotations.
-
Adjudicate: View and resolve annotation differences. This option is only available to adjudicators and managers.
-
Copy document ID: Copy the Document ID to your clipboard.
If there are two or more identical entities, each will be labeled with a corresponding id in the sample text and the Entity column. Mouse over any entity in the Entity column to highlight that entity in the sample text.
Note
You must be registered as a manager.
Manager options can be accessed from the Manage option on the project navigation bar.
The following management tasks and information are accessed by selecting Manage from the navigation bar.
-
Model Training Status: Displays project statuses and allows you to export the model being trained.
-
Status of RTS (REX Training Server), ETS (Events Training Server), and Rosette Server:
-
A green checkmark indicates the server is up and connected.
-
A red exclamation point indicates the server is down or not connected.
-
A gray exclamation point with a slash through it indicates the server is not installed.
-
License Expiration: The expiration date of your license.
-
Model: The status of the model being trained.
-
Project: The reconciliation status. When reconciled, the latest model is current with all adjudicated samples.
-
Export model: This button downloads the model trained from the annotations in the project. This file can then be loaded into Rosette Server in your production environment to deploy the model. The option is disabled while the model is actively training and being written to disk. It will become enabled once the model is ready for export, which is approximately 10 minutes after the last annotations.
-
Exported Versions: A list of projects exported. You can download or delete the export files from here. This section is only visible when there is at least one exported project.
-
Users: This section allows you to add and remove annotators and adjudicators from the project. You can also see how many samples have been assigned to each annotator, as well as how many they have completed.
-
Documents: A list of all uploaded documents along with assigned annotators and annotation statistics. For each document you can copy the Doc ID, view the original document, rename the document, reassign annotators and adjudicators, or delete the document from the project. You can also edit annotator and adjudicator assignment on a project level by selecting Annotator assignment or Adjudicator assignment at the top of the Documents panel.
-
Clear Annotations: Remove all annotations from one or more annotators for a selected entity. You can use this feature to remove the work of annotators who have very low agreement with other annotators from the project. For more information on annotator agreement and its importance to model training, see Inter-annotator agreement.
Note
Clearing annotations via the Manage page changes the status of all affected samples to unannotated.
-
Guidelines File: Add the URL of your written annotation or other project guidelines. The guidelines can be in any format, such as google doc, pdf, or html page. The guidelines should be available to all users of the Studio. The url should include the full web address, including http/https
.
Add users to existing project
Before you can add a user to a project, them must be created in the system and added to the project. If the user already exists in the system, skip step 1.
-
Before assigning the user to documents, add them to the system.
-
In the Manage page, add users in the Users panel by selecting Add/edit roles and permissions.
-
Assign documents to the new users in the Documents panel.
Note
Before you can assign tasks to a user, they must be in the system and added to the project.
For projects containing a large volume of annotators and documents, it is easiest to edit user assignments on a project level. For example, if you want to add a new annotator to a project after many documents have already been added, you can use this feature to quickly assign all documents to that annotator.
-
Select Annotator assignment or Adjudicator assignment at the top of the Documents panel.
-
Select/deselect a checkbox to assign the corresponding document to that user.
-
Select Assign all or Unassign all in the rightmost column of a document's row to cycle between assigning and unassigning all users for that document.
-
Select the checkbox by a user's name to cycle between assigning and unassigning all documents user, including documents on other pages of the table.
-
Save your changes.
Note
If you want to discard your changes, you can select Back to return to the Manage screen without making your changes effective.
Note
A user must be added to the project as an annotator before they can be added to a document as an annotator.
A user must be added to the project as an adjudicator before they can be added to a document as an adjudicator.
You add or delete user assignments by editing a document. This impacts just the selected document.
-
Select the pencil icon in the Action column for the desired document in the Documents panel.
-
Select annotators.
-
Select an adjudicator. Each document can only have 1 adjudicator.
-
Save.
Note
If using Chrome, you must disable popup blocking to allow multiple files to download.
Once a model has been trained, you can move it from the training server to your production instance of Rosette Server. The trained models are used by Rosette Server endpoints.
Tip
The models trained to perform entity extraction are consumed by REX and the entities endpoint.
To export a model:
-
Open the project that trained the model you are interested in.
-
Select Manage from the project navigation bar.
-
From the Model Training Status block, select Export Model.
Tip
If Export Model is not enabled, the model is not ready to be exported.
The trained model will download to your machine.
Note
Samples with tentative transactors are not used for training. If you try to export a model that contains tentative extractors, a message will appear warning you that the model contains tentative extractors.
Two files are downloaded when the model is exported. The model name is part of the file name for both files.
-
The model file. This is the file that gets uploaded to the production server.
-
An information file with information about the model. This is a json text file.
Example 1. Sample NER Export
Files:
rts-model.6178335ba1695d93f64553fe-20211122_11_39_09-LE.bin
rts-model.6178335ba1695d93f64553fe-20211122_11_39_09-LE.bin.export-info
Info File:
{
"export_time": "2021-11-15 11:37:49",
"language": "eng",
"labels": [
{
"type": "PERSON",
"label": "Person"
},
{
"type": "LOCATION",
"label": "Location"
},
{
"type": "ORGANIZATION",
"label": "Organization"
},
{
"type": "TITLE",
"label": "Title"
},
{
"type": "PRODUCT",
"label": "Product"
}
],
"training_count": 795,
"eval_count": 75,
"scores": {
"precision": 1,
"recall": 1,
"f1": 1
}
}
Complete NER scores will be available in a future release.
These tasks are available from the project menu in the upper right-hand corner of the project dashboard.
-
Show Guidelines: Displays the uploaded project guidelines.
-
Rename: Renames the project.
-
Clone: Creates a copy of the project. This is equivalent to exporting and then importing the project.
-
Configure: Modify the project configuration options.
-
Reconcile: Retrains the model and recalculates the confidence scores for all the samples in addition to the precision, recall, and F1 measure. If the reconcile is grayed out, the model is up to date with the adjudicated data.
-
Export Project: Creates a backup file for the project. Once exported, the project will be listed in the Exported Versions section of the Manage page. From here, you can download or delete the file.
-
Extract ADMs: Downloads a zip file of .json files containing the annotations in ADM format with one file for each document.
These .adm files contain much useful information about the annotation work that was done, including each of the annotations, which annotator performed each, and timestamps.
-
Delete Docs: Deletes all documents from a project.
-
Delete: Deletes the project.
Export model, export project, and extract ADMs
The Studio has multiple ways of downloading models and annotations.
-
Export Model: Downloads trained models from the Studio to the local machine. Two files are downloaded:
Select the Export model button in the Manage page.
-
Export Project: Exports a project to the server as a zip file. This file can then be used to reload the project to the same or a new instance of the studio. The directories in the zip file are:
-
project: ADM files for each sample in the project.
-
model: The trained model.
-
documents: The sample documents.
Select Export Project from the project menu. The .zip file can be downloaded from the Exported Versions table in the Manage page.
-
Extract ADMs: Exports to the server a zip file containing all annotated and adjudicated samples in json ADM format. Each annotator's work is in a separate directory.
Select Extract ADMs from the project menu. The .zip file can be downloaded from the Exported Versions table in the Manage page.
Note
You must be registered as a manager.
Reports about annotation/adjudication progress and inter-annotator agreement (IAA) can be accessed from the Reports option on the project navigation bar. Other metrics, such as precision, recall, and F1 measure, can be viewed directly on the project dashboard.
Provides information to project managers pertaining to the quantity and quality of the data being created by annotators and adjudicators. When training a model, it is critical to have the correct volume and distribution of high-quality data. Only managers have access to reports.
-
Annotation/Adjudication: Shows the distribution of annotations and adjudications among all labels. Select Download CSV to download the data.
-
Annotation progress: Displays the number of annotations per label. The top row displays the total number of annotations for each label in parentheses next to the label name. Use these numbers to monitor how balanced your data set is. For example, if you are training a model to retrieve location entities, you should use this report to make sure there is a significant number of location annotations.
-
Adjudication progress: Displays the number of adjudications per label.
-
Adjudicator progress: Displays the number of adjudicated samples for each adjudicator. This is useful for project managers who want to measure the progress and speed of adjudicators.
-
Inter-Annotator Agreement: Shows Krippendorff's Alpha for all annotators and for each pair of annotators. Krippendorff's Alpha is a number between -1.0 and 1.0 that quantifies how much annotators agreed with each other. A higher score indicates higher agreement and therefore better data. This score should ideally be 0.80 or greater.
-
IAA History: Displays inter-annotator agreement for all annotators (represented by Krippendorff's Alpha on the y-axis) over time (represented by day on the x-axis). Hover your cursor over the data point for each day to see the Krippendorff's Alpha for each pair of annotators for that day. Ideally, IAA should increase at the beginning as initial points of disagreement are resolved, and then level off as annotators improve and approach a consistently high level of agreement.
Precision, recall, and f1 measure
Most NLP tools are evaluated based on their precision and recall. Accuracy is measured as a combination of precision, recall, and F1 measure.
-
Precision answers the question "of the answers you found, what percentage were correct?" Precision is sensitive to false positives; higher is more precise.
-
Recall answers the question "of all possible correct answers, what percentage did you find?" Recall is sensitive to false negatives; higher is better recall.
-
F1 measure is the harmonic mean of precision and recall. The F1 measure is sensitive to both false positives and false negatives; a higher value means better accuracy. It isn't quite an average of the two scores, as it penalizes the case where the precision or recall scores are far apart. For example, if the system finds 10 answers that are correct (high precision), but misses 1,000 correct answers (low recall), you wouldn't want the F1 measure to be misleadingly high.
The correct measure depends on your application. In applications where you can only handle a few responses, such as voice applications (e.g. Amazon's Alexa), high precision with low recall is ideal, because the system can only present the user with a few options in a reasonable time frame. However, other applications, such as redacting text to remove personally identifiable information, redacting too much (low precision) is much better than missing even one item that should have been redacted. In that case, high recall is preferred.
Notice
The precision, recall, and F1 measures are based only on the samples in the validation set. The values are not calculated for the training set samples.
The values displayed on the project dashboard are calculated using the annotated validation data as the gold data. As the model is trained, it generates new predictions and the scores are recalculated. The predictions generated by the model for the validation samples are compared with the annotated values in the samples.
Named entity recognition metrics
Named entity recognition models are trained to recognize and extract entity mentions. Each annotated sample may contain multiple entities.
The statistics displayed on the project dashboard are the macro averages of the precision, recall, and F1 measures for the labels.
Calculating precision, recall, and f-scores
Let's look at how precision, recall, and f-score are calculated. Let's assume a search system, where a number of items were retrieved.
TP: True positive. Number of documents retrieved that are correct.
FP: False positive. Number of documents retrieved that are incorrect.
FN: False negative. Number of documents that should have been retrieved, but weren't.
Retrieved: All documents retrieved = TP + FP
Relevant: All documents that should have been retrieved = TP + FN
Precision is the fraction of correct retrievals among all retrieved instances.
Recall is the fraction of relevant documents that are successfully retrieved.
F-score is the harmonic mean of precision and recall
The project dashboard displays precision, recall, and F1 measures for the labels. There are two different ways of calculating these scores across multiple labels:
-
Macro Average: The macro average for precision and recall are the means of the per-label precision and recall scores. The macro F1 is the harmonic mean of the macro precision and macro recall scores.
-
Micro Average: This score accounts for the total false positives and false negatives. The micro scores are sensitive to imbalanced datasets—if one label is overly represented (i.e., there are more gold instances of this label in the evaluation subset relative to the others), it will have a bigger impact on the micro averaged precision, recall, and F1 measures.
Inter-annotator agreement
Note
You must be registered as a manager.
Machine-learning models are completely dependent on the quality of the data used for training. Inconsistent annotation or lack of adherence to the project annotation guidelines will lead to less accurate models. Especially when starting a new project or on-boarding new human annotators, check for reliable annotations by having a subset of data annotated in parallel by multiple human annotators.
Krippendorff’s alpha is a statistical inter-rater reliability metric used to measure inter-annotator agreement. Krippendorff’s alpha scores range from -1.0 to 1.0 with 1.0 indicating perfect agreement between annotators. A score of 0.0 indicates agreement no better than random chance (as if your annotators picked their labels randomly out of a hat). A reliability score of 0.80 or greater is generally considered sufficient (though, the higher the better). Lower scores may indicate potential issues with your data, your annotation guidelines, or your annotators’ understanding of the task. A low level of inter-annotator agreement will ultimately lead to a less accurate model, so we recommend repeatedly measuring the reliability of your annotators until they achieve a satisfactory level of agreement. The cases where annotators disagree are usually good examples to include in your annotation guidelines. It can be useful to have a discussion about points of disagreement with your annotators as a group to reach a consensus.
Adaptation Studio calculates the Krippendorff's alpha score as you adjudicate samples. To view the current values, select Manage from the project toolbar. The values will be displayed for all annotators and as pairs of annotators.
The IAA history report displays the progress of the inter-annotator agreement over time.