II. Desarrollo
4. Sociedades autosuficientes en alimentos que mantienen la capacidad de
In the context of helping sound maker to create sound composition, we developed web-based audio sequencer [78]. We used the standard mark-up language designed for the Web, HTML, graphical customization allowed by CSS stylesheets and we handled the business logic and user interactions with JavaScript. We also tried to exploit the multimedia capabilities of the new version of the HTML standard, but our project required advanced audio synchronization features that HTML5 Au- dio does not yet provide. We had to fall back to Adobe Flash technology that is responsible for handling audio playback.
3.3 – Ontology driven multimedia annotations
• The Audio Engine Layer is responsible for the playback of the audio. It re- trieves audio files from the Web, then it synchronizes tracks and handles the virtual timeline. In addition, it has features to mute and solo a track and change its volume. It also permits looping a section of the composition and includes a metronome. It communicates with the Communication Layer de- scribed below.
• The Communication layer controls bidirectionally the Audio Engine Layer and the Graphical Interface of the application. When a user performs an action, it is handled by the Communication Layer that transmits the instructions to the Audio Engine Layer. It also receives events from the Audio Engine Layer and updates the User Interface.
• The Graphical User Interface handles all interactions with the user through drag functionalities, buttons, sliders and editable text fields. When a user interacts with the GUI, the Communication Layer propagates the action to the Audio Engine.
Through this application users can mix sounds available over the web simply using the URL of the audio resources. It implements the basic functionalities of every sequencer, like audio playback, visual tracks synchronization and looping, so that users can create their own audio composition. We also integrated searching of the Creative Commons6 licensed sound repository Freesound7, so that users can
retrieve sounds from a large repository.
Figure 3.14. Integration between the Web audio sequencer and the annotation tool. In this case the user loaded the Chord Taxonomy, in order to describe the harmony of the musical samples included in the composition.
6
http://creativecommons.org
7
As shown in Figure 3.14 the annotation tool has been integrated into this se- quencer. A user can use it to give the semantic description of an audio file content. By clicking on the Annotation button the user has the opportunity to choose an argument: every argument corresponds to an existing ontology. The current imple- mentation proposes the Sound Producing Events ontology recommended for natural sounds and the taxonomy on Chords, useful to describe the harmony of a music track. Adding new ontologies is really simple for a developer, due to the fact that every ontology is an OWL file located over the Web. After this choice, the GUI is enriched by some new buttons and text. At this point the user can select a portion of an audio sample from the sequencer composition and choose to annotate it. Then, from the annotation tool panel that appears on the screen, he or she can listen to portions of the samples and select concepts that better describe the content (Fig- ure 3.15). In this way we improve the granularity of the annotation, enriching the semantic description of an audio resource.
Figure 3.15. In our use case, we propose two ontologies. The first is useful in annotating natural sounds, while the second is useful in describing the harmony aspect of a music track.
The technologies used permit easy integration of the annotation tool on every website. What is needed is to include the Javascript libraries into the site code. Furthermore, the possibility to plug in any ontology available on the web makes the tool a possibly useful instrument for web sites that want to include annotation functionality.
Chapter 4
Knowledge extraction from
unstructured data
The Web hosts millions of unstructured data such as scientific or medical papers, news articles as well as forum and archived mailing list threads or (micro-)blog posts. This information has usually a rich semantic structure which is clear for the author but that remains mostly hidden to computing machinery. Natural Language Pro- cessing (NLP) and information extractors aim to bring such a structure from those free texts. They provide algorithms for analyzing part-of-speech (POS) terms which occur in a sentence and identify Named Entity (NE) such as name of people or or- ganizations, locations, time references, quantities, etc. classifying them according to predefined schema, increasing discoverability (e.g. through faceted search), reusabil- ity and the utility of information. The named entity extraction is a mature task in the NLP field that has yielded numerous services gaining popularity in the Semantic Web community for extracting knowledge from Web documents. These services are generally organized as pipelines, using dedicated APIs and different taxonomies for extracting, classifying and disambiguating named entities. The integration of one of these extractors in a particular application requires to implement an appropriate driver. Furthermore, the results of these services are not comparable due to differ- ent formats. This prevents the comparison of the performance of these services as well as their possible combination. We address this problem by proposing NERD, a framework which unifies 10 popular named entity extractors publicly available on the Web, and the NERD ontology which provides a rich set of axioms aligning the taxonomies of these tools. To highlight strengths and weaknesses of these extractors we propose two set of evaluations: a qualitative experiment, where we performed two human evaluation campaigns and a quantitative experiment where we performed extraction experiment and we grouped them according to the NERD ontology.
4.1
The NERD framework
NERD is a web framework plugged on top of the following NE extractors: Alche- myAPI1, DBpedia Spotlight2, Evri3, Extractiv4, Lupedia5, OpenCalais6, Saplo7,
Wikimeta8, Yahoo! Content Analysis (YCA)9 and Zemanta10. Its architecture fol-
lows the REST principles [32] and includes an HTML front-end for humans and an API for computers to exchange content in JSON and according to NLP Inter- change Format (NIF) specification11. Both interfaces are powered by the NERD
REST engine. Figure 4.1 shows the workflow of an interaction among clients (hu- mans or computers), the NERD REST engine and various NLP tools which are used by NERD for extracting NEs, classification types and list of pointers to real world objects as they could be defined in the Web of Data.