Drug-Drug Interaction Extraction from Biomedical Texts
Extract drug entities and classify drug-drug interactions from biomedical texts, based on SemEval-2013 Task 9 (Segura-Bedmar et al.). Annotators identify drug mentions by type and classify interaction relationships between drug pairs.
Configuration Fileconfig.yaml
# DDI Extraction from Biomedical Texts
# Based on Segura-Bedmar et al., SemEval 2013
# Paper: https://aclanthology.org/S13-2056/
# Dataset: https://github.com/isegura/DDICorpus
#
# This task requires annotators to identify drug entities in biomedical text
# and classify the type of interaction between drug pairs. Drug entities
# are categorized as Drug (generic), Brand (trade name), Group (drug class),
# or Drug_n (active substances not approved for human use). Interaction
# types include Mechanism, Effect, Advice, Int, and No Interaction.
#
# Entity Types:
# - Drug: Generic drug names (e.g., warfarin, methotrexate)
# - Brand: Trade/brand names (e.g., Zocor, Prilosec)
# - Group: Drug classes or families (e.g., NSAIDs, ACE inhibitors)
# - Drug_n: Active substances not approved for human use
#
# Interaction Types:
# - Mechanism: The interaction is described at a pharmacokinetic level
# - Effect: The interaction produces a pharmacodynamic effect
# - Advice: A recommendation or warning about the drug combination
# - Int: An interaction is stated without further detail
# - No Interaction: No interaction exists between the drug pair
annotation_task_name: "DDI Extraction from Biomedical Texts"
task_dir: "."
data_files:
- sample-data.json
item_properties:
id_key: "id"
text_key: "text"
output_annotation_dir: "annotation_output/"
output_annotation_format: "json"
port: 8000
server_name: localhost
annotation_schemes:
- annotation_type: span
name: drug_entity_spans
description: "Highlight all drug entities in the text and classify their type."
labels:
- "Drug"
- "Brand"
- "Group"
- "Drug_n"
tooltips:
"Drug": "Generic drug name (e.g., warfarin, cyclosporine, methotrexate)"
"Brand": "Trade or brand name of a drug (e.g., Zocor, Prilosec)"
"Group": "Drug class or family name (e.g., NSAIDs, ACE inhibitors, statins)"
"Drug_n": "Active substance not approved for human use or experimental compound"
- annotation_type: radio
name: interaction_type
description: "What type of drug-drug interaction is described in this text?"
labels:
- "Mechanism"
- "Effect"
- "Advice"
- "Int"
- "No Interaction"
keyboard_shortcuts:
"Mechanism": "1"
"Effect": "2"
"Advice": "3"
"Int": "4"
"No Interaction": "5"
tooltips:
"Mechanism": "The interaction is described at the pharmacokinetic level (e.g., inhibits metabolism, reduces clearance)"
"Effect": "The interaction produces a specific pharmacodynamic effect (e.g., increased bleeding risk)"
"Advice": "A recommendation or warning about the drug combination (e.g., avoid concomitant use)"
"Int": "An interaction is mentioned without specifying mechanism or effect"
"No Interaction": "The text describes drugs but no interaction between them"
annotation_instructions: |
You will be shown biomedical text that may describe drug-drug interactions.
**Step 1: Entity Annotation**
Highlight all drug mentions in the text and classify each as:
- **Drug**: Generic drug names (e.g., warfarin, cyclosporine)
- **Brand**: Trade names (e.g., Zocor, Prilosec)
- **Group**: Drug classes (e.g., NSAIDs, ACE inhibitors)
- **Drug_n**: Substances not approved for human use
**Step 2: Interaction Classification**
Classify the type of interaction described:
- **Mechanism**: Pharmacokinetic interaction (metabolism, clearance, etc.)
- **Effect**: Pharmacodynamic effect of the interaction
- **Advice**: Recommendation or warning about the combination
- **Int**: Interaction stated without specific details
- **No Interaction**: No interaction between the mentioned drugs
html_layout: |
<div style="padding: 15px; max-width: 800px; margin: auto;">
<div style="background: #f0fdf4; border: 1px solid #86efac; border-radius: 8px; padding: 16px; margin-bottom: 16px;">
<strong style="color: #166534;">Biomedical Text:</strong>
<p style="font-size: 16px; line-height: 1.7; margin: 8px 0 0 0;">{{text}}</p>
</div>
</div>
allow_all_users: true
instances_per_annotator: 50
annotation_per_instance: 2
allow_skip: true
skip_reason_required: false
Sample Datasample-data.json
[
{
"id": "ddi_001",
"text": "Concomitant administration of ketoconazole with cyclosporine has been reported to increase cyclosporine plasma concentrations, potentially leading to nephrotoxicity. Dosage adjustment of cyclosporine is recommended when ketoconazole therapy is initiated."
},
{
"id": "ddi_002",
"text": "Warfarin should be used with caution in patients receiving amiodarone, as amiodarone inhibits the CYP2C9-mediated metabolism of warfarin, resulting in increased anticoagulant effect and risk of bleeding."
}
]
// ... and 8 more itemsGet This Design
Clone or download from the repository
Quick start:
git clone https://github.com/davidjurgens/potato-showcase.git cd potato-showcase/semeval/2013/task09-drug-drug-interactions potato start config.yaml
Details
Annotation Types
Domain
Use Cases
Tags
Found an issue or want to improve this design?
Open an IssueRelated Designs
Analysis of Clinical Text: Disorder Identification and Normalization
Identify disorder mentions and their attributes in clinical discharge summaries, based on SemEval-2015 Task 14 (Elhadad et al.). Annotators mark disorder spans, body locations, severity indicators, and classify the assertion status of each disorder.
Causal Medical Claim Detection and PICO Extraction
Detection of causal claims in medical texts and extraction of PICO (Population, Intervention, Comparator, Outcome) elements. Based on SemEval-2023 Task 8 (Khetan et al.).
Semantic Relation Extraction and Classification in Scientific Papers
Extraction and classification of semantic relations between entities in scientific abstracts, covering six relation types. Based on SemEval-2018 Task 7.