- Added new aliases for existing slots to improve clarity and usability, including: - has_deadline: has_embargo_end_date - has_extent: has_extent_text - has_fonds: has_fond - has_laboratory: conservation_lab - has_language: has_iso_code639_1, has_iso_code639_3 - has_legal_basis: legal_basis - has_light_exposure: max_light_lux - has_measurement_unit: has_unit - has_note: has_custodian_observation - has_occupation: occupation - has_operating_hours: has_operating_hours - has_position: position - has_quantity: has_artwork_count, link_count - has_roadmap: review_date - has_skill: skill - has_speaker: speaker_label - has_specification: specification_url - has_statement: rights_statement_url, rights_statement - has_type: custodian_only - has_user_category: serves_visitors_only - hold_record_set: record_count - identified_by: has_index_number - in_period: has_period - in_place: has_place - in_series: has_series - measure: has_measurement - measured_on: measurement_date - organized_by: has_organizer - originate_from: has_origin - part_of: suborganization_of - published_on: has_publication_date - receive_investment: has_investment - related_to: connection_heritage_type - require: preservation_requirement - safeguarded_by: current_keeper, record_holder_note - state: states_or_stated - take_comission: takes_or_took_comission - take_place_at: takes_or_took_place_at - transmit_through: transmits_or_transmitted_through - warrant: warrants_or_warranted - Introduced a new slot definition for evaluated_through to capture evaluation methodologies and review statuses.
138 lines
7 KiB
YAML
138 lines
7 KiB
YAML
id: https://nde.nl/ontology/hc/class/VideoTranscript
|
|
name: video_transcript_class
|
|
title: Video Transcript Class
|
|
imports:
|
|
- linkml:types
|
|
- ../enums/TranscriptFormatEnum
|
|
- ../slots/contain
|
|
- ../slots/has_format
|
|
- ../slots/has_score
|
|
- ../slots/has_segment
|
|
- ../slots/has_speaker
|
|
- ../slots/identified_by
|
|
- ../slots/has_paragraph
|
|
- ../slots/has_quantity
|
|
- ../slots/has_language
|
|
prefixes:
|
|
linkml: https://w3id.org/linkml/
|
|
hc: https://nde.nl/ontology/hc/
|
|
schema: http://schema.org/
|
|
dcterms: http://purl.org/dc/terms/
|
|
prov: http://www.w3.org/ns/prov#
|
|
crm: http://www.cidoc-crm.org/cidoc-crm/
|
|
skos: http://www.w3.org/2004/02/skos/core#
|
|
default_prefix: hc
|
|
classes:
|
|
VideoTranscript:
|
|
is_a: VideoTextContent
|
|
class_uri: crm:E33_Linguistic_Object
|
|
abstract: false
|
|
description: "Full text transcription of video audio content.\n\n**DEFINITION**:\n\nA VideoTranscript is the complete textual representation of all spoken\ncontent in a video. It extends VideoTextContent with transcript-specific\nproperties and inherits all provenance tracking capabilities.\n\n**RELATIONSHIP TO VideoSubtitle**:\n\nVideoSubtitle is a subclass of VideoTranscript because:\n1. A subtitle file contains everything a transcript needs PLUS time codes\n2. You can derive a plain transcript from subtitles by stripping times\n3. This inheritance allows polymorphic handling of text content\n\n```\nVideoTranscript VideoSubtitle (is_a VideoTranscript)\n\u251C\u2500\u2500 full_text \u251C\u2500\u2500 full_text (inherited)\n\u251C\u2500\u2500 segments[] \u251C\u2500\u2500 segments[] (required, with times)\n\u2514\u2500\u2500 (optional times) \u2514\u2500\u2500 subtitle_format (SRT, VTT, etc.)\n```\n\n**SCHEMA.ORG ALIGNMENT**:\n\nMaps to `schema:transcript` property:\n\
|
|
> \"If this MediaObject is an AudioObject or VideoObject, \n> the transcript of that object.\"\n\n**CIDOC-CRM E33_Linguistic_Object**:\n\nE33 is the class comprising:\n> \"identifiable expressions in natural language or code\"\n\nA transcript is a linguistic object derived from the audio track of\na video (which is itself an E73_Information_Object).\n\n**TRANSCRIPT FORMATS**:\n\n| Format | Description | Use Case |\n|--------|-------------|----------|\n| PLAIN_TEXT | Continuous text, no structure | Simple search indexing |\n| PARAGRAPHED | Text broken into paragraphs | Human reading |\n| STRUCTURED | Segments with speaker labels | Research, analysis |\n| TIMESTAMPED | Segments with time markers | Navigation, subtitling |\n\n**GENERATION METHODS** (inherited from VideoTextContent):\n\n| Method | Typical Use | Quality |\n|--------|-------------|---------|\n| ASR_AUTOMATIC | Whisper, Google STT | 0.80-0.95 |\n| MANUAL_TRANSCRIPTION | Human transcriber | 0.98-1.0 |\n| PLATFORM_PROVIDED\
|
|
\ | YouTube auto-captions | 0.75-0.90 |\n| HYBRID | ASR + human correction | 0.95-1.0 |\n\n**HERITAGE INSTITUTION CONTEXT**:\n\nTranscripts are critical for heritage video collections:\n\n1. **Discovery**: Full-text search over video content\n2. **Accessibility**: Deaf/HoH access to spoken content\n3. **Preservation**: Text outlasts video format obsolescence\n4. **Research**: Corpus analysis, keyword extraction\n5. **Translation**: Base for multilingual access\n6. **SEO**: Search engine indexing of video content\n\n**STRUCTURED SEGMENTS**:\n\nWhen `segments` is populated, the transcript has structural breakdown:\n\n```yaml\nsegments:\n - segment_index: 0\n start_seconds: 0.0\n end_seconds: 5.5\n segment_text: \"Welcome to the Rijksmuseum.\"\n speaker_label: \"Narrator\"\n confidence: 0.94\n - segment_index: 1\n start_seconds: 5.5\n end_seconds: 12.3\n segment_text: \"Today we'll explore the Night Watch gallery.\"\n speaker_label: \"Narrator\"\n confidence:\
|
|
\ 0.91\n```\n\n**PROVENANCE** (inherited from VideoTextContent):\n\nAll transcripts include:\n- `source_video`: Which video was transcribed\n- `generated_by`: Tool/person that created transcript\n- `generation_method`: ASR_AUTOMATIC, MANUAL_TRANSCRIPTION, etc.\n- `generation_timestamp`: When transcript was created\n- `overall_confidence`: Aggregate quality score\n- `is_verified`: Whether human-reviewed\n"
|
|
exact_mappings:
|
|
- crm:E33_Linguistic_Object
|
|
close_mappings:
|
|
- schema:transcript
|
|
related_mappings:
|
|
- dcterms:Text
|
|
slots:
|
|
- contain
|
|
- has_speaker
|
|
- identified_by
|
|
- has_paragraph
|
|
- has_speaker
|
|
- has_segment
|
|
- has_quantity
|
|
- has_language
|
|
- has_speaker
|
|
- has_score
|
|
- has_format
|
|
slot_usage:
|
|
contain:
|
|
# range: string
|
|
required: true
|
|
examples:
|
|
- value: 'Welcome to the Rijksmuseum. Today we''ll explore the masterpieces
|
|
|
|
of Dutch Golden Age painting. Our first stop is the Night Watch
|
|
|
|
by Rembrandt van Rijn, painted in 1642.
|
|
|
|
'
|
|
- value: '[Narrator] Welcome to the Rijksmuseum.
|
|
|
|
[Narrator] Today we''ll explore the masterpieces of Dutch Golden Age painting.
|
|
|
|
[Curator] Our first stop is the Night Watch by Rembrandt van Rijn.
|
|
|
|
'
|
|
has_format:
|
|
range: TranscriptFormatEnum
|
|
required: false
|
|
examples:
|
|
- value: STRUCTURED
|
|
identified_by:
|
|
range: boolean
|
|
required: false
|
|
ifabsent: 'false'
|
|
examples:
|
|
- value: true
|
|
has_speaker:
|
|
range: boolean
|
|
required: false
|
|
ifabsent: 'false'
|
|
examples:
|
|
- value: true
|
|
has_segment:
|
|
range: VideoTimeSegment
|
|
required: false
|
|
multivalued: true
|
|
inlined: true
|
|
inlined_as_list: true
|
|
examples:
|
|
- value: "- segment_index: 0\n start_seconds: 0.0\n end_seconds: 3.5\n segment_text: \"Welcome to the museum.\"\n confidence: 0.95\n"
|
|
has_speaker:
|
|
range: integer
|
|
required: false
|
|
minimum_value: 0
|
|
examples:
|
|
- value: 3
|
|
has_speaker:
|
|
# range: string
|
|
required: false
|
|
examples:
|
|
- value: Narrator
|
|
- value: Dr. Taco Dibbits, Museum Director
|
|
has_language:
|
|
range: boolean
|
|
required: false
|
|
ifabsent: 'false'
|
|
examples:
|
|
- value: true
|
|
has_paragraph:
|
|
range: integer
|
|
required: false
|
|
minimum_value: 0
|
|
examples:
|
|
- value: 15
|
|
has_quantity:
|
|
range: integer
|
|
required: false
|
|
minimum_value: 0
|
|
examples:
|
|
- value: 47
|
|
comments:
|
|
- Full text transcription of video audio content
|
|
- Extends VideoTextContent with transcript-specific properties
|
|
- Base class for VideoSubtitle (subtitles are transcripts + time codes)
|
|
- Supports both plain text and structured segment-based transcripts
|
|
- Critical for accessibility, discovery, and preservation
|
|
see_also:
|
|
- https://schema.org/transcript
|
|
- http://www.cidoc-crm.org/cidoc-crm/E33_Linguistic_Object
|
|
annotations:
|
|
specificity_score: 0.1
|
|
specificity_rationale: Generic utility class/slot created during migration
|
|
custodian_types: "['*']"
|