Babelfy is a software algorithm for the disambiguation of text written in any language. Specifically, Babelfy performs the tasks of multilingualWord Sense Disambiguation (i.e., the disambiguation of common nouns, verbs, adjectives and adverbs) and Entity Linking (i.e. the disambiguation of mentions to encyclopedic entities like people, companies, places, etc.). Babelfy is based on the BabelNet multilingual semantic network and performs disambiguation and entity linking in three steps:
It associates with each vertex of the BabelNet semantic network, i.e., either concept or named entity, a semantic signature, that is, a set of related vertices. This is a preliminary step which needs to be performed only once, independently of the input text.
Given an input text, it extracts all the linkable fragments from this text and, for each of them, lists the possible meanings according to the semantic network.
It creates a graph-based semantic interpretation of the whole text by linking the candidate meanings of the extracted fragments using the previously-computed semantic signatures. It then extracts a dense subgraph of this representation and selects the best candidate meaning for each fragment.
As a result, the text, written in any of the 271 languages supported by BabelNet, is output with possibly overlapping semantic annotations.