Hi, I’m Aakash 👋

ML Engineer at Needl. I maintain this blog to document my work and learnings — currently: RL with verifiable rewards, inference engineering, and whatever else I’m poking at.

(GSoC) Summary of Neural Extraction Framework

Hello. This is the last blog related to GSoC as my project nears to an end and the final evaluation approaches. In this blog, I will try to summarize the project, write about what could be added further and future scope etc. Summary of Neural Extraction Framework GSoC project page - Link Github Repo - Link Neural Extraction Framework has been a wonderful experience for me. This project was in its third iteration this year in the Google Summer of Code and I am delighted to share that we have achieved to have an end-2-end framework to automatically extract relational triples from wikipedia articles and link them to entities and predicates in DBpedia. ...

September 27, 2023 · 4 min

(GSoC) Week-14 Recent Updates

Hello. This blog will be about a few updates I made in recent weeks. Also, I am excited to share that I will be giving a lightning talk in the Google Summer of Code Virtual Contributor Lightning Talks 2023 on my project. Its going to be a short talk(3 minutes max), I will be summarizing my project and I am really excited for it! In think blog, I will give some info on the recent updates, like adding coreference resolution, some small speedups we got in the code, etc. ...

September 7, 2023 · 2 min

(GSoC) Week-11, 12 and 13 Recent Updates

Hello. Its been a while since I have put an update on the project(travelling and network issues). I had been working on some polishing, enhancing and re-experimenting, with the models that we are using, the time it takes to process the inputs etc. In this blog, I will give a review of these. Restating the Goal Just to make sure we are clear about the end goal, given a wikipedia page(an entity), we need to disambiguate the predicates/relationships between the page and all other pages(other entities) that are linked from that page. More precisely, we want to find the relationships between those pages which are only connected by the dbo:wikiPageWikiLink predicate and no other predicate, or mine the text to see even a relationship exists or not. There are cases where some page is linked in references, but is not related to the wikipedia page. The goal is to find all those hidden relationships by processing the wiki page text. ...

August 26, 2023 · 7 min

(GSoC) Week-9 and 10 Mid Evaluations and remaining TODOs

Hello. I recently passed my mid term evaluation for GSoC 2023. It has been a great experience so far. DBpedia finally has an end-2-end neural extraction framework. Got insightful feedback from the mentors. In this blog, I will discuss about some tasks that still need to be done in order to make this end-2-end relation extraction reliable and correct. Background To give a quick overview - our end-2-end framework takes in raw text as input and gives a list of (<subject>, <predicate>, <object>) triples as output. We are using REBEL relation extraction model for joint entity-relation extraction, GENRE for entity linking and text based vector similarity for mapping relations to predicates. This pipeline is explained in the [previous blog]({% post_url 2023-07-24-Week-8-End-2-End-RE %}) and works great. ...

August 6, 2023 · 5 min

(GSoC) Week-8 End-2-End Relation extraction

Hello. It feels amazing to start this blog as we have been able to create an end-2-end system for relation extraction from text, the ultimate goal of this Neural Extraction Framework project. Before we begin, check the sample below of how the extracted and mapped triples look like: Expectations The expectation from an end-2-end relations extraction is to take as input a wikipedia article text and return a set of relational triples. These relational triples are in the form of <subject_entity> , <predicate> , <object_entity>/<literal>. Also, initially we want these triples to have the wikipedia page itself as the subject entity. For example, if the page is about Berlin_Wall, we would like to pick the triples where the subject entity is Berlin_Wall. This way, we have same objective as extracting from infobox, just that we also make use of the text to extract relations and thus enhance the process to mine more information about that entity/page. ...

July 24, 2023 · 2 min

(GSoC) Week-7 Predicate mapping

Hello. In this blog, we will be looking into mapping natural language relations to predicates in DBpedia. This task is extremely important in order to achieve our ultimate goal of a neural extraction framework. Background In the previous post, we had discussed about REBEL model for relation extraction. This model extracts the head entity, relation and tail entity from texts. But they are in natural language form - for example, “lives in” - we want them to be in the form of URIs - for example “https://dbpedia.org/ontology/residence" - so that we can link them to dbpedia predicates. For mapping entities to dbpedia resource URIs, we already have a few methods for entity linking. ...

July 19, 2023 · 2 min

(GSoC) Week-6 Relation Extraction - REBEL

Hello. The previous blog was the last in the entity-linking part of the project. Now we will move onto relation extraction. In this blog, we will discuss about REBEL - a relation extraction model. Given a text, this model can find relational triples(head-relation-tail) in the form of natural language text. Background REBEL is a text2text model trained by BabelScape by fine-tuning BART for translating a raw input sentence containing entities and implicit relations into a set of triplets that explicitly refer to those relations. It has been trained on more than 200 different relation types. REBEL is a joint model, meaning that it extracts entities and relations simultaneously. ...

July 13, 2023 · 3 min

(GSoC) Week-5 Entity Linking - Benchmarking

Hello. In this blog, I will discuss about the benchmarking(or evaluation 😅) of different entity-linking approaches that I have discussed in previous few blogs. I have used the WNED dataset for benchmarking/evaluation. Dataset I used the WNED(WNED-WIKI from the KILT Benchmarking) dataset available here. The dataset contains 345 wikipedia articles and 6,821 entity mentions from them, along with the entities they refer to(as wikipedia article titles). In the dataset, there are raw-text wikipedia article content which contain entity mentions, and then there is an wikipedia.xml file that contains information like the article title, each mention and its associated entity. I collected all entity mentions and their entities in a file: ...

July 4, 2023 · 3 min

(GSoC) Week-4 GENRE for entity linking

Hello. In this blog, I will be writing about using a text generation model to disambiguate entities, GENRE. It stands for Generative Entity Retrieval, presented in the Autoregressive Entity Retrieval paper by facebook research. In a nutshell, GENRE uses a sequence-to-sequence approach to entity retrieval (e.g., linking), based on fine-tuned BART architecture. GENRE performs retrieval generating the unique entity name conditioned on the input text using constrained beam search to only generate valid identifiers. ...

June 27, 2023 · 3 min

(GSoC) Week-3 Entity Linking - Techniques used

Hello. In this blog, we will continue with entity linking(read [previous blog]({% post_url 2023-06-13-Week-2-Entity-Linking %}) for intro and simple demos), methods that I am using for entity linking in my project and some recent techniques that can be used to perform EL. Background In the previous blog, I had mentioned of using DBpedia lookup, DBpedia spotlight etc. In this blog, I will try to discuss how these work, discuss some approaches that I am using in my GSoC project to perform EL and also discuss some ideas like zero-shot classification that can be used to perform and enhance EL. ...

June 19, 2023 · 5 min