All Projects → kermitt2 → entity-fishing

kermitt2 / entity-fishing

Licence: Apache-2.0 license
A machine learning tool for fishing entities

Programming Languages

java
68154 projects - #9 most used programming language
javascript
184084 projects - #8 most used programming language
HTML
75241 projects
CSS
56736 projects

Projects that are alternatives of or similar to entity-fishing

Jivesearch
A search engine that doesn't track you.
Stars: ✭ 364 (+106.82%)
Mutual labels:  wikipedia, wikidata
OA-signalling
A project to coordinate implementing a system to signal whether references cited on Wikipedia are free to reuse
Stars: ✭ 19 (-89.2%)
Mutual labels:  wikipedia, wikidata
wikiapi
JavaScript MediaWiki API for node.js
Stars: ✭ 28 (-84.09%)
Mutual labels:  wikipedia, wikidata
wikirepo
Python based Wikidata framework for easy dataframe extraction
Stars: ✭ 33 (-81.25%)
Mutual labels:  wikipedia, wikidata
equalstreetnames
Map visualizing the streetnames by gender : 50 cities in 11 countries
Stars: ✭ 64 (-63.64%)
Mutual labels:  wikipedia, wikidata
Wptools
Wikipedia tools (for Humans): easily extract data from Wikipedia, Wikidata, and other MediaWikis
Stars: ✭ 371 (+110.8%)
Mutual labels:  wikipedia, wikidata
pywikibot-scripts
Own pywikibot scripts (for Wikimedia projects)
Stars: ✭ 16 (-90.91%)
Mutual labels:  wikipedia, wikidata
Wikipedia Tools For Google Spreadsheets
Wikipedia Tools for Google Spreadsheets — Install:
Stars: ✭ 96 (-45.45%)
Mutual labels:  wikipedia, wikidata
go-wikidata
Wikidata API bindings in go.
Stars: ✭ 27 (-84.66%)
Mutual labels:  wikipedia, wikidata
wikibot
Some MediaWiki bot examples including wikipedia, wikidata using MediaWiki module of CeJS library. 採用 CeJS MediaWiki 自動化作業用程式庫來製作 MediaWiki (維基百科/維基數據) 機器人的範例。
Stars: ✭ 26 (-85.23%)
Mutual labels:  wikipedia, wikidata
TelegramBot-Go
Telegram bot which search information in Wikipedia and written on Go language
Stars: ✭ 35 (-80.11%)
Mutual labels:  wikipedia
awesome-alternatives
A list of alternative websites/software to popular proprietary services.
Stars: ✭ 123 (-30.11%)
Mutual labels:  wikipedia
word2vec-on-wikipedia
A pipeline for training word embeddings using word2vec on wikipedia corpus.
Stars: ✭ 68 (-61.36%)
Mutual labels:  wikipedia
wikitable2csv
A web tool to convert Wiki tables to CSV 📈
Stars: ✭ 112 (-36.36%)
Mutual labels:  wikipedia
wikidata-qrank
Ranking signals for Wikidata
Stars: ✭ 31 (-82.39%)
Mutual labels:  wikidata
WikidataR
An R package for the Wikidata API
Stars: ✭ 49 (-72.16%)
Mutual labels:  wikidata
naacl2018-fever
Fact Extraction and VERification baseline published in NAACL2018
Stars: ✭ 109 (-38.07%)
Mutual labels:  wikipedia
space-wiki
太空维基 A Chrome Plug-in for Wikipedia
Stars: ✭ 19 (-89.2%)
Mutual labels:  wikipedia
wikifox
A clean and simplified WikiPedia powered by wikifox.js
Stars: ✭ 50 (-71.59%)
Mutual labels:  wikipedia
doubanIMDb
IMDb + Rotten Tomatoes + Wikipedia on Douban Movie
Stars: ✭ 93 (-47.16%)
Mutual labels:  wikidata

License Documentation Status SWH Demo cloud.science-miner.com/nerd

entity-fishing

entity-fishing performs the following tasks for 11 different languages:

  • entity recognition and disambiguation against Wikidata in a raw text or partially-annotated text segment, entity-fishing

  • entity recognition and disambiguation against Wikidata at document level, in particular for a PDF with layout positioning and structure-aware annotations, entity-fishing

  • search query disambiguation (the short text mode) - below disambiguation of the search query "concrete pump sensor" in the service test console, Search query disambiguation

  • weighted term vector disambiguation (a term being a phrase), Search query disambiguation

  • interactive disambiguation in text editing mode (experimental).
    Editor with real time disambiguation

Documentation

Presentation of entity-fishing at WikiDataCon 2017 for some design, implementation descriptions, and some evaluations.

The documentation of entity-fishing is available here.

Demo

For testing purposes, a public entity-fishing demo server (current version) is available at the following address: https://cloud.science-miner.com/nerd

The query DSL and Web services are documented here.

Warning: Some quota and query limitation apply to the demo server! Please be courteous and do not overload the demo server.

Benchmarks

entity-fishing

Evaluations above correspond to the "overall unnormalized accuracy" scenario in BLINK. entity-fishing performs at 0.765 F-score, as compared to 0.8027 for BLINK, a fine-tuned BERT architectures. entity-fishing surpasses BLINK for the dataset AQUAINT, 0.891 vs. 0.8588, and MSNBC, 0.867 vs. 0.8509, despite being considerably faster and lighter than BLINK (see below).

See the evaluation documentation and Presentation of entity-fishing at WikiDataCon 2017 for more details.

entity-fishing has been designed to be particularly fast for a full scale Wikidata-based entity disambiguation tool. On a single server, depending on the concurrency, it is possible to process from 1.000-1.500 tokens per seconds with concurrency 1 to 5.000 tokens per second for instance with 6 concurrent requests in English (and up to 2 times faster for other languages).

Some use cases

Some example of entity-fishing usages:

  • Tanti Kristanti from Inria Paris used off the shelf version of entity-fishing in the CLEF HIPE 2020 competition shared task, ranking first at the Entity Linking task for English and second best for French, in F1-score.

  • Kairntech has integrated entity-fishing on their commercial platform Sherpa to support analysis and enrichment of textual content, since 2020.

  • SEALK, which is commercializing a M&A industry recommendation system, scaled entity-fishing to more than 1 million fulltext news documents in 2020.

  • entity-fishing has been deployed in the DARIAH-EU and Huma-Num infrastructure in the context of the OPERAS HIRMEOS EU project in 2018.

If you are using entity-fishing and found it useful, we are happy to mention you in this section !

Current version

entity-fishing is a work-in-progress side project! Latest release version is 0.0.5.

This version supports English, French, German, Italian, Spanish, Arabic, Mandarin, Russian, Japanese, Portuguese and Farsi with an in-house Named Entity Recognizer available for English and French. For this version, the available knowledge base includes around 96 million entities from Wikidata - but you can create your own fresh knowledge base with the GRISP utility.

Runtime: version 0.5.0 2022, on a local machine (Intel Haswel i7-4790K CPU 4.00GHz - 8 cores - 16GB - SSD, 2015) for English (other languages are up to 50% faster - these runtimes do not include a 15s-30s initial server launch/start-up and are obtained with an empty cache and without LMDB pages pre-loaded in RAM memory).

  • 800 pubmed abstracts (172 787 tokens) processed in 129s with 1 client (1339 tokens/s)

  • 4800 pubmed abstracts (1 036 722 tokens) processed in 168s with 6 concurrent clients (6171 tokens/s)

  • 136 PDF (3443 pages, 1 422 943 tokens) processed in 760s with 1 client (4.5 pages/s, 1872 tokens/s)

  • 816 PDF (20658 pages, 8 537 658 tokens) processed in 1133s with 6 concurrent clients (18.2 pages/s, 7535 tokens/s)

Accuracy: F1-score for disambiguation only between 76.5 and 89.1 on standard datasets (ACE2004, AIDA-CONLL-testb, AQUAINT, MSNBC) - to be improved in the future versions.

The knowledge base contains more than 1.5 billion objects, not far from 15 millions word and entity embeddings, however entity-fishing will work with 3-4 GB RAM memory after a 15 second start-up for the server - but please use SSD!

How to cite

If you want to cite this work, please refer to the present GitHub project, together with the Software Heritage project-level permanent identifier. For example, with BibTeX:

@misc{entity-fishing,
    title = {entity-fishing},
    howpublished = {\url{https://github.com/kermitt2/entity-fishing}},
    publisher = {GitHub},
    year = {2016--2022},
    archivePrefix = {swh},
    eprint = {1:dir:cb0ba3379413db12b0018b7c3af8d0d2d864139c}
}

License and contact

Distributed under Apache 2.0 license. The dependencies used in the project are either themselves also distributed under Apache 2.0 license or distributed under a compatible license.

If you contribute to this project, you agree to share your contribution following these licenses.

Main author and contact: Patrice Lopez ([email protected])

entity-fishing has been created, developed and is maintained by SCIENCE-MINER (since 2015, first Open Source public version in 2016), with contributions of Inria Paris (2017-2018) and support from Kairntech (2022) under a RAPID grant.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].