Skip to content
Permalink
master
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Go to file
 
 
Cannot retrieve contributors at this time

ENTYFI: Entity Typing in Fictional Texts

Cuong Xuan Chu, Simon Razniewski, Gerhard Weikum. (WSDM 2020)

Project website: https://www.mpi-inf.mpg.de/yago-naga/fifa/entyfi

Dependencies

  • Maven, Java 1.8
  • Python2 for mention detection.
    • cPickle
    • theano
  • python3 with tensorflow for fictional typing
    • tensorflow
    • sklearn
    • pandas
    • keras
  • python3 for ultra-fine typing and ilp

Required Data

You need to download required data which include background knowledge bases of all reference universes, pretrained models for fictional typing module and data for reference universe ranking.

All data can be found at: http://people.mpi-inf.mpg.de/~cxchu/entyfi/

Configuration

To run typing, you need to set some paths in several files:

  • ultrafile/resources/constant.py
    • GLOVE_VEC=path to pretrained word embedding (glove)
  • utils/Constants.java
    • PYTHON_TAGGER=path to python2 for mention detection
    • PYTHON_ULTRA=path to python3 for ultra-fine typing and ilp
    • PYTHON_GENERALTYPING=path python3 with tensorflow for fictional typing
  • resources/wikia.properties
    • BASE_DIR=path to data-store (background KB of all universes) --- data-store (downloaded data)
    • ATTENTION_MODEL=path to pretrained model of fictional typing module --- attentionModel (downloaded data)
    • TERMATRIX=path to universe-term matrix for reference universe ranking --- universe-termmatrix (downloaded data)

How to Run

  • Build: ./build.sh

  • Run typing: ./run.sh heap-size typing.ENTYFI input-file output-file

    For example: ./run.sh 10G typing.ENTYFI input-file output-file

Other parameters like topK reference universes or topK types returned by ILP can be defined in class typing/ENTYFI.java

Notes