A collaborative system for building and maintaining wordnets. (2019)

Abstract: A collaborative system for wordnet construction and maintenance is presented. Its key modules include WordnetLoom editor, Wordnet Tracker and JavaScript Graph. They offer a number of functionalities that allow solving problems on every stage of building, editing and aligning wordnets by teams of lexicographers working in parallel. The experience collected in recent years has allowed us to refine applications and add new modules to provide the best user experience in a reliable and easily maintainable way.

## introduction wordnet is not yet another electronic dictionary. it is a complex lexico-semantic network. its construction, especially when done manually by a team of lexicographers, and its further editing and/or aligning with other resources requires very advanced and flexible tools. such tools should offer the possibility of simultaneous work of many team members on the same lexicon (a wordnet for a particular language), simultaneous work of different teams on different lexicons, and the subsequent manual or semi-automated linking of the constructed resources. dictionary compiling tools are mostly designed as complex xml editors such as, for instance, lexonomy @xcite . this approach may not be beneficial in working with graph-like structures. therefore, several dedicated tools have been designed and are currently used by different wordnet teams e.g debvisdic @xcite , slowtool @xcite . visualisation of wordnet graphs in most tools follows a radial pattern: a synset in focus is presented in the middle and all links, irrespectively of their types are placed radially around the central element, e.g. slowtool or wordties @xcite . gernedit @xcite offers visualisation of the wordnet structure in the range selected by the user, but it is hierarchical and focused mainly on hypernymy. moreover, the visual presentation does not allow for direct editing of the structures. wordnetloom stands out of the remaining tools, because it offers a graph-based visualisation of wordnet data and provides entirely different workflow based on the direct interaction with graph nodes. in this paper, we will present the most recent development of wordnetloom and progress in relation to earlier releases. we have improved the graphic design for better user experience and implemented the lexical unit graph visualisation. both dictionary making and wordnet building are usually carried out by teams of lexicographers and/or developers. collaborative work, especially in distributed teams working from , requires control tools to provide quality assurance and development progress. in-built auditing/change backlog feature is often absent in these systems and data versioning is handled by external vcs foot_0 software or done manually. the newest version of wordnetloom is interconnected with the wordnet tracker module which provides additional feedback channel for lexicographers to enrich their workflow. every activity of each lexicographer is registered and can be monitored by a senior lexicographer. this paper will showcase how auditing and monitoring can be handled. we will also present a new web-related module, namely javascript graph. javascript graph module is an answer to user needs and provides the possibility of embedding graph visualization to existing websites or applications. in this work, we will present the key modules that are part of a collaborative system for wordnet construction and maintenance including word-netloom editor, wordnet tracker and javascript graph. ## wordnetloom demo up to version 1.68, wordnetloom was a standalone java fat client application directly connecting to its database with all logic contained on the client side. such approach ensures that scaling of the application could only be possible by scaling the database server, in this case mysql foot_1 . in order to meet the growing numbers of users and challenges in providing dedicated endpoints not only for the client editor application, but also for other external applications, web pages or mobile applications, all business logic was extracted to a separate application built on top of jee8 foot_2 framework. the application is responsible for data validation, data auditing, user activity monitoring, user management and data processing. it provides a communication channel via rest api @xcite in the form of siren foot_3 -like hypermedia specification. scaling of the application itself is done by docker-compose foot_4 replicas, while database scaling can be achieved by replication configurations where at least two databases are available. master database configuration is optimized for writing and slave databases have configuration optimized for high performance reading. further scaling can be ensured by introducing new slave database nodes for each distinct consumer such as a mobile application or a web page. the main consumer of the api is a thick client in the form of wordnetloom editor java application (main application workspace presented at fig. 1a ) which has been slimmed down and does not contain essential business logic which reduces it to the role of a simple rest client. it enables advanced search functionalities and basic crud foot_5 operations on typical core objects being part of the semantic structure such as synset, sense (see sense editing properties fig. 1b ), sense relation, synset relation, and relation type. from the ed-itor level, the user with administrator privileges can modify and add elements to dictionary entities such as: part of speech, domain, register (see editing dictionaries fig. 1c ) and adding or editing types of semantic relations (see editing relation types fig. 1d ). the main advantage of the application is the possibility of working with visualization in the form of a graph, which provides quick and easy navigation and simplifies the creative process. due to the fact that the editor has recently undergone a major architectural transformation, it has allowed for even simpler modifications and easier addition of new components, such as in the case of implementing the extended semantic description panel for dictionary of polish borrowings in yiddish foot_6 (see fig. 1e ). also within this project we have created a graph visualization of lexical units which has become the part of a core application. ## wordnet tracker demo an important aspect of the process of building and maintaining wordnet is the ability to monitor changes made by team members. it is made possible by the wordnet tracker module which provides tracking of user activity (see wordnet tracker dashboard fig. 2 ) in terms of the number of lexical units, synsets and semantic relations entered (see fig. 3 for synset relation changes). through this application, the lexicographer has also access to the full history of changes that have been made within a given lexical unit (see fig. 4 for current changes of lexical units). all changes in the synset structure are presented in fig. 5 where the left side column displays the current synset state, while the right side column shows all changes in the synset elements. the user as well as the coordinator have access to current changes in real time for constant monitoring. this functionality turned out to be particularly valuable when working with new, inexperienced lexicographers. the application administrator has the possibility to create diagnostic queries within lexicons or even within the entire dataset, as well as to create statistic queries. in both cases the generated query results are available for download in the form of files. wordnet tracker also provides basic user management panel where the privileged user can add new users, reset passwords or restrict user access to chosen lexicons. ## javascript graph module demo presenting work results in the form of a graph visualization outside wordnet loom editor environment is possible now by a created javascript module. the module tries to faithfully preserve the navigation functions as in the wordnet editor, but at the same time gives the possibility to adjust the color scheme and nodes style to the host application/page design. the presentation data model is fetched from the wordnetloom server via the rest endpoint and the d3.js foot_7 library with custom modifications handles graph visualization and user interaction. the module is constructed in such a way so as to allow easy embedding in other applications, such as a mobile application or a website. a very good example can be the main page of plwordnet foot_8 where the module is used in the form of a pop-up window or as a full scale central element of the website presented at the online dictionary of polish borrowings in yiddish foot_9 (see fig. 6 ). simple library import and basic configuration will allow to present wordnet lexicon as graph visualization on every platform where javascript is supported. ## conclusions and further works this concludes our brief description of each module. we have seen that the combination of presented tools offers solutions to common tasks and problems encountered while building wordnets particularly by distributed teams. we will continue to be open-source software licensed under gnu lgpl 3.0. the source code is hosted in github repository( https://github.com/clarinpl/wordnetloom). we will continue to actively develop presented tools over the next years focused on adding new functionalities based on the needs of users. we will also direct our development towards a reliable, fully-flagged web-based system and we will strive to continue to simplify system deployment by an extensive use of docker foot_10 containers. the polish ministry of science and higher education and the project funded by the national science centre, poland under the grant agreement no umo-2015/18/m/hs2/00100. (a) application main workspace. (b) sense properties window. (c) dictionaries window. (d) relation types window. (e) extended semantic description for polish borrowings in yiddish dictionary.