All Projects → proycon → Flat

proycon / Flat

Licence: gpl-3.0
FoLiA Linguistic Annotation Tool -- Flat is a web-based linguistic annotation environment based around the FoLiA format (http://proycon.github.io/folia), a rich XML-based format for linguistic annotation. Flat allows users to view annotated FoLiA documents and enrich these documents with new annotations, a wide variety of linguistic annotation types is supported through the FoLiA paradigm.

Programming Languages

javascript
184084 projects - #8 most used programming language
python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to Flat

Mopaint
🎨💪 Modern, modular paint and more! (pre-alpha, not much done yet)
Stars: ✭ 50 (-46.24%)
Mutual labels:  web-application
Beta
An open source reimplementation of Benny Brodda's BETA in Python
Stars: ✭ 65 (-30.11%)
Mutual labels:  linguistics
Butterfly
🔥 蝴蝶--【简单】【稳定】【好用】的 Python web 框架🦋 除 Python 2.7,无其他依赖; 🦋 butterfly 是一个 RPC 风格 web 框架,同时也是微服务框架,自带消息队列通信机制实现分布式
Stars: ✭ 82 (-11.83%)
Mutual labels:  web-application
Yetiforcecrm
Our team created for you one of the most innovative CRM systems that supports mainly business processes and allows for customization according to your needs. Be ahead of your competition and implement YetiForce!
Stars: ✭ 1,056 (+1035.48%)
Mutual labels:  web-application
Hospital Management System
JavaEE web application Discuss how to build Full java web app big system from scratch to Professional
Stars: ✭ 64 (-31.18%)
Mutual labels:  web-application
Textannotationgraphs
A modular annotation system that supports complex, interactive annotation graphs embedded on top of sequences of text.
Stars: ✭ 73 (-21.51%)
Mutual labels:  linguistics
Python Datamuse
Python 3 wrapper for the Datamuse API
Stars: ✭ 47 (-49.46%)
Mutual labels:  linguistics
Navigation Timing
Navigation Timing
Stars: ✭ 92 (-1.08%)
Mutual labels:  web-application
Event Management
helps to register an users for on events conducted in college fests with simple logic with secured way
Stars: ✭ 65 (-30.11%)
Mutual labels:  web-application
Web Publisher
Superdesk Publisher - the next generation publishing platform for journalists and newsrooms.
Stars: ✭ 82 (-11.83%)
Mutual labels:  web-application
Lectures
Lecture scripts and slides I use during the Software Engineering course at TU Dresden
Stars: ✭ 52 (-44.09%)
Mutual labels:  web-application
Theorytracker
🎼 HTML5/WebAudio multi-track functional harmony analysis and songwriting app! -- https://hlorenzi.github.io/theorytracker/
Stars: ✭ 62 (-33.33%)
Mutual labels:  web-application
Awesome Django
Repository mirror of GitLab: https://gitlab.com/rosarior/awesome-django This repository is not monitored for issues, use original at GitLab.
Stars: ✭ 8,527 (+9068.82%)
Mutual labels:  web-application
Yesterday I Learned
Brainfarts are caused by the rupturing of the cerebral sphincter.
Stars: ✭ 50 (-46.24%)
Mutual labels:  linguistics
Instuigram
🎓 Learning Ruby on Rails through building the Instagram Application.
Stars: ✭ 88 (-5.38%)
Mutual labels:  web-application
Start Fastapi
a lightweight web framework based on fastapi
Stars: ✭ 48 (-48.39%)
Mutual labels:  web-application
Brookfreepascal
The perfect Free Pascal framework for your web applications.
Stars: ✭ 64 (-31.18%)
Mutual labels:  web-application
Adoptoposs
Finding co-maintainers for your open source software project.
Stars: ✭ 93 (+0%)
Mutual labels:  web-application
Bootstrap Simple Admin Template
The most reliable HTML, CSS, and JavaScript simple admin template for developing responsive, mobile first web applications on the web.
Stars: ✭ 92 (-1.08%)
Mutual labels:  web-application
Commudle Ng
World's first community management platform. And it's free!
Stars: ✭ 81 (-12.9%)
Mutual labels:  web-application

.. image:: http://readthedocs.org/projects/flat/badge/?version=latest :target: http://flat.readthedocs.io/en/latest/?badge=latest :alt: Documentation Status

.. image:: http://applejack.science.ru.nl/lamabadge.php/flat :target: http://applejack.science.ru.nl/languagemachines/

.. image:: https://zenodo.org/badge/15584383.svg :target: https://zenodo.org/badge/latestdoi/15584383

.. image:: https://www.repostatus.org/badges/latest/active.svg :alt: Project Status: Active – The project has reached a stable, usable state and is being actively developed. :target: https://www.repostatus.org/#active

.. image:: https://img.shields.io/pypi/v/FoLiA-Linguistic-Annotation-Tool?color=green :alt: Latest release in the Python Package Index :target: https://pypi.org/project/FoLiA-Linguistic-Annotation-Tool/


FLAT - FoLiA Linguistic Annotation Tool


FLAT is a web-based linguistic annotation environment based around the FoLiA format (http://proycon.github.io/folia), a rich XML-based format for linguistic annotation. FLAT allows users to view annotated FoLiA documents and enrich these documents with new annotations, a wide variety of linguistic annotation types is supported through the FoLiA paradigm. It is a document-centric tool that fully preserves and visualises document structure.

FLAT is written in javascript with jquery on a backend of Python using the Django framework. The FoLiA Document Server (https://github.com/proycon/foliadocserve) , the back-end of the system, is written in Python with CherryPy and is used as a RESTful webservice.

FLAT is open source software developed at the Centre of Language and Speech Technology, Radboud University Nijmegen. It is licensed under the GNU Public License v3. The project is funded in the scope of the larger CLARIAH <http://clariah.nl>_ project.

============================================= Features

  • Web-based, multi-user environment
  • Server-side document storage, divided into 'namespaces', by default each user has his own namespace. Active documents are held in memory server-side. Read and write permissions to access namespaces are fully configurable.
  • Concurrency (multiple users may edit the same document similtaneously)
  • Full versioning control for documents (using git), allowing limitless undo operations. (in foliadocserve)
  • Full provenance information, including annotator names and timestamps, is stored in the FoLiA XML and can be displayed by the interface. The git log also contains verbose information on annotations.
  • Annotators can indicate their confidence for each annotation
  • Highly configurable interface; interface options may be disabled on a per-configuration basis. Multiple configurations can be deployed on a single installation
  • Displays and retains document structure (divisions, paragraphs, sentence, lists, etc)
  • Support for corrections, of text or linguistic annotations, and alternative annotations. Corrections are never mere substitutes, originals are always preserved!
  • Spelling corrections for runons, splits, insertions and deletions are supported.
  • Supports FoLiA Set Definitions to display label sets. Sets are not predefined in FoLiA and anybody can create their own.
  • Supports Token Annotation and Span Annotation
  • Supports complex span annotations such as dependency relations, syntactic units (constituents), predicates and semantic roles, sentiments, stratements/attribution, observations
  • Simple metadata editor for editing/adding arbitrary metadata to a document. Selected metadata fields can be shown in the document index as well.
  • User permission model featuring groups, group namespaces, and assignable permissions
  • File/document management functions (copying, moving, deleting)
  • Allows converter extensions to convert from other formats to FoLiA on upload
  • In-document search (CQL or FQL), advanced searches can be predefined by administrators
  • Morphosyntactic tree visualisation (constituency parses and morphemes)
  • Higher-order annotation: associate features, comments, descriptions with any linguistic annotation, also allow for arbritary relations between any type of annotation or structure

============================================ Architecture

The FLAT architecture consists of three layers:

At the far back-end is the FoLiA Document Server, which loads the requested FoLiA documents, and passes these as JSON and HTML to the middle layer, the FLAT server, this layer in turn passes edits formulated in FoLiA Query Language (FQL) to the Document Server. The user-interface is a modern web-application interacting with the FLAT server and translates interface actions to FQL.

FLAT distinguishes several modes, between which the user can switch to get another take of a document with different editing abilities. There are currently three modes available, and a fourth one under construction:

  • Viewer - Views a document and its annotations, no editing abilities
  • Editor - Main editing environment for linguistic annotation
  • Metadata editor - A simple editor for document-wide metadata
  • Structure Editor - Editing environment for document structure (rudimentary version, not done)

In the viewer and editor mode, users may set an annotation focus, i.e. an annotation type that they want to visualise or edit. All instances of that annotation type will be coloured in the interface and offer a global overview. Moreover, the editor dialog will automatically present fields for editing that type whenever a structure element (usually a word/token) is clicked.

Whereas the annotation focus is primary, users may select what other annotation types they want to view locally, i.e. in the annotation viewer that pops up whenever the user hovers over a structural element. Similarly, users may select what annotation types they want to see in editor, allowing the editing of multiple annotation types at once rather than just the annotation focus.

FoLiA distinguishes itself from some other annotation formats by explicitly providing support for corrections (on any annotation type, including text) and alternative annotations. In FLAT these are categorized as edit forms, as they are different forms of editing; the user can select which form he wants to use when performing an annotation.

The site administrator can configure in great detail what options the user has available and what defaults are selected (for annotation focus for instance), as a full unconstrained environment (which is the default) may quickly be daunting and confusing to the end-user. Different tasks ask for different configurations, so multiple configurations per site are possible; the user chooses the desired configuration, often tied to a particular annotation project, upon login.

=========================================== Documentation

FLAT Documentation can be found in the form of the following three guides:

  • Installation Guide <http://flat.readthedocs.io/en/latest/installation_guide.html>_. - Explains how to install FLAT.
  • Administration Guide <http://flat.readthedocs.io/en/latest/administration_guide.html>_. - Explains how to configure FLAT for your annotation task.
  • User Guide <http://flat.readthedocs.io/en/latest/user_guide.html>_. - Explains how to use FLAT.

Moreover, a screencast video has been created to show FLAT in action and offer an impression of its features:

  • FLAT Demonstration Video <https://www.youtube.com/watch?v=tYF6grtldVQ>_.

============================================= Screenshots

For some impressions of FLAT, take a look at the following screenshots:

The login screen:

.. image:: https://raw.github.com/proycon/flat/master/docs/login.png :alt: FLAT screenshot :align: center

Document index, showing namespaces accessible to the user and the documents within.

.. image:: https://raw.github.com/proycon/flat/master/docs/mydocuments.png :alt: FLAT screenshot :align: center

Hovering over words reveals annotations:

.. image:: https://raw.github.com/proycon/flat/master/docs/hover.png :alt: FLAT screenshot :align: center

A particular annotation focus can be set to highlight the most frequent classes in that set:

.. image:: https://raw.github.com/proycon/flat/master/docs/highlight1.png :alt: FLAT screenshot :align: center

.. image:: https://raw.github.com/proycon/flat/master/docs/highlight2.png :alt: FLAT screenshot :align: center

Editing a named entity in a set for which a set definition is available:

.. image:: https://raw.github.com/proycon/flat/master/docs/edit2.png :alt: FLAT screenshot :align: center

Correcting a word in a spelling-annotation project:

.. image:: https://raw.github.com/proycon/flat/master/docs/edit1.png :alt: FLAT screenshot :align: center

Proper right-to-left support for languages such as Arabic, Farsi and Hebrew.

.. image:: https://raw.github.com/proycon/flat/master/docs/righttoleft.png :alt: FLAT screenshot (right to left) :align: center

Extensive history with limitless undo ability, git-based:

.. image:: https://raw.github.com/proycon/flat/master/docs/history.png :alt: FLAT screenshot :align: center

Advanced search queries in CQL (Corpus Query Language) or FQL (FoLiA Query Language):

.. image:: https://raw.github.com/proycon/flat/master/docs/searchcql.png :alt: FLAT screenshot :align: center

.. image:: https://raw.github.com/proycon/flat/master/docs/search.png :alt: FLAT screenshot :align: center

Tree visualisation of syntax and morphology:

.. image:: https://raw.github.com/proycon/flat/master/docs/syntree.png :alt: FLAT screenshot :align: center

.. image:: https://raw.github.com/proycon/flat/master/docs/morphtree.png :alt: FLAT screenshot :align: center

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].