nlplab / brat

brat rapid annotation tool (brat) - for all your textual annotation needs
http://brat.nlplab.org
Other
1.82k stars 509 forks source link

Seeking interest of the community in building a brat editor component/library fully client-side #1168

Open Renaud009 opened 8 years ago

Renaud009 commented 8 years ago

I see that many annotation applications wrapped BRAT frontend in various ways (brat itself, webanno, annodoc, etc). I know that we can embed BRAT frontend visualisation following these steps http://brat.nlplab.org/embed.html and that's awesome. The editor offered by brat is awesome and in many ways more intuitive than others like TextAE. Sadly, the editor itself offered by brat is tighly coupled to its backend and I guess in many cases that's a problem.

Like explained here https://github.com/nlplab/brat/issues/1159, my company is thinking of using brat in a multimedia annotation platform but I was wondering if there's interest in the community in contributin/building a fully autonomous brat editor component/library client-side.

The component would take as inputs same things as embedded brat visualisation

But would offer possibility to edit these annotations based on collection data rules:

Or if anyone could point me a library/application that already exists and does anything similar tot his, I would give it look.

Thank you and good job to all contributors of this project

reckart commented 8 years ago

If anybody starts working on such an effort, it would be great if it would continue to build on the event-driven architecture of brat, such that events could either be handled directly in the client and update a local data model, but could also be used by server-based architectures where events would be sent to the server and the server would provide an updated data model. I believe such an approach would maximize the potential user and developer community while also providing a strong MVC-style separation of concerns.

Laurian commented 8 years ago

I'm interested in multimedia annotation, right now I work with media-aligned transcripts (hyperaud.io, PalestineRemix.com, trint.com) and I need ways to at least display annotations (from scene metadata to speaker diarisation, named entities, POS, etc.)

Renaud009 commented 8 years ago

@reckart I totally agree that the library should support both self local modification and remote event handling that returns the whole data model based on the current architecture.

@Laurian We initialy developped an audio/video annotation platform called VESTA http://demo.vesta.crim.ca/ which can call multiple automated services on a multimedia file: transcription, speaker diarisation, text matching, shot detection, motion detection and face detection. There's a wonderful edition tool to view, manage and correct these annotations on a timeline. You can ask for a demo account here: http://demo.vesta.crim.ca/#/signup. Next step in the next couple of months will be to offer same kind of annotation platform for text files and the editor itself will probably be based on brat.

artm commented 8 years ago

I'm interested in a modular version of the annotation front end for a natural language processing UI. I'd like to (a) display the results of automatic annotation to the researcher and (b) allow the researcher to add annotations as training input. The most important for me would be to have the annotation interface as basic and as isolated from the rest of my application as possible, so that it wouldn't affect the architecture of the rest of the application too much. Ideally I would like to see it as a sort of "annotation textarea" that can display annotated text, allow some user interaction and notify the application on the interaction events.

The part which is more complex than "just" a text area is some way to enforce the application specific metadata structure while keeping it usable. In our sort of application we'd want different sets of rules govern the metadata structure on different "layers" of annotation, and encoding and enforcing these rules and switching between the rule sets feel to me as the most difficult part of what we're looking for.

Renaud009 commented 8 years ago

Hi I have started working on a forked frontend editor library version of BRAT. https://github.com/crim-ca/brat-frontend-editor

Much work still need to be done and will be done in the next couple of months. Most changes are located in a re-written version of ajax.js that process changes locally instead of communicating with the brat server.

You are all welcome to contribute.