Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Create graphlet.nlp.entity_linking module that uses BLINK on your KG / dataset #12

Open
rjurney opened this issue Sep 7, 2022 · 0 comments

Comments

@rjurney
Copy link
Contributor

rjurney commented Sep 7, 2022

Use of graphlet.nlp.ie

The entities and their relations that form the input to this module will be extracted using graphlet.nlp.ie - see #11 and #1.

Integration with BLINK

BLINK by Facebook Research which you implements the ELQ architecture uses a joint embedding

In a nutshell, BLINK uses a two stages approach for entity linking, based on fine-tuned BERT architectures. In the first stage, BLINK performs retrieval in a dense space defined by a bi-encoder that independently embeds the mention context and the entity descriptions. Each candidate is then examined more carefully with a cross-encoder, that concatenates the mention and entity text. BLINK achieves state-of-the-art results on multiple datasets.

BLINK can be used interactively, which is neat. Adapting BLINK to any given ontology is not a simple task.

BLINK can use FAISS vector search engine or the more scalable distributed-faiss, which we have used in the past for blocking for entity resolution.

Using BLINK with an arbitrary KG and dataset

The work in building this ticket would be using BLINK with the knowledge graph defined using the graphlet.etl NodeSchema / EdgeSchema sub-classes and your own corpus of documents.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant