ag
Implementations of an Annotation Graph API for linguistic annotations.
Science Score: 49.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
○CITATION.cff file
-
✓codemeta.json file
Found codemeta.json file -
✓.zenodo.json file
Found .zenodo.json file -
✓DOI references
Found 6 DOI reference(s) in README -
✓Academic publication links
Links to: arxiv.org, zenodo.org -
○Academic email domains
-
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (13.3%) to scientific vocabulary
Repository
Implementations of an Annotation Graph API for linguistic annotations.
Basic Info
- Host: GitHub
- Owner: nzilbb
- License: gpl-3.0
- Language: Java
- Default Branch: main
- Size: 189 MB
Statistics
- Stars: 7
- Watchers: 3
- Forks: 1
- Open Issues: 9
- Releases: 7
Metadata Files
README.md
nzilbb.ag
Implementations of an Annotation Graph API for linguistic annotations.
Annotation Graphs are a data structure conceived by Steven Bird and Mark Liberman: (http://lanl.arxiv.org/abs/cs/9907003) (http://xxx.lanl.gov/PS_cache/cs/pdf/9903/9903003v1.pdf)
The structure is designed to be a tool-independent way of representing annotated linguistic data, and essentially defines an Annotation Graph as a directed acyclic graph where: * nodes are 'anchors' that represent a point in time (in seconds) or a point in a text (in characters) (although the time/character offset label is optional), and * edges are 'annotations' which have a 'label' (the content of the annotation) and a 'type' (the kind of annotation, analogous with an 'tier' or 'layer')
This particular implementation, which is used for LaBB-CAT, developed by the NZILBB, includes extra features that allow tier hierarchies and parent/child constraints to be defined. More details on extra features are available in http://dx.doi.org/10.1016/j.csl.2017.01.004
API documentation is available at https://nzilbb.github.io/ag/
Format Conversion
Apart from use within LaBB-CAT, the object model can be used for other purposes like format conversion, e.g. * vtt-to-textgrid - a utility for converting subtitles downloaded from YouTube to Praat TextGrids * trs-to-eaf - a utility for converting Transcriber files to ELAN files
These use the serializers/deserializers in the formatter directory of this repository to read a file in one format, convert it to an annotation graph, and then write that graph out as a file in another format. As pointed out by Cochran et al. (2007 - Report from TILR Working Group 1 : Tools interoperability and input/output formats) this saves having order n2 explicit conversion algorithms between formats; only order n format conversions are required.
This exemplifies an approach to linguistic data interoperability called the interlingua philosophy on interoperability by Witt et al. (2009) and uses annotation graphs as an 'interlingua' similar to work by Schmidt et al. (2008), except that rather using a third file format as a persistent intermediary, the annotation graph models of the linguistic data are ephemeral, existing in memory only for the duration of the conversion.
More format conversions are available here
Building from source
Prerequisites
- The JDK for at least Java 11
sudo apt install openjdk-11-jdk-headless - Maven
sudo apt install maven
Build nzilbb.ag.jar and also all format, annotator, and transcriber modules
mvn package
Build only nzilbb.ag.jar
mvn package -pl :nzilbb.ag
Build all transcriber modules only
mvn package -pl :nzilbb.transcriber
Build a specific transcriber module
mvn package -pl :nzilbb.transcriber.deepspeech
etc...
Run all unit tests
mvn test
Build documentation site
The documentation site, deployed in the docs subdirectory, includes:
- General information about annotation graphs, and the nzilbb.ag implementation.
- Javadoc class documentation.
- Documentation about sub-modules, including format converters, etc.
The command to ensure a clean build of the documentation is:
mvn clean package site site:deploy -Dmaven.test.skip
Deploying to OSSRH
OSSRH is the central Maven repository where nzilbb.ag modules are deployed (published).
There are two type of deployment:
- snapshot: a transient deployment that can be updated during development/testing
- release: an official published version that cannot be changed once it's deployed
A snapshot deployment is done when the module version (version tag in pom.xml) ends with
-SNAPSHOT. Otherwise, any deployment is a release.
Snapshot Deployment
To perform a snapshot deployment:
- Ensure the
versionin pom.xml is suffixed with-SNAPSHOT - Execute the command:
mvn clean deploy -pl :nzilbb.ag
Release Deployment
To perform a release deployment:
- Ensure the
versionin pom.xml isn't suffixed with-SNAPSHOTe.g. use something like the following command from within the ag directory:
mvn versions:set -DnewVersion=1.1.0 -pl :nzilbb.ag - Execute the command:
mvn clean deploy -P release -pl :nzilbb.ag - Happy with everything? Complete the release with:
mvn nexus-staging:release -P release -pl :nzilbb.ag(Or Publish via web interface: https://central.sonatype.com/publishing/deployments)\ Otherwise:mvn nexus-staging:drop -P release -pl :nzilbb.ag...and start again. - Regenerate the citation file:
mvn cff:create -pl :nzilbb.ag - Commit/push all changes and create a release in GitHub
To release another module (e.g. formatters, annotators, etc.)
- Ensure the
versionin pom.xml isn't suffixed with-SNAPSHOT
NB Don't usemvn versions:setfor this if the module is a nzilbb.formatter, because it will fix versions in nzilbb.converter projects, which are manually set in their pom.xml - Execute the command:
mvn clean deploy -P release -pl :nzilbb.formatter.praat - Happy with everything? Complete the release with:
mvn nexus-staging:release -P release -pl :nzilbb.formatter.praatOtherwise:mvn nexus-staging:drop -P release -pl :nzilbb.formatter.praat...and start again. - Start a new .SNAPSHOT version.
NB Don't usemvn versions:setfor this if the module is a nzilbb.formatter, because it will fix versions in nzilbb.converter projects, which are manually set in their pom.xml
Owner
- Name: Te Kāhui Roro Reo | New Zealand Institute of Language, Brain and Behaviour
- Login: nzilbb
- Kind: organization
- Location: Christchurch, New Zealand
- Website: http://www.nzilbb.canterbury.ac.nz/
- Repositories: 43
- Profile: https://github.com/nzilbb
A multi-disciplinary centre dedicated to the study of human language.
GitHub Events
Total
- Create event: 6
- Issues event: 1
- Release event: 4
- Watch event: 1
- Delete event: 1
- Push event: 75
- Pull request event: 3
Last Year
- Create event: 6
- Issues event: 1
- Release event: 4
- Watch event: 1
- Delete event: 1
- Push event: 75
- Pull request event: 3
Dependencies
- commons-fileupload:commons-fileupload 1.4 compile
- org.antlr:antlr4-runtime 4.7.2 compile
- org.apache.derby:derby 10.15.2.0 compile
- org.glassfish:javax.json 1.1.4 compile
- junit:junit 4.13.1 test
- nzilbb:nzilbb.ag [1.0.7,) compile
- nzilbb:nzilbb.bas [0.1.1,) compile
- nzilbb:nzilbb.formatter.praat [2.6.3,)
- junit:junit 4.11 test
- nzilbb:nzilbb.ag [1.0.4,) compile
- junit:junit 4.13.1 test
- org.apache.derby:derby 10.15.2.0 test
- nzilbb:nzilbb.ag [1.0.6,) compile
- org.apache.commons:commons-csv 1.8 compile
- junit:junit 4.11 test
- nzilbb:nzilbb.ag [1.0.5,) compile
- nzilbb:nzilbb.formatter.htk.mlf [1.4.0,)
- junit:junit 4.11 test
- nzilbb:nzilbb.ag [1.0.6,) compile
- junit:junit 4.13.1 test
- nzilbb:nzilbb.ag [1.0.6,) compile
- junit:junit 4.13.1 test
- nzilbb:nzilbb.ag [1.0.5,) compile
- org.apache.commons:commons-csv 1.8 compile
- junit:junit 4.13.1 test
- nzilbb:nzilbb.ag [1.0.7,) compile
- nzilbb:nzilbb.formatter.praat [2.6.3,)
- junit:junit 4.11 test
- nzilbb:nzilbb.ag [1.0.4,) compile
- nzilbb:nzilbb.formatter.clan [1.2.3,)
- junit:junit 4.11 test
- nzilbb:nzilbb.ag [1.0.4,) compile
- junit:junit 4.13.1 test
- nzilbb:nzilbb.ag [1.0.4,) compile
- junit:junit 4.13.1 test
- nzilbb:nzilbb.ag [1.0.5,) compile
- junit:junit 4.11 test
- nzilbb:nzilbb.ag [1.0.4,) compile
- junit:junit 4.13.1 test
- nzilbb:nzilbb.ag [1.0.7,) compile
- nzilbb:nzilbb.formatter.est [0.6.0,)
- junit:junit 4.11 test
- nzilbb:nzilbb.ag [1.0.4,) compile
- junit:junit 4.13.1 test
- nzilbb:nzilbb.ag [1.0.4,) compile
- junit:junit 4.11 test
- nz.ilbb.ag:nzilbb.ag 1.1.3-SNAPSHOT compile
- junit:junit 4.11 test
- nz.ilbb.ag:nzilbb.ag 1.1.3-SNAPSHOT
- nz.ilbb.ag:nzilbb.formatter.clan [1.2.3,)
- nz.ilbb.ag:nzilbb.formatter.elan [1.7.8,)
- junit:junit 4.13.1 test
- nz.ilbb.ag:nzilbb.ag 1.1.3-SNAPSHOT
- nz.ilbb.ag:nzilbb.formatter.clan [1.2.3,)
- nz.ilbb.ag:nzilbb.formatter.pdf [0.5.2,)
- junit:junit 4.13.1 test
- nz.ilbb.ag:nzilbb.ag 1.1.3-SNAPSHOT
- nz.ilbb.ag:nzilbb.formatter.clan [1.2.3,)
- nz.ilbb.ag:nzilbb.formatter.praat [2.6.5,)
- junit:junit 4.13.1 test
- nz.ilbb.ag:nzilbb.ag 1.1.3-SNAPSHOT
- nz.ilbb.ag:nzilbb.formatter.clan [1.2.3,)
- nz.ilbb.ag:nzilbb.formatter.transcriber [2.0.5,)
- junit:junit 4.13.1 test
- nz.ilbb.ag:nzilbb.ag 1.1.3-SNAPSHOT
- nz.ilbb.ag:nzilbb.formatter.clan [1.2.3,)
- nz.ilbb.ag:nzilbb.formatter.webvtt [0.7.0,)
- junit:junit 4.13.1 test
- nz.ilbb.ag:nzilbb.ag 1.1.3-SNAPSHOT
- nz.ilbb.ag:nzilbb.formatter.clan [1.2.3,)
- nz.ilbb.ag:nzilbb.formatter.elan [1.7.8,)
- junit:junit 4.13.1 test
- nz.ilbb.ag:nzilbb.ag 1.1.3-SNAPSHOT
- nz.ilbb.ag:nzilbb.formatter.elan [1.7.8,)
- nz.ilbb.ag:nzilbb.formatter.kaldi [1.3.2,)
- junit:junit 4.13.1 test
- nz.ilbb.ag:nzilbb.ag 1.1.3-SNAPSHOT
- nz.ilbb.ag:nzilbb.formatter.elan [1.7.8,)
- nz.ilbb.ag:nzilbb.formatter.pdf [0.5.2,)
- junit:junit 4.13.1 test
- nz.ilbb.ag:nzilbb.ag 1.1.3-SNAPSHOT
- nz.ilbb.ag:nzilbb.formatter.elan [1.7.8,)
- nz.ilbb.ag:nzilbb.formatter.salt [0.3.0,)
- junit:junit 4.13.1 test
- nz.ilbb.ag:nzilbb.ag 1.1.3-SNAPSHOT
- nz.ilbb.ag:nzilbb.formatter.elan [1.7.8,)
- nz.ilbb.ag:nzilbb.formatter.latex [0.3.1,)
- junit:junit 4.13.1 test
- nz.ilbb.ag:nzilbb.ag 1.1.3-SNAPSHOT
- nz.ilbb.ag:nzilbb.formatter.elan [1.7.8,)
- nz.ilbb.ag:nzilbb.formatter.praat [2.6.5,)
- junit:junit 4.13.1 test
- nz.ilbb.ag:nzilbb.ag 1.1.3-SNAPSHOT
- nz.ilbb.ag:nzilbb.formatter.elan [1.7.8,)
- nz.ilbb.ag:nzilbb.formatter.transcriber [2.0.5,)
- junit:junit 4.13.1 test
- nz.ilbb.ag:nzilbb.ag 1.1.3-SNAPSHOT
- nz.ilbb.ag:nzilbb.formatter.elan [1.7.8,)
- nz.ilbb.ag:nzilbb.formatter.webvtt [0.7.0,)
- junit:junit 4.13.1 test
- nz.ilbb.ag:nzilbb.ag 1.1.3-SNAPSHOT
- nz.ilbb.ag:nzilbb.formatter.elan [1.7.8,)
- nz.ilbb.ag:nzilbb.formatter.salt [0.3.0,)
- junit:junit 4.13.1 test
- nz.ilbb.ag:nzilbb.ag 1.1.3-SNAPSHOT
- nz.ilbb.ag:nzilbb.formatter.pdf [0.5.2,)
- nz.ilbb.ag:nzilbb.formatter.salt [0.3.0,)
- junit:junit 4.13.1 test
- nz.ilbb.ag:nzilbb.ag 1.1.3-SNAPSHOT
- nz.ilbb.ag:nzilbb.formatter.latex [0.3.1,)
- nz.ilbb.ag:nzilbb.formatter.salt [0.3.0,)
- junit:junit 4.13.1 test
- nz.ilbb.ag:nzilbb.ag 1.1.3-SNAPSHOT
- nz.ilbb.ag:nzilbb.formatter.praat [2.6.5,)
- nz.ilbb.ag:nzilbb.formatter.salt [0.3.0,)
- junit:junit 4.13.1 test
- nz.ilbb.ag:nzilbb.ag 1.1.3-SNAPSHOT
- nz.ilbb.ag:nzilbb.formatter.salt [0.3.0,)
- nz.ilbb.ag:nzilbb.formatter.transcriber [2.0.5,)
- junit:junit 4.13.1 test
- nz.ilbb.ag:nzilbb.ag 1.1.3-SNAPSHOT
- nz.ilbb.ag:nzilbb.formatter.salt [0.3.0,)
- nz.ilbb.ag:nzilbb.formatter.webvtt [0.7.0,)
- junit:junit 4.13.1 test
- junit:junit 4.13.1 test
- nz.ilbb.ag:nzilbb.ag 1.1.3-SNAPSHOT
- nz.ilbb.ag:nzilbb.formatter.kaldi [1.3.2,)
- nz.ilbb.ag:nzilbb.formatter.praat [2.6.5,)
- junit:junit 4.13.1 test
- nz.ilbb.ag:nzilbb.ag 1.1.3-SNAPSHOT
- nz.ilbb.ag:nzilbb.formatter.pdf [0.5.2,)
- nz.ilbb.ag:nzilbb.formatter.praat [2.6.5,)
- junit:junit 4.13.1 test
- nz.ilbb.ag:nzilbb.ag 1.1.3-SNAPSHOT
- nz.ilbb.ag:nzilbb.formatter.latex [0.3.1,)
- nz.ilbb.ag:nzilbb.formatter.praat [2.6.5,)
- junit:junit 4.13.1 test
- nz.ilbb.ag:nzilbb.ag 1.1.3-SNAPSHOT
- nz.ilbb.ag:nzilbb.formatter.praat [2.6.5,)
- nz.ilbb.ag:nzilbb.formatter.transcriber [2.0.5,)
- junit:junit 4.13.1 test
- nz.ilbb.ag:nzilbb.ag 1.1.3-SNAPSHOT
- nz.ilbb.ag:nzilbb.formatter.praat [2.6.5,)
- nz.ilbb.ag:nzilbb.formatter.webvtt [0.7.0,)
- junit:junit 4.13.1 test
- junit:junit 4.13.1 test
- nz.ilbb.ag:nzilbb.ag 1.1.3-SNAPSHOT
- nz.ilbb.ag:nzilbb.formatter.clan [1.2.3,)
- nz.ilbb.ag:nzilbb.formatter.transcriber [2.0.5,)
- junit:junit 4.13.1 test
- nz.ilbb.ag:nzilbb.ag 1.1.3-SNAPSHOT
- nz.ilbb.ag:nzilbb.formatter.elan [1.7.8,)
- nz.ilbb.ag:nzilbb.formatter.transcriber [2.0.5,)
- junit:junit 4.13.1 test
- nz.ilbb.ag:nzilbb.ag 1.1.3-SNAPSHOT
- nz.ilbb.ag:nzilbb.formatter.kaldi [1.3.2,)
- nz.ilbb.ag:nzilbb.formatter.transcriber [2.0.5,)
- junit:junit 4.13.1 test
- nz.ilbb.ag:nzilbb.ag 1.1.3-SNAPSHOT
- nz.ilbb.ag:nzilbb.formatter.pdf [0.5.2,)
- nz.ilbb.ag:nzilbb.formatter.transcriber [2.0.5,)
- junit:junit 4.13.1 test
- nz.ilbb.ag:nzilbb.ag 1.1.3-SNAPSHOT
- nz.ilbb.ag:nzilbb.formatter.salt [0.3.0,)
- nz.ilbb.ag:nzilbb.formatter.transcriber [2.0.5,)
- junit:junit 4.13.1 test
- nz.ilbb.ag:nzilbb.ag 1.1.3-SNAPSHOT
- nz.ilbb.ag:nzilbb.formatter.latex [0.3.1,)
- nz.ilbb.ag:nzilbb.formatter.transcriber [2.0.5,)
- junit:junit 4.13.1 test
- nz.ilbb.ag:nzilbb.ag 1.1.3-SNAPSHOT
- nz.ilbb.ag:nzilbb.formatter.praat [2.6.5,)
- nz.ilbb.ag:nzilbb.formatter.transcriber [2.0.5,)
- junit:junit 4.13.1 test
- nz.ilbb.ag:nzilbb.ag 1.1.3-SNAPSHOT
- nz.ilbb.ag:nzilbb.formatter.text [1.5.1,)
- nz.ilbb.ag:nzilbb.formatter.transcriber [2.0.5,)
- junit:junit 4.13.1 test
- nz.ilbb.ag:nzilbb.ag 1.1.3-SNAPSHOT
- nz.ilbb.ag:nzilbb.formatter.transcriber [2.0.5,)
- nz.ilbb.ag:nzilbb.formatter.webvtt [0.7.0,)
- junit:junit 4.13.1 test
- junit:junit 4.13.1 test
- nz.ilbb.ag:nzilbb.ag 1.1.3-SNAPSHOT
- nz.ilbb.ag:nzilbb.formatter.clan [1.2.3,)
- nz.ilbb.ag:nzilbb.formatter.webvtt [0.7.0,)
- junit:junit 4.13.1 test
- nz.ilbb.ag:nzilbb.ag 1.1.3-SNAPSHOT
- nz.ilbb.ag:nzilbb.formatter.elan [1.7.8,)
- nz.ilbb.ag:nzilbb.formatter.webvtt [0.7.0,)
- junit:junit 4.13.1 test
- nz.ilbb.ag:nzilbb.ag 1.1.3-SNAPSHOT
- nz.ilbb.ag:nzilbb.formatter.pdf [0.5.2,)
- nz.ilbb.ag:nzilbb.formatter.webvtt [0.7.0,)
- junit:junit 4.13.1 test
- nz.ilbb.ag:nzilbb.ag 1.1.3-SNAPSHOT
- nz.ilbb.ag:nzilbb.formatter.latex [0.3.1,)
- nz.ilbb.ag:nzilbb.formatter.webvtt [0.7.0,)
- junit:junit 4.13.1 test
- nz.ilbb.ag:nzilbb.ag 1.1.3-SNAPSHOT
- nz.ilbb.ag:nzilbb.formatter.praat [2.6.5,)
- nz.ilbb.ag:nzilbb.formatter.webvtt [0.7.0,)
- junit:junit 4.13.1 test
- nz.ilbb.ag:nzilbb.ag 1.1.3-SNAPSHOT
- nz.ilbb.ag:nzilbb.formatter.transcriber [2.0.5,)
- nz.ilbb.ag:nzilbb.formatter.webvtt [0.7.0,)
- junit:junit 4.13.1 test
- nz.ilbb.ag:nzilbb.ag [1.0.0,) compile
- org.apache.commons:commons-csv 1.8 compile
- junit:junit 4.13.1 test
- nz.ilbb.ag:nzilbb.ag 1.1.0 compile
- junit:junit 4.13.1 test
- nz.ilbb.ag:nzilbb.ag 1.1.0 compile
- org.apache.commons:commons-csv 1.8 compile
- junit:junit 4.13.1 test
- nz.ilbb.ag:nzilbb.ag 1.1.0 compile
- junit:junit 4.13.1 test
- nz.ilbb.ag:nzilbb.ag 1.1.0 compile
- junit:junit 4.13.1 test
- nz.ilbb.ag:nzilbb.ag 1.1.0 compile
- junit:junit 4.13.1 test
- nz.ilbb.ag:nzilbb.ag 1.1.0 compile
- junit:junit 4.13.1 test
- nz.ilbb.ag:nzilbb.ag 1.1.0 compile
- junit:junit 4.13.1 test
- nz.ilbb.ag:nzilbb.ag 1.1.0 compile
- junit:junit 4.13.1 test
- nz.ilbb.ag:nzilbb.ag 1.1.0 compile
- junit:junit 4.13.1 test
- com.itextpdf:itextpdf 5.5.13.3 compile
- nz.ilbb.ag:nzilbb.ag 1.1.0 compile
- junit:junit 4.13.1 test
- nz.ilbb.ag:nzilbb.ag 1.1.0 compile
- junit:junit 4.13.1 test
- nz.ilbb.ag:nzilbb.ag 1.1.0 compile
- junit:junit 4.13.1 test
- nz.ilbb.ag:nzilbb.ag 1.1.0 compile
- junit:junit 4.13.1 test
- nz.ilbb.ag:nzilbb.ag 1.1.0 compile
- junit:junit 4.13.1 test
- nz.ilbb.ag:nzilbb.ag 1.1.0 compile
- junit:junit 4.13.1 test
- nz.ilbb.ag:nzilbb.ag 1.1.0 compile
- junit:junit 4.13.1 test
- nz.ilbb.ag:nzilbb.ag 1.1.0 compile
- junit:junit 4.13.1 test
- nz.ilbb.ag:nzilbb.ag 1.1.0 compile
- junit:junit 4.13.1 test
- nz.ilbb.ag:nzilbb.ag [1.1.1-SNAPSHOT,) compile
- nz.ilbb.labbcat:nzilbb.labbcat [1.1.1,) compile
- org.apache.commons:commons-csv 1.8 compile
- nz.ilbb.ag:nzilbb.annotator.orthography 0.1.1
- nz.ilbb.ag:nzilbb.formatter.text [1.5.1,)
- junit:junit 4.13.1 test
- nz.ilbb.ag:nzilbb.ag 1.1.3-SNAPSHOT compile
- com.google.cloud:libraries-bom 26.19.0 import
- com.google.cloud:google-cloud-speech
- com.google.cloud:google-cloud-storage 2.26.1
- junit:junit 4.13.1 test
- nz.ilbb.ag:nzilbb.ag 1.1.0 compile
- nz.ilbb.ag:nzilbb.formatter.webvtt [0.6.2,)
- junit:junit 4.13.1 test
- nz.ilbb.ag:nzilbb.ag 1.1.0 compile
- nz.ilbb.ag:nzilbb.formatter.webvtt [0.7.0,)
- nz.ilbb.papareo:nzilbb.papareo 0.1.0
- junit:junit 4.11 test