GSoC/2020/StatusReports/JeanLimaAndrade

From KDE Community Wiki
< GSoC‎ | 2020‎ | StatusReports
Revision as of 00:37, 28 July 2020 by Jyeno (talk | contribs) (Update status report to the second evaluation)

Project Overview

marK is a machine learning dataset annotation tool being developed that will help users annotate multiple types of data for training in supervised classification problems. The objective of the project is to add text annotation support and refactor the codebase to separate image annotation logic from the core of marK, making its codebase more extensible and easy to add new annotation types.

Mentor: Caio Jordão Carvalho

Milestones

  • Refactor marK codebase, separating the image annotation logic from the core
    • Status: Done
  • Text Annotation support
    • Status: Doing

Work Report

Community Bonding Period

I took advantage of this phrase to study how tools of text annotation work to later apply the positive points that I found and correct, and improve, the ones that I didn't like. Text annotation has a bunch of fields, each one meant to a different objective/niche: phrase chunking, named entity recognition (NER), named entity linking (NEL) and so the list goes. For more explanation about this please see my blog post about text annotation.

I also deepened my knowledge, studying coding techniques, best practices, and how to make code more efficient and improve readability.

blog posts:

community bonding introduction

a bit about text annotation

Coding Period - First evaluation

During this coding period, I was focused on refactoring the code and fix bugs. The main branch, which was fairly behind, received the latest changes. These changes include OPP logic that is used in many parts of the code, such as saving, reading, and general handling of different types of annotation. Another big change worth mentioning is that the core was separated from the image annotation, now it is used a different approach where there is one container that switches between painters, classes that load, and annotate, the data for each type of annotation.

For more details about what changed and the current structure of marK, see the posts of weeks 1, 2, 3, 4, and 5.

blog posts:

week 1, 2 and 3

week 4 and 5

Coding Period - Second evaluation

This phrase was quite challenging as I have never done something like this before, this has made me learn a lot. The initial support to text annotation, although there are some bugs needed to be fixed, is already working and it is possible to annotate text documents to, for example, Named Entity Recognition and Phrase Chunking annotation. Mouse click and drag, currently, are also supported for both, text and image annotation, making the user experience better.

Also, it is worth mentioning a change in the original plan, I was planning to use KTextEdit but to focus on the logic in this period, currently, the code is using QTextEdit.

Blog post: week 6, 7 and 8

I also made a short video of the initial text annotation support: mark - Initial text annotation support

Coding Period - Third evaluation

Important Links

You can see my proposal here. For posts of GSoC 2020, check my blog.

About me

Name: Jean Lima Andrade

Invent id: jyeno

IRC Nick: jyeno

Telegram Nick: jyeno