All Projects → CreativeCodingLab → Textannotationgraphs

CreativeCodingLab / Textannotationgraphs

Licence: mit
A modular annotation system that supports complex, interactive annotation graphs embedded on top of sequences of text.

Programming Languages

javascript
184084 projects - #8 most used programming language

Projects that are alternatives of or similar to Textannotationgraphs

Quip Export
Export all folders and documents from Quip
Stars: ✭ 28 (-61.64%)
Mutual labels:  annotations
Zerocell
Simple, efficient Excel to POJO library for Java
Stars: ✭ 53 (-27.4%)
Mutual labels:  annotations
Fermatslastmargin
tool for creating and sharing annotations, using github for storage and social network
Stars: ✭ 59 (-19.18%)
Mutual labels:  annotations
Rmanns
Remove annotations from the e-books downloaded from the pirate sites, such as www.it-ebooks.info, www.allitebooks.com and another ones.
Stars: ✭ 30 (-58.9%)
Mutual labels:  annotations
Python Datamuse
Python 3 wrapper for the Datamuse API
Stars: ✭ 47 (-35.62%)
Mutual labels:  linguistics
Kpoet
An expressive DSL built on top of JavaPoet to make writing code almost as easy as writing the code yourself.
Stars: ✭ 58 (-20.55%)
Mutual labels:  annotations
Atom Annotations
Atom package that shows annotations (e.g. for overriden methods interface implementations) in your PHP source code.
Stars: ✭ 14 (-80.82%)
Mutual labels:  annotations
Graphql Typescript
Define and build GraphQL Schemas using typed classes
Stars: ✭ 67 (-8.22%)
Mutual labels:  annotations
Yesterday I Learned
Brainfarts are caused by the rupturing of the cerebral sphincter.
Stars: ✭ 50 (-31.51%)
Mutual labels:  linguistics
Cluster
Easy Map Annotation Clustering 📍
Stars: ✭ 1,132 (+1450.68%)
Mutual labels:  annotations
Phonemes
Jason Riggle's chart of phonological features in JSON format + extras
Stars: ✭ 33 (-54.79%)
Mutual labels:  linguistics
Psychopy
For running psychology and neuroscience experiments
Stars: ✭ 1,020 (+1297.26%)
Mutual labels:  linguistics
Taggerine
Annotation tool for images
Stars: ✭ 61 (-16.44%)
Mutual labels:  annotations
Tator Native
Tator: The video and image annotator
Stars: ✭ 28 (-61.64%)
Mutual labels:  annotations
Beta
An open source reimplementation of Benny Brodda's BETA in Python
Stars: ✭ 65 (-10.96%)
Mutual labels:  linguistics
Breadcast
Small Broadcast Receiver Library for Android
Stars: ✭ 15 (-79.45%)
Mutual labels:  annotations
Gsonpath
A Java annotation processor library which generates gson type adapters using basic JsonPath style annotations
Stars: ✭ 54 (-26.03%)
Mutual labels:  annotations
Charger
Characterization of Germline variants
Stars: ✭ 69 (-5.48%)
Mutual labels:  annotations
Kotlin Builder Annotation
A minimal viable replacement for the Lombok @Builder plugin for Kotlin code
Stars: ✭ 67 (-8.22%)
Mutual labels:  annotations
Mqcms
🤖 ⚡️ 麻雀虽小 五脏俱全 基于hyperf的快速优雅的应用开发框架
Stars: ✭ 64 (-12.33%)
Mutual labels:  annotations

TextAnnotationGraphs (TAG)

A modular annotation system that supports complex, interactive annotation graphs embedded on top of sequences of text. An additional view displays a subgraph of selected connections between words/phrases using an interactive network layout.

TAG


TAG


TAG


TAG

Development

TAG was developed by Angus Forbes (UC Santa Cruz) and Kristine Lee (University of Illinios at Chicago), in collaboration with Gus Hahn-Powell, Marco Antonio Valenzuela Escárcega, Zechy Wong, and Mihai Surdeanu (University of Arizona). Contact [email protected] for more information.

Citing TAG

If you use TAG in your work, please use the following citation:

@inproceedings{TAG-2018,
    author = {Angus Forbes and Kristine Lee and Gus Hahn-Powell and Marco A. Valenzuela-Escárcega and Mihai Surdeanu},
    title = {Text Annotation Graphs: Annotating Complex Natural Language Phenomena},
    booktitle = {Proceedings of the Eleventh International Conference on Language Resources and Evaluation (LREC'18)},
    year = {2018},
    month = {May},
    date = {7-12},
    address = {Miyazaki, Japan},
    editor = {Sara Goggi and Hélène Mazo},
    publisher = {European Language Resources Association (ELRA)},
    language = {english}
}

Write-up

A paper describing TAG was accepted to LREC'18. A pre-print can be found at https://arxiv.org/abs/1711.00529

Installation

TAG can be built and installed using npm.

Via npm

npm install git+https://github.com/CreativeCodingLab/TextAnnotationGraphs.git

Usage

To use TAG with your own applications, first include the library in your script:

Browserify (CommonJS)

const TAG = require("text-annotation-graphs");

ES6

import TAG from "text-annotation-graphs";

Next, register one or more annotation format Parsers with the library. TAG comes with parsers for the BRAT and Odin annotation formats -- See the demo sources (demo/src/demo.js) and the Parsers readme (Parsers/README.md) for more information.

const OdinParser = require("text-annotation-graphs/Parsers/odin");
TAG.registerParser(new OdinParser(), "odin");

Then initialise the visualisation on an element, optionally specifying the initial data set to load and any overrides to the default options. For more details, consult the full API documentation.

const graph = TAG.tag({
  container: $container,
  data: {...},
  format: "odin",
  options: {...}
});

Development

Tasks are managed via npm scripts and the runjs build tool. The most commonly used tasks are listed in package.json, and details for the various sub-tasks can be found in tasksfile.js.

Demo

See the live demo here.

After cloning the repository and installing the project dependencies via npm install, you can run the interactive demo using npm run demo and directing your browser to localhost:8080.

To run the demo on a different port, set the PORT environmental variable. For example, running PORT=9000 npm run demo will start the demo server on localhost:9000 instead.

Building the source

TAG is written in ES6, and uses Sass for its styles.

Assuming you've cloned the repository and installed its dependencies, run npm run build to transpile the source to ES2015 and generate the library bundles (dist/tag) and documentation (docs).

To rebuild the sources for the demo, run npm run demo-build.

Live monitoring of changes

For convenience, you can monitor changes to the library's sources (in the src folder) with the following npm task, which will regenerate the files in the dist/tag folder:

npm run watch

If you are experimenting with the demo and would like to monitor changes to the demo sources (in the demo folder), use the following npm task instead:

npm run demo-watch

The demo-watch task will also catch changes to the library sources and rebuild the demo bundles, but it will not directly rebuild the library bundles in dist/tag, so be sure to run npm run build separately if you intend to redistribute/repackage your changes to the library sources.

Generating documentation

TAG uses JSDoc to generate its documentation. By default, the documentation is generated using the template in src/jsdoc-template (adapted from the Braintree JSDoc Template) and stored in the docs folder.

To regenerate the documentation, use the following npm task:

npm run generate-docs
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].